@jmruthers/pace-core 0.5.193 → 0.6.1
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 +29 -0
- package/README.md +7 -1
- package/cursor-rules/00-pace-core-compliance.mdc +372 -0
- package/cursor-rules/01-standards-compliance.mdc +275 -0
- package/cursor-rules/02-project-structure.mdc +200 -0
- package/cursor-rules/03-solid-principles.mdc +341 -0
- package/cursor-rules/04-testing-standards.mdc +315 -0
- package/cursor-rules/05-bug-reports-and-features.mdc +246 -0
- package/cursor-rules/06-code-quality.mdc +392 -0
- package/cursor-rules/07-tech-stack-compliance.mdc +309 -0
- package/cursor-rules/CHANGELOG.md +101 -0
- package/cursor-rules/README.md +191 -0
- package/dist/{DataTable-Be6dH_dR.d.ts → DataTable-CH1U5Tpy.d.ts} +1 -1
- package/dist/{DataTable-5FU7IESH.js → DataTable-DQ7RSOHE.js} +6 -6
- package/dist/{PublicPageProvider-C0Sm_e5k.d.ts → PublicPageProvider-ce4xlHYA.d.ts} +34 -155
- package/dist/{UnifiedAuthProvider-RGJTDE2C.js → UnifiedAuthProvider-ATAP5UTR.js} +2 -2
- package/dist/{chunk-6C4YBBJM 5.js → chunk-3QRJFVBR.js} +1 -1
- package/dist/chunk-3QRJFVBR.js.map +1 -0
- package/dist/{chunk-IIELH4DL.js → chunk-3XTALGJF.js} +2 -2
- package/dist/{chunk-IIELH4DL.js.map → chunk-3XTALGJF.js.map} +1 -1
- package/dist/{chunk-HWIIPPNI.js → chunk-4N5C5XZU.js} +20 -20
- package/dist/chunk-4N5C5XZU.js.map +1 -0
- package/dist/{chunk-7EQTDTTJ.js → chunk-4ZC4GX36.js} +5 -5
- package/dist/{chunk-7EQTDTTJ.js 2.map → chunk-4ZC4GX36.js.map} +1 -1
- package/dist/{chunk-7FLMSG37.js → chunk-BYFSK72L.js} +22 -22
- package/dist/chunk-BYFSK72L.js.map +1 -0
- package/dist/{chunk-LFNCN2SP.js → chunk-EXUD6RNJ.js} +46 -7
- package/dist/chunk-EXUD6RNJ.js.map +1 -0
- package/dist/{chunk-NOAYCWCX 5.js → chunk-GLK6VM3F.js} +167 -169
- package/dist/chunk-GLK6VM3F.js.map +1 -0
- package/dist/{chunk-HW3OVDUF.js → chunk-J36DSWQK.js} +1 -1
- package/dist/{chunk-HW3OVDUF.js.map → chunk-J36DSWQK.js.map} +1 -1
- package/dist/{chunk-BC4IJKSL.js → chunk-JBKQ3SAO.js} +2 -2
- package/dist/{chunk-QWWZ5CAQ.js → chunk-LXQLPRQ2.js} +2 -2
- package/dist/{chunk-E3SPN4VZ 5.js → chunk-T33XF5ZC.js} +119 -114
- package/dist/chunk-T33XF5ZC.js.map +1 -0
- package/dist/{chunk-XNXXZ43G.js → chunk-XM25TVIE.js} +27 -4
- package/dist/chunk-XM25TVIE.js.map +1 -0
- package/dist/components.d.ts +3 -3
- package/dist/components.js +8 -8
- package/dist/hooks.d.ts +6 -6
- package/dist/hooks.js +17 -22
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +15 -16
- package/dist/index.js.map +1 -1
- package/dist/providers.js +1 -1
- package/dist/rbac/index.d.ts +1 -1
- package/dist/rbac/index.js +5 -5
- package/dist/{usePublicRouteParams-TZe0gy-4.d.ts → usePublicRouteParams-BJAlWfuJ.d.ts} +3 -3
- package/dist/{useToast-C8gR5ir4.d.ts → useToast-AyaT-x7p.d.ts} +2 -2
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +3 -3
- package/docs/getting-started/cursor-rules.md +262 -0
- package/docs/getting-started/installation-guide.md +6 -1
- package/docs/getting-started/quick-start.md +6 -1
- package/docs/migration/MIGRATION_GUIDE.md +4 -4
- package/docs/migration/REACT_19_MIGRATION.md +227 -0
- package/docs/standards/README.md +39 -0
- package/docs/troubleshooting/migration.md +4 -4
- package/examples/PublicPages/PublicEventPage.tsx +1 -1
- package/package.json +11 -6
- package/scripts/audit-consuming-app.cjs +961 -0
- package/scripts/check-pace-core-compliance.cjs +34 -15
- package/scripts/install-cursor-rules.cjs +236 -0
- package/src/__tests__/helpers/test-providers.tsx +1 -1
- package/src/__tests__/helpers/test-utils.tsx +1 -1
- package/src/components/Badge/Badge.tsx +2 -4
- package/src/components/Button/Button.tsx +5 -4
- package/src/components/Calendar/Calendar.tsx +1 -1
- package/src/components/DataTable/DataTable.test.tsx +57 -93
- package/src/components/DataTable/DataTable.tsx +2 -2
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +13 -5
- package/src/components/DataTable/__tests__/ssr.strict-mode.test.tsx +12 -12
- package/src/components/DataTable/components/AccessDeniedPage.tsx +1 -1
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +1 -1
- package/src/components/DataTable/components/DataTableCore.tsx +4 -7
- package/src/components/DataTable/components/DataTableModals.tsx +1 -1
- package/src/components/DataTable/components/EditableRow.tsx +1 -1
- package/src/components/DataTable/components/UnifiedTableBody.tsx +6 -8
- package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +23 -23
- package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +11 -11
- package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +36 -36
- package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +27 -27
- package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +39 -39
- package/src/components/DataTable/components/__tests__/UnifiedTableBody.test.tsx +33 -33
- package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +29 -29
- package/src/components/DataTable/hooks/useColumnReordering.ts +2 -2
- package/src/components/DataTable/hooks/useKeyboardNavigation.ts +2 -2
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -14
- package/src/components/Dialog/Dialog.tsx +6 -5
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +1 -1
- package/src/components/EventSelector/EventSelector.tsx +1 -1
- package/src/components/FileDisplay/FileDisplay.test.tsx +2 -2
- package/src/components/Footer/Footer.tsx +1 -1
- package/src/components/Form/Form.test.tsx +36 -15
- package/src/components/Form/Form.tsx +30 -26
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +40 -40
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +1 -1
- package/src/components/Input/Input.tsx +28 -30
- package/src/components/Label/Label.tsx +1 -1
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
- package/src/components/LoginForm/LoginForm.test.tsx +42 -42
- package/src/components/LoginForm/LoginForm.tsx +8 -8
- package/src/components/NavigationMenu/NavigationMenu.tsx +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +50 -50
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +1 -1
- package/src/components/PaceAppLayout/README.md +1 -1
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +1 -1
- package/src/components/PasswordChange/PasswordChangeForm.test.tsx +33 -33
- package/src/components/PasswordChange/PasswordChangeForm.tsx +1 -1
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/PublicLayout/PublicPageLayout.tsx +1 -1
- package/src/components/Select/Select.tsx +33 -22
- package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +1 -1
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Textarea/Textarea.tsx +27 -29
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/components/UserMenu/UserMenu.tsx +1 -1
- package/src/hooks/__tests__/hooks.integration.test.tsx +80 -55
- package/src/hooks/__tests__/useStorage.unit.test.ts +36 -36
- package/src/hooks/public/usePublicEvent.ts +1 -1
- package/src/hooks/public/usePublicEventLogo.ts +1 -1
- package/src/hooks/public/usePublicRouteParams.ts +1 -1
- package/src/hooks/useDataTableState.ts +8 -18
- package/src/hooks/useFocusManagement.ts +2 -2
- package/src/hooks/useFocusTrap.ts +4 -4
- package/src/hooks/useFormDialog.ts +8 -7
- package/src/hooks/useInactivityTracker.ts +1 -1
- package/src/hooks/usePermissionCache.ts +1 -1
- package/src/hooks/useSecureDataAccess.ts +19 -4
- package/src/hooks/useToast.ts +2 -2
- package/src/providers/__tests__/OrganisationProvider.test.tsx +57 -13
- package/src/providers/__tests__/ProviderLifecycle.test.tsx +21 -6
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +10 -10
- package/src/providers/services/UnifiedAuthProvider.tsx +22 -22
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +13 -3
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +24 -24
- package/src/rbac/components/EnhancedNavigationMenu.tsx +1 -1
- package/src/rbac/components/NavigationGuard.tsx +1 -1
- package/src/rbac/components/NavigationProvider.tsx +1 -1
- package/src/rbac/components/PagePermissionGuard.tsx +1 -1
- package/src/rbac/components/PagePermissionProvider.tsx +1 -1
- package/src/rbac/components/PermissionEnforcer.tsx +1 -1
- package/src/rbac/components/RoleBasedRouter.tsx +1 -1
- package/src/rbac/components/SecureDataProvider.tsx +1 -1
- package/src/rbac/secureClient.ts +12 -0
- package/src/utils/security/secureDataAccess.test.ts +31 -20
- package/src/utils/security/secureDataAccess.ts +4 -3
- package/dist/chunk-6C4YBBJM.js +0 -628
- package/dist/chunk-6C4YBBJM.js.map +0 -1
- package/dist/chunk-7D4SUZUM.js 2.map +0 -1
- package/dist/chunk-7EQTDTTJ.js.map +0 -1
- package/dist/chunk-7FLMSG37.js 2.map +0 -1
- package/dist/chunk-7FLMSG37.js.map +0 -1
- package/dist/chunk-E3SPN4VZ.js +0 -12917
- package/dist/chunk-E3SPN4VZ.js.map +0 -1
- package/dist/chunk-E66EQZE6 5.js +0 -37
- package/dist/chunk-E66EQZE6.js 2.map +0 -1
- package/dist/chunk-HWIIPPNI.js.map +0 -1
- package/dist/chunk-I7PSE6JW 5.js +0 -191
- package/dist/chunk-I7PSE6JW.js 2.map +0 -1
- package/dist/chunk-KNC55RTG.js 5.map +0 -1
- package/dist/chunk-KQCRWDSA.js 5.map +0 -1
- package/dist/chunk-LFNCN2SP.js 2.map +0 -1
- package/dist/chunk-LFNCN2SP.js.map +0 -1
- package/dist/chunk-LMC26NLJ 2.js +0 -84
- package/dist/chunk-NOAYCWCX.js +0 -4993
- package/dist/chunk-NOAYCWCX.js.map +0 -1
- package/dist/chunk-QWWZ5CAQ.js.map +0 -1
- package/dist/chunk-QXHPKYJV 3.js +0 -113
- package/dist/chunk-R77UEZ4E 3.js +0 -68
- package/dist/chunk-VBXEHIUJ.js 6.map +0 -1
- package/dist/chunk-XNXXZ43G.js.map +0 -1
- package/dist/chunk-ZSAAAMVR 6.js +0 -25
- package/dist/components.js 5.map +0 -1
- package/dist/styles/index 2.js +0 -12
- package/dist/styles/index.js 5.map +0 -1
- package/dist/theming/runtime 5.js +0 -19
- package/dist/theming/runtime.js 5.map +0 -1
- /package/dist/{DataTable-5FU7IESH.js.map → DataTable-DQ7RSOHE.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-RGJTDE2C.js.map → UnifiedAuthProvider-ATAP5UTR.js.map} +0 -0
- /package/dist/{chunk-BC4IJKSL.js.map → chunk-JBKQ3SAO.js.map} +0 -0
- /package/dist/{chunk-QWWZ5CAQ.js 3.map → chunk-LXQLPRQ2.js.map} +0 -0
- /package/examples/{rbac → RBAC}/CompleteRBACExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/EventBasedApp.tsx +0 -0
- /package/examples/{rbac → RBAC}/PermissionExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/index.ts +0 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Cursor Rules Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to pace-core cursor rules will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Initial release of cursor rules system
|
|
12
|
+
- 8 comprehensive rule files covering compliance, standards, structure, SOLID, testing, bug reports, code quality, and tech stack
|
|
13
|
+
- Installation script with safety guards
|
|
14
|
+
- Comprehensive audit tool with Phase 1 (deterministic) and Phase 2 (heuristic) checks
|
|
15
|
+
- Markdown report generation with timestamps
|
|
16
|
+
|
|
17
|
+
## [1.0.0] - 2025-01-15
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- **00-pace-core-compliance.mdc** - Enforces pace-core usage patterns
|
|
21
|
+
- **01-standards-compliance.mdc** - Maps to all pace-core standards
|
|
22
|
+
- **02-project-structure.mdc** - Defines standard folder structure
|
|
23
|
+
- **03-solid-principles.mdc** - Enforces SOLID architecture principles
|
|
24
|
+
- **04-testing-standards.mdc** - Enforces testing framework consistency
|
|
25
|
+
- **05-bug-reports-and-features.mdc** - Templates for bug reports and feature requests
|
|
26
|
+
- **06-code-quality.mdc** - Enforces code quality standards
|
|
27
|
+
- **07-tech-stack-compliance.mdc** - Enforces tech stack versions and patterns
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
- Opt-in installation script (not automatic postinstall)
|
|
31
|
+
- Safety guards (environment variable, git check)
|
|
32
|
+
- Version tracking in rule files
|
|
33
|
+
- Rule numbering system (pace-core: 00-09, apps: 50+)
|
|
34
|
+
- Targeted globs for efficient rule application
|
|
35
|
+
- MUST/SHOULD/MAY semantics for clear guidance
|
|
36
|
+
- Comprehensive audit tool with markdown reports
|
|
37
|
+
- Phase-based audit approach (deterministic vs heuristic)
|
|
38
|
+
|
|
39
|
+
### Documentation
|
|
40
|
+
- README.md with installation and usage guide
|
|
41
|
+
- Getting started guide in docs
|
|
42
|
+
- Updated standards README with cursor rules section
|
|
43
|
+
|
|
44
|
+
## Migration Guide
|
|
45
|
+
|
|
46
|
+
### From No Rules to Cursor Rules
|
|
47
|
+
|
|
48
|
+
1. Install pace-core (if not already installed):
|
|
49
|
+
```bash
|
|
50
|
+
npm install @jmruthers/pace-core
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
2. Install cursor rules:
|
|
54
|
+
```bash
|
|
55
|
+
node node_modules/@jmruthers/pace-core/scripts/install-cursor-rules.cjs
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
3. Restart Cursor to load rules
|
|
59
|
+
|
|
60
|
+
4. Run audit to check compliance:
|
|
61
|
+
```bash
|
|
62
|
+
node node_modules/@jmruthers/pace-core/scripts/audit-consuming-app.cjs
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Updating Rules
|
|
66
|
+
|
|
67
|
+
When pace-core is updated:
|
|
68
|
+
|
|
69
|
+
1. Update pace-core:
|
|
70
|
+
```bash
|
|
71
|
+
npm update @jmruthers/pace-core
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
2. Update rules:
|
|
75
|
+
```bash
|
|
76
|
+
npm run setup:cursor-rules
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. Review any changes in rule files
|
|
80
|
+
|
|
81
|
+
### Custom Rules
|
|
82
|
+
|
|
83
|
+
If you have custom rules, number them starting at 50:
|
|
84
|
+
- `50-my-custom-rule.mdc`
|
|
85
|
+
- `51-another-rule.mdc`
|
|
86
|
+
- etc.
|
|
87
|
+
|
|
88
|
+
This ensures pace-core rules (00-09) load first.
|
|
89
|
+
|
|
90
|
+
## Version History
|
|
91
|
+
|
|
92
|
+
- **1.0.0** (2025-01-15) - Initial release
|
|
93
|
+
|
|
94
|
+
## Future Enhancements
|
|
95
|
+
|
|
96
|
+
Potential future enhancements:
|
|
97
|
+
- CLI for rule validation
|
|
98
|
+
- GitHub Action template for PR audits
|
|
99
|
+
- Rule update notification system
|
|
100
|
+
- Interactive rule configuration
|
|
101
|
+
- Rule effectiveness metrics
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# pace-core Cursor Rules
|
|
2
|
+
|
|
3
|
+
This directory contains Cursor rules that ensure consuming apps maintain quality, consistency, and compliance with pace-core standards.
|
|
4
|
+
|
|
5
|
+
## What are Cursor Rules?
|
|
6
|
+
|
|
7
|
+
Cursor rules are `.mdc` (Markdown Cursor) files that guide AI assistants (like Cursor) to follow specific patterns and standards when writing code. These rules are automatically loaded by Cursor when present in `.cursor/rules/` directory.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
### Automatic Installation (Recommended)
|
|
12
|
+
|
|
13
|
+
Run the installation script from your consuming app root:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
node node_modules/@jmruthers/pace-core/scripts/install-cursor-rules.cjs
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Or add to your `package.json`:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"scripts": {
|
|
24
|
+
"setup:cursor-rules": "node node_modules/@jmruthers/pace-core/scripts/install-cursor-rules.cjs"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Then run:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm run setup:cursor-rules
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Manual Installation
|
|
36
|
+
|
|
37
|
+
Copy all `.mdc` files from `node_modules/@jmruthers/pace-core/cursor-rules/` to your `.cursor/rules/` directory.
|
|
38
|
+
|
|
39
|
+
## Rule Files
|
|
40
|
+
|
|
41
|
+
The rules are numbered for ordering (00-07):
|
|
42
|
+
|
|
43
|
+
- **00-pace-core-compliance.mdc** - Enforce pace-core usage patterns
|
|
44
|
+
- **01-standards-compliance.mdc** - Enforce all pace-core standards
|
|
45
|
+
- **02-project-structure.mdc** - Define standard folder structure
|
|
46
|
+
- **03-solid-principles.mdc** - Enforce SOLID architecture principles
|
|
47
|
+
- **04-testing-standards.mdc** - Enforce testing framework consistency
|
|
48
|
+
- **05-bug-reports-and-features.mdc** - Templates for bug reports and feature requests (guidance-only)
|
|
49
|
+
- **06-code-quality.mdc** - Enforce code quality standards
|
|
50
|
+
- **07-tech-stack-compliance.mdc** - Enforce tech stack versions and patterns
|
|
51
|
+
|
|
52
|
+
## Rule Numbering System
|
|
53
|
+
|
|
54
|
+
- **pace-core rules**: `00-09` (reserved for pace-core)
|
|
55
|
+
- **Your app rules**: `50+` (create your own rules starting at 50)
|
|
56
|
+
|
|
57
|
+
This ensures pace-core rules load first, and your custom rules load after.
|
|
58
|
+
|
|
59
|
+
## Customization
|
|
60
|
+
|
|
61
|
+
### Adding Your Own Rules
|
|
62
|
+
|
|
63
|
+
Create your own rules in `.cursor/rules/` with numbers starting at `50`:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
.cursor/rules/
|
|
67
|
+
├── 00-pace-core-compliance.mdc # pace-core rule
|
|
68
|
+
├── 01-standards-compliance.mdc # pace-core rule
|
|
69
|
+
├── ...
|
|
70
|
+
├── 50-my-custom-rule.mdc # Your custom rule
|
|
71
|
+
└── 51-another-custom-rule.mdc # Your custom rule
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Updating Rules
|
|
75
|
+
|
|
76
|
+
When pace-core is updated, run the installation script again. The script will:
|
|
77
|
+
- **Automatically update** pace-core rules (00-09) if they've changed (version or content differs)
|
|
78
|
+
- Preserve your custom rules (50+)
|
|
79
|
+
- Skip files that are already up to date
|
|
80
|
+
|
|
81
|
+
### Force Update
|
|
82
|
+
|
|
83
|
+
To force update all rules (even when versions match):
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
node node_modules/@jmruthers/pace-core/scripts/install-cursor-rules.cjs --force
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Note**: Normally, pace-core rules (00-09) are automatically updated when they change. The `--force` flag forces an update even when versions match (useful if content changed but version metadata wasn't updated).
|
|
90
|
+
|
|
91
|
+
## How Cursor Uses Rules
|
|
92
|
+
|
|
93
|
+
Cursor automatically loads all `.mdc` files from `.cursor/rules/` when:
|
|
94
|
+
- You open a file that matches the rule's `globs` pattern
|
|
95
|
+
- You ask Cursor to write or modify code
|
|
96
|
+
- Cursor needs context for code generation
|
|
97
|
+
|
|
98
|
+
Rules with `alwaysApply: true` are always considered, while rules with `alwaysApply: false` are only referenced when relevant.
|
|
99
|
+
|
|
100
|
+
## Explicitly Referencing Rules
|
|
101
|
+
|
|
102
|
+
When working with Cursor, you can explicitly reference rules:
|
|
103
|
+
|
|
104
|
+
> "Use pace-core components and follow rules 00–04."
|
|
105
|
+
|
|
106
|
+
This helps Cursor focus on specific rule sets.
|
|
107
|
+
|
|
108
|
+
## Rule Format
|
|
109
|
+
|
|
110
|
+
Each rule file follows this format:
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
---
|
|
114
|
+
description: Brief description
|
|
115
|
+
globs: ["targeted/path/**/*.{ts,tsx}"] # Files this rule applies to
|
|
116
|
+
alwaysApply: true # or false
|
|
117
|
+
paceCoreVersion: "0.5.x" # pace-core version
|
|
118
|
+
rulesVersion: "2025-01-15" # Rule update date
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
# Rule Title
|
|
122
|
+
|
|
123
|
+
Content with examples and guidelines.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Safety Guards
|
|
127
|
+
|
|
128
|
+
The installation script includes safety guards:
|
|
129
|
+
|
|
130
|
+
- **Environment variable**: Set `PACE_CURSOR_RULES_DISABLED=1` to skip installation
|
|
131
|
+
- **Git check**: Skips if no `.git` folder exists (CI/safety)
|
|
132
|
+
- **Auto-update**: Automatically updates pace-core rules (00-09) when they change
|
|
133
|
+
- **Protection**: Never overwrites custom app rules (50+)
|
|
134
|
+
|
|
135
|
+
## Monorepo Support
|
|
136
|
+
|
|
137
|
+
For monorepos, run the installation script from each app's root directory. Each app maintains its own `.cursor/rules/` directory.
|
|
138
|
+
|
|
139
|
+
## Troubleshooting
|
|
140
|
+
|
|
141
|
+
### Rules Not Loading
|
|
142
|
+
|
|
143
|
+
1. Verify rules are in `.cursor/rules/` directory
|
|
144
|
+
2. Check file extensions are `.mdc`
|
|
145
|
+
3. Restart Cursor if rules were just installed
|
|
146
|
+
4. Check rule frontmatter is valid YAML
|
|
147
|
+
|
|
148
|
+
### Rules Conflicting
|
|
149
|
+
|
|
150
|
+
1. Check rule numbering (pace-core: 00-09, yours: 50+)
|
|
151
|
+
2. Verify `globs` patterns don't overlap unnecessarily
|
|
152
|
+
3. Review rule priorities in frontmatter
|
|
153
|
+
|
|
154
|
+
### Installation Fails
|
|
155
|
+
|
|
156
|
+
1. Check you're in the app root directory
|
|
157
|
+
2. Verify `node_modules/@jmruthers/pace-core/` exists
|
|
158
|
+
3. Check file permissions
|
|
159
|
+
4. Try with `--force` flag if needed
|
|
160
|
+
|
|
161
|
+
## Audit Tool
|
|
162
|
+
|
|
163
|
+
Run the audit tool to check compliance:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
node node_modules/@jmruthers/pace-core/scripts/audit-consuming-app.cjs
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
This generates a timestamped markdown report in `audit/` directory.
|
|
170
|
+
|
|
171
|
+
## Version Tracking
|
|
172
|
+
|
|
173
|
+
Each rule file includes version metadata:
|
|
174
|
+
- `paceCoreVersion`: pace-core version these rules target
|
|
175
|
+
- `rulesVersion`: Date when rules were last updated
|
|
176
|
+
|
|
177
|
+
Check these to see if rules need updating.
|
|
178
|
+
|
|
179
|
+
## Related Documentation
|
|
180
|
+
|
|
181
|
+
- [pace-core Standards](../docs/standards/README.md)
|
|
182
|
+
- [Getting Started Guide](../docs/getting-started/cursor-rules.md)
|
|
183
|
+
- [pace-core Exports](../docs/api-reference/README.md)
|
|
184
|
+
|
|
185
|
+
## Support
|
|
186
|
+
|
|
187
|
+
For issues with cursor rules:
|
|
188
|
+
1. Check this README
|
|
189
|
+
2. Review rule files for guidance
|
|
190
|
+
3. File an issue in pace-core repository
|
|
191
|
+
4. Check pace-core documentation
|
|
@@ -101,7 +101,7 @@ interface DataTableProps<TData extends DataRecord> {
|
|
|
101
101
|
/** Whether the table is in a loading state */
|
|
102
102
|
isLoading?: boolean;
|
|
103
103
|
/** Custom component to display when table is empty */
|
|
104
|
-
emptyState?: EmptyStateConfig | React__default.ReactElement
|
|
104
|
+
emptyState?: EmptyStateConfig | React__default.ReactElement<any>;
|
|
105
105
|
/** Array of aggregation functions for grouped data */
|
|
106
106
|
aggregates?: AggregateConfig[];
|
|
107
107
|
/** Import modal configuration */
|
|
@@ -60,8 +60,8 @@ import {
|
|
|
60
60
|
sum,
|
|
61
61
|
validateHierarchicalData,
|
|
62
62
|
validatePaginationConfig
|
|
63
|
-
} from "./chunk-
|
|
64
|
-
import "./chunk-
|
|
63
|
+
} from "./chunk-T33XF5ZC.js";
|
|
64
|
+
import "./chunk-XM25TVIE.js";
|
|
65
65
|
import {
|
|
66
66
|
CircuitBreaker,
|
|
67
67
|
DEFAULT_FALLBACK_CONFIG,
|
|
@@ -79,10 +79,10 @@ import {
|
|
|
79
79
|
safeExecute,
|
|
80
80
|
throttle,
|
|
81
81
|
useDataTablePerformance
|
|
82
|
-
} from "./chunk-
|
|
83
|
-
import "./chunk-
|
|
82
|
+
} from "./chunk-3QRJFVBR.js";
|
|
83
|
+
import "./chunk-3XTALGJF.js";
|
|
84
84
|
import "./chunk-KQCRWDSA.js";
|
|
85
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-BYFSK72L.js";
|
|
86
86
|
import "./chunk-KNC55RTG.js";
|
|
87
87
|
import "./chunk-63FOKYGO.js";
|
|
88
88
|
import "./chunk-QXHPKYJV.js";
|
|
@@ -170,4 +170,4 @@ export {
|
|
|
170
170
|
validateHierarchicalData,
|
|
171
171
|
validatePaginationConfig
|
|
172
172
|
};
|
|
173
|
-
//# sourceMappingURL=DataTable-
|
|
173
|
+
//# sourceMappingURL=DataTable-DQ7RSOHE.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
2
|
import React__default, { Component, ReactNode } from 'react';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
4
|
import { P as ParsedAddress, A as AutocompleteOptions } from './types-CEpcvwwF.js';
|
|
4
5
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
5
6
|
import { F as FileCategory, e as FileUploadResult, U as UploadProgress, c as FileUploadOptions, a as FileReference } from './file-reference-BavO2eQj.js';
|
|
6
7
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
8
|
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
8
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
9
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
10
10
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
11
11
|
import { DayPickerProps, DateRange } from 'react-day-picker';
|
|
@@ -128,56 +128,6 @@ declare const CardFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttribut
|
|
|
128
128
|
declare const CardActions: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLElement> & React$1.RefAttributes<HTMLElement>>;
|
|
129
129
|
type CardActionsProps = React$1.HTMLAttributes<HTMLElement>;
|
|
130
130
|
|
|
131
|
-
/**
|
|
132
|
-
* @file Input Component Suite
|
|
133
|
-
* @package @jmruthers/pace-core
|
|
134
|
-
* @module Input
|
|
135
|
-
* @since 0.1.0
|
|
136
|
-
*
|
|
137
|
-
* A comprehensive input component suite including Input and InputGroup.
|
|
138
|
-
* Provides flexible, accessible input components with consistent styling and behavior.
|
|
139
|
-
*
|
|
140
|
-
* Features:
|
|
141
|
-
* - Multiple input variants (default, destructive)
|
|
142
|
-
* - Multiple input sizes (sm, md, lg)
|
|
143
|
-
* - Error state styling
|
|
144
|
-
* - Input grouping with consistent spacing
|
|
145
|
-
* - Horizontal and vertical orientation support
|
|
146
|
-
* - Forwarded ref support
|
|
147
|
-
* - Composition support
|
|
148
|
-
*
|
|
149
|
-
* @example
|
|
150
|
-
* ```tsx
|
|
151
|
-
* // Basic input
|
|
152
|
-
* <Input placeholder="Enter text" />
|
|
153
|
-
*
|
|
154
|
-
* // Input with variants and sizes
|
|
155
|
-
* <Input
|
|
156
|
-
* variant="destructive"
|
|
157
|
-
* size="lg"
|
|
158
|
-
* placeholder="Error input"
|
|
159
|
-
* />
|
|
160
|
-
*
|
|
161
|
-
* // Input group
|
|
162
|
-
* <InputGroup orientation="horizontal" spacing="md">
|
|
163
|
-
* <Input placeholder="First name" />
|
|
164
|
-
* <Input placeholder="Last name" />
|
|
165
|
-
* </InputGroup>
|
|
166
|
-
*
|
|
167
|
-
* // Vertical input group
|
|
168
|
-
* <InputGroup orientation="vertical" spacing="lg">
|
|
169
|
-
* <Input placeholder="Email" type="email" />
|
|
170
|
-
* <Input placeholder="Password" type="password" />
|
|
171
|
-
* </InputGroup>
|
|
172
|
-
* ```
|
|
173
|
-
*
|
|
174
|
-
* @accessibility
|
|
175
|
-
* - Proper ARIA attributes and roles
|
|
176
|
-
* - Keyboard navigation support
|
|
177
|
-
* - Screen reader friendly
|
|
178
|
-
* - Focus management
|
|
179
|
-
*/
|
|
180
|
-
|
|
181
131
|
interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
182
132
|
/**
|
|
183
133
|
* Input variant style
|
|
@@ -220,7 +170,12 @@ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>,
|
|
|
220
170
|
* />
|
|
221
171
|
* ```
|
|
222
172
|
*/
|
|
223
|
-
declare
|
|
173
|
+
declare function Input({ className, variant, size, error, type, ref, ...props }: InputProps & {
|
|
174
|
+
ref?: React$1.Ref<HTMLInputElement>;
|
|
175
|
+
}): react_jsx_runtime.JSX.Element;
|
|
176
|
+
declare namespace Input {
|
|
177
|
+
var displayName: string;
|
|
178
|
+
}
|
|
224
179
|
|
|
225
180
|
/**
|
|
226
181
|
* @file AddressField Component Types
|
|
@@ -400,7 +355,7 @@ declare const AddressField: React$1.ForwardRefExoticComponent<AddressFieldProps
|
|
|
400
355
|
*
|
|
401
356
|
* @dependencies
|
|
402
357
|
* - @radix-ui/react-label - Core label functionality
|
|
403
|
-
* - React
|
|
358
|
+
* - React 19+ - Hooks and refs
|
|
404
359
|
* - Tailwind CSS - Styling
|
|
405
360
|
*/
|
|
406
361
|
|
|
@@ -440,48 +395,6 @@ interface LabelProps extends React$1.ComponentPropsWithoutRef<typeof LabelPrimit
|
|
|
440
395
|
*/
|
|
441
396
|
declare const Label: React$1.ForwardRefExoticComponent<LabelProps & React$1.RefAttributes<HTMLLabelElement>>;
|
|
442
397
|
|
|
443
|
-
/**
|
|
444
|
-
* @file Textarea Component
|
|
445
|
-
* @package @jmruthers/pace-core
|
|
446
|
-
* @module Textarea
|
|
447
|
-
* @since 0.5.141
|
|
448
|
-
*
|
|
449
|
-
* A multi-line text input component with consistent styling matching the Input component.
|
|
450
|
-
* Provides flexible, accessible textarea component with consistent styling and behavior.
|
|
451
|
-
*
|
|
452
|
-
* Features:
|
|
453
|
-
* - Multiple textarea variants (default, destructive)
|
|
454
|
-
* - Multiple textarea sizes (sm, md, lg)
|
|
455
|
-
* - Error state styling
|
|
456
|
-
* - Forwarded ref support
|
|
457
|
-
* - Consistent styling with Input component
|
|
458
|
-
*
|
|
459
|
-
* @example
|
|
460
|
-
* ```tsx
|
|
461
|
-
* // Basic textarea
|
|
462
|
-
* <Textarea placeholder="Enter your message..." />
|
|
463
|
-
*
|
|
464
|
-
* // Textarea with variants and sizes
|
|
465
|
-
* <Textarea
|
|
466
|
-
* variant="destructive"
|
|
467
|
-
* size="lg"
|
|
468
|
-
* placeholder="Error textarea"
|
|
469
|
-
* />
|
|
470
|
-
*
|
|
471
|
-
* // Textarea with error state
|
|
472
|
-
* <Textarea
|
|
473
|
-
* placeholder="Comments"
|
|
474
|
-
* error={true}
|
|
475
|
-
* />
|
|
476
|
-
* ```
|
|
477
|
-
*
|
|
478
|
-
* @accessibility
|
|
479
|
-
* - Proper ARIA attributes and roles
|
|
480
|
-
* - Keyboard navigation support
|
|
481
|
-
* - Screen reader friendly
|
|
482
|
-
* - Focus management
|
|
483
|
-
*/
|
|
484
|
-
|
|
485
398
|
interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
486
399
|
/**
|
|
487
400
|
* Textarea variant style
|
|
@@ -524,7 +437,12 @@ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaEleme
|
|
|
524
437
|
* />
|
|
525
438
|
* ```
|
|
526
439
|
*/
|
|
527
|
-
declare
|
|
440
|
+
declare function Textarea({ className, variant, size, error, ref, ...props }: TextareaProps & {
|
|
441
|
+
ref?: React$1.Ref<HTMLTextAreaElement>;
|
|
442
|
+
}): react_jsx_runtime.JSX.Element;
|
|
443
|
+
declare namespace Textarea {
|
|
444
|
+
var displayName: string;
|
|
445
|
+
}
|
|
528
446
|
|
|
529
447
|
/**
|
|
530
448
|
* @file Alert Component Suite
|
|
@@ -652,50 +570,6 @@ interface AvatarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
652
570
|
*/
|
|
653
571
|
declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
654
572
|
|
|
655
|
-
/**
|
|
656
|
-
* @file Badge Component
|
|
657
|
-
* @package @jmruthers/pace-core
|
|
658
|
-
* @module Components
|
|
659
|
-
* @since 0.1.0
|
|
660
|
-
*
|
|
661
|
-
* A small, non-interactive visual label component for displaying concise information
|
|
662
|
-
* such as status indicators, tags, or labels. Acts as a visual alternative to buttons
|
|
663
|
-
* for non-interactive content.
|
|
664
|
-
*
|
|
665
|
-
* Features:
|
|
666
|
-
* - 27 combined variants (3 styles × 3 colors × 3 shades)
|
|
667
|
-
* - Non-interactive by default (renders as <span>)
|
|
668
|
-
* - Supports all pace-core color palettes (main, sec, acc)
|
|
669
|
-
* - Customizable styling via className prop
|
|
670
|
-
* - Accessible and screen reader friendly
|
|
671
|
-
*
|
|
672
|
-
* @example
|
|
673
|
-
* ```tsx
|
|
674
|
-
* // Basic badge with default variant
|
|
675
|
-
* <Badge>New</Badge>
|
|
676
|
-
*
|
|
677
|
-
* // Badge with specific variant
|
|
678
|
-
* <Badge variant="solid-main-normal">Active</Badge>
|
|
679
|
-
*
|
|
680
|
-
* // Outline variant
|
|
681
|
-
* <Badge variant="outline-sec-muted">Pending</Badge>
|
|
682
|
-
*
|
|
683
|
-
* // Soft variant with accent color
|
|
684
|
-
* <Badge variant="soft-acc-strong">Featured</Badge>
|
|
685
|
-
*
|
|
686
|
-
* // Custom styling
|
|
687
|
-
* <Badge variant="solid-main-normal" className="px-4">
|
|
688
|
-
* Custom Badge
|
|
689
|
-
* </Badge>
|
|
690
|
-
* ```
|
|
691
|
-
*
|
|
692
|
-
* @accessibility
|
|
693
|
-
* - Renders as semantic <span> element
|
|
694
|
-
* - No focus styles (non-interactive by default)
|
|
695
|
-
* - Screen reader friendly through semantic HTML
|
|
696
|
-
* - Can be wrapped in interactive elements if needed
|
|
697
|
-
*/
|
|
698
|
-
|
|
699
573
|
type BadgeVariant = 'solid-main-muted' | 'solid-main-normal' | 'solid-main-strong' | 'solid-sec-muted' | 'solid-sec-normal' | 'solid-sec-strong' | 'solid-acc-muted' | 'solid-acc-normal' | 'solid-acc-strong' | 'outline-main-muted' | 'outline-main-normal' | 'outline-main-strong' | 'outline-sec-muted' | 'outline-sec-normal' | 'outline-sec-strong' | 'outline-acc-muted' | 'outline-acc-normal' | 'outline-acc-strong' | 'soft-main-muted' | 'soft-main-normal' | 'soft-main-strong' | 'soft-sec-muted' | 'soft-sec-normal' | 'soft-sec-strong' | 'soft-acc-muted' | 'soft-acc-normal' | 'soft-acc-strong';
|
|
700
574
|
interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
|
|
701
575
|
/** Visual variant of the badge (style-color-shade) */
|
|
@@ -721,7 +595,12 @@ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
|
|
|
721
595
|
* <Badge variant="soft-acc-strong">Featured</Badge>
|
|
722
596
|
* ```
|
|
723
597
|
*/
|
|
724
|
-
declare
|
|
598
|
+
declare function Badge({ className, variant, ref, ...props }: BadgeProps & {
|
|
599
|
+
ref?: React$1.Ref<HTMLSpanElement>;
|
|
600
|
+
}): react_jsx_runtime.JSX.Element;
|
|
601
|
+
declare namespace Badge {
|
|
602
|
+
var displayName: string;
|
|
603
|
+
}
|
|
725
604
|
|
|
726
605
|
/**
|
|
727
606
|
* @file Checkbox Component
|
|
@@ -923,7 +802,7 @@ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.Re
|
|
|
923
802
|
* - Minimal DOM structure (native HTML element)
|
|
924
803
|
*
|
|
925
804
|
* @dependencies
|
|
926
|
-
* - React
|
|
805
|
+
* - React 19+ - Hooks and refs
|
|
927
806
|
* - Tailwind CSS - Styling
|
|
928
807
|
*/
|
|
929
808
|
|
|
@@ -1673,7 +1552,7 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
|
|
|
1673
1552
|
*
|
|
1674
1553
|
* @dependencies
|
|
1675
1554
|
* - @radix-ui/react-tooltip - Core tooltip functionality
|
|
1676
|
-
* - React
|
|
1555
|
+
* - React 19+ - Hooks and refs
|
|
1677
1556
|
* - Tailwind CSS - Styling and animations
|
|
1678
1557
|
*/
|
|
1679
1558
|
|
|
@@ -1829,7 +1708,7 @@ interface FormFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
|
1829
1708
|
field: ControllerRenderProps<TFieldValues, TName>;
|
|
1830
1709
|
fieldState: ControllerFieldState;
|
|
1831
1710
|
formState: UseFormStateReturn<TFieldValues>;
|
|
1832
|
-
}) => React__default.ReactElement
|
|
1711
|
+
}) => React__default.ReactElement<any>;
|
|
1833
1712
|
/**
|
|
1834
1713
|
* Test ID
|
|
1835
1714
|
*/
|
|
@@ -1999,7 +1878,7 @@ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName
|
|
|
1999
1878
|
* - Minimal re-renders
|
|
2000
1879
|
*
|
|
2001
1880
|
* @dependencies
|
|
2002
|
-
* - React
|
|
1881
|
+
* - React 19+ - Hooks and memo
|
|
2003
1882
|
* - Button component
|
|
2004
1883
|
* - Input component
|
|
2005
1884
|
* - Label component
|
|
@@ -2239,7 +2118,7 @@ declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
|
|
|
2239
2118
|
* - Responsive design considerations
|
|
2240
2119
|
*
|
|
2241
2120
|
* @dependencies
|
|
2242
|
-
* - React
|
|
2121
|
+
* - React 19+ - Component framework and hooks
|
|
2243
2122
|
* - Lucide React - Icon components
|
|
2244
2123
|
* - Radix UI - Dropdown menu primitives
|
|
2245
2124
|
* - React Router (optional) - For navigation handling
|
|
@@ -2581,7 +2460,7 @@ declare const NavigationMenu: React$1.ForwardRefExoticComponent<NavigationMenuPr
|
|
|
2581
2460
|
* - Proper error handling
|
|
2582
2461
|
*
|
|
2583
2462
|
* @dependencies
|
|
2584
|
-
* - React
|
|
2463
|
+
* - React 19+ - Hooks and state
|
|
2585
2464
|
* - Button component
|
|
2586
2465
|
* - Input component
|
|
2587
2466
|
* - Label component
|
|
@@ -2828,7 +2707,7 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
|
|
|
2828
2707
|
* - Clear link identification
|
|
2829
2708
|
*
|
|
2830
2709
|
* @dependencies
|
|
2831
|
-
* - React
|
|
2710
|
+
* - React 19+ - Component framework
|
|
2832
2711
|
* - Tailwind CSS - Styling
|
|
2833
2712
|
*/
|
|
2834
2713
|
|
|
@@ -2960,7 +2839,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2960
2839
|
* - Optimized avatar rendering
|
|
2961
2840
|
*
|
|
2962
2841
|
* @dependencies
|
|
2963
|
-
* - React
|
|
2842
|
+
* - React 19+ - Hooks and memo
|
|
2964
2843
|
* - @supabase/supabase-js - User type
|
|
2965
2844
|
* - lucide-react - Icons
|
|
2966
2845
|
* - DropdownMenu components
|
|
@@ -3314,7 +3193,7 @@ declare function PaceAppLayout({ appName, navItems, showEventSelector, showOrgSe
|
|
|
3314
3193
|
* - Automatic redirect prevention loops
|
|
3315
3194
|
*
|
|
3316
3195
|
* @dependencies
|
|
3317
|
-
* - React
|
|
3196
|
+
* - React 19+ - Hooks and effects
|
|
3318
3197
|
* - React Router v6 - Navigation
|
|
3319
3198
|
* - UnifiedAuthProvider - Authentication
|
|
3320
3199
|
* - LoginForm component
|
|
@@ -3405,7 +3284,7 @@ interface ProtectedRouteProps {
|
|
|
3405
3284
|
* @param props - Configuration for route protection
|
|
3406
3285
|
* @returns React element with route protection logic
|
|
3407
3286
|
*/
|
|
3408
|
-
declare function ProtectedRoute({ requireEvent, allowSuperAdminBypass, noEventsFallback, loadingFallback, loginPath }: ProtectedRouteProps): string | number | true | Iterable<React__default.ReactNode> | react_jsx_runtime.JSX.Element;
|
|
3287
|
+
declare function ProtectedRoute({ requireEvent, allowSuperAdminBypass, noEventsFallback, loadingFallback, loginPath }: ProtectedRouteProps): string | number | bigint | true | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element;
|
|
3409
3288
|
|
|
3410
3289
|
/**
|
|
3411
3290
|
* State interface for the ErrorBoundary component
|
|
@@ -3468,7 +3347,7 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
|
|
|
3468
3347
|
private reportError;
|
|
3469
3348
|
private handleRetry;
|
|
3470
3349
|
componentWillUnmount(): void;
|
|
3471
|
-
render(): string | number | boolean | Iterable<React__default.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
3350
|
+
render(): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
3472
3351
|
}
|
|
3473
3352
|
|
|
3474
3353
|
/**
|
|
@@ -3525,7 +3404,7 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
|
|
|
3525
3404
|
* - Efficient rendering
|
|
3526
3405
|
*
|
|
3527
3406
|
* @dependencies
|
|
3528
|
-
* - React
|
|
3407
|
+
* - React 19+ - Component framework
|
|
3529
3408
|
* - Tailwind CSS - Styling and animations
|
|
3530
3409
|
*/
|
|
3531
3410
|
|
|
@@ -3584,7 +3463,7 @@ declare const LoadingSpinner: React__default.FC<LoadingSpinnerProps>;
|
|
|
3584
3463
|
* - High contrast support
|
|
3585
3464
|
*
|
|
3586
3465
|
* @dependencies
|
|
3587
|
-
* - React
|
|
3466
|
+
* - React 19+ - Component framework
|
|
3588
3467
|
* - LoadingSpinner - Spinner component
|
|
3589
3468
|
* - Tailwind CSS - Styling
|
|
3590
3469
|
*/
|
|
@@ -3936,7 +3815,7 @@ type UseFileReferenceForRecordReturn = {
|
|
|
3936
3815
|
* - Caption for table description
|
|
3937
3816
|
*
|
|
3938
3817
|
* @dependencies
|
|
3939
|
-
* - React
|
|
3818
|
+
* - React 19+ - Hooks and refs
|
|
3940
3819
|
* - Tailwind CSS - Styling
|
|
3941
3820
|
*/
|
|
3942
3821
|
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
UnifiedAuthContext,
|
|
3
3
|
UnifiedAuthProvider,
|
|
4
4
|
useUnifiedAuth
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BYFSK72L.js";
|
|
6
6
|
import "./chunk-KNC55RTG.js";
|
|
7
7
|
import "./chunk-63FOKYGO.js";
|
|
8
8
|
import "./chunk-QXHPKYJV.js";
|
|
@@ -14,4 +14,4 @@ export {
|
|
|
14
14
|
UnifiedAuthProvider,
|
|
15
15
|
useUnifiedAuth
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=UnifiedAuthProvider-
|
|
17
|
+
//# sourceMappingURL=UnifiedAuthProvider-ATAP5UTR.js.map
|