@jmruthers/pace-core 0.5.140 → 0.5.142
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/README.md +2 -2
- package/dist/{DataTable-JXFCA2BJ.js → DataTable-SKCX4SCB.js} +6 -6
- package/dist/{EventLogo-rFL_kRjk.d.ts → EventLogo-B3V3otev.d.ts} +307 -1
- package/dist/{UnifiedAuthProvider-XIQQ7LVU.js → UnifiedAuthProvider-BMJAP6Z7.js} +3 -3
- package/dist/{chunk-22WKWKRX.js → chunk-2AKRP5QZ.js} +4 -4
- package/dist/{chunk-4C7EXCAR.js → chunk-CRGFNQ2L.js} +4 -4
- package/dist/{chunk-TLT2ZR3L.js → chunk-E6ZCVF4T.js} +4 -4
- package/dist/{chunk-INQLMHPF.js → chunk-ERGKJX4D.js} +2 -2
- package/dist/{chunk-6LAAY47Q.js → chunk-MSHEVJXS.js} +2 -2
- package/dist/{chunk-MA6EPSGZ.js → chunk-PKW27QVS.js} +2 -2
- package/dist/{chunk-T6JN6LH6.js → chunk-R53TUSFK.js} +3 -3
- package/dist/{chunk-6DXZ6V5Q.js → chunk-SFVL7ZFI.js} +5 -5
- package/dist/{chunk-5JMOHWDI.js → chunk-TUJSIWX6.js} +497 -329
- package/dist/chunk-TUJSIWX6.js.map +1 -0
- package/dist/{chunk-BOOI7GK2.js → chunk-VOJBGZYI.js} +119 -3
- package/dist/chunk-VOJBGZYI.js.map +1 -0
- package/dist/{chunk-YCWDTTUK.js → chunk-WM26XK7I.js} +22 -8
- package/dist/chunk-WM26XK7I.js.map +1 -0
- package/dist/components.d.ts +3 -1
- package/dist/components.js +20 -8
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +7 -7
- package/dist/index.d.ts +4 -2
- package/dist/index.js +25 -11
- package/dist/index.js.map +1 -1
- package/dist/providers.js +2 -2
- package/dist/rbac/index.d.ts +94 -1
- package/dist/rbac/index.js +9 -7
- package/dist/utils.js +1 -1
- package/docs/api/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 +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CalendarProps.md +40 -0
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/EventLogoProps.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 +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +155 -0
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +9 -0
- package/docs/api/interfaces/TabsListProps.md +9 -0
- package/docs/api/interfaces/TabsProps.md +9 -0
- package/docs/api/interfaces/TabsTriggerProps.md +9 -0
- package/docs/api/interfaces/TextareaProps.md +53 -0
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +34 -0
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +289 -2
- package/docs/rbac/README.md +2 -1
- package/docs/rbac/event-based-apps.md +872 -0
- package/package.json +3 -1
- package/src/components/Calendar/Calendar.test.tsx +338 -0
- package/src/components/Calendar/Calendar.tsx +192 -0
- package/src/components/Calendar/index.ts +10 -0
- package/src/components/Tabs/Tabs.test.tsx +439 -0
- package/src/components/Tabs/Tabs.tsx +202 -0
- package/src/components/Tabs/index.ts +10 -0
- package/src/components/Textarea/Textarea.test.tsx +269 -0
- package/src/components/Textarea/Textarea.tsx +133 -0
- package/src/components/Textarea/index.ts +10 -0
- package/src/components/index.ts +11 -0
- package/src/index.ts +11 -0
- package/src/rbac/hooks/index.ts +2 -0
- package/src/rbac/hooks/useResourcePermissions.test.ts +633 -0
- package/src/rbac/hooks/useResourcePermissions.ts +235 -0
- package/src/services/EventService.ts +29 -8
- package/src/services/__tests__/EventService.test.ts +48 -8
- package/dist/chunk-5JMOHWDI.js.map +0 -1
- package/dist/chunk-BOOI7GK2.js.map +0 -1
- package/dist/chunk-YCWDTTUK.js.map +0 -1
- package/src/rbac/docs/event-based-apps.md +0 -285
- /package/dist/{DataTable-JXFCA2BJ.js.map → DataTable-SKCX4SCB.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-XIQQ7LVU.js.map → UnifiedAuthProvider-BMJAP6Z7.js.map} +0 -0
- /package/dist/{chunk-22WKWKRX.js.map → chunk-2AKRP5QZ.js.map} +0 -0
- /package/dist/{chunk-4C7EXCAR.js.map → chunk-CRGFNQ2L.js.map} +0 -0
- /package/dist/{chunk-TLT2ZR3L.js.map → chunk-E6ZCVF4T.js.map} +0 -0
- /package/dist/{chunk-INQLMHPF.js.map → chunk-ERGKJX4D.js.map} +0 -0
- /package/dist/{chunk-6LAAY47Q.js.map → chunk-MSHEVJXS.js.map} +0 -0
- /package/dist/{chunk-MA6EPSGZ.js.map → chunk-PKW27QVS.js.map} +0 -0
- /package/dist/{chunk-T6JN6LH6.js.map → chunk-R53TUSFK.js.map} +0 -0
- /package/dist/{chunk-6DXZ6V5Q.js.map → chunk-SFVL7ZFI.js.map} +0 -0
package/docs/api/modules.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[@jmruthers/pace-core - v0.5.
|
|
1
|
+
[@jmruthers/pace-core - v0.5.142](README.md) / Exports
|
|
2
2
|
|
|
3
|
-
# @jmruthers/pace-core - v0.5.
|
|
3
|
+
# @jmruthers/pace-core - v0.5.142
|
|
4
4
|
|
|
5
5
|
**`File`**
|
|
6
6
|
|
|
@@ -54,6 +54,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
54
54
|
|
|
55
55
|
- [BadgeProps](interfaces/BadgeProps.md)
|
|
56
56
|
- [ButtonProps](interfaces/ButtonProps.md)
|
|
57
|
+
- [CalendarProps](interfaces/CalendarProps.md)
|
|
57
58
|
- [CardProps](interfaces/CardProps.md)
|
|
58
59
|
- [DataTableProps](interfaces/DataTableProps.md)
|
|
59
60
|
- [DataRecord](interfaces/DataRecord.md)
|
|
@@ -85,6 +86,11 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
85
86
|
- [PublicPageLayoutProps](interfaces/PublicPageLayoutProps.md)
|
|
86
87
|
- [SessionRestorationLoaderProps](interfaces/SessionRestorationLoaderProps.md)
|
|
87
88
|
- [SwitchProps](interfaces/SwitchProps.md)
|
|
89
|
+
- [TabsProps](interfaces/TabsProps.md)
|
|
90
|
+
- [TabsListProps](interfaces/TabsListProps.md)
|
|
91
|
+
- [TabsTriggerProps](interfaces/TabsTriggerProps.md)
|
|
92
|
+
- [TabsContentProps](interfaces/TabsContentProps.md)
|
|
93
|
+
- [TextareaProps](interfaces/TextareaProps.md)
|
|
88
94
|
- [ToastProps](interfaces/ToastProps.md)
|
|
89
95
|
- [ToastActionElement](interfaces/ToastActionElement.md)
|
|
90
96
|
- [UserMenuProps](interfaces/UserMenuProps.md)
|
|
@@ -119,6 +125,8 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
119
125
|
- [RBACLogger](interfaces/RBACLogger.md)
|
|
120
126
|
- [UseResolvedScopeOptions](interfaces/UseResolvedScopeOptions.md)
|
|
121
127
|
- [UseResolvedScopeReturn](interfaces/UseResolvedScopeReturn.md)
|
|
128
|
+
- [UseResourcePermissionsOptions](interfaces/UseResourcePermissionsOptions.md)
|
|
129
|
+
- [ResourcePermissions](interfaces/ResourcePermissions.md)
|
|
122
130
|
- [EventAppRoleData](interfaces/EventAppRoleData.md)
|
|
123
131
|
- [RevokeEventAppRoleParams](interfaces/RevokeEventAppRoleParams.md)
|
|
124
132
|
- [GrantEventAppRoleParams](interfaces/GrantEventAppRoleParams.md)
|
|
@@ -192,6 +200,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
192
200
|
- [AvatarFallback](modules.md#avatarfallback)
|
|
193
201
|
- [Badge](modules.md#badge)
|
|
194
202
|
- [Button](modules.md#button)
|
|
203
|
+
- [Calendar](modules.md#calendar)
|
|
195
204
|
- [Card](modules.md#card)
|
|
196
205
|
- [CardHeader](modules.md#cardheader)
|
|
197
206
|
- [CardTitle](modules.md#cardtitle)
|
|
@@ -272,6 +281,11 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
272
281
|
- [TableHead](modules.md#tablehead)
|
|
273
282
|
- [TableCell](modules.md#tablecell)
|
|
274
283
|
- [TableCaption](modules.md#tablecaption)
|
|
284
|
+
- [Tabs](modules.md#tabs)
|
|
285
|
+
- [TabsList](modules.md#tabslist)
|
|
286
|
+
- [TabsTrigger](modules.md#tabstrigger)
|
|
287
|
+
- [TabsContent](modules.md#tabscontent)
|
|
288
|
+
- [Textarea](modules.md#textarea)
|
|
275
289
|
- [ToastProvider](modules.md#toastprovider)
|
|
276
290
|
- [ToastViewport](modules.md#toastviewport)
|
|
277
291
|
- [Toast](modules.md#toast)
|
|
@@ -368,6 +382,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
368
382
|
- [useCachedPermissions](modules.md#usecachedpermissions)
|
|
369
383
|
- [useRBAC](modules.md#userbac)
|
|
370
384
|
- [useResolvedScope](modules.md#useresolvedscope)
|
|
385
|
+
- [useResourcePermissions](modules.md#useresourcepermissions)
|
|
371
386
|
- [useRoleManagement](modules.md#userolemanagement)
|
|
372
387
|
- [isValidPermission](modules.md#isvalidpermission)
|
|
373
388
|
- [getPermissionsForRole](modules.md#getpermissionsforrole)
|
|
@@ -1190,6 +1205,51 @@ A flexible, accessible button component with multiple variants and sizes.
|
|
|
1190
1205
|
|
|
1191
1206
|
___
|
|
1192
1207
|
|
|
1208
|
+
### Calendar
|
|
1209
|
+
|
|
1210
|
+
▸ **Calendar**(`props`): `ReactNode`
|
|
1211
|
+
|
|
1212
|
+
Calendar component
|
|
1213
|
+
A flexible, accessible calendar component for date selection.
|
|
1214
|
+
Built on react-day-picker with pace-core styling.
|
|
1215
|
+
|
|
1216
|
+
#### Parameters
|
|
1217
|
+
|
|
1218
|
+
| Name | Type | Description |
|
|
1219
|
+
| :------ | :------ | :------ |
|
|
1220
|
+
| `props` | [`CalendarProps`](interfaces/CalendarProps.md) & `RefAttributes`\<`HTMLDivElement`\> | Calendar configuration and styling |
|
|
1221
|
+
|
|
1222
|
+
#### Returns
|
|
1223
|
+
|
|
1224
|
+
`ReactNode`
|
|
1225
|
+
|
|
1226
|
+
JSX.Element - The rendered calendar element
|
|
1227
|
+
|
|
1228
|
+
**`Example`**
|
|
1229
|
+
|
|
1230
|
+
```tsx
|
|
1231
|
+
// Single date selection
|
|
1232
|
+
<Calendar
|
|
1233
|
+
mode="single"
|
|
1234
|
+
selected={date}
|
|
1235
|
+
onSelect={setDate}
|
|
1236
|
+
/>
|
|
1237
|
+
|
|
1238
|
+
// With disabled dates
|
|
1239
|
+
<Calendar
|
|
1240
|
+
mode="single"
|
|
1241
|
+
selected={date}
|
|
1242
|
+
onSelect={setDate}
|
|
1243
|
+
disabled={(date) => date < new Date()}
|
|
1244
|
+
/>
|
|
1245
|
+
```
|
|
1246
|
+
|
|
1247
|
+
#### Defined in
|
|
1248
|
+
|
|
1249
|
+
[packages/core/src/components/Calendar/Calendar.tsx:104](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Calendar/Calendar.tsx#L104)
|
|
1250
|
+
|
|
1251
|
+
___
|
|
1252
|
+
|
|
1193
1253
|
### Card
|
|
1194
1254
|
|
|
1195
1255
|
▸ **Card**(`props`): `ReactNode`
|
|
@@ -3892,6 +3952,189 @@ ___
|
|
|
3892
3952
|
|
|
3893
3953
|
___
|
|
3894
3954
|
|
|
3955
|
+
### Tabs
|
|
3956
|
+
|
|
3957
|
+
▸ **Tabs**(`props`): `ReactNode`
|
|
3958
|
+
|
|
3959
|
+
Tabs root component
|
|
3960
|
+
Provides the context for tab navigation and state management
|
|
3961
|
+
|
|
3962
|
+
#### Parameters
|
|
3963
|
+
|
|
3964
|
+
| Name | Type |
|
|
3965
|
+
| :------ | :------ |
|
|
3966
|
+
| `props` | [`TabsProps`](interfaces/TabsProps.md) & `RefAttributes`\<`HTMLDivElement`\> |
|
|
3967
|
+
|
|
3968
|
+
#### Returns
|
|
3969
|
+
|
|
3970
|
+
`ReactNode`
|
|
3971
|
+
|
|
3972
|
+
**`Component`**
|
|
3973
|
+
|
|
3974
|
+
**`Example`**
|
|
3975
|
+
|
|
3976
|
+
```tsx
|
|
3977
|
+
<Tabs defaultValue="tab1">
|
|
3978
|
+
<TabsList>...</TabsList>
|
|
3979
|
+
<TabsContent value="tab1">...</TabsContent>
|
|
3980
|
+
</Tabs>
|
|
3981
|
+
```
|
|
3982
|
+
|
|
3983
|
+
#### Defined in
|
|
3984
|
+
|
|
3985
|
+
[packages/core/src/components/Tabs/Tabs.tsx:80](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Tabs/Tabs.tsx#L80)
|
|
3986
|
+
|
|
3987
|
+
___
|
|
3988
|
+
|
|
3989
|
+
### TabsList
|
|
3990
|
+
|
|
3991
|
+
▸ **TabsList**(`props`): `ReactNode`
|
|
3992
|
+
|
|
3993
|
+
TabsList component
|
|
3994
|
+
Container for tab triggers
|
|
3995
|
+
|
|
3996
|
+
#### Parameters
|
|
3997
|
+
|
|
3998
|
+
| Name | Type |
|
|
3999
|
+
| :------ | :------ |
|
|
4000
|
+
| `props` | [`TabsListProps`](interfaces/TabsListProps.md) & `RefAttributes`\<`HTMLDivElement`\> |
|
|
4001
|
+
|
|
4002
|
+
#### Returns
|
|
4003
|
+
|
|
4004
|
+
`ReactNode`
|
|
4005
|
+
|
|
4006
|
+
**`Component`**
|
|
4007
|
+
|
|
4008
|
+
**`Example`**
|
|
4009
|
+
|
|
4010
|
+
```tsx
|
|
4011
|
+
<TabsList>
|
|
4012
|
+
<TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
4013
|
+
<TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
4014
|
+
</TabsList>
|
|
4015
|
+
```
|
|
4016
|
+
|
|
4017
|
+
#### Defined in
|
|
4018
|
+
|
|
4019
|
+
[packages/core/src/components/Tabs/Tabs.tsx:108](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Tabs/Tabs.tsx#L108)
|
|
4020
|
+
|
|
4021
|
+
___
|
|
4022
|
+
|
|
4023
|
+
### TabsTrigger
|
|
4024
|
+
|
|
4025
|
+
▸ **TabsTrigger**(`props`): `ReactNode`
|
|
4026
|
+
|
|
4027
|
+
TabsTrigger component
|
|
4028
|
+
Individual tab button that activates a tab panel
|
|
4029
|
+
|
|
4030
|
+
#### Parameters
|
|
4031
|
+
|
|
4032
|
+
| Name | Type |
|
|
4033
|
+
| :------ | :------ |
|
|
4034
|
+
| `props` | [`TabsTriggerProps`](interfaces/TabsTriggerProps.md) & `RefAttributes`\<`HTMLButtonElement`\> |
|
|
4035
|
+
|
|
4036
|
+
#### Returns
|
|
4037
|
+
|
|
4038
|
+
`ReactNode`
|
|
4039
|
+
|
|
4040
|
+
**`Component`**
|
|
4041
|
+
|
|
4042
|
+
**`Example`**
|
|
4043
|
+
|
|
4044
|
+
```tsx
|
|
4045
|
+
<TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
4046
|
+
|
|
4047
|
+
// With icon
|
|
4048
|
+
<TabsTrigger value="transport">
|
|
4049
|
+
<Plane size={16} /> Transport
|
|
4050
|
+
</TabsTrigger>
|
|
4051
|
+
```
|
|
4052
|
+
|
|
4053
|
+
#### Defined in
|
|
4054
|
+
|
|
4055
|
+
[packages/core/src/components/Tabs/Tabs.tsx:145](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Tabs/Tabs.tsx#L145)
|
|
4056
|
+
|
|
4057
|
+
___
|
|
4058
|
+
|
|
4059
|
+
### TabsContent
|
|
4060
|
+
|
|
4061
|
+
▸ **TabsContent**(`props`): `ReactNode`
|
|
4062
|
+
|
|
4063
|
+
TabsContent component
|
|
4064
|
+
Container for tab panel content
|
|
4065
|
+
|
|
4066
|
+
#### Parameters
|
|
4067
|
+
|
|
4068
|
+
| Name | Type |
|
|
4069
|
+
| :------ | :------ |
|
|
4070
|
+
| `props` | [`TabsContentProps`](interfaces/TabsContentProps.md) & `RefAttributes`\<`HTMLDivElement`\> |
|
|
4071
|
+
|
|
4072
|
+
#### Returns
|
|
4073
|
+
|
|
4074
|
+
`ReactNode`
|
|
4075
|
+
|
|
4076
|
+
**`Component`**
|
|
4077
|
+
|
|
4078
|
+
**`Example`**
|
|
4079
|
+
|
|
4080
|
+
```tsx
|
|
4081
|
+
<TabsContent value="tab1">
|
|
4082
|
+
<div>Content for tab 1</div>
|
|
4083
|
+
</TabsContent>
|
|
4084
|
+
```
|
|
4085
|
+
|
|
4086
|
+
#### Defined in
|
|
4087
|
+
|
|
4088
|
+
[packages/core/src/components/Tabs/Tabs.tsx:181](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Tabs/Tabs.tsx#L181)
|
|
4089
|
+
|
|
4090
|
+
___
|
|
4091
|
+
|
|
4092
|
+
### Textarea
|
|
4093
|
+
|
|
4094
|
+
▸ **Textarea**(`props`): `ReactNode`
|
|
4095
|
+
|
|
4096
|
+
Textarea component
|
|
4097
|
+
A flexible, accessible textarea component with multiple variants and sizes.
|
|
4098
|
+
Matches the Input component API and styling for consistency.
|
|
4099
|
+
|
|
4100
|
+
#### Parameters
|
|
4101
|
+
|
|
4102
|
+
| Name | Type | Description |
|
|
4103
|
+
| :------ | :------ | :------ |
|
|
4104
|
+
| `props` | [`TextareaProps`](interfaces/TextareaProps.md) & `RefAttributes`\<`HTMLTextAreaElement`\> | Textarea configuration and styling |
|
|
4105
|
+
|
|
4106
|
+
#### Returns
|
|
4107
|
+
|
|
4108
|
+
`ReactNode`
|
|
4109
|
+
|
|
4110
|
+
JSX.Element - The rendered textarea element
|
|
4111
|
+
|
|
4112
|
+
**`Example`**
|
|
4113
|
+
|
|
4114
|
+
```tsx
|
|
4115
|
+
// Basic textarea
|
|
4116
|
+
<Textarea placeholder="Enter your message..." />
|
|
4117
|
+
|
|
4118
|
+
// Textarea with error state
|
|
4119
|
+
<Textarea
|
|
4120
|
+
placeholder="Comments"
|
|
4121
|
+
error={true}
|
|
4122
|
+
/>
|
|
4123
|
+
|
|
4124
|
+
// Large textarea with destructive variant
|
|
4125
|
+
<Textarea
|
|
4126
|
+
variant="destructive"
|
|
4127
|
+
size="lg"
|
|
4128
|
+
placeholder="Error textarea"
|
|
4129
|
+
/>
|
|
4130
|
+
```
|
|
4131
|
+
|
|
4132
|
+
#### Defined in
|
|
4133
|
+
|
|
4134
|
+
[packages/core/src/components/Textarea/Textarea.tsx:96](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Textarea/Textarea.tsx#L96)
|
|
4135
|
+
|
|
4136
|
+
___
|
|
4137
|
+
|
|
3895
4138
|
### ToastProvider
|
|
3896
4139
|
|
|
3897
4140
|
▸ **ToastProvider**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
@@ -6757,6 +7000,50 @@ const permission = useCan(userId, resolvedScope, permission);
|
|
|
6757
7000
|
|
|
6758
7001
|
___
|
|
6759
7002
|
|
|
7003
|
+
### useResourcePermissions
|
|
7004
|
+
|
|
7005
|
+
▸ **useResourcePermissions**(`resource`, `options?`): [`ResourcePermissions`](interfaces/ResourcePermissions.md)
|
|
7006
|
+
|
|
7007
|
+
Hook to check permissions for a specific resource
|
|
7008
|
+
|
|
7009
|
+
This hook encapsulates the common pattern of checking create/update/delete/read
|
|
7010
|
+
permissions for a resource type. It handles scope resolution, user context,
|
|
7011
|
+
and provides a simple API for permission checking.
|
|
7012
|
+
|
|
7013
|
+
#### Parameters
|
|
7014
|
+
|
|
7015
|
+
| Name | Type | Description |
|
|
7016
|
+
| :------ | :------ | :------ |
|
|
7017
|
+
| `resource` | `string` | The resource name (e.g., 'contacts', 'risks', 'journal') |
|
|
7018
|
+
| `options` | [`UseResourcePermissionsOptions`](interfaces/UseResourcePermissionsOptions.md) | Optional configuration |
|
|
7019
|
+
|
|
7020
|
+
#### Returns
|
|
7021
|
+
|
|
7022
|
+
[`ResourcePermissions`](interfaces/ResourcePermissions.md)
|
|
7023
|
+
|
|
7024
|
+
Object with permission check functions and scope
|
|
7025
|
+
|
|
7026
|
+
**`Example`**
|
|
7027
|
+
|
|
7028
|
+
```tsx
|
|
7029
|
+
function useContacts() {
|
|
7030
|
+
const { canCreate, canUpdate, canDelete } = useResourcePermissions('contacts');
|
|
7031
|
+
|
|
7032
|
+
const addContact = async (data: ContactData) => {
|
|
7033
|
+
if (!canCreate('contacts')) {
|
|
7034
|
+
throw new Error("Permission denied");
|
|
7035
|
+
}
|
|
7036
|
+
// ... perform mutation
|
|
7037
|
+
};
|
|
7038
|
+
}
|
|
7039
|
+
```
|
|
7040
|
+
|
|
7041
|
+
#### Defined in
|
|
7042
|
+
|
|
7043
|
+
[packages/core/src/rbac/hooks/useResourcePermissions.ts:102](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L102)
|
|
7044
|
+
|
|
7045
|
+
___
|
|
7046
|
+
|
|
6760
7047
|
### useRoleManagement
|
|
6761
7048
|
|
|
6762
7049
|
▸ **useRoleManagement**(): `Object`
|
package/docs/rbac/README.md
CHANGED
|
@@ -62,7 +62,8 @@ function MyComponent() {
|
|
|
62
62
|
|
|
63
63
|
## 📖 Core Concepts
|
|
64
64
|
|
|
65
|
-
- **[Quick Start](./quick-start.md)** - Get up and running in 10 minutes (foolproof guide)
|
|
65
|
+
- **[Quick Start](./quick-start.md)** - Get up and running in 10 minutes (foolproof guide for organisation-based apps)
|
|
66
|
+
- **[Event-Based Apps](./event-based-apps.md)** - Get up and running in 10 minutes (foolproof guide for event-based apps)
|
|
66
67
|
- **[API Reference](./api-reference.md)** - Complete API documentation
|
|
67
68
|
- **[Troubleshooting](./troubleshooting.md)** - Common issues and solutions
|
|
68
69
|
- **[Examples](./examples.md)** - Practical usage examples
|