@medha-analytics/medha-one-access-react 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -6
- package/dist/MedhaOneAccess.d.ts.map +1 -1
- package/dist/components/dialogs/ArtifactDialog.d.ts.map +1 -1
- package/dist/components/dialogs/GroupDialog.d.ts.map +1 -1
- package/dist/components/dialogs/UserDialog.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +8 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/views/ArtifactsView.d.ts.map +1 -1
- package/dist/components/views/UsersView.d.ts.map +1 -1
- package/dist/core/hooks/useAccessRules.d.ts +5 -5
- package/dist/core/hooks/useAccessRules.d.ts.map +1 -1
- package/dist/core/hooks/useHierarchy.d.ts +1 -3
- package/dist/core/hooks/useHierarchy.d.ts.map +1 -1
- package/dist/core/lib/expression.d.ts +10 -0
- package/dist/core/lib/expression.d.ts.map +1 -0
- package/dist/core/models/access-rule.types.d.ts +5 -0
- package/dist/core/models/access-rule.types.d.ts.map +1 -1
- package/dist/index.cjs +22 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +2 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5325 -4110
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
- package/dist/components/views/HierarchyView.d.ts +0 -2
- package/dist/components/views/HierarchyView.d.ts.map +0 -1
- package/dist/medha-one-access-react.css +0 -3
package/README.md
CHANGED
|
@@ -24,7 +24,6 @@ Wrap your app (or the relevant section of it) in `MedhaOneAccessProvider`, then
|
|
|
24
24
|
|
|
25
25
|
```tsx
|
|
26
26
|
import { MedhaOneAccessProvider, MedhaOneAccess } from '@medha-analytics/medha-one-access-react'
|
|
27
|
-
import '@medha-analytics/medha-one-access-react/dist/medha-one-access-react.css'
|
|
28
27
|
|
|
29
28
|
function App() {
|
|
30
29
|
return (
|
|
@@ -41,7 +40,7 @@ function App() {
|
|
|
41
40
|
export default App
|
|
42
41
|
```
|
|
43
42
|
|
|
44
|
-
>
|
|
43
|
+
> Styles are auto-injected — importing anything from this package pulls in `dist/index.css` automatically, as long as your bundler processes CSS imports from `node_modules` (Vite, Next.js, and Create React App all do this by default). If your setup doesn't, import it explicitly: `import '@medha-analytics/medha-one-access-react/dist/index.css'`.
|
|
45
44
|
|
|
46
45
|
### Provider config (`MedhaOneAccessConfig`)
|
|
47
46
|
|
|
@@ -67,7 +66,6 @@ import {
|
|
|
67
66
|
GroupsView,
|
|
68
67
|
ArtifactsView,
|
|
69
68
|
AccessRulesView,
|
|
70
|
-
HierarchyView,
|
|
71
69
|
} from '@medha-analytics/medha-one-access-react'
|
|
72
70
|
```
|
|
73
71
|
|
|
@@ -90,7 +88,7 @@ import {
|
|
|
90
88
|
useGroups, useGroup, useGroupMembers, useAddGroupMember, useRemoveGroupMember,
|
|
91
89
|
useArtifacts, useArtifact, useArtifactGroups, useArtifactGroupContents,
|
|
92
90
|
useAccessRules, useAccessRule, useCheckAccess, useValidateExpression,
|
|
93
|
-
useOrgChart,
|
|
91
|
+
useOrgChart, useCombinedHierarchy, useArtifactCombinedHierarchy,
|
|
94
92
|
} from '@medha-analytics/medha-one-access-react'
|
|
95
93
|
```
|
|
96
94
|
|
|
@@ -113,7 +111,8 @@ import type {
|
|
|
113
111
|
|
|
114
112
|
## Styling notes
|
|
115
113
|
|
|
116
|
-
- The library ships with Tailwind-based styles pre-built into `dist/
|
|
114
|
+
- The library ships with Tailwind-based styles pre-built into `dist/index.css`, and the built JS auto-imports it (`import './index.css'` / `require('./index.css')` runs whenever you import anything from the package). You don't need Tailwind configured in the host app.
|
|
115
|
+
- If your bundler doesn't process CSS imports from `node_modules` (rare with modern tooling, but possible with some custom webpack/esbuild setups), import the stylesheet explicitly: `import '@medha-analytics/medha-one-access-react/dist/index.css'`.
|
|
117
116
|
- If the host app also uses Tailwind, check for class-name collisions; the library's classes are scoped to its own components but share Tailwind's utility naming.
|
|
118
117
|
|
|
119
118
|
## Requirements
|
|
@@ -130,4 +129,4 @@ A hook or component from this library was rendered outside the provider. Make su
|
|
|
130
129
|
Usually happens when consuming the library via `npm link` and the host app resolves its own `react` separately. See the "Local link" section in [PUBLISHING.md](./PUBLISHING.md) for the fix.
|
|
131
130
|
|
|
132
131
|
**Styles look unstyled / broken layout**
|
|
133
|
-
|
|
132
|
+
Styles are auto-injected as of this version — if you previously added a manual `import '@medha-analytics/medha-one-access-react/dist/medha-one-access-react.css'`, remove it (that file no longer exists; it's now `dist/index.css`, imported automatically). If styles still don't appear, your bundler likely isn't processing CSS imports from `node_modules` — import `@medha-analytics/medha-one-access-react/dist/index.css` explicitly as a fallback.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MedhaOneAccess.d.ts","sourceRoot":"","sources":["../src/MedhaOneAccess.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MedhaOneAccess.d.ts","sourceRoot":"","sources":["../src/MedhaOneAccess.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,cAAc,gCAuC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/ArtifactDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArtifactDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/ArtifactDialog.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAahE,UAAU,mBAAmB;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,mBAAmB,+BAuR3G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/GroupDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GroupDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/GroupDialog.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAU7D,UAAU,gBAAgB;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB,+BAqHrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/UserDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/UserDialog.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAaxD,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AA4CD,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,eAAe,+BAsKlE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
|
|
3
|
+
declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
+
declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
|
|
6
|
+
declare function DropdownMenuItem({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item>): React.JSX.Element;
|
|
7
|
+
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem };
|
|
8
|
+
//# sourceMappingURL=dropdown-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,IAAI,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAIhE,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC,qBAE1F;AAED,iBAAS,mBAAmB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC,qBAEpG;AAED,iBAAS,mBAAmB,CAAC,EAAE,SAAS,EAAE,UAAc,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC,qBAe/H;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC,qBAWzG;AAED,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactsView.d.ts","sourceRoot":"","sources":["../../../src/components/views/ArtifactsView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArtifactsView.d.ts","sourceRoot":"","sources":["../../../src/components/views/ArtifactsView.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,aAAa,gCAqJ5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsersView.d.ts","sourceRoot":"","sources":["../../../src/components/views/UsersView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UsersView.d.ts","sourceRoot":"","sources":["../../../src/components/views/UsersView.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,SAAS,gCA4IxB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccessRule, ExpressionValidationResult } from '../models/access-rule.types';
|
|
1
|
+
import type { AccessRule, ExpressionValidationResult, ResolvedAccessEntry } from '../models/access-rule.types';
|
|
2
2
|
interface AccessRulesParams {
|
|
3
3
|
skip?: number;
|
|
4
4
|
limit?: number;
|
|
@@ -10,10 +10,10 @@ export declare function useAccessRules(params?: AccessRulesParams): import("@tan
|
|
|
10
10
|
export declare function useAccessRulesCount(params?: Pick<AccessRulesParams, 'appName' | 'search' | 'activeOnly'>): import("@tanstack/react-query").UseQueryResult<number, Error>;
|
|
11
11
|
export declare function useAccessRule(id: string): import("@tanstack/react-query").UseQueryResult<NoInfer<AccessRule>, Error>;
|
|
12
12
|
export declare function useCheckAccess(userId: string, artifactId: string, permission: string): import("@tanstack/react-query").UseQueryResult<boolean, Error>;
|
|
13
|
-
export declare function useUserAccess(
|
|
14
|
-
export declare function useUserGroupAccess(groupId: string): import("@tanstack/react-query").UseQueryResult<NoInfer<
|
|
15
|
-
export declare function useArtifactAccess(artifactId: string): import("@tanstack/react-query").UseQueryResult<NoInfer<
|
|
16
|
-
export declare function useArtifactGroupAccess(artifactId: string): import("@tanstack/react-query").UseQueryResult<NoInfer<
|
|
13
|
+
export declare function useUserAccess(userIdentifier: string): import("@tanstack/react-query").UseQueryResult<NoInfer<ResolvedAccessEntry[]>, Error>;
|
|
14
|
+
export declare function useUserGroupAccess(groupId: string): import("@tanstack/react-query").UseQueryResult<NoInfer<ResolvedAccessEntry[]>, Error>;
|
|
15
|
+
export declare function useArtifactAccess(artifactId: string): import("@tanstack/react-query").UseQueryResult<NoInfer<ResolvedAccessEntry[]>, Error>;
|
|
16
|
+
export declare function useArtifactGroupAccess(artifactId: string): import("@tanstack/react-query").UseQueryResult<NoInfer<ResolvedAccessEntry[]>, Error>;
|
|
17
17
|
export declare function useValidateExpression(expression: string, type: 'user' | 'resource'): import("@tanstack/react-query").UseQueryResult<NoInfer<ExpressionValidationResult>, Error>;
|
|
18
18
|
export declare function useCreateAccessRule(): import("@tanstack/react-query").UseMutationResult<AccessRule, Error, Partial<AccessRule>, unknown>;
|
|
19
19
|
export declare function useUpdateAccessRule(): import("@tanstack/react-query").UseMutationResult<AccessRule, Error, AccessRule, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAccessRules.d.ts","sourceRoot":"","sources":["../../../src/core/hooks/useAccessRules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"useAccessRules.d.ts","sourceRoot":"","sources":["../../../src/core/hooks/useAccessRules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAE9G,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAmBD,wBAAgB,cAAc,CAAC,MAAM,GAAE,iBAAsB,gFAgB5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAM,iEAc5G;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,8EAUvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kEAcpF;AA4BD,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,yFAUnD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,yFAUjD;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,yFAUnD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,yFAUxD;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,8FAalF;AA2BD,wBAAgB,mBAAmB,uGAUlC;AAED,wBAAgB,mBAAmB,8FAalC;AAED,wBAAgB,mBAAmB,oFASlC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { HierarchyNode } from '../models/user.types';
|
|
2
2
|
import type { ArtifactHierarchyNode } from '../models/artifact.types';
|
|
3
3
|
export declare function useOrgChart(): import("@tanstack/react-query").UseQueryResult<NoInfer<HierarchyNode[]>, Error>;
|
|
4
|
-
export declare function useUserHierarchy(): import("@tanstack/react-query").UseQueryResult<NoInfer<HierarchyNode[]>, Error>;
|
|
5
|
-
export declare function useGroupHierarchy(): import("@tanstack/react-query").UseQueryResult<NoInfer<HierarchyNode[]>, Error>;
|
|
6
4
|
export declare function useCombinedHierarchy(): import("@tanstack/react-query").UseQueryResult<NoInfer<HierarchyNode[]>, Error>;
|
|
7
|
-
export declare function
|
|
5
|
+
export declare function useArtifactCombinedHierarchy(): import("@tanstack/react-query").UseQueryResult<NoInfer<ArtifactHierarchyNode[]>, Error>;
|
|
8
6
|
//# sourceMappingURL=useHierarchy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHierarchy.d.ts","sourceRoot":"","sources":["../../../src/core/hooks/useHierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAY,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"useHierarchy.d.ts","sourceRoot":"","sources":["../../../src/core/hooks/useHierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAY,MAAM,0BAA0B,CAAA;AAgF/E,wBAAgB,WAAW,oFAS1B;AAED,wBAAgB,oBAAoB,oFAYnC;AAqED,wBAAgB,4BAA4B,4FAY3C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ExpressionOperation {
|
|
2
|
+
type: 'include' | 'exclude';
|
|
3
|
+
entity: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function parseExpression(expression: string): ExpressionOperation[];
|
|
6
|
+
export declare function isEntityInExpression(entityId: string, expression: string, allGroups: {
|
|
7
|
+
id: string;
|
|
8
|
+
expression?: string;
|
|
9
|
+
}[]): boolean;
|
|
10
|
+
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/core/lib/expression.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA6BzE;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC/C,OAAO,CAiCT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-rule.types.d.ts","sourceRoot":"","sources":["../../../src/core/models/access-rule.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC7B,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B"}
|
|
1
|
+
{"version":3,"file":"access-rule.types.d.ts","sourceRoot":"","sources":["../../../src/core/models/access-rule.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC7B,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB"}
|