@proveanything/smartlinks-auth-ui 0.3.13 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"AccountManagement.d.ts","sourceRoot":"","sources":["../../src/components/AccountManagement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,KAAK,EAAE,sBAAsB,EAAe,MAAM,UAAU,CAAC;AACpE,OAAO,qBAAqB,CAAC;AAO7B,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0wB9D,CAAC"}
1
+ {"version":3,"file":"AccountManagement.d.ts","sourceRoot":"","sources":["../../src/components/AccountManagement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAOhE,OAAO,KAAK,EAAE,sBAAsB,EAAe,MAAM,UAAU,CAAC;AACpE,OAAO,qBAAqB,CAAC;AAK7B,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA4vB9D,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import type { ContactSchema, RegistrationFieldConfig } from './SchemaFieldRenderer';
2
+ import type { RegistrationFieldConfig } from './SchemaFieldRenderer';
3
+ import type { ContactSchemaResponse } from '@proveanything/smartlinks';
3
4
  import type { AuthFormData, ClaimField, SignupProminence } from '../types';
4
5
  import './AuthForm.css';
5
6
  interface EmailAuthFormProps {
@@ -10,7 +11,7 @@ interface EmailAuthFormProps {
10
11
  loading: boolean;
11
12
  error?: string;
12
13
  signupProminence?: SignupProminence;
13
- schema?: ContactSchema | null;
14
+ schema?: ContactSchemaResponse | null;
14
15
  registrationFieldsConfig?: RegistrationFieldConfig[];
15
16
  /** @deprecated Use schema + registrationFieldsConfig instead */
16
17
  additionalFields?: ClaimField[];
@@ -1 +1 @@
1
- {"version":3,"file":"EmailAuthForm.d.ts","sourceRoot":"","sources":["../../src/components/EmailAuthForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAe,aAAa,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3E,OAAO,gBAAgB,CAAC;AAExB,UAAU,kBAAkB;IAC1B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,wBAAwB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAErD,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuRtD,CAAC"}
1
+ {"version":3,"file":"EmailAuthForm.d.ts","sourceRoot":"","sources":["../../src/components/EmailAuthForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAiB,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3E,OAAO,gBAAgB,CAAC;AAExB,UAAU,kBAAkB;IAC1B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtC,wBAAwB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAErD,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8QtD,CAAC"}
@@ -1,55 +1,29 @@
1
1
  import React from 'react';
2
+ import type { ContactSchemaResponse, ContactSchemaProperty, ContactUiSchemaEntry } from '@proveanything/smartlinks';
3
+ import { evaluateConditions } from '@proveanything/smartlinks';
4
+ export type { ContactSchemaResponse, ContactSchemaProperty, ContactUiSchemaEntry };
5
+ export { evaluateConditions };
2
6
  /**
3
- * Schema field definition from contact.publicGetSchema()
7
+ * Configuration for which fields to show during registration.
8
+ * Stored in AuthKit config.
4
9
  */
5
- export interface SchemaField {
10
+ export interface RegistrationFieldConfig {
6
11
  key: string;
7
- label: string;
8
- type: 'string' | 'number' | 'boolean' | 'date' | 'array';
9
- widget: 'text' | 'email' | 'tel' | 'select' | 'checkbox' | 'textarea' | 'number' | 'date';
10
- visible: boolean;
11
- editable: boolean;
12
- readOnly: boolean;
12
+ showDuringRegistration: boolean;
13
+ placement: 'inline' | 'post-credentials';
13
14
  required?: boolean;
14
- placeholder?: string;
15
- options?: string[] | {
16
- value: string;
17
- label: string;
18
- }[];
19
- description?: string;
20
- validation?: {
21
- minLength?: number;
22
- maxLength?: number;
23
- pattern?: string;
24
- min?: number;
25
- max?: number;
26
- };
27
- }
28
- /**
29
- * Contact schema returned by contact.publicGetSchema()
30
- */
31
- export interface ContactSchema {
32
- version: number;
33
- fields: SchemaField[];
34
- customFields: SchemaField[];
35
- settings: {
36
- publicVisibleFields: string[];
37
- publicEditableFields: string[];
38
- customFieldsVersion: number;
39
- };
40
15
  }
41
16
  /**
42
- * Configuration for which fields to show during registration
43
- * Stored in AuthKit config
17
+ * Resolved field descriptor for rendering combines property, uiSchema entry, and metadata.
44
18
  */
45
- export interface RegistrationFieldConfig {
19
+ export interface ResolvedField {
46
20
  key: string;
47
- showDuringRegistration: boolean;
48
- placement: 'inline' | 'post-credentials';
49
- required?: boolean;
21
+ property: ContactSchemaProperty;
22
+ ui: ContactUiSchemaEntry;
23
+ required: boolean;
50
24
  }
51
25
  interface SchemaFieldRendererProps {
52
- field: SchemaField;
26
+ field: ResolvedField;
53
27
  value: any;
54
28
  onChange: (key: string, value: any) => void;
55
29
  disabled?: boolean;
@@ -57,24 +31,28 @@ interface SchemaFieldRendererProps {
57
31
  className?: string;
58
32
  }
59
33
  /**
60
- * Renders a form field based on schema definition
61
- * Used in both registration and account management forms
34
+ * Renders a form field based on a ContactSchemaResponse property + uiSchema entry.
62
35
  */
63
36
  export declare const SchemaFieldRenderer: React.FC<SchemaFieldRendererProps>;
64
37
  /**
65
- * Helper to get all editable fields from schema
38
+ * Resolve fields from a ContactSchemaResponse into ResolvedField[] for rendering.
39
+ * Respects fieldOrder, merges uiSchema, and determines required status.
40
+ */
41
+ export declare const resolveFields: (schema: ContactSchemaResponse | null, formValues?: Record<string, unknown>) => ResolvedField[];
42
+ /**
43
+ * Get editable fields from schema (ui:disabled !== true).
66
44
  */
67
- export declare const getEditableFields: (schema: ContactSchema | null) => SchemaField[];
45
+ export declare const getEditableFields: (schema: ContactSchemaResponse | null, formValues?: Record<string, unknown>) => ResolvedField[];
68
46
  /**
69
- * Helper to get registration fields based on config
47
+ * Get registration fields based on RegistrationFieldConfig.
70
48
  */
71
- export declare const getRegistrationFields: (schema: ContactSchema | null, registrationConfig: RegistrationFieldConfig[]) => SchemaField[];
49
+ export declare const getRegistrationFields: (schema: ContactSchemaResponse | null, registrationConfig: RegistrationFieldConfig[], formValues?: Record<string, unknown>) => ResolvedField[];
72
50
  /**
73
- * Sort fields by placement (inline first, then post-credentials)
51
+ * Sort resolved fields by placement (inline first, then post-credentials).
74
52
  */
75
- export declare const sortFieldsByPlacement: (fields: SchemaField[], registrationConfig: RegistrationFieldConfig[]) => {
76
- inline: SchemaField[];
77
- postCredentials: SchemaField[];
53
+ export declare const sortFieldsByPlacement: (fields: ResolvedField[], registrationConfig: RegistrationFieldConfig[]) => {
54
+ inline: ResolvedField[];
55
+ postCredentials: ResolvedField[];
78
56
  };
79
57
  export default SchemaFieldRenderer;
80
58
  //# sourceMappingURL=SchemaFieldRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SchemaFieldRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACzD,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1F,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,EAAE;QACR,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,QAAQ,GAAG,kBAAkB,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,wBAAwB;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+KlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,aAAa,GAAG,IAAI,KAAG,WAAW,EAc3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,GAAG,IAAI,EAC5B,oBAAoB,uBAAuB,EAAE,KAC5C,WAAW,EAmBb,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,WAAW,EAAE,EACrB,oBAAoB,uBAAuB,EAAE,KAC5C;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,eAAe,EAAE,WAAW,EAAE,CAAA;CAgBzD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"SchemaFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SchemaFieldRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,QAAQ,GAAG,kBAAkB,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,qBAAqB,CAAC;IAChC,EAAE,EAAE,oBAAoB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,wBAAwB;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+OlE,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,qBAAqB,GAAG,IAAI,EACpC,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,aAAa,EAkBf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,qBAAqB,GAAG,IAAI,EACpC,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,aAAa,EAIf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,qBAAqB,GAAG,IAAI,EACpC,oBAAoB,uBAAuB,EAAE,EAC7C,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,aAAa,EAuBf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,EAAE,EACvB,oBAAoB,uBAAuB,EAAE,KAC5C;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,eAAe,EAAE,aAAa,EAAE,CAAA;CAgB7D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,8 +8,13 @@ export { tokenStorage } from './utils/tokenStorage';
8
8
  export { AuthUIPreview } from './components/AuthUIPreview';
9
9
  export { getDefaultAuthKitId, setDefaultAuthKitId } from './utils/defaultAuthKit';
10
10
  export { getFriendlyErrorMessage, isConflictError, isAuthError, isRateLimitError, isServerError, getErrorStatusCode, getErrorCode } from './utils/errorHandling';
11
- export { SchemaFieldRenderer, getEditableFields, getRegistrationFields, sortFieldsByPlacement } from './components/SchemaFieldRenderer';
12
- export type { SchemaField, ContactSchema, RegistrationFieldConfig } from './components/SchemaFieldRenderer';
11
+ export { SchemaFieldRenderer, getEditableFields, getRegistrationFields, sortFieldsByPlacement, resolveFields, evaluateConditions } from './components/SchemaFieldRenderer';
12
+ export type { ResolvedField, RegistrationFieldConfig } from './components/SchemaFieldRenderer';
13
+ export type { ContactSchemaResponse, ContactSchemaProperty, ContactUiSchemaEntry } from '@proveanything/smartlinks';
14
+ /** @deprecated Use ResolvedField instead */
15
+ export type { ResolvedField as SchemaField } from './components/SchemaFieldRenderer';
16
+ /** @deprecated Use ContactSchemaResponse from @proveanything/smartlinks instead */
17
+ export type { ContactSchemaResponse as ContactSchema } from '@proveanything/smartlinks';
13
18
  export type { RouteChangeMessage, SmartlinksIframeMessage, ProxyRequest, ProxyResponse, } from './types/iframeMessages';
14
19
  export type * from './types';
15
20
  export type { AuthLogger, SignupProminence, RedirectReason } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EACL,eAAe,EAEf,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACxI,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG5G,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,mBAAmB,SAAS,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG5E,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EACL,eAAe,EAEf,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3K,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE/F,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACpH,4CAA4C;AAC5C,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACrF,mFAAmF;AACnF,YAAY,EAAE,qBAAqB,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAGxF,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,mBAAmB,SAAS,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG5E,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC"}