@jmruthers/pace-core 0.5.61 → 0.5.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/{DataTable-5M6MV2VY.js → DataTable-7BER7PDS.js} +6 -6
  2. package/dist/{DataTable-DqDDvBfI.d.ts → DataTable-D15XipLZ.d.ts} +7 -0
  3. package/dist/{PublicLoadingSpinner-CrMOrhNz.d.ts → PublicLoadingSpinner-CXJ-W9wZ.d.ts} +2 -2
  4. package/dist/{chunk-44SAHU2N.js → chunk-2LPYEFXI.js} +5 -5
  5. package/dist/chunk-4BWGRQBG.js +74 -0
  6. package/dist/chunk-4BWGRQBG.js.map +1 -0
  7. package/dist/{chunk-XMTHMOOM.js → chunk-BTCA3ENN.js} +4 -4
  8. package/dist/{chunk-ESXTFEE6.js → chunk-C7GUF747.js} +3 -3
  9. package/dist/{chunk-W7PPXKTZ.js → chunk-CKNY7HYS.js} +2 -2
  10. package/dist/{chunk-5MLDIGHB.js → chunk-FVDOEGGG.js} +3 -3
  11. package/dist/{chunk-HFDYTSAP.js → chunk-QVEOQVD4.js} +3 -3
  12. package/dist/{chunk-XDXG6QVH.js → chunk-S66AJVI2.js} +13 -6
  13. package/dist/chunk-S66AJVI2.js.map +1 -0
  14. package/dist/{chunk-E4FPK232.js → chunk-T2MQY57J.js} +2 -2
  15. package/dist/{chunk-4ULBJNIT.js → chunk-T6HVDA24.js} +2 -2
  16. package/dist/{chunk-STT7INZR.js → chunk-ULBI5JGB.js} +2 -1
  17. package/dist/{chunk-CGSYCF2W.js → chunk-VTJ5HCZB.js} +2 -2
  18. package/dist/components.d.ts +82 -5
  19. package/dist/components.js +258 -9
  20. package/dist/components.js.map +1 -1
  21. package/dist/{appConfig-DjpeG6P-.d.ts → formatting-BfDeV-ja.d.ts} +29 -1
  22. package/dist/hooks.d.ts +3 -2
  23. package/dist/hooks.js +5 -5
  24. package/dist/index.d.ts +8 -11
  25. package/dist/index.js +25 -14
  26. package/dist/index.js.map +1 -1
  27. package/dist/{organisation-DD0yBbGU.d.ts → organisation-t-vvQC3g.d.ts} +1 -1
  28. package/dist/providers.d.ts +2 -2
  29. package/dist/providers.js +4 -4
  30. package/dist/rbac/index.js +6 -6
  31. package/dist/types.js +1 -1
  32. package/dist/{usePublicRouteParams-Cu6oKazv.d.ts → usePublicRouteParams-CdoFxnJK.d.ts} +2 -63
  33. package/dist/useToast-Bm6TnSK-.d.ts +63 -0
  34. package/dist/utils.d.ts +3 -31
  35. package/dist/utils.js +8 -41
  36. package/dist/utils.js.map +1 -1
  37. package/docs/api/classes/ErrorBoundary.md +1 -1
  38. package/docs/api/classes/InvalidScopeError.md +1 -1
  39. package/docs/api/classes/MissingUserContextError.md +1 -1
  40. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  41. package/docs/api/classes/PermissionDeniedError.md +1 -1
  42. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  43. package/docs/api/classes/RBACAuditManager.md +1 -1
  44. package/docs/api/classes/RBACCache.md +1 -1
  45. package/docs/api/classes/RBACEngine.md +1 -1
  46. package/docs/api/classes/RBACError.md +1 -1
  47. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  48. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  49. package/docs/api/classes/StorageUtils.md +1 -1
  50. package/docs/api/interfaces/AggregateConfig.md +1 -1
  51. package/docs/api/interfaces/ButtonProps.md +1 -1
  52. package/docs/api/interfaces/CardProps.md +1 -1
  53. package/docs/api/interfaces/ColorPalette.md +1 -1
  54. package/docs/api/interfaces/ColorShade.md +1 -1
  55. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  56. package/docs/api/interfaces/DataTableAction.md +1 -1
  57. package/docs/api/interfaces/DataTableColumn.md +1 -1
  58. package/docs/api/interfaces/DataTableProps.md +44 -18
  59. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  60. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  61. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  62. package/docs/api/interfaces/EventContextType.md +1 -1
  63. package/docs/api/interfaces/EventLogoProps.md +1 -1
  64. package/docs/api/interfaces/EventProviderProps.md +1 -1
  65. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  66. package/docs/api/interfaces/FileUploadProps.md +1 -1
  67. package/docs/api/interfaces/FooterProps.md +1 -1
  68. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  69. package/docs/api/interfaces/InputProps.md +1 -1
  70. package/docs/api/interfaces/LabelProps.md +1 -1
  71. package/docs/api/interfaces/LoginFormProps.md +1 -1
  72. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  73. package/docs/api/interfaces/NavigationContextType.md +1 -1
  74. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  75. package/docs/api/interfaces/NavigationItem.md +1 -1
  76. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  77. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  78. package/docs/api/interfaces/Organisation.md +1 -1
  79. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  80. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  81. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  82. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  83. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  84. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  85. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  86. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  87. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  88. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  89. package/docs/api/interfaces/PaletteData.md +1 -1
  90. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  91. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  92. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  93. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  94. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  95. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  96. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  97. package/docs/api/interfaces/RBACConfig.md +1 -1
  98. package/docs/api/interfaces/RBACContextType.md +1 -1
  99. package/docs/api/interfaces/RBACLogger.md +1 -1
  100. package/docs/api/interfaces/RBACProviderProps.md +1 -1
  101. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  102. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  103. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  104. package/docs/api/interfaces/RouteConfig.md +1 -1
  105. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  106. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  107. package/docs/api/interfaces/StorageConfig.md +1 -1
  108. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  109. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  110. package/docs/api/interfaces/StorageListOptions.md +1 -1
  111. package/docs/api/interfaces/StorageListResult.md +1 -1
  112. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  113. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  114. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  115. package/docs/api/interfaces/StyleImport.md +1 -1
  116. package/docs/api/interfaces/ToastActionElement.md +1 -1
  117. package/docs/api/interfaces/ToastProps.md +1 -1
  118. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  119. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  120. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  121. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  122. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  123. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  124. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  125. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  126. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  127. package/docs/api/interfaces/UserEventAccess.md +1 -1
  128. package/docs/api/interfaces/UserMenuProps.md +1 -1
  129. package/docs/api/interfaces/UserProfile.md +1 -1
  130. package/docs/api/modules.md +148 -26
  131. package/docs/implementation-guides/data-tables.md +67 -0
  132. package/package.json +1 -1
  133. package/src/components/DataTable/DataTable.tsx +13 -0
  134. package/src/components/DataTable/__tests__/DataTable.default-state.test.tsx +414 -0
  135. package/src/components/DataTable/components/DataTableCore.tsx +19 -2
  136. package/src/components/DataTable/types.ts +9 -0
  137. package/src/components/Dialog/examples/__tests__/SmartDialogExample.unit.test.tsx +151 -0
  138. package/src/components/Dialog/utils/__tests__/safeHtml.unit.test.ts +611 -0
  139. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.accessibility.test.tsx +287 -0
  140. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +861 -0
  141. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +628 -0
  142. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +777 -0
  143. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +901 -0
  144. package/src/components/Toast/index.ts +2 -0
  145. package/src/components/index.ts +15 -0
  146. package/src/hooks/__tests__/useApiFetch.unit.test.ts +1 -1
  147. package/src/hooks/useFileReference.ts +37 -0
  148. package/src/index.ts +10 -0
  149. package/src/styles/base.css +208 -0
  150. package/src/styles/semantic.css +24 -0
  151. package/dist/chunk-W66AZIOH.js +0 -29
  152. package/dist/chunk-W66AZIOH.js.map +0 -1
  153. package/dist/chunk-XDXG6QVH.js.map +0 -1
  154. /package/dist/{DataTable-5M6MV2VY.js.map → DataTable-7BER7PDS.js.map} +0 -0
  155. /package/dist/{chunk-44SAHU2N.js.map → chunk-2LPYEFXI.js.map} +0 -0
  156. /package/dist/{chunk-XMTHMOOM.js.map → chunk-BTCA3ENN.js.map} +0 -0
  157. /package/dist/{chunk-ESXTFEE6.js.map → chunk-C7GUF747.js.map} +0 -0
  158. /package/dist/{chunk-W7PPXKTZ.js.map → chunk-CKNY7HYS.js.map} +0 -0
  159. /package/dist/{chunk-5MLDIGHB.js.map → chunk-FVDOEGGG.js.map} +0 -0
  160. /package/dist/{chunk-HFDYTSAP.js.map → chunk-QVEOQVD4.js.map} +0 -0
  161. /package/dist/{chunk-E4FPK232.js.map → chunk-T2MQY57J.js.map} +0 -0
  162. /package/dist/{chunk-4ULBJNIT.js.map → chunk-T6HVDA24.js.map} +0 -0
  163. /package/dist/{chunk-STT7INZR.js.map → chunk-ULBI5JGB.js.map} +0 -0
  164. /package/dist/{chunk-CGSYCF2W.js.map → chunk-VTJ5HCZB.js.map} +0 -0
