@jmruthers/pace-core 0.5.189 → 0.5.191
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/core-usage-manifest.json +0 -4
- package/dist/{AuthService-B-cd2MA4.d.ts → AuthService-CbP_utw2.d.ts} +7 -3
- package/dist/{DataTable-IVYljGJ6.d.ts → DataTable-Be6dH_dR.d.ts} +1 -1
- package/dist/{DataTable-GUFUNZ3N.js → DataTable-WKRZD47S.js} +8 -8
- package/dist/{PublicPageProvider-B8HaLe69.d.ts → PublicPageProvider-ULXC_u6U.d.ts} +84 -25
- package/dist/{UnifiedAuthProvider-BG0AL5eE.d.ts → UnifiedAuthProvider-BYA9qB-o.d.ts} +4 -3
- package/dist/{UnifiedAuthProvider-643PUAIM.js → UnifiedAuthProvider-FTSG5XH7.js} +4 -2
- package/dist/{api-YP7XD5L6.js → api-IHKALJZD.js} +4 -2
- package/dist/{chunk-VGZZXKBR.js → chunk-6LTQQAT6.js} +351 -157
- package/dist/chunk-6LTQQAT6.js.map +1 -0
- package/dist/{chunk-MX64ZF6I.js → chunk-6TQDD426.js} +15 -15
- package/dist/chunk-6TQDD426.js.map +1 -0
- package/dist/{chunk-YHCN776L.js → chunk-G37KK66H.js} +2 -75
- package/dist/chunk-G37KK66H.js.map +1 -0
- package/dist/{chunk-THRPYOFK.js → chunk-HW3OVDUF.js} +5 -5
- package/dist/chunk-HW3OVDUF.js.map +1 -0
- package/dist/{chunk-F2IMUDXZ.js → chunk-I7PSE6JW.js} +75 -2
- package/dist/chunk-I7PSE6JW.js.map +1 -0
- package/dist/{chunk-IM4QE42D.js → chunk-LOMZXPSN.js} +141 -326
- package/dist/chunk-LOMZXPSN.js.map +1 -0
- package/dist/chunk-OETXORNB.js +614 -0
- package/dist/chunk-OETXORNB.js.map +1 -0
- package/dist/{chunk-HESYZWZW.js → chunk-QWWZ5CAQ.js} +2 -2
- package/dist/{chunk-HEHYGYOX.js → chunk-ROXMHMY2.js} +403 -46
- package/dist/chunk-ROXMHMY2.js.map +1 -0
- package/dist/{chunk-2UUZZJFT.js → chunk-ULHIJK66.js} +228 -177
- package/dist/{chunk-2UUZZJFT.js.map → chunk-ULHIJK66.js.map} +1 -1
- package/dist/{chunk-YGPFYGA6.js → chunk-VKB2CO4Z.js} +838 -503
- package/dist/chunk-VKB2CO4Z.js.map +1 -0
- package/dist/{chunk-3GOZZZYH.js → chunk-VRGWKHDB.js} +238 -301
- package/dist/chunk-VRGWKHDB.js.map +1 -0
- package/dist/{chunk-UCQSRW7Z.js → chunk-XNYQOL3Z.js} +431 -384
- package/dist/chunk-XNYQOL3Z.js.map +1 -0
- package/dist/{chunk-DDM4CCYT.js → chunk-XYXSXPUK.js} +79 -59
- package/dist/chunk-XYXSXPUK.js.map +1 -0
- package/dist/{chunk-SAUPYVLF.js → chunk-ZSAAAMVR.js} +1 -1
- package/dist/chunk-ZSAAAMVR.js.map +1 -0
- package/dist/components.d.ts +5 -6
- package/dist/components.js +19 -19
- package/dist/components.js.map +1 -1
- package/dist/{database.generated-DI89OQeI.d.ts → database.generated-CzIvgcPu.d.ts} +165 -201
- package/dist/eslint-rules/pace-core-compliance.cjs +0 -2
- package/dist/{file-reference-D037xOFK.d.ts → file-reference-BavO2eQj.d.ts} +13 -10
- package/dist/hooks.d.ts +20 -15
- package/dist/hooks.js +14 -8
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +17 -15
- package/dist/index.js +86 -81
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +3 -3
- package/dist/providers.js +3 -1
- package/dist/rbac/index.d.ts +77 -13
- package/dist/rbac/index.js +12 -9
- package/dist/{types-Bwgl--Xo.d.ts → types-CEpcvwwF.d.ts} +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.js +1 -1
- package/dist/{usePublicRouteParams-CTDELQ7H.d.ts → usePublicRouteParams-TZe0gy-4.d.ts} +17 -10
- package/dist/utils.d.ts +8 -8
- package/dist/utils.js +16 -16
- package/docs/README.md +2 -2
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +2 -2
- package/docs/api/classes/Logger.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +2 -2
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +2 -2
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +5 -5
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +2 -2
- package/docs/api/classes/SecureSupabaseClient.md +25 -20
- package/docs/api/classes/StorageUtils.md +7 -4
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/enums/LogLevel.md +1 -1
- package/docs/api/enums/RBACErrorCode.md +1 -1
- package/docs/api/enums/RPCFunction.md +1 -1
- package/docs/api/interfaces/AddressFieldProps.md +1 -1
- package/docs/api/interfaces/AddressFieldRef.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/AutocompleteOptions.md +1 -1
- package/docs/api/interfaces/AvatarProps.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CalendarProps.md +20 -6
- 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/ComplianceResult.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +9 -9
- 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/DatabaseComplianceResult.md +1 -1
- package/docs/api/interfaces/DatabaseIssue.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/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +62 -16
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +2 -2
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +26 -12
- package/docs/api/interfaces/FileUploadProps.md +30 -19
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/FormFieldProps.md +1 -1
- package/docs/api/interfaces/FormProps.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/LoggerConfig.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +10 -10
- package/docs/api/interfaces/NavigationContextType.md +9 -9
- 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 +7 -7
- 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 +8 -8
- package/docs/api/interfaces/PagePermissionContextType.md +8 -8
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +7 -7
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/ParsedAddress.md +2 -2
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProgressProps.md +3 -11
- package/docs/api/interfaces/ProtectedRouteProps.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/QuickFix.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateParams.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateResult.md +1 -1
- package/docs/api/interfaces/RBACAuditLogParams.md +1 -1
- package/docs/api/interfaces/RBACAuditLogResult.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +2 -2
- package/docs/api/interfaces/RBACContext.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACPageAccessCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPerformanceMetrics.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckResult.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetResult.md +1 -1
- package/docs/api/interfaces/RBACResult.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantParams.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantResult.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeParams.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeResult.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateParams.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateResult.md +1 -1
- package/docs/api/interfaces/RBACRolesListParams.md +1 -1
- package/docs/api/interfaces/RBACRolesListResult.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackParams.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackResult.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +8 -8
- package/docs/api/interfaces/RoleBasedRouterProps.md +10 -10
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +10 -10
- package/docs/api/interfaces/RouteConfig.md +10 -10
- package/docs/api/interfaces/RuntimeComplianceResult.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +9 -9
- package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
- package/docs/api/interfaces/SetupIssue.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +4 -4
- package/docs/api/interfaces/StorageFileInfo.md +7 -7
- package/docs/api/interfaces/StorageFileMetadata.md +25 -14
- package/docs/api/interfaces/StorageListOptions.md +22 -9
- package/docs/api/interfaces/StorageListResult.md +4 -4
- package/docs/api/interfaces/StorageUploadOptions.md +21 -8
- package/docs/api/interfaces/StorageUploadResult.md +6 -6
- package/docs/api/interfaces/StorageUrlOptions.md +19 -6
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +1 -1
- package/docs/api/interfaces/TextareaProps.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 +53 -53
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
- package/docs/api/interfaces/UseFormDialogOptions.md +1 -1
- package/docs/api/interfaces/UseFormDialogReturn.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +2 -2
- package/docs/api/interfaces/UsePublicEventLogoReturn.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 +2 -2
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +5 -5
- package/docs/api/interfaces/UseResolvedScopeReturn.md +4 -4
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +11 -11
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +165 -106
- package/docs/api-reference/components.md +15 -7
- package/docs/api-reference/providers.md +2 -2
- package/docs/api-reference/rpc-functions.md +1 -0
- package/docs/best-practices/README.md +1 -1
- package/docs/best-practices/deployment.md +8 -8
- package/docs/getting-started/examples/README.md +2 -2
- package/docs/getting-started/installation-guide.md +4 -4
- package/docs/getting-started/quick-start.md +3 -3
- package/docs/migration/MIGRATION_GUIDE.md +3 -3
- package/docs/migration/README.md +18 -0
- package/docs/migration/database-changes-december-2025.md +767 -0
- package/docs/migration/person-scoped-profiles-migration-guide.md +472 -0
- package/docs/rbac/compliance/compliance-guide.md +2 -2
- package/docs/rbac/event-based-apps.md +2 -2
- package/docs/rbac/getting-started.md +2 -2
- package/docs/rbac/quick-start.md +2 -2
- package/docs/security/README.md +4 -4
- package/docs/standards/07-rbac-and-rls-standard.md +430 -7
- package/docs/troubleshooting/README.md +2 -2
- package/docs/troubleshooting/migration.md +3 -3
- package/package.json +1 -3
- package/scripts/check-pace-core-compliance.cjs +1 -1
- package/scripts/check-pace-core-compliance.js +1 -1
- package/src/__tests__/fixtures/supabase.ts +301 -0
- package/src/__tests__/public-recipe-view.test.ts +19 -19
- package/src/__tests__/rls-policies.test.ts +210 -74
- package/src/components/AddressField/AddressField.test.tsx +42 -0
- package/src/components/AddressField/AddressField.tsx +71 -60
- package/src/components/AddressField/README.md +7 -6
- package/src/components/Alert/Alert.test.tsx +50 -10
- package/src/components/Alert/Alert.tsx +5 -3
- package/src/components/Avatar/Avatar.test.tsx +95 -43
- package/src/components/Avatar/Avatar.tsx +16 -16
- package/src/components/Button/Button.test.tsx +2 -1
- package/src/components/Button/Button.tsx +3 -3
- package/src/components/Calendar/Calendar.test.tsx +53 -37
- package/src/components/Calendar/Calendar.tsx +409 -82
- package/src/components/Card/Card.test.tsx +7 -4
- package/src/components/Card/Card.tsx +3 -6
- package/src/components/Checkbox/Checkbox.tsx +2 -2
- package/src/components/DataTable/components/ActionButtons.tsx +5 -5
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +2 -2
- package/src/components/DataTable/components/ColumnFilter.tsx +1 -1
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +3 -3
- package/src/components/DataTable/components/DataTableBody.tsx +12 -12
- package/src/components/DataTable/components/DataTableCore.tsx +3 -3
- package/src/components/DataTable/components/DataTableToolbar.tsx +5 -5
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +3 -3
- package/src/components/DataTable/components/EditableRow.tsx +2 -2
- package/src/components/DataTable/components/EmptyState.tsx +3 -3
- package/src/components/DataTable/components/GroupHeader.tsx +2 -2
- package/src/components/DataTable/components/GroupingDropdown.tsx +1 -1
- package/src/components/DataTable/components/ImportModal.tsx +4 -4
- package/src/components/DataTable/components/LoadingState.tsx +1 -1
- package/src/components/DataTable/components/PaginationControls.tsx +11 -11
- package/src/components/DataTable/components/UnifiedTableBody.tsx +9 -9
- package/src/components/DataTable/components/ViewRowModal.tsx +2 -2
- package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +11 -37
- package/src/components/DataTable/components/__tests__/DataTableToolbar.test.tsx +157 -0
- package/src/components/DataTable/components/__tests__/LoadingState.test.tsx +2 -1
- package/src/components/DataTable/components/__tests__/VirtualizedDataTable.test.tsx +128 -0
- package/src/components/DataTable/core/__tests__/ActionManager.test.ts +19 -0
- package/src/components/DataTable/core/__tests__/ColumnFactory.test.ts +51 -0
- package/src/components/DataTable/core/__tests__/ColumnManager.test.ts +84 -0
- package/src/components/DataTable/core/__tests__/DataManager.test.ts +14 -0
- package/src/components/DataTable/core/__tests__/DataTableContext.test.tsx +136 -0
- package/src/components/DataTable/core/__tests__/LocalDataAdapter.test.ts +16 -0
- package/src/components/DataTable/core/__tests__/PluginRegistry.test.ts +18 -0
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +28 -7
- package/src/components/DataTable/utils/__tests__/hierarchicalUtils.test.ts +30 -1
- package/src/components/DataTable/utils/hierarchicalUtils.ts +38 -10
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -3
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.tsx +4 -4
- package/src/components/Dialog/Dialog.tsx +2 -2
- package/src/components/EventSelector/EventSelector.tsx +7 -7
- package/src/components/FileDisplay/FileDisplay.tsx +291 -179
- package/src/components/FileUpload/FileUpload.tsx +7 -4
- package/src/components/Header/Header.test.tsx +28 -0
- package/src/components/Header/Header.tsx +22 -9
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +2 -2
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +19 -14
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +5 -5
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +127 -1
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +42 -22
- package/src/components/PaceAppLayout/PaceAppLayout.integration.test.tsx +4 -0
- package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +3 -0
- package/src/components/PaceAppLayout/PaceAppLayout.security.test.tsx +3 -0
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +16 -6
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +37 -3
- package/src/components/PaceAppLayout/test-setup.tsx +1 -0
- package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +66 -45
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +6 -4
- package/src/components/Progress/Progress.test.tsx +18 -19
- package/src/components/Progress/Progress.tsx +31 -32
- package/src/components/PublicLayout/PublicLayout.test.tsx +6 -6
- package/src/components/PublicLayout/PublicPageProvider.tsx +5 -3
- package/src/components/Select/Select.test.tsx +4 -1
- package/src/components/Select/Select.tsx +65 -20
- package/src/components/Switch/Switch.test.tsx +2 -1
- package/src/components/Switch/Switch.tsx +1 -1
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/Tooltip/Tooltip.test.tsx +8 -2
- package/src/components/UserMenu/UserMenu.tsx +3 -3
- package/src/eslint-rules/pace-core-compliance.cjs +0 -2
- package/src/eslint-rules/pace-core-compliance.js +0 -2
- package/src/hooks/__tests__/hooks.integration.test.tsx +4 -1
- package/src/hooks/__tests__/useAppConfig.unit.test.ts +76 -5
- package/src/hooks/__tests__/useDataTableState.test.ts +76 -0
- package/src/hooks/__tests__/useFileUrl.unit.test.ts +25 -69
- package/src/hooks/__tests__/useFileUrlCache.test.ts +129 -0
- package/src/hooks/__tests__/usePreventTabReload.test.ts +88 -0
- package/src/hooks/__tests__/usePublicEvent.simple.test.ts +1 -1
- package/src/hooks/__tests__/usePublicEvent.test.ts +608 -0
- package/src/hooks/__tests__/useQueryCache.test.ts +144 -0
- package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +67 -24
- package/src/hooks/index.ts +1 -1
- package/src/hooks/public/usePublicEvent.ts +10 -10
- package/src/hooks/public/usePublicFileDisplay.ts +173 -87
- package/src/hooks/useAppConfig.ts +24 -5
- package/src/hooks/useFileDisplay.ts +298 -36
- package/src/hooks/useFileReference.ts +56 -11
- package/src/hooks/useFileUrl.ts +1 -1
- package/src/hooks/useInactivityTracker.ts +16 -7
- package/src/hooks/usePermissionCache.test.ts +85 -8
- package/src/hooks/useQueryCache.ts +27 -6
- package/src/hooks/useSecureDataAccess.test.ts +87 -42
- package/src/hooks/useSecureDataAccess.ts +95 -48
- package/src/providers/__tests__/OrganisationProvider.test.tsx +27 -21
- package/src/providers/services/EventServiceProvider.tsx +37 -17
- package/src/providers/services/InactivityServiceProvider.tsx +4 -4
- package/src/providers/services/OrganisationServiceProvider.tsx +8 -1
- package/src/providers/services/UnifiedAuthProvider.tsx +115 -29
- package/src/rbac/__tests__/auth-rbac.e2e.test.tsx +451 -0
- package/src/rbac/__tests__/engine.comprehensive.test.ts +12 -0
- package/src/rbac/__tests__/rbac-engine-core-logic.test.ts +8 -0
- package/src/rbac/__tests__/rbac-engine-simplified.test.ts +4 -0
- package/src/rbac/api.ts +240 -36
- package/src/rbac/cache-invalidation.ts +21 -7
- package/src/rbac/compliance/quick-fix-suggestions.ts +1 -1
- package/src/rbac/components/NavigationGuard.tsx +23 -63
- package/src/rbac/components/NavigationProvider.test.tsx +52 -23
- package/src/rbac/components/NavigationProvider.tsx +13 -11
- package/src/rbac/components/PagePermissionGuard.tsx +77 -203
- package/src/rbac/components/PagePermissionProvider.tsx +13 -11
- package/src/rbac/components/PermissionEnforcer.tsx +24 -62
- package/src/rbac/components/RoleBasedRouter.tsx +14 -12
- package/src/rbac/components/SecureDataProvider.tsx +13 -11
- package/src/rbac/components/__tests__/NavigationGuard.test.tsx +104 -41
- package/src/rbac/components/__tests__/NavigationProvider.test.tsx +49 -12
- package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +22 -1
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +161 -82
- package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +22 -1
- package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +77 -30
- package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +39 -5
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +47 -4
- package/src/rbac/engine.ts +4 -2
- package/src/rbac/hooks/__tests__/useSecureSupabase.test.ts +144 -52
- package/src/rbac/hooks/index.ts +3 -0
- package/src/rbac/hooks/useCan.test.ts +101 -53
- package/src/rbac/hooks/usePermissions.ts +108 -41
- package/src/rbac/hooks/useRBAC.test.ts +11 -3
- package/src/rbac/hooks/useRBAC.ts +83 -40
- package/src/rbac/hooks/useResolvedScope.test.ts +189 -63
- package/src/rbac/hooks/useResolvedScope.ts +128 -70
- package/src/rbac/hooks/useSecureSupabase.ts +36 -19
- package/src/rbac/hooks/useSuperAdminBypass.ts +126 -0
- package/src/rbac/request-deduplication.ts +1 -1
- package/src/rbac/secureClient.ts +72 -12
- package/src/rbac/security.ts +29 -23
- package/src/rbac/types.ts +10 -0
- package/src/rbac/utils/__tests__/contextValidator.test.ts +150 -0
- package/src/rbac/utils/__tests__/deep-equal.test.ts +53 -0
- package/src/rbac/utils/__tests__/eventContext.test.ts +8 -3
- package/src/rbac/utils/__tests__/eventContext.unit.test.ts +74 -12
- package/src/rbac/utils/contextValidator.ts +288 -0
- package/src/rbac/utils/eventContext.ts +52 -3
- package/src/services/AuthService.ts +37 -8
- package/src/services/EventService.ts +165 -21
- package/src/services/OrganisationService.ts +125 -137
- package/src/services/__tests__/EventService.test.ts +26 -21
- package/src/services/__tests__/OrganisationService.pagination.test.ts +34 -8
- package/src/services/__tests__/OrganisationService.test.ts +218 -86
- package/src/types/database.generated.ts +166 -201
- package/src/types/file-reference.ts +13 -10
- package/src/types/supabase.ts +2 -2
- package/src/utils/__tests__/secureDataAccess.unit.test.ts +3 -2
- package/src/utils/app/appNameResolver.test.ts +346 -73
- package/src/utils/context/superAdminOverride.ts +58 -0
- package/src/utils/file-reference/index.ts +65 -37
- package/src/utils/google-places/googlePlacesUtils.test.ts +98 -0
- package/src/utils/google-places/googlePlacesUtils.ts +1 -1
- package/src/utils/google-places/loadGoogleMapsScript.test.ts +83 -0
- package/src/utils/google-places/types.ts +1 -1
- package/src/utils/request-deduplication.ts +4 -4
- package/src/utils/security/secureDataAccess.test.ts +1 -1
- package/src/utils/security/secureDataAccess.ts +7 -4
- package/src/utils/storage/README.md +1 -1
- package/src/utils/storage/helpers.test.ts +1 -1
- package/src/utils/storage/helpers.ts +38 -19
- package/src/utils/storage/types.ts +15 -8
- package/src/utils/validation/__tests__/csrf.test.ts +105 -0
- package/src/utils/validation/__tests__/sqlInjectionProtection.test.ts +92 -0
- package/src/vite-env.d.ts +2 -2
- package/dist/chunk-3GOZZZYH.js.map +0 -1
- package/dist/chunk-DDM4CCYT.js.map +0 -1
- package/dist/chunk-E7UAOUMY.js +0 -75
- package/dist/chunk-E7UAOUMY.js.map +0 -1
- package/dist/chunk-F2IMUDXZ.js.map +0 -1
- package/dist/chunk-HEHYGYOX.js.map +0 -1
- package/dist/chunk-IM4QE42D.js.map +0 -1
- package/dist/chunk-MX64ZF6I.js.map +0 -1
- package/dist/chunk-SAUPYVLF.js.map +0 -1
- package/dist/chunk-THRPYOFK.js.map +0 -1
- package/dist/chunk-UCQSRW7Z.js.map +0 -1
- package/dist/chunk-VGZZXKBR.js.map +0 -1
- package/dist/chunk-YGPFYGA6.js.map +0 -1
- package/dist/chunk-YHCN776L.js.map +0 -1
- /package/dist/{DataTable-GUFUNZ3N.js.map → DataTable-WKRZD47S.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-643PUAIM.js.map → UnifiedAuthProvider-FTSG5XH7.js.map} +0 -0
- /package/dist/{api-YP7XD5L6.js.map → api-IHKALJZD.js.map} +0 -0
- /package/dist/{chunk-HESYZWZW.js.map → chunk-QWWZ5CAQ.js.map} +0 -0
package/core-usage-manifest.json
CHANGED
|
@@ -213,10 +213,6 @@
|
|
|
213
213
|
"module": "@radix-ui/react-label",
|
|
214
214
|
"reason": "Use Label component from pace-core instead"
|
|
215
215
|
},
|
|
216
|
-
{
|
|
217
|
-
"module": "@radix-ui/react-progress",
|
|
218
|
-
"reason": "Use Progress component from pace-core instead"
|
|
219
|
-
},
|
|
220
216
|
{
|
|
221
217
|
"module": "@radix-ui/react-slot",
|
|
222
218
|
"reason": "Use Button component from pace-core which handles slot composition"
|
|
@@ -103,6 +103,8 @@ declare class EventService extends BaseService implements IEventService {
|
|
|
103
103
|
private appName;
|
|
104
104
|
private selectedOrganisation;
|
|
105
105
|
private setSelectedEventId;
|
|
106
|
+
private isSuperAdmin;
|
|
107
|
+
private appConfig;
|
|
106
108
|
private isInitializedRef;
|
|
107
109
|
private isFetchingRef;
|
|
108
110
|
private hasAutoSelectedRef;
|
|
@@ -349,11 +351,13 @@ interface InactivityServiceProviderProps {
|
|
|
349
351
|
supabaseClient: SupabaseClient;
|
|
350
352
|
user: User | null;
|
|
351
353
|
session: Session | null;
|
|
352
|
-
idleTimeoutMs
|
|
353
|
-
warnBeforeMs
|
|
354
|
+
idleTimeoutMs: number;
|
|
355
|
+
warnBeforeMs: number;
|
|
354
356
|
onIdleLogout: (reason: 'inactivity') => void;
|
|
355
357
|
}
|
|
356
|
-
declare function InactivityServiceProvider({ children, supabaseClient, user, session, idleTimeoutMs,
|
|
358
|
+
declare function InactivityServiceProvider({ children, supabaseClient, user, session, idleTimeoutMs, // REQUIRED: No default - must be explicitly provided
|
|
359
|
+
warnBeforeMs, // REQUIRED: No default - must be explicitly provided
|
|
360
|
+
onIdleLogout }: InactivityServiceProviderProps): react_jsx_runtime.JSX.Element;
|
|
357
361
|
|
|
358
362
|
/**
|
|
359
363
|
* @file Authentication Service Interface
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { d as DataRecord, D as DataTableColumn, e as DataTableRBACConfig, f as DataTableFeatureConfig, H as HierarchicalConfig, g as PerformanceConfig, S as ServerSideConfig, h as PaginationMode, C as ChunkingConfig, i as SearchIndexConfig, j as ExportOptions, G as GetRowId, E as EmptyStateConfig, c as AggregateConfig, a as DataTableAction } from './types-
|
|
2
|
+
import { d as DataRecord, D as DataTableColumn, e as DataTableRBACConfig, f as DataTableFeatureConfig, H as HierarchicalConfig, g as PerformanceConfig, S as ServerSideConfig, h as PaginationMode, C as ChunkingConfig, i as SearchIndexConfig, j as ExportOptions, G as GetRowId, E as EmptyStateConfig, c as AggregateConfig, a as DataTableAction } from './types-CEpcvwwF.js';
|
|
3
3
|
import React__default from 'react';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -60,10 +60,8 @@ import {
|
|
|
60
60
|
sum,
|
|
61
61
|
validateHierarchicalData,
|
|
62
62
|
validatePaginationConfig
|
|
63
|
-
} from "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-HEHYGYOX.js";
|
|
66
|
-
import "./chunk-63FOKYGO.js";
|
|
63
|
+
} from "./chunk-ULHIJK66.js";
|
|
64
|
+
import "./chunk-VRGWKHDB.js";
|
|
67
65
|
import {
|
|
68
66
|
CircuitBreaker,
|
|
69
67
|
DEFAULT_FALLBACK_CONFIG,
|
|
@@ -82,11 +80,13 @@ import {
|
|
|
82
80
|
throttle,
|
|
83
81
|
useDataTablePerformance
|
|
84
82
|
} from "./chunk-6C4YBBJM.js";
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
83
|
+
import "./chunk-OETXORNB.js";
|
|
84
|
+
import "./chunk-6LTQQAT6.js";
|
|
85
|
+
import "./chunk-ROXMHMY2.js";
|
|
86
|
+
import "./chunk-63FOKYGO.js";
|
|
87
87
|
import "./chunk-QXHPKYJV.js";
|
|
88
88
|
import "./chunk-R77UEZ4E.js";
|
|
89
|
-
import "./chunk-
|
|
89
|
+
import "./chunk-I7PSE6JW.js";
|
|
90
90
|
import "./chunk-VBXEHIUJ.js";
|
|
91
91
|
import "./chunk-PWLANIRT.js";
|
|
92
92
|
import "./chunk-7D4SUZUM.js";
|
|
@@ -169,4 +169,4 @@ export {
|
|
|
169
169
|
validateHierarchicalData,
|
|
170
170
|
validatePaginationConfig
|
|
171
171
|
};
|
|
172
|
-
//# sourceMappingURL=DataTable-
|
|
172
|
+
//# sourceMappingURL=DataTable-WKRZD47S.js.map
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
2
|
import React__default, { Component, ReactNode } from 'react';
|
|
3
|
-
import { P as ParsedAddress, A as AutocompleteOptions } from './types-
|
|
3
|
+
import { P as ParsedAddress, A as AutocompleteOptions } from './types-CEpcvwwF.js';
|
|
4
4
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
5
|
-
import { F as FileCategory, e as FileUploadResult, U as UploadProgress, c as FileUploadOptions, a as FileReference } from './file-reference-
|
|
5
|
+
import { F as FileCategory, e as FileUploadResult, U as UploadProgress, c as FileUploadOptions, a as FileReference } from './file-reference-BavO2eQj.js';
|
|
6
6
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
7
|
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
8
|
-
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
9
8
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
9
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
11
10
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
12
|
-
import { DayPickerProps } from 'react-day-picker';
|
|
11
|
+
import { DayPickerProps, DateRange } from 'react-day-picker';
|
|
13
12
|
import * as ToastPrimitives from '@radix-ui/react-toast';
|
|
14
13
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
15
14
|
import { FieldValues, DefaultValues, SubmitHandler, SubmitErrorHandler, UseFormReturn, FieldPath, ControllerRenderProps, ControllerFieldState, UseFormStateReturn } from 'react-hook-form';
|
|
@@ -296,8 +295,15 @@ interface AddressFieldRef {
|
|
|
296
295
|
* - Debounced input with caching
|
|
297
296
|
* - Keyboard navigation (Arrow keys, Enter, Escape)
|
|
298
297
|
* - Accessible ARIA attributes
|
|
298
|
+
* - Semantic HTML (description list for suggestions)
|
|
299
299
|
* - Loading and error states
|
|
300
300
|
* - place_id storage for later retrieval
|
|
301
|
+
*
|
|
302
|
+
* @accessibility
|
|
303
|
+
* - Uses semantic HTML: `<dl>`, `<dt>`, `<dd>` for address suggestions
|
|
304
|
+
* - Proper ARIA attributes for combobox pattern
|
|
305
|
+
* - Keyboard navigation support
|
|
306
|
+
* - Screen reader friendly
|
|
301
307
|
*/
|
|
302
308
|
|
|
303
309
|
/**
|
|
@@ -532,6 +538,7 @@ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$
|
|
|
532
538
|
* Features:
|
|
533
539
|
* - Multiple visual variants (default, destructive, inline)
|
|
534
540
|
* - Title and description support
|
|
541
|
+
* - Semantic HTML: renders as `<aside>` element
|
|
535
542
|
* - ARIA role="alert" for accessibility
|
|
536
543
|
* - Keyboard and screen reader accessible
|
|
537
544
|
* - Composable with icons and actions
|
|
@@ -562,14 +569,15 @@ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$
|
|
|
562
569
|
* ```
|
|
563
570
|
*
|
|
564
571
|
* @accessibility
|
|
572
|
+
* - Uses semantic HTML: `<aside>` element for better semantic meaning
|
|
565
573
|
* - Uses role="alert" for screen reader announcement
|
|
566
574
|
* - Title and description are semantically structured
|
|
567
575
|
* - Supports keyboard navigation and focus
|
|
568
576
|
*/
|
|
569
577
|
|
|
570
|
-
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<
|
|
578
|
+
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLElement> & {
|
|
571
579
|
variant?: "default" | "destructive" | "inline";
|
|
572
|
-
} & React$1.RefAttributes<
|
|
580
|
+
} & React$1.RefAttributes<HTMLElement>>;
|
|
573
581
|
declare const AlertTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHeadingElement> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
574
582
|
declare const AlertDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
575
583
|
|
|
@@ -862,16 +870,16 @@ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.Re
|
|
|
862
870
|
* @module Components/Progress
|
|
863
871
|
* @since 0.1.0
|
|
864
872
|
*
|
|
865
|
-
* An accessible progress bar component built on
|
|
873
|
+
* An accessible progress bar component built on the native HTML `<progress>` element.
|
|
866
874
|
* Provides smooth animations and proper ARIA attributes for screen readers.
|
|
867
875
|
*
|
|
868
876
|
* Features:
|
|
869
877
|
* - Smooth progress animations
|
|
870
878
|
* - Customizable value and max range
|
|
871
|
-
* -
|
|
879
|
+
* - Native accessibility support (role="progressbar" automatically applied)
|
|
872
880
|
* - Customizable styling and appearance
|
|
873
881
|
* - Responsive design
|
|
874
|
-
* -
|
|
882
|
+
* - Indeterminate state support
|
|
875
883
|
*
|
|
876
884
|
* @example
|
|
877
885
|
* ```tsx
|
|
@@ -898,22 +906,23 @@ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.Re
|
|
|
898
906
|
* }, []);
|
|
899
907
|
*
|
|
900
908
|
* <Progress value={progress} />
|
|
909
|
+
*
|
|
910
|
+
* // Indeterminate progress (no value)
|
|
911
|
+
* <Progress />
|
|
901
912
|
* ```
|
|
902
913
|
*
|
|
903
914
|
* @accessibility
|
|
904
915
|
* - WCAG 2.1 AA compliant
|
|
905
|
-
* -
|
|
916
|
+
* - Native `<progress>` element provides role="progressbar" automatically
|
|
906
917
|
* - Screen reader announcements for progress changes
|
|
907
|
-
* - Keyboard navigation support
|
|
908
918
|
* - High contrast support
|
|
909
919
|
*
|
|
910
920
|
* @performance
|
|
911
921
|
* - CSS transitions for smooth animations
|
|
912
922
|
* - Efficient re-rendering
|
|
913
|
-
* - Minimal DOM structure
|
|
923
|
+
* - Minimal DOM structure (native HTML element)
|
|
914
924
|
*
|
|
915
925
|
* @dependencies
|
|
916
|
-
* - @radix-ui/react-progress - Core progress functionality
|
|
917
926
|
* - React 18+ - Hooks and refs
|
|
918
927
|
* - Tailwind CSS - Styling
|
|
919
928
|
*/
|
|
@@ -921,15 +930,15 @@ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.Re
|
|
|
921
930
|
/**
|
|
922
931
|
* Props for the Progress component
|
|
923
932
|
*/
|
|
924
|
-
interface ProgressProps extends React$1.
|
|
925
|
-
/** Current progress value (0 to max) */
|
|
933
|
+
interface ProgressProps extends React$1.HTMLAttributes<HTMLProgressElement> {
|
|
934
|
+
/** Current progress value (0 to max). Omit for indeterminate state. */
|
|
926
935
|
value?: number;
|
|
927
936
|
/** Maximum progress value (default: 100) */
|
|
928
937
|
max?: number;
|
|
929
938
|
}
|
|
930
939
|
/**
|
|
931
940
|
* Progress component
|
|
932
|
-
* An accessible progress bar with smooth animations
|
|
941
|
+
* An accessible progress bar with smooth animations using native HTML `<progress>` element
|
|
933
942
|
*
|
|
934
943
|
* @param props - Progress configuration and styling
|
|
935
944
|
* @param ref - Forwarded ref to the progress element
|
|
@@ -940,7 +949,7 @@ interface ProgressProps extends React$1.ComponentPropsWithoutRef<typeof Progress
|
|
|
940
949
|
* <Progress value={75} max={100} />
|
|
941
950
|
* ```
|
|
942
951
|
*/
|
|
943
|
-
declare const Progress: React$1.ForwardRefExoticComponent<ProgressProps & React$1.RefAttributes<
|
|
952
|
+
declare const Progress: React$1.ForwardRefExoticComponent<ProgressProps & React$1.RefAttributes<HTMLProgressElement>>;
|
|
944
953
|
|
|
945
954
|
/**
|
|
946
955
|
* Dialog size variants
|
|
@@ -1359,7 +1368,7 @@ declare const TabsContent: React$1.ForwardRefExoticComponent<TabsContentProps &
|
|
|
1359
1368
|
* Features:
|
|
1360
1369
|
* - Single, range, and multiple date selection modes
|
|
1361
1370
|
* - Date disabling (past dates, weekends, etc.)
|
|
1362
|
-
* - Localization support
|
|
1371
|
+
* - Localization support (defaults to Australian locale with Monday as first day of week)
|
|
1363
1372
|
* - Keyboard navigation
|
|
1364
1373
|
* - Accessible date selection
|
|
1365
1374
|
* - Customizable styling
|
|
@@ -1406,13 +1415,18 @@ declare const TabsContent: React$1.ForwardRefExoticComponent<TabsContentProps &
|
|
|
1406
1415
|
|
|
1407
1416
|
interface CalendarProps extends Omit<DayPickerProps, 'className' | 'classNames' | 'styles' | 'onSelect'> {
|
|
1408
1417
|
/**
|
|
1409
|
-
* Additional CSS classes to apply to the calendar
|
|
1418
|
+
* Additional CSS classes to apply to the calendar table
|
|
1410
1419
|
*/
|
|
1411
1420
|
className?: string;
|
|
1412
1421
|
/**
|
|
1413
1422
|
* Custom classNames for DayPicker sub-components
|
|
1414
1423
|
*/
|
|
1415
1424
|
classNames?: DayPickerProps['classNames'];
|
|
1425
|
+
/**
|
|
1426
|
+
* Currently selected value; mirrors DayPicker's `selected` prop so callers
|
|
1427
|
+
* can control the selection state.
|
|
1428
|
+
*/
|
|
1429
|
+
selected?: Date | Date[] | DateRange | undefined;
|
|
1416
1430
|
/**
|
|
1417
1431
|
* Date selection handler. Signature depends on mode:
|
|
1418
1432
|
* - mode="single": (date: Date | undefined) => void
|
|
@@ -1429,13 +1443,22 @@ interface CalendarProps extends Omit<DayPickerProps, 'className' | 'classNames'
|
|
|
1429
1443
|
* A flexible, accessible calendar component for date selection.
|
|
1430
1444
|
* Built on react-day-picker with pace-core styling.
|
|
1431
1445
|
*
|
|
1446
|
+
* Defaults to Australian locale (en-AU) with Monday as the first day of the week.
|
|
1447
|
+
* The locale can be overridden by passing a `locale` prop.
|
|
1448
|
+
*
|
|
1449
|
+
* Month navigation is automatically managed internally when `month` and `onMonthChange` props
|
|
1450
|
+
* are not provided. The displayed month will sync with the selected date when available,
|
|
1451
|
+
* or default to the current month. Navigation buttons (prev/next) work automatically.
|
|
1452
|
+
*
|
|
1453
|
+
* For controlled month state, pass `month` and `onMonthChange` props.
|
|
1454
|
+
*
|
|
1432
1455
|
* @param props - Calendar configuration and styling
|
|
1433
1456
|
* @param ref - Forwarded ref (not used directly, but maintained for API consistency)
|
|
1434
1457
|
* @returns JSX.Element - The rendered calendar element
|
|
1435
1458
|
*
|
|
1436
1459
|
* @example
|
|
1437
1460
|
* ```tsx
|
|
1438
|
-
* // Single date selection
|
|
1461
|
+
* // Single date selection (uses default Australian locale)
|
|
1439
1462
|
* <Calendar
|
|
1440
1463
|
* mode="single"
|
|
1441
1464
|
* selected={date}
|
|
@@ -1449,9 +1472,28 @@ interface CalendarProps extends Omit<DayPickerProps, 'className' | 'classNames'
|
|
|
1449
1472
|
* onSelect={setDate}
|
|
1450
1473
|
* disabled={(date) => date < new Date()}
|
|
1451
1474
|
* />
|
|
1475
|
+
*
|
|
1476
|
+
* // Override locale (e.g., US locale with Sunday as first day)
|
|
1477
|
+
* import { enUS } from 'date-fns/locale';
|
|
1478
|
+
* <Calendar
|
|
1479
|
+
* mode="single"
|
|
1480
|
+
* selected={date}
|
|
1481
|
+
* onSelect={setDate}
|
|
1482
|
+
* locale={enUS}
|
|
1483
|
+
* />
|
|
1484
|
+
*
|
|
1485
|
+
* // Controlled month state (optional - month is auto-managed if not provided)
|
|
1486
|
+
* const [month, setMonth] = useState(new Date());
|
|
1487
|
+
* <Calendar
|
|
1488
|
+
* mode="single"
|
|
1489
|
+
* selected={date}
|
|
1490
|
+
* onSelect={setDate}
|
|
1491
|
+
* month={month}
|
|
1492
|
+
* onMonthChange={setMonth}
|
|
1493
|
+
* />
|
|
1452
1494
|
* ```
|
|
1453
1495
|
*/
|
|
1454
|
-
declare const Calendar: React$1.ForwardRefExoticComponent<CalendarProps & React$1.RefAttributes<
|
|
1496
|
+
declare const Calendar: React$1.ForwardRefExoticComponent<CalendarProps & React$1.RefAttributes<HTMLTableElement>>;
|
|
1455
1497
|
|
|
1456
1498
|
declare const ToastProvider: React$1.FC<ToastPrimitives.ToastProviderProps>;
|
|
1457
1499
|
/**
|
|
@@ -3625,7 +3667,8 @@ interface FileUploadProps {
|
|
|
3625
3667
|
supabase: SupabaseClient;
|
|
3626
3668
|
table_name: string;
|
|
3627
3669
|
record_id: string;
|
|
3628
|
-
organisation_id
|
|
3670
|
+
organisation_id?: string | null;
|
|
3671
|
+
userId?: string;
|
|
3629
3672
|
app_id?: string;
|
|
3630
3673
|
category: FileCategory;
|
|
3631
3674
|
folder: string;
|
|
@@ -3644,13 +3687,19 @@ interface FileUploadProps {
|
|
|
3644
3687
|
onProgress?: (progress: UploadProgress) => void;
|
|
3645
3688
|
children?: React__default.ReactNode;
|
|
3646
3689
|
}
|
|
3647
|
-
declare function FileUpload({ supabase, table_name, record_id, organisation_id, app_id, category, folder, pageContext, event_id, accept, maxSize, // 10MB default
|
|
3690
|
+
declare function FileUpload({ supabase, table_name, record_id, organisation_id, userId, app_id, category, folder, pageContext, event_id, accept, maxSize, // 10MB default
|
|
3648
3691
|
multiple, disabled, isPublic, className, showPreview, showProgress, onUploadSuccess, onUploadError, onProgress, children }: FileUploadProps): react_jsx_runtime.JSX.Element;
|
|
3649
3692
|
|
|
3650
3693
|
interface FileDisplayProps {
|
|
3651
3694
|
table_name: string;
|
|
3652
3695
|
record_id: string;
|
|
3653
|
-
|
|
3696
|
+
/**
|
|
3697
|
+
* Optional organisation ID. When not provided (undefined), the component will automatically
|
|
3698
|
+
* search for files in both user-scoped (organisation_id = null) and organisation-scoped contexts.
|
|
3699
|
+
* If both types of files exist, organisation-scoped files are preferred.
|
|
3700
|
+
* When explicitly set to null, only user-scoped files are searched.
|
|
3701
|
+
*/
|
|
3702
|
+
organisation_id?: string;
|
|
3654
3703
|
category?: FileCategory;
|
|
3655
3704
|
/** Display only a single file instead of all files. Uses first file (prefers images) from all files, without category filtering */
|
|
3656
3705
|
displayOnly?: boolean;
|
|
@@ -3670,8 +3719,18 @@ interface FileDisplayProps {
|
|
|
3670
3719
|
generateFallbackText?: (fileName?: string) => string;
|
|
3671
3720
|
/** Explicit fallback text to display (overrides generateFallbackText) */
|
|
3672
3721
|
fallbackText?: string;
|
|
3722
|
+
/** Source text to use for generating fallback text (overrides filename) */
|
|
3723
|
+
fallbackSourceText?: string;
|
|
3673
3724
|
/** Size variant for fallback display (only applies when showFallback is true) */
|
|
3674
3725
|
fallbackSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
3726
|
+
/**
|
|
3727
|
+
* Enable children rendering in displayOnly mode. When true, uses standard display path
|
|
3728
|
+
* (with children support) even if showDelete is false. The delete button will only appear
|
|
3729
|
+
* if showDelete is also true.
|
|
3730
|
+
*/
|
|
3731
|
+
enableChildren?: boolean;
|
|
3732
|
+
/** Whether to show metadata (filename, filesize, mimetype) in figcaption. Defaults to true. */
|
|
3733
|
+
showMetadata?: boolean;
|
|
3675
3734
|
}
|
|
3676
3735
|
/**
|
|
3677
3736
|
* Component for displaying file references with context-awareness
|
|
@@ -3691,7 +3750,7 @@ interface FileDisplayProps {
|
|
|
3691
3750
|
* @param props.category - Optional category filter. When specified, only displays files matching this category and uses single file display variant.
|
|
3692
3751
|
* @returns React element with file display
|
|
3693
3752
|
*/
|
|
3694
|
-
declare function FileDisplay({ table_name, record_id, organisation_id, category, displayOnly, showDelete, className, children, loadingComponent, errorComponent, showFallback, generateFallbackText, fallbackText, fallbackSize }: FileDisplayProps): react_jsx_runtime.JSX.Element;
|
|
3753
|
+
declare function FileDisplay({ table_name, record_id, organisation_id, category, displayOnly, showDelete, className, children, loadingComponent, errorComponent, showFallback, generateFallbackText, fallbackText, fallbackSourceText, fallbackSize, enableChildren, showMetadata }: FileDisplayProps): react_jsx_runtime.JSX.Element;
|
|
3695
3754
|
|
|
3696
3755
|
declare function useFileReference(supabase: SupabaseClient): {
|
|
3697
3756
|
isLoading: boolean;
|
|
@@ -107,8 +107,9 @@ interface UnifiedAuthProviderProps {
|
|
|
107
107
|
dangerouslyDisableInactivity?: boolean;
|
|
108
108
|
}
|
|
109
109
|
declare function UnifiedAuthProvider({ children, supabaseClient, appName, appConfig, // Default to requiring events
|
|
110
|
-
persistState, enablePersistence, requireOrganisationContext, idleTimeoutMs, //
|
|
111
|
-
warnBeforeMs, //
|
|
112
|
-
onIdleLogout,
|
|
110
|
+
persistState, enablePersistence, requireOrganisationContext, idleTimeoutMs, // REQUIRED: No default - must be explicitly provided
|
|
111
|
+
warnBeforeMs, // REQUIRED: No default - must be explicitly provided
|
|
112
|
+
onIdleLogout, // REQUIRED: No default - must be explicitly provided
|
|
113
|
+
renderInactivityWarning, dangerouslyDisableInactivity }: UnifiedAuthProviderProps): react_jsx_runtime.JSX.Element;
|
|
113
114
|
|
|
114
115
|
export { type UserEventAccess as U, type UnifiedAuthContextType as a, UnifiedAuthContext as b, type UnifiedAuthProviderProps as c, UnifiedAuthProvider as d, useUnifiedAuth as u };
|
|
@@ -2,7 +2,9 @@ import {
|
|
|
2
2
|
UnifiedAuthContext,
|
|
3
3
|
UnifiedAuthProvider,
|
|
4
4
|
useUnifiedAuth
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6LTQQAT6.js";
|
|
6
|
+
import "./chunk-ROXMHMY2.js";
|
|
7
|
+
import "./chunk-63FOKYGO.js";
|
|
6
8
|
import "./chunk-QXHPKYJV.js";
|
|
7
9
|
import "./chunk-VBXEHIUJ.js";
|
|
8
10
|
import "./chunk-PWLANIRT.js";
|
|
@@ -12,4 +14,4 @@ export {
|
|
|
12
14
|
UnifiedAuthProvider,
|
|
13
15
|
useUnifiedAuth
|
|
14
16
|
};
|
|
15
|
-
//# sourceMappingURL=UnifiedAuthProvider-
|
|
17
|
+
//# sourceMappingURL=UnifiedAuthProvider-FTSG5XH7.js.map
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
clearCache,
|
|
4
4
|
getAccessLevel,
|
|
5
5
|
getAppConfig,
|
|
6
|
+
getAppConfigByName,
|
|
6
7
|
getAppConfigWithClient,
|
|
7
8
|
getPermissionMap,
|
|
8
9
|
getRoleContext,
|
|
@@ -20,7 +21,7 @@ import {
|
|
|
20
21
|
isSuperAdmin,
|
|
21
22
|
resolveAppContext,
|
|
22
23
|
setupRBAC
|
|
23
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-ROXMHMY2.js";
|
|
24
25
|
import "./chunk-63FOKYGO.js";
|
|
25
26
|
import "./chunk-PWLANIRT.js";
|
|
26
27
|
import "./chunk-7D4SUZUM.js";
|
|
@@ -29,6 +30,7 @@ export {
|
|
|
29
30
|
clearCache,
|
|
30
31
|
getAccessLevel,
|
|
31
32
|
getAppConfig,
|
|
33
|
+
getAppConfigByName,
|
|
32
34
|
getAppConfigWithClient,
|
|
33
35
|
getPermissionMap,
|
|
34
36
|
getRoleContext,
|
|
@@ -47,4 +49,4 @@ export {
|
|
|
47
49
|
resolveAppContext,
|
|
48
50
|
setupRBAC
|
|
49
51
|
};
|
|
50
|
-
//# sourceMappingURL=api-
|
|
52
|
+
//# sourceMappingURL=api-IHKALJZD.js.map
|