@jmruthers/pace-core 0.5.134 → 0.5.135

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 (111) hide show
  1. package/dist/index.d.ts +120 -2
  2. package/dist/index.js +7 -1
  3. package/dist/index.js.map +1 -1
  4. package/docs/api/classes/ColumnFactory.md +1 -1
  5. package/docs/api/classes/ErrorBoundary.md +1 -1
  6. package/docs/api/classes/InvalidScopeError.md +1 -1
  7. package/docs/api/classes/MissingUserContextError.md +1 -1
  8. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  9. package/docs/api/classes/PermissionDeniedError.md +1 -1
  10. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  11. package/docs/api/classes/RBACAuditManager.md +1 -1
  12. package/docs/api/classes/RBACCache.md +1 -1
  13. package/docs/api/classes/RBACEngine.md +1 -1
  14. package/docs/api/classes/RBACError.md +1 -1
  15. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  16. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  17. package/docs/api/classes/StorageUtils.md +1 -1
  18. package/docs/api/enums/FileCategory.md +1 -1
  19. package/docs/api/interfaces/AggregateConfig.md +1 -1
  20. package/docs/api/interfaces/ButtonProps.md +1 -1
  21. package/docs/api/interfaces/CardProps.md +1 -1
  22. package/docs/api/interfaces/ColorPalette.md +1 -1
  23. package/docs/api/interfaces/ColorShade.md +1 -1
  24. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  25. package/docs/api/interfaces/DataRecord.md +1 -1
  26. package/docs/api/interfaces/DataTableAction.md +1 -1
  27. package/docs/api/interfaces/DataTableColumn.md +1 -1
  28. package/docs/api/interfaces/DataTableProps.md +3 -3
  29. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  30. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  31. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  32. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  33. package/docs/api/interfaces/ExportColumn.md +90 -0
  34. package/docs/api/interfaces/ExportOptions.md +126 -0
  35. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  36. package/docs/api/interfaces/FileMetadata.md +1 -1
  37. package/docs/api/interfaces/FileReference.md +1 -1
  38. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  39. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  40. package/docs/api/interfaces/FileUploadProps.md +1 -1
  41. package/docs/api/interfaces/FooterProps.md +1 -1
  42. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  43. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  44. package/docs/api/interfaces/InputProps.md +1 -1
  45. package/docs/api/interfaces/LabelProps.md +1 -1
  46. package/docs/api/interfaces/LoginFormProps.md +1 -1
  47. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  48. package/docs/api/interfaces/NavigationContextType.md +1 -1
  49. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  50. package/docs/api/interfaces/NavigationItem.md +1 -1
  51. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  52. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  53. package/docs/api/interfaces/Organisation.md +1 -1
  54. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  55. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  56. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  57. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  58. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  59. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  60. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  61. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  62. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  63. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  64. package/docs/api/interfaces/PaletteData.md +1 -1
  65. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  66. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  67. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  68. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  69. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  70. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  71. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  72. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  73. package/docs/api/interfaces/RBACConfig.md +1 -1
  74. package/docs/api/interfaces/RBACLogger.md +1 -1
  75. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  76. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  77. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  78. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  79. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  80. package/docs/api/interfaces/RouteConfig.md +1 -1
  81. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  82. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  83. package/docs/api/interfaces/StorageConfig.md +1 -1
  84. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  85. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  86. package/docs/api/interfaces/StorageListOptions.md +1 -1
  87. package/docs/api/interfaces/StorageListResult.md +1 -1
  88. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  89. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  90. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  91. package/docs/api/interfaces/StyleImport.md +1 -1
  92. package/docs/api/interfaces/SwitchProps.md +1 -1
  93. package/docs/api/interfaces/ToastActionElement.md +1 -1
  94. package/docs/api/interfaces/ToastProps.md +1 -1
  95. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  96. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  97. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  98. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  99. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  100. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  101. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
  102. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  103. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  104. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  105. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  106. package/docs/api/interfaces/UserEventAccess.md +1 -1
  107. package/docs/api/interfaces/UserMenuProps.md +1 -1
  108. package/docs/api/interfaces/UserProfile.md +1 -1
  109. package/docs/api/modules.md +136 -2
  110. package/package.json +1 -1
  111. package/src/index.ts +9 -1
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / SwitchProps
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / SwitchProps
2
2
 
3
3
  # Interface: SwitchProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / ToastActionElement
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / ToastActionElement
2
2
 
3
3
  # Interface: ToastActionElement
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / ToastProps
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / ToastProps
2
2
 
3
3
  # Interface: ToastProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UnifiedAuthContextType
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UnifiedAuthContextType
2
2
 
3
3
  # Interface: UnifiedAuthContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UnifiedAuthProviderProps
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UnifiedAuthProviderProps
2
2
 
3
3
  # Interface: UnifiedAuthProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UseInactivityTrackerOptions
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UseInactivityTrackerOptions
2
2
 
3
3
  # Interface: UseInactivityTrackerOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UseInactivityTrackerReturn
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UseInactivityTrackerReturn
2
2
 
