@dxos/plugin-preview 0.8.4-main.5ea62a8 → 0.8.4-main.ae835ea

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 (84) hide show
  1. package/dist/lib/browser/chunk-CEWM5LJG.mjs +17 -0
  2. package/dist/lib/browser/chunk-CEWM5LJG.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +11 -7
  4. package/dist/lib/browser/index.mjs.map +2 -2
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/{preview-popover-MAIBTJKJ.mjs → preview-popover-RKHENTFP.mjs} +9 -13
  7. package/dist/lib/browser/preview-popover-RKHENTFP.mjs.map +7 -0
  8. package/dist/lib/browser/react-surface-3AR3BFLF.mjs +515 -0
  9. package/dist/lib/browser/react-surface-3AR3BFLF.mjs.map +7 -0
  10. package/dist/lib/node-esm/chunk-Q5MUNELK.mjs +19 -0
  11. package/dist/lib/node-esm/chunk-Q5MUNELK.mjs.map +7 -0
  12. package/dist/lib/node-esm/index.mjs +11 -7
  13. package/dist/lib/node-esm/index.mjs.map +2 -2
  14. package/dist/lib/node-esm/meta.json +1 -1
  15. package/dist/lib/node-esm/{preview-popover-LZGHYW23.mjs → preview-popover-TZKX67EY.mjs} +9 -13
  16. package/dist/lib/node-esm/preview-popover-TZKX67EY.mjs.map +7 -0
  17. package/dist/lib/node-esm/react-surface-L37JR7U2.mjs +516 -0
  18. package/dist/lib/node-esm/react-surface-L37JR7U2.mjs.map +7 -0
  19. package/dist/types/src/PreviewPlugin.d.ts +1 -1
  20. package/dist/types/src/PreviewPlugin.d.ts.map +1 -1
  21. package/dist/types/src/capabilities/preview-popover.d.ts.map +1 -1
  22. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  23. package/dist/types/src/cards/ContactCard.d.ts +5 -0
  24. package/dist/types/src/cards/ContactCard.d.ts.map +1 -0
  25. package/dist/types/src/{components → cards}/OrganizationCard.d.ts +1 -1
  26. package/dist/types/src/cards/OrganizationCard.d.ts.map +1 -0
  27. package/dist/types/src/cards/ProjectCard.d.ts +5 -0
  28. package/dist/types/src/cards/ProjectCard.d.ts.map +1 -0
  29. package/dist/types/src/cards/TaskCard.d.ts +5 -0
  30. package/dist/types/src/cards/TaskCard.d.ts.map +1 -0
  31. package/dist/types/src/cards/index.d.ts +5 -0
  32. package/dist/types/src/cards/index.d.ts.map +1 -0
  33. package/dist/types/src/components/CardComponents.d.ts +16 -0
  34. package/dist/types/src/components/CardComponents.d.ts.map +1 -0
  35. package/dist/types/src/components/CardSubjectMenu.d.ts +3 -5
  36. package/dist/types/src/components/CardSubjectMenu.d.ts.map +1 -1
  37. package/dist/types/src/components/index.d.ts +2 -3
  38. package/dist/types/src/components/index.d.ts.map +1 -1
  39. package/dist/types/src/meta.d.ts +0 -1
  40. package/dist/types/src/meta.d.ts.map +1 -1
  41. package/dist/types/src/stories/Card.stories.d.ts +7 -1
  42. package/dist/types/src/stories/Card.stories.d.ts.map +1 -1
  43. package/dist/types/src/stories/testing.d.ts +2 -1
  44. package/dist/types/src/stories/testing.d.ts.map +1 -1
  45. package/dist/types/src/translations.d.ts +6 -0
  46. package/dist/types/src/translations.d.ts.map +1 -1
  47. package/dist/types/src/types.d.ts +5 -2
  48. package/dist/types/src/types.d.ts.map +1 -1
  49. package/dist/types/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +32 -32
  51. package/src/PreviewPlugin.tsx +22 -23
  52. package/src/capabilities/preview-popover.ts +7 -12
  53. package/src/capabilities/react-surface.tsx +61 -76
  54. package/src/cards/ContactCard.tsx +65 -0
  55. package/src/cards/OrganizationCard.tsx +25 -0
  56. package/src/cards/ProjectCard.tsx +24 -0
  57. package/src/cards/TaskCard.tsx +46 -0
  58. package/src/cards/index.ts +8 -0
  59. package/src/components/CardComponents.tsx +67 -0
  60. package/src/components/CardSubjectMenu.tsx +60 -25
  61. package/src/components/index.ts +2 -3
  62. package/src/meta.ts +6 -3
  63. package/src/stories/Card.stories.tsx +12 -9
  64. package/src/stories/testing.tsx +24 -13
  65. package/src/translations.ts +6 -0
  66. package/src/types.ts +6 -2
  67. package/dist/lib/browser/chunk-Z73ENKLE.mjs +0 -14
  68. package/dist/lib/browser/chunk-Z73ENKLE.mjs.map +0 -7
  69. package/dist/lib/browser/preview-popover-MAIBTJKJ.mjs.map +0 -7
  70. package/dist/lib/browser/react-surface-F5B3N276.mjs +0 -380
  71. package/dist/lib/browser/react-surface-F5B3N276.mjs.map +0 -7
  72. package/dist/lib/node-esm/chunk-2ORSL4GJ.mjs +0 -16
  73. package/dist/lib/node-esm/chunk-2ORSL4GJ.mjs.map +0 -7
  74. package/dist/lib/node-esm/preview-popover-LZGHYW23.mjs.map +0 -7
  75. package/dist/lib/node-esm/react-surface-4TLL7CWP.mjs +0 -381
  76. package/dist/lib/node-esm/react-surface-4TLL7CWP.mjs.map +0 -7
  77. package/dist/types/src/components/ContactCard.d.ts +0 -7
  78. package/dist/types/src/components/ContactCard.d.ts.map +0 -1
  79. package/dist/types/src/components/OrganizationCard.d.ts.map +0 -1
  80. package/dist/types/src/components/ProjectCard.d.ts +0 -5
  81. package/dist/types/src/components/ProjectCard.d.ts.map +0 -1
  82. package/src/components/ContactCard.tsx +0 -76
  83. package/src/components/OrganizationCard.tsx +0 -44
  84. package/src/components/ProjectCard.tsx +0 -27
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/TaskCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAe7C,eAAO,MAAM,QAAQ,GAAI,gCAAgC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAiBnF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './ContactCard';
2
+ export * from './OrganizationCard';
3
+ export * from './ProjectCard';
4
+ export * from './TaskCard';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cards/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { type PreviewProps } from '../types';
3
+ export declare const gridRow = "is-full grid grid-cols-[1.5rem_1fr_min-content] gap-2 items-center";
4
+ export declare const CardHeader: ({ label, subject, activeSpace }: {
5
+ label?: string;
6
+ } & PreviewProps) => React.JSX.Element;
7
+ export declare const CardRow: ({ icon, label, onClick }: {
8
+ icon: string;
9
+ label: string;
10
+ onClick?: () => void;
11
+ }) => React.JSX.Element;
12
+ export declare const CardLink: ({ label, href }: {
13
+ label: string;
14
+ href: string;
15
+ }) => React.JSX.Element;
16
+ //# sourceMappingURL=CardComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/CardComponents.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,eAAO,MAAM,OAAO,uEAAuE,CAAC;AAI5F,eAAO,MAAM,UAAU,GAAI,iCAAiC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,sBAO5F,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,0BAA0B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,sBAqBtG,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,iBAAiB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAgBxE,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
- import { type AnyEchoObject } from '@dxos/echo-schema';
3
2
  import { type IconButtonProps } from '@dxos/react-ui';
