@jmruthers/pace-core 0.5.120 → 0.5.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-BDZUMRBD.js 3.map +1 -0
- package/dist/chunk-CGURJ27Z.js 2.map +1 -0
- package/dist/chunk-GKHF54DI 2.js +619 -0
- package/dist/chunk-GKHF54DI.js 2.map +1 -0
- package/dist/chunk-NZ32EONV.js 2.map +1 -0
- package/dist/chunk-O3NWNXDY 2.js +76 -0
- package/dist/chunk-TDNI6ZWL.js 2.map +1 -0
- package/dist/chunk-VKOCWWVY.js 3.map +1 -0
- package/dist/chunk-WP5I5GLN 2.js +1564 -0
- package/dist/index 3.js +856 -0
- package/dist/providers 3.js +38 -0
- package/dist/providers.js 3.map +1 -0
- package/dist/types 3.js +128 -0
- package/dist/types.js 3.map +1 -0
- package/dist/useInactivityTracker-MRUU55XI.js 3.map +1 -0
- package/dist/utils.js 3.map +1 -0
- package/dist/validation 3.js +479 -0
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +2 -2
- package/package.json +1 -1
- package/src/components/DataTable/utils/flexibleImport.ts +27 -6
- package/src/types/database.generated.ts +1515 -424
|
@@ -316,22 +316,43 @@ export function flexibleImport<T extends Record<string, unknown>>(
|
|
|
316
316
|
description: ['description', 'Description', 'desc', 'Desc', 'details', 'Details'],
|
|
317
317
|
email: ['email', 'Email', 'e-mail', 'E-mail', 'email_address'],
|
|
318
318
|
phone: ['phone', 'Phone', 'telephone', 'Telephone', 'mobile', 'Mobile'],
|
|
319
|
-
address: ['address', 'Address', 'location', 'Location', 'addr', 'Addr']
|
|
319
|
+
address: ['address', 'Address', 'location', 'Location', 'addr', 'Addr'],
|
|
320
|
+
// Recipe/Dish field mappings (handle spaces and case variations)
|
|
321
|
+
dish_code: ['dish_code', 'dish code', 'Dish Code', 'Dish code', 'DISH CODE', 'dishcode', 'DishCode'],
|
|
322
|
+
dish_name: ['dish_name', 'dish name', 'Dish Name', 'Dish name', 'DISH NAME', 'dishname', 'DishName'],
|
|
323
|
+
mealtype_name: ['mealtype_name', 'mealtype name', 'Mealtype Name', 'Meal Type', 'meal type', 'Meal type', 'MEAL TYPE', 'mealtype', 'MealType'],
|
|
324
|
+
diettype_name: ['diettype_name', 'diettype name', 'Diettype Name', 'Diet Type', 'diet type', 'Diet type', 'DIET TYPE', 'diettype', 'DietType'],
|
|
325
|
+
item_name: ['item_name', 'item name', 'Item Name', 'Item name', 'ITEM NAME', 'itemname', 'ItemName'],
|
|
326
|
+
item_brand: ['item_brand', 'item brand', 'Item Brand', 'Item brand', 'ITEM BRAND', 'itembrand', 'ItemBrand', 'Brand', 'brand'],
|
|
327
|
+
recipe_qtypp: ['recipe_qtypp', 'recipe qtypp', 'Recipe Qtypp', 'Qty per Person', 'qty per person', 'Qty Per Person', 'qtypp', 'Qtypp', 'QTYPP'],
|
|
328
|
+
recipe_uptake: ['recipe_uptake', 'recipe uptake', 'Recipe Uptake', 'Uptake %', 'uptake %', 'Uptake', 'uptake', 'UPTAKE']
|
|
320
329
|
};
|
|
321
330
|
|
|
322
331
|
const columnMappings = { ...defaultMappings, ...options.columnMappings };
|
|
323
332
|
|
|
333
|
+
// Function to normalize column names for comparison (handles spaces, underscores, case)
|
|
334
|
+
const normalizeColumnName = (name: string): string => {
|
|
335
|
+
return name.toLowerCase()
|
|
336
|
+
.replace(/\s+/g, '_') // Replace spaces with underscores
|
|
337
|
+
.replace(/[_-]+/g, '_') // Normalize multiple underscores/hyphens to single underscore
|
|
338
|
+
.trim();
|
|
339
|
+
};
|
|
340
|
+
|
|
324
341
|
// Function to find the best matching column name
|
|
325
342
|
const findColumn = (targetField: string): string | null => {
|
|
326
343
|
const possibleNames = columnMappings[targetField] || [targetField];
|
|
327
344
|
const csvColumns = Object.keys(csvData[0] || {});
|
|
345
|
+
const normalizedTarget = normalizeColumnName(targetField);
|
|
328
346
|
|
|
329
347
|
for (const possibleName of possibleNames) {
|
|
330
|
-
const
|
|
331
|
-
|
|
332
|
-
col
|
|
333
|
-
|
|
334
|
-
|
|
348
|
+
const normalizedPossible = normalizeColumnName(possibleName);
|
|
349
|
+
const found = csvColumns.find(col => {
|
|
350
|
+
const normalizedCol = normalizeColumnName(col);
|
|
351
|
+
return normalizedCol === normalizedPossible ||
|
|
352
|
+
normalizedCol === normalizedTarget ||
|
|
353
|
+
normalizedCol.includes(normalizedPossible) ||
|
|
354
|
+
normalizedPossible.includes(normalizedCol);
|
|
355
|
+
});
|
|
335
356
|
if (found) {
|
|
336
357
|
logger.debug(`Mapped ${targetField} -> ${found}`);
|
|
337
358
|
return found;
|