3
3
  # Interface: UseInactivityTrackerReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UsePublicEventOptions
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UsePublicEventOptions
2
2
 
3
3
  # Interface: UsePublicEventOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UsePublicEventReturn
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UsePublicEventReturn
2
2
 
3
3
  # Interface: UsePublicEventReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayOptions
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayOptions
2
2
 
3
3
  # Interface: UsePublicFileDisplayOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayReturn
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayReturn
2
2
 
3
3
  # Interface: UsePublicFileDisplayReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UsePublicRouteParamsReturn
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UsePublicRouteParamsReturn
2
2
 
3
3
  # Interface: UsePublicRouteParamsReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UseResolvedScopeOptions
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UseResolvedScopeOptions
2
2
 
3
3
  # Interface: UseResolvedScopeOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UseResolvedScopeReturn
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UseResolvedScopeReturn
2
2
 
3
3
  # Interface: UseResolvedScopeReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UserEventAccess
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UserEventAccess
2
2
 
3
3
  # Interface: UserEventAccess
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UserMenuProps
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UserMenuProps
2
2
 
3
3
  # Interface: UserMenuProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.134](../README.md) / [Exports](../modules.md) / UserProfile
1
+ [@jmruthers/pace-core - v0.5.135](../README.md) / [Exports](../modules.md) / UserProfile
2
2
 
3
3
  # Interface: UserProfile
4
4
 
@@ -1,6 +1,6 @@
1
- [@jmruthers/pace-core - v0.5.134](README.md) / Exports
1
+ [@jmruthers/pace-core - v0.5.135](README.md) / Exports
2
2
 
3
- # @jmruthers/pace-core - v0.5.134
3
+ # @jmruthers/pace-core - v0.5.135
4
4
 
5
5
  **`File`**
6
6
 
@@ -61,6 +61,8 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
61
61
  - [DataTableToolbarButton](interfaces/DataTableToolbarButton.md)
62
62
  - [AggregateConfig](interfaces/AggregateConfig.md)
63
63
  - [EmptyStateConfig](interfaces/EmptyStateConfig.md)
64
+ - [ExportOptions](interfaces/ExportOptions.md)
65
+ - [ExportColumn](interfaces/ExportColumn.md)
64
66
  - [FileDisplayProps](interfaces/FileDisplayProps.md)
65
67
  - [FileUploadProps](interfaces/FileUploadProps.md)
66
68
  - [FooterProps](interfaces/FooterProps.md)