@@ -11,3 +11,5 @@ export {
11
11
  ToastAction,
12
12
  Toaster,
13
13
  } from './Toast';
14
+
15
+ export { useToast } from '../../hooks/useToast';
@@ -237,6 +237,16 @@ export { PasswordResetForm } from './PasswordReset';
237
237
  export { FileUpload } from './FileUpload';
238
238
  export type { FileUploadProps } from './FileUpload';
239
239
 
240
+ export { FileDisplay } from './FileDisplay';
241
+ export type { FileDisplayProps } from './FileDisplay';
242
+
243
+
244
+ // ============================================================================
245
+ // TYPES
246
+ // ============================================================================
247
+
248
+ export { FileCategory } from '../types/file-reference';
249
+ export type { FileReference, FileMetadata, FileUploadOptions } from '../types/file-reference';
240
250
 
241
251
  // ============================================================================
242
252
  // HOOKS
@@ -245,6 +255,11 @@ export type { FileUploadProps } from './FileUpload';
245
255
  export { useStorage, useFileUpload } from '../hooks/useStorage';
246
256
  export type { UseStorageOptions, UseStorageReturn } from '../hooks/useStorage';
247
257
 
258
+ export { useFileReference, useFileReferenceForRecord } from '../hooks/useFileReference';
259
+ export type { UseFileReferenceOptions, UseFileReferenceReturn, UseFileReferenceForRecordReturn } from '../hooks/useFileReference';
260
+
261
+ export { useToast } from '../hooks/useToast';
262
+
248
263
  // RBAC Components - Use the new RBAC system
