{"version":3,"file":"static/js/main-31743c5a.511aaa10.js","mappings":"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","sources":["cssData.js","helpers/LocalStorageManager.ts","helpers/admin.ts","helpers/alerts.tsx","helpers/allStyles.ts"],"sourcesContent":["const PublicCSS = `\n.coverMain {\n\ttext-align: center;\n\tbackground-size: cover;\n\tbackground-repeat: no-repeat;\n\tpadding-top: 30px;\n\tborder-top-left-radius: 10px;\n\tborder-top-right-radius: 10px;\n\theight: 160px;\n}\n\n.coverRow {\n\tbackground-color: rgba(0, 0, 0, 0.7);\n\tcolor: #fff;\n\tpadding: 10px 0px;\n\tline-height: 80px\n}\n\n.coverRow.noBar {\n\tbackground-color: unset;\n}\n\n.coverLogo {\n\twidth: 60px;\n\theight: 60px;\n\tmax-height: 100%;\n}\n\n.coverLogo.noCoverName {\n\twidth: 100px;\n\theight: 100px;\n}\n\n.clientName {\n\tcolor: #000;\n\tfont-size: 22px;\n\tfont-weight: bold;\n}\n\n.card {\n\tbackground: inherit;\n\tcolor: inherit;\n\ttext-align: center;\n\tfont-size: 14px;\n}\n\n.card > * {\n\tpadding: 10px;\n}\n\n.totalPoints {\n\tfont-weight: bold;\n\tfont-size: 28px;\n}\n\n.storeName, .discountTitle, .reviewTitle {\n\tfont-size: 22px;\n\tfont-weight: bold;\n}\n\n.clientPhone {}\n.clientEmail {}\n.clientNotice {}\n\n.dealRow {}\n.dealTextCol {\n\tpadding: 0px 8px;\n\ttext-align: left;\n}\n\n.wallet .card {}\n.discount .card {}\n.signup .card {}\n.review .card {}\n.product .card {}\n\n/* fixes broken date input on safari-based browsers */\n.ant-input[type=\"date\"] {\n\tmin-height: 30px;\n}\n`;\n\nexport { PublicCSS };\n","import utils from './utils';\n\ninterface StorageItem {\n\tvalue: T;\n\ttimestamp: number;\n\texpiration?: number;\n}\n\ninterface StorageMetrics {\n\tsize: number;\n\tlastCleanup: number;\n}\n\nclass LocalStorageManager {\n\tprivate readonly MAX_STORAGE = 5 * 1024 * 1024; // 5MB in bytes\n\tprivate readonly HIGH_WATER_MARK = 0.7; // 70% capacity\n\tprivate readonly TARGET_USAGE = 0.5; // 50% capacity\n\tprivate readonly CLEANUP_INTERVAL = 5 * 60 * 1000; // 5 minutes\n\tprivate readonly METRICS_KEY = '__storage_metrics__';\n\tprivate readonly FEATURE_FLAG_PREFIX = 'featureFlag_';\n\tprivate metrics: StorageMetrics;\n\tprivate sizeCache: Map;\n\n\tconstructor() {\n\t\tthis.sizeCache = new Map();\n\t\tthis.metrics = this.loadMetrics();\n\t\tthis.performMaintenance();\n\t}\n\n\t/**\n\t * Load or initialize storage metrics\n\t */\n\tprivate loadMetrics(): StorageMetrics {\n\t\ttry {\n\t\t\tconst metricsStr = localStorage.getItem(this.METRICS_KEY);\n\t\t\treturn metricsStr ? JSON.parse(metricsStr) : { size: 0, lastCleanup: 0 };\n\t\t} catch {\n\t\t\treturn { size: 0, lastCleanup: 0 };\n\t\t}\n\t}\n\n\t/**\n\t * Save current metrics to storage\n\t */\n\tprivate saveMetrics(): void {\n\t\tlocalStorage.setItem(this.METRICS_KEY, JSON.stringify(this.metrics));\n\t}\n\n\t/**\n\t * Calculate the size of a key-value pair in bytes\n\t */\n\tprivate calculateItemSize(key: string, value: string): number {\n\t\treturn (key.length + value.length) * 2; // UTF-16 encoding\n\t}\n\n\t/**\n\t * Update the cached size when adding/removing items\n\t */\n\tprivate updateSize(key: string, value?: string): void {\n\t\tconst oldSize = this.sizeCache.get(key) || 0;\n\t\tthis.metrics.size -= oldSize;\n\n\t\tif (value) {\n\t\t\tconst newSize = this.calculateItemSize(key, value);\n\t\t\tthis.sizeCache.set(key, newSize);\n\t\t\tthis.metrics.size += newSize;\n\t\t} else {\n\t\t\tthis.sizeCache.delete(key);\n\t\t}\n\n\t\tthis.saveMetrics();\n\t}\n\n\t/**\n\t * Perform maintenance tasks (cleanup expired items and manage storage size)\n\t */\n\tprivate performMaintenance(): void {\n\t\tconst now = Date.now();\n\n\t\t// Only run cleanup if enough time has passed since last cleanup\n\t\tif (now - this.metrics.lastCleanup > this.CLEANUP_INTERVAL) {\n\t\t\tthis.cleanExpiredItems();\n\t\t\tthis.manageStorageSize();\n\t\t\tthis.metrics.lastCleanup = now;\n\t\t\tthis.saveMetrics();\n\t\t}\n\t}\n\n\t/**\n\t * Remove oldest items until storage is below target usage\n\t */\n\tprivate manageStorageSize(): void {\n\t\tif (this.metrics.size > this.MAX_STORAGE * this.HIGH_WATER_MARK) {\n\t\t\tconst items: { key: string; timestamp: number }[] = [];\n\n\t\t\t// Convert Map keys to array for compatibility\n\t\t\tconst keys = Array.from(this.sizeCache.keys());\n\n\t\t\t// Collect items that can be removed (non-system items)\n\t\t\tkeys.forEach((key) => {\n\t\t\t\tif (key !== this.METRICS_KEY && !key.startsWith(this.FEATURE_FLAG_PREFIX)) {\n\t\t\t\t\tconst item = this.getRaw(key);\n\t\t\t\t\tif (item) {\n\t\t\t\t\t\titems.push({ key, timestamp: item.timestamp });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Sort by timestamp (oldest first)\n\t\t\titems.sort((a, b) => a.timestamp - b.timestamp);\n\n\t\t\t// Remove oldest items until we're below target usage\n\t\t\twhile (this.metrics.size > this.MAX_STORAGE * this.TARGET_USAGE && items.length > 0) {\n\t\t\t\tconst oldest = items.shift();\n\t\t\t\tif (oldest) {\n\t\t\t\t\tthis.remove(oldest.key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clean expired items from storage\n\t */\n\tprivate cleanExpiredItems(): void {\n\t\tconst now = Date.now();\n\t\tconst keysToRemove: string[] = [];\n\n\t\t// Convert Map keys to array for compatibility\n\t\tArray.from(this.sizeCache.keys()).forEach((key) => {\n\t\t\tif (key !== this.METRICS_KEY) {\n\t\t\t\tconst item = this.getRaw(key);\n\t\t\t\tif (item?.expiration && item.expiration < now) {\n\t\t\t\t\tkeysToRemove.push(key);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tkeysToRemove.forEach((key) => this.remove(key));\n\t}\n\n\tprivate getRealKey(key: string): string {\n\t\treturn key.replace(':uid', utils.uid);\n\t}\n\n\t/**\n\t * Set an item in localStorage with optional expiration\n\t */\n\tset(key: string, value: T, duration?: number): void {\n\t\tconst item: StorageItem = {\n\t\t\tvalue,\n\t\t\ttimestamp: Date.now(),\n\t\t\texpiration: duration ? Date.now() + duration : undefined,\n\t\t};\n\n\t\tconst realKey = this.getRealKey(key);\n\n\t\ttry {\n\t\t\tconst serializedItem = JSON.stringify(item);\n\t\t\tlocalStorage.setItem(realKey, serializedItem);\n\t\t\tthis.updateSize(realKey, serializedItem);\n\t\t\tthis.performMaintenance();\n\t\t} catch (error) {\n\t\t\tconsole.error('Error setting localStorage item:', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * Get an item from localStorage with type safety\n\t */\n\tget(key: string, fallback?: T): T | null {\n\t\ttry {\n\t\t\tconst item = this.getRaw(key);\n\n\t\t\tif (!item) return fallback ?? null;\n\t\t\tif (item.expiration && item.expiration < Date.now()) {\n\t\t\t\tthis.remove(key);\n\t\t\t\treturn fallback ?? null;\n\t\t\t}\n\n\t\t\treturn item.value;\n\t\t} catch (error) {\n\t\t\tconsole.error('Error getting localStorage item:', error);\n\t\t\treturn fallback ?? null;\n\t\t}\n\t}\n\n\t/**\n\t * Get timestamp a key was added to localStorage\n\t */\n\tgetTimestamp(key: string): number | null {\n\t\tconst item = this.getRaw(key);\n\t\treturn item ? item.timestamp : null;\n\t}\n\n\t/**\n\t * Get raw storage item without parsing value\n\t */\n\tgetRaw(key: string): StorageItem | null {\n\t\tconst item = localStorage.getItem(this.getRealKey(key));\n\t\tif (!item) return null;\n\t\ttry {\n\t\t\treturn JSON.parse(item) as StorageItem;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Remove an item from localStorage\n\t */\n\tremove(key: string): void {\n\t\tlocalStorage.removeItem(this.getRealKey(key));\n\t\tthis.updateSize(key);\n\t}\n\n\t/**\n\t * Clear all items from localStorage\n\t */\n\tclear(): void {\n\t\tlocalStorage.clear();\n\t\tthis.sizeCache.clear();\n\t\tthis.metrics.size = 0;\n\t\tthis.saveMetrics();\n\t}\n\n\t/**\n\t * Get current storage usage percentage\n\t */\n\tgetUsagePercentage(): number {\n\t\treturn (this.metrics.size / this.MAX_STORAGE) * 100;\n\t}\n}\n\nexport default LocalStorageManager;\n","import { Fees } from '@/legacy-types';\n\nexport const getPoliticalAgencyBilling = (props: { uid: string; agencyID: string; name: string }): Fees | undefined => {\n\tconst billingCreation = getNextFirstOfMonthInUnixSeconds();\n\n\tconst isMessageDigital = props.agencyID === '3490';\n\tconst isDispoJoy = props.agencyID === '3579';\n\n\tif (isMessageDigital) {\n\t\treturn {\n\t\t\taddress: {\n\t\t\t\tstreet: '2054 University Ave STE 600',\n\t\t\t\tcity: 'Berkeley',\n\t\t\t\tstate: 'CA',\n\t\t\t\tzipCode: '94704',\n\t\t\t\tcountry: 'US',\n\t\t\t\traw: '2054 University Ave STE 600, Berkeley, CA 94704',\n\t\t\t},\n\t\t\tchargePerSentMMS: 0.015,\n\t\t\tchargePerReceivedMMS: 0.007,\n\t\t\tchargePerSentSMS: 0.008,\n\t\t\tchargePerReceivedSMS: 0.0035,\n\t\t\tchargePerNumber: 1,\n\t\t\tflatFee: 1,\n\t\t\tbillingEmail: 'billing@messagedigital.com',\n\t\t\tccEmails: ['kghodiwala@messagedigital.com'],\n\t\t\tname: props?.name ?? '',\n\t\t\tcurrency: 'USD',\n\t\t\tplanType: 1,\n\t\t\tbillingCreation: billingCreation,\n\t\t};\n\t}\n\n\tif (isDispoJoy) {\n\t\treturn {\n\t\t\taddress: {\n\t\t\t\tstreet: '2818 Flint St',\n\t\t\t\tcity: 'Bellingham',\n\t\t\t\tstate: 'WA',\n\t\t\t\tzipCode: '98226',\n\t\t\t\tcountry: 'US',\n\t\t\t\traw: '2818 Flint St, Bellingham, WA 98226',\n\t\t\t},\n\t\t\tchargePerSentMMS: 0.015,\n\t\t\tchargePerReceivedMMS: 0.007,\n\t\t\tchargePerSentSMS: 0.008,\n\t\t\tchargePerReceivedSMS: 0.0035,\n\t\t\tchargePerNumber: 1,\n\t\t\tflatFee: 1,\n\t\t\tbillingEmail: 'ryan@dispojoy.com',\n\t\t\tccEmails: [],\n\t\t\tname: props?.name ?? '',\n\t\t\tcurrency: 'USD',\n\t\t\tplanType: 1,\n\t\t\tbillingCreation: billingCreation,\n\t\t};\n\t}\n\n\treturn undefined;\n};\n\nfunction getNextFirstOfMonthInUnixSeconds() {\n\tconst currentDate = new Date();\n\tconst currentYear = currentDate.getFullYear();\n\tconst currentMonth = currentDate.getMonth();\n\n\tlet nextFirstOfMonth;\n\tif (currentDate.getDate() === 1) {\n\t\tnextFirstOfMonth = new Date(currentYear, currentMonth, 1);\n\t} else {\n\t\tnextFirstOfMonth = new Date(currentYear, currentMonth + 1, 1);\n\t}\n\n\tconst unixSeconds = Math.floor(nextFirstOfMonth.getTime() / 1000);\n\treturn unixSeconds;\n}\n","import React from 'react';\nimport { message, notification } from 'antd';\nimport { ArgsProps } from 'antd/lib/notification';\n\nimport { clean } from './format.tsx';\n\nexport const notificationTypes = ['success', 'info', 'warning', 'error'] as const;\nexport type NotificationType = (typeof notificationTypes)[number];\n\nconst colors: Record = {\n\tinfo: '#1890FF',\n\tsuccess: 'var(--success)',\n\terror: '#ff4d7e',\n\twarning: '#E89C56',\n};\n\nconst defaultMessage: Record = {\n\tsuccess: 'Success',\n\terror: 'Error',\n\twarning: 'Warning',\n\tinfo: 'Info',\n};\n\nexport interface NotificationConfig extends ArgsProps {\n\ttype?: NotificationType;\n\tcolor?: string;\n}\n\ntype NotificationAPIArgs = [message: string, description?: string, config?: Partial] | [config: Partial];\n\nexport const NotificationAPI = {\n\tsend(config = {} as Partial): [string, () => void] {\n\t\tconst type = config.type || 'success';\n\t\tconst description = config.description || '';\n\t\tconst message = config.message || defaultMessage[type];\n\t\tconst color = config?.color || colors[type] || '';\n\n\t\tconst key = config.key || clean(description);\n\n\t\tnotification[type]({\n\t\t\t...config,\n\t\t\tduration: config.duration !== undefined ? config.duration : 8,\n\t\t\tmaxCount: config.maxCount || 1,\n\t\t\tstyle: { borderLeft: color ? `3px solid ${color}` : '', ...config.style },\n\t\t\tmessage: typeof message === 'string' ? {message} : message,\n\t\t\tdescription: typeof description === 'string' ? {description} : description,\n\t\t\tkey,\n\t\t});\n\n\t\treturn [key, () => notification.close(key)];\n\t},\n\tsuccess(...args: NotificationAPIArgs) {\n\t\tconst [message, description, config] = args;\n\t\tif (args.length === 1 && !React.isValidElement(message)) return NotificationAPI.send({ type: 'success', ...(message as Partial) });\n\t\treturn NotificationAPI.send({ type: 'success', message, description, ...config });\n\t},\n\n\terror(...args: NotificationAPIArgs) {\n\t\tconst [message, description, config] = args;\n\t\tif (args.length === 1 && !React.isValidElement(message)) return NotificationAPI.send({ type: 'error', ...(message as Partial) });\n\t\treturn NotificationAPI.send({ type: 'error', message, description, ...config });\n\t},\n\n\twarning(...args: NotificationAPIArgs) {\n\t\tconst [message, description, config] = args;\n\t\tif (args.length === 1 && !React.isValidElement(message)) return NotificationAPI.send({ type: 'warning', ...(message as Partial) });\n\t\treturn NotificationAPI.send({ type: 'warning', message, description, ...config });\n\t},\n\n\tinfo(...args: NotificationAPIArgs) {\n\t\tconst [message, description, config] = args;\n\t\tif (args.length === 1 && !React.isValidElement(message)) return NotificationAPI.send({ type: 'info', ...(message as Partial) });\n\t\treturn NotificationAPI.send({ type: 'info', message, description, ...config });\n\t},\n\n\tclose(key: string) {\n\t\tnotification.close(key);\n\t},\n};\n\nexport interface PopupConfig extends ArgsProps {\n\ttype?: NotificationType;\n\tcolor?: string;\n}\n\nexport const PopupMessage = {\n\tsend(config = {} as Partial) {\n\t\tconst type = config.type || 'success';\n\t\tconst description = config.description || '';\n\t\tconst color = config?.color || colors[type] || '';\n\n\t\tconst key = config.key || clean(description);\n\n\t\tmessage[type]({\n\t\t\tkey,\n\t\t\tduration: config.duration !== undefined ? config.duration : 8,\n\t\t\tmaxCount: config.maxCount || 1,\n\t\t\tstyle: { borderLeft: color ? `3px solid ${color}` : '', ...config.style },\n\t\t\tmessage: typeof config.message === 'string' ? {config.message} : config.message,\n\t\t\tdescription: typeof description === 'string' ? {description} : description,\n\t\t\tcontent: typeof description === 'string' ? {description} : description,\n\t\t});\n\n\t\treturn [key, () => message.destroy(key)];\n\t},\n\n\tsuccess(message: string, description?: string, config?: Partial) {\n\t\treturn PopupMessage.send({ type: 'success', message, description, ...config });\n\t},\n\n\terror(message: string, description?: string, config?: Partial) {\n\t\treturn PopupMessage.send({ type: 'error', message, description, ...config });\n\t},\n\n\twarning(message: string, description?: string, config?: Partial) {\n\t\treturn PopupMessage.send({ type: 'warning', message, description, ...config });\n\t},\n\n\tinfo(message: string, description?: string, config?: Partial) {\n\t\treturn PopupMessage.send({ type: 'info', message, description, ...config });\n\t},\n\n\tclose(key: string) {\n\t\tmessage.destroy(key);\n\t},\n};\n\n// @ts-ignore\nwindow['PopupMessage'] = PopupMessage;\n","import { CSSProperties } from 'react';\n\nimport utils from './utils';\n\nexport const getString = (defaultString: string, customString?: string) => (customString ? customString : defaultString);\n\nexport const shadowStyles = {\n\tlightShadowColor: 'rgba(30,30,30,.05)',\n\tlightShadowHoverColor: 'rgba(30,30,30,.095)',\n\tdarkShadowColor: 'rgba(0, 0, 0, 0.1)',\n\tdarkShadowHoverColor: 'rgba(0, 0, 0, 0.175)', // box-shadow: 0px 4px 13px 0px #0000000A;\n\tlightShadow: (color?: any, inset?: boolean, custom?: string) => ({\n\t\t// standard css shadow\n\t\tboxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 4px 13px 0px'} ${getString(allStyles.shadows.lightShadowColor, color)}`,\n\t\tMozBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 4px 13px 0px'} ${getString(allStyles.shadows.lightShadowColor, color)}`,\n\t\tWebkitBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 4px 13px 0px'} ${getString(allStyles.shadows.lightShadowColor, color)}`,\n\t}),\n\tlightShadowHover: (color?: any, inset?: boolean, custom?: string) => ({\n\t\t// standard css shadow when hovered (bit darker)\n\t\tboxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0 0 10px 0'} ${getString(allStyles.shadows.lightShadowHoverColor, color)}`,\n\t\tMozBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0 0 10px 0'} ${getString(allStyles.shadows.lightShadowHoverColor, color)}`,\n\t\tWebkitBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0 0 10px 0'} ${getString(allStyles.shadows.lightShadowHoverColor, color)}`,\n\t}),\n\tdarkShadow: (color?: any, inset?: boolean, custom?: string) => ({\n\t\t// darker css shadow (usually for titles)\n\t\tboxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 2px 8px'} ${getString(allStyles.shadows.darkShadowColor, color)}`,\n\t\tMozBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 2px 8px'} ${getString(allStyles.shadows.darkShadowColor, color)}`,\n\t\tWebkitBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 2px 8px'} ${getString(allStyles.shadows.darkShadowColor, color)}`,\n\t}),\n\tdarkShadowHover: (color?: any, inset?: boolean, custom?: string) => ({\n\t\t// darker css shadow when hovered (bit darker)\n\t\tboxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 4px 8px'} ${getString(allStyles.shadows.darkShadowHoverColor, color)}`,\n\t\tMozBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 4px 8px'} ${getString(allStyles.shadows.darkShadowHoverColor, color)}`,\n\t\tWebkitBoxShadow: `${inset ? 'inset ' : ''}${custom ? custom : '0px 4px 8px'} ${getString(allStyles.shadows.darkShadowHoverColor, color)}`,\n\t}),\n};\n\nexport const globalStyles = {\n\tinputStyle: () => ({ borderRadius: 6, ...allStyles.shadows.lightShadow() }) as CSSProperties,\n\tbuttonStyle: (style?: CSSProperties) => ({ borderRadius: 6, ...allStyles.shadows.lightShadow(), ...style }) as CSSProperties,\n\tcardStyle: (config?: any) => ({ borderRadius: 6, ...(config?.shadow ? allStyles.shadows.lightShadow() : {}) }) as CSSProperties,\n\tpageStyle: (config?: any) =>\n\t\t({\n\t\t\tpaddingTop: `${config?.thin ? '34px' : '24px'}`,\n\t\t\tpaddingBottom: `${config?.thin ? '34px' : '24px'}`,\n\t\t\tpaddingLeft: `${config?.thin ? '32px' : '32px'}`,\n\t\t\tpaddingRight: `${config?.thin ? '32px' : '32px'}`,\n\t\t}) as CSSProperties,\n\tswitchStyle: () => ({ ...allStyles.shadows.lightShadow() }) as CSSProperties,\n\tsubTitleText: (opacity?: number | string) => ({ color: colors.secondary.text(opacity) }),\n\tinputTitle: (opacity?: number | string) => ({ color: colors.secondary.text(opacity) }),\n\ttagStyle: ({ textColor, color, borderColor } = {} as any) => ({\n\t\tcolor: textColor || colors.tag.defaultText(),\n\t\tbackground: color || borderColor || colors.tag.default(),\n\t\tborderColor: color || colors.tag.default(),\n\t\tborderRadius: 6,\n\t\t...utils.noMargin,\n\t}),\n};\n\nexport const allStyles = {\n\tglobal: globalStyles,\n\tmargins: {\n\t\th: { margin: '0px 5px' },\n\t\tv: { margin: '5px 0px' },\n\t\thc: (x: number) => ({ margin: `${x || 5}px 0px` }),\n\t\tvc: (x: number) => ({ margin: `0px ${x || 5}px` }),\n\t},\n\ttags: {\n\t\ttagStyle: () => ({ ...allStyles.shadows.lightShadow(), ...allStyles.removeMargin }),\n\t},\n\tshadows: shadowStyles,\n\t//? These are pretty much required to be render safe with ANTD columns and what not\n\tremoveMargin: { marginBottom: 0, marginTop: 0, marginLeft: 0, marginRight: 0 },\n\tremovePadding: { paddingBottom: 0, paddingTop: 0, paddingLeft: 0, paddingRight: 0 },\n};\n\nexport const colors = {\n\tbackgroundOther: () => (utils.darkMode ? '#121212' : '#FAFAFA'),\n\tbackground: () => (utils.darkMode ? '#121212' : '#fff'),\n\twhite: () => (utils.darkMode ? '#000000' : '#ffffff'),\n\tblack: () => (utils.darkMode ? '#fff' : '#000000'),\n\ttableText: () => (utils.darkMode ? 'rgba(230,230,230,1)' : 'rgba(25, 25, 25, 1)'),\n\tcard: () => (utils.darkMode ? '#121212' : '#fff'),\n\tgCard: () => (utils.darkMode ? '#FAFAFA10' : '#FAFAFA'),\n\tinputBorder: () => (utils.darkMode ? 'rgb(48, 48, 48)' : '#EDF0F9'),\n\tmainBorder: () => (utils.darkMode ? 'rgb(48, 48, 48)' : '#E6E8F0'),\n\ttext: {\n\t\tprimary: () => (utils.darkMode ? '#ffffff' : '#080808'),\n\t\tsecondary: () => (utils.darkMode ? '#ffffff' : '#626875'),\n\t\tlowAlpha: () => (utils.darkMode ? 'rgba(255,255,255,0.6)' : 'rgba(0,0,0,0.6)'),\n\t\terror: '#D6181A',\n\t\ttextDanger: '#D93232',\n\t\twhite: () => (utils.darkMode ? '#000000' : '#ffffff'),\n\t\tblack: () => (utils.darkMode ? '#fff' : '#000000'),\n\t\tdeep: () => (utils.darkMode ? 'rgba(230,230,230,1)' : 'rgba(25, 25, 25, 1)'),\n\t\tlight: () => (utils.darkMode ? '#ffffff80' : '#4A4A4D'),\n\t\tlighter: () => (utils.darkMode ? '#ffffff80' : '#7b7b80'),\n\t\tlighterer: () => (utils.darkMode ? '#B5B5BD80' : '#B5B5BD'),\n\t\tg939399: () => (utils.darkMode ? '#939399' : '#939399'),\n\t\tg4A4A4D: () => (utils.darkMode ? '#ffffff80' : '#4A4A4D'),\n\t\tgB5B5BD: () => (utils.darkMode ? '#B5B5BD80' : '#B5B5BD'),\n\t\tg7B7B80: () => (utils.darkMode ? '#ffffff80' : '#7b7b80'),\n\t\trFB4C7E: '#FB4C7E',\n\t\tneutral300: '#C4C5CC',\n\t},\n\ttag: {\n\t\tdefault: () => (utils.darkMode ? '#F5F7FF80' : '#F5F7FF'),\n\t\tdefaultText: () => (utils.darkMode ? '#fff' : '#4A4A4D'),\n\t},\n\n\tsurface: {\n\t\tsecondary: '#FAFBFC',\n\t},\n\n\tprogressBlue: '#96CDFF',\n\n\tlinkBlue: 'var(--info)',\n\n\tprimary: {\n\t\tprimary: '#6262F5',\n\t\tprimaryO: (opacity: number | string) => `rgba(98,98,245,${opacity || 1.0})`,\n\n\t\tinfo: 'var(--info)',\n\t\tsuccess: 'var(--success)',\n\t\tsecondary900: '#0073DE',\n\t\twarning: '#FF7A00',\n\t\tblue: '#1890ff',\n\t\tgreen: 'var(--success)',\n\t\tpinkRed: 'var(--danger)',\n\t\tpink: 'var(--danger)',\n\t\t// pinkRed: '#ff4d7e',\n\t\t// pink: '#FB4C7E',\n\t\terror: '#D6181A',\n\t\terror700: '#FA4D4F',\n\t\terror500: '#FA7577',\n\t\twarning500: '#FFA24D',\n\t\twarning900: '#BD6413',\n\t\tyellow: '#faad14',\n\t\tblueO: (opacity: number | string) => `rgba(24,144,255,${opacity || 1.0})`,\n\t\tgreenO: (opacity: number | string) => `rgba(19,207,128,${opacity || 1.0})`,\n\t\tpinkRedO: (opacity: number | string) => `rgba(255,77,126,${opacity || 1.0})`,\n\t\tpinkO: (opacity: number | string) => `rgba(251,76,126,${opacity || 1.0})`,\n\t\terrorO: (opacity: number | string) => `rgba(214,24,26,${opacity || 1.0})`,\n\t\tdataYellow: '#E9ED24',\n\t\tdataOrange: '#FF7A00',\n\t\torange: '#FF922E',\n\t\trecipe: '#7378F5',\n\t\tecomPurple: '#6F4CFB',\n\t\tdebug: '#31C4FF',\n\t\tdividerColor: () => (utils.darkMode ? '#3a3a3a' : '#f0f0f0'),\n\t\tpageDividerColor: () => (utils.darkMode ? '#3a3a3a' : '#E6E8F0'),\n\t},\n\tsecondary: {\n\t\tblue: '#316ce8',\n\t\tgreen: '#34b87d',\n\t\ttext: (opacity?: number | string) => (utils.darkMode ? `rgba(255, 255, 255, ${opacity || 0.5})` : `rgba(0, 0, 0, ${opacity || 0.5})`),\n\t},\n\tgreens: ['#45bb86'],\n\treds: ['#ff6a5b'], // FFA500\n\tpallet: ['#2CDE9D', '#31C4FF', '#E3F525', '#E8A056', '#FF57AE', '#7378F5', '#EFF576', '#E89C56', '#FF78B1'],\n\tpalletDarker: ['#1c9166', '#00577a', '#636c05', '#70400f', '#890047', '#0a0e86', '#81870a', '#70400f', '#96003f'],\n\tpalletTwo: ['#de2c6d', '#ff6c31', '#c4ff31', '#31ff6c', '#6c31ff'],\n\tpalletTwoDarker: ['#6f1134', '#7f2500', '#5b7f00', '#007f25', '#25007f'],\n\n\tanalytics: {\n\t\tgradientCalc(items: number, type: 'even' | 'step' = 'even'): { [key: string]: string } {\n\t\t\tconst gradient: { [key: string]: string } = {\n\t\t\t\t'#20CF80': '#1aa666',\n\t\t\t\t'#1DD29D': '#17a87e',\n\t\t\t\t'#19D4B5': '#14aa91',\n\t\t\t\t'#16D7CE': '#12aca5',\n\t\t\t\t'#12D9E6': '#0eaeb8',\n\t\t\t\t'#12CBF0': '#0ca4c2',\n\t\t\t\t'#14B3F1': '#0c91c5',\n\t\t\t\t'#169CF2': '#0b7ec8',\n\t\t\t\t'#1885F3': '#0b6acb',\n\t\t\t\t'#1B6BF2': '#0c53cc',\n\t\t\t\t'#355CF1': '#0f3adc',\n\t\t\t\t'#524EEC': '#1d18e3',\n\t\t\t\t'#6F3FE8': '#4e19d3',\n\t\t\t\t'#8E30E3': '#721ac2',\n\t\t\t\t'#AB22DF': '#891ab4',\n\t\t\t\t'#BA28CF': '#9520a6',\n\t\t\t\t'#C930BD': '#a12697',\n\t\t\t\t'#D839AB': '#b6248d',\n\t\t\t\t'#E74198': '#d21b7b',\n\t\t\t\t'#FB4C7E': '#fa0c50',\n\t\t\t};\n\n\t\t\tconst gradientKeys = Object.keys(gradient);\n\t\t\tconst numColors = gradientKeys.length;\n\n\t\t\tconst selectedColors: { [key: string]: string } = {};\n\n\t\t\tif (items <= numColors) {\n\t\t\t\tconst step = type === 'even' ? Math.floor(numColors / (items - 1)) : numColors / items;\n\t\t\t\tfor (let i = 0; i < items; i++) {\n\t\t\t\t\tconst colorIndex = Math.min(Math.floor(i * step), numColors - 1);\n\t\t\t\t\tselectedColors[gradientKeys[colorIndex]] = gradient[gradientKeys[colorIndex]];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < items; i++) {\n\t\t\t\t\tconst position = (i * (numColors - 1)) / (items - 1);\n\t\t\t\t\tconst startColorIdx = Math.floor(position);\n\t\t\t\t\tconst endColorIdx = Math.ceil(position);\n\t\t\t\t\tconst factor = position - startColorIdx;\n\t\t\t\t\tconst interpolatedColor = interpolateColor(gradient[gradientKeys[startColorIdx]], gradient[gradientKeys[endColorIdx]], factor);\n\t\t\t\t\tselectedColors[interpolatedColor] = interpolatedColor;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn selectedColors;\n\t\t},\n\t\tgradient: {\n\t\t\t'#20CF80': '#1aa666',\n\t\t\t'#1DD29D': '#17a87e',\n\t\t\t'#19D4B5': '#14aa91',\n\t\t\t'#16D7CE': '#12aca5',\n\t\t\t'#12D9E6': '#0eaeb8',\n\t\t\t'#12CBF0': '#0ca4c2',\n\t\t\t'#14B3F1': '#0c91c5',\n\t\t\t'#169CF2': '#0b7ec8',\n\t\t\t'#1885F3': '#0b6acb',\n\t\t\t'#1B6BF2': '#0c53cc',\n\t\t\t'#355CF1': '#0f3adc',\n\t\t\t'#524EEC': '#1d18e3',\n\t\t\t'#6F3FE8': '#4e19d3',\n\t\t\t'#8E30E3': '#721ac2',\n\t\t\t'#AB22DF': '#891ab4',\n\t\t\t'#BA28CF': '#9520a6',\n\t\t\t'#C930BD': '#a12697',\n\t\t\t'#D839AB': '#b6248d',\n\t\t\t'#E74198': '#d21b7b',\n\t\t\t'#FB4C7E': '#fa0c50',\n\t\t},\n\t\tgradientTenShade: {\n\t\t\t'#20CF80': '#1aa666',\n\t\t\t'#19D4B5': '#14aa91',\n\t\t\t'#12D9E6': '#0eaeb8',\n\t\t\t'#14B3F1': '#0c91c5',\n\t\t\t'#1885F3': '#0b6acb',\n\t\t\t'#355CF1': '#0f3adc',\n\t\t\t'#6F3FE8': '#4e19d3',\n\t\t\t'#AB22DF': '#891ab4',\n\t\t\t'#C930BD': '#a12697',\n\t\t\t'#E74198': '#d21b7b',\n\t\t},\n\t\tgradientFiveShade: {\n\t\t\t'#20CF80': '#1aa666',\n\t\t\t'#12D9E6': '#0eaeb8',\n\t\t\t'#1885F3': '#0b6acb',\n\t\t\t// \"#6F3FE8\": \"#4e19d3\",\n\t\t\t'#C930BD': '#a12697',\n\t\t\t'#E74198': '#d21b7b',\n\t\t},\n\t},\n\n\tcolorMap: {\n\t\t90: '#ff4d4f',\n\t\t80: '#f26359',\n\t\t70: '#e57461',\n\t\t60: '#d78369',\n\t\t50: '#d78369',\n\t\t// 50: '#c89170',\n\t\t// 40: '#b79d77',\n\t\t40: '#91b484',\n\t\t30: '#79be8a',\n\t\t20: '#5bc890',\n\t\t10: '#2dd195',\n\t\t0: '#2dd195',\n\t},\n};\n\n// Blend to colors together %\nexport const RGB_Linear_Blend = (p: number, c0: string, c1: string) => {\n\tvar i = parseInt,\n\t\tr = Math.round,\n\t\tP = 1 - p,\n\t\t[a, b, c, d] = c0.split(','),\n\t\t[e, f, g, h] = c1.split(','),\n\t\tx = d || h,\n\t\tj = x ? ',' + (!d ? h : !h ? d : r((parseFloat(d) * P + parseFloat(h) * p) * 1000) / 1000 + ')') : ')';\n\treturn (\n\t\t'rgb' +\n\t\t(x ? 'a(' : '(') +\n\t\tr(i(a[3] == 'a' ? a.slice(5) : a.slice(4)) * P + i(e[3] == 'a' ? e.slice(5) : e.slice(4)) * p) +\n\t\t',' +\n\t\tr(i(b) * P + i(f) * p) +\n\t\t',' +\n\t\tr(i(c) * P + i(g) * p) +\n\t\tj\n\t);\n};\n// Shade/darken color %\nexport const RGB_Linear_Shade = (p: number, c: string) => {\n\tvar i = parseInt,\n\t\tr = Math.round,\n\t\t[a, b, c, d] = c.split(','),\n\t\tP: any = p < 0,\n\t\tt = P ? 0 : 255 * p,\n\t\tP: any = P ? 1 + p : 1 - p;\n\treturn 'rgb' + (d ? 'a(' : '(') + r(i(a[3] == 'a' ? a.slice(5) : a.slice(4)) * P + t) + ',' + r(i(b) * P + t) + ',' + r(i(c) * P + t) + (d ? ',' + d : ')');\n};\n// Blend to colors together %\nexport const RGB_Log_Blend = (p: number, c0: string, c1: string) => {\n\tvar i = parseInt,\n\t\tr = Math.round,\n\t\tP = 1 - p,\n\t\t[a, b, c, d] = c0.split(','),\n\t\t[e, f, g, h] = c1.split(','),\n\t\tx = d || h,\n\t\tj = x ? ',' + (!d ? h : !h ? d : r((parseFloat(d) * P + parseFloat(h) * p) * 1000) / 1000 + ')') : ')';\n\treturn (\n\t\t'rgb' +\n\t\t(x ? 'a(' : '(') +\n\t\tr((P * i(a[3] == 'a' ? a.slice(5) : a.slice(4)) ** 2 + p * i(e[3] == 'a' ? e.slice(5) : e.slice(4)) ** 2) ** 0.5) +\n\t\t',' +\n\t\tr((P * i(b) ** 2 + p * i(f) ** 2) ** 0.5) +\n\t\t',' +\n\t\tr((P * i(c) ** 2 + p * i(g) ** 2) ** 0.5) +\n\t\tj\n\t);\n};\n// Shade/darken color %\nexport const RGB_Log_Shade = (p: number, c: string) => {\n\tvar i = parseInt,\n\t\tr = Math.round,\n\t\t[a, b, c, d] = c.split(','),\n\t\tP: any = p < 0,\n\t\tt = P ? 0 : p * 255 ** 2,\n\t\tP: any = P ? 1 + p : 1 - p;\n\treturn (\n\t\t'rgb' +\n\t\t(d ? 'a(' : '(') +\n\t\tr((P * i(a[3] == 'a' ? a.slice(5) : a.slice(4)) ** 2 + t) ** 0.5) +\n\t\t',' +\n\t\tr((P * i(b) ** 2 + t) ** 0.5) +\n\t\t',' +\n\t\tr((P * i(c) ** 2 + t) ** 0.5) +\n\t\t(d ? ',' + d : ')')\n\t);\n};\nexport type Color = [number, number, number];\n\nexport function getBestTextColor(backgroundColor: string): string {\n\t// Helper function to convert a hex color to RGB components\n\tconst hexToRgb = (hex: string): { r: number; g: number; b: number } => {\n\t\t// Remove the leading # if it's there\n\t\thex = hex.replace(/^#/, '');\n\n\t\t// Parse the string and convert to integer\n\t\tconst r = Number.parseInt(hex.substring(0, 2), 16);\n\t\tconst g = Number.parseInt(hex.substring(2, 4), 16);\n\t\tconst b = Number.parseInt(hex.substring(4, 6), 16);\n\n\t\treturn { r, g, b };\n\t};\n\n\t// Helper function to calculate the relative luminance of a color\n\tconst luminance = (r: number, g: number, b: number): number => {\n\t\tconst a = [r, g, b].map((v) => {\n\t\t\tv /= 255;\n\t\t\treturn v <= 0.03928 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;\n\t\t});\n\t\treturn a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n\t};\n\n\t// Convert the background color to RGB\n\tconst { r, g, b } = hexToRgb(backgroundColor);\n\n\t// Calculate the luminance\n\tconst bgLuminance = luminance(r, g, b);\n\n\t// Return either black or white depending on which contrasts better with the background\n\treturn bgLuminance > 0.5 ? '#000000' : '#FFFFFF';\n}\n\nexport const colorUtils = {\n\t// Convert a hex color code to an RGB color value\n\thexToRgb: (hex: string, options?: { objectFormat?: boolean; shortObject?: boolean }) => {\n\t\tconst cleanHex = hex.replace('#', '');\n\t\tconst hexValue = parseInt(cleanHex, 16);\n\t\tconst red = (hexValue >> 16) & 255;\n\t\tconst green = (hexValue >> 8) & 255;\n\t\tconst blue = hexValue & 255;\n\t\tif (options?.objectFormat) return { red, green, blue } as { red: number; green: number; blue: number };\n\t\tif (options?.shortObject) return { r: red, g: green, b: blue } as { r: number; g: number; b: number };\n\t\treturn [red, green, blue] as Color;\n\t},\n\t// Convert an RGB color value to a hex color code\n\trgbToHex: (r: number, g: number, b: number) => '#' + ((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1),\n\t// Set the alpha value of a hex color code and return the result as an RGBA color value\n\tsetHexAlpha: (hex?: string, alpha?: number) => {\n\t\tif (!hex || !alpha) return '';\n\t\tconst rgb = colorUtils.hexToRgb(hex),\n\t\t\t[r, g, b] = (rgb || []) as Color;\n\t\tif (!rgb || !(rgb as Color).length) return '';\n\t\treturn `rgba(${r},${g},${b},${alpha})`;\n\t},\n\t// Check if a string is a valid hex color code\n\tisHexColor: (input: string): boolean => /^#([0-9A-F]{3}){1,2}$/i.test(input),\n\t// Check if a string is a valid color name\n\tisColorName: (input: string): boolean => {\n\t\tconst colorNames = [\n\t\t\t'black',\n\t\t\t'silver',\n\t\t\t'gray',\n\t\t\t'white',\n\t\t\t'maroon',\n\t\t\t'red',\n\t\t\t'purple',\n\t\t\t'fuchsia',\n\t\t\t'green',\n\t\t\t'lime',\n\t\t\t'olive',\n\t\t\t'yellow',\n\t\t\t'navy',\n\t\t\t'blue',\n\t\t\t'teal',\n\t\t\t'aqua',\n\t\t];\n\t\treturn colorNames.includes(input.toLowerCase());\n\t},\n\t// Convert a color name to an RGB color value\n\tcolorNameToRgb: (name: string): Color => {\n\t\tswitch (name.toLowerCase()) {\n\t\t\tcase 'black':\n\t\t\t\treturn [0, 0, 0];\n\t\t\tcase 'silver':\n\t\t\t\treturn [192, 192, 192];\n\t\t\tcase 'gray':\n\t\t\t\treturn [128, 128, 128];\n\t\t\tcase 'white':\n\t\t\t\treturn [255, 255, 255];\n\t\t\tcase 'maroon':\n\t\t\t\treturn [128, 0, 0];\n\t\t\tcase 'red':\n\t\t\t\treturn [255, 0, 0];\n\t\t\tcase 'purple':\n\t\t\t\treturn [128, 0, 128];\n\t\t\tcase 'fuchsia':\n\t\t\t\treturn [255, 0, 255];\n\t\t\tcase 'green':\n\t\t\t\treturn [0, 128, 0];\n\t\t\tcase 'lime':\n\t\t\t\treturn [0, 255, 0];\n\t\t\tcase 'olive':\n\t\t\t\treturn [128, 128, 0];\n\t\t\tcase 'yellow':\n\t\t\t\treturn [255, 255, 0];\n\t\t\tcase 'navy':\n\t\t\t\treturn [0, 0, 128];\n\t\t\tcase 'blue':\n\t\t\t\treturn [0, 0, 255];\n\t\t\tcase 'teal':\n\t\t\t\treturn [0, 128, 128];\n\t\t\tcase 'aqua':\n\t\t\t\treturn [0, 255, 255];\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown color name');\n\t\t}\n\t},\n\t/**\n\t * Parses a string representing a color and returns a Color object or null.\n\t *\n\t * @param {string} input - The color string to parse.\n\t * @returns {Color | null} - The parsed Color object or null if the input is invalid.\n\t */\n\tparseColor: (input: string): Color | null => {\n\t\tif (colorUtils.isHexColor(input)) {\n\t\t\treturn colorUtils.hexToRgb(input) as Color;\n\t\t} else if (colorUtils.isColorName(input)) {\n\t\t\treturn colorUtils.colorNameToRgb(input);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t},\n\tgetTextColorBasedOnBgColor(hexColor: string) {\n\t\t// Convert hex to RGB first\n\t\tlet r = parseInt(hexColor.substr(1, 2), 16);\n\t\tlet g = parseInt(hexColor.substr(3, 2), 16);\n\t\tlet b = parseInt(hexColor.substr(5, 2), 16);\n\n\t\t// Calculate luminance\n\t\tconst luminance = 0.299 * r + 0.587 * g + 0.114 * b;\n\n\t\t// If luminance is less than 150, text color should be white, otherwise black\n\t\treturn luminance < 150 ? '#FFFFFF' : '#000000';\n\t},\n};\n\nexport function colorToHex(color: string) {\n\t// Remove whitespace and convert to lowercase\n\tcolor = color.trim().toLowerCase();\n\n\t// Check if the color is in the rgba format\n\tif (color.startsWith('rgba')) {\n\t\t// Extract the RGB values from the rgba string\n\t\tconst match = color.match(/(\\d+),\\s*(\\d+),\\s*(\\d+),\\s*(\\d+(\\.\\d+)?)\\)$/);\n\t\tif (match) {\n\t\t\tconst r = parseInt(match[1]);\n\t\t\tconst g = parseInt(match[2]);\n\t\t\tconst b = parseInt(match[3]);\n\n\t\t\t// Convert RGB to hex\n\t\t\tconst hex = ((r << 16) | (g << 8) | b).toString(16).padStart(6, '0');\n\t\t\treturn `#${hex}`;\n\t\t}\n\t}\n\n\t// Check if the color is in the hexadecimal format\n\tif (color.startsWith('#')) {\n\t\t// Remove the hash symbol if present\n\t\tcolor = color.slice(1);\n\t}\n\n\t// If the color is already in a valid 6-digit hexadecimal format\n\tif (/^[0-9a-f]{6}$/i.test(color)) {\n\t\treturn `#${color}`;\n\t}\n\n\t// Check if the color name exists in the colorNames object\n\tif (colorNames.hasOwnProperty(color)) {\n\t\treturn `#${colorNames[color]}`;\n\t}\n\n\t// If none of the format checks match, return null\n\treturn null;\n}\n\n// Handle color names\nexport const colorNames: { [str: string]: string } = {\n\taliceblue: 'f0f8ff',\n\tantiquewhite: 'faebd7',\n\taqua: '00ffff',\n\taquamarine: '7fffd4',\n\tazure: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '000000',\n\tblanchedalmond: 'ffebcd',\n\tblue: '0000ff',\n\tblueviolet: '8a2be2',\n\tbrown: 'a52a2a',\n\tburlywood: 'deb887',\n\tcadetblue: '5f9ea0',\n\tchartreuse: '7fff00',\n\tchocolate: 'd2691e',\n\tcoral: 'ff7f50',\n\tcornflowerblue: '6495ed',\n\tcornsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: '00ffff',\n\tdarkblue: '00008b',\n\tdarkcyan: '008b8b',\n\tdarkgoldenrod: 'b8860b',\n\tdarkgray: 'a9a9a9',\n\tdarkgreen: '006400',\n\tdarkkhaki: 'bdb76b',\n\tdarkmagenta: '8b008b',\n\tdarkolivegreen: '556b2f',\n\tdarkorange: 'ff8c00',\n\tdarkorchid: '9932cc',\n\tdarkred: '8b0000',\n\tdarksalmon: 'e9967a',\n\tdarkseagreen: '8fbc8f',\n\tdarkslateblue: '483d8b',\n\tdarkslategray: '2f4f4f',\n\tdarkturquoise: '00ced1',\n\tdarkviolet: '9400d3',\n\tdeeppink: 'ff1493',\n\tdeepskyblue: '00bfff',\n\tdimgray: '696969',\n\tdodgerblue: '1e90ff',\n\tfirebrick: 'b22222',\n\tfloralwhite: 'fffaf0',\n\tforestgreen: '228b22',\n\tfuchsia: 'ff00ff',\n\tgainsboro: 'dcdcdc',\n\tghostwhite: 'f8f8ff',\n\tgold: 'ffd700',\n\tgoldenrod: 'daa520',\n\tgray: '808080',\n\tgreen: '008000',\n\tgreenyellow: 'adff2f',\n\thoneydew: 'f0fff0',\n\thotpink: 'ff69b4',\n\tindianred: 'cd5c5c',\n\tindigo: '4b0082',\n\tivory: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavender: 'e6e6fa',\n\tlavenderblush: 'fff0f5',\n\tlawngreen: '7cfc00',\n\tlemonchiffon: 'fffacd',\n\tlightblue: 'add8e6',\n\tlightcoral: 'f08080',\n\tlightcyan: 'e0ffff',\n\tlightgoldenrodyellow: 'fafad2',\n\tlightgray: 'd3d3d3',\n\tlightgreen: '90ee90',\n\tlightpink: 'ffb6c1',\n\tlightsalmon: 'ffa07a',\n\tlightseagreen: '20b2aa',\n\tlightskyblue: '87cefa',\n\tlightslategray: '778899',\n\tlightsteelblue: 'b0c4de',\n\tlightyellow: 'ffffe0',\n\tlime: '00ff00',\n\tlimegreen: '32cd32',\n\tlinen: 'faf0e6',\n\tmagenta: 'ff00ff',\n\tmaroon: '800000',\n\tmediumaquamarine: '66cdaa',\n\tmediumblue: '0000cd',\n\tmediumorchid: 'ba55d3',\n\tmediumpurple: '9370db',\n\tmediumseagreen: '3cb371',\n\tmediumslateblue: '7b68ee',\n\tmediumspringgreen: '00fa9a',\n\tmediumturquoise: '48d1cc',\n\tmediumvioletred: 'c71585',\n\tmidnightblue: '191970',\n\tmintcream: 'f5fffa',\n\tmistyrose: 'ffe4e1',\n\tmoccasin: 'ffe4b5',\n\tnavajowhite: 'ffdead',\n\tnavy: '000080',\n\toldlace: 'fdf5e6',\n\tolive: '808000',\n\tolivedrab: '6b8e23',\n\torange: 'ffa500',\n\torangered: 'ff4500',\n\torchid: 'da70d6',\n\tpalegoldenrod: 'eee8aa',\n\tpalegreen: '98fb98',\n\tpaleturquoise: 'afeeee',\n\tpalevioletred: 'db7093',\n\tpapayawhip: 'ffefd5',\n\tpeachpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpink: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowderblue: 'b0e0e6',\n\tpurple: '800080',\n\trebeccapurple: '663399',\n\tred: 'ff0000',\n\trosybrown: 'bc8f8f',\n\troyalblue: '4169e1',\n\tsaddlebrown: '8b4513',\n\tsalmon: 'fa8072',\n\tsandybrown: 'f4a460',\n\tseagreen: '2e8b57',\n\tseashell: 'fff5ee',\n\tsienna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyblue: '87ceeb',\n\tslateblue: '6a5acd',\n\tslategray: '708090',\n\tsnow: 'fffafa',\n\tspringgreen: '00ff7f',\n\tsteelblue: '4682b4',\n\ttan: 'd2b48c',\n\tteal: '008080',\n\tthistle: 'd8bfd8',\n\ttomato: 'ff6347',\n\tturquoise: '40e0d0',\n\tviolet: 'ee82ee',\n\twheat: 'f5deb3',\n\twhite: 'ffffff',\n\twhitesmoke: 'f5f5f5',\n\tyellow: 'ffff00',\n\tyellowgreen: '9acd32',\n};\n\nfunction interpolateColor(color1: string, color2: string, factor: number): string {\n\tconst a = parseInt(color1.slice(1, 3), 16);\n\tconst b = parseInt(color1.slice(3, 5), 16);\n\tconst c = parseInt(color1.slice(5, 7), 16);\n\n\tconst x = parseInt(color2.slice(1, 3), 16);\n\tconst y = parseInt(color2.slice(3, 5), 16);\n\tconst z = parseInt(color2.slice(5, 7), 16);\n\n\tconst red = Math.round(a + factor * (x - a))\n\t\t.toString(16)\n\t\t.padStart(2, '0');\n\tconst green = Math.round(b + factor * (y - b))\n\t\t.toString(16)\n\t\t.padStart(2, '0');\n\tconst blue = Math.round(c + factor * (z - c))\n\t\t.toString(16)\n\t\t.padStart(2, '0');\n\n\treturn '#' + red + green + blue;\n}\n\nconst cssSizeWords = ['auto', 'inherit', 'initial', 'unset', 'rem', 'em', 'px', 'var', '%'];\nexport function cssNum(value: number | string | undefined): string {\n\tif (value === undefined) return '';\n\tconst strify = `${value ?? 0}`.trim().toLowerCase();\n\tif (cssSizeWords.some((word) => strify.includes(word))) return strify;\n\treturn `${strify}px`;\n}\n\nexport default allStyles;\n"],"names":["PublicCSS","LocalStorageManager","_classCallCheck","_defineProperty","this","sizeCache","Map","metrics","loadMetrics","performMaintenance","key","value","metricsStr","localStorage","getItem","METRICS_KEY","JSON","parse","size","lastCleanup","_unused","setItem","stringify","length","oldSize","get","newSize","calculateItemSize","set","delete","saveMetrics","now","Date","CLEANUP_INTERVAL","cleanExpiredItems","manageStorageSize","_this","MAX_STORAGE","HIGH_WATER_MARK","items","Array","from","keys","forEach","startsWith","FEATURE_FLAG_PREFIX","item","getRaw","push","timestamp","sort","a","b","TARGET_USAGE","oldest","shift","remove","_this2","keysToRemove","expiration","replace","utils","uid","duration","undefined","realKey","getRealKey","serializedItem","updateSize","error","console","fallback","_unused2","removeItem","clear","getPoliticalAgencyBilling","props","_props$name","_props$name2","billingCreation","nextFirstOfMonth","currentDate","currentYear","getFullYear","currentMonth","getMonth","getDate","Math","floor","getTime","getNextFirstOfMonthInUnixSeconds","isMessageDigital","agencyID","isDispoJoy","address","street","city","state","zipCode","country","raw","chargePerSentMMS","chargePerReceivedMMS","chargePerSentSMS","chargePerReceivedSMS","chargePerNumber","flatFee","billingEmail","ccEmails","name","currency","planType","colors","info","success","warning","defaultMessage","NotificationAPI","send","config","arguments","type","description","message","color","clean","notification","_objectSpread","maxCount","style","borderLeft","concat","React","fontSize","fontWeight","close","_len","args","_key","_len2","_key2","_len3","_key3","_len4","_key4","PopupMessage","content","destroy","window","getString","defaultString","customString","globalStyles","inputStyle","borderRadius","allStyles","shadows","lightShadow","buttonStyle","cardStyle","shadow","pageStyle","paddingTop","thin","paddingBottom","paddingLeft","paddingRight","switchStyle","subTitleText","opacity","secondary","text","inputTitle","tagStyle","_ref","textColor","borderColor","tag","defaultText","background","default","noMargin","global","margins","h","margin","v","hc","x","vc","tags","removeMargin","lightShadowColor","lightShadowHoverColor","darkShadowColor","darkShadowHoverColor","inset","custom","boxShadow","MozBoxShadow","WebkitBoxShadow","lightShadowHover","darkShadow","darkShadowHover","marginBottom","marginTop","marginLeft","marginRight","removePadding","backgroundOther","darkMode","white","black","tableText","card","gCard","inputBorder","mainBorder","primary","lowAlpha","textDanger","deep","light","lighter","lighterer","g939399","g4A4A4D","gB5B5BD","g7B7B80","rFB4C7E","neutral300","surface","progressBlue","linkBlue","primaryO","secondary900","blue","green","pinkRed","pink","error700","error500","warning500","warning900","yellow","blueO","greenO","pinkRedO","pinkO","errorO","dataYellow","dataOrange","orange","recipe","ecomPurple","debug","dividerColor","pageDividerColor","greens","reds","pallet","palletDarker","palletTwo","palletTwoDarker","analytics","gradientCalc","gradient","gradientKeys","Object","numColors","selectedColors","step","i","colorIndex","min","position","startColorIdx","endColorIdx","ceil","factor","interpolatedColor","interpolateColor","gradientTenShade","gradientFiveShade","colorMap","getBestTextColor","backgroundColor","hex","_hexToRgb","r","Number","parseInt","substring","g","bgLuminance","map","pow","luminance","colorUtils","hexToRgb","options","cleanHex","hexValue","red","objectFormat","shortObject","rgbToHex","toString","slice","setHexAlpha","alpha","rgb","_ref3","_slicedToArray","isHexColor","input","test","isColorName","includes","toLowerCase","colorNameToRgb","Error","parseColor","getTextColorBasedOnBgColor","hexColor","substr","colorToHex","trim","match","padStart","colorNames","hasOwnProperty","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","color1","color2","c","y","z","round","cssSizeWords","cssNum","strify","some","word"],"sourceRoot":""}