diff --git a/package.json b/package.json index 7b89a49b..1d9228a5 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "emoji-regex": "^10.2.1", "escape-string-regexp": "^5.0.0", "events": "^3.3.0", + "framer-motion": "^12.6.3", "google-protobuf": "^3.15.12", "hast-util-to-mdast": "^10.1.0", "highlight.js": "^11.10.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fadd0fe4..2b2f2f09 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,6 +112,9 @@ dependencies: events: specifier: ^3.3.0 version: 3.3.0 + framer-motion: + specifier: ^12.6.3 + version: 12.6.3(react-dom@18.2.0)(react@18.2.0) google-protobuf: specifier: ^3.15.12 version: 3.21.2 @@ -609,7 +612,7 @@ packages: class-variance-authority: 0.7.1 clsx: 2.1.1 dompurify: 3.1.7 - framer-motion: 12.4.7(react-dom@18.2.0)(react@18.2.0) + framer-motion: 12.6.3(react-dom@18.2.0)(react@18.2.0) i18next: 22.5.1 i18next-resources-to-backend: 1.2.1 lodash-es: 4.17.21 @@ -9025,8 +9028,8 @@ packages: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true - /framer-motion@12.4.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VhrcbtcAMXfxlrjeHPpWVu2+mkcoR31e02aNSR7OUS/hZAciKa8q6o3YN2mA1h+jjscRsSyKvX6E1CiY/7OLMw==} + /framer-motion@12.6.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2hsqknz23aloK85bzMc9nSR2/JP+fValQ459ZTVElFQ0xgwR2YqNjYSuDZdFBPOwVCt4Q9jgyTt6hg6sVOALzw==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -9039,8 +9042,8 @@ packages: react-dom: optional: true dependencies: - motion-dom: 12.4.5 - motion-utils: 12.0.0 + motion-dom: 12.6.3 + motion-utils: 12.6.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -11575,14 +11578,14 @@ packages: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} dev: false - /motion-dom@12.4.5: - resolution: {integrity: sha512-Q2xmhuyYug1CGTo0jdsL05EQ4RhIYXlggFS/yPhQQRNzbrhjKQ1tbjThx5Plv68aX31LsUQRq4uIkuDxdO5vRQ==} + /motion-dom@12.6.3: + resolution: {integrity: sha512-gRY08RjcnzgFYLemUZ1lo/e9RkBxR+6d4BRvoeZDSeArG4XQXERSPapKl3LNQRu22Sndjf1h+iavgY0O4NrYqA==} dependencies: - motion-utils: 12.0.0 + motion-utils: 12.6.3 dev: false - /motion-utils@12.0.0: - resolution: {integrity: sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==} + /motion-utils@12.6.3: + resolution: {integrity: sha512-R/b3Ia2VxtTNZ4LTEO5pKYau1OUNHOuUfxuP0WFCTDYdHkeTBR9UtxR1cc8mDmKr8PEhmmfnTKGz3rSMjNRoRg==} dev: false /mrmime@2.0.0: diff --git a/src/@types/translations/en.json b/src/@types/translations/en.json index 607699f5..9dc02595 100644 --- a/src/@types/translations/en.json +++ b/src/@types/translations/en.json @@ -3094,5 +3094,11 @@ "embedLink": "Embed link", "embedVideoLinkPlaceholder": "Paste a video link here.", "videoSupported": "Supported services: YouTube, Vimeo, and more.", - "copiedVideoLink": "Video original link copied to clipboard" + "copiedVideoLink": "Video original link copied to clipboard", + "checkYourEmail": "Check your email", + "checkEmailTip": "A temporary verification link has been sent. Please check your inbox at", + "enterCodeManually": "Enter code manually", + "backToLogin": "Back to login", + "enterCode": "Enter code", + "continueToSignIn": "Continue to sign in" } diff --git a/src/application/services/js-services/http/gotrue.ts b/src/application/services/js-services/http/gotrue.ts index 32ff40bb..f46eebb3 100644 --- a/src/application/services/js-services/http/gotrue.ts +++ b/src/application/services/js-services/http/gotrue.ts @@ -1,9 +1,11 @@ +import { emit, EventType } from '@/application/session'; +import { afterAuth } from '@/application/session/sign_in'; import { refreshToken as refreshSessionToken } from '@/application/session/token'; import axios, { AxiosInstance } from 'axios'; let axiosInstance: AxiosInstance | null = null; -export function initGrantService(baseURL: string) { +export function initGrantService (baseURL: string) { if (axiosInstance) { return; } @@ -21,7 +23,7 @@ export function initGrantService(baseURL: string) { }); } -export async function refreshToken(refresh_token: string) { +export async function refreshToken (refresh_token: string) { const response = await axiosInstance?.post<{ access_token: string; expires_at: number; @@ -41,7 +43,48 @@ export async function refreshToken(refresh_token: string) { return newToken; } -export async function signInWithMagicLink(email: string, authUrl: string) { +export async function signInOTP ({ + email, + code, +}: { + email: string; + code: string; + redirectTo: string; +}) { + try { + const response = await axiosInstance?.post<{ + access_token: string; + expires_at: number; + refresh_token: string; + }>('/verify', { + email, + token: code, + type: 'recovery', + }); + + const newToken = response?.data; + + if (newToken) { + refreshSessionToken(JSON.stringify(newToken)); + emit(EventType.SESSION_VALID); + afterAuth(); + } else { + emit(EventType.SESSION_INVALID); + return Promise.reject('Failed to sign in otp'); + } + // eslint-disable-next-line + } catch (e: any) { + emit(EventType.SESSION_INVALID); + return Promise.reject({ + code: e.code, + message: e.msg, + }); + } + + return; +} + +export async function signInWithMagicLink (email: string, authUrl: string) { const res = await axiosInstance?.post( '/magiclink', { @@ -60,13 +103,13 @@ export async function signInWithMagicLink(email: string, authUrl: string) { return res?.data; } -export async function settings() { +export async function settings () { const res = await axiosInstance?.get('/settings'); return res?.data; } -export function signInGoogle(authUrl: string) { +export function signInGoogle (authUrl: string) { const provider = 'google'; const redirectTo = encodeURIComponent(authUrl); const accessType = 'offline'; @@ -77,7 +120,7 @@ export function signInGoogle(authUrl: string) { window.open(url, '_current'); } -export function signInApple(authUrl: string) { +export function signInApple (authUrl: string) { const provider = 'apple'; const redirectTo = encodeURIComponent(authUrl); const baseURL = axiosInstance?.defaults.baseURL; @@ -86,7 +129,7 @@ export function signInApple(authUrl: string) { window.open(url, '_current'); } -export function signInGithub(authUrl: string) { +export function signInGithub (authUrl: string) { const provider = 'github'; const redirectTo = encodeURIComponent(authUrl); const baseURL = axiosInstance?.defaults.baseURL; @@ -95,7 +138,7 @@ export function signInGithub(authUrl: string) { window.open(url, '_current'); } -export function signInDiscord(authUrl: string) { +export function signInDiscord (authUrl: string) { const provider = 'discord'; const redirectTo = encodeURIComponent(authUrl); const baseURL = axiosInstance?.defaults.baseURL; @@ -103,3 +146,4 @@ export function signInDiscord(authUrl: string) { window.open(url, '_current'); } + diff --git a/src/application/services/js-services/index.ts b/src/application/services/js-services/index.ts index 74b02fc0..51c6cd00 100644 --- a/src/application/services/js-services/index.ts +++ b/src/application/services/js-services/index.ts @@ -69,56 +69,56 @@ export class AFClientService implements AFService { } > = new Map(); - constructor(config: AFServiceConfig) { + constructor (config: AFServiceConfig) { APIService.initAPIService(config.cloudConfig); } - getAxiosInstance() { + getAxiosInstance () { return APIService.getAxiosInstance(); } - getClientId() { + getClientId () { return this.clientId; } - async publishView(workspaceId: string, viewId: string, payload?: PublishViewPayload) { - if(this.publishViewInfo.has(viewId)) { + async publishView (workspaceId: string, viewId: string, payload?: PublishViewPayload) { + if (this.publishViewInfo.has(viewId)) { this.publishViewInfo.delete(viewId); } return APIService.publishView(workspaceId, viewId, payload); } - async unpublishView(workspaceId: string, viewId: string) { - if(this.publishViewInfo.has(viewId)) { + async unpublishView (workspaceId: string, viewId: string) { + if (this.publishViewInfo.has(viewId)) { this.publishViewInfo.delete(viewId); } return APIService.unpublishView(workspaceId, viewId); } - async updatePublishNamespace(workspaceId: string, payload: UploadPublishNamespacePayload) { + async updatePublishNamespace (workspaceId: string, payload: UploadPublishNamespacePayload) { this.publishViewInfo.clear(); return APIService.updatePublishNamespace(workspaceId, payload); } - async getPublishNamespace(workspaceId: string) { + async getPublishNamespace (workspaceId: string) { return APIService.getPublishNamespace(workspaceId); } - async getPublishHomepage(workspaceId: string) { + async getPublishHomepage (workspaceId: string) { return APIService.getPublishHomepage(workspaceId); } - async updatePublishHomepage(workspaceId: string, viewId: string) { + async updatePublishHomepage (workspaceId: string, viewId: string) { return APIService.updatePublishHomepage(workspaceId, viewId); } - async removePublishHomepage(workspaceId: string) { + async removePublishHomepage (workspaceId: string) { return APIService.removePublishHomepage(workspaceId); } - async getPublishViewMeta(namespace: string, publishName: string) { + async getPublishViewMeta (namespace: string, publishName: string) { const name = `${namespace}_${publishName}`; const isLoaded = this.publishViewLoaded.has(name); @@ -133,26 +133,26 @@ export class AFClientService implements AFService { isLoaded ? StrategyType.CACHE_FIRST : StrategyType.CACHE_AND_NETWORK, ); - if(!viewMeta) { + if (!viewMeta) { return Promise.reject(new Error('View has not been published yet')); } return viewMeta; } - async getPublishView(namespace: string, publishName: string) { + async getPublishView (namespace: string, publishName: string) { const name = `${namespace}_${publishName}`; const isLoaded = this.publishViewLoaded.has(name); const { doc } = await getPublishView( - async() => { + async () => { try { return await fetchPublishView(namespace, publishName); - } catch(e) { + } catch (e) { console.error(e); - void (async() => { - if(await hasViewMetaCache(name)) { + void (async () => { + if (await hasViewMetaCache(name)) { this.publishViewLoaded.delete(name); void deleteView(name); } @@ -168,17 +168,17 @@ export class AFClientService implements AFService { isLoaded ? StrategyType.CACHE_FIRST : StrategyType.CACHE_AND_NETWORK, ); - if(!isLoaded) { + if (!isLoaded) { this.publishViewLoaded.add(name); } return doc; } - async getPublishRowDocument(viewId: string) { + async getPublishRowDocument (viewId: string) { const doc = await openCollabDB(viewId); - if(hasCollabCache(doc)) { + if (hasCollabCache(doc)) { return doc; } @@ -186,15 +186,15 @@ export class AFClientService implements AFService { } - async createRowDoc(rowKey: string) { + async createRowDoc (rowKey: string) { return createRowDoc(rowKey); } - deleteRowDoc(rowKey: string) { + deleteRowDoc (rowKey: string) { return deleteRowDoc(rowKey); } - async getAppDatabaseViewRelations(workspaceId: string, databaseStorageId: string) { + async getAppDatabaseViewRelations (workspaceId: string, databaseStorageId: string) { const res = await APIService.getCollab(workspaceId, databaseStorageId, Types.WorkspaceDatabase); const doc = new Y.Doc(); @@ -213,8 +213,8 @@ export class AFClientService implements AFService { return result; } - async getPublishInfo(viewId: string) { - if(this.publishViewInfo.has(viewId)) { + async getPublishInfo (viewId: string) { + if (this.publishViewInfo.has(viewId)) { return this.publishViewInfo.get(viewId) as { namespace: string; publishName: string; @@ -230,7 +230,7 @@ export class AFClientService implements AFService { const namespace = info.namespace; - if(!namespace) { + if (!namespace) { return Promise.reject(new Error('View not found')); } @@ -249,85 +249,90 @@ export class AFClientService implements AFService { return data; } - async updatePublishConfig(workspaceId: string, config: UpdatePublishConfigPayload) { + async updatePublishConfig (workspaceId: string, config: UpdatePublishConfigPayload) { this.publishViewInfo.delete(config.view_id); return APIService.updatePublishConfig(workspaceId, config); } - async getPublishOutline(namespace: string) { + async getPublishOutline (namespace: string) { return APIService.getPublishOutline(namespace); } - async getAppOutline(workspaceId: string) { + async getAppOutline (workspaceId: string) { return APIService.getAppOutline(workspaceId); } - async getAppView(workspaceId: string, viewId: string) { + async getAppView (workspaceId: string, viewId: string) { return APIService.getView(workspaceId, viewId); } - async getAppFavorites(workspaceId: string) { + async getAppFavorites (workspaceId: string) { return APIService.getAppFavorites(workspaceId); } - async getAppRecent(workspaceId: string) { + async getAppRecent (workspaceId: string) { return APIService.getAppRecent(workspaceId); } - async getAppTrash(workspaceId: string) { + async getAppTrash (workspaceId: string) { return APIService.getAppTrash(workspaceId); } - async loginAuth(url: string) { + async loginAuth (url: string) { try { await APIService.signInWithUrl(url); emit(EventType.SESSION_VALID); afterAuth(); return; - } catch(e) { + } catch (e) { emit(EventType.SESSION_INVALID); return Promise.reject(e); } } @withSignIn() - async signInMagicLink({ email }: { email: string; redirectTo: string }) { + async signInMagicLink ({ email }: { email: string; redirectTo: string }) { return await APIService.signInWithMagicLink(email, AUTH_CALLBACK_URL); } @withSignIn() - async signInGoogle(_: { redirectTo: string }) { + async signInOTP (params: { email: string; code: string; redirectTo: string }) { + return APIService.signInOTP(params); + } + + @withSignIn() + async signInGoogle (_: { redirectTo: string }) { return APIService.signInGoogle(AUTH_CALLBACK_URL); } @withSignIn() - async signInApple(_: { redirectTo: string }) { + async signInApple (_: { redirectTo: string }) { return APIService.signInApple(AUTH_CALLBACK_URL); } @withSignIn() - async signInGithub(_: { redirectTo: string }) { + async signInGithub (_: { redirectTo: string }) { return APIService.signInGithub(AUTH_CALLBACK_URL); } @withSignIn() - async signInDiscord(_: { redirectTo: string }) { + async signInDiscord (_: { redirectTo: string }) { return APIService.signInDiscord(AUTH_CALLBACK_URL); } - async getWorkspaces() { + async getWorkspaces () { const data = APIService.getWorkspaces(); return data; } - async getWorkspaceFolder(workspaceId: string) { + async getWorkspaceFolder (workspaceId: string) { const data = await APIService.getWorkspaceFolder(workspaceId); return data; } - async getCurrentUser() { + async getCurrentUser () { const token = getTokenParsed(); const userId = token?.user?.id; @@ -337,29 +342,29 @@ export class AFClientService implements AFService { StrategyType.CACHE_AND_NETWORK, ); - if(!user) { + if (!user) { return Promise.reject(new Error('User not found')); } return user; } - async openWorkspace(workspaceId: string) { + async openWorkspace (workspaceId: string) { return APIService.openWorkspace(workspaceId); } - async createWorkspace(payload: CreateWorkspacePayload) { + async createWorkspace (payload: CreateWorkspacePayload) { return APIService.createWorkspace(payload); } - async updateWorkspace(workspaceId: string, payload: UpdateWorkspacePayload) { + async updateWorkspace (workspaceId: string, payload: UpdateWorkspacePayload) { return APIService.updateWorkspace(workspaceId, payload); } - async getUserWorkspaceInfo() { + async getUserWorkspaceInfo () { const workspaceInfo = await APIService.getUserWorkspaceInfo(); - if(!workspaceInfo) { + if (!workspaceInfo) { return Promise.reject(new Error('Workspace info not found')); } @@ -370,7 +375,7 @@ export class AFClientService implements AFService { }; } - async duplicatePublishView(params: DuplicatePublishView) { + async duplicatePublishView (params: DuplicatePublishView) { return APIService.duplicatePublishView(params.workspaceId, { dest_view_id: params.spaceViewId, published_view_id: params.viewId, @@ -378,97 +383,97 @@ export class AFClientService implements AFService { }); } - createCommentOnPublishView(viewId: string, content: string, replyCommentId: string | undefined): Promise { + createCommentOnPublishView (viewId: string, content: string, replyCommentId: string | undefined): Promise { return APIService.createGlobalCommentOnPublishView(viewId, content, replyCommentId); } - deleteCommentOnPublishView(viewId: string, commentId: string): Promise { + deleteCommentOnPublishView (viewId: string, commentId: string): Promise { return APIService.deleteGlobalCommentOnPublishView(viewId, commentId); } - getPublishViewGlobalComments(viewId: string): Promise { + getPublishViewGlobalComments (viewId: string): Promise { return APIService.getPublishViewComments(viewId); } - getPublishViewReactions(viewId: string, commentId?: string): Promise> { + getPublishViewReactions (viewId: string, commentId?: string): Promise> { return APIService.getReactions(viewId, commentId); } - addPublishViewReaction(viewId: string, commentId: string, reactionType: string): Promise { + addPublishViewReaction (viewId: string, commentId: string, reactionType: string): Promise { return APIService.addReaction(viewId, commentId, reactionType); } - removePublishViewReaction(viewId: string, commentId: string, reactionType: string): Promise { + removePublishViewReaction (viewId: string, commentId: string, reactionType: string): Promise { return APIService.removeReaction(viewId, commentId, reactionType); } - async getTemplateCategories() { + async getTemplateCategories () { return APIService.getTemplateCategories(); } - async getTemplateCreators() { + async getTemplateCreators () { return APIService.getTemplateCreators(); } - async createTemplate(template: UploadTemplatePayload) { + async createTemplate (template: UploadTemplatePayload) { return APIService.createTemplate(template); } - async updateTemplate(id: string, template: UploadTemplatePayload) { + async updateTemplate (id: string, template: UploadTemplatePayload) { return APIService.updateTemplate(id, template); } - async getTemplateById(id: string) { + async getTemplateById (id: string) { return APIService.getTemplateById(id); } - async getTemplates(params: { + async getTemplates (params: { categoryId?: string; nameContains?: string; }) { return APIService.getTemplates(params); } - async deleteTemplate(id: string) { + async deleteTemplate (id: string) { return APIService.deleteTemplate(id); } - async addTemplateCategory(category: TemplateCategoryFormValues) { + async addTemplateCategory (category: TemplateCategoryFormValues) { return APIService.addTemplateCategory(category); } - async updateTemplateCategory(categoryId: string, category: TemplateCategoryFormValues) { + async updateTemplateCategory (categoryId: string, category: TemplateCategoryFormValues) { return APIService.updateTemplateCategory(categoryId, category); } - async deleteTemplateCategory(categoryId: string) { + async deleteTemplateCategory (categoryId: string) { return APIService.deleteTemplateCategory(categoryId); } - async updateTemplateCreator(creatorId: string, creator: TemplateCreatorFormValues) { + async updateTemplateCreator (creatorId: string, creator: TemplateCreatorFormValues) { return APIService.updateTemplateCreator(creatorId, creator); } - async createTemplateCreator(creator: TemplateCreatorFormValues) { + async createTemplateCreator (creator: TemplateCreatorFormValues) { return APIService.createTemplateCreator(creator); } - async deleteTemplateCreator(creatorId: string) { + async deleteTemplateCreator (creatorId: string) { return APIService.deleteTemplateCreator(creatorId); } - async uploadTemplateAvatar(file: File) { + async uploadTemplateAvatar (file: File) { return APIService.uploadTemplateAvatar(file); } - async getPageDoc(workspaceId: string, viewId: string, errorCallback?: (error: { + async getPageDoc (workspaceId: string, viewId: string, errorCallback?: (error: { code: number; }) => void) { const token = getTokenParsed(); const userId = token?.user.id; - if(!userId) { + if (!userId) { throw new Error('User not found'); } @@ -477,15 +482,15 @@ export class AFClientService implements AFService { const isLoaded = this.viewLoaded.has(name); const { doc } = await getPageDoc( - async() => { + async () => { try { return await fetchPageCollab(workspaceId, viewId); // eslint-disable-next-line - } catch(e: any) { + } catch (e: any) { console.error(e); errorCallback?.(e); - void (async() => { + void (async () => { this.viewLoaded.delete(name); void deleteView(name); })(); @@ -497,60 +502,60 @@ export class AFClientService implements AFService { isLoaded ? StrategyType.CACHE_FIRST : StrategyType.CACHE_AND_NETWORK, ); - if(!isLoaded) { + if (!isLoaded) { this.viewLoaded.add(name); } return doc; } - async getInvitation(invitationId: string) { + async getInvitation (invitationId: string) { return APIService.getInvitation(invitationId); } - async acceptInvitation(invitationId: string) { + async acceptInvitation (invitationId: string) { return APIService.acceptInvitation(invitationId); } - approveRequestAccess(requestId: string): Promise { + approveRequestAccess (requestId: string): Promise { return APIService.approveRequestAccess(requestId); } - getRequestAccessInfo(requestId: string) { + getRequestAccessInfo (requestId: string) { return APIService.getRequestAccessInfo(requestId); } - sendRequestAccess(workspaceId: string, viewId: string): Promise { + sendRequestAccess (workspaceId: string, viewId: string): Promise { return APIService.sendRequestAccess(workspaceId, viewId); } - getSubscriptionLink(workspaceId: string, plan: SubscriptionPlan, interval: SubscriptionInterval) { + getSubscriptionLink (workspaceId: string, plan: SubscriptionPlan, interval: SubscriptionInterval) { return APIService.getSubscriptionLink(workspaceId, plan, interval); } - cancelSubscription(workspaceId: string, plan: SubscriptionPlan, reason?: string) { + cancelSubscription (workspaceId: string, plan: SubscriptionPlan, reason?: string) { return APIService.cancelSubscription(workspaceId, plan, reason); } - getSubscriptions() { + getSubscriptions () { return APIService.getSubscriptions(); } - getActiveSubscription(workspaceId: string) { + getActiveSubscription (workspaceId: string) { return APIService.getActiveSubscription(workspaceId); } - getWorkspaceSubscriptions(workspaceId: string) { + getWorkspaceSubscriptions (workspaceId: string) { return APIService.getWorkspaceSubscriptions(workspaceId); } - registerDocUpdate(doc: Y.Doc, context: { + registerDocUpdate (doc: Y.Doc, context: { workspaceId: string, objectId: string, collabType: Types }) { const token = getTokenParsed(); const userId = token?.user.id; - if(!userId) { + if (!userId) { throw new Error('User not found'); } @@ -559,69 +564,69 @@ export class AFClientService implements AFService { sync.initialize(); } - async importFile(file: File, onProgress: (progress: number) => void) { + async importFile (file: File, onProgress: (progress: number) => void) { const task = await APIService.createImportTask(file); await APIService.uploadImportFile(task.presignedUrl, file, onProgress); } - async createSpace(workspaceId: string, payload: CreateSpacePayload) { + async createSpace (workspaceId: string, payload: CreateSpacePayload) { return APIService.createSpace(workspaceId, payload); } - async updateSpace(workspaceId: string, payload: UpdateSpacePayload) { + async updateSpace (workspaceId: string, payload: UpdateSpacePayload) { return APIService.updateSpace(workspaceId, payload); } - async addAppPage(workspaceId: string, parentViewId: string, payload: CreatePagePayload) { + async addAppPage (workspaceId: string, parentViewId: string, payload: CreatePagePayload) { return APIService.addAppPage(workspaceId, parentViewId, payload); } - async updateAppPage(workspaceId: string, viewId: string, data: UpdatePagePayload) { + async updateAppPage (workspaceId: string, viewId: string, data: UpdatePagePayload) { return APIService.updatePage(workspaceId, viewId, data); } - async duplicateAppPage(workspaceId: string, viewId: string) { + async duplicateAppPage (workspaceId: string, viewId: string) { return APIService.duplicatePage(workspaceId, viewId); } - async deleteTrash(workspaceId: string, viewId?: string) { + async deleteTrash (workspaceId: string, viewId?: string) { return APIService.deleteTrash(workspaceId, viewId); } - async moveToTrash(workspaceId: string, viewId: string) { + async moveToTrash (workspaceId: string, viewId: string) { return APIService.moveToTrash(workspaceId, viewId); } - async restoreFromTrash(workspaceId: string, viewId?: string) { + async restoreFromTrash (workspaceId: string, viewId?: string) { return APIService.restorePage(workspaceId, viewId); } - async movePage(workspaceId: string, viewId: string, parentId: string, prevViewId?: string) { + async movePage (workspaceId: string, viewId: string, parentId: string, prevViewId?: string) { return APIService.movePageTo(workspaceId, viewId, parentId, prevViewId); } - async uploadFile(workspaceId: string, viewId: string, file: File, onProgress?: (progress: number) => void) { + async uploadFile (workspaceId: string, viewId: string, file: File, onProgress?: (progress: number) => void) { return APIService.uploadFile(workspaceId, viewId, file, onProgress); } - deleteWorkspace(workspaceId: string): Promise { + deleteWorkspace (workspaceId: string): Promise { return APIService.deleteWorkspace(workspaceId); } - leaveWorkspace(workspaceId: string): Promise { + leaveWorkspace (workspaceId: string): Promise { return APIService.leaveWorkspace(workspaceId); } - inviteMembers(workspaceId: string, emails: string[]): Promise { + inviteMembers (workspaceId: string, emails: string[]): Promise { return APIService.inviteMembers(workspaceId, emails); } - getWorkspaceMembers(workspaceId: string): Promise { + getWorkspaceMembers (workspaceId: string): Promise { return APIService.getMembers(workspaceId); } - getQuickNoteList(workspaceId: string, params: { + getQuickNoteList (workspaceId: string, params: { offset?: number; limit?: number; searchTerm?: string; @@ -629,23 +634,23 @@ export class AFClientService implements AFService { return APIService.getQuickNoteList(workspaceId, params); } - createQuickNote(workspaceId: string, data: QuickNoteEditorData[]) { + createQuickNote (workspaceId: string, data: QuickNoteEditorData[]) { return APIService.createQuickNote(workspaceId, data); } - updateQuickNote(workspaceId: string, id: string, data: QuickNoteEditorData[]) { + updateQuickNote (workspaceId: string, id: string, data: QuickNoteEditorData[]) { return APIService.updateQuickNote(workspaceId, id, data); } - deleteQuickNote(workspaceId: string, id: string) { + deleteQuickNote (workspaceId: string, id: string) { return APIService.deleteQuickNote(workspaceId, id); } - searchWorkspace(workspaceId: string, query: string) { + searchWorkspace (workspaceId: string, query: string) { return APIService.searchWorkspace(workspaceId, query); } - async getChatMessages( + async getChatMessages ( workspaceId: string, chatId: string, limit?: number | undefined, diff --git a/src/application/services/services.type.ts b/src/application/services/services.type.ts index 3c607b3b..27b7835b 100644 --- a/src/application/services/services.type.ts +++ b/src/application/services/services.type.ts @@ -85,6 +85,7 @@ export interface AppService { getAppTrash: (workspaceId: string) => Promise; loginAuth: (url: string) => Promise; signInMagicLink: (params: { email: string; redirectTo: string }) => Promise; + signInOTP: (params: { email: string; code: string; redirectTo: string }) => Promise; signInGoogle: (params: { redirectTo: string }) => Promise; signInGithub: (params: { redirectTo: string }) => Promise; signInDiscord: (params: { redirectTo: string }) => Promise; @@ -174,7 +175,7 @@ export interface PublishService { updatePublishHomepage: (workspaceId: string, viewId: string) => Promise; removePublishHomepage: (workspaceId: string) => Promise; - getPublishOutline(namespace: string): Promise; + getPublishOutline (namespace: string): Promise; getPublishViewGlobalComments: (viewId: string) => Promise; createCommentOnPublishView: (viewId: string, content: string, replyCommentId?: string) => Promise; diff --git a/src/application/session/sign_in.ts b/src/application/session/sign_in.ts index 00a8da63..474175f3 100644 --- a/src/application/session/sign_in.ts +++ b/src/application/session/sign_in.ts @@ -1,20 +1,20 @@ -export function saveRedirectTo(redirectTo: string) { +export function saveRedirectTo (redirectTo: string) { localStorage.setItem('redirectTo', redirectTo); } -export function getRedirectTo() { +export function getRedirectTo () { return localStorage.getItem('redirectTo'); } -export function clearRedirectTo() { +export function clearRedirectTo () { localStorage.removeItem('redirectTo'); } export const AUTH_CALLBACK_PATH = '/auth/callback'; export const AUTH_CALLBACK_URL = `${window.location.origin}${AUTH_CALLBACK_PATH}`; -export function withSignIn() { - return function( +export function withSignIn () { + return function ( // eslint-disable-next-line _target: any, _propertyKey: string, @@ -23,14 +23,14 @@ export function withSignIn() { const originalMethod = descriptor.value; // eslint-disable-next-line - descriptor.value = async function(args: { redirectTo: string }) { + descriptor.value = async function (args: { redirectTo: string }) { const redirectTo = args.redirectTo; saveRedirectTo(redirectTo); try { await originalMethod.apply(this, [args]); - } catch(e) { + } catch (e) { console.error(e); return Promise.reject(e); } @@ -40,18 +40,21 @@ export function withSignIn() { }; } -export function afterAuth() { +export function afterAuth () { const redirectTo = getRedirectTo(); + + clearRedirectTo(); - if(redirectTo) { - clearRedirectTo(); + if (redirectTo) { const url = new URL(decodeURIComponent(redirectTo)); const pathname = url.pathname; - if(pathname === '/' || !pathname) { + if (pathname === '/' || !pathname) { url.pathname = '/app'; } window.location.href = url.toString(); + } else { + window.location.href = '/app'; } } diff --git a/src/assets/login/apple.svg b/src/assets/login/apple.svg index 9be1f9f0..b4d89ac6 100644 --- a/src/assets/login/apple.svg +++ b/src/assets/login/apple.svg @@ -1,46 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + diff --git a/src/assets/login/discord.svg b/src/assets/login/discord.svg index 901b2fd9..8aea08cf 100644 --- a/src/assets/login/discord.svg +++ b/src/assets/login/discord.svg @@ -1,4 +1,4 @@ - - + - \ No newline at end of file + diff --git a/src/assets/login/github.svg b/src/assets/login/github.svg index 0a73a316..154ed445 100644 --- a/src/assets/login/github.svg +++ b/src/assets/login/github.svg @@ -1,4 +1,4 @@ - - + - \ No newline at end of file + diff --git a/src/assets/login/google.svg b/src/assets/login/google.svg index 3ffa2aab..9b6d682b 100644 --- a/src/assets/login/google.svg +++ b/src/assets/login/google.svg @@ -1,2 +1,10 @@ - - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/src/components/editor/editor.scss b/src/components/editor/editor.scss index b6ef116c..55944ef8 100644 --- a/src/components/editor/editor.scss +++ b/src/components/editor/editor.scss @@ -36,12 +36,24 @@ .block-element.selected { &:not([data-block-type="table"]):not([data-block-type="simple_table"]):not([data-block-type="grid"]):not([data-block-type="board"]):not([data-block-type="calendar"]) { - @apply bg-content-blue-100; + &[data-block-type="paragraph"], + &[data-block-type="todo_list"], + &[data-block-type="heading"], + &[data-block-type="toggle_list"], + &[data-block-type="quote"], + &[data-block-type="bulleted_list"], + &[data-block-type="numbered_list"], + &[data-block-type="divider"], + { + @apply bg-content-blue-100; + } + .embed-block { @apply bg-content-blue-50; } } + .block-element[data-block-type="table/cell"] { @apply bg-content-blue-50; border-radius: 0 !important; diff --git a/src/components/login/CheckEmail.tsx b/src/components/login/CheckEmail.tsx new file mode 100644 index 00000000..a7a10445 --- /dev/null +++ b/src/components/login/CheckEmail.tsx @@ -0,0 +1,103 @@ +import { notify } from '@/components/_shared/notify'; +import { AFConfigContext } from '@/components/main/app.hooks'; +import { Button } from '@/components/ui/button'; +import { Input } from '@/components/ui/input'; +import { Progress } from '@/components/ui/progress'; +import React, { useContext, useState } from 'react'; +import { ReactComponent as Logo } from '@/assets/icons/logo.svg'; +import { useTranslation } from 'react-i18next'; + +function CheckEmail ({ email, redirectTo }: { + email: string; + redirectTo: string; +}) { + const { t } = useTranslation(); + const [isEnter, setEnter] = useState(false); + const [code, setCode] = useState(''); + const [loading, setLoading] = React.useState(false); + const service = useContext(AFConfigContext)?.service; + const handleSubmit = async () => { + setLoading(true); + + try { + await service?.signInOTP({ + email, + redirectTo, + code, + }); + } catch (e) { + notify.error(t('web.signInError')); + } finally { + setLoading(false); + } + }; + + return ( +
+
{ + window.location.href = '/'; + }} + className={'flex cursor-pointer'} + > + +
+
+ {t('checkYourEmail')} +
+
+
{t('checkEmailTip')}
+
+ {email} +
+
+ {isEnter ? ( +
+ setCode(e.target.value)} + value={code} + placeholder={t('enterCode')} + /> + + +
+ ) : } + + +
+ ); +} + +export default CheckEmail; \ No newline at end of file diff --git a/src/components/login/Login.tsx b/src/components/login/Login.tsx index 9b932596..dfca16e8 100644 --- a/src/components/login/Login.tsx +++ b/src/components/login/Login.tsx @@ -1,59 +1,73 @@ import LoginProvider from '@/components/login/LoginProvider'; import MagicLink from '@/components/login/MagicLink'; -import { Divider } from '@mui/material'; +import { Separator } from '@/components/ui/separator'; import React from 'react'; import { ReactComponent as Logo } from '@/assets/icons/logo.svg'; import { useTranslation } from 'react-i18next'; import { ReactComponent as ArrowRight } from '@/assets/icons/arrow_right.svg'; -export function Login({ redirectTo }: { redirectTo: string }) { +export function Login ({ redirectTo }: { redirectTo: string }) { const { t } = useTranslation(); return ( -
-
{ - window.location.href = '/'; - }} - className={'flex w-full cursor-pointer flex-col items-center justify-center gap-[14px]'} - > - -
{t('welcomeTo')} AppFlowy
+
+
+
{ + window.location.href = '/'; + }} + className={'flex w-full cursor-pointer flex-col items-center justify-center gap-5'} + > + +
{t('welcomeTo')} AppFlowy
+
+ +
+ + {t('web.or')} + +
+ +
+ {t('web.signInAgreement')} + + {t('web.termOfUse')} + {' '} + {t('web.and')}{' '} + + {t('web.privacyPolicy')} + + . +
- -
- - {t('web.or')} - -
- -
- {t('web.signInAgreement')} - - {t('web.termOfUse')} - {' '} - {t('web.and')}{' '} - - {t('web.privacyPolicy')} - - . -
- -
{ - window.location.href = 'https://appflowy.com'; - }} - className={ - 'flex w-full cursor-pointer items-center justify-center gap-2 text-xs font-medium text-text-title opacity-60 hover:opacity-100' - } - > - {t('web.visitOurWebsite')} - + +
+ +
{ + window.location.href = 'https://appflowy.com'; + }} + className={ + 'flex w-full cursor-pointer items-center justify-center gap-2 text-xs font-medium text-text-title opacity-60 hover:opacity-100' + } + > + {t('web.visitOurWebsite')} + +
+
); } diff --git a/src/components/login/LoginProvider.tsx b/src/components/login/LoginProvider.tsx index f8faa454..3611fb20 100644 --- a/src/components/login/LoginProvider.tsx +++ b/src/components/login/LoginProvider.tsx @@ -1,14 +1,36 @@ import { notify } from '@/components/_shared/notify'; import { AFConfigContext } from '@/components/main/app.hooks'; -import { Button, Collapse } from '@mui/material'; +import { motion, AnimatePresence } from 'framer-motion'; import React, { useCallback, useContext, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { ReactComponent as GoogleSvg } from '@/assets/login/google.svg'; import { ReactComponent as GithubSvg } from '@/assets/login/github.svg'; import { ReactComponent as DiscordSvg } from '@/assets/login/discord.svg'; import { ReactComponent as AppleSvg } from '@/assets/login/apple.svg'; +import { Button } from '@/components/ui/button'; -function LoginProvider({ redirectTo }: { redirectTo: string }) { +const moreOptionsVariants = { + hidden: { + opacity: 0, + height: 0, + }, + visible: { + opacity: 1, + height: 'auto', + transition: { + height: { + duration: 0.3, + ease: [0.4, 0, 0.2, 1], + }, + opacity: { + duration: 0.2, + delay: 0.05, + }, + }, + }, +}; + +function LoginProvider ({ redirectTo }: { redirectTo: string }) { const { t } = useTranslation(); const [expand, setExpand] = React.useState(false); const options = useMemo( @@ -38,9 +60,9 @@ function LoginProvider({ redirectTo }: { redirectTo: string }) { ); const service = useContext(AFConfigContext)?.service; - const handleClick = useCallback(async(option: string) => { + const handleClick = useCallback(async (option: string) => { try { - switch(option) { + switch (option) { case 'google': await service?.signInGoogle({ redirectTo }); break; @@ -54,7 +76,7 @@ function LoginProvider({ redirectTo }: { redirectTo: string }) { await service?.signInDiscord({ redirectTo }); break; } - } catch(e) { + } catch (e) { notify.error(t('web.signInError')); } }, [service, t, redirectTo]); @@ -63,37 +85,80 @@ function LoginProvider({ redirectTo }: { redirectTo: string }) { return ; }, [handleClick]); return ( -
- {options.slice(0, 2).map(renderOption)} - {!expand && } +
+ {options.slice(0, 2).map((option, index) => ( + + {renderOption(option)} + + ))} - -
{options.slice(2).map(renderOption)}
-
+ + {!expand && ( + + + + )} + + + + {expand && ( + + {options.slice(2).map((option, index) => ( + + {renderOption(option)} + + ))} + + )} +
); } diff --git a/src/components/login/MagicLink.tsx b/src/components/login/MagicLink.tsx index dc9f24fb..c5251087 100644 --- a/src/components/login/MagicLink.tsx +++ b/src/components/login/MagicLink.tsx @@ -1,6 +1,8 @@ -import { notify } from '@/components/_shared/notify'; +import { toast } from 'sonner'; import { AFConfigContext } from '@/components/main/app.hooks'; -import { Button, CircularProgress, OutlinedInput } from '@mui/material'; +import { Button } from '@/components/ui/button'; +import { Input } from '@/components/ui/input'; +import { Progress } from '@/components/ui/progress'; import React, { useContext } from 'react'; import { useTranslation } from 'react-i18next'; import isEmail from 'validator/lib/isEmail'; @@ -14,7 +16,7 @@ function MagicLink ({ redirectTo }: { redirectTo: string }) { const isValidEmail = isEmail(email); if (!isValidEmail) { - notify.error(t('signIn.invalidEmail')); + toast.error(t('signIn.invalidEmail')); return; } @@ -25,39 +27,39 @@ function MagicLink ({ redirectTo }: { redirectTo: string }) { email, redirectTo, }); - notify.success(t('signIn.magicLinkSent')); + + window.location.href = `/login?action=checkEmail&email=${email}&redirectTo=${redirectTo}`; } catch (e) { - notify.error(t('web.signInError')); + toast.error(t('web.signInError')); } finally { setLoading(false); } }; return ( -
- + setEmail(e.target.value)} + value={email} + placeholder={t('signIn.pleaseInputYourEmail')} /> +
diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx index 8ded3827..1679cfe9 100644 --- a/src/components/ui/button.tsx +++ b/src/components/ui/button.tsx @@ -5,7 +5,7 @@ import { cva, type VariantProps } from 'class-variance-authority'; import { cn } from '@/lib/utils'; const buttonVariants = cva( - 'inline-flex items-center justify-center gap-2 whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*=\'size-\'])]:size-4 shrink-0 [&_svg]:shrink-0 [&_svg]:h-5 [&_svg]:w-5 outline-none focus-visible:border-border-theme-thick focus-visible:ring-border-theme-thick-hover focus-visible:ring-[0.5px] aria-invalid:ring-border-error-thick aria-invalid:border-border-error-thick-hover', + 'inline-flex items-center justify-center gap-2 whitespace-nowrap disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-border-theme-thick focus-visible:ring-border-theme-thick-hover focus-visible:ring-[0.5px] aria-invalid:ring-border-error-thick aria-invalid:border-border-error-thick-hover', { variants: { variant: { @@ -14,9 +14,9 @@ const buttonVariants = cva( destructive: 'bg-fill-error-thick text-text-on-fill hover:bg-fill-error-thick-hover focus-visible:ring-border-error-thick disabled:bg-fill-primary-alpha-5 disabled:text-text-tertiary', outline: - 'border border-border-grey-tertiary bg-background-primary text-text-primary hover:bg-fill-primary-alpha-5 hover:border-border-grey-tertiary-hover disabled:text-text-tertiary', + 'border border-border-grey-tertiary bg-transparent text-text-primary hover:bg-fill-primary-alpha-5 hover:border-border-grey-tertiary-hover disabled:text-text-tertiary', 'destructive-outline': - 'bg-background-primary text-text-error hover:bg-fill-error-select hover:text-text-error-hover border border-border-error-thick hover:border-border-error-thick-hover disabled:text-text-tertiary disabled:border-border-grey-tertiary', + 'bg-transparent text-text-error hover:bg-fill-error-select hover:text-text-error-hover border border-border-error-thick hover:border-border-error-thick-hover disabled:text-text-tertiary disabled:border-border-grey-tertiary', ghost: 'hover:bg-fill-primary-alpha-5 text-text-primary disabled:bg-fill-transparent disabled:text-text-tertiary', }, diff --git a/src/components/ui/progress.tsx b/src/components/ui/progress.tsx index 7accc3bc..57e8b52c 100644 --- a/src/components/ui/progress.tsx +++ b/src/components/ui/progress.tsx @@ -55,7 +55,7 @@ const progressCircleVariants = cva( { variants: { variant: { - default: 'stroke-fill-secondary', + default: 'stroke-text-on-fill', theme: 'stroke-fill-theme-thick', success: 'stroke-fill-success-thick', warning: 'stroke-warning-thick', @@ -75,8 +75,6 @@ export interface ProgressProps value?: number; /** Line ending style */ strokeLinecap?: 'round' | 'square'; - /** Custom stroke width in pixels */ - strokeWidth?: number; } export function Progress ({ @@ -84,7 +82,6 @@ export function Progress ({ size = 'md', variant = 'default', strokeLinecap = 'round', - strokeWidth = 3.5, className, ...props }: ProgressProps) { @@ -96,6 +93,8 @@ export function Progress ({ xl: 40, }[size as string] || 24; + const strokeWidth = Math.ceil(dimensions * 0.125); // 12.5% of dimensions + const radius = dimensions / 2 - strokeWidth; const circumference = Math.ceil(2 * Math.PI * radius); const isIndeterminate = value === undefined; diff --git a/src/components/ui/sonner.tsx b/src/components/ui/sonner.tsx index 0ebde20b..f50ba8ef 100644 --- a/src/components/ui/sonner.tsx +++ b/src/components/ui/sonner.tsx @@ -10,18 +10,21 @@ const Toaster = ({ ...props }: ToasterProps) => { return ( , - warning: , - error: , + success: , + warning: , + error: , }} /> ); diff --git a/src/components/ui/tooltip.tsx b/src/components/ui/tooltip.tsx index b5d372bc..599885c9 100644 --- a/src/components/ui/tooltip.tsx +++ b/src/components/ui/tooltip.tsx @@ -3,23 +3,25 @@ import * as TooltipPrimitive from '@radix-ui/react-tooltip'; import { cn } from '@/lib/utils'; -function TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps) { - return ; +function TooltipProvider ({ delayDuration = 0, ...props }: React.ComponentProps) { + return ; } -function Tooltip({ ...props }: React.ComponentProps) { +function Tooltip ({ ...props }: React.ComponentProps) { return ( - + ); } -function TooltipTrigger({ ...props }: React.ComponentProps) { - return ; +function TooltipTrigger ({ ...props }: React.ComponentProps) { + return ; } -function TooltipContent({ +function TooltipContent ({ className, sideOffset = 0, children, @@ -28,7 +30,7 @@ function TooltipContent({ return ( @@ -56,8 +58,10 @@ function TooltipContent({ ); } -function TooltipShortcut({ className, ...props }: React.ComponentProps<'span'>) { - return ; +function TooltipShortcut ({ className, ...props }: React.ComponentProps<'span'>) { + return ; } export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, TooltipShortcut }; diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx index f959e8ec..e67ae5f5 100644 --- a/src/pages/LoginPage.tsx +++ b/src/pages/LoginPage.tsx @@ -1,3 +1,4 @@ +import CheckEmail from '@/components/login/CheckEmail'; import { AFConfigContext } from '@/components/main/app.hooks'; import { Login } from '@/components/login'; import React, { useContext, useEffect } from 'react'; @@ -6,6 +7,8 @@ import { useSearchParams } from 'react-router-dom'; function LoginPage () { const [search] = useSearchParams(); const redirectTo = search.get('redirectTo') || ''; + const action = search.get('action') || ''; + const email = search.get('email') || ''; const isAuthenticated = useContext(AFConfigContext)?.isAuthenticated || false; useEffect(() => { @@ -14,8 +17,14 @@ function LoginPage () { } }, [isAuthenticated, redirectTo]); return ( -
- +
+ {action === 'checkEmail' ? ( + + ) : } +
); } diff --git a/src/styles/variables/semantic.dark.css b/src/styles/variables/semantic.dark.css index 6b94088f..7b71faf8 100644 --- a/src/styles/variables/semantic.dark.css +++ b/src/styles/variables/semantic.dark.css @@ -10,247 +10,248 @@ */ :root[data-dark-mode=true] { - --text-primary: #e4e8f5; - --text-secondary: #b5bbd3; - --text-tertiary: #6f748c; - --text-quaternary: #21232a; - --text-inverse: #21232a; - --text-on-fill: #ffffff; - --text-theme: #00b5ff; - --text-theme-hover: #0092d6; - --text-action: #00b5ff; - --text-action-hover: #0092d6; - --text-info: #00b5ff; - --text-info-hover: #0092d6; - --text-success: #248569; - --text-success-hover: #29725d; - --text-warning: #db7e21; - --text-warning-hover: #b75f17; - --text-error: #f33641; - --text-error-hover: #ff5050; - --text-purple: #9327ff; - --text-purple-hover: #7a1dcc; - --icon-primary: #e4e8f5; - --icon-secondary: #b5bbd3; - --icon-tertiary: #6f748c; - --icon-quaternary: #21232a; - --icon-white: #ffffff; - --icon-purple-thick: #ffffff; - --icon-purple-thick-hover: #ffffff; - --border-grey-primary: #f8faff; - --border-grey-primary-hover: #e4e8f5; - --border-grey-secondary: #ced3e6; - --border-grey-secondary-hover: #b5bbd3; - --border-grey-tertiary: #3c3f4e; - --border-grey-tertiary-hover: #54596e; - --border-grey-quaternary: #21232a; - --border-grey-quaternary-hover: #272930; - --border-transparent: #ffffff00; - --border-theme-thick: #00b5ff; - --border-theme-thick-hover: #0092d6; - --border-info-thick: #00b5ff; - --border-info-thick-hover: #0092d6; - --border-success-thick: #248569; - --border-success-thick-hover: #29725d; - --border-warning-thick: #db7e21; - --border-warning-thick-hover: #b75f17; - --border-error-thick: #f33641; - --border-error-thick-hover: #ff5050; - --border-purple-thick: #9327ff; - --border-purple-thick-hover: #7a1dcc; - --fill-primary: #f8faff; - --fill-primary-hover: #e4e8f5; - --fill-secondary: #ced3e6; - --fill-secondary-hover: #b5bbd3; - --fill-tertiary: #6f748c; - --fill-tertiary-hover: #989eb7; - --fill-quaternary: #21232a; - --fill-quaternary-hover: #272930; - --fill-transparent: #ffffff00; - --fill-primary-alpha-5: #f9fafd0d; - --fill-primary-alpha-5-hover: #f9fafd1a; - --fill-primary-alpha-80: #1f2329cc; - --fill-primary-alpha-80-hover: #1f2329b2; - --fill-white: #ffffff; - --fill-white-alpha: #ffffff33; - --fill-white-alpha-hover: #ffffff4d; - --fill-black: #000000; - --fill-theme-light: #e3f6ff; - --fill-theme-light-hover: #a9e2ff; - --fill-theme-thick: #00b5ff; - --fill-theme-thick-hover: #4ec1ff; - --fill-theme-select: #00b5ff26; - --fill-info-light: #e3f6ff; - --fill-info-light-hover: #a9e2ff; - --fill-info-thick: #00b5ff; - --fill-info-thick-hover: #0092d6; - --fill-success-light: #ecf9f5; - --fill-success-light-hover: #c3e5d8; - --fill-success-thick: #248569; - --fill-success-thick-hover: #29725d; - --fill-warning-light: #fff3d5; - --fill-warning-light-hover: #ffe4ab; - --fill-warning-thick: #db7e21; - --fill-warning-thick-hover: #b75f17; - --fill-error-light: #ffd2dd; - --fill-error-light-hover: #ffa5b4; - --fill-error-thick: #e71d32; - --fill-error-thick-hover: #f33641; - --fill-error-select: #f336411a; - --fill-purple-light: #f1e0ff; - --fill-purple-light-hover: #e1b3ff; - --fill-purple-thick-hover: #7a1dcc; - --fill-purple-thick: #9327ff; - --surface-primary: #272930; - --surface-overlay: #00000099; - --background-primary: #21232a; - --background-secondary: #272930; - --background-tertiary: #3c3f4e; - --background-quaternary: #54596e; - --badge-color-rose-rose-light-1: #fcf2f2; - --badge-color-rose-rose-light-2: #fae3e3; - --badge-color-rose-rose-light-3: #fad9d9; - --badge-color-rose-rose-thick-1: #edadad; - --badge-color-rose-rose-thick-2: #cc4e4e; - --badge-color-rose-rose-thick-3: #702828; - --badge-color-papaya-papaya-light-1: #fcf4f0; - --badge-color-papaya-papaya-light-2: #fae8de; - --badge-color-papaya-papaya-light-3: #fadfd2; - --badge-color-papaya-papaya-thick-1: #f0bda3; - --badge-color-papaya-papaya-thick-2: #d67240; - --badge-color-papaya-papaya-thick-3: #6b3215; - --badge-color-tangerine-tangerine-light-1: #fff7ed; - --badge-color-tangerine-tangerine-light-2: #fcedd9; - --badge-color-tangerine-tangerine-light-3: #fae5ca; - --badge-color-tangerine-tangerine-thick-1: #f2cb99; - --badge-color-tangerine-tangerine-thick-2: #db8f2c; - --badge-color-tangerine-tangerine-thick-3: #613b0a; - --badge-color-mango-mango-light-1: #fff9ec; - --badge-color-mango-mango-light-2: #fcf1d7; - --badge-color-mango-mango-light-3: #fae9c3; - --badge-color-mango-mango-thick-1: #f5d68e; - --badge-color-mango-mango-thick-2: #e0a416; - --badge-color-mango-mango-thick-3: #5c4102; - --badge-color-lemon-lemon-light-1: #fffbe8; - --badge-color-lemon-lemon-light-2: #fcf5cf; - --badge-color-lemon-lemon-light-3: #faefb9; - --badge-color-lemon-lemon-thick-1: #f5e282; - --badge-color-lemon-lemon-thick-2: #e0bb00; - --badge-color-lemon-lemon-thick-3: #574800; - --badge-color-olive-olive-light-1: #f9fae6; - --badge-color-olive-olive-light-2: #f6f7d0; - --badge-color-olive-olive-light-3: #f0f2b3; - --badge-color-olive-olive-thick-1: #dbde83; - --badge-color-olive-olive-thick-2: #adb204; - --badge-color-olive-olive-thick-3: #4a4c03; - --badge-color-lime-lime-light-1: #f6f9e6; - --badge-color-lime-lime-light-2: #eef5ce; - --badge-color-lime-lime-light-3: #e7f0bb; - --badge-color-lime-lime-thick-1: #cfdb91; - --badge-color-lime-lime-thick-2: #92a822; - --badge-color-lime-lime-thick-3: #414d05; - --badge-color-grass-grass-light-1: #f4faeb; - --badge-color-grass-grass-light-2: #e9f5d7; - --badge-color-grass-grass-light-3: #def0c5; - --badge-color-grass-grass-thick-1: #bfd998; - --badge-color-grass-grass-thick-2: #75a828; - --badge-color-grass-grass-thick-3: #334d0c; - --badge-color-forest-forest-light-1: #f1faf0; - --badge-color-forest-forest-light-2: #e2f5df; - --badge-color-forest-forest-light-3: #d7f0d3; - --badge-color-forest-forest-thick-1: #a8d6a1; - --badge-color-forest-forest-thick-2: #49a33b; - --badge-color-forest-forest-thick-3: #1e4f16; - --badge-color-jade-jade-light-1: #f0faf6; - --badge-color-jade-jade-light-2: #dff5eb; - --badge-color-jade-jade-light-3: #cef0e1; - --badge-color-jade-jade-thick-1: #90d1b5; - --badge-color-jade-jade-thick-2: #1c9963; - --badge-color-jade-jade-thick-3: #075231; - --badge-color-aqua-aqua-light-1: #f0f9fa; - --badge-color-aqua-aqua-light-2: #dff3f5; - --badge-color-aqua-aqua-light-3: #ccecf0; - --badge-color-aqua-aqua-thick-1: #83ccd4; - --badge-color-aqua-aqua-thick-2: #008e9e; - --badge-color-aqua-aqua-thick-3: #004e57; - --badge-color-azure-azure-light-1: #f0f6fa; - --badge-color-azure-azure-light-2: #e1eef7; - --badge-color-azure-azure-light-3: #d3e6f5; - --badge-color-azure-azure-thick-1: #88c0eb; - --badge-color-azure-azure-thick-2: #0877cc; - --badge-color-azure-azure-thick-3: #154469; - --badge-color-denim-denim-light-1: #f0f3fa; - --badge-color-denim-denim-light-2: #e3ebfa; - --badge-color-denim-denim-light-3: #d7e2f7; - --badge-color-denim-denim-thick-1: #9ab6ed; - --badge-color-denim-denim-thick-2: #3267d1; - --badge-color-denim-denim-thick-3: #223c70; - --badge-color-mauve-mauve-light-1: #f2f2fc; - --badge-color-mauve-mauve-thick-2: #5555e0; - --badge-color-mauve-mauve-thick-3: #36366b; - --badge-color-mauve-mauve-thick-1: #aeaef5; - --badge-color-lavender-lavender-light-1: #f6f3fc; - --badge-color-lavender-lavender-light-2: #ebe3fa; - --badge-color-lavender-lavender-light-3: #e4daf7; - --badge-color-lavender-lavender-thick-1: #c1aaf0; - --badge-color-lavender-lavender-thick-2: #8153db; - --badge-color-lavender-lavender-thick-3: #462f75; - --badge-color-lilac-liliac-light-1: #f7f0fa; - --badge-color-lilac-liliac-light-2: #f0e1f7; - --badge-color-lilac-liliac-light-3: #edd7f7; - --badge-color-lilac-liliac-thick-1: #d3a9e8; - --badge-color-lilac-liliac-thick-2: #9e4cc7; - --badge-color-lilac-liliac-thick-3: #562d6b; - --badge-color-mallow-mallow-light-1: #faf0fa; - --badge-color-mallow-mallow-light-2: #f5e1f4; - --badge-color-mallow-mallow-light-3: #f5d7f4; - --badge-color-mallow-mallow-thick-1: #dea4dc; - --badge-color-mallow-mallow-thick-2: #b240af; - --badge-color-mallow-mallow-thick-3: #632861; - --badge-color-camellia-camellia-light-1: #f9eff3; - --badge-color-camellia-camellia-light-2: #f7e1eb; - --badge-color-camellia-camellia-light-3: #f7d7e5; - --badge-color-camellia-camellia-thick-1: #e5a3c0; - --badge-color-camellia-camellia-thick-2: #c24279; - --badge-color-camellia-camellia-thick-3: #6e2343; - --badge-color-smoke-smoke-light-1: #f5f5f5; - --badge-color-smoke-smoke-light-2: #e8e8e8; - --badge-color-smoke-smoke-light-3: #dedede; - --badge-color-smoke-smoke-thick-1: #b8b8b8; - --badge-color-smoke-smoke-thick-2: #6e6e6e; - --badge-color-smoke-smoke-thick-3: #404040; - --badge-color-iron-icon-light-1: #f2f4f7; - --badge-color-iron-icon-light-2: #e6e9f0; - --badge-color-iron-icon-light-3: #dadee5; - --badge-color-iron-icon-thick-1: #b0b5bf; - --badge-color-iron-icon-thick-2: #666f80; - --badge-color-iron-icon-thick-3: #394152; - --shadow-sm: 0px; - --shadow-md: 0px; - --brand-skyline: #00b5ff; - --brand-aqua: #00c8ff; - --brand-violet: #9327ff; - --brand-amethyst: #8427e0; - --brand-berry: #e3006d; - --brand-coral: #fb006d; - --brand-golden: #f7931e; - --brand-amber: #ffbd00; - --brand-lemon: #ffce00; - --other-colors-text-highlight: #a9e2ff; - --spacing-spacing-0: 0px; - --spacing-spacing-xs: 4px; - --spacing-spacing-s: 6px; - --spacing-spacing-m: 8px; - --spacing-spacing-l: 12px; - --spacing-spacing-xl: 16px; - --spacing-spacing-xxl: 20px; - --spacing-spacing-full: 1000px; - --border-radius-border-radius-0: 0px; - --border-radius-border-radius-xs: 4px; - --border-radius-border-radius-s: 6px; - --border-radius-border-radius-m: 8px; - --border-radius-border-radius-l: 12px; - --border-radius-border-radius-xl: 16px; - --border-radius-border-radius-xxl: 20px; - --border-radius-border-radius-full: 1000px; + --text-primary: #e4e8f5; + --text-secondary: #b5bbd3; + --text-tertiary: #6f748c; + --text-quaternary: #21232a; + --text-inverse: #21232a; + --text-on-fill: #ffffff; + --text-theme: #00b5ff; + --text-theme-hover: #0092d6; + --text-action: #00b5ff; + --text-action-hover: #0092d6; + --text-info: #00b5ff; + --text-info-hover: #0092d6; + --text-success: #248569; + --text-success-hover: #29725d; + --text-warning: #db7e21; + --text-warning-hover: #b75f17; + --text-error: #f33641; + --text-error-hover: #ff5050; + --text-purple: #9327ff; + --text-purple-hover: #7a1dcc; + --icon-primary: #e4e8f5; + --icon-secondary: #b5bbd3; + --icon-tertiary: #6f748c; + --icon-quaternary: #21232a; + --icon-white: #ffffff; + --icon-purple-thick: #ffffff; + --icon-purple-thick-hover: #ffffff; + --border-grey-primary: #f8faff; + --border-grey-primary-hover: #e4e8f5; + --border-grey-secondary: #ced3e6; + --border-grey-secondary-hover: #b5bbd3; + --border-grey-tertiary: #3c3f4e; + --border-grey-tertiary-hover: #54596e; + --border-grey-quaternary: #21232a; + --border-grey-quaternary-hover: #272930; + --border-transparent: #ffffff00; + --border-theme-thick: #00b5ff; + --border-theme-thick-hover: #0092d6; + --border-info-thick: #00b5ff; + --border-info-thick-hover: #0092d6; + --border-success-thick: #248569; + --border-success-thick-hover: #29725d; + --border-warning-thick: #db7e21; + --border-warning-thick-hover: #b75f17; + --border-error-thick: #f33641; + --border-error-thick-hover: #ff5050; + --border-purple-thick: #9327ff; + --border-purple-thick-hover: #7a1dcc; + --fill-primary: #f8faff; + --fill-primary-hover: #e4e8f5; + --fill-secondary: #ced3e6; + --fill-secondary-hover: #b5bbd3; + --fill-tertiary: #6f748c; + --fill-tertiary-hover: #989eb7; + --fill-quaternary: #21232a; + --fill-quaternary-hover: #272930; + --fill-transparent: #ffffff00; + --fill-primary-alpha-5: #f9fafd0d; + --fill-primary-alpha-5-hover: #f9fafd1a; + --fill-primary-alpha-80: #1f2329cc; + --fill-primary-alpha-80-hover: #1f2329b2; + --fill-white: #ffffff; + --fill-white-alpha: #ffffff33; + --fill-white-alpha-hover: #ffffff4d; + --fill-black: #000000; + --fill-theme-light: #e3f6ff; + --fill-theme-light-hover: #a9e2ff; + --fill-theme-thick: #00b5ff; + --fill-theme-thick-hover: #4ec1ff; + --fill-theme-select: #00b5ff26; + --fill-info-light: #e3f6ff; + --fill-info-light-hover: #a9e2ff; + --fill-info-thick: #00b5ff; + --fill-info-thick-hover: #0092d6; + --fill-success-light: #ecf9f5; + --fill-success-light-hover: #c3e5d8; + --fill-success-thick: #248569; + --fill-success-thick-hover: #29725d; + --fill-warning-light: #fff3d5; + --fill-warning-light-hover: #ffe4ab; + --fill-warning-thick: #db7e21; + --fill-warning-thick-hover: #b75f17; + --fill-error-light: #ffd2dd; + --fill-error-light-hover: #ffa5b4; + --fill-error-thick: #e71d32; + --fill-error-thick-hover: #f33641; + --fill-error-select: #f336411a; + --fill-purple-light: #f1e0ff; + --fill-purple-light-hover: #e1b3ff; + --fill-purple-thick-hover: #7a1dcc; + --fill-purple-thick: #9327ff; + --surface-primary: #272930; + --surface-overlay: #00000099; + --surface-secondary: #3C3F4E; + --background-primary: #21232a; + --background-secondary: #272930; + --background-tertiary: #3c3f4e; + --background-quaternary: #54596e; + --badge-color-rose-rose-light-1: #fcf2f2; + --badge-color-rose-rose-light-2: #fae3e3; + --badge-color-rose-rose-light-3: #fad9d9; + --badge-color-rose-rose-thick-1: #edadad; + --badge-color-rose-rose-thick-2: #cc4e4e; + --badge-color-rose-rose-thick-3: #702828; + --badge-color-papaya-papaya-light-1: #fcf4f0; + --badge-color-papaya-papaya-light-2: #fae8de; + --badge-color-papaya-papaya-light-3: #fadfd2; + --badge-color-papaya-papaya-thick-1: #f0bda3; + --badge-color-papaya-papaya-thick-2: #d67240; + --badge-color-papaya-papaya-thick-3: #6b3215; + --badge-color-tangerine-tangerine-light-1: #fff7ed; + --badge-color-tangerine-tangerine-light-2: #fcedd9; + --badge-color-tangerine-tangerine-light-3: #fae5ca; + --badge-color-tangerine-tangerine-thick-1: #f2cb99; + --badge-color-tangerine-tangerine-thick-2: #db8f2c; + --badge-color-tangerine-tangerine-thick-3: #613b0a; + --badge-color-mango-mango-light-1: #fff9ec; + --badge-color-mango-mango-light-2: #fcf1d7; + --badge-color-mango-mango-light-3: #fae9c3; + --badge-color-mango-mango-thick-1: #f5d68e; + --badge-color-mango-mango-thick-2: #e0a416; + --badge-color-mango-mango-thick-3: #5c4102; + --badge-color-lemon-lemon-light-1: #fffbe8; + --badge-color-lemon-lemon-light-2: #fcf5cf; + --badge-color-lemon-lemon-light-3: #faefb9; + --badge-color-lemon-lemon-thick-1: #f5e282; + --badge-color-lemon-lemon-thick-2: #e0bb00; + --badge-color-lemon-lemon-thick-3: #574800; + --badge-color-olive-olive-light-1: #f9fae6; + --badge-color-olive-olive-light-2: #f6f7d0; + --badge-color-olive-olive-light-3: #f0f2b3; + --badge-color-olive-olive-thick-1: #dbde83; + --badge-color-olive-olive-thick-2: #adb204; + --badge-color-olive-olive-thick-3: #4a4c03; + --badge-color-lime-lime-light-1: #f6f9e6; + --badge-color-lime-lime-light-2: #eef5ce; + --badge-color-lime-lime-light-3: #e7f0bb; + --badge-color-lime-lime-thick-1: #cfdb91; + --badge-color-lime-lime-thick-2: #92a822; + --badge-color-lime-lime-thick-3: #414d05; + --badge-color-grass-grass-light-1: #f4faeb; + --badge-color-grass-grass-light-2: #e9f5d7; + --badge-color-grass-grass-light-3: #def0c5; + --badge-color-grass-grass-thick-1: #bfd998; + --badge-color-grass-grass-thick-2: #75a828; + --badge-color-grass-grass-thick-3: #334d0c; + --badge-color-forest-forest-light-1: #f1faf0; + --badge-color-forest-forest-light-2: #e2f5df; + --badge-color-forest-forest-light-3: #d7f0d3; + --badge-color-forest-forest-thick-1: #a8d6a1; + --badge-color-forest-forest-thick-2: #49a33b; + --badge-color-forest-forest-thick-3: #1e4f16; + --badge-color-jade-jade-light-1: #f0faf6; + --badge-color-jade-jade-light-2: #dff5eb; + --badge-color-jade-jade-light-3: #cef0e1; + --badge-color-jade-jade-thick-1: #90d1b5; + --badge-color-jade-jade-thick-2: #1c9963; + --badge-color-jade-jade-thick-3: #075231; + --badge-color-aqua-aqua-light-1: #f0f9fa; + --badge-color-aqua-aqua-light-2: #dff3f5; + --badge-color-aqua-aqua-light-3: #ccecf0; + --badge-color-aqua-aqua-thick-1: #83ccd4; + --badge-color-aqua-aqua-thick-2: #008e9e; + --badge-color-aqua-aqua-thick-3: #004e57; + --badge-color-azure-azure-light-1: #f0f6fa; + --badge-color-azure-azure-light-2: #e1eef7; + --badge-color-azure-azure-light-3: #d3e6f5; + --badge-color-azure-azure-thick-1: #88c0eb; + --badge-color-azure-azure-thick-2: #0877cc; + --badge-color-azure-azure-thick-3: #154469; + --badge-color-denim-denim-light-1: #f0f3fa; + --badge-color-denim-denim-light-2: #e3ebfa; + --badge-color-denim-denim-light-3: #d7e2f7; + --badge-color-denim-denim-thick-1: #9ab6ed; + --badge-color-denim-denim-thick-2: #3267d1; + --badge-color-denim-denim-thick-3: #223c70; + --badge-color-mauve-mauve-light-1: #f2f2fc; + --badge-color-mauve-mauve-thick-2: #5555e0; + --badge-color-mauve-mauve-thick-3: #36366b; + --badge-color-mauve-mauve-thick-1: #aeaef5; + --badge-color-lavender-lavender-light-1: #f6f3fc; + --badge-color-lavender-lavender-light-2: #ebe3fa; + --badge-color-lavender-lavender-light-3: #e4daf7; + --badge-color-lavender-lavender-thick-1: #c1aaf0; + --badge-color-lavender-lavender-thick-2: #8153db; + --badge-color-lavender-lavender-thick-3: #462f75; + --badge-color-lilac-liliac-light-1: #f7f0fa; + --badge-color-lilac-liliac-light-2: #f0e1f7; + --badge-color-lilac-liliac-light-3: #edd7f7; + --badge-color-lilac-liliac-thick-1: #d3a9e8; + --badge-color-lilac-liliac-thick-2: #9e4cc7; + --badge-color-lilac-liliac-thick-3: #562d6b; + --badge-color-mallow-mallow-light-1: #faf0fa; + --badge-color-mallow-mallow-light-2: #f5e1f4; + --badge-color-mallow-mallow-light-3: #f5d7f4; + --badge-color-mallow-mallow-thick-1: #dea4dc; + --badge-color-mallow-mallow-thick-2: #b240af; + --badge-color-mallow-mallow-thick-3: #632861; + --badge-color-camellia-camellia-light-1: #f9eff3; + --badge-color-camellia-camellia-light-2: #f7e1eb; + --badge-color-camellia-camellia-light-3: #f7d7e5; + --badge-color-camellia-camellia-thick-1: #e5a3c0; + --badge-color-camellia-camellia-thick-2: #c24279; + --badge-color-camellia-camellia-thick-3: #6e2343; + --badge-color-smoke-smoke-light-1: #f5f5f5; + --badge-color-smoke-smoke-light-2: #e8e8e8; + --badge-color-smoke-smoke-light-3: #dedede; + --badge-color-smoke-smoke-thick-1: #b8b8b8; + --badge-color-smoke-smoke-thick-2: #6e6e6e; + --badge-color-smoke-smoke-thick-3: #404040; + --badge-color-iron-icon-light-1: #f2f4f7; + --badge-color-iron-icon-light-2: #e6e9f0; + --badge-color-iron-icon-light-3: #dadee5; + --badge-color-iron-icon-thick-1: #b0b5bf; + --badge-color-iron-icon-thick-2: #666f80; + --badge-color-iron-icon-thick-3: #394152; + --shadow-sm: 0px; + --shadow-md: 0px; + --brand-skyline: #00b5ff; + --brand-aqua: #00c8ff; + --brand-violet: #9327ff; + --brand-amethyst: #8427e0; + --brand-berry: #e3006d; + --brand-coral: #fb006d; + --brand-golden: #f7931e; + --brand-amber: #ffbd00; + --brand-lemon: #ffce00; + --other-colors-text-highlight: #a9e2ff; + --spacing-spacing-0: 0px; + --spacing-spacing-xs: 4px; + --spacing-spacing-s: 6px; + --spacing-spacing-m: 8px; + --spacing-spacing-l: 12px; + --spacing-spacing-xl: 16px; + --spacing-spacing-xxl: 20px; + --spacing-spacing-full: 1000px; + --border-radius-border-radius-0: 0px; + --border-radius-border-radius-xs: 4px; + --border-radius-border-radius-s: 6px; + --border-radius-border-radius-m: 8px; + --border-radius-border-radius-l: 12px; + --border-radius-border-radius-xl: 16px; + --border-radius-border-radius-xxl: 20px; + --border-radius-border-radius-full: 1000px; } diff --git a/src/styles/variables/semantic.light.css b/src/styles/variables/semantic.light.css index edaaf421..f8e6f10f 100644 --- a/src/styles/variables/semantic.light.css +++ b/src/styles/variables/semantic.light.css @@ -10,247 +10,248 @@ */ :root { - --text-primary: #21232a; - --text-secondary: #6f748c; - --text-tertiary: #b5bbd3; - --text-quaternary: #e4e8f5; - --text-inverse: #ffffff; - --text-on-fill: #ffffff; - --text-theme: #00b5ff; - --text-theme-hover: #0092d6; - --text-action: #00b5ff; - --text-action-hover: #0092d6; - --text-info: #00b5ff; - --text-info-hover: #0092d6; - --text-success: #248569; - --text-success-hover: #29725d; - --text-warning: #db7e21; - --text-warning-hover: #b75f17; - --text-error: #e71d32; - --text-error-hover: #ad1625; - --text-purple: #9327ff; - --text-purple-hover: #7a1dcc; - --icon-primary: #21232a; - --icon-secondary: #6f748c; - --icon-tertiary: #b5bbd3; - --icon-quaternary: #e4e8f5; - --icon-white: #ffffff; - --icon-purple-thick: #9327ff; - --icon-purple-thick-hover: #7a1dcc; - --border-grey-primary: #21232a; - --border-grey-primary-hover: #272930; - --border-grey-secondary: #3c3f4e; - --border-grey-secondary-hover: #54596e; - --border-grey-tertiary: #ced3e6; - --border-grey-tertiary-hover: #b5bbd3; - --border-grey-quaternary: #f8faff; - --border-grey-quaternary-hover: #e4e8f5; - --border-transparent: #ffffff00; - --border-theme-thick: #00b5ff; - --border-theme-thick-hover: #0092d6; - --border-info-thick: #00b5ff; - --border-info-thick-hover: #0092d6; - --border-success-thick: #248569; - --border-success-thick-hover: #29725d; - --border-warning-thick: #db7e21; - --border-warning-thick-hover: #b75f17; - --border-error-thick: #e71d32; - --border-error-thick-hover: #ad1625; - --border-purple-thick: #9327ff; - --border-purple-thick-hover: #7a1dcc; - --fill-primary: #21232a; - --fill-primary-hover: #272930; - --fill-secondary: #6f748c; - --fill-secondary-hover: #989eb7; - --fill-tertiary: #ced3e6; - --fill-tertiary-hover: #b5bbd3; - --fill-quaternary: #f8faff; - --fill-quaternary-hover: #e4e8f5; - --fill-transparent: #ffffff00; - --fill-primary-alpha-5: #1f23290d; - --fill-primary-alpha-5-hover: #1f23291a; - --fill-primary-alpha-80: #1f2329cc; - --fill-primary-alpha-80-hover: #1f2329b2; - --fill-white: #ffffff; - --fill-white-alpha: #ffffff33; - --fill-white-alpha-hover: #ffffff4d; - --fill-black: #000000; - --fill-theme-light: #e3f6ff; - --fill-theme-light-hover: #a9e2ff; - --fill-theme-thick: #00b5ff; - --fill-theme-thick-hover: #0092d6; - --fill-theme-select: #00b5ff26; - --fill-info-light: #e3f6ff; - --fill-info-light-hover: #a9e2ff; - --fill-info-thick: #00b5ff; - --fill-info-thick-hover: #0092d6; - --fill-success-light: #ecf9f5; - --fill-success-light-hover: #c3e5d8; - --fill-success-thick: #248569; - --fill-success-thick-hover: #29725d; - --fill-warning-light: #fff3d5; - --fill-warning-light-hover: #ffe4ab; - --fill-warning-thick: #db7e21; - --fill-warning-thick-hover: #b75f17; - --fill-error-light: #ffd2dd; - --fill-error-light-hover: #ffa5b4; - --fill-error-thick: #e71d32; - --fill-error-thick-hover: #ad1625; - --fill-error-select: #f336411a; - --fill-purple-light: #f1e0ff; - --fill-purple-light-hover: #e1b3ff; - --fill-purple-thick-hover: #7a1dcc; - --fill-purple-thick: #9327ff; - --surface-primary: #ffffff; - --surface-overlay: #00000099; - --background-primary: #ffffff; - --background-secondary: #f8faff; - --background-tertiary: #e4e8f5; - --background-quaternary: #ced3e6; - --badge-color-rose-rose-light-1: #fcf2f2; - --badge-color-rose-rose-light-2: #fae3e3; - --badge-color-rose-rose-light-3: #fad9d9; - --badge-color-rose-rose-thick-1: #edadad; - --badge-color-rose-rose-thick-2: #cc4e4e; - --badge-color-rose-rose-thick-3: #702828; - --badge-color-papaya-papaya-light-1: #fcf4f0; - --badge-color-papaya-papaya-light-2: #fae8de; - --badge-color-papaya-papaya-light-3: #fadfd2; - --badge-color-papaya-papaya-thick-1: #f0bda3; - --badge-color-papaya-papaya-thick-2: #d67240; - --badge-color-papaya-papaya-thick-3: #6b3215; - --badge-color-tangerine-tangerine-light-1: #fff7ed; - --badge-color-tangerine-tangerine-light-2: #fcedd9; - --badge-color-tangerine-tangerine-light-3: #fae5ca; - --badge-color-tangerine-tangerine-thick-1: #f2cb99; - --badge-color-tangerine-tangerine-thick-2: #db8f2c; - --badge-color-tangerine-tangerine-thick-3: #613b0a; - --badge-color-mango-mango-light-1: #fff9ec; - --badge-color-mango-mango-light-2: #fcf1d7; - --badge-color-mango-mango-light-3: #fae9c3; - --badge-color-mango-mango-thick-1: #f5d68e; - --badge-color-mango-mango-thick-2: #e0a416; - --badge-color-mango-mango-thick-3: #5c4102; - --badge-color-lemon-lemon-light-1: #fffbe8; - --badge-color-lemon-lemon-light-2: #fcf5cf; - --badge-color-lemon-lemon-light-3: #faefb9; - --badge-color-lemon-lemon-thick-1: #f5e282; - --badge-color-lemon-lemon-thick-2: #e0bb00; - --badge-color-lemon-lemon-thick-3: #574800; - --badge-color-olive-olive-light-1: #f9fae6; - --badge-color-olive-olive-light-2: #f6f7d0; - --badge-color-olive-olive-light-3: #f0f2b3; - --badge-color-olive-olive-thick-1: #dbde83; - --badge-color-olive-olive-thick-2: #adb204; - --badge-color-olive-olive-thick-3: #4a4c03; - --badge-color-lime-lime-light-1: #f6f9e6; - --badge-color-lime-lime-light-2: #eef5ce; - --badge-color-lime-lime-light-3: #e7f0bb; - --badge-color-lime-lime-thick-1: #cfdb91; - --badge-color-lime-lime-thick-2: #92a822; - --badge-color-lime-lime-thick-3: #414d05; - --badge-color-grass-grass-light-1: #f4faeb; - --badge-color-grass-grass-light-2: #e9f5d7; - --badge-color-grass-grass-light-3: #def0c5; - --badge-color-grass-grass-thick-1: #bfd998; - --badge-color-grass-grass-thick-2: #75a828; - --badge-color-grass-grass-thick-3: #334d0c; - --badge-color-forest-forest-light-1: #f1faf0; - --badge-color-forest-forest-light-2: #e2f5df; - --badge-color-forest-forest-light-3: #d7f0d3; - --badge-color-forest-forest-thick-1: #a8d6a1; - --badge-color-forest-forest-thick-2: #49a33b; - --badge-color-forest-forest-thick-3: #1e4f16; - --badge-color-jade-jade-light-1: #f0faf6; - --badge-color-jade-jade-light-2: #dff5eb; - --badge-color-jade-jade-light-3: #cef0e1; - --badge-color-jade-jade-thick-1: #90d1b5; - --badge-color-jade-jade-thick-2: #1c9963; - --badge-color-jade-jade-thick-3: #075231; - --badge-color-aqua-aqua-light-1: #f0f9fa; - --badge-color-aqua-aqua-light-2: #dff3f5; - --badge-color-aqua-aqua-light-3: #ccecf0; - --badge-color-aqua-aqua-thick-1: #83ccd4; - --badge-color-aqua-aqua-thick-2: #008e9e; - --badge-color-aqua-aqua-thick-3: #004e57; - --badge-color-azure-azure-light-1: #f0f6fa; - --badge-color-azure-azure-light-2: #e1eef7; - --badge-color-azure-azure-light-3: #d3e6f5; - --badge-color-azure-azure-thick-1: #88c0eb; - --badge-color-azure-azure-thick-2: #0877cc; - --badge-color-azure-azure-thick-3: #154469; - --badge-color-denim-denim-light-1: #f0f3fa; - --badge-color-denim-denim-light-2: #e3ebfa; - --badge-color-denim-denim-light-3: #d7e2f7; - --badge-color-denim-denim-thick-1: #9ab6ed; - --badge-color-denim-denim-thick-2: #3267d1; - --badge-color-denim-denim-thick-3: #223c70; - --badge-color-mauve-mauve-light-1: #f2f2fc; - --badge-color-mauve-mauve-thick-2: #5555e0; - --badge-color-mauve-mauve-thick-3: #36366b; - --badge-color-mauve-mauve-thick-1: #aeaef5; - --badge-color-lavender-lavender-light-1: #f6f3fc; - --badge-color-lavender-lavender-light-2: #ebe3fa; - --badge-color-lavender-lavender-light-3: #e4daf7; - --badge-color-lavender-lavender-thick-1: #c1aaf0; - --badge-color-lavender-lavender-thick-2: #8153db; - --badge-color-lavender-lavender-thick-3: #462f75; - --badge-color-lilac-liliac-light-1: #f7f0fa; - --badge-color-lilac-liliac-light-2: #f0e1f7; - --badge-color-lilac-liliac-light-3: #edd7f7; - --badge-color-lilac-liliac-thick-1: #d3a9e8; - --badge-color-lilac-liliac-thick-2: #9e4cc7; - --badge-color-lilac-liliac-thick-3: #562d6b; - --badge-color-mallow-mallow-light-1: #faf0fa; - --badge-color-mallow-mallow-light-2: #f5e1f4; - --badge-color-mallow-mallow-light-3: #f5d7f4; - --badge-color-mallow-mallow-thick-1: #dea4dc; - --badge-color-mallow-mallow-thick-2: #b240af; - --badge-color-mallow-mallow-thick-3: #632861; - --badge-color-camellia-camellia-light-1: #f9eff3; - --badge-color-camellia-camellia-light-2: #f7e1eb; - --badge-color-camellia-camellia-light-3: #f7d7e5; - --badge-color-camellia-camellia-thick-1: #e5a3c0; - --badge-color-camellia-camellia-thick-2: #c24279; - --badge-color-camellia-camellia-thick-3: #6e2343; - --badge-color-smoke-smoke-light-1: #f5f5f5; - --badge-color-smoke-smoke-light-2: #e8e8e8; - --badge-color-smoke-smoke-light-3: #dedede; - --badge-color-smoke-smoke-thick-1: #b8b8b8; - --badge-color-smoke-smoke-thick-2: #6e6e6e; - --badge-color-smoke-smoke-thick-3: #404040; - --badge-color-iron-icon-light-1: #f2f4f7; - --badge-color-iron-icon-light-2: #e6e9f0; - --badge-color-iron-icon-light-3: #dadee5; - --badge-color-iron-icon-thick-1: #b0b5bf; - --badge-color-iron-icon-thick-2: #666f80; - --badge-color-iron-icon-thick-3: #394152; - --shadow-sm: 0px; - --shadow-md: 0px; - --brand-skyline: #00b5ff; - --brand-aqua: #00c8ff; - --brand-violet: #9327ff; - --brand-amethyst: #8427e0; - --brand-berry: #e3006d; - --brand-coral: #fb006d; - --brand-golden: #f7931e; - --brand-amber: #ffbd00; - --brand-lemon: #ffce00; - --other-colors-text-highlight: #a9e2ff; - --spacing-spacing-0: 0px; - --spacing-spacing-xs: 4px; - --spacing-spacing-s: 6px; - --spacing-spacing-m: 8px; - --spacing-spacing-l: 12px; - --spacing-spacing-xl: 16px; - --spacing-spacing-xxl: 20px; - --spacing-spacing-full: 1000px; - --border-radius-border-radius-0: 0px; - --border-radius-border-radius-xs: 4px; - --border-radius-border-radius-s: 6px; - --border-radius-border-radius-m: 8px; - --border-radius-border-radius-l: 12px; - --border-radius-border-radius-xl: 16px; - --border-radius-border-radius-xxl: 20px; - --border-radius-border-radius-full: 1000px; + --text-primary: #21232a; + --text-secondary: #6f748c; + --text-tertiary: #b5bbd3; + --text-quaternary: #e4e8f5; + --text-inverse: #ffffff; + --text-on-fill: #ffffff; + --text-theme: #00b5ff; + --text-theme-hover: #0092d6; + --text-action: #00b5ff; + --text-action-hover: #0092d6; + --text-info: #00b5ff; + --text-info-hover: #0092d6; + --text-success: #248569; + --text-success-hover: #29725d; + --text-warning: #db7e21; + --text-warning-hover: #b75f17; + --text-error: #e71d32; + --text-error-hover: #ad1625; + --text-purple: #9327ff; + --text-purple-hover: #7a1dcc; + --icon-primary: #21232a; + --icon-secondary: #6f748c; + --icon-tertiary: #b5bbd3; + --icon-quaternary: #e4e8f5; + --icon-white: #ffffff; + --icon-purple-thick: #9327ff; + --icon-purple-thick-hover: #7a1dcc; + --border-grey-primary: #21232a; + --border-grey-primary-hover: #272930; + --border-grey-secondary: #3c3f4e; + --border-grey-secondary-hover: #54596e; + --border-grey-tertiary: #ced3e6; + --border-grey-tertiary-hover: #b5bbd3; + --border-grey-quaternary: #f8faff; + --border-grey-quaternary-hover: #e4e8f5; + --border-transparent: #ffffff00; + --border-theme-thick: #00b5ff; + --border-theme-thick-hover: #0092d6; + --border-info-thick: #00b5ff; + --border-info-thick-hover: #0092d6; + --border-success-thick: #248569; + --border-success-thick-hover: #29725d; + --border-warning-thick: #db7e21; + --border-warning-thick-hover: #b75f17; + --border-error-thick: #e71d32; + --border-error-thick-hover: #ad1625; + --border-purple-thick: #9327ff; + --border-purple-thick-hover: #7a1dcc; + --fill-primary: #21232a; + --fill-primary-hover: #272930; + --fill-secondary: #6f748c; + --fill-secondary-hover: #989eb7; + --fill-tertiary: #ced3e6; + --fill-tertiary-hover: #b5bbd3; + --fill-quaternary: #f8faff; + --fill-quaternary-hover: #e4e8f5; + --fill-transparent: #ffffff00; + --fill-primary-alpha-5: #1f23290d; + --fill-primary-alpha-5-hover: #1f23291a; + --fill-primary-alpha-80: #1f2329cc; + --fill-primary-alpha-80-hover: #1f2329b2; + --fill-white: #ffffff; + --fill-white-alpha: #ffffff33; + --fill-white-alpha-hover: #ffffff4d; + --fill-black: #000000; + --fill-theme-light: #e3f6ff; + --fill-theme-light-hover: #a9e2ff; + --fill-theme-thick: #00b5ff; + --fill-theme-thick-hover: #0092d6; + --fill-theme-select: #00b5ff26; + --fill-info-light: #e3f6ff; + --fill-info-light-hover: #a9e2ff; + --fill-info-thick: #00b5ff; + --fill-info-thick-hover: #0092d6; + --fill-success-light: #ecf9f5; + --fill-success-light-hover: #c3e5d8; + --fill-success-thick: #248569; + --fill-success-thick-hover: #29725d; + --fill-warning-light: #fff3d5; + --fill-warning-light-hover: #ffe4ab; + --fill-warning-thick: #db7e21; + --fill-warning-thick-hover: #b75f17; + --fill-error-light: #ffd2dd; + --fill-error-light-hover: #ffa5b4; + --fill-error-thick: #e71d32; + --fill-error-thick-hover: #ad1625; + --fill-error-select: #f336411a; + --fill-purple-light: #f1e0ff; + --fill-purple-light-hover: #e1b3ff; + --fill-purple-thick-hover: #7a1dcc; + --fill-purple-thick: #9327ff; + --surface-primary: #ffffff; + --surface-overlay: #00000099; + --surface-secondary: #21232A; + --background-primary: #ffffff; + --background-secondary: #f8faff; + --background-tertiary: #e4e8f5; + --background-quaternary: #ced3e6; + --badge-color-rose-rose-light-1: #fcf2f2; + --badge-color-rose-rose-light-2: #fae3e3; + --badge-color-rose-rose-light-3: #fad9d9; + --badge-color-rose-rose-thick-1: #edadad; + --badge-color-rose-rose-thick-2: #cc4e4e; + --badge-color-rose-rose-thick-3: #702828; + --badge-color-papaya-papaya-light-1: #fcf4f0; + --badge-color-papaya-papaya-light-2: #fae8de; + --badge-color-papaya-papaya-light-3: #fadfd2; + --badge-color-papaya-papaya-thick-1: #f0bda3; + --badge-color-papaya-papaya-thick-2: #d67240; + --badge-color-papaya-papaya-thick-3: #6b3215; + --badge-color-tangerine-tangerine-light-1: #fff7ed; + --badge-color-tangerine-tangerine-light-2: #fcedd9; + --badge-color-tangerine-tangerine-light-3: #fae5ca; + --badge-color-tangerine-tangerine-thick-1: #f2cb99; + --badge-color-tangerine-tangerine-thick-2: #db8f2c; + --badge-color-tangerine-tangerine-thick-3: #613b0a; + --badge-color-mango-mango-light-1: #fff9ec; + --badge-color-mango-mango-light-2: #fcf1d7; + --badge-color-mango-mango-light-3: #fae9c3; + --badge-color-mango-mango-thick-1: #f5d68e; + --badge-color-mango-mango-thick-2: #e0a416; + --badge-color-mango-mango-thick-3: #5c4102; + --badge-color-lemon-lemon-light-1: #fffbe8; + --badge-color-lemon-lemon-light-2: #fcf5cf; + --badge-color-lemon-lemon-light-3: #faefb9; + --badge-color-lemon-lemon-thick-1: #f5e282; + --badge-color-lemon-lemon-thick-2: #e0bb00; + --badge-color-lemon-lemon-thick-3: #574800; + --badge-color-olive-olive-light-1: #f9fae6; + --badge-color-olive-olive-light-2: #f6f7d0; + --badge-color-olive-olive-light-3: #f0f2b3; + --badge-color-olive-olive-thick-1: #dbde83; + --badge-color-olive-olive-thick-2: #adb204; + --badge-color-olive-olive-thick-3: #4a4c03; + --badge-color-lime-lime-light-1: #f6f9e6; + --badge-color-lime-lime-light-2: #eef5ce; + --badge-color-lime-lime-light-3: #e7f0bb; + --badge-color-lime-lime-thick-1: #cfdb91; + --badge-color-lime-lime-thick-2: #92a822; + --badge-color-lime-lime-thick-3: #414d05; + --badge-color-grass-grass-light-1: #f4faeb; + --badge-color-grass-grass-light-2: #e9f5d7; + --badge-color-grass-grass-light-3: #def0c5; + --badge-color-grass-grass-thick-1: #bfd998; + --badge-color-grass-grass-thick-2: #75a828; + --badge-color-grass-grass-thick-3: #334d0c; + --badge-color-forest-forest-light-1: #f1faf0; + --badge-color-forest-forest-light-2: #e2f5df; + --badge-color-forest-forest-light-3: #d7f0d3; + --badge-color-forest-forest-thick-1: #a8d6a1; + --badge-color-forest-forest-thick-2: #49a33b; + --badge-color-forest-forest-thick-3: #1e4f16; + --badge-color-jade-jade-light-1: #f0faf6; + --badge-color-jade-jade-light-2: #dff5eb; + --badge-color-jade-jade-light-3: #cef0e1; + --badge-color-jade-jade-thick-1: #90d1b5; + --badge-color-jade-jade-thick-2: #1c9963; + --badge-color-jade-jade-thick-3: #075231; + --badge-color-aqua-aqua-light-1: #f0f9fa; + --badge-color-aqua-aqua-light-2: #dff3f5; + --badge-color-aqua-aqua-light-3: #ccecf0; + --badge-color-aqua-aqua-thick-1: #83ccd4; + --badge-color-aqua-aqua-thick-2: #008e9e; + --badge-color-aqua-aqua-thick-3: #004e57; + --badge-color-azure-azure-light-1: #f0f6fa; + --badge-color-azure-azure-light-2: #e1eef7; + --badge-color-azure-azure-light-3: #d3e6f5; + --badge-color-azure-azure-thick-1: #88c0eb; + --badge-color-azure-azure-thick-2: #0877cc; + --badge-color-azure-azure-thick-3: #154469; + --badge-color-denim-denim-light-1: #f0f3fa; + --badge-color-denim-denim-light-2: #e3ebfa; + --badge-color-denim-denim-light-3: #d7e2f7; + --badge-color-denim-denim-thick-1: #9ab6ed; + --badge-color-denim-denim-thick-2: #3267d1; + --badge-color-denim-denim-thick-3: #223c70; + --badge-color-mauve-mauve-light-1: #f2f2fc; + --badge-color-mauve-mauve-thick-2: #5555e0; + --badge-color-mauve-mauve-thick-3: #36366b; + --badge-color-mauve-mauve-thick-1: #aeaef5; + --badge-color-lavender-lavender-light-1: #f6f3fc; + --badge-color-lavender-lavender-light-2: #ebe3fa; + --badge-color-lavender-lavender-light-3: #e4daf7; + --badge-color-lavender-lavender-thick-1: #c1aaf0; + --badge-color-lavender-lavender-thick-2: #8153db; + --badge-color-lavender-lavender-thick-3: #462f75; + --badge-color-lilac-liliac-light-1: #f7f0fa; + --badge-color-lilac-liliac-light-2: #f0e1f7; + --badge-color-lilac-liliac-light-3: #edd7f7; + --badge-color-lilac-liliac-thick-1: #d3a9e8; + --badge-color-lilac-liliac-thick-2: #9e4cc7; + --badge-color-lilac-liliac-thick-3: #562d6b; + --badge-color-mallow-mallow-light-1: #faf0fa; + --badge-color-mallow-mallow-light-2: #f5e1f4; + --badge-color-mallow-mallow-light-3: #f5d7f4; + --badge-color-mallow-mallow-thick-1: #dea4dc; + --badge-color-mallow-mallow-thick-2: #b240af; + --badge-color-mallow-mallow-thick-3: #632861; + --badge-color-camellia-camellia-light-1: #f9eff3; + --badge-color-camellia-camellia-light-2: #f7e1eb; + --badge-color-camellia-camellia-light-3: #f7d7e5; + --badge-color-camellia-camellia-thick-1: #e5a3c0; + --badge-color-camellia-camellia-thick-2: #c24279; + --badge-color-camellia-camellia-thick-3: #6e2343; + --badge-color-smoke-smoke-light-1: #f5f5f5; + --badge-color-smoke-smoke-light-2: #e8e8e8; + --badge-color-smoke-smoke-light-3: #dedede; + --badge-color-smoke-smoke-thick-1: #b8b8b8; + --badge-color-smoke-smoke-thick-2: #6e6e6e; + --badge-color-smoke-smoke-thick-3: #404040; + --badge-color-iron-icon-light-1: #f2f4f7; + --badge-color-iron-icon-light-2: #e6e9f0; + --badge-color-iron-icon-light-3: #dadee5; + --badge-color-iron-icon-thick-1: #b0b5bf; + --badge-color-iron-icon-thick-2: #666f80; + --badge-color-iron-icon-thick-3: #394152; + --shadow-sm: 0px; + --shadow-md: 0px; + --brand-skyline: #00b5ff; + --brand-aqua: #00c8ff; + --brand-violet: #9327ff; + --brand-amethyst: #8427e0; + --brand-berry: #e3006d; + --brand-coral: #fb006d; + --brand-golden: #f7931e; + --brand-amber: #ffbd00; + --brand-lemon: #ffce00; + --other-colors-text-highlight: #a9e2ff; + --spacing-spacing-0: 0px; + --spacing-spacing-xs: 4px; + --spacing-spacing-s: 6px; + --spacing-spacing-m: 8px; + --spacing-spacing-l: 12px; + --spacing-spacing-xl: 16px; + --spacing-spacing-xxl: 20px; + --spacing-spacing-full: 1000px; + --border-radius-border-radius-0: 0px; + --border-radius-border-radius-xs: 4px; + --border-radius-border-radius-s: 6px; + --border-radius-border-radius-m: 8px; + --border-radius-border-radius-l: 12px; + --border-radius-border-radius-xl: 16px; + --border-radius-border-radius-xxl: 20px; + --border-radius-border-radius-full: 1000px; } diff --git a/tailwind/new-colors.cjs b/tailwind/new-colors.cjs index dbd6130b..65fc35e1 100644 --- a/tailwind/new-colors.cjs +++ b/tailwind/new-colors.cjs @@ -1,266 +1,267 @@ /** * TailwindCSS color configuration * AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY - * + * * This file is auto-generated by convert-tokens.cjs script * Generation time: 2025-03-31T09:19:58.459Z - * + * * To modify these colors, edit the source JSON files and run the token conversion script: * node scripts/system-token/convert-tokens.cjs - * + * * These colors reference CSS variables, ensure the corresponding CSS files are loaded */ module.exports = { - "text": { - "primary": "var(--text-primary)", - "secondary": "var(--text-secondary)", - "tertiary": "var(--text-tertiary)", - "quaternary": "var(--text-quaternary)", - "inverse": "var(--text-inverse)", - "on-fill": "var(--text-on-fill)", - "theme": "var(--text-theme)", - "theme-hover": "var(--text-theme-hover)", - "action": "var(--text-action)", - "action-hover": "var(--text-action-hover)", - "info": "var(--text-info)", - "info-hover": "var(--text-info-hover)", - "success": "var(--text-success)", - "success-hover": "var(--text-success-hover)", - "warning": "var(--text-warning)", - "warning-hover": "var(--text-warning-hover)", - "error": "var(--text-error)", - "error-hover": "var(--text-error-hover)", - "purple": "var(--text-purple)", - "purple-hover": "var(--text-purple-hover)" + 'text': { + 'primary': 'var(--text-primary)', + 'secondary': 'var(--text-secondary)', + 'tertiary': 'var(--text-tertiary)', + 'quaternary': 'var(--text-quaternary)', + 'inverse': 'var(--text-inverse)', + 'on-fill': 'var(--text-on-fill)', + 'theme': 'var(--text-theme)', + 'theme-hover': 'var(--text-theme-hover)', + 'action': 'var(--text-action)', + 'action-hover': 'var(--text-action-hover)', + 'info': 'var(--text-info)', + 'info-hover': 'var(--text-info-hover)', + 'success': 'var(--text-success)', + 'success-hover': 'var(--text-success-hover)', + 'warning': 'var(--text-warning)', + 'warning-hover': 'var(--text-warning-hover)', + 'error': 'var(--text-error)', + 'error-hover': 'var(--text-error-hover)', + 'purple': 'var(--text-purple)', + 'purple-hover': 'var(--text-purple-hover)', }, - "icon": { - "primary": "var(--icon-primary)", - "secondary": "var(--icon-secondary)", - "tertiary": "var(--icon-tertiary)", - "quaternary": "var(--icon-quaternary)", - "white": "var(--icon-white)", - "purple-thick": "var(--icon-purple-thick)", - "purple-thick-hover": "var(--icon-purple-thick-hover)" + 'icon': { + 'primary': 'var(--icon-primary)', + 'secondary': 'var(--icon-secondary)', + 'tertiary': 'var(--icon-tertiary)', + 'quaternary': 'var(--icon-quaternary)', + 'white': 'var(--icon-white)', + 'purple-thick': 'var(--icon-purple-thick)', + 'purple-thick-hover': 'var(--icon-purple-thick-hover)', }, - "border": { - "grey-primary": "var(--border-grey-primary)", - "grey-primary-hover": "var(--border-grey-primary-hover)", - "grey-secondary": "var(--border-grey-secondary)", - "grey-secondary-hover": "var(--border-grey-secondary-hover)", - "grey-tertiary": "var(--border-grey-tertiary)", - "grey-tertiary-hover": "var(--border-grey-tertiary-hover)", - "grey-quaternary": "var(--border-grey-quaternary)", - "grey-quaternary-hover": "var(--border-grey-quaternary-hover)", - "transparent": "var(--border-transparent)", - "theme-thick": "var(--border-theme-thick)", - "theme-thick-hover": "var(--border-theme-thick-hover)", - "info-thick": "var(--border-info-thick)", - "info-thick-hover": "var(--border-info-thick-hover)", - "success-thick": "var(--border-success-thick)", - "success-thick-hover": "var(--border-success-thick-hover)", - "warning-thick": "var(--border-warning-thick)", - "warning-thick-hover": "var(--border-warning-thick-hover)", - "error-thick": "var(--border-error-thick)", - "error-thick-hover": "var(--border-error-thick-hover)", - "purple-thick": "var(--border-purple-thick)", - "purple-thick-hover": "var(--border-purple-thick-hover)", - "radius-border-radius-0": "var(--border-radius-border-radius-0)", - "radius-border-radius-xs": "var(--border-radius-border-radius-xs)", - "radius-border-radius-s": "var(--border-radius-border-radius-s)", - "radius-border-radius-m": "var(--border-radius-border-radius-m)", - "radius-border-radius-l": "var(--border-radius-border-radius-l)", - "radius-border-radius-xl": "var(--border-radius-border-radius-xl)", - "radius-border-radius-xxl": "var(--border-radius-border-radius-xxl)", - "radius-border-radius-full": "var(--border-radius-border-radius-full)" + 'border': { + 'grey-primary': 'var(--border-grey-primary)', + 'grey-primary-hover': 'var(--border-grey-primary-hover)', + 'grey-secondary': 'var(--border-grey-secondary)', + 'grey-secondary-hover': 'var(--border-grey-secondary-hover)', + 'grey-tertiary': 'var(--border-grey-tertiary)', + 'grey-tertiary-hover': 'var(--border-grey-tertiary-hover)', + 'grey-quaternary': 'var(--border-grey-quaternary)', + 'grey-quaternary-hover': 'var(--border-grey-quaternary-hover)', + 'transparent': 'var(--border-transparent)', + 'theme-thick': 'var(--border-theme-thick)', + 'theme-thick-hover': 'var(--border-theme-thick-hover)', + 'info-thick': 'var(--border-info-thick)', + 'info-thick-hover': 'var(--border-info-thick-hover)', + 'success-thick': 'var(--border-success-thick)', + 'success-thick-hover': 'var(--border-success-thick-hover)', + 'warning-thick': 'var(--border-warning-thick)', + 'warning-thick-hover': 'var(--border-warning-thick-hover)', + 'error-thick': 'var(--border-error-thick)', + 'error-thick-hover': 'var(--border-error-thick-hover)', + 'purple-thick': 'var(--border-purple-thick)', + 'purple-thick-hover': 'var(--border-purple-thick-hover)', + 'radius-border-radius-0': 'var(--border-radius-border-radius-0)', + 'radius-border-radius-xs': 'var(--border-radius-border-radius-xs)', + 'radius-border-radius-s': 'var(--border-radius-border-radius-s)', + 'radius-border-radius-m': 'var(--border-radius-border-radius-m)', + 'radius-border-radius-l': 'var(--border-radius-border-radius-l)', + 'radius-border-radius-xl': 'var(--border-radius-border-radius-xl)', + 'radius-border-radius-xxl': 'var(--border-radius-border-radius-xxl)', + 'radius-border-radius-full': 'var(--border-radius-border-radius-full)', }, - "fill": { - "primary": "var(--fill-primary)", - "primary-hover": "var(--fill-primary-hover)", - "secondary": "var(--fill-secondary)", - "secondary-hover": "var(--fill-secondary-hover)", - "tertiary": "var(--fill-tertiary)", - "tertiary-hover": "var(--fill-tertiary-hover)", - "quaternary": "var(--fill-quaternary)", - "quaternary-hover": "var(--fill-quaternary-hover)", - "transparent": "var(--fill-transparent)", - "primary-alpha-5": "var(--fill-primary-alpha-5)", - "primary-alpha-5-hover": "var(--fill-primary-alpha-5-hover)", - "primary-alpha-80": "var(--fill-primary-alpha-80)", - "primary-alpha-80-hover": "var(--fill-primary-alpha-80-hover)", - "white": "var(--fill-white)", - "white-alpha": "var(--fill-white-alpha)", - "white-alpha-hover": "var(--fill-white-alpha-hover)", - "black": "var(--fill-black)", - "theme-light": "var(--fill-theme-light)", - "theme-light-hover": "var(--fill-theme-light-hover)", - "theme-thick": "var(--fill-theme-thick)", - "theme-thick-hover": "var(--fill-theme-thick-hover)", - "theme-select": "var(--fill-theme-select)", - "info-light": "var(--fill-info-light)", - "info-light-hover": "var(--fill-info-light-hover)", - "info-thick": "var(--fill-info-thick)", - "info-thick-hover": "var(--fill-info-thick-hover)", - "success-light": "var(--fill-success-light)", - "success-light-hover": "var(--fill-success-light-hover)", - "success-thick": "var(--fill-success-thick)", - "success-thick-hover": "var(--fill-success-thick-hover)", - "warning-light": "var(--fill-warning-light)", - "warning-light-hover": "var(--fill-warning-light-hover)", - "warning-thick": "var(--fill-warning-thick)", - "warning-thick-hover": "var(--fill-warning-thick-hover)", - "error-light": "var(--fill-error-light)", - "error-light-hover": "var(--fill-error-light-hover)", - "error-thick": "var(--fill-error-thick)", - "error-thick-hover": "var(--fill-error-thick-hover)", - "error-select": "var(--fill-error-select)", - "purple-light": "var(--fill-purple-light)", - "purple-light-hover": "var(--fill-purple-light-hover)", - "purple-thick-hover": "var(--fill-purple-thick-hover)", - "purple-thick": "var(--fill-purple-thick)" + 'fill': { + 'primary': 'var(--fill-primary)', + 'primary-hover': 'var(--fill-primary-hover)', + 'secondary': 'var(--fill-secondary)', + 'secondary-hover': 'var(--fill-secondary-hover)', + 'tertiary': 'var(--fill-tertiary)', + 'tertiary-hover': 'var(--fill-tertiary-hover)', + 'quaternary': 'var(--fill-quaternary)', + 'quaternary-hover': 'var(--fill-quaternary-hover)', + 'transparent': 'var(--fill-transparent)', + 'primary-alpha-5': 'var(--fill-primary-alpha-5)', + 'primary-alpha-5-hover': 'var(--fill-primary-alpha-5-hover)', + 'primary-alpha-80': 'var(--fill-primary-alpha-80)', + 'primary-alpha-80-hover': 'var(--fill-primary-alpha-80-hover)', + 'white': 'var(--fill-white)', + 'white-alpha': 'var(--fill-white-alpha)', + 'white-alpha-hover': 'var(--fill-white-alpha-hover)', + 'black': 'var(--fill-black)', + 'theme-light': 'var(--fill-theme-light)', + 'theme-light-hover': 'var(--fill-theme-light-hover)', + 'theme-thick': 'var(--fill-theme-thick)', + 'theme-thick-hover': 'var(--fill-theme-thick-hover)', + 'theme-select': 'var(--fill-theme-select)', + 'info-light': 'var(--fill-info-light)', + 'info-light-hover': 'var(--fill-info-light-hover)', + 'info-thick': 'var(--fill-info-thick)', + 'info-thick-hover': 'var(--fill-info-thick-hover)', + 'success-light': 'var(--fill-success-light)', + 'success-light-hover': 'var(--fill-success-light-hover)', + 'success-thick': 'var(--fill-success-thick)', + 'success-thick-hover': 'var(--fill-success-thick-hover)', + 'warning-light': 'var(--fill-warning-light)', + 'warning-light-hover': 'var(--fill-warning-light-hover)', + 'warning-thick': 'var(--fill-warning-thick)', + 'warning-thick-hover': 'var(--fill-warning-thick-hover)', + 'error-light': 'var(--fill-error-light)', + 'error-light-hover': 'var(--fill-error-light-hover)', + 'error-thick': 'var(--fill-error-thick)', + 'error-thick-hover': 'var(--fill-error-thick-hover)', + 'error-select': 'var(--fill-error-select)', + 'purple-light': 'var(--fill-purple-light)', + 'purple-light-hover': 'var(--fill-purple-light-hover)', + 'purple-thick-hover': 'var(--fill-purple-thick-hover)', + 'purple-thick': 'var(--fill-purple-thick)', }, - "surface": { - "primary": "var(--surface-primary)", - "overlay": "var(--surface-overlay)" + 'surface': { + 'primary': 'var(--surface-primary)', + 'overlay': 'var(--surface-overlay)', + 'secondary': 'var(--surface-secondary)', }, - "background": { - "primary": "var(--background-primary)", - "secondary": "var(--background-secondary)", - "tertiary": "var(--background-tertiary)", - "quaternary": "var(--background-quaternary)" + 'background': { + 'primary': 'var(--background-primary)', + 'secondary': 'var(--background-secondary)', + 'tertiary': 'var(--background-tertiary)', + 'quaternary': 'var(--background-quaternary)', }, - "badge": { - "color-rose-rose-light-1": "var(--badge-color-rose-rose-light-1)", - "color-rose-rose-light-2": "var(--badge-color-rose-rose-light-2)", - "color-rose-rose-light-3": "var(--badge-color-rose-rose-light-3)", - "color-rose-rose-thick-1": "var(--badge-color-rose-rose-thick-1)", - "color-rose-rose-thick-2": "var(--badge-color-rose-rose-thick-2)", - "color-rose-rose-thick-3": "var(--badge-color-rose-rose-thick-3)", - "color-papaya-papaya-light-1": "var(--badge-color-papaya-papaya-light-1)", - "color-papaya-papaya-light-2": "var(--badge-color-papaya-papaya-light-2)", - "color-papaya-papaya-light-3": "var(--badge-color-papaya-papaya-light-3)", - "color-papaya-papaya-thick-1": "var(--badge-color-papaya-papaya-thick-1)", - "color-papaya-papaya-thick-2": "var(--badge-color-papaya-papaya-thick-2)", - "color-papaya-papaya-thick-3": "var(--badge-color-papaya-papaya-thick-3)", - "color-tangerine-tangerine-light-1": "var(--badge-color-tangerine-tangerine-light-1)", - "color-tangerine-tangerine-light-2": "var(--badge-color-tangerine-tangerine-light-2)", - "color-tangerine-tangerine-light-3": "var(--badge-color-tangerine-tangerine-light-3)", - "color-tangerine-tangerine-thick-1": "var(--badge-color-tangerine-tangerine-thick-1)", - "color-tangerine-tangerine-thick-2": "var(--badge-color-tangerine-tangerine-thick-2)", - "color-tangerine-tangerine-thick-3": "var(--badge-color-tangerine-tangerine-thick-3)", - "color-mango-mango-light-1": "var(--badge-color-mango-mango-light-1)", - "color-mango-mango-light-2": "var(--badge-color-mango-mango-light-2)", - "color-mango-mango-light-3": "var(--badge-color-mango-mango-light-3)", - "color-mango-mango-thick-1": "var(--badge-color-mango-mango-thick-1)", - "color-mango-mango-thick-2": "var(--badge-color-mango-mango-thick-2)", - "color-mango-mango-thick-3": "var(--badge-color-mango-mango-thick-3)", - "color-lemon-lemon-light-1": "var(--badge-color-lemon-lemon-light-1)", - "color-lemon-lemon-light-2": "var(--badge-color-lemon-lemon-light-2)", - "color-lemon-lemon-light-3": "var(--badge-color-lemon-lemon-light-3)", - "color-lemon-lemon-thick-1": "var(--badge-color-lemon-lemon-thick-1)", - "color-lemon-lemon-thick-2": "var(--badge-color-lemon-lemon-thick-2)", - "color-lemon-lemon-thick-3": "var(--badge-color-lemon-lemon-thick-3)", - "color-olive-olive-light-1": "var(--badge-color-olive-olive-light-1)", - "color-olive-olive-light-2": "var(--badge-color-olive-olive-light-2)", - "color-olive-olive-light-3": "var(--badge-color-olive-olive-light-3)", - "color-olive-olive-thick-1": "var(--badge-color-olive-olive-thick-1)", - "color-olive-olive-thick-2": "var(--badge-color-olive-olive-thick-2)", - "color-olive-olive-thick-3": "var(--badge-color-olive-olive-thick-3)", - "color-lime-lime-light-1": "var(--badge-color-lime-lime-light-1)", - "color-lime-lime-light-2": "var(--badge-color-lime-lime-light-2)", - "color-lime-lime-light-3": "var(--badge-color-lime-lime-light-3)", - "color-lime-lime-thick-1": "var(--badge-color-lime-lime-thick-1)", - "color-lime-lime-thick-2": "var(--badge-color-lime-lime-thick-2)", - "color-lime-lime-thick-3": "var(--badge-color-lime-lime-thick-3)", - "color-grass-grass-light-1": "var(--badge-color-grass-grass-light-1)", - "color-grass-grass-light-2": "var(--badge-color-grass-grass-light-2)", - "color-grass-grass-light-3": "var(--badge-color-grass-grass-light-3)", - "color-grass-grass-thick-1": "var(--badge-color-grass-grass-thick-1)", - "color-grass-grass-thick-2": "var(--badge-color-grass-grass-thick-2)", - "color-grass-grass-thick-3": "var(--badge-color-grass-grass-thick-3)", - "color-forest-forest-light-1": "var(--badge-color-forest-forest-light-1)", - "color-forest-forest-light-2": "var(--badge-color-forest-forest-light-2)", - "color-forest-forest-light-3": "var(--badge-color-forest-forest-light-3)", - "color-forest-forest-thick-1": "var(--badge-color-forest-forest-thick-1)", - "color-forest-forest-thick-2": "var(--badge-color-forest-forest-thick-2)", - "color-forest-forest-thick-3": "var(--badge-color-forest-forest-thick-3)", - "color-jade-jade-light-1": "var(--badge-color-jade-jade-light-1)", - "color-jade-jade-light-2": "var(--badge-color-jade-jade-light-2)", - "color-jade-jade-light-3": "var(--badge-color-jade-jade-light-3)", - "color-jade-jade-thick-1": "var(--badge-color-jade-jade-thick-1)", - "color-jade-jade-thick-2": "var(--badge-color-jade-jade-thick-2)", - "color-jade-jade-thick-3": "var(--badge-color-jade-jade-thick-3)", - "color-aqua-aqua-light-1": "var(--badge-color-aqua-aqua-light-1)", - "color-aqua-aqua-light-2": "var(--badge-color-aqua-aqua-light-2)", - "color-aqua-aqua-light-3": "var(--badge-color-aqua-aqua-light-3)", - "color-aqua-aqua-thick-1": "var(--badge-color-aqua-aqua-thick-1)", - "color-aqua-aqua-thick-2": "var(--badge-color-aqua-aqua-thick-2)", - "color-aqua-aqua-thick-3": "var(--badge-color-aqua-aqua-thick-3)", - "color-azure-azure-light-1": "var(--badge-color-azure-azure-light-1)", - "color-azure-azure-light-2": "var(--badge-color-azure-azure-light-2)", - "color-azure-azure-light-3": "var(--badge-color-azure-azure-light-3)", - "color-azure-azure-thick-1": "var(--badge-color-azure-azure-thick-1)", - "color-azure-azure-thick-2": "var(--badge-color-azure-azure-thick-2)", - "color-azure-azure-thick-3": "var(--badge-color-azure-azure-thick-3)", - "color-denim-denim-light-1": "var(--badge-color-denim-denim-light-1)", - "color-denim-denim-light-2": "var(--badge-color-denim-denim-light-2)", - "color-denim-denim-light-3": "var(--badge-color-denim-denim-light-3)", - "color-denim-denim-thick-1": "var(--badge-color-denim-denim-thick-1)", - "color-denim-denim-thick-2": "var(--badge-color-denim-denim-thick-2)", - "color-denim-denim-thick-3": "var(--badge-color-denim-denim-thick-3)", - "color-mauve-mauve-light-1": "var(--badge-color-mauve-mauve-light-1)", - "color-mauve-mauve-thick-2": "var(--badge-color-mauve-mauve-thick-2)", - "color-mauve-mauve-thick-3": "var(--badge-color-mauve-mauve-thick-3)", - "color-mauve-mauve-thick-1": "var(--badge-color-mauve-mauve-thick-1)", - "color-lavender-lavender-light-1": "var(--badge-color-lavender-lavender-light-1)", - "color-lavender-lavender-light-2": "var(--badge-color-lavender-lavender-light-2)", - "color-lavender-lavender-light-3": "var(--badge-color-lavender-lavender-light-3)", - "color-lavender-lavender-thick-1": "var(--badge-color-lavender-lavender-thick-1)", - "color-lavender-lavender-thick-2": "var(--badge-color-lavender-lavender-thick-2)", - "color-lavender-lavender-thick-3": "var(--badge-color-lavender-lavender-thick-3)", - "color-lilac-liliac-light-1": "var(--badge-color-lilac-liliac-light-1)", - "color-lilac-liliac-light-2": "var(--badge-color-lilac-liliac-light-2)", - "color-lilac-liliac-light-3": "var(--badge-color-lilac-liliac-light-3)", - "color-lilac-liliac-thick-1": "var(--badge-color-lilac-liliac-thick-1)", - "color-lilac-liliac-thick-2": "var(--badge-color-lilac-liliac-thick-2)", - "color-lilac-liliac-thick-3": "var(--badge-color-lilac-liliac-thick-3)", - "color-mallow-mallow-light-1": "var(--badge-color-mallow-mallow-light-1)", - "color-mallow-mallow-light-2": "var(--badge-color-mallow-mallow-light-2)", - "color-mallow-mallow-light-3": "var(--badge-color-mallow-mallow-light-3)", - "color-mallow-mallow-thick-1": "var(--badge-color-mallow-mallow-thick-1)", - "color-mallow-mallow-thick-2": "var(--badge-color-mallow-mallow-thick-2)", - "color-mallow-mallow-thick-3": "var(--badge-color-mallow-mallow-thick-3)", - "color-camellia-camellia-light-1": "var(--badge-color-camellia-camellia-light-1)", - "color-camellia-camellia-light-2": "var(--badge-color-camellia-camellia-light-2)", - "color-camellia-camellia-light-3": "var(--badge-color-camellia-camellia-light-3)", - "color-camellia-camellia-thick-1": "var(--badge-color-camellia-camellia-thick-1)", - "color-camellia-camellia-thick-2": "var(--badge-color-camellia-camellia-thick-2)", - "color-camellia-camellia-thick-3": "var(--badge-color-camellia-camellia-thick-3)", - "color-smoke-smoke-light-1": "var(--badge-color-smoke-smoke-light-1)", - "color-smoke-smoke-light-2": "var(--badge-color-smoke-smoke-light-2)", - "color-smoke-smoke-light-3": "var(--badge-color-smoke-smoke-light-3)", - "color-smoke-smoke-thick-1": "var(--badge-color-smoke-smoke-thick-1)", - "color-smoke-smoke-thick-2": "var(--badge-color-smoke-smoke-thick-2)", - "color-smoke-smoke-thick-3": "var(--badge-color-smoke-smoke-thick-3)", - "color-iron-icon-light-1": "var(--badge-color-iron-icon-light-1)", - "color-iron-icon-light-2": "var(--badge-color-iron-icon-light-2)", - "color-iron-icon-light-3": "var(--badge-color-iron-icon-light-3)", - "color-iron-icon-thick-1": "var(--badge-color-iron-icon-thick-1)", - "color-iron-icon-thick-2": "var(--badge-color-iron-icon-thick-2)", - "color-iron-icon-thick-3": "var(--badge-color-iron-icon-thick-3)" + 'badge': { + 'color-rose-rose-light-1': 'var(--badge-color-rose-rose-light-1)', + 'color-rose-rose-light-2': 'var(--badge-color-rose-rose-light-2)', + 'color-rose-rose-light-3': 'var(--badge-color-rose-rose-light-3)', + 'color-rose-rose-thick-1': 'var(--badge-color-rose-rose-thick-1)', + 'color-rose-rose-thick-2': 'var(--badge-color-rose-rose-thick-2)', + 'color-rose-rose-thick-3': 'var(--badge-color-rose-rose-thick-3)', + 'color-papaya-papaya-light-1': 'var(--badge-color-papaya-papaya-light-1)', + 'color-papaya-papaya-light-2': 'var(--badge-color-papaya-papaya-light-2)', + 'color-papaya-papaya-light-3': 'var(--badge-color-papaya-papaya-light-3)', + 'color-papaya-papaya-thick-1': 'var(--badge-color-papaya-papaya-thick-1)', + 'color-papaya-papaya-thick-2': 'var(--badge-color-papaya-papaya-thick-2)', + 'color-papaya-papaya-thick-3': 'var(--badge-color-papaya-papaya-thick-3)', + 'color-tangerine-tangerine-light-1': 'var(--badge-color-tangerine-tangerine-light-1)', + 'color-tangerine-tangerine-light-2': 'var(--badge-color-tangerine-tangerine-light-2)', + 'color-tangerine-tangerine-light-3': 'var(--badge-color-tangerine-tangerine-light-3)', + 'color-tangerine-tangerine-thick-1': 'var(--badge-color-tangerine-tangerine-thick-1)', + 'color-tangerine-tangerine-thick-2': 'var(--badge-color-tangerine-tangerine-thick-2)', + 'color-tangerine-tangerine-thick-3': 'var(--badge-color-tangerine-tangerine-thick-3)', + 'color-mango-mango-light-1': 'var(--badge-color-mango-mango-light-1)', + 'color-mango-mango-light-2': 'var(--badge-color-mango-mango-light-2)', + 'color-mango-mango-light-3': 'var(--badge-color-mango-mango-light-3)', + 'color-mango-mango-thick-1': 'var(--badge-color-mango-mango-thick-1)', + 'color-mango-mango-thick-2': 'var(--badge-color-mango-mango-thick-2)', + 'color-mango-mango-thick-3': 'var(--badge-color-mango-mango-thick-3)', + 'color-lemon-lemon-light-1': 'var(--badge-color-lemon-lemon-light-1)', + 'color-lemon-lemon-light-2': 'var(--badge-color-lemon-lemon-light-2)', + 'color-lemon-lemon-light-3': 'var(--badge-color-lemon-lemon-light-3)', + 'color-lemon-lemon-thick-1': 'var(--badge-color-lemon-lemon-thick-1)', + 'color-lemon-lemon-thick-2': 'var(--badge-color-lemon-lemon-thick-2)', + 'color-lemon-lemon-thick-3': 'var(--badge-color-lemon-lemon-thick-3)', + 'color-olive-olive-light-1': 'var(--badge-color-olive-olive-light-1)', + 'color-olive-olive-light-2': 'var(--badge-color-olive-olive-light-2)', + 'color-olive-olive-light-3': 'var(--badge-color-olive-olive-light-3)', + 'color-olive-olive-thick-1': 'var(--badge-color-olive-olive-thick-1)', + 'color-olive-olive-thick-2': 'var(--badge-color-olive-olive-thick-2)', + 'color-olive-olive-thick-3': 'var(--badge-color-olive-olive-thick-3)', + 'color-lime-lime-light-1': 'var(--badge-color-lime-lime-light-1)', + 'color-lime-lime-light-2': 'var(--badge-color-lime-lime-light-2)', + 'color-lime-lime-light-3': 'var(--badge-color-lime-lime-light-3)', + 'color-lime-lime-thick-1': 'var(--badge-color-lime-lime-thick-1)', + 'color-lime-lime-thick-2': 'var(--badge-color-lime-lime-thick-2)', + 'color-lime-lime-thick-3': 'var(--badge-color-lime-lime-thick-3)', + 'color-grass-grass-light-1': 'var(--badge-color-grass-grass-light-1)', + 'color-grass-grass-light-2': 'var(--badge-color-grass-grass-light-2)', + 'color-grass-grass-light-3': 'var(--badge-color-grass-grass-light-3)', + 'color-grass-grass-thick-1': 'var(--badge-color-grass-grass-thick-1)', + 'color-grass-grass-thick-2': 'var(--badge-color-grass-grass-thick-2)', + 'color-grass-grass-thick-3': 'var(--badge-color-grass-grass-thick-3)', + 'color-forest-forest-light-1': 'var(--badge-color-forest-forest-light-1)', + 'color-forest-forest-light-2': 'var(--badge-color-forest-forest-light-2)', + 'color-forest-forest-light-3': 'var(--badge-color-forest-forest-light-3)', + 'color-forest-forest-thick-1': 'var(--badge-color-forest-forest-thick-1)', + 'color-forest-forest-thick-2': 'var(--badge-color-forest-forest-thick-2)', + 'color-forest-forest-thick-3': 'var(--badge-color-forest-forest-thick-3)', + 'color-jade-jade-light-1': 'var(--badge-color-jade-jade-light-1)', + 'color-jade-jade-light-2': 'var(--badge-color-jade-jade-light-2)', + 'color-jade-jade-light-3': 'var(--badge-color-jade-jade-light-3)', + 'color-jade-jade-thick-1': 'var(--badge-color-jade-jade-thick-1)', + 'color-jade-jade-thick-2': 'var(--badge-color-jade-jade-thick-2)', + 'color-jade-jade-thick-3': 'var(--badge-color-jade-jade-thick-3)', + 'color-aqua-aqua-light-1': 'var(--badge-color-aqua-aqua-light-1)', + 'color-aqua-aqua-light-2': 'var(--badge-color-aqua-aqua-light-2)', + 'color-aqua-aqua-light-3': 'var(--badge-color-aqua-aqua-light-3)', + 'color-aqua-aqua-thick-1': 'var(--badge-color-aqua-aqua-thick-1)', + 'color-aqua-aqua-thick-2': 'var(--badge-color-aqua-aqua-thick-2)', + 'color-aqua-aqua-thick-3': 'var(--badge-color-aqua-aqua-thick-3)', + 'color-azure-azure-light-1': 'var(--badge-color-azure-azure-light-1)', + 'color-azure-azure-light-2': 'var(--badge-color-azure-azure-light-2)', + 'color-azure-azure-light-3': 'var(--badge-color-azure-azure-light-3)', + 'color-azure-azure-thick-1': 'var(--badge-color-azure-azure-thick-1)', + 'color-azure-azure-thick-2': 'var(--badge-color-azure-azure-thick-2)', + 'color-azure-azure-thick-3': 'var(--badge-color-azure-azure-thick-3)', + 'color-denim-denim-light-1': 'var(--badge-color-denim-denim-light-1)', + 'color-denim-denim-light-2': 'var(--badge-color-denim-denim-light-2)', + 'color-denim-denim-light-3': 'var(--badge-color-denim-denim-light-3)', + 'color-denim-denim-thick-1': 'var(--badge-color-denim-denim-thick-1)', + 'color-denim-denim-thick-2': 'var(--badge-color-denim-denim-thick-2)', + 'color-denim-denim-thick-3': 'var(--badge-color-denim-denim-thick-3)', + 'color-mauve-mauve-light-1': 'var(--badge-color-mauve-mauve-light-1)', + 'color-mauve-mauve-thick-2': 'var(--badge-color-mauve-mauve-thick-2)', + 'color-mauve-mauve-thick-3': 'var(--badge-color-mauve-mauve-thick-3)', + 'color-mauve-mauve-thick-1': 'var(--badge-color-mauve-mauve-thick-1)', + 'color-lavender-lavender-light-1': 'var(--badge-color-lavender-lavender-light-1)', + 'color-lavender-lavender-light-2': 'var(--badge-color-lavender-lavender-light-2)', + 'color-lavender-lavender-light-3': 'var(--badge-color-lavender-lavender-light-3)', + 'color-lavender-lavender-thick-1': 'var(--badge-color-lavender-lavender-thick-1)', + 'color-lavender-lavender-thick-2': 'var(--badge-color-lavender-lavender-thick-2)', + 'color-lavender-lavender-thick-3': 'var(--badge-color-lavender-lavender-thick-3)', + 'color-lilac-liliac-light-1': 'var(--badge-color-lilac-liliac-light-1)', + 'color-lilac-liliac-light-2': 'var(--badge-color-lilac-liliac-light-2)', + 'color-lilac-liliac-light-3': 'var(--badge-color-lilac-liliac-light-3)', + 'color-lilac-liliac-thick-1': 'var(--badge-color-lilac-liliac-thick-1)', + 'color-lilac-liliac-thick-2': 'var(--badge-color-lilac-liliac-thick-2)', + 'color-lilac-liliac-thick-3': 'var(--badge-color-lilac-liliac-thick-3)', + 'color-mallow-mallow-light-1': 'var(--badge-color-mallow-mallow-light-1)', + 'color-mallow-mallow-light-2': 'var(--badge-color-mallow-mallow-light-2)', + 'color-mallow-mallow-light-3': 'var(--badge-color-mallow-mallow-light-3)', + 'color-mallow-mallow-thick-1': 'var(--badge-color-mallow-mallow-thick-1)', + 'color-mallow-mallow-thick-2': 'var(--badge-color-mallow-mallow-thick-2)', + 'color-mallow-mallow-thick-3': 'var(--badge-color-mallow-mallow-thick-3)', + 'color-camellia-camellia-light-1': 'var(--badge-color-camellia-camellia-light-1)', + 'color-camellia-camellia-light-2': 'var(--badge-color-camellia-camellia-light-2)', + 'color-camellia-camellia-light-3': 'var(--badge-color-camellia-camellia-light-3)', + 'color-camellia-camellia-thick-1': 'var(--badge-color-camellia-camellia-thick-1)', + 'color-camellia-camellia-thick-2': 'var(--badge-color-camellia-camellia-thick-2)', + 'color-camellia-camellia-thick-3': 'var(--badge-color-camellia-camellia-thick-3)', + 'color-smoke-smoke-light-1': 'var(--badge-color-smoke-smoke-light-1)', + 'color-smoke-smoke-light-2': 'var(--badge-color-smoke-smoke-light-2)', + 'color-smoke-smoke-light-3': 'var(--badge-color-smoke-smoke-light-3)', + 'color-smoke-smoke-thick-1': 'var(--badge-color-smoke-smoke-thick-1)', + 'color-smoke-smoke-thick-2': 'var(--badge-color-smoke-smoke-thick-2)', + 'color-smoke-smoke-thick-3': 'var(--badge-color-smoke-smoke-thick-3)', + 'color-iron-icon-light-1': 'var(--badge-color-iron-icon-light-1)', + 'color-iron-icon-light-2': 'var(--badge-color-iron-icon-light-2)', + 'color-iron-icon-light-3': 'var(--badge-color-iron-icon-light-3)', + 'color-iron-icon-thick-1': 'var(--badge-color-iron-icon-thick-1)', + 'color-iron-icon-thick-2': 'var(--badge-color-iron-icon-thick-2)', + 'color-iron-icon-thick-3': 'var(--badge-color-iron-icon-thick-3)', }, - "brand": { - "skyline": "var(--brand-skyline)", - "aqua": "var(--brand-aqua)", - "violet": "var(--brand-violet)", - "amethyst": "var(--brand-amethyst)", - "berry": "var(--brand-berry)", - "coral": "var(--brand-coral)", - "golden": "var(--brand-golden)", - "amber": "var(--brand-amber)", - "lemon": "var(--brand-lemon)" + 'brand': { + 'skyline': 'var(--brand-skyline)', + 'aqua': 'var(--brand-aqua)', + 'violet': 'var(--brand-violet)', + 'amethyst': 'var(--brand-amethyst)', + 'berry': 'var(--brand-berry)', + 'coral': 'var(--brand-coral)', + 'golden': 'var(--brand-golden)', + 'amber': 'var(--brand-amber)', + 'lemon': 'var(--brand-lemon)', + }, + 'other': { + 'colors-text-highlight': 'var(--other-colors-text-highlight)', }, - "other": { - "colors-text-highlight": "var(--other-colors-text-highlight)" - } };