3
+ import { type PreviewProps } from '../types';
4
4
  /**
5
- * This is a generic menu for objects that tries to infer common actions.
5
+ * Generic menu for objects; builds menu with common actions.
6
6
  */
7
- export declare const CardSubjectMenu: ({ subject, ...props }: Omit<IconButtonProps, "icon" | "label"> & {
8
- subject: AnyEchoObject;
9
- }) => React.JSX.Element;
7
+ export declare const CardSubjectMenu: ({ subject, activeSpace, ...props }: PreviewProps & Omit<IconButtonProps, "icon" | "label">) => React.JSX.Element | null;
10
8
  //# sourceMappingURL=CardSubjectMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardSubjectMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/CardSubjectMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAc,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAqBlF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,uBAG7B,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,sBAkBtE,CAAC"}
1
+ {"version":3,"file":"CardSubjectMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/CardSubjectMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAc,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAUlF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;GAEG;AAEH,eAAO,MAAM,eAAe,GAAI,oCAI7B,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,6BAwBxD,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './ContactCard';
2
- export * from './OrganizationCard';
3
- export * from './ProjectCard';
1
+ export * from './CardComponents';
2
+ export * from './CardSubjectMenu';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import { type PluginMeta } from '@dxos/app-framework';
2
- export declare const PREVIEW_PLUGIN = "dxos.org/plugin/preview";
3
2
  export declare const meta: PluginMeta;
4
3
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAExD,eAAO,MAAM,IAAI,EAAE,UAKlB,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,eAAO,MAAM,IAAI,EAAE,UASlB,CAAC"}
@@ -1,14 +1,20 @@
1
- import '@dxos-theme';
2
1
  import { type StoryObj } from '@storybook/react-vite';
3
2
  declare const meta: {
4
3
  title: string;
5
4
  render: ({ role, cards }: import("./testing").DefaultstoryProps) => import("react").JSX.Element;
6
5
  decorators: import("@storybook/react").Decorator[];
7
6
  parameters: {
7
+ layout: string;
8
8
  translations: [{
9
9
  readonly 'en-US': {
10
10
  readonly [meta.id]: {
11
11
  readonly 'unable to create preview message': "No preview";
12
+ readonly 'todo label': "To do";
13
+ readonly 'in-progress label': "In progress";
14
+ readonly 'done label': "Done";
15
+ readonly 'open object label': "Open";
16
+ readonly 'add object to space label': "Add to space";
17
+ readonly 'more options label': "More options";
12
18
  };
13
19
  };
14
20
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"Card.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Card.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;;;yBAN6B,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;CAkBlB,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC"}
1
+ {"version":3,"file":"Card.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Card.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajE,QAAA,MAAM,IAAI;;;;;;;;yBAVA,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;CAsBW,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React, { type FC } from 'react';
2
+ import { Obj } from '@dxos/echo';
2
3
  import { type PreviewProps } from '../types';
3
- type CardProps<T extends object> = {
4
+ type CardProps<T extends Obj.Any> = {
4
5
  Component: FC<PreviewProps<T>>;
5
6
  subject: T;
6
7
  icon?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/stories/testing.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAQvC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI;IACjC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACrF,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,iBAAiB,iBAAiB,sBAY9D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,uBAAuB,GAAG,QAAS,CAAC;AAG9D,eAAO,MAAM,WAAW,GAAI,eAAY,KAAG,SAAS,CAAC,GAAG,CAAC,EAwDxD,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/stories/testing.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAO,MAAM,YAAY,CAAC;AAMtC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,KAAK,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI;IAClC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACrF,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,iBAAiB,iBAAiB,sBAc9D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,uBAAuB,GAAG,QAAS,CAAC;AAG9D,eAAO,MAAM,WAAW,GAAI,eAAY,KAAG,SAAS,CAAC,GAAG,CAAC,EAmExD,CAAC"}
@@ -3,6 +3,12 @@ export declare const translations: [{
3
3
  readonly 'en-US': {
4
4
  readonly [meta.id]: {
5
5
  readonly 'unable to create preview message': "No preview";
6
+ readonly 'todo label': "To do";
7
+ readonly 'in-progress label': "In progress";
8
+ readonly 'done label': "Done";
9
+ readonly 'open object label': "Open";
10
+ readonly 'add object to space label': "Add to space";
11
+ readonly 'more options label': "More options";
6
12
  };
7
13
  };
8
14
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;UAER;;EAGwB,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;UAQR;;EAGwB,CAAC"}
@@ -1,7 +1,10 @@
1
- import { type Schema } from 'effect';
2
1
  import { type PropsWithChildren } from 'react';
3
- export type PreviewProps<T extends Schema.Schema.Type<any>> = PropsWithChildren<{
2
+ import { type Obj } from '@dxos/echo';
3
+ import { type Space } from '@dxos/react-client/echo';
4
+ export type PreviewProps<T extends Obj.Any = Obj.Any> = PropsWithChildren<{
4
5
  subject: T;
5
6
  role?: string;
7
+ activeSpace?: Space;
8
+ onSelect?: (obj: Obj.Any) => void;
6
9
  }>;
7
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC;IAC9E,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,iBAAiB,CAAC;IACxE,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;CACnC,CAAC,CAAC"}