@@ -193,6 +195,9 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
193
195
  - [CardActions](modules.md#cardactions)
194
196
  - [Checkbox](modules.md#checkbox)
195
197
  - [DataTable](modules.md#datatable)
198
+ - [generateCSVContent](modules.md#generatecsvcontent)
199
+ - [exportToCSVWithTableRows](modules.md#exporttocsvwithtablerows)
200
+ - [exportToCSV](modules.md#exporttocsv)
196
201
  - [Dialog](modules.md#dialog)
197
202
  - [DialogTrigger](modules.md#dialogtrigger)
198
203
  - [DialogPortal](modules.md#dialogportal)
@@ -1305,6 +1310,135 @@ Features are configured through the unified `features` prop for maximum flexibil
1305
1310
 
1306
1311
  ___
1307
1312
 
1313
+ ### generateCSVContent
1314
+
1315
+ ▸ **generateCSVContent**\<`TData`\>(`data`, `columns`, `options?`): `string`
1316
+
1317
+ Generates CSV content from data without triggering download
1318
+
1319
+ #### Type parameters
1320
+
1321
+ | Name | Type |
1322
+ | :------ | :------ |
1323
+ | `TData` | extends [`DataRecord`](interfaces/DataRecord.md) |
1324
+
1325
+ #### Parameters
1326
+
1327
+ | Name | Type | Description |
1328
+ | :------ | :------ | :------ |
1329
+ | `data` | `TData`[] | Array of data objects to export |
1330
+ | `columns` | [`ExportColumn`](interfaces/ExportColumn.md)[] | Column definitions for mapping |
1331
+ | `options` | `Object` | Export options |
1332
+ | `options.includeHeaders?` | `boolean` | - |
1333
+ | `options.locale?` | `string` | - |
1334
+ | `options.sanitizeForSecurity?` | `boolean` | - |
1335
+
1336
+ #### Returns
1337
+
1338
+ `string`
1339
+
1340
+ CSV content as string
1341
+
1342
+ #### Defined in
1343
+
1344
+ [packages/core/src/components/DataTable/utils/exportUtils.ts:123](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/utils/exportUtils.ts#L123)
1345
+
1346
+ ___
1347
+
1348
+ ### exportToCSVWithTableRows
1349
+
1350
+ ▸ **exportToCSVWithTableRows**(`tableRows`, `columns`, `columnIdToTableColumn`, `filename?`, `options?`): `Promise`\<`void`\>
1351
+
1352
+ Exports DataTable data using TanStack Table rows with getValue() for proper accessorFn evaluation
1353
+ This ensures computed columns (with accessorFn) export correctly with their displayed values
1354
+
1355
+ #### Parameters
1356
+
1357
+ | Name | Type | Default value |
1358
+ | :------ | :------ | :------ |
1359
+ | `tableRows` | \{ `original`: `any` ; `getValue`: (`columnId`: `string`) => `any` ; `id`: `string` }[] | `undefined` |
1360
+ | `columns` | [`ExportColumn`](interfaces/ExportColumn.md)[] | `undefined` |
1361
+ | `columnIdToTableColumn` | `Map`\<`string`, `any`\> | `undefined` |
1362
+ | `filename` | `string` | `"download.csv"` |
1363
+ | `options` | `Object` | `{}` |
1364
+ | `options.locale?` | `string` | `undefined` |
1365
+ | `options.sanitizeForSecurity?` | `boolean` | `undefined` |
1366
+
1367
+ #### Returns
1368
+
1369
+ `Promise`\<`void`\>
1370
+
1371
+ #### Defined in
1372
+
1373
+ [packages/core/src/components/DataTable/utils/exportUtils.ts:188](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/utils/exportUtils.ts#L188)
1374
+
1375
+ ___
1376
+
1377
+ ### exportToCSV
1378
+
1379
+ ▸ **exportToCSV**\<`TData`\>(`data`, `columns`, `filename?`, `options?`): `Promise`\<`void`\>
1380
+
1381
+ Exports DataTable data to CSV format
1382
+
1383
+ #### Type parameters
1384
+
1385
+ | Name | Type |
1386
+ | :------ | :------ |
1387
+ | `TData` | extends [`DataRecord`](interfaces/DataRecord.md) |
1388
+
1389
+ #### Parameters
1390
+
1391
+ | Name | Type | Default value | Description |
1392
+ | :------ | :------ | :------ | :------ |
1393
+ | `data` | `TData`[] | `undefined` | Array of data objects to export |
1394
+ | `columns` | [`ExportColumn`](interfaces/ExportColumn.md)[] | `undefined` | Column definitions for mapping |
1395
+ | `filename` | `string` | `"download.csv"` | Optional filename for download (default: "download.csv") |
1396
+ | `options` | `Object` | `{}` | Optional export configuration |
1397
+ | `options.locale?` | `string` | `undefined` | - |
1398
+ | `options.sanitizeForSecurity?` | `boolean` | `undefined` | - |
1399
+
1400
+ #### Returns
1401
+
1402
+ `Promise`\<`void`\>
1403
+
1404
+ Promise that resolves when export is complete, rejects on error
1405
+
1406
+ **`Example`**
1407
+
1408
+ ```tsx
1409
+ // Export user data
1410
+ const users = [
1411
+ { id: 1, name: 'John Doe', email: 'john@example.com' },
1412
+ { id: 2, name: 'Jane Smith', email: 'jane@example.com' }
1413
+ ];
1414
+
1415
+ const columns = [
1416
+ { accessorKey: 'name', header: 'Name' },
1417
+ { accessorKey: 'email', header: 'Email' }
1418
+ ];
1419
+
1420
+ try {
1421
+ await exportToCSV(users, columns, 'users.csv', { locale: 'en-US' });
1422
+ showSuccessToast('Data exported successfully');
1423
+ } catch (error) {
1424
+ showErrorToast('Failed to export data');
1425
+ }
1426
+ ```
1427
+
1428
+ **`Remarks`**
1429
+
1430
+ - Automatically handles special characters in data
1431
+ - Uses column headers for CSV headers
1432
+ - Sanitizes data to prevent CSV injection
1433
+ - Triggers browser download
1434
+ - Throws error if export fails
1435
+
1436
+ #### Defined in
1437
+
1438
+ [packages/core/src/components/DataTable/utils/exportUtils.ts:336](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/utils/exportUtils.ts#L336)
1439
+
1440
+ ___
1441
+
1308
1442
  ### Dialog
1309
1443
 
1310
1444
  ▸ **Dialog**(`props`, `deprecatedLegacyContext?`): `ReactNode`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jmruthers/pace-core",
3
- "version": "0.5.134",
3
+ "version": "0.5.135",
4
4
  "description": "Clean, modern React component library with Tailwind v4 styling and native utilities",
5
5
  "private": false,
6
6
  "publishConfig": {
package/src/index.ts CHANGED
@@ -145,7 +145,15 @@ export {
145
145
  } from './components/DataTable';
146
146
 
147
147
  // Re-export types from DataTable types
148
- export type { DataRecord } from './components/DataTable/types';
148
+ export type { DataRecord, ExportOptions } from './components/DataTable/types';
149
+
150
+ // Export DataTable utility functions
151
+ export {
152
+ exportToCSV,
153
+ exportToCSVWithTableRows,
154
+ generateCSVContent,
155
+ type ExportColumn
156
+ } from './components/DataTable/utils/exportUtils';
149
157
 
150
158
  // FORM COMPONENTS
151
159
  export { Form } from './components/Form/Form';