249
264
  // For RBAC functionality, import from @jmruthers/pace-core/rbac
250
265
  // export { PermissionGuard, AccessLevelGuard } from '@jmruthers/pace-core/rbac';
@@ -2,7 +2,7 @@
2
2
  import React from 'react';
3
3
  import { renderHook, waitFor } from '@testing-library/react';
4
4
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
5
- import { renderWithProviders } from '../../__tests__/shared/testUtils.optimized';
5
+ import { renderWithProviders } from '../../__tests__/helpers/test-utils';
6
6
 
7
7
  // Mock fetch globally for all tests
8
8
  const mockFetch = vi.fn();
@@ -230,3 +230,40 @@ export function useFileReferenceForRecord(
230
230
  clearError
231
231
  };
232
232
  }
233
+
234
+ // Type definitions for the hooks
235
+ export type UseFileReferenceOptions = {
236
+ table_name: string;
237
+ record_id: string;
238
+ organisation_id: string;
239
+ };
240
+
241
+ export type UseFileReferenceReturn = {
242
+ isLoading: boolean;
243
+ error: string | null;
244
+ uploadFile: (options: FileUploadOptions, file: File) => Promise<FileUploadResult | null>;
245
+ getFileReference: (table_name: string, record_id: string, organisation_id: string) => Promise<FileReference | null>;
246
+ getFileUrl: (table_name: string, record_id: string, organisation_id: string) => Promise<string | null>;
247
+ getSignedUrl: (table_name: string, record_id: string, organisation_id: string, expires_in?: number) => Promise<string | null>;
248
+ updateFileReference: (id: string, updates: Partial<FileReference>) => Promise<FileReference | null>;
249
+ deleteFileReference: (table_name: string, record_id: string, organisation_id: string, delete_file?: boolean) => Promise<boolean>;
250
+ listFileReferences: (table_name: string, record_id: string, organisation_id: string) => Promise<FileReference[]>;
251
+ getFileCount: (table_name: string, record_id: string, organisation_id: string) => Promise<number>;
252
+ clearError: () => void;
253
+ };
254
+
255
+ export type UseFileReferenceForRecordReturn = {
256
+ isLoading: boolean;
257
+ error: string | null;
258
+ fileUrl: string | null;
259
+ fileReference: FileReference | null;
260
+ fileReferences: FileReference[];
261
+ fileCount: number;
262
+ loadFileReference: () => Promise<FileReference | null>;
263
+ loadFileUrl: () => Promise<string | null>;
264
+ loadFileReferences: () => Promise<FileReference[]>;
265
+ loadFileCount: () => Promise<number>;
266
+ deleteFile: (delete_file?: boolean) => Promise<boolean>;
267
+ updateFileReference: (id: string, updates: Partial<FileReference>) => Promise<FileReference | null>;
268
+ clearError: () => void;
269
+ };
package/src/index.ts CHANGED
@@ -173,6 +173,16 @@ export { useAppConfig } from './hooks/useAppConfig';
173
173
  export { cn } from './utils/cn';
