@jmruthers/pace-core 0.4.1 → 0.5.3
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/CHANGELOG.md +26 -1
- package/README.md +231 -229
- package/dist/{DataTable-2LB6HI6V.js → DataTable-ZQDRE46Q.js} +15 -17
- package/dist/{DataTable-BDBqkU-i.d.ts → DataTable-ltTFXHS3.d.ts} +25 -51
- package/dist/{Table-CIm9IWqk.d.ts → PublicLoadingSpinner-Bq_-BeK-.d.ts} +635 -122
- package/dist/{UnifiedAuthProvider-V7y63NjT.d.ts → RBACProvider-BO4ilsQB.d.ts} +11 -36
- package/dist/UnifiedAuthProvider-DGQsy-vY.d.ts +103 -0
- package/dist/{api-AIJ3IJX3.js → api-H5A3H4IR.js} +6 -4
- package/dist/{appConfig-fB1pP_v3.d.ts → appConfig-BVGyuvI7.d.ts} +1 -1
- package/dist/appNameResolver-7GHF5ED2.js +22 -0
- package/dist/{audit-PD5L5ZSC.js → audit-BUW3LMJB.js} +3 -3
- package/dist/chunk-5H3C2SWM.js +3293 -0
- package/dist/chunk-5H3C2SWM.js.map +1 -0
- package/dist/chunk-5SIXIV7R.js +1925 -0
- package/dist/chunk-5SIXIV7R.js.map +1 -0
- package/dist/{chunk-YNU5QJ4S.js → chunk-7BNPOCLL.js} +22 -5
- package/dist/chunk-7BNPOCLL.js.map +1 -0
- package/dist/{chunk-4ZTIEYU2.js → chunk-CDQ3PX7L.js} +1 -1
- package/dist/chunk-CDQ3PX7L.js.map +1 -0
- package/dist/chunk-GNTALZV3.js +17 -0
- package/dist/chunk-GNTALZV3.js.map +1 -0
- package/dist/chunk-GWSBHC4J.js +1349 -0
- package/dist/chunk-GWSBHC4J.js.map +1 -0
- package/dist/{chunk-JUUNUW3O.js → chunk-HD7PYDUV.js} +14 -5
- package/dist/chunk-HD7PYDUV.js.map +1 -0
- package/dist/{chunk-H4PZ4B3Y.js → chunk-HXX35Q2M.js} +113 -27
- package/dist/chunk-HXX35Q2M.js.map +1 -0
- package/dist/chunk-K6B7BLSE.js +388 -0
- package/dist/chunk-K6B7BLSE.js.map +1 -0
- package/dist/chunk-M4RW7PIP.js +5441 -0
- package/dist/chunk-M4RW7PIP.js.map +1 -0
- package/dist/chunk-MZBUOP4P.js +119 -0
- package/dist/chunk-MZBUOP4P.js.map +1 -0
- package/dist/chunk-N2EUGZRW.js +98 -0
- package/dist/chunk-N2EUGZRW.js.map +1 -0
- package/dist/chunk-NQ4TOOO6.js +20 -0
- package/dist/chunk-NQ4TOOO6.js.map +1 -0
- package/dist/{chunk-DC5AMYBS.js → chunk-PLDDJCW6.js} +15 -5
- package/dist/chunk-PLDDJCW6.js.map +1 -0
- package/dist/{chunk-IOX76PSM.js → chunk-PVMYVQSM.js} +270 -28
- package/dist/chunk-PVMYVQSM.js.map +1 -0
- package/dist/{chunk-4MCJAK7J.js → chunk-QKHFMQ5R.js} +2155 -4853
- package/dist/chunk-QKHFMQ5R.js.map +1 -0
- package/dist/chunk-QVYBYGT2.js +428 -0
- package/dist/chunk-QVYBYGT2.js.map +1 -0
- package/dist/{chunk-WHLSWC6W.js → chunk-SS3E6QLB.js} +16 -61
- package/dist/chunk-SS3E6QLB.js.map +1 -0
- package/dist/chunk-WJARTBCT.js +128 -0
- package/dist/chunk-WJARTBCT.js.map +1 -0
- package/dist/chunk-YDJW5XTN.js +84 -0
- package/dist/chunk-YDJW5XTN.js.map +1 -0
- package/dist/components.d.ts +907 -10
- package/dist/components.js +3237 -204
- package/dist/components.js.map +1 -1
- package/dist/{database-CAMsquLm.d.ts → database-C3Szpi5J.d.ts} +28 -11
- package/dist/hooks.d.ts +7 -6
- package/dist/hooks.js +33 -11
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +247 -111
- package/dist/index.js +330 -185
- package/dist/index.js.map +1 -1
- package/dist/{organisation-DLNNQhPB.d.ts → organisation-CO3Sh3_D.d.ts} +1 -1
- package/dist/providers.d.ts +5 -4
- package/dist/providers.js +14 -5
- package/dist/rbac/index.d.ts +964 -839
- package/dist/rbac/index.js +58 -1970
- package/dist/rbac/index.js.map +1 -1
- package/dist/styles/core.css +364 -0
- package/dist/styles/fonts/georama-italic.woff2 +0 -0
- package/dist/styles/fonts/georama.woff2 +0 -0
- package/dist/styles/fonts/open-sans-italic.woff2 +0 -0
- package/dist/styles/fonts/open-sans.woff2 +0 -0
- package/dist/styles/fonts/reddit-mono.woff2 +0 -0
- package/dist/styles/index.d.ts +36 -0
- package/dist/styles/index.js +24 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/theming/runtime.d.ts +73 -0
- package/dist/theming/runtime.js +16 -0
- package/dist/theming/runtime.js.map +1 -0
- package/dist/{types-Bavn44NW.d.ts → types-BRDU7N6w.d.ts} +79 -33
- package/dist/types.d.ts +5 -5
- package/dist/types.js +7 -2
- package/dist/types.js.map +1 -1
- package/dist/{unified-BtRpPbmp.d.ts → unified-CMPjE_fv.d.ts} +0 -1
- package/dist/usePublicRouteParams-B2OcAsur.d.ts +477 -0
- package/dist/utils.d.ts +83 -60
- package/dist/utils.js +293 -55651
- package/dist/utils.js.map +1 -1
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +1 -1
- package/docs/INDEX.md +192 -0
- package/docs/README.md +46 -32
- package/docs/api/README.md +231 -229
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +73 -0
- package/docs/api/classes/MissingUserContextError.md +66 -0
- package/docs/api/classes/OrganisationContextRequiredError.md +66 -0
- package/docs/api/classes/PermissionDeniedError.md +73 -0
- package/docs/api/classes/PublicErrorBoundary.md +132 -0
- package/docs/api/classes/RBACAuditManager.md +270 -0
- package/docs/api/classes/RBACCache.md +284 -0
- package/docs/api/classes/RBACEngine.md +141 -0
- package/docs/api/classes/RBACError.md +76 -0
- package/docs/api/classes/RBACNotInitializedError.md +66 -0
- package/docs/api/classes/SecureSupabaseClient.md +135 -0
- package/docs/api/interfaces/AggregateConfig.md +4 -4
- package/docs/api/interfaces/ButtonProps.md +2 -2
- package/docs/api/interfaces/CardProps.md +2 -2
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +96 -0
- package/docs/api/interfaces/DataTableAction.md +98 -7
- package/docs/api/interfaces/DataTableColumn.md +131 -12
- package/docs/api/interfaces/DataTableProps.md +77 -274
- package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
- package/docs/api/interfaces/EmptyStateConfig.md +5 -5
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +235 -0
- package/docs/api/interfaces/EventContextType.md +7 -7
- package/docs/api/interfaces/EventLogoProps.md +152 -0
- package/docs/api/interfaces/EventProviderProps.md +2 -2
- package/docs/api/interfaces/FileSizeLimits.md +7 -0
- package/docs/api/interfaces/FileUploadProps.md +154 -0
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +115 -0
- package/docs/api/interfaces/InputProps.md +2 -2
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +107 -0
- package/docs/api/interfaces/NavigationContextType.md +164 -0
- package/docs/api/interfaces/NavigationGuardProps.md +139 -0
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +117 -0
- 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 +26 -26
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +85 -0
- package/docs/api/interfaces/PagePermissionContextType.md +140 -0
- package/docs/api/interfaces/PagePermissionGuardProps.md +153 -0
- package/docs/api/interfaces/PagePermissionProviderProps.md +119 -0
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +153 -0
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +94 -0
- package/docs/api/interfaces/PublicErrorBoundaryState.md +68 -0
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +86 -0
- package/docs/api/interfaces/PublicPageFooterProps.md +112 -0
- package/docs/api/interfaces/PublicPageHeaderProps.md +138 -0
- package/docs/api/interfaces/PublicPageLayoutProps.md +138 -0
- package/docs/api/interfaces/RBACConfig.md +99 -0
- package/docs/api/interfaces/RBACContextType.md +474 -0
- package/docs/api/interfaces/RBACLogger.md +112 -0
- package/docs/api/interfaces/RBACProviderProps.md +107 -0
- package/docs/api/interfaces/RoleBasedRouterContextType.md +151 -0
- package/docs/api/interfaces/RoleBasedRouterProps.md +156 -0
- package/docs/api/interfaces/RouteAccessRecord.md +107 -0
- package/docs/api/interfaces/RouteConfig.md +121 -0
- package/docs/api/interfaces/SecureDataContextType.md +168 -0
- package/docs/api/interfaces/SecureDataProviderProps.md +132 -0
- package/docs/api/interfaces/StorageConfig.md +41 -0
- package/docs/api/interfaces/StorageFileInfo.md +74 -0
- package/docs/api/interfaces/StorageFileMetadata.md +140 -0
- package/docs/api/interfaces/StorageListOptions.md +86 -0
- package/docs/api/interfaces/StorageListResult.md +41 -0
- package/docs/api/interfaces/StorageUploadOptions.md +88 -0
- package/docs/api/interfaces/StorageUploadResult.md +63 -0
- package/docs/api/interfaces/StorageUrlOptions.md +47 -0
- package/docs/api/interfaces/StyleImport.md +2 -2
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +465 -64
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +95 -9
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +136 -0
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +123 -0
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +87 -0
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +81 -0
- package/docs/api/interfaces/UsePublicEventOptions.md +34 -0
- package/docs/api/interfaces/UsePublicEventReturn.md +68 -0
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +94 -0
- package/docs/api/interfaces/UserEventAccess.md +14 -14
- package/docs/api/interfaces/UserMenuProps.md +6 -6
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +4233 -1134
- package/docs/api-reference/components.md +761 -43
- package/docs/api-reference/hooks.md +126 -0
- package/docs/api-reference/providers.md +141 -65
- package/docs/api-reference/types.md +66 -36
- package/docs/api-reference/utilities.md +1 -1
- package/docs/architecture/README.md +1 -2
- package/docs/best-practices/README.md +400 -0
- package/docs/consuming-app-example.md +42 -96
- package/docs/consuming-app-vite-config.md +233 -0
- package/docs/core-concepts/events.md +3 -3
- package/docs/core-concepts/organisations.md +0 -1
- package/docs/core-concepts/rbac-system.md +23 -10
- package/docs/documentation-style-checklist.md +8 -2
- package/docs/examples/navigation-menu-auth-fix.md +344 -0
- package/docs/getting-started/examples/README.md +15 -1
- package/docs/getting-started/examples/basic-auth-app.md +444 -119
- package/docs/getting-started/examples/full-featured-app.md +6 -6
- package/docs/getting-started/installation.md +231 -52
- package/docs/getting-started/quick-start.md +121 -24
- package/docs/implementation-guides/app-layout.md +133 -108
- package/docs/implementation-guides/data-tables.md +1011 -29
- package/docs/implementation-guides/forms.md +3 -3
- package/docs/implementation-guides/hierarchical-datatable.md +850 -0
- package/docs/implementation-guides/large-datasets.md +2 -2
- package/docs/implementation-guides/navigation.md +1 -1
- package/docs/implementation-guides/permission-enforcement.md +4 -4
- package/docs/implementation-guides/public-pages.md +752 -0
- package/docs/migration/README.md +18 -8
- package/docs/migration/quick-migration-guide.md +320 -0
- package/docs/migration/rbac-migration.md +50 -0
- package/docs/migration/v0.4.15-tailwind-scanning.md +272 -0
- package/docs/migration/v0.4.16-css-first-approach.md +306 -0
- package/docs/migration/v0.4.17-source-path-fix.md +229 -0
- package/docs/migration-guide.md +77 -105
- package/docs/performance/README.md +1 -4
- package/docs/print-components/README.md +258 -0
- package/docs/print-components/api-reference.md +636 -0
- package/docs/print-components/examples/README.md +204 -0
- package/docs/print-components/examples/basic-report.tsx +92 -0
- package/docs/print-components/examples/card-catalog.tsx +149 -0
- package/docs/print-components/examples/cover-page-report.tsx +163 -0
- package/docs/print-components/quick-start.md +363 -0
- package/docs/quick-reference.md +53 -36
- package/docs/rbac/README.md +136 -69
- package/docs/rbac/api-reference.md +39 -8
- package/docs/rbac/examples.md +237 -66
- package/docs/rbac/getting-started.md +131 -16
- package/docs/rbac/quick-start.md +499 -323
- package/docs/rbac/troubleshooting.md +240 -262
- package/docs/security/README.md +50 -1
- package/docs/styles/README.md +226 -111
- package/docs/testing/README.md +6 -10
- package/docs/troubleshooting/README.md +497 -0
- package/docs/troubleshooting/common-issues.md +604 -14
- package/docs/troubleshooting/styling-issues.md +219 -0
- package/docs/troubleshooting/tailwind-content-scanning.md +213 -0
- package/docs/usage.md +54 -91
- package/docs/visual-testing.md +0 -7
- package/package.json +47 -25
- package/src/__mocks__/lucide-react.ts +181 -0
- package/src/__tests__/REBUILD_PLAN.md +223 -0
- package/src/__tests__/TESTING_GUIDELINES.md +341 -0
- package/src/__tests__/fixtures/mocks.ts +93 -0
- package/src/__tests__/helpers/component-test-utils.tsx +145 -0
- package/src/__tests__/helpers/test-utils.tsx +117 -0
- package/src/__tests__/integration/UserProfile.test.tsx +128 -0
- package/src/__tests__/setup.ts +71 -0
- package/src/__tests__/templates/accessibility.test.template.tsx +279 -0
- package/src/__tests__/templates/component.test.template.tsx +144 -0
- package/src/__tests__/templates/hook.test.template.ts +173 -0
- package/src/__tests__/templates/integration.test.template.tsx +199 -0
- package/src/__tests__/types/test.types.ts +106 -0
- package/src/components/Alert/Alert.test.tsx +496 -0
- package/src/components/Alert/Alert.tsx +134 -0
- package/src/components/Alert/index.ts +2 -0
- package/src/components/Avatar/Avatar.test.tsx +484 -0
- package/src/components/Avatar/Avatar.tsx +84 -0
- package/src/components/Avatar/index.ts +2 -0
- package/src/components/Button/Button.test.tsx +662 -0
- package/src/components/Button/Button.tsx +270 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/Card/Card.test.tsx +593 -0
- package/src/components/Card/Card.tsx +271 -0
- package/src/components/Card/index.ts +1 -0
- package/src/components/Checkbox/Checkbox.test.tsx +461 -0
- package/src/components/Checkbox/Checkbox.tsx +75 -0
- package/src/components/Checkbox/__mocks__/Checkbox.tsx +2 -0
- package/src/components/Checkbox/index.ts +2 -0
- package/src/components/DataTable/DataTable.tsx +446 -0
- package/src/components/DataTable/__tests__/README.md +145 -0
- package/src/components/DataTable/__tests__/mocks/MockRBACProvider.tsx +66 -0
- package/src/components/DataTable/__tests__/test-utils/dataFactories.ts +103 -0
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +381 -0
- package/src/components/DataTable/__tests__/test-utils.ts +94 -0
- package/src/components/DataTable/components/AccessDeniedPage.tsx +168 -0
- package/src/components/DataTable/components/ActionButtons.tsx +194 -0
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +160 -0
- package/src/components/DataTable/components/ColumnFilter.tsx +114 -0
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +100 -0
- package/src/components/DataTable/components/DataTableBody.tsx +461 -0
- package/src/components/DataTable/components/DataTableCore.tsx +1027 -0
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +214 -0
- package/src/components/DataTable/components/DataTableModals.tsx +87 -0
- package/src/components/DataTable/components/DataTableToolbar.tsx +262 -0
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +144 -0
- package/src/components/DataTable/components/EditableRow.tsx +159 -0
- package/src/components/DataTable/components/EmptyState.tsx +64 -0
- package/src/components/DataTable/components/ExpandButton.tsx +113 -0
- package/src/components/DataTable/components/FilterRow.tsx +100 -0
- package/src/components/DataTable/components/GroupHeader.tsx +42 -0
- package/src/components/DataTable/components/GroupingDropdown.tsx +96 -0
- package/src/components/DataTable/components/ImportModal.tsx +345 -0
- package/src/components/DataTable/components/LoadingState.tsx +12 -0
- package/src/components/DataTable/components/PaginationControls.tsx +332 -0
- package/src/components/DataTable/components/UnifiedTableBody.tsx +742 -0
- package/src/components/DataTable/components/ViewRowModal.tsx +68 -0
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +513 -0
- package/src/components/DataTable/components/index.ts +16 -0
- package/src/components/DataTable/context/DataTableContext.tsx +97 -0
- package/src/components/DataTable/core/ActionManager.ts +235 -0
- package/src/components/DataTable/core/ColumnFactory.ts +268 -0
- package/src/components/DataTable/core/ColumnManager.ts +205 -0
- package/src/components/DataTable/core/DataManager.ts +188 -0
- package/src/components/DataTable/core/DataTableContext.tsx +181 -0
- package/src/components/DataTable/core/LocalDataAdapter.ts +264 -0
- package/src/components/DataTable/core/PluginRegistry.ts +229 -0
- package/src/components/DataTable/core/StateManager.ts +311 -0
- package/src/components/DataTable/core/index.ts +8 -0
- package/src/components/DataTable/core/interfaces.ts +338 -0
- package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +419 -0
- package/src/components/DataTable/examples/HierarchicalExample.tsx +475 -0
- package/src/components/DataTable/examples/InitialPageSizeExample.tsx +176 -0
- package/src/components/DataTable/examples/PerformanceExample.tsx +505 -0
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +95 -0
- package/src/components/DataTable/hooks/useColumnReordering.ts +110 -0
- package/src/components/DataTable/hooks/useDataTableState.ts +325 -0
- package/src/components/DataTable/hooks/useHierarchicalState.ts +174 -0
- package/src/components/DataTable/index.ts +68 -0
- package/src/components/DataTable/styles.ts +171 -0
- package/src/components/DataTable/types.ts +511 -0
- package/src/components/DataTable/utils/debugTools.ts +583 -0
- package/src/components/DataTable/utils/errorHandling.ts +494 -0
- package/src/components/DataTable/utils/exportUtils.ts +126 -0
- package/src/components/DataTable/utils/flexibleImport.ts +510 -0
- package/src/components/DataTable/utils/hierarchicalSorting.ts +151 -0
- package/src/components/DataTable/utils/hierarchicalUtils.ts +218 -0
- package/src/components/DataTable/utils/index.ts +1 -0
- package/src/components/DataTable/utils/performanceUtils.ts +351 -0
- package/src/components/Dialog/Dialog.test.tsx +1139 -0
- package/src/components/Dialog/Dialog.tsx +782 -0
- package/src/components/Dialog/README.md +804 -0
- package/src/components/Dialog/examples/BasicHtmlTest.tsx +55 -0
- package/src/components/Dialog/examples/DebugHtmlExample.tsx +68 -0
- package/src/components/Dialog/examples/HtmlDialogExample.tsx +202 -0
- package/src/components/Dialog/examples/SimpleHtmlTest.tsx +61 -0
- package/src/components/Dialog/examples/SmartDialogExample.tsx +322 -0
- package/src/components/Dialog/index.ts +12 -0
- package/src/components/Dialog/utils/safeHtml.ts +185 -0
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +752 -0
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +312 -0
- package/src/components/ErrorBoundary/index.ts +8 -0
- package/src/components/EventSelector/EventSelector.tsx +360 -0
- package/src/components/EventSelector/index.ts +3 -0
- package/src/components/EventSelector/types.ts +79 -0
- package/src/components/FileUpload/FileUpload.example.tsx +218 -0
- package/src/components/FileUpload/FileUpload.test.tsx +665 -0
- package/src/components/FileUpload/FileUpload.tsx +237 -0
- package/src/components/FileUpload/index.ts +6 -0
- package/src/components/Footer/Footer.test.tsx +482 -0
- package/src/components/Footer/Footer.tsx +197 -0
- package/src/components/Footer/index.ts +17 -0
- package/src/components/Form/Form.test.tsx +1158 -0
- package/src/components/Form/Form.tsx +166 -0
- package/src/components/Form/FormErrorSummary.tsx +113 -0
- package/src/components/Form/FormField.tsx +249 -0
- package/src/components/Form/FormFieldset.tsx +127 -0
- package/src/components/Form/FormLiveRegion.tsx +198 -0
- package/src/components/Form/index.ts +26 -0
- package/src/components/Header/Header.test.tsx +582 -0
- package/src/components/Header/Header.tsx +301 -0
- package/src/components/Header/index.ts +4 -0
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +489 -0
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +164 -0
- package/src/components/InactivityWarningModal/index.ts +9 -0
- package/src/components/Input/Input.test.tsx +466 -0
- package/src/components/Input/Input.tsx +201 -0
- package/src/components/Input/__mocks__/Input.tsx +2 -0
- package/src/components/Input/index.ts +9 -0
- package/src/components/Label/Label.tsx +186 -0
- package/src/components/Label/index.ts +2 -0
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +450 -0
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +98 -0
- package/src/components/LoadingSpinner/index.ts +3 -0
- package/src/components/LoginForm/LoginForm.test.tsx +816 -0
- package/src/components/LoginForm/LoginForm.tsx +273 -0
- package/src/components/LoginForm/index.ts +3 -0
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +883 -0
- package/src/components/NavigationMenu/NavigationMenu.tsx +698 -0
- package/src/components/NavigationMenu/index.ts +10 -0
- package/src/components/NavigationMenu/types.ts +85 -0
- package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +748 -0
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +304 -0
- package/src/components/OrganisationSelector/index.ts +9 -0
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +891 -0
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +699 -0
- package/src/components/PaceAppLayout/README.md +278 -0
- package/src/components/PaceAppLayout/index.ts +1 -0
- package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +475 -0
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +221 -0
- package/src/components/PaceLoginPage/index.ts +1 -0
- package/src/components/PasswordReset/PasswordChangeForm.test.tsx +621 -0
- package/src/components/PasswordReset/PasswordChangeForm.tsx +186 -0
- package/src/components/PasswordReset/PasswordResetForm.test.tsx +605 -0
- package/src/components/PasswordReset/PasswordResetForm.tsx +201 -0
- package/src/components/PasswordReset/index.ts +4 -0
- package/src/components/PrintButton/PrintButton.tsx +321 -0
- package/src/components/PrintButton/PrintButtonGroup.tsx +84 -0
- package/src/components/PrintButton/PrintToolbar.tsx +94 -0
- package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +438 -0
- package/src/components/PrintButton/index.ts +33 -0
- package/src/components/PrintButton/types.ts +173 -0
- package/src/components/PrintCard/PrintCard.tsx +154 -0
- package/src/components/PrintCard/PrintCardContent.tsx +57 -0
- package/src/components/PrintCard/PrintCardFooter.tsx +60 -0
- package/src/components/PrintCard/PrintCardGrid.tsx +91 -0
- package/src/components/PrintCard/PrintCardHeader.tsx +78 -0
- package/src/components/PrintCard/PrintCardImage.tsx +81 -0
- package/src/components/PrintCard/examples/PrintCardShowcase.tsx +239 -0
- package/src/components/PrintCard/index.ts +34 -0
- package/src/components/PrintCard/types.ts +171 -0
- package/src/components/PrintDataTable/PrintDataTable.tsx +215 -0
- package/src/components/PrintDataTable/PrintTableGroup.tsx +90 -0
- package/src/components/PrintDataTable/PrintTableRow.tsx +76 -0
- package/src/components/PrintDataTable/index.ts +25 -0
- package/src/components/PrintDataTable/types.ts +67 -0
- package/src/components/PrintFooter/PrintFooter.tsx +183 -0
- package/src/components/PrintFooter/PrintFooterContent.tsx +71 -0
- package/src/components/PrintFooter/PrintFooterInfo.tsx +86 -0
- package/src/components/PrintFooter/PrintPageNumber.tsx +90 -0
- package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +390 -0
- package/src/components/PrintFooter/index.ts +30 -0
- package/src/components/PrintFooter/types.ts +149 -0
- package/src/components/PrintGrid/PrintGrid.tsx +180 -0
- package/src/components/PrintGrid/PrintGridBreakpoint.tsx +109 -0
- package/src/components/PrintGrid/PrintGridContainer.tsx +128 -0
- package/src/components/PrintGrid/PrintGridItem.tsx +220 -0
- package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +359 -0
- package/src/components/PrintGrid/index.ts +31 -0
- package/src/components/PrintGrid/types.ts +159 -0
- package/src/components/PrintHeader/PrintCoverHeader.tsx +230 -0
- package/src/components/PrintHeader/PrintHeader.tsx +150 -0
- package/src/components/PrintHeader/index.ts +17 -0
- package/src/components/PrintHeader/types.ts +42 -0
- package/src/components/PrintLayout/PrintLayout.tsx +122 -0
- package/src/components/PrintLayout/PrintLayoutContext.tsx +66 -0
- package/src/components/PrintLayout/PrintPageBreak.tsx +52 -0
- package/src/components/PrintLayout/examples/PrintShowcase.tsx +230 -0
- package/src/components/PrintLayout/index.ts +19 -0
- package/src/components/PrintLayout/types.ts +37 -0
- package/src/components/PrintPageBreak/PrintPageBreak.tsx +120 -0
- package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +90 -0
- package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +112 -0
- package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +279 -0
- package/src/components/PrintPageBreak/index.ts +23 -0
- package/src/components/PrintPageBreak/types.ts +94 -0
- package/src/components/PrintSection/PrintColumn.tsx +104 -0
- package/src/components/PrintSection/PrintDivider.tsx +101 -0
- package/src/components/PrintSection/PrintSection.tsx +129 -0
- package/src/components/PrintSection/PrintSectionContent.tsx +75 -0
- package/src/components/PrintSection/PrintSectionHeader.tsx +97 -0
- package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +258 -0
- package/src/components/PrintSection/index.ts +33 -0
- package/src/components/PrintSection/types.ts +155 -0
- package/src/components/PrintText/PrintText.tsx +116 -0
- package/src/components/PrintText/index.ts +16 -0
- package/src/components/PrintText/types.ts +24 -0
- package/src/components/Progress/Progress.tsx +116 -0
- package/src/components/Progress/index.ts +3 -0
- package/src/components/PublicLayout/EventLogo.tsx +287 -0
- package/src/components/PublicLayout/PublicErrorBoundary.tsx +279 -0
- package/src/components/PublicLayout/PublicLoadingSpinner.tsx +208 -0
- package/src/components/PublicLayout/PublicPageContextChecker.tsx +130 -0
- package/src/components/PublicLayout/PublicPageDebugger.tsx +104 -0
- package/src/components/PublicLayout/PublicPageDiagnostic.tsx +162 -0
- package/src/components/PublicLayout/PublicPageFooter.tsx +124 -0
- package/src/components/PublicLayout/PublicPageHeader.tsx +178 -0
- package/src/components/PublicLayout/PublicPageLayout.tsx +232 -0
- package/src/components/PublicLayout/PublicPageProvider.tsx +137 -0
- package/src/components/PublicLayout/index.ts +51 -0
- package/src/components/Select/Select.test.tsx +948 -0
- package/src/components/Select/Select.tsx +660 -0
- package/src/components/Select/index.ts +1 -0
- package/src/components/SuperAdminGuard.tsx +116 -0
- package/src/components/Table/Table.tsx +222 -0
- package/src/components/Table/index.ts +11 -0
- package/src/components/Toast/Toast.test.tsx +586 -0
- package/src/components/Toast/Toast.tsx +339 -0
- package/src/components/Toast/index.ts +14 -0
- package/src/components/Tooltip/Tooltip.test.tsx +852 -0
- package/src/components/Tooltip/Tooltip.tsx +167 -0
- package/src/components/Tooltip/index.ts +7 -0
- package/src/components/UserMenu/UserMenu.test.tsx +702 -0
- package/src/components/UserMenu/UserMenu.tsx +243 -0
- package/src/components/UserMenu/index.ts +3 -0
- package/src/components/examples/PermissionExample.tsx +150 -0
- package/src/components/index.ts +434 -0
- package/src/components.ts +19 -0
- package/src/constants/performance.ts +14 -0
- package/src/examples/CorrectPublicPageImplementation.tsx +301 -0
- package/src/examples/PublicEventPage.tsx +274 -0
- package/src/examples/PublicPageApp.tsx +308 -0
- package/src/examples/PublicPageUsageExample.tsx +216 -0
- package/src/hooks/index.ts +56 -0
- package/src/hooks/public/index.ts +34 -0
- package/src/hooks/public/usePublicEvent.ts +261 -0
- package/src/hooks/public/usePublicEventLogo.ts +285 -0
- package/src/hooks/public/usePublicRouteParams.ts +259 -0
- package/src/hooks/useAppConfig.ts +94 -0
- package/src/hooks/useComponentPerformance.ts +39 -0
- package/src/hooks/useCounter.test.ts +135 -0
- package/src/hooks/useDataTablePerformance.ts +387 -0
- package/src/hooks/useDataTableState.ts +110 -0
- package/src/hooks/useDebounce.test.ts +375 -0
- package/src/hooks/useDebounce.ts +18 -0
- package/src/hooks/useFocusManagement.ts +161 -0
- package/src/hooks/useFocusTrap.ts +155 -0
- package/src/hooks/useInactivityTracker.ts +372 -0
- package/src/hooks/useIsMobile.ts +42 -0
- package/src/hooks/useKeyboardShortcuts.ts +237 -0
- package/src/hooks/useOrganisationPermissions.test.ts +528 -0
- package/src/hooks/useOrganisationPermissions.ts +208 -0
- package/src/hooks/useOrganisationSecurity.test.ts +734 -0
- package/src/hooks/useOrganisationSecurity.ts +262 -0
- package/src/hooks/usePerformanceMonitor.ts +128 -0
- package/src/hooks/usePermissionCache.test.ts +542 -0
- package/src/hooks/usePermissionCache.ts +455 -0
- package/src/hooks/useSecureDataAccess.ts +586 -0
- package/src/hooks/useStorage.ts +274 -0
- package/src/hooks/useToast.ts +242 -0
- package/src/hooks/useZodForm.ts +28 -0
- package/src/index.ts +199 -0
- package/src/providers/AuthProvider.tsx +369 -0
- package/src/providers/EventProvider.tsx +324 -0
- package/src/providers/InactivityProvider.tsx +238 -0
- package/src/providers/OrganisationProvider.tsx +588 -0
- package/src/providers/UnifiedAuthProvider.tsx +327 -0
- package/src/providers/index.ts +17 -0
- package/src/rbac/README.md +885 -0
- package/src/rbac/__tests__/integration.test.tsx +218 -0
- package/src/rbac/adapters.tsx +726 -0
- package/src/rbac/api.test.ts +441 -0
- package/src/rbac/api.ts +339 -0
- package/src/rbac/audit-enhanced.ts +339 -0
- package/src/rbac/audit.ts +338 -0
- package/src/rbac/cache.ts +215 -0
- package/src/rbac/components/EnhancedNavigationMenu.tsx +294 -0
- package/src/rbac/components/NavigationGuard.tsx +294 -0
- package/src/rbac/components/NavigationProvider.tsx +314 -0
- package/src/rbac/components/PagePermissionGuard.tsx +430 -0
- package/src/rbac/components/PagePermissionProvider.tsx +274 -0
- package/src/rbac/components/PermissionEnforcer.tsx +307 -0
- package/src/rbac/components/RoleBasedRouter.tsx +425 -0
- package/src/rbac/components/SecureDataProvider.tsx +319 -0
- package/src/rbac/components/index.ts +64 -0
- package/src/rbac/config.ts +133 -0
- package/src/rbac/docs/event-based-apps.md +285 -0
- package/src/rbac/engine.ts +1026 -0
- package/src/rbac/eslint-rules.js +285 -0
- package/src/rbac/examples/CompleteRBACExample.tsx +323 -0
- package/src/rbac/examples/EventBasedApp.tsx +238 -0
- package/src/rbac/hooks/index.ts +21 -0
- package/src/rbac/hooks/useCan.test.ts +461 -0
- package/src/rbac/hooks/usePermissions.test.ts +359 -0
- package/src/rbac/hooks/usePermissions.ts +567 -0
- package/src/rbac/hooks/useRBAC.simple.test.ts +90 -0
- package/src/rbac/hooks/useRBAC.test.ts +503 -0
- package/src/rbac/hooks/useRBAC.ts +262 -0
- package/src/rbac/index.ts +109 -0
- package/src/rbac/permissions.ts +293 -0
- package/src/rbac/providers/RBACProvider.tsx +634 -0
- package/src/rbac/providers/__tests__/RBACProvider.test.tsx +687 -0
- package/src/rbac/providers/index.ts +11 -0
- package/src/rbac/secureClient.ts +244 -0
- package/src/rbac/security.ts +346 -0
- package/src/rbac/testing/index.tsx +340 -0
- package/src/rbac/types.ts +343 -0
- package/src/rbac/utils/eventContext.ts +83 -0
- package/src/styles/core.css +364 -0
- package/src/styles/index.ts +51 -0
- package/src/theming/runtime.ts +187 -0
- package/src/types/database.ts +472 -0
- package/src/types/guards.ts +30 -0
- package/src/types/index.ts +25 -0
- package/src/types/organisation.ts +184 -0
- package/src/types/security.ts +70 -0
- package/src/types/supabase.ts +166 -0
- package/src/types/theme.ts +6 -0
- package/src/types/unified.ts +262 -0
- package/src/types/validation.ts +164 -0
- package/src/types/vitest-globals.d.ts +43 -0
- package/src/utils/__mocks__/supabaseMock.ts +75 -0
- package/src/utils/__mocks__/supabaseMock.tsx +198 -0
- package/src/utils/appConfig.ts +47 -0
- package/src/utils/appIdResolver.ts +130 -0
- package/src/utils/appNameResolver.ts +190 -0
- package/src/utils/audit.ts +127 -0
- package/src/utils/auth-utils.ts +96 -0
- package/src/utils/bundleAnalysis.ts +129 -0
- package/src/utils/cn.ts +7 -0
- package/src/utils/debugLogger.ts +46 -0
- package/src/utils/deviceFingerprint.ts +215 -0
- package/src/utils/dynamicUtils.ts +105 -0
- package/src/utils/formatDate.test.ts +241 -0
- package/src/utils/formatting.ts +77 -0
- package/src/utils/index.ts +145 -0
- package/src/utils/lazyLoad.tsx +44 -0
- package/src/utils/organisationContext.ts +135 -0
- package/src/utils/performanceBenchmark.ts +64 -0
- package/src/utils/performanceBudgets.ts +111 -0
- package/src/utils/permissionTypes.ts +37 -0
- package/src/utils/permissionUtils.ts +31 -0
- package/src/utils/print/PrintDataProcessor.ts +390 -0
- package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +397 -0
- package/src/utils/print/index.ts +29 -0
- package/src/utils/print/types.ts +196 -0
- package/src/utils/print/usePrintOptimization.ts +272 -0
- package/src/utils/sanitization.ts +264 -0
- package/src/utils/schemaUtils.ts +37 -0
- package/src/utils/secureDataAccess.ts +361 -0
- package/src/utils/secureErrors.ts +79 -0
- package/src/utils/secureStorage.ts +244 -0
- package/src/utils/security.ts +156 -0
- package/src/utils/securityMonitor.ts +45 -0
- package/src/utils/sessionTracking.ts +170 -0
- package/src/utils/storage/README.md +348 -0
- package/src/utils/storage/config.ts +100 -0
- package/src/utils/storage/helpers.ts +359 -0
- package/src/utils/storage/index.ts +36 -0
- package/src/utils/storage/types.ts +90 -0
- package/src/utils/validation.ts +111 -0
- package/src/utils/validationUtils.ts +120 -0
- package/src/validation/common.ts +53 -0
- package/src/validation/csrf.ts +214 -0
- package/src/validation/index.ts +43 -0
- package/src/validation/passwordSchema.ts +125 -0
- package/src/validation/sanitization.ts +96 -0
- package/src/validation/schemaUtils.ts +42 -0
- package/src/validation/sqlInjectionProtection.ts +242 -0
- package/src/validation/user.ts +34 -0
- package/dist/chunk-4MCJAK7J.js.map +0 -1
- package/dist/chunk-4ZTIEYU2.js.map +0 -1
- package/dist/chunk-H4PZ4B3Y.js.map +0 -1
- package/dist/chunk-IOX76PSM.js.map +0 -1
- package/dist/chunk-JUUNUW3O.js.map +0 -1
- package/dist/chunk-KK6WIDK6.js +0 -63
- package/dist/chunk-KK6WIDK6.js.map +0 -1
- package/dist/chunk-U7DY5T33.js +0 -11
- package/dist/chunk-U7DY5T33.js.map +0 -1
- package/dist/chunk-WHLSWC6W.js.map +0 -1
- package/dist/chunk-XI7QFSSC.js +0 -790
- package/dist/chunk-XI7QFSSC.js.map +0 -1
- package/dist/chunk-XIJMMBDD.js +0 -73
- package/dist/chunk-XIJMMBDD.js.map +0 -1
- package/dist/chunk-YNU5QJ4S.js.map +0 -1
- package/dist/chunk-YWYCNGWH.js +0 -2070
- package/dist/chunk-YWYCNGWH.js.map +0 -1
- package/dist/chunk-ZJ3UKPIW.js +0 -952
- package/dist/chunk-ZJ3UKPIW.js.map +0 -1
- package/dist/useAppConfig-CZNJJsT_.d.ts +0 -148
- package/dist/{DataTable-2LB6HI6V.js.map → DataTable-ZQDRE46Q.js.map} +0 -0
- package/dist/{api-AIJ3IJX3.js.map → api-H5A3H4IR.js.map} +0 -0
- package/dist/{audit-PD5L5ZSC.js.map → appNameResolver-7GHF5ED2.js.map} +0 -0
- package/dist/{chunk-DC5AMYBS.js.map → audit-BUW3LMJB.js.map} +0 -0
- package/dist/{validation-D2-NNCCE.d.ts → validation-PM_iOaTI.d.ts} +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,31 @@ All notable changes to the `@jmruthers/pace-core` package will be documented in
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **DataTable Initial Page Size**: Added `initialPageSize` prop to DataTable component for customizing the initial page size
|
|
12
|
+
- **Page Size Validation**: Automatic validation of initial page size against available options with fallback to closest valid option
|
|
13
|
+
- **Console Warnings**: Helpful warnings when invalid page sizes are provided
|
|
14
|
+
- **DataTable Expand/Collapse All**: Added expand/collapse all button in hierarchical DataTable headers for quick parent row management
|
|
15
|
+
- **Smart State Detection**: Button automatically updates icon (▶️/🔽) based on current expansion state
|
|
16
|
+
- **Accessibility Support**: Full ARIA labels and keyboard navigation for expand/collapse all functionality
|
|
17
|
+
- **DataTable Column Ordering**: Added `columnOrder` prop to DataTable component for custom column positioning
|
|
18
|
+
- **Selection Column Positioning**: Selection column can now be positioned anywhere in the column order
|
|
19
|
+
- **Actions Column Positioning**: Actions column can now be positioned anywhere in the column order
|
|
20
|
+
- **Default Behavior**: When `columnOrder` doesn't include 'select', selection column defaults to first position
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- **DataTable Infinite Loop Prevention**: Fixed infinite re-rendering loops when using complex data processing with `useMemo` hooks
|
|
24
|
+
- **Data Reference Stability**: Improved data reference stability to prevent unnecessary re-renders
|
|
25
|
+
- **Memory Optimization**: Added safeguards against infinite loops with render counting and data comparison
|
|
26
|
+
- **Performance**: Optimized table configuration memoization to prevent unnecessary re-creation
|
|
27
|
+
|
|
28
|
+
### Improved
|
|
29
|
+
- **Data Processing Documentation**: Added comprehensive best practices for data processing with DataTable
|
|
30
|
+
- **Error Handling**: Added infinite loop detection and prevention mechanisms
|
|
31
|
+
- **Type Safety**: Improved TypeScript type handling for complex data scenarios
|
|
32
|
+
|
|
8
33
|
## [0.3.52] - 2024-12-19
|
|
9
34
|
|
|
10
35
|
### Changed
|
|
@@ -22,7 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
22
47
|
- **CRITICAL**: Fixed component classes (.pace-button, .pace-input, .pace-card) to be self-contained
|
|
23
48
|
- **CRITICAL**: Fixed missing basic colors (white, black, transparent, current) in Tailwind v4 theme file
|
|
24
49
|
- **CRITICAL**: Fixed semantic color mappings to match demo app appearance (blue-tinted theme instead of neutral gray)
|
|
25
|
-
- **CRITICAL**: Fixed header layout by adding missing CSS variables (--app-width, --color-
|
|
50
|
+
- **CRITICAL**: Fixed header layout by adding missing CSS variables (--app-width, --color-main-*, --color-sec-*, --color-acc-*)
|
|
26
51
|
- **CRITICAL**: Added comprehensive CSS variable coverage for all components (fonts, design tokens, event colors, Radix UI variables)
|
|
27
52
|
- **CRITICAL**: Added comprehensive troubleshooting guide for "unrecognized configuration parameter" database errors
|
|
28
53
|
|
package/README.md
CHANGED
|
@@ -1,297 +1,299 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @jmruthers/pace-core
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Clean, modern React component library with Tailwind v4 styling and native utilities.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🚀 PaceAppLayout Usage
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
npm install @jmruthers/pace-core
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Styling Setup
|
|
12
|
-
|
|
13
|
-
**IMPORTANT**: PACE Core components require CSS styles to render correctly. We use a clean 3-file CSS structure with Tailwind v4.
|
|
14
|
-
|
|
15
|
-
### Quick Start
|
|
7
|
+
**PaceAppLayout uses React Router's nested routing pattern for optimal performance and scalability.**
|
|
16
8
|
|
|
17
9
|
```tsx
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
// ✅ Correct usage with React Router
|
|
11
|
+
<Router>
|
|
12
|
+
<Routes>
|
|
13
|
+
<Route path="/" element={<PaceAppLayout appName="My App" />}>
|
|
14
|
+
<Route path="dashboard" element={<Dashboard />} />
|
|
15
|
+
<Route path="settings" element={<Settings />} />
|
|
16
|
+
</Route>
|
|
17
|
+
</Routes>
|
|
18
|
+
</Router>
|
|
23
19
|
```
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Create `app.css` with your brand colors:
|
|
21
|
+
## 🚀 Complete Installation Guide
|
|
28
22
|
|
|
29
|
-
|
|
30
|
-
/* app.css - Your app's specific palette */
|
|
31
|
-
@theme static {
|
|
32
|
-
/* MAIN palette - your primary brand color */
|
|
33
|
-
--color-main-raw: oklch(0.7 0.057 252.02);
|
|
34
|
-
--color-main-50: oklch(0.98 0.001 252.02);
|
|
35
|
-
--color-main-100: oklch(0.96 0.005 252.02);
|
|
36
|
-
/* ... complete palette for main, sec, acc */
|
|
37
|
-
}
|
|
38
|
-
```
|
|
23
|
+
### 1. Install Dependencies
|
|
39
24
|
|
|
40
|
-
|
|
25
|
+
```bash
|
|
26
|
+
# Install pace-core and required peer dependencies
|
|
27
|
+
npm install @jmruthers/pace-core @tanstack/react-table @radix-ui/react-checkbox @radix-ui/react-dialog @radix-ui/react-dropdown-menu @radix-ui/react-label @radix-ui/react-slot lucide-react class-variance-authority clsx tailwind-merge
|
|
41
28
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<Button className="bg-main-600 hover:bg-main-700">
|
|
45
|
-
Click me
|
|
46
|
-
</Button>
|
|
47
|
-
|
|
48
|
-
<Card className="bg-main-50 border-main-200">
|
|
49
|
-
<h2 className="text-main-900">Welcome</h2>
|
|
50
|
-
</Card>
|
|
29
|
+
# Install Tailwind CSS v4 and Vite plugin
|
|
30
|
+
npm install -D @tailwindcss/vite tailwindcss@^4.0.0
|
|
51
31
|
```
|
|
52
32
|
|
|
53
|
-
###
|
|
33
|
+
### 2. Import Core Styles
|
|
54
34
|
|
|
55
35
|
```tsx
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
36
|
+
// src/main.tsx (or your app's entry point)
|
|
37
|
+
import '@jmruthers/pace-core/styles/core.css';
|
|
38
|
+
import React from 'react';
|
|
39
|
+
import ReactDOM from 'react-dom/client';
|
|
40
|
+
import App from './App';
|
|
41
|
+
|
|
42
|
+
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
|
|
43
|
+
root.render(
|
|
44
|
+
<React.StrictMode>
|
|
45
|
+
<App />
|
|
46
|
+
</React.StrictMode>
|
|
47
|
+
);
|
|
64
48
|
```
|
|
65
49
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
## Import Strategy
|
|
69
|
-
|
|
70
|
-
PACE Core provides two import paths to optimize for different use cases:
|
|
71
|
-
|
|
72
|
-
### Main Export (Recommended for Common Components)
|
|
50
|
+
### 3. Configure Vite with Tailwind v4
|
|
73
51
|
|
|
74
|
-
|
|
52
|
+
**NEW in v0.4.17+:** Pace-core uses Tailwind v4's CSS-first approach with corrected `@source` directives. This automatically scans the published source files without requiring complex Vite configuration.
|
|
75
53
|
|
|
76
54
|
```typescript
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
55
|
+
// vite.config.ts
|
|
56
|
+
import { defineConfig } from 'vite'
|
|
57
|
+
import react from '@vitejs/plugin-react'
|
|
58
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
59
|
+
import path from 'path'
|
|
60
|
+
|
|
61
|
+
export default defineConfig({
|
|
62
|
+
plugins: [
|
|
63
|
+
react(),
|
|
64
|
+
tailwindcss({
|
|
65
|
+
// Only need to scan your app's source files
|
|
66
|
+
// pace-core source files are automatically scanned via @source directives
|
|
67
|
+
content: [
|
|
68
|
+
'./src/**/*.{js,ts,jsx,tsx}'
|
|
69
|
+
]
|
|
70
|
+
})
|
|
71
|
+
],
|
|
72
|
+
resolve: {
|
|
73
|
+
alias: {
|
|
74
|
+
"@": path.resolve(__dirname, "./src"),
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
server: {
|
|
78
|
+
port: 3000,
|
|
79
|
+
open: true,
|
|
80
|
+
},
|
|
81
|
+
build: {
|
|
82
|
+
outDir: 'dist',
|
|
83
|
+
sourcemap: true,
|
|
84
|
+
},
|
|
85
|
+
})
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
**
|
|
89
|
-
- **Basic UI**: Button, Card, Input, Label, Alert, Avatar, Checkbox, Progress
|
|
90
|
-
- **Advanced UI**: Dialog, DropdownMenu, Select, Toast, Tooltip
|
|
91
|
-
- **Data Display**: DataTable, Table
|
|
92
|
-
- **Forms**: Form, LoginForm
|
|
93
|
-
- **Layout**: Header, Footer, NavigationMenu, UserMenu
|
|
94
|
-
- **Utilities**: ErrorBoundary, LoadingSpinner, EventSelector
|
|
95
|
-
- **Providers**: UnifiedAuthProvider
|
|
96
|
-
- **Hooks**: useUnifiedAuth
|
|
97
|
-
- **Utils**: cn, appConfig utilities
|
|
98
|
-
|
|
99
|
-
### Complete Components Export (For Specialized Components)
|
|
100
|
-
|
|
101
|
-
Use the complete export for specialized or advanced components:
|
|
88
|
+
**Fallback Configuration:** If the CSS-first approach doesn't work, you can explicitly include pace-core source files:
|
|
102
89
|
|
|
103
90
|
```typescript
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
91
|
+
// vite.config.ts - Fallback configuration
|
|
92
|
+
export default defineConfig({
|
|
93
|
+
plugins: [
|
|
94
|
+
react(),
|
|
95
|
+
tailwindcss({
|
|
96
|
+
content: [
|
|
97
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
98
|
+
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
99
|
+
]
|
|
100
|
+
})
|
|
101
|
+
],
|
|
102
|
+
// ... rest of config
|
|
103
|
+
})
|
|
110
104
|
```
|
|
111
105
|
|
|
112
|
-
|
|
113
|
-
- All components from main export
|
|
114
|
-
- **Advanced Form Components**: FormField, FormErrorSummary, FormLiveRegion
|
|
115
|
-
- **Specialized UI**: All DropdownMenu sub-components, Select sub-components
|
|
116
|
-
- **Data Components**: Full DataTable with all features
|
|
117
|
-
- **Layout Components**: PaceAppLayout, PaceLoginPage
|
|
118
|
-
- **Authentication**: PasswordResetForm, PasswordChangeForm
|
|
106
|
+
### 4. Verify Installation
|
|
119
107
|
|
|
120
|
-
|
|
108
|
+
Create a test component to ensure everything works:
|
|
121
109
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
- Want smaller bundle size
|
|
126
|
-
- Working on simple forms or layouts
|
|
110
|
+
```tsx
|
|
111
|
+
// src/App.tsx
|
|
112
|
+
import { Button, Card, Input } from '@jmruthers/pace-core';
|
|
127
113
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
|
|
114
|
+
function App() {
|
|
115
|
+
return (
|
|
116
|
+
<div className="p-8 space-y-4">
|
|
117
|
+
<h1 className="text-2xl font-bold text-main-900">PACE Core Test</h1>
|
|
118
|
+
|
|
119
|
+
<Card className="p-4">
|
|
120
|
+
<h2 className="text-lg font-semibold text-sec-800 mb-2">Components Test</h2>
|
|
121
|
+
<div className="space-y-2">
|
|
122
|
+
<Button variant="primary" className="bg-main-600 text-main-50">
|
|
123
|
+
Primary Button
|
|
124
|
+
</Button>
|
|
125
|
+
<Button variant="secondary" className="bg-sec-500 text-main-50">
|
|
126
|
+
Secondary Button
|
|
127
|
+
</Button>
|
|
128
|
+
<Input placeholder="Test input field" className="border-main-300" />
|
|
129
|
+
</div>
|
|
130
|
+
</Card>
|
|
131
|
+
</div>
|
|
132
|
+
);
|
|
133
|
+
}
|
|
133
134
|
|
|
134
|
-
|
|
135
|
+
export default App;
|
|
136
|
+
```
|
|
135
137
|
|
|
136
|
-
|
|
138
|
+
**Expected Result:** You should see properly styled components with PACE Core's design system colors and typography.
|
|
137
139
|
|
|
138
|
-
|
|
139
|
-
// ✅ Good - Only imports what you need
|
|
140
|
-
import { Button, Card } from '@jmruthers/pace-core';
|
|
140
|
+
## ⚠️ Critical Configuration Notes
|
|
141
141
|
|
|
142
|
-
|
|
143
|
-
import { FormField, FormErrorSummary } from '@jmruthers/pace-core/components';
|
|
142
|
+
### Why Source File Scanning is Required
|
|
144
143
|
|
|
145
|
-
|
|
146
|
-
import * as PaceCore from '@jmruthers/pace-core/components';
|
|
147
|
-
```
|
|
144
|
+
Pace-core v0.4.15+ includes source files in the published package because:
|
|
148
145
|
|
|
149
|
-
|
|
146
|
+
- Tailwind v4 needs to scan original TypeScript/JSX files to detect utility classes
|
|
147
|
+
- Compiled JavaScript files don't contain the class names Tailwind needs
|
|
148
|
+
- Without proper scanning, only ~292 CSS rules are generated instead of 800+ needed
|
|
150
149
|
|
|
151
|
-
###
|
|
150
|
+
### Alternative Configuration (if source files don't work)
|
|
152
151
|
|
|
153
|
-
|
|
154
|
-
import { Button, Card, CardHeader, CardTitle, CardContent } from '@jmruthers/pace-core';
|
|
152
|
+
If you're still having issues with component scanning:
|
|
155
153
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
154
|
+
```typescript
|
|
155
|
+
// vite.config.ts
|
|
156
|
+
import { defineConfig } from 'vite'
|
|
157
|
+
import react from '@vitejs/plugin-react'
|
|
158
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
159
|
+
|
|
160
|
+
export default defineConfig({
|
|
161
|
+
plugins: [
|
|
162
|
+
react(),
|
|
163
|
+
tailwindcss({
|
|
164
|
+
content: [
|
|
165
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
166
|
+
// Try source files first
|
|
167
|
+
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}',
|
|
168
|
+
// Fallback: also scan dist files
|
|
169
|
+
'./node_modules/@jmruthers/pace-core/dist/**/*.{js,ts,jsx,tsx}'
|
|
170
|
+
]
|
|
171
|
+
})
|
|
172
|
+
],
|
|
173
|
+
})
|
|
168
174
|
```
|
|
169
175
|
|
|
170
|
-
###
|
|
176
|
+
### Legacy Configuration (v0.4.14 and below)
|
|
171
177
|
|
|
172
|
-
|
|
173
|
-
import {
|
|
174
|
-
UnifiedAuthProvider,
|
|
175
|
-
LoginForm,
|
|
176
|
-
useUnifiedAuth
|
|
177
|
-
} from '@jmruthers/pace-core';
|
|
178
|
-
|
|
179
|
-
function App() {
|
|
180
|
-
return (
|
|
181
|
-
<UnifiedAuthProvider>
|
|
182
|
-
<MyApp />
|
|
183
|
-
</UnifiedAuthProvider>
|
|
184
|
-
);
|
|
185
|
-
}
|
|
178
|
+
For older versions, use this configuration:
|
|
186
179
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
180
|
+
```typescript
|
|
181
|
+
// vite.config.ts
|
|
182
|
+
export default defineConfig({
|
|
183
|
+
plugins: [
|
|
184
|
+
react(),
|
|
185
|
+
tailwindcss({
|
|
186
|
+
content: [
|
|
187
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
188
|
+
'./node_modules/@jmruthers/pace-core/**/*.{js,ts,jsx,tsx}'
|
|
189
|
+
]
|
|
190
|
+
})
|
|
191
|
+
],
|
|
192
|
+
})
|
|
201
193
|
```
|
|
202
194
|
|
|
203
|
-
|
|
195
|
+
## 🔍 Troubleshooting
|
|
204
196
|
|
|
205
|
-
|
|
206
|
-
import {
|
|
207
|
-
Form,
|
|
208
|
-
FormField,
|
|
209
|
-
FormErrorSummary
|
|
210
|
-
} from '@jmruthers/pace-core/components';
|
|
211
|
-
|
|
212
|
-
function AdvancedForm() {
|
|
213
|
-
return (
|
|
214
|
-
<Form onSubmit={handleSubmit}>
|
|
215
|
-
<FormField name="email" label="Email" type="email" required />
|
|
216
|
-
<FormField name="password" label="Password" type="password" required />
|
|
217
|
-
<FormErrorSummary />
|
|
218
|
-
<Button type="submit">Submit</Button>
|
|
219
|
-
</Form>
|
|
220
|
-
);
|
|
221
|
-
}
|
|
222
|
-
```
|
|
197
|
+
### Issue: Only 292 CSS rules instead of 800+
|
|
223
198
|
|
|
224
|
-
|
|
199
|
+
**Solution**:
|
|
200
|
+
1. Update to pace-core v0.4.15+
|
|
201
|
+
2. Use source file paths: `./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}`
|
|
202
|
+
3. Clear build cache: `rm -rf dist .vite node_modules && npm install`
|
|
225
203
|
|
|
226
|
-
###
|
|
204
|
+
### Issue: Components appear unstyled
|
|
227
205
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
- **Alert** - Status and notification messages
|
|
233
|
-
- **Avatar** - User profile images with fallbacks
|
|
234
|
-
- **Checkbox** - Form checkbox with proper accessibility
|
|
235
|
-
- **Progress** - Progress indicators and loading states
|
|
206
|
+
**Solution**:
|
|
207
|
+
1. Check your Vite configuration includes pace-core source files
|
|
208
|
+
2. Ensure CSS file is imported: `import '@jmruthers/pace-core/styles/core.css'`
|
|
209
|
+
3. Restart dev server after configuration changes
|
|
236
210
|
|
|
237
|
-
###
|
|
211
|
+
### Issue: Build errors with source files
|
|
238
212
|
|
|
239
|
-
|
|
240
|
-
- 📖 **[Dialog API Reference](./docs/api/modules.md#dialog)** - Auto-generated API documentation
|
|
241
|
-
- **DropdownMenu** - Context menus and dropdowns
|
|
242
|
-
- **Select** - Dropdown select components
|
|
243
|
-
- **Toast** - Notification system
|
|
244
|
-
- **Tooltip** - Hover tooltips
|
|
213
|
+
**Solution**: Add TypeScript configuration for node_modules:
|
|
245
214
|
|
|
246
|
-
|
|
215
|
+
```json
|
|
216
|
+
// tsconfig.json
|
|
217
|
+
{
|
|
218
|
+
"compilerOptions": {
|
|
219
|
+
"skipLibCheck": true
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
```
|
|
247
223
|
|
|
248
|
-
|
|
249
|
-
- **Table** - Basic table components for simple data display
|
|
224
|
+
## Features
|
|
250
225
|
|
|
251
|
-
|
|
226
|
+
- 🎨 **Complete Design System** - Colors, typography, spacing, shadows
|
|
227
|
+
- 🧩 **React Components** - Buttons, inputs, cards, data tables, and more
|
|
228
|
+
- 🔐 **RBAC System** - Role-based access control with Supabase
|
|
229
|
+
- 🎨 **Tailwind v4** - CSS-first approach with design tokens
|
|
230
|
+
- 📱 **Responsive** - Mobile-first design patterns
|
|
231
|
+
- ♿ **Accessible** - WCAG compliant components
|
|
232
|
+
- 🚀 **Performance** - Tree-shakeable, optimized bundle
|
|
252
233
|
|
|
253
|
-
|
|
254
|
-
- **LoginForm** - Pre-built login form
|
|
255
|
-
- **FormField** - Individual form fields with validation
|
|
256
|
-
- **FormErrorSummary** - Error display for forms
|
|
234
|
+
## Documentation
|
|
257
235
|
|
|
258
|
-
|
|
236
|
+
- [Quick Start Guide](./docs/getting-started/quick-start.md) - Complete step-by-step tutorial
|
|
237
|
+
- [Installation Guide](./docs/getting-started/installation.md) - Detailed setup instructions
|
|
238
|
+
- [Vite Configuration](./docs/consuming-app-vite-config.md) - **CRITICAL** Tailwind scanning setup
|
|
239
|
+
- [Component API](./docs/api/README.md) - All available components and hooks
|
|
240
|
+
- [Styling Guide](./docs/styles/README.md) - Understanding the design system
|
|
241
|
+
- [Troubleshooting](./docs/troubleshooting/styling-issues.md) - Fix common styling problems
|
|
242
|
+
- [Tailwind Content Scanning](./docs/troubleshooting/tailwind-content-scanning.md) - **NEW** Comprehensive scanning solutions
|
|
259
243
|
|
|
260
|
-
|
|
261
|
-
- **Footer** - Application footer
|
|
262
|
-
- **NavigationMenu** - Navigation menus
|
|
263
|
-
- **UserMenu** - User account menu
|
|
264
|
-
- **PaceAppLayout** - Complete application layout
|
|
265
|
-
- **PaceLoginPage** - Login page layout
|
|
244
|
+
## Import Strategy
|
|
266
245
|
|
|
267
|
-
|
|
246
|
+
PACE Core provides two import paths to optimize for different use cases:
|
|
268
247
|
|
|
269
|
-
|
|
270
|
-
- 📖 **[ErrorBoundary API Reference](./docs/api/classes/ErrorBoundary.md)** - Auto-generated API documentation
|
|
271
|
-
- **LoadingSpinner** - Loading indicators
|
|
272
|
-
- **EventSelector** - Event selection component
|
|
248
|
+
### Main Export (Recommended for Common Components)
|
|
273
249
|
|
|
274
|
-
|
|
250
|
+
Use the main export for frequently used components and utilities:
|
|
275
251
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
252
|
+
```typescript
|
|
253
|
+
import {
|
|
254
|
+
Button,
|
|
255
|
+
Card,
|
|
256
|
+
Input,
|
|
257
|
+
DropdownMenu,
|
|
258
|
+
Select,
|
|
259
|
+
Dialog,
|
|
260
|
+
useUnifiedAuth
|
|
261
|
+
} from '@jmruthers/pace-core';
|
|
262
|
+
```
|
|
279
263
|
|
|
280
|
-
|
|
264
|
+
**Available from main export:**
|
|
265
|
+
- **Basic UI**: Button, Card, Input, Label, Alert, Avatar, Checkbox, Progress
|
|
266
|
+
- **Advanced UI**: Dialog (with HTML content), DropdownMenu, Select, Toast, Tooltip
|
|
267
|
+
- **Data Display**: DataTable (with hierarchical actions & expand/collapse all), Table
|
|
268
|
+
- **Forms**: Form, LoginForm
|
|
269
|
+
- **Layout**: PaceAppLayout, Header, Footer, NavigationMenu
|
|
270
|
+
- **Print Components**: PrintLayout, PrintDataTable, PrintCard, PrintHeader, PrintText, PrintButton, PrintGrid, PrintSection, PrintFooter, PrintPageBreak
|
|
271
|
+
- **Providers**: UnifiedAuthProvider, OrganisationProvider, EventProvider
|
|
272
|
+
- **Hooks**: useUnifiedAuth, useOrganisations, useEvents
|
|
281
273
|
|
|
282
|
-
|
|
283
|
-
- **ThemeProvider** - Theme context provider
|
|
284
|
-
- **EventProvider** - Event management provider
|
|
274
|
+
### Component Documentation
|
|
285
275
|
|
|
286
|
-
|
|
276
|
+
- **[DataTable Component](docs/implementation-guides/data-tables.md)** - Enterprise-grade data table with hierarchical rows, expand/collapse all, actions, sorting, filtering, and performance optimization
|
|
277
|
+
- **[Hierarchical DataTable Guide](docs/implementation-guides/hierarchical-datatable.md)** - Complete guide for implementing parent/child rows with expand/collapse all and smart sorting
|
|
278
|
+
- **[Print Components](docs/print-components/README.md)** - **NEW** Print-optimized layout system for reports, documents, and printable content
|
|
279
|
+
- **[Print Quick Start](docs/print-components/quick-start.md)** - 5-minute setup guide
|
|
280
|
+
- **[Print API Reference](docs/print-components/api-reference.md)** - Complete component documentation
|
|
281
|
+
- **[Dialog Component](src/components/Dialog/README.md)** - Comprehensive dialog system with smart height management, scrolling, HTML content rendering, and accessibility features
|
|
282
|
+
- **[Storage System](src/utils/storage/README.md)** - File storage utilities with organization-scoped access control
|
|
287
283
|
|
|
288
|
-
|
|
289
|
-
- **appConfig** - Application configuration utilities
|
|
284
|
+
### Complete Components Export (For Specialized Components)
|
|
290
285
|
|
|
291
|
-
|
|
286
|
+
Use the complete export for specialized or advanced components:
|
|
292
287
|
|
|
293
|
-
|
|
288
|
+
```typescript
|
|
289
|
+
import {
|
|
290
|
+
DataTable,
|
|
291
|
+
NavigationMenu,
|
|
292
|
+
FormField,
|
|
293
|
+
FormErrorSummary
|
|
294
|
+
} from '@jmruthers/pace-core/components';
|
|
295
|
+
```
|
|
294
296
|
|
|
295
297
|
## License
|
|
296
298
|
|
|
297
|
-
MIT
|
|
299
|
+
MIT License - see [LICENSE](./LICENSE) for details.
|
|
@@ -7,16 +7,14 @@ import {
|
|
|
7
7
|
ColumnVisibilityDropdown,
|
|
8
8
|
DataManager,
|
|
9
9
|
DataTable,
|
|
10
|
-
|
|
10
|
+
DataTableCore,
|
|
11
11
|
DataTableErrorBoundary,
|
|
12
|
-
DataTableHeader,
|
|
13
12
|
DataTableModals,
|
|
14
13
|
DataTableProvider,
|
|
15
14
|
DataTableToolbar,
|
|
16
15
|
EditableRow,
|
|
17
16
|
EmptyState,
|
|
18
17
|
EnhancedPaginationControls,
|
|
19
|
-
EnhancedVirtualizedDataTable,
|
|
20
18
|
GroupHeader,
|
|
21
19
|
GroupingDropdown,
|
|
22
20
|
ImportModal,
|
|
@@ -25,8 +23,7 @@ import {
|
|
|
25
23
|
PaginationControls,
|
|
26
24
|
PluginRegistryImpl,
|
|
27
25
|
StateManagerImpl,
|
|
28
|
-
|
|
29
|
-
VirtualizedDataTable,
|
|
26
|
+
UnifiedTableBody,
|
|
30
27
|
exportToCSV,
|
|
31
28
|
generateCSVContent,
|
|
32
29
|
useActionManager,
|
|
@@ -35,10 +32,13 @@ import {
|
|
|
35
32
|
useDataTableContext,
|
|
36
33
|
usePluginRegistry,
|
|
37
34
|
useStateManager
|
|
38
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-M4RW7PIP.js";
|
|
36
|
+
import "./chunk-QVYBYGT2.js";
|
|
37
|
+
import "./chunk-GWSBHC4J.js";
|
|
38
|
+
import "./chunk-7BNPOCLL.js";
|
|
39
|
+
import "./chunk-HXX35Q2M.js";
|
|
39
40
|
import {
|
|
40
41
|
DataChunkManager,
|
|
41
|
-
PerformanceMonitor,
|
|
42
42
|
SearchIndex,
|
|
43
43
|
VisibilityTracker,
|
|
44
44
|
chunkData,
|
|
@@ -47,9 +47,11 @@ import {
|
|
|
47
47
|
getOptimalPageSizeOptions,
|
|
48
48
|
throttle,
|
|
49
49
|
useDataTablePerformance
|
|
50
|
-
} from "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
50
|
+
} from "./chunk-SS3E6QLB.js";
|
|
51
|
+
import "./chunk-QKHFMQ5R.js";
|
|
52
|
+
import "./chunk-YDJW5XTN.js";
|
|
53
|
+
import "./chunk-WJARTBCT.js";
|
|
54
|
+
import "./chunk-PLDDJCW6.js";
|
|
53
55
|
export {
|
|
54
56
|
ActionButtons,
|
|
55
57
|
ActionManagerImpl as ActionManager,
|
|
@@ -60,28 +62,24 @@ export {
|
|
|
60
62
|
DataChunkManager,
|
|
61
63
|
DataManager,
|
|
62
64
|
DataTable,
|
|
63
|
-
|
|
65
|
+
DataTableCore,
|
|
64
66
|
DataTableErrorBoundary,
|
|
65
|
-
DataTableHeader,
|
|
66
67
|
DataTableModals,
|
|
67
68
|
DataTableProvider,
|
|
68
69
|
DataTableToolbar,
|
|
69
70
|
EditableRow,
|
|
70
71
|
EmptyState,
|
|
71
72
|
EnhancedPaginationControls,
|
|
72
|
-
EnhancedVirtualizedDataTable,
|
|
73
73
|
GroupHeader,
|
|
74
74
|
GroupingDropdown,
|
|
75
75
|
ImportModal,
|
|
76
76
|
LoadingState,
|
|
77
77
|
LocalDataAdapter,
|
|
78
78
|
PaginationControls,
|
|
79
|
-
PerformanceMonitor,
|
|
80
79
|
PluginRegistryImpl as PluginRegistry,
|
|
81
80
|
SearchIndex,
|
|
82
81
|
StateManagerImpl as StateManager,
|
|
83
|
-
|
|
84
|
-
VirtualizedDataTable,
|
|
82
|
+
UnifiedTableBody,
|
|
85
83
|
VisibilityTracker,
|
|
86
84
|
chunkData,
|
|
87
85
|
debounce,
|
|
@@ -98,4 +96,4 @@ export {
|
|
|
98
96
|
usePluginRegistry,
|
|
99
97
|
useStateManager
|
|
100
98
|
};
|
|
101
|
-
//# sourceMappingURL=DataTable-
|
|
99
|
+
//# sourceMappingURL=DataTable-ZQDRE46Q.js.map
|