@ic-reactor/react 3.5.1 → 3.7.0

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.
Files changed (125) hide show
  1. package/README.md +28 -9
  2. package/dist/auth/authentication-manager.d.ts +66 -0
  3. package/dist/auth/authentication-manager.d.ts.map +1 -0
  4. package/dist/auth/authentication-manager.js +458 -0
  5. package/dist/auth/authentication-manager.js.map +1 -0
  6. package/dist/auth/constants.d.ts +18 -0
  7. package/dist/auth/constants.d.ts.map +1 -0
  8. package/dist/auth/constants.js +18 -0
  9. package/dist/auth/constants.js.map +1 -0
  10. package/dist/auth/createIdentityAttributeHooks.d.ts +14 -0
  11. package/dist/auth/createIdentityAttributeHooks.d.ts.map +1 -0
  12. package/dist/auth/createIdentityAttributeHooks.js +54 -0
  13. package/dist/auth/createIdentityAttributeHooks.js.map +1 -0
  14. package/dist/auth/identity-attributes-manager.d.ts +19 -0
  15. package/dist/auth/identity-attributes-manager.d.ts.map +1 -0
  16. package/dist/auth/identity-attributes-manager.js +94 -0
  17. package/dist/auth/identity-attributes-manager.js.map +1 -0
  18. package/dist/auth/identity-attributes.d.ts +19 -0
  19. package/dist/auth/identity-attributes.d.ts.map +1 -0
  20. package/dist/auth/identity-attributes.js +170 -0
  21. package/dist/auth/identity-attributes.js.map +1 -0
  22. package/dist/auth/index.d.ts +8 -0
  23. package/dist/auth/index.d.ts.map +1 -0
  24. package/dist/auth/index.js +8 -0
  25. package/dist/auth/index.js.map +1 -0
  26. package/dist/auth/types.d.ts +75 -0
  27. package/dist/auth/types.d.ts.map +1 -0
  28. package/dist/auth/types.js +2 -0
  29. package/dist/auth/types.js.map +1 -0
  30. package/dist/createActorHooks.d.ts +12 -12
  31. package/dist/createActorHooks.d.ts.map +1 -1
  32. package/dist/createActorHooks.js.map +1 -1
  33. package/dist/createInfiniteQuery.d.ts +32 -32
  34. package/dist/createInfiniteQuery.d.ts.map +1 -1
  35. package/dist/createInfiniteQuery.js +6 -6
  36. package/dist/createInfiniteQuery.js.map +1 -1
  37. package/dist/createMutation.d.ts +12 -1
  38. package/dist/createMutation.d.ts.map +1 -1
  39. package/dist/createMutation.js +11 -0
  40. package/dist/createMutation.js.map +1 -1
  41. package/dist/createQuery.d.ts +12 -2
  42. package/dist/createQuery.d.ts.map +1 -1
  43. package/dist/createQuery.js +15 -5
  44. package/dist/createQuery.js.map +1 -1
  45. package/dist/createSuspenseInfiniteQuery.d.ts +31 -31
  46. package/dist/createSuspenseInfiniteQuery.d.ts.map +1 -1
  47. package/dist/createSuspenseInfiniteQuery.js +6 -6
  48. package/dist/createSuspenseInfiniteQuery.js.map +1 -1
  49. package/dist/createSuspenseQuery.d.ts +2 -2
  50. package/dist/createSuspenseQuery.d.ts.map +1 -1
  51. package/dist/createSuspenseQuery.js.map +1 -1
  52. package/dist/defineReactor.d.ts +74 -0
  53. package/dist/defineReactor.d.ts.map +1 -0
  54. package/dist/defineReactor.js +75 -0
  55. package/dist/defineReactor.js.map +1 -0
  56. package/dist/{createAuthHooks.d.ts → hooks/createAuthHooks.d.ts} +6 -13
  57. package/dist/hooks/createAuthHooks.d.ts.map +1 -0
  58. package/dist/{createAuthHooks.js → hooks/createAuthHooks.js} +12 -57
  59. package/dist/hooks/createAuthHooks.js.map +1 -0
  60. package/dist/hooks/index.d.ts +2 -0
  61. package/dist/hooks/index.d.ts.map +1 -1
  62. package/dist/hooks/index.js +2 -0
  63. package/dist/hooks/index.js.map +1 -1
  64. package/dist/hooks/useActorInfiniteQuery.d.ts +9 -9
  65. package/dist/hooks/useActorInfiniteQuery.d.ts.map +1 -1
  66. package/dist/hooks/useActorInfiniteQuery.js +3 -1
  67. package/dist/hooks/useActorInfiniteQuery.js.map +1 -1
  68. package/dist/hooks/useActorMethod.d.ts +17 -17
  69. package/dist/hooks/useActorMethod.d.ts.map +1 -1
  70. package/dist/hooks/useActorMethod.js.map +1 -1
  71. package/dist/hooks/useActorMutation.d.ts +18 -7
  72. package/dist/hooks/useActorMutation.d.ts.map +1 -1
  73. package/dist/hooks/useActorMutation.js +11 -0
  74. package/dist/hooks/useActorMutation.js.map +1 -1
  75. package/dist/hooks/useActorQuery.d.ts +8 -8
  76. package/dist/hooks/useActorQuery.d.ts.map +1 -1
  77. package/dist/hooks/useActorQuery.js.map +1 -1
  78. package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts +9 -9
  79. package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts.map +1 -1
  80. package/dist/hooks/useActorSuspenseInfiniteQuery.js +3 -1
  81. package/dist/hooks/useActorSuspenseInfiniteQuery.js.map +1 -1
  82. package/dist/hooks/useActorSuspenseQuery.d.ts +8 -8
  83. package/dist/hooks/useActorSuspenseQuery.d.ts.map +1 -1
  84. package/dist/hooks/useActorSuspenseQuery.js.map +1 -1
  85. package/dist/index.d.ts +2 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +2 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/types.d.ts +24 -24
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/utils.d.ts +3 -0
  92. package/dist/utils.d.ts.map +1 -1
  93. package/dist/utils.js +10 -2
  94. package/dist/utils.js.map +1 -1
  95. package/llms.txt +48 -0
  96. package/package.json +28 -22
  97. package/src/auth/authentication-manager.ts +519 -0
  98. package/src/auth/constants.ts +25 -0
  99. package/src/auth/createIdentityAttributeHooks.ts +83 -0
  100. package/src/auth/identity-attributes-manager.ts +127 -0
  101. package/src/auth/identity-attributes.ts +270 -0
  102. package/src/auth/index.ts +7 -0
  103. package/src/auth/types.ts +88 -0
  104. package/src/createActorHooks.ts +81 -49
  105. package/src/createInfiniteQuery.ts +153 -97
  106. package/src/createMutation.ts +34 -18
  107. package/src/createQuery.ts +92 -48
  108. package/src/createSuspenseInfiniteQuery.ts +165 -114
  109. package/src/createSuspenseQuery.ts +67 -41
  110. package/src/defineReactor.test.ts +70 -0
  111. package/src/defineReactor.ts +150 -0
  112. package/src/{createAuthHooks.ts → hooks/createAuthHooks.ts} +17 -98
  113. package/src/hooks/index.ts +4 -0
  114. package/src/hooks/useActorInfiniteQuery.ts +44 -30
  115. package/src/hooks/useActorMethod.ts +62 -53
  116. package/src/hooks/useActorMutation.ts +47 -30
  117. package/src/hooks/useActorQuery.ts +36 -32
  118. package/src/hooks/useActorSuspenseInfiniteQuery.ts +56 -30
  119. package/src/hooks/useActorSuspenseQuery.ts +42 -32
  120. package/src/index.ts +3 -1
  121. package/src/types.ts +76 -71
  122. package/src/utils.test.ts +14 -0
  123. package/src/utils.ts +15 -2
  124. package/dist/createAuthHooks.d.ts.map +0 -1
  125. package/dist/createAuthHooks.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import type { IdentityAttributesManager } from "./identity-attributes-manager";