174
174
  export { setAppConfig, getAppConfig, getCurrentAppName, getCurrentAppId } from './utils/appConfig';
175
175
 
176
+ // FORMATTING UTILITIES
177
+ export {
178
+ formatDate,
179
+ formatCurrency,
180
+ formatNumber,
181
+ formatPercent,
182
+ formatCompactNumber,
183
+ formatFileSize
184
+ } from './utils/formatting';
185
+
176
186
  // STORAGE UTILITIES
177
187
  export { FileUpload } from './components/FileUpload/FileUpload';
178
188
  export type { FileUploadProps } from './components/FileUpload/FileUpload';
@@ -0,0 +1,208 @@
1
+ @import "tailwindcss";
2
+
3
+ @layer base {
4
+
5
+ /*base resets */
6
+ * {
7
+ font-family: 'Open Sans';
8
+ border-color: var(--color-border);
9
+ }
10
+
11
+ body {
12
+ min-height: 100vh;
13
+ color: var(--color-foreground);
14
+ }
15
+
16
+ /* Font definitions */
17
+ @font-face {
18
+ font-family: "Georama";
19
+ font-style: normal;
20
+ font-weight: 100 200 300 400 500 600 700 800 900;
21
+ font-display: swap;
22
+ src: url("/fonts/georama.woff2") format("woff2");
23
+ }
24
+
25
+ @font-face {
26
+ font-family: "Georama";
27
+ font-style: italic;
28
+ font-weight: 100 200 300 400 500 600 700 800 900;
29
+ font-display: swap;
30
+ src: url("/fonts/georama-italic.woff2") format("woff2");
31
+ }
32
+
33
+ @font-face {
34
+ font-family: "Open Sans";
35
+ font-style: normal;
36
+ font-weight: 100 200 300 400 500 600 700 800 900;
37
+ font-display: swap;
38
+ src: url("/fonts/open-sans.woff2") format("woff2");
39
+ }
40
+
41
+ @font-face {
42
+ font-family: "Open Sans";
43
+ font-style: italic;
44
+ font-weight: 100 200 300 400 500 600 700 800 900;
45
+ font-display: swap;
46
+ src: url("/fonts/open-sans-italic.woff2") format("woff2");
47
+ }
48
+
49
+ @font-face {
50
+ font-family: "Reddit Mono";
51
+ font-style: normal;
52
+ font-weight: 200 300 400 500 600 700 800 900;
53
+ font-display: swap;
54
+ src: url("/fonts/reddit-mono.woff2") format("woff2");
55
+ }
56
+
57
+ /* Elements */
58
+ h1,
59
+ h2,
60
+ h3,
61
+ h4,
62
+ h5,
63
+ h6 {
64
+ margin-bottom: 0.25lh;
65
+ }
66
+
67
+ h1,
68
+ h2,
69
+ h3 {
70
+ font-family: 'Georama';
71
+ }
72
+
73
+ h1 {
74
+ font-size: 2.5rem;
75
+ font-weight: 700;
76
+ line-height: 1.2;
77
+ color: var(--color-app-main-600);
78
+ }
79
+
80
+ h2 {
81
+ font-size: 2rem;
82
+ font-weight: 700;
83
+ line-height: 1.3;
84
+ color: var(--color-app-main-600);
85
+ }
86
+
87
+ h3 {
88
+ font-size: 1.75rem;
89
+ font-weight: 600;
90
+ line-height: 1.4;
91
+ color: var(--color-app-main-700);
92
+ }
93
+
94
+ h4 {
95
+ font-size: 1.5rem;
96
+ font-weight: 600;
97
+ line-height: 1.4;
98
+ color: var(--color-app-main-700);
99
+ }
100
+
101
+ h5 {
102
+ font-size: 1.25rem;
103
+ font-weight: 500;
104
+ line-height: 1.4;
105
+ color: var(--color-app-main-800);
106
+ }
107
+
108
+ h6 {
109
+ font-size: 1rem;
110
+ font-weight: 500;
111
+ line-height: 1.4;
112
+ color: var(--color-app-main-800);
113
+ }
114
+
115
+ p {
116
+ margin-bottom: 1rem;
117
+ line-height: 1.6;
118
+ }
119
+
120
+ a {
121
+ color: var(--color-app-main-700);
122
+ text-decoration: none;
123
+ transition: color 0.2s ease;
124
+ }
125
+
126
+ a:hover {
127
+ color: var(--color-app-acc-700);
128
+ text-decoration: underline;
129
+ }
130
+
131
+ strong {
132
+ font-weight: 600;
133
+ }
134
+
135
+ em {
136
+ font-style: italic;
137
+ }
138
+
139
+ u {
140
+ text-decoration: underline;
141
+ }
142
+
143
+ pre,
144
+ code {
145
+ font-family: "Reddit Mono";
146
+ font-size: 0.875em;
147
+ background-color: var(--color-app-sec-100);
148
+ padding: 0.2em 0.4em;
149
+ border-radius: 0.25rem;
150
+ }
151
+
152
+ pre code {
153
+ display: inline-block;
154
+ }
155
+
156
+ blockquote {
157
+ border-left: 4px solid var(--color-app-main-600);
158
+ padding: 0.5rem 1rem;
159
+ margin: 1.5rem 0;
160
+ font-style: italic;
161
+ color: var(--color-app-main-800);
162
+ }
163
+
164
+ ul,
165
+ ol {
166
+ margin: 0.25lh 0;
167
+ padding-left: 1.5rem;
168
+ }
169
+
170
+ ul {
171
+ list-style-type: disc;
172
+ }
173
+
174
+ ol {
175
+ list-style-type: decimal;
176
+ }
177
+
178
+ li {
179
+ margin-bottom: 0.25lh;
180
+ line-height: 1.6;
181
+ }
182
+
183
+ hr {
184
+ border: 0;
185
+ border-top: 1px solid var(--color-app-sec-200);
186
+ margin: 2rem 0;
187
+ }
188
+
189
+ small {
190
+ font-size: 0.875em;
191
+ color: var(--color-app-main-500);
192
+ }
193
+
194
+ --app-width: 90rem;
195
+
196
+ .appGradient {
197
+ background: linear-gradient(145deg, var(--color-app-main-100) 10%, var(--color-app-main-200) 30%, var(--color-app-main-200) 70%, var(--color-app-main-300) 90%);
198
+ background-attachment: fixed;
199
+ }
200
+ }
201
+
202
+ @layer components {
203
+ /* Custom component styles go here */
204
+ }
205
+
206
+ @layer utilities {
207
+ /* Custom utility styles go here */
208
+ }
@@ -0,0 +1,24 @@
1
+ @import "tailwindcss";
2
+
3
+ @theme inline {
4
+ /* Semantic token mapping */
5
+ --color-border: var(--color-app-main-500);
6
+ --color-input: var(--color-app-sec-200);
7
+ --color-ring: var(--color-app-main-950);
8
+ --color-background: var(--color-app-main-50);
9
+ --color-foreground: var(--color-app-main-950);
10
+ --color-primary: var(--color-app-main-600);
11
+ --color-primary-foreground: var(--color-app-main-50);
12
+ --color-secondary: var(--color-app-sec-400);
13
+ --color-secondary-foreground: var(--color-app-main-950);
14
+ --color-destructive: var(--color-app-acc-700);
15
+ --color-destructive-foreground: var(--color-app-main-50);
16
+ --color-muted: var(--color-app-sec-100);
17
+ --color-muted-foreground: var(--color-app-main-700);
18
+ --color-accent: var(--color-app-acc-400);
19
+ --color-accent-foreground: var(--color-app-main-950);
20
+ --color-popover: var(--color-app-main-50);
21
+ --color-popover-foreground: var(--color-app-main-950);
22
+ --color-card: var(--color-app-main-50);
23
+ --color-card-foreground: var(--color-app-main-950);
24
+ }
@@ -1,29 +0,0 @@
1
- // src/utils/appConfig.ts
2
- var currentAppConfig = null;
3
- function setAppConfig(config) {
4
- currentAppConfig = config;
5
- }
6
- function getAppConfig() {
7
- if (!currentAppConfig) {
8
- const appName = import.meta.env.REACT_APP_NAME || "PACE";
9
- return {
10
- appName,
11
- appId: appName
12
- };
13
- }
14
- return currentAppConfig;
15
- }
16
- function getCurrentAppName() {
17
- return getAppConfig().appName;
18
- }
19
- function getCurrentAppId() {
20
- return getAppConfig().appId;
21
- }
22
-
23
- export {
24
- setAppConfig,
25
- getAppConfig,
26
- getCurrentAppName,
27
- getCurrentAppId
28
- };
29
- //# sourceMappingURL=chunk-W66AZIOH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/appConfig.ts"],"sourcesContent":["\n/**\n * Application configuration utilities\n */\n\nexport interface AppConfig {\n appName: string;\n appId: string;\n}\n\nlet currentAppConfig: AppConfig | null = null;\n\n/**\n * Set the current application configuration\n */\nexport function setAppConfig(config: AppConfig) {\n currentAppConfig = config;\n}\n\n/**\n * Get the current application configuration\n */\nexport function getAppConfig(): AppConfig {\n if (!currentAppConfig) {\n // Fallback to environment or default\n const appName = import.meta.env.REACT_APP_NAME || 'PACE';\n return {\n appName,\n appId: appName\n };\n }\n return currentAppConfig;\n}\n\n/**\n * Get the current app name\n */\nexport function getCurrentAppName(): string {\n return getAppConfig().appName;\n}\n\n/**\n * Get the current app ID\n */\nexport function getCurrentAppId(): string {\n return getAppConfig().appId;\n}\n"],"mappings":";AAUA,IAAI,mBAAqC;AAKlC,SAAS,aAAa,QAAmB;AAC9C,qBAAmB;AACrB;AAKO,SAAS,eAA0B;AACxC,MAAI,CAAC,kBAAkB;AAErB,UAAM,UAAU,YAAY,IAAI,kBAAkB;AAClD,WAAO;AAAA,MACL;AAAA,MACA,OAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAKO,SAAS,oBAA4B;AAC1C,SAAO,aAAa,EAAE;AACxB;AAKO,SAAS,kBAA0B;AACxC,SAAO,aAAa,EAAE;AACxB;","names":[]}