2
+ import type { IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types";
3
+ export interface UseIdentityAttributesReturn {
4
+ requestAttributes: (params: RequestIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
5
+ requestOpenIdAttributes: (params: RequestOpenIdIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
6
+ attributes: IdentityAttributeResult | null;
7
+ isRequestingAttributes: boolean;
8
+ attributeError: Error | null;
9
+ clearAttributes: () => void;
10
+ }
11
+ export declare function createIdentityAttributeHooks(identityAttributes: IdentityAttributesManager): {
12
+ useIdentityAttributes: () => UseIdentityAttributesReturn;
13
+ };
14
+ //# sourceMappingURL=createIdentityAttributeHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIdentityAttributeHooks.d.ts","sourceRoot":"","sources":["../../src/auth/createIdentityAttributeHooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,KAAK,EACV,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,CACjB,MAAM,EAAE,mCAAmC,KACxC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,uBAAuB,EAAE,CACvB,MAAM,EAAE,yCAAyC,KAC9C,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAA;IAC1C,sBAAsB,EAAE,OAAO,CAAA;IAC/B,cAAc,EAAE,KAAK,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB;iCAEX,2BAA2B;EA0D9D"}
@@ -0,0 +1,54 @@
1
+ import { useCallback, useState } from "react";
2
+ export function createIdentityAttributeHooks(identityAttributes) {
3
+ const useIdentityAttributes = () => {
4
+ const [attributes, setAttributes] = useState(null);
5
+ const [isRequestingAttributes, setIsRequestingAttributes] = useState(false);
6
+ const [attributeError, setAttributeError] = useState(null);
7
+ const requestAttributes = useCallback(async (params) => {
8
+ setIsRequestingAttributes(true);
9
+ setAttributeError(null);
10
+ try {
11
+ const result = await identityAttributes.request(params);
12
+ setAttributes(result);
13
+ return result;
14
+ }
15
+ catch (error) {
16
+ setAttributeError(error);
17
+ throw error;
18
+ }
19
+ finally {
20
+ setIsRequestingAttributes(false);
21
+ }
22
+ }, []);
23
+ const requestOpenIdAttributes = useCallback(async (params) => {
24
+ setIsRequestingAttributes(true);
25
+ setAttributeError(null);
26
+ try {
27
+ const result = await identityAttributes.requestOpenId(params);
28
+ setAttributes(result);
29
+ return result;
30
+ }
31
+ catch (error) {
32
+ setAttributeError(error);
33
+ throw error;
34
+ }
35
+ finally {
36
+ setIsRequestingAttributes(false);
37
+ }
38
+ }, []);
39
+ const clearAttributes = useCallback(() => {
40
+ setAttributes(null);
41
+ setAttributeError(null);
42
+ }, []);
43
+ return {
44
+ requestAttributes,
45
+ requestOpenIdAttributes,
46
+ attributes,
47
+ isRequestingAttributes,
48
+ attributeError,
49
+ clearAttributes,
50
+ };
51
+ };
52
+ return { useIdentityAttributes };
53
+ }
54
+ //# sourceMappingURL=createIdentityAttributeHooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIdentityAttributeHooks.js","sourceRoot":"","sources":["../../src/auth/createIdentityAttributeHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAqB7C,MAAM,UAAU,4BAA4B,CAC1C,kBAA6C;IAE7C,MAAM,qBAAqB,GAAG,GAAgC,EAAE;QAC9D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAC/B,QAAQ,CAAiC,IAAI,CAAC,CAAA;QAChD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAA;QAExE,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,EAAE,MAA2C,EAAE,EAAE;YACpD,yBAAyB,CAAC,IAAI,CAAC,CAAA;YAC/B,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACvD,aAAa,CAAC,MAAM,CAAC,CAAA;gBACrB,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAiB,CAAC,KAAc,CAAC,CAAA;gBACjC,MAAM,KAAK,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,yBAAyB,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,EACD,EAAE,CACH,CAAA;QAED,MAAM,uBAAuB,GAAG,WAAW,CACzC,KAAK,EAAE,MAAiD,EAAE,EAAE;YAC1D,yBAAyB,CAAC,IAAI,CAAC,CAAA;YAC/B,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gBAC7D,aAAa,CAAC,MAAM,CAAC,CAAA;gBACrB,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAiB,CAAC,KAAc,CAAC,CAAA;gBACjC,MAAM,KAAK,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,yBAAyB,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,EACD,EAAE,CACH,CAAA;QAED,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,OAAO;YACL,iBAAiB;YACjB,uBAAuB;YACvB,UAAU;YACV,sBAAsB;YACtB,cAAc;YACd,eAAe;SAChB,CAAA;IACH,CAAC,CAAA;IAED,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAClC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types";
2
+ import { AuthenticationManager } from "./authentication-manager";
3
+ /**
4
+ * Requests and decodes signed identity attributes for an authenticated
5
+ * Internet Identity session.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const attributes = new IdentityAttributesManager(authentication)
10
+ * const result = await attributes.request({ keys: ["name"] })
11
+ * ```
12
+ */
13
+ export declare class IdentityAttributesManager {
14
+ readonly authentication: AuthenticationManager;
15
+ constructor(authentication: AuthenticationManager);
16
+ request: ({ keys, nonce, identityProvider, openIdProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }: RequestIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
17
+ requestOpenId: ({ nonce, openIdProvider, keys, identityProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }: RequestOpenIdIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
18
+ }
19
+ //# sourceMappingURL=identity-attributes-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-attributes-manager.d.ts","sourceRoot":"","sources":["../../src/auth/identity-attributes-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAOhE;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;aACR,cAAc,EAAE,qBAAqB;gBAArC,cAAc,EAAE,qBAAqB;IAE1D,OAAO,GAAU,0GASrB,mCAAmC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAoDxE;IAEM,aAAa,GAAU,0GAS3B,yCAAyC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAW9E;CACF"}
@@ -0,0 +1,94 @@
1
+ import { decodeIdentityAttributeValues, identityAttributeKeys, normalizeSignedIdentityAttributes, } from "./identity-attributes";
2
+ /**
3
+ * Requests and decodes signed identity attributes for an authenticated
4
+ * Internet Identity session.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const attributes = new IdentityAttributesManager(authentication)
9
+ * const result = await attributes.request({ keys: ["name"] })
10
+ * ```
11
+ */
12
+ export class IdentityAttributesManager {
13
+ constructor(authentication) {
14
+ Object.defineProperty(this, "authentication", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: authentication
19
+ });
20
+ Object.defineProperty(this, "request", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: async ({ keys, nonce, identityProvider, openIdProvider, windowOpenerFeatures, signIn = true, maxTimeToLive, targets, }) => {
25
+ const authClient = await this.authentication.ensureClient(getAuthClientOptions({
26
+ identityProvider,
27
+ windowOpenerFeatures,
28
+ openIdProvider,
29
+ }));
30
+ if (!authClient) {
31
+ throw new Error("Authentication module is missing or failed to initialize. To request identity attributes, please install @icp-sdk/auth v7 or provide a compatible authClient.");
32
+ }
33
+ this.authentication.setAuthenticating();
34
+ try {
35
+ const identityPromise = signIn
36
+ ? this.authentication.signInOrRecoverIdentity({
37
+ maxTimeToLive,
38
+ targets,
39
+ })
40
+ : Promise.resolve(authClient.getIdentity());
41
+ const requestPromise = authClient.requestAttributes({ keys, nonce });
42
+ const [signedAttributes, identity] = await Promise.all([
43
+ requestPromise,
44
+ identityPromise,
45
+ ]);
46
+ const finalIdentity = identity ?? (await authClient.getIdentity());
47
+ const isAuthenticated = await authClient.isAuthenticated();
48
+ await this.authentication.commitIdentity(finalIdentity, isAuthenticated);
49
+ const normalizedSignedAttributes = normalizeSignedIdentityAttributes(signedAttributes);
50
+ return {
51
+ principal: finalIdentity.getPrincipal().toText(),
52
+ requestedKeys: keys,
53
+ signedAttributes: normalizedSignedAttributes,
54
+ decodedAttributes: decodeIdentityAttributeValues(normalizedSignedAttributes.data, keys),
55
+ completedAt: new Date().toISOString(),
56
+ };
57
+ }
58
+ catch (error) {
59
+ this.authentication.setAuthenticationError(error);
60
+ throw error;
61
+ }
62
+ }
63
+ });
64
+ Object.defineProperty(this, "requestOpenId", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: async ({ nonce, openIdProvider, keys, identityProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }) => {
69
+ return this.request({
70
+ keys: identityAttributeKeys({ openIdProvider, keys }),
71
+ nonce,
72
+ identityProvider,
73
+ openIdProvider,
74
+ windowOpenerFeatures,
75
+ signIn,
76
+ maxTimeToLive,
77
+ targets,
78
+ });
79
+ }
80
+ });
81
+ }
82
+ }
83
+ function getAuthClientOptions(options) {
84
+ return {
85
+ identityProvider: options.identityProvider,
86
+ windowOpenerFeatures: options.windowOpenerFeatures,
87
+ openIdProvider: options.openIdProvider === "google" ||
88
+ options.openIdProvider === "apple" ||
89
+ options.openIdProvider === "microsoft"
90
+ ? options.openIdProvider
91
+ : undefined,
92
+ };
93
+ }
94
+ //# sourceMappingURL=identity-attributes-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-attributes-manager.js","sourceRoot":"","sources":["../../src/auth/identity-attributes-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { IdentityAttributeOpenIdProvider, IdentityAttributeValues, SignedIdentityAttributes } from "./types";
2
+ export declare const IDENTITY_ATTRIBUTES_PROVIDER = "https://id.ai/authorize";
3
+ /**
4
+ * @deprecated Use the default ClientManager identity provider or
5
+ * `IDENTITY_ATTRIBUTES_PROVIDER` instead.
6
+ */
7
+ export declare const IDENTITY_ATTRIBUTES_BETA_PROVIDER = "https://id.ai/authorize";
8
+ export declare function identityAttributeKeys({ openIdProvider, keys, }: {
9
+ openIdProvider: IdentityAttributeOpenIdProvider;
10
+ keys: string[];
11
+ }): string[];
12
+ export declare function normalizeOpenIdProvider(openIdProvider: IdentityAttributeOpenIdProvider): string;
13
+ export declare function resolveIdentityAttributeKeys({ openIdProvider, keys, }: {
14
+ openIdProvider: IdentityAttributeOpenIdProvider;
15
+ keys: string[];
16
+ }): Promise<string[]>;
17
+ export declare function decodeIdentityAttributeValues(data: Uint8Array, requestedKeys: string[]): IdentityAttributeValues;
18
+ export declare function normalizeSignedIdentityAttributes(attributes: SignedIdentityAttributes): SignedIdentityAttributes;
19
+ //# sourceMappingURL=identity-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-attributes.d.ts","sourceRoot":"","sources":["../../src/auth/identity-attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,SAAS,CAAA;AAGhB,eAAO,MAAM,4BAA4B,4BAAgC,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,iCAAiC,4BAA+B,CAAA;AAQ7E,wBAAgB,qBAAqB,CAAC,EACpC,cAAc,EACd,IAAI,GACL,EAAE;IACD,cAAc,EAAE,+BAA+B,CAAA;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GAAG,MAAM,EAAE,CAGX;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,+BAA+B,GAC9C,MAAM,CAMR;AAED,wBAAsB,4BAA4B,CAAC,EACjD,cAAc,EACd,IAAI,GACL,EAAE;IACD,cAAc,EAAE,+BAA+B,CAAA;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EAAE,GACtB,uBAAuB,CAgBzB;AA6LD,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,wBAAwB,GACnC,wBAAwB,CAK1B"}
@@ -0,0 +1,170 @@
1
+ import { IDL } from "@icp-sdk/core/candid";
2
+ import { IC_INTERNET_IDENTITY_PROVIDER } from "./constants";
3
+ export const IDENTITY_ATTRIBUTES_PROVIDER = IC_INTERNET_IDENTITY_PROVIDER;
4
+ /**
5
+ * @deprecated Use the default ClientManager identity provider or
6
+ * `IDENTITY_ATTRIBUTES_PROVIDER` instead.
7
+ */
8
+ export const IDENTITY_ATTRIBUTES_BETA_PROVIDER = IDENTITY_ATTRIBUTES_PROVIDER;
9
+ const OPEN_ID_PROVIDER_URLS = {
10
+ apple: "https://appleid.apple.com",
11
+ google: "https://accounts.google.com",
12
+ microsoft: "https://login.microsoftonline.com/{tid}/v2.0",
13
+ };
14
+ export function identityAttributeKeys({ openIdProvider, keys, }) {
15
+ const provider = normalizeOpenIdProvider(openIdProvider);
16
+ return keys.map((key) => `openid:${provider}:${key}`);
17
+ }
18
+ export function normalizeOpenIdProvider(openIdProvider) {
19
+ return (OPEN_ID_PROVIDER_URLS[openIdProvider] ?? openIdProvider);
20
+ }
21
+ export async function resolveIdentityAttributeKeys({ openIdProvider, keys, }) {
22
+ return identityAttributeKeys({ openIdProvider, keys });
23
+ }
24
+ export function decodeIdentityAttributeValues(data, requestedKeys) {
25
+ const requestedKeyMap = requestedKeys.reduce((acc, key) => {
26
+ acc[key] = identityAttributeDisplayKey(key);
27
+ acc[identityAttributeDisplayKey(key)] = identityAttributeDisplayKey(key);
28
+ return acc;
29
+ }, {});
30
+ const decodedValues = decodeCandidAttributeValues(data, requestedKeyMap);
31
+ if (Object.keys(decodedValues).length > 0) {
32
+ return decodedValues;
33
+ }
34
+ return extractPrintableAttributeValues(data, requestedKeys);
35
+ }
36
+ function decodeCandidAttributeValues(data, requestedKeyMap) {
37
+ const textPairs = IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text));
38
+ const recordPairs = IDL.Vec(IDL.Record({
39
+ key: IDL.Text,
40
+ value: IDL.Text,
41
+ }));
42
+ const candidates = [
43
+ [textPairs],
44
+ [recordPairs],
45
+ [IDL.Record({ attributes: textPairs })],
46
+ [IDL.Record({ values: textPairs })],
47
+ [IDL.Record({ attributes: recordPairs })],
48
+ [IDL.Record({ values: recordPairs })],
49
+ ];
50
+ for (const candidate of candidates) {
51
+ try {
52
+ const decoded = IDL.decode(candidate, data);
53
+ const values = collectDecodedAttributeValues(decoded, requestedKeyMap);
54
+ if (Object.keys(values).length > 0) {
55
+ return values;
56
+ }
57
+ }
58
+ catch {
59
+ // Try the next known beta payload shape, then fall back to text extraction.
60
+ }
61
+ }
62
+ return {};
63
+ }
64
+ function collectDecodedAttributeValues(value, requestedKeyMap, activeKey) {
65
+ const values = {};
66
+ if (typeof value === "string") {
67
+ const displayKey = requestedKeyMap[value];
68
+ if (displayKey) {
69
+ return values;
70
+ }
71
+ if (activeKey && isPrintableTextValue(value)) {
72
+ values[activeKey] = value;
73
+ }
74
+ return values;
75
+ }
76
+ if (Array.isArray(value)) {
77
+ if (value.length === 2 && typeof value[0] === "string") {
78
+ const displayKey = requestedKeyMap[value[0]];
79
+ if (displayKey &&
80
+ typeof value[1] === "string" &&
81
+ isPrintableTextValue(value[1])) {
82
+ values[displayKey] = value[1];
83
+ return values;
84
+ }
85
+ }
86
+ for (const item of value) {
87
+ Object.assign(values, collectDecodedAttributeValues(item, requestedKeyMap, activeKey));
88
+ }
89
+ return values;
90
+ }
91
+ if (value && typeof value === "object") {
92
+ const record = value;
93
+ if (typeof record.key === "string" && typeof record.value === "string") {
94
+ const displayKey = requestedKeyMap[record.key];
95
+ if (displayKey && isPrintableTextValue(record.value)) {
96
+ values[displayKey] = record.value;
97
+ return values;
98
+ }
99
+ }
100
+ for (const [key, nested] of Object.entries(record)) {
101
+ const displayKey = requestedKeyMap[key] ?? activeKey;
102
+ if (displayKey &&
103
+ typeof nested === "string" &&
104
+ isPrintableTextValue(nested)) {
105
+ values[displayKey] = nested;
106
+ continue;
107
+ }
108
+ Object.assign(values, collectDecodedAttributeValues(nested, requestedKeyMap, displayKey));
109
+ }
110
+ }
111
+ return values;
112
+ }
113
+ function extractPrintableAttributeValues(data, requestedKeys) {
114
+ const text = new TextDecoder().decode(data);
115
+ const values = {};
116
+ for (const requestedKey of requestedKeys) {
117
+ const start = text.indexOf(requestedKey);
118
+ if (start === -1) {
119
+ continue;
120
+ }
121
+ const tail = text.slice(start + requestedKey.length);
122
+ const printableRuns = tail.match(/[\x20-\x7E]{2,512}/g) ?? [];
123
+ const value = printableRuns
124
+ .map((candidate) => cleanPrintableAttributeValue(candidate, requestedKeys))
125
+ .find((candidate) => isPrintableTextValue(candidate) &&
126
+ candidate !== requestedKey &&
127
+ !candidate.startsWith("openid:"));
128
+ if (value) {
129
+ values[identityAttributeDisplayKey(requestedKey)] = value.trim();
130
+ }
131
+ }
132
+ return values;
133
+ }
134
+ function cleanPrintableAttributeValue(value, requestedKeys) {
135
+ let cleaned = value;
136
+ for (const requestedKey of requestedKeys) {
137
+ const nextKeyIndex = cleaned.indexOf(requestedKey);
138
+ if (nextKeyIndex > 0) {
139
+ cleaned = cleaned.slice(0, trimCandidTextLengthPrefix(cleaned, nextKeyIndex));
140
+ }
141
+ }
142
+ const nextOpenIdKeyIndex = cleaned.indexOf("openid:");
143
+ if (nextOpenIdKeyIndex > 0) {
144
+ cleaned = cleaned.slice(0, trimCandidTextLengthPrefix(cleaned, nextOpenIdKeyIndex));
145
+ }
146
+ return cleaned.trim();
147
+ }
148
+ function trimCandidTextLengthPrefix(value, index) {
149
+ let trimmedIndex = index;
150
+ while (trimmedIndex > 0 && isAsciiDigit(value.charCodeAt(trimmedIndex - 1))) {
151
+ trimmedIndex -= 1;
152
+ }
153
+ return trimmedIndex;
154
+ }
155
+ function isAsciiDigit(charCode) {
156
+ return charCode >= 48 && charCode <= 57;
157
+ }
158
+ function identityAttributeDisplayKey(key) {
159
+ return key.split(":").pop() || key;
160
+ }
161
+ function isPrintableTextValue(value) {
162
+ return value.length > 0 && value.length <= 512 && /^[\x20-\x7E]+$/.test(value);
163
+ }
164
+ export function normalizeSignedIdentityAttributes(attributes) {
165
+ return {
166
+ data: new Uint8Array(attributes.data),
167
+ signature: new Uint8Array(attributes.signature),
168
+ };
169
+ }
170
+ //# sourceMappingURL=identity-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-attributes.js","sourceRoot":"","sources":["../../src/auth/identity-attributes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./authentication-manager";
2
+ export * from "./identity-attributes-manager";
3
+ export * from "./identity-attributes";
4
+ export * from "./constants";
5
+ export * from "./types";
6
+ export * from "../hooks/createAuthHooks";
7
+ export * from "./createIdentityAttributeHooks";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export * from "./authentication-manager";
2
+ export * from "./identity-attributes-manager";
3
+ export * from "./identity-attributes";
4
+ export * from "./constants";
5
+ export * from "./types";
6
+ export * from "../hooks/createAuthHooks";
7
+ export * from "./createIdentityAttributeHooks";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA"}
@@ -0,0 +1,75 @@
1
+ import type { Identity } from "@icp-sdk/core/agent";
2
+ import type { Principal } from "@icp-sdk/core/principal";
3
+ export interface SignedIdentityAttributes {
4
+ data: Uint8Array;
5
+ signature: Uint8Array;
6
+ }
7
+ export interface IdentityAttributeRequest {
8
+ keys: string[];
9
+ nonce: Uint8Array;
10
+ }
11
+ export interface IdentityAttributeValues {
12
+ email?: string;
13
+ name?: string;
14
+ verified_email?: string;
15
+ [key: string]: string | undefined;
16
+ }
17
+ export interface IdentityAttributeResult {
18
+ principal: string;
19
+ requestedKeys: string[];
20
+ signedAttributes: SignedIdentityAttributes;
21
+ decodedAttributes: IdentityAttributeValues;
22
+ completedAt: string;
23
+ }
24
+ type IdentityAttributeOpenIdProviderAlias = "google" | "apple" | "microsoft";
25
+ export type IdentityAttributeOpenIdProvider = IdentityAttributeOpenIdProviderAlias | (string & {});
26
+ export interface AuthenticationClientOptions {
27
+ identityProvider?: string | URL;
28
+ windowOpenerFeatures?: string;
29
+ openIdProvider?: IdentityAttributeOpenIdProvider;
30
+ }
31
+ export interface AuthClientSignInOptions {
32
+ maxTimeToLive?: bigint;
33
+ targets?: Principal[];
34
+ }
35
+ export interface AuthenticationSignInOptions extends AuthClientSignInOptions, AuthenticationClientOptions {
36
+ onSuccess?: () => void | Promise<void>;
37
+ onError?: (error?: string) => void | Promise<void>;
38
+ }
39
+ export interface RequestIdentityAttributesParameters {
40
+ keys: string[];
41
+ nonce: Uint8Array;
42
+ identityProvider?: string | URL;
43
+ openIdProvider?: IdentityAttributeOpenIdProvider;
44
+ windowOpenerFeatures?: string;
45
+ signIn?: boolean;
46
+ maxTimeToLive?: bigint;
47
+ targets?: Principal[];
48
+ }
49
+ export interface RequestOpenIdIdentityAttributesParameters {
50
+ nonce: Uint8Array;
51
+ openIdProvider: IdentityAttributeOpenIdProvider;
52
+ keys: string[];
53
+ identityProvider?: string | URL;
54
+ windowOpenerFeatures?: string;
55
+ signIn?: boolean;
56
+ maxTimeToLive?: bigint;
57
+ targets?: Principal[];
58
+ }
59
+ export interface AuthClientLike {
60
+ getIdentity(): Promise<Identity> | Identity;
61
+ isAuthenticated(): Promise<boolean> | boolean;
62
+ signIn(options?: AuthClientSignInOptions): Promise<Identity>;
63
+ signOut(options?: {
64
+ returnTo?: string;
65
+ }): Promise<void>;
66
+ requestAttributes(params: IdentityAttributeRequest): Promise<SignedIdentityAttributes>;
67
+ }
68
+ export interface AuthState {
69
+ identity: Identity | null;
70
+ isAuthenticating: boolean;
71
+ isAuthenticated: boolean;
72
+ error: Error | undefined;
73
+ }
74
+ export {};
75
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":""}
@@ -16,26 +16,26 @@
16
16
  * const { data } = useActorQuery({ functionName: 'get_user' })
17
17
  * const { mutate } = useActorMutation({ functionName: 'update_user' })
18
18
  */
19
- import { Reactor, DisplayReactor, ReactorReturnErr, ReactorReturnOk, BaseActor, FunctionName, TransformKey } from "@ic-reactor/core";
19
+ import { Reactor, DisplayReactor, ReactorReturnErr, ReactorReturnOk, ReactorQueryData, BaseActor, FunctionName, TransformKey } from "@ic-reactor/core";
20
20
  import { UseQueryResult, UseSuspenseQueryResult, UseInfiniteQueryResult, UseSuspenseInfiniteQueryResult, UseMutationResult, InfiniteData } from "@tanstack/react-query";
21
21
  import { useActorMethod, UseActorMethodParameters } from "./hooks/useActorMethod";
22
22
  import { InfiniteQueryConfig } from "./createInfiniteQuery";
23
23
  import { SuspenseInfiniteQueryConfig } from "./createSuspenseInfiniteQuery";
24
24
  import { QueryConfig, SuspenseQueryConfig, MutationConfig } from "./types";
25
- export type ActorHooks<A, T extends TransformKey> = {
25
+ export type ActorHooks<Service, Transform extends TransformKey> = {
26
26
  useActorQuery: {
27
- <M extends FunctionName<A>>(config: QueryConfig<A, M, T, ReactorReturnOk<A, M, T>>): UseQueryResult<ReactorReturnOk<A, M, T>, ReactorReturnErr<A, M, T>>;
28
- <M extends FunctionName<A>, TData>(config: QueryConfig<A, M, T, TData>): UseQueryResult<TData, ReactorReturnErr<A, M, T>>;
27
+ <Method extends FunctionName<Service>>(config: QueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>): UseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
28
+ <Method extends FunctionName<Service>, TData>(config: QueryConfig<Service, Method, Transform, TData>): UseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
29
29
  };
30
30
  useActorSuspenseQuery: {
31
- <M extends FunctionName<A>>(config: SuspenseQueryConfig<A, M, T, ReactorReturnOk<A, M, T>>): UseSuspenseQueryResult<ReactorReturnOk<A, M, T>, ReactorReturnErr<A, M, T>>;
32
- <M extends FunctionName<A>, TData>(config: SuspenseQueryConfig<A, M, T, TData>): UseSuspenseQueryResult<TData, ReactorReturnErr<A, M, T>>;
31
+ <Method extends FunctionName<Service>>(config: SuspenseQueryConfig<Service, Method, Transform, ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>>): UseSuspenseQueryResult<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, ReactorReturnErr<Service, Method, Transform>>;
32
+ <Method extends FunctionName<Service>, TData>(config: SuspenseQueryConfig<Service, Method, Transform, TData>): UseSuspenseQueryResult<TData, ReactorReturnErr<Service, Method, Transform>>;
33
33
  };
34
- useActorInfiniteQuery: <M extends FunctionName<A>, TPageParam = unknown>(config: InfiniteQueryConfig<A, M, T, TPageParam>) => UseInfiniteQueryResult<InfiniteData<ReactorReturnOk<A, M, T>, TPageParam>, ReactorReturnErr<A, M, T>>;
35
- useActorSuspenseInfiniteQuery: <M extends FunctionName<A>, TPageParam = unknown>(config: SuspenseInfiniteQueryConfig<A, M, T, TPageParam>) => UseSuspenseInfiniteQueryResult<InfiniteData<ReactorReturnOk<A, M, T>, TPageParam>, ReactorReturnErr<A, M, T>>;
36
- useActorMutation: <M extends FunctionName<A>>(config: MutationConfig<A, M, T>) => UseMutationResult<ReactorReturnOk<A, M, T>, ReactorReturnErr<A, M, T>>;
37
- useActorMethod: <M extends FunctionName<A>>(config: Omit<UseActorMethodParameters<A, M, T>, "reactor">) => ReturnType<typeof useActorMethod<A, M, T>>;
34
+ useActorInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown>(config: InfiniteQueryConfig<Service, Method, Transform, TPageParam>) => UseInfiniteQueryResult<InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>, ReactorReturnErr<Service, Method, Transform>>;
35
+ useActorSuspenseInfiniteQuery: <Method extends FunctionName<Service>, TPageParam = unknown>(config: SuspenseInfiniteQueryConfig<Service, Method, Transform, TPageParam>) => UseSuspenseInfiniteQueryResult<InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>, ReactorReturnErr<Service, Method, Transform>>;
36
+ useActorMutation: <Method extends FunctionName<Service>>(config: MutationConfig<Service, Method, Transform>) => UseMutationResult<ReactorReturnOk<Service, Method, Transform>, ReactorReturnErr<Service, Method, Transform>>;
37
+ useActorMethod: <Method extends FunctionName<Service>>(config: Omit<UseActorMethodParameters<Service, Method, Transform>, "reactor">) => ReturnType<typeof useActorMethod<Service, Method, Transform>>;
38
38
  };
39
- export declare function createActorHooks<A>(reactor: DisplayReactor<A>): ActorHooks<A, "display">;
40
- export declare function createActorHooks<A = BaseActor, T extends TransformKey = "candid">(reactor: Reactor<A, T>): ActorHooks<A, T>;
39
+ export declare function createActorHooks<Service>(reactor: DisplayReactor<Service>): ActorHooks<Service, "display">;
40
+ export declare function createActorHooks<Service = BaseActor, Transform extends TransformKey = "candid">(reactor: Reactor<Service, Transform>): ActorHooks<Service, Transform>;
41
41
  //# sourceMappingURL=createActorHooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createActorHooks.d.ts","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createActorHooks.d.ts","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createActorHooks.js","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EACL,cAAc,GAEf,MAAM,wBAAwB,CAAA;AA8D/B,MAAM,UAAU,gBAAgB,CAC9B,OAAsB;IAEtB,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CAC9B,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAElB,qBAAqB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACtC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAE1B,qBAAqB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACtC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAE1B,6BAA6B,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CAC9C,6BAA6B,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAElC,gBAAgB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACjC,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAErB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CACzB,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAIlC,CAAC;KACL,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createActorHooks.js","sourceRoot":"","sources":["../src/createActorHooks.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EACL,cAAc,GAEf,MAAM,wBAAwB,CAAA;AA6F/B,MAAM,UAAU,gBAAgB,CAC9B,OAAoC;IAEpC,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CAC9B,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAElB,qBAAqB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACtC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAE1B,qBAAqB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACtC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAE1B,6BAA6B,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CAC9C,6BAA6B,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAElC,gBAAgB,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACjC,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAGrB;QAErB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CACzB,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAIlC,CAAC;KACL,CAAA;AACH,CAAC"}