@ixo/editor 0.2.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 (190) hide show
  1. package/README.md +345 -0
  2. package/dist/blocks/index.d.ts +85 -0
  3. package/dist/blocks/index.d.ts.map +1 -0
  4. package/dist/blocks/index.js +50 -0
  5. package/dist/blocks/list/ListBlock.d.ts +59 -0
  6. package/dist/blocks/list/ListBlock.d.ts.map +1 -0
  7. package/dist/blocks/list/ListBlock.js +51 -0
  8. package/dist/blocks/list/ListBlockToolbar.d.ts +9 -0
  9. package/dist/blocks/list/ListBlockToolbar.d.ts.map +1 -0
  10. package/dist/blocks/list/ListBlockToolbar.js +26 -0
  11. package/dist/blocks/list/ListContainer.d.ts +5 -0
  12. package/dist/blocks/list/ListContainer.d.ts.map +1 -0
  13. package/dist/blocks/list/ListContainer.js +10 -0
  14. package/dist/blocks/list/ListGeneralTab.d.ts +11 -0
  15. package/dist/blocks/list/ListGeneralTab.d.ts.map +1 -0
  16. package/dist/blocks/list/ListGeneralTab.js +134 -0
  17. package/dist/blocks/list/ListItem.d.ts +8 -0
  18. package/dist/blocks/list/ListItem.d.ts.map +1 -0
  19. package/dist/blocks/list/ListItem.js +24 -0
  20. package/dist/blocks/list/ListPreviewTab.d.ts +9 -0
  21. package/dist/blocks/list/ListPreviewTab.d.ts.map +1 -0
  22. package/dist/blocks/list/ListPreviewTab.js +51 -0
  23. package/dist/blocks/list/ListSettings.d.ts +3 -0
  24. package/dist/blocks/list/ListSettings.d.ts.map +1 -0
  25. package/dist/blocks/list/ListSettings.js +115 -0
  26. package/dist/blocks/list/ListSettingsTab.d.ts +10 -0
  27. package/dist/blocks/list/ListSettingsTab.d.ts.map +1 -0
  28. package/dist/blocks/list/ListSettingsTab.js +64 -0
  29. package/dist/blocks/list/index.d.ts +3 -0
  30. package/dist/blocks/list/index.d.ts.map +1 -0
  31. package/dist/blocks/list/index.js +5 -0
  32. package/dist/blocks/list/useList.d.ts +5 -0
  33. package/dist/blocks/list/useList.d.ts.map +1 -0
  34. package/dist/blocks/list/useList.js +11 -0
  35. package/dist/blocks/overview/OverviewBlock.d.ts +33 -0
  36. package/dist/blocks/overview/OverviewBlock.d.ts.map +1 -0
  37. package/dist/blocks/overview/OverviewBlock.js +34 -0
  38. package/dist/blocks/overview/OverviewBlockToolbar.d.ts +8 -0
  39. package/dist/blocks/overview/OverviewBlockToolbar.d.ts.map +1 -0
  40. package/dist/blocks/overview/OverviewBlockToolbar.js +16 -0
  41. package/dist/blocks/overview/OverviewGeneralTab.d.ts +11 -0
  42. package/dist/blocks/overview/OverviewGeneralTab.d.ts.map +1 -0
  43. package/dist/blocks/overview/OverviewGeneralTab.js +134 -0
  44. package/dist/blocks/overview/OverviewPreviewTab.d.ts +10 -0
  45. package/dist/blocks/overview/OverviewPreviewTab.d.ts.map +1 -0
  46. package/dist/blocks/overview/OverviewPreviewTab.js +30 -0
  47. package/dist/blocks/overview/OverviewSettings.d.ts +3 -0
  48. package/dist/blocks/overview/OverviewSettings.d.ts.map +1 -0
  49. package/dist/blocks/overview/OverviewSettings.js +114 -0
  50. package/dist/blocks/overview/index.d.ts +3 -0
  51. package/dist/blocks/overview/index.d.ts.map +1 -0
  52. package/dist/blocks/overview/index.js +5 -0
  53. package/dist/blocks/overview/useOverview.d.ts +11 -0
  54. package/dist/blocks/overview/useOverview.d.ts.map +1 -0
  55. package/dist/blocks/overview/useOverview.js +61 -0
  56. package/dist/components/GlobeIcon.d.ts +9 -0
  57. package/dist/components/GlobeIcon.d.ts.map +1 -0
  58. package/dist/components/GlobeIcon.js +20 -0
  59. package/dist/components/IxoEditor.d.ts +14 -0
  60. package/dist/components/IxoEditor.d.ts.map +1 -0
  61. package/dist/components/IxoEditor.js +41 -0
  62. package/dist/components/PenIcon.d.ts +9 -0
  63. package/dist/components/PenIcon.d.ts.map +1 -0
  64. package/dist/components/PenIcon.js +20 -0
  65. package/dist/components/SettingsIcon.d.ts +9 -0
  66. package/dist/components/SettingsIcon.d.ts.map +1 -0
  67. package/dist/components/SettingsIcon.js +21 -0
  68. package/dist/components/SettingsModal/AdvancedTab.d.ts +8 -0
  69. package/dist/components/SettingsModal/AdvancedTab.d.ts.map +1 -0
  70. package/dist/components/SettingsModal/AdvancedTab.js +14 -0
  71. package/dist/components/SettingsModal/DomainPreview.d.ts +7 -0
  72. package/dist/components/SettingsModal/DomainPreview.d.ts.map +1 -0
  73. package/dist/components/SettingsModal/DomainPreview.js +22 -0
  74. package/dist/components/SettingsModal/FeatureASettings.d.ts +3 -0
  75. package/dist/components/SettingsModal/FeatureASettings.d.ts.map +1 -0
  76. package/dist/components/SettingsModal/FeatureASettings.js +74 -0
  77. package/dist/components/SettingsModal/GeneralTab.d.ts +10 -0
  78. package/dist/components/SettingsModal/GeneralTab.d.ts.map +1 -0
  79. package/dist/components/SettingsModal/GeneralTab.js +111 -0
  80. package/dist/components/SettingsModal/PreviewTab.d.ts +8 -0
  81. package/dist/components/SettingsModal/PreviewTab.d.ts.map +1 -0
  82. package/dist/components/SettingsModal/PreviewTab.js +14 -0
  83. package/dist/components/SettingsModal/SettingsModal.d.ts +16 -0
  84. package/dist/components/SettingsModal/SettingsModal.d.ts.map +1 -0
  85. package/dist/components/SettingsModal/SettingsModal.js +61 -0
  86. package/dist/components/SettingsModal/SettingsNavigation.d.ts +15 -0
  87. package/dist/components/SettingsModal/SettingsNavigation.d.ts.map +1 -0
  88. package/dist/components/SettingsModal/SettingsNavigation.js +21 -0
  89. package/dist/components/SettingsModal/index.d.ts +8 -0
  90. package/dist/components/SettingsModal/index.d.ts.map +1 -0
  91. package/dist/components/SettingsModal/index.js +17 -0
  92. package/dist/components/SwitchOption.d.ts +9 -0
  93. package/dist/components/SwitchOption.d.ts.map +1 -0
  94. package/dist/components/SwitchOption.js +45 -0
  95. package/dist/components/icons/ArchiveIcon.d.ts +9 -0
  96. package/dist/components/icons/ArchiveIcon.d.ts.map +1 -0
  97. package/dist/components/icons/ArchiveIcon.js +18 -0
  98. package/dist/components/icons/AudioIcon.d.ts +9 -0
  99. package/dist/components/icons/AudioIcon.d.ts.map +1 -0
  100. package/dist/components/icons/AudioIcon.js +17 -0
  101. package/dist/components/icons/DefaultIcon.d.ts +9 -0
  102. package/dist/components/icons/DefaultIcon.d.ts.map +1 -0
  103. package/dist/components/icons/DefaultIcon.js +17 -0
  104. package/dist/components/icons/DocumentIcon.d.ts +9 -0
  105. package/dist/components/icons/DocumentIcon.d.ts.map +1 -0
  106. package/dist/components/icons/DocumentIcon.js +20 -0
  107. package/dist/components/icons/ImageIcon.d.ts +9 -0
  108. package/dist/components/icons/ImageIcon.d.ts.map +1 -0
  109. package/dist/components/icons/ImageIcon.js +18 -0
  110. package/dist/components/icons/JsonIcon.d.ts +9 -0
  111. package/dist/components/icons/JsonIcon.d.ts.map +1 -0
  112. package/dist/components/icons/JsonIcon.js +19 -0
  113. package/dist/components/icons/PdfIcon.d.ts +9 -0
  114. package/dist/components/icons/PdfIcon.d.ts.map +1 -0
  115. package/dist/components/icons/PdfIcon.js +20 -0
  116. package/dist/components/icons/VideoIcon.d.ts +9 -0
  117. package/dist/components/icons/VideoIcon.d.ts.map +1 -0
  118. package/dist/components/icons/VideoIcon.js +17 -0
  119. package/dist/components/icons/XmlIcon.d.ts +9 -0
  120. package/dist/components/icons/XmlIcon.d.ts.map +1 -0
  121. package/dist/components/icons/XmlIcon.js +19 -0
  122. package/dist/components/icons/index.d.ts +10 -0
  123. package/dist/components/icons/index.d.ts.map +1 -0
  124. package/dist/components/icons/index.js +24 -0
  125. package/dist/components/ui/button.d.ts +11 -0
  126. package/dist/components/ui/button.d.ts.map +1 -0
  127. package/dist/components/ui/button.js +68 -0
  128. package/dist/components/ui/card.d.ts +9 -0
  129. package/dist/components/ui/card.d.ts.map +1 -0
  130. package/dist/components/ui/card.js +56 -0
  131. package/dist/components/ui/dialog.d.ts +16 -0
  132. package/dist/components/ui/dialog.d.ts.map +1 -0
  133. package/dist/components/ui/dialog.js +85 -0
  134. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  135. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  136. package/dist/components/ui/dropdown-menu.js +110 -0
  137. package/dist/components/ui/input.d.ts +4 -0
  138. package/dist/components/ui/input.d.ts.map +1 -0
  139. package/dist/components/ui/input.js +41 -0
  140. package/dist/components/ui/label.d.ts +5 -0
  141. package/dist/components/ui/label.d.ts.map +1 -0
  142. package/dist/components/ui/label.js +42 -0
  143. package/dist/components/ui/switch.d.ts +5 -0
  144. package/dist/components/ui/switch.d.ts.map +1 -0
  145. package/dist/components/ui/switch.js +44 -0
  146. package/dist/components/ui/tabs.d.ts +8 -0
  147. package/dist/components/ui/tabs.d.ts.map +1 -0
  148. package/dist/components/ui/tabs.js +54 -0
  149. package/dist/components/ui/toggle-group.d.ts +8 -0
  150. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  151. package/dist/components/ui/toggle-group.js +57 -0
  152. package/dist/components/ui/toggle.d.ts +10 -0
  153. package/dist/components/ui/toggle.d.ts.map +1 -0
  154. package/dist/components/ui/toggle.js +62 -0
  155. package/dist/hooks/useCollaborativeIxoEditor.d.ts +571 -0
  156. package/dist/hooks/useCollaborativeIxoEditor.d.ts.map +1 -0
  157. package/dist/hooks/useCollaborativeIxoEditor.js +127 -0
  158. package/dist/hooks/useCreateIxoEditor.d.ts +568 -0
  159. package/dist/hooks/useCreateIxoEditor.d.ts.map +1 -0
  160. package/dist/hooks/useCreateIxoEditor.js +62 -0
  161. package/dist/hooks/useMatrixProvider.d.ts +13 -0
  162. package/dist/hooks/useMatrixProvider.d.ts.map +1 -0
  163. package/dist/hooks/useMatrixProvider.js +147 -0
  164. package/dist/index.d.ts +12 -0
  165. package/dist/index.d.ts.map +1 -0
  166. package/dist/index.js +24 -0
  167. package/dist/lib/graphql-client.d.ts +27 -0
  168. package/dist/lib/graphql-client.d.ts.map +1 -0
  169. package/dist/lib/graphql-client.js +36 -0
  170. package/dist/lib/graphql-queries.d.ts +31 -0
  171. package/dist/lib/graphql-queries.d.ts.map +1 -0
  172. package/dist/lib/graphql-queries.js +40 -0
  173. package/dist/lib/utils/getMediaTypeIcon.d.ts +20 -0
  174. package/dist/lib/utils/getMediaTypeIcon.d.ts.map +1 -0
  175. package/dist/lib/utils/getMediaTypeIcon.js +96 -0
  176. package/dist/lib/utils/index.d.ts +4 -0
  177. package/dist/lib/utils/index.d.ts.map +1 -0
  178. package/dist/lib/utils/index.js +12 -0
  179. package/dist/lib/utils.d.ts +3 -0
  180. package/dist/lib/utils.d.ts.map +1 -0
  181. package/dist/lib/utils.js +8 -0
  182. package/dist/types/Domain.d.ts +18 -0
  183. package/dist/types/Domain.d.ts.map +1 -0
  184. package/dist/types/Domain.js +2 -0
  185. package/dist/types/index.d.ts +77 -0
  186. package/dist/types/index.d.ts.map +1 -0
  187. package/dist/types/index.js +2 -0
  188. package/package.json +81 -0
  189. package/style.css +246 -0
  190. package/style.css.d.ts +5 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OverviewGeneralTab = OverviewGeneralTab;
37
+ const react_1 = __importStar(require("react"));
38
+ const input_1 = require("../../components/ui/input");
39
+ const label_1 = require("../../components/ui/label");
40
+ const tabs_1 = require("../../components/ui/tabs");
41
+ const lucide_react_1 = require("lucide-react");
42
+ const DomainPreview_1 = require("../../components/SettingsModal/DomainPreview");
43
+ function OverviewGeneralTab({ block: _block, editor: _editor, domainValue, onDomainChange, domainProfile, }) {
44
+ const [domainType, setDomainType] = (0, react_1.useState)("this-domain");
45
+ const [isValidDomain, setIsValidDomain] = (0, react_1.useState)(true);
46
+ const [isLoading, setIsLoading] = (0, react_1.useState)(false);
47
+ const [customDomainValue, setCustomDomainValue] = (0, react_1.useState)("");
48
+ // Known domain value for "this-domain" tab
49
+ const thisDomainValue = "did:ixo:entity:example123";
50
+ // Synchronize local state with parent domainValue when component mounts or domainValue changes
51
+ (0, react_1.useEffect)(() => {
52
+ if (domainValue) {
53
+ if (domainValue === thisDomainValue) {
54
+ setDomainType("this-domain");
55
+ setIsValidDomain(true);
56
+ }
57
+ else {
58
+ setDomainType("custom-domain");
59
+ setCustomDomainValue(domainValue);
60
+ setIsValidDomain(true);
61
+ }
62
+ }
63
+ else {
64
+ // Reset to default if no domain value
65
+ setDomainType("this-domain");
66
+ setCustomDomainValue("");
67
+ setIsValidDomain(true);
68
+ }
69
+ }, [domainValue, thisDomainValue]);
70
+ const handleCustomDomainChange = async (did) => {
71
+ setCustomDomainValue(did);
72
+ if (!did) {
73
+ setIsValidDomain(false);
74
+ return;
75
+ }
76
+ // Basic validation for DID format
77
+ const isValid = did.startsWith("did:") && did.length > 10;
78
+ if (isValid) {
79
+ setIsLoading(true);
80
+ try {
81
+ // Simulate async fetch request
82
+ await new Promise((resolve) => setTimeout(resolve, 1000));
83
+ setIsValidDomain(true);
84
+ onDomainChange(did);
85
+ }
86
+ catch (error) {
87
+ setIsValidDomain(false);
88
+ }
89
+ finally {
90
+ setIsLoading(false);
91
+ }
92
+ }
93
+ else {
94
+ setIsValidDomain(false);
95
+ }
96
+ };
97
+ const handleTabChange = (value) => {
98
+ setDomainType(value);
99
+ if (value === "this-domain") {
100
+ // Use known domain value
101
+ setIsValidDomain(true);
102
+ onDomainChange(thisDomainValue);
103
+ }
104
+ else {
105
+ // Reset for custom domain
106
+ setIsValidDomain(false);
107
+ onDomainChange("");
108
+ }
109
+ };
110
+ return (react_1.default.createElement("div", { className: "space-y-6" },
111
+ react_1.default.createElement("div", null,
112
+ react_1.default.createElement("h2", { className: "text-2xl font-semibold" }, "Overview"),
113
+ react_1.default.createElement("p", { className: "text-muted-foreground mt-1" }, "Add a domain overview to your page")),
114
+ react_1.default.createElement(tabs_1.Tabs, { defaultValue: "this-domain", value: domainType, onValueChange: handleTabChange },
115
+ react_1.default.createElement(tabs_1.TabsList, { className: "px-1" },
116
+ react_1.default.createElement(tabs_1.TabsTrigger, { value: "this-domain" }, "This domain"),
117
+ react_1.default.createElement(tabs_1.TabsTrigger, { value: "custom-domain" }, "Custom domain")),
118
+ react_1.default.createElement(tabs_1.TabsContent, { value: "this-domain", className: "space-y-4" },
119
+ react_1.default.createElement("div", { className: "space-y-2" },
120
+ react_1.default.createElement(label_1.Label, { htmlFor: "this-domain-input" }, "Domain"),
121
+ react_1.default.createElement("div", { className: "relative" },
122
+ react_1.default.createElement(input_1.Input, { id: "this-domain-input", value: thisDomainValue, disabled: true, className: "pr-10", placeholder: "Enter domain DID" }),
123
+ isValidDomain && (react_1.default.createElement(lucide_react_1.CheckIcon, { className: "absolute right-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-green-500" })))),
124
+ react_1.default.createElement(DomainPreview_1.DomainPreview, { domainProfile: domainProfile })),
125
+ react_1.default.createElement(tabs_1.TabsContent, { value: "custom-domain", className: "space-y-4" },
126
+ react_1.default.createElement("div", { className: "space-y-2" },
127
+ react_1.default.createElement(label_1.Label, { htmlFor: "custom-domain-input" }, "Domain"),
128
+ react_1.default.createElement("div", { className: "relative" },
129
+ react_1.default.createElement(input_1.Input, { id: "custom-domain-input", value: customDomainValue, onChange: (e) => handleCustomDomainChange(e.target.value), className: "pr-10", placeholder: "Enter domain DID", disabled: isLoading }),
130
+ isLoading ? (react_1.default.createElement("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2" },
131
+ react_1.default.createElement("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-gray-900" }))) : (isValidDomain &&
132
+ customDomainValue && (react_1.default.createElement(lucide_react_1.CheckIcon, { className: "absolute right-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-green-500" }))))),
133
+ isValidDomain && customDomainValue && !isLoading && (react_1.default.createElement(DomainPreview_1.DomainPreview, { domainProfile: domainProfile }))))));
134
+ }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Block } from "@blocknote/core";
3
+ interface OverviewPreviewTabProps {
4
+ blocks: Block[] | null;
5
+ loading?: boolean;
6
+ error?: string | null;
7
+ }
8
+ export default function OverviewPreviewTab({ blocks, loading, error, }: OverviewPreviewTabProps): React.JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=OverviewPreviewTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverviewPreviewTab.d.ts","sourceRoot":"","sources":["../../../src/blocks/overview/OverviewPreviewTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,UAAU,uBAAuB;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,MAAM,EACN,OAAe,EACf,KAAY,GACb,EAAE,uBAAuB,qBAgCzB"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = OverviewPreviewTab;
7
+ const react_1 = __importDefault(require("react"));
8
+ const shadcn_1 = require("@blocknote/shadcn");
9
+ const react_2 = require("@blocknote/react");
10
+ function OverviewPreviewTab({ blocks, loading = false, error = null, }) {
11
+ const editor = (0, react_2.useCreateBlockNote)({
12
+ ...(blocks ? { initialContent: blocks } : {}),
13
+ });
14
+ console.log({ blocks });
15
+ if (loading) {
16
+ return (react_1.default.createElement("div", { className: "flex items-center justify-center p-8" },
17
+ react_1.default.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900" })));
18
+ }
19
+ if (error) {
20
+ return (react_1.default.createElement("div", { className: "flex items-center justify-center p-8 text-red-500" },
21
+ react_1.default.createElement("p", null,
22
+ "Error loading preview: ",
23
+ error)));
24
+ }
25
+ if (blocks === null) {
26
+ return (react_1.default.createElement("div", { className: "flex items-center justify-center p-8 text-gray-500" },
27
+ react_1.default.createElement("p", null, "No content available")));
28
+ }
29
+ return react_1.default.createElement(shadcn_1.BlockNoteView, { editor: editor, editable: false });
30
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function OverviewSettings({ block, editor }: any): React.JSX.Element;
3
+ //# sourceMappingURL=OverviewSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverviewSettings.d.ts","sourceRoot":"","sources":["../../../src/blocks/overview/OverviewSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,qBA+GtD"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.OverviewSettings = OverviewSettings;
40
+ const react_1 = __importStar(require("react"));
41
+ const SettingsModal_1 = require("../../components/SettingsModal/SettingsModal");
42
+ const OverviewGeneralTab_1 = require("./OverviewGeneralTab");
43
+ const OverviewPreviewTab_1 = __importDefault(require("./OverviewPreviewTab"));
44
+ const graphql_queries_1 = require("../../lib/graphql-queries");
45
+ function OverviewSettings({ block, editor }) {
46
+ const [domainValue, setDomainValue] = (0, react_1.useState)(block.props.did);
47
+ const [pageBlocks, setPageBlocks] = (0, react_1.useState)(block.props.blocks || null);
48
+ const [loading, setLoading] = (0, react_1.useState)(false);
49
+ const [error, setError] = (0, react_1.useState)(null);
50
+ const [domainProfile, setDomainProfile] = (0, react_1.useState)(null);
51
+ const [modalOpen, setModalOpen] = (0, react_1.useState)(false);
52
+ (0, react_1.useEffect)(() => {
53
+ if (!domainValue) {
54
+ setPageBlocks(block.props.blocks || null);
55
+ return;
56
+ }
57
+ setLoading(true);
58
+ setError(null);
59
+ const fetchPageBlocks = async () => {
60
+ try {
61
+ const entity = await (0, graphql_queries_1.getEntity)(domainValue);
62
+ // Get the Page setting like in useOverview.tsx
63
+ const overviewResource = entity.settings.Page;
64
+ const profileResource = entity.settings.Profile;
65
+ if (overviewResource?.serviceEndpoint) {
66
+ const fetchedPageBlocks = await fetch(overviewResource.serviceEndpoint).then((res) => res.json());
67
+ console.log({ fetchedPageBlocks });
68
+ setPageBlocks(fetchedPageBlocks.blocks || block.props.blocks || null);
69
+ }
70
+ else {
71
+ setPageBlocks(block.props.blocks || null);
72
+ }
73
+ if (profileResource?.serviceEndpoint) {
74
+ const fetchedProfile = await fetch(profileResource.serviceEndpoint).then((res) => res.json());
75
+ setDomainProfile(fetchedProfile);
76
+ }
77
+ setLoading(false);
78
+ }
79
+ catch (err) {
80
+ setError(err instanceof Error ? err.message : "Failed to fetch page blocks");
81
+ setPageBlocks(block.props.blocks || null);
82
+ setLoading(false);
83
+ }
84
+ };
85
+ fetchPageBlocks();
86
+ }, [domainValue, block.props.blocks]);
87
+ const handleDidChange = (did) => {
88
+ setDomainValue(did);
89
+ };
90
+ const handleAddToPage = () => {
91
+ // Handle add to page logic here
92
+ editor.updateBlock(block.id, {
93
+ props: {
94
+ did: domainValue,
95
+ },
96
+ children: pageBlocks,
97
+ });
98
+ console.log("Adding to page with DID:", domainValue);
99
+ // Close the modal after updating blocks
100
+ setModalOpen(false);
101
+ };
102
+ return (react_1.default.createElement(SettingsModal_1.SettingsModal, { onAddToPage: handleAddToPage, loading: loading, open: modalOpen, onOpenChange: setModalOpen, tabs: [
103
+ {
104
+ id: "general",
105
+ label: "General",
106
+ content: (react_1.default.createElement(OverviewGeneralTab_1.OverviewGeneralTab, { block: block, editor: editor, domainValue: domainValue, onDomainChange: handleDidChange, domainProfile: domainProfile })),
107
+ },
108
+ {
109
+ id: "preview",
110
+ label: "Preview",
111
+ content: (react_1.default.createElement(OverviewPreviewTab_1.default, { blocks: pageBlocks ?? null, loading: loading, error: error })),
112
+ },
113
+ ] }));
114
+ }
@@ -0,0 +1,3 @@
1
+ export { OverviewBlock } from './OverviewBlock';
2
+ export type { OverviewBlockSettings, OverviewBlockProps } from './OverviewBlock';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/overview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OverviewBlock = void 0;
4
+ var OverviewBlock_1 = require("./OverviewBlock");
5
+ Object.defineProperty(exports, "OverviewBlock", { enumerable: true, get: function () { return OverviewBlock_1.OverviewBlock; } });
@@ -0,0 +1,11 @@
1
+ interface UseOverviewProps {
2
+ did: string;
3
+ }
4
+ export default function useOverview({ did }: UseOverviewProps): {
5
+ resource: any;
6
+ loading: boolean;
7
+ error: string | null;
8
+ refetch: () => void;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=useOverview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverview.d.ts","sourceRoot":"","sources":["../../../src/blocks/overview/useOverview.tsx"],"names":[],"mappings":"AAGA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,gBAAgB;;;;;EAwE5D"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = useOverview;
4
+ const graphql_queries_1 = require("../../lib/graphql-queries");
5
+ const react_1 = require("react");
6
+ function useOverview({ did }) {
7
+ const [resource, setResource] = (0, react_1.useState)(null);
8
+ const [loading, setLoading] = (0, react_1.useState)(false);
9
+ const [error, setError] = (0, react_1.useState)(null);
10
+ (0, react_1.useEffect)(() => {
11
+ if (!did) {
12
+ setResource(null);
13
+ return;
14
+ }
15
+ setLoading(true);
16
+ setError(null);
17
+ const fetchEntity = async () => {
18
+ try {
19
+ const entity = await (0, graphql_queries_1.getEntity)(did);
20
+ console.log({ entity });
21
+ // Find the resource with id = {id}#pag from linkedResource array
22
+ const overviewResource = entity.settings.Page;
23
+ const pageBlocks = await fetch(overviewResource.serviceEndpoint).then((res) => res.json());
24
+ setResource(pageBlocks || null);
25
+ setLoading(false);
26
+ }
27
+ catch (err) {
28
+ setError(err instanceof Error ? err.message : "Failed to fetch entity");
29
+ setLoading(false);
30
+ }
31
+ };
32
+ fetchEntity();
33
+ }, [did]);
34
+ const refetch = () => {
35
+ if (did) {
36
+ setLoading(true);
37
+ setError(null);
38
+ const fetchEntity = async () => {
39
+ try {
40
+ const entity = await (0, graphql_queries_1.getEntity)(did);
41
+ console.log({ entity });
42
+ // Find the resource with id = {id}#pag from linkedResource array
43
+ const overviewResource = entity.linkedResource?.find((resource) => resource.id === `{id}#pag`);
44
+ setResource(overviewResource || null);
45
+ setLoading(false);
46
+ }
47
+ catch (err) {
48
+ setError(err instanceof Error ? err.message : "Failed to fetch entity");
49
+ setLoading(false);
50
+ }
51
+ };
52
+ fetchEntity();
53
+ }
54
+ };
55
+ return {
56
+ resource,
57
+ loading,
58
+ error,
59
+ refetch,
60
+ };
61
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface GlobeIconProps {
3
+ size?: number;
4
+ className?: string;
5
+ color?: "primary" | "secondary" | "accent";
6
+ }
7
+ export default function GlobeIcon({ size, className, color, }: GlobeIconProps): React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=GlobeIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobeIcon.d.ts","sourceRoot":"","sources":["../../src/components/GlobeIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAS,EACT,SAAc,EACd,KAAmB,GACpB,EAAE,cAAc,qBA4BhB"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = GlobeIcon;
7
+ const react_1 = __importDefault(require("react"));
8
+ function GlobeIcon({ size = 16, className = "", color = "secondary", }) {
9
+ const colors = {
10
+ primary: "#2F2F2F",
11
+ secondary: "#9B9B9B",
12
+ accent: "#1976D2",
13
+ };
14
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: colors[color], strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: `transition-colors duration-200 hover:stroke-[#1976D2] ${className}`, style: {
15
+ cursor: "pointer",
16
+ } },
17
+ react_1.default.createElement("circle", { cx: "12", cy: "12", r: "10" }),
18
+ react_1.default.createElement("path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" }),
19
+ react_1.default.createElement("path", { d: "M2 12h20" })));
20
+ }
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import type { BlockNoteEditor } from "@blocknote/core";
3
+ export interface IxoEditorProps {
4
+ editor: BlockNoteEditor<any, any, any> | undefined;
5
+ className?: string;
6
+ onChange?: () => void;
7
+ onSelectionChange?: () => void;
8
+ children?: React.ReactNode;
9
+ }
10
+ /**
11
+ * IxoEditor component - A customized BlockNote editor for IXO
12
+ */
13
+ export declare function IxoEditor({ editor, className, onChange, onSelectionChange, children, }: IxoEditorProps): React.JSX.Element | null;
14
+ //# sourceMappingURL=IxoEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IxoEditor.d.ts","sourceRoot":"","sources":["../../src/components/IxoEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,SAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,QAAQ,GACT,EAAE,cAAc,4BAsDhB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IxoEditor = IxoEditor;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_2 = require("@blocknote/react");
9
+ const shadcn_1 = require("@blocknote/shadcn");
10
+ const core_1 = require("@blocknote/core");
11
+ const blocks_1 = require("../blocks");
12
+ /**
13
+ * IxoEditor component - A customized BlockNote editor for IXO
14
+ */
15
+ function IxoEditor({ editor, className = "", onChange, onSelectionChange, children, }) {
16
+ if (!editor) {
17
+ return null;
18
+ }
19
+ // Get IXO configuration from editor
20
+ const config = editor._ixoConfig || {
21
+ theme: "light",
22
+ editable: true,
23
+ sideMenu: true,
24
+ slashMenu: true,
25
+ formattingToolbar: true,
26
+ linkToolbar: true,
27
+ filePanel: true,
28
+ tableHandles: true,
29
+ };
30
+ return (react_1.default.createElement("div", { className: `ixo-editor ixo-editor--theme-${config.theme} ${className}` },
31
+ react_1.default.createElement(shadcn_1.BlockNoteView, { editor: editor, editable: config.editable, sideMenu: config.sideMenu, slashMenu: false, formattingToolbar: config.formattingToolbar, linkToolbar: config.linkToolbar, filePanel: config.filePanel, tableHandles: config.tableHandles, theme: config.theme, onChange: onChange, onSelectionChange: onSelectionChange },
32
+ config.slashMenu && (react_1.default.createElement(react_2.SuggestionMenuController, { triggerCharacter: "/", getItems: async (query) => {
33
+ // Get default slash menu items for the current editor
34
+ const defaultItems = (0, react_2.getDefaultReactSlashMenuItems)(editor);
35
+ // Add our custom items
36
+ const customItems = (0, blocks_1.getExtraSlashMenuItems)(editor);
37
+ // Combine and filter based on query
38
+ return (0, core_1.filterSuggestionItems)([...defaultItems, ...customItems], query);
39
+ } })),
40
+ children)));
41
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface PenIconProps {
3
+ size?: number;
4
+ className?: string;
5
+ color?: "primary" | "secondary" | "accent";
6
+ }
7
+ export default function PenIcon({ size, className, color, }: PenIconProps): React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=PenIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PenIcon.d.ts","sourceRoot":"","sources":["../../src/components/PenIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAS,EACT,SAAc,EACd,KAAmB,GACpB,EAAE,YAAY,qBA4Bd"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = PenIcon;
7
+ const react_1 = __importDefault(require("react"));
8
+ function PenIcon({ size = 16, className = "", color = "secondary", }) {
9
+ const colors = {
10
+ primary: "#2F2F2F",
11
+ secondary: "#9B9B9B",
12
+ accent: "#1976D2",
13
+ };
14
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: colors[color], strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: `transition-colors duration-200 hover:stroke-[#1976D2] ${className}`, style: {
15
+ cursor: "pointer",
16
+ } },
17
+ react_1.default.createElement("path", { d: "M13 21h8" }),
18
+ react_1.default.createElement("path", { d: "m15 5 4 4" }),
19
+ react_1.default.createElement("path", { d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" })));
20
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface SettingsIconProps {
3
+ className?: string;
4
+ size?: number;
5
+ color?: "primary" | "secondary" | "accent";
6
+ }
7
+ export default function SettingsIcon({ className, size, color, }: SettingsIconProps): React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=SettingsIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsIcon.d.ts","sourceRoot":"","sources":["../../src/components/SettingsIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAc,EACd,IAAS,EACT,KAAmB,GACpB,EAAE,iBAAiB,qBA6BnB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = SettingsIcon;
7
+ const react_1 = __importDefault(require("react"));
8
+ function SettingsIcon({ className = "", size = 16, color = "secondary", }) {
9
+ const colorMap = {
10
+ primary: "#2F2F2F",
11
+ secondary: "#9B9B9B",
12
+ accent: "#1976D2",
13
+ };
14
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: colorMap[color], strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: `settings-icon ${className}`, style: {
15
+ transition: "stroke 0.15s ease-in-out",
16
+ } },
17
+ react_1.default.createElement("path", { d: "M14 17H5" }),
18
+ react_1.default.createElement("path", { d: "M19 7h-9" }),
19
+ react_1.default.createElement("circle", { cx: "17", cy: "17", r: "3" }),
20
+ react_1.default.createElement("circle", { cx: "7", cy: "7", r: "3" })));
21
+ }
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface AdvancedTabProps {
3
+ block: any;
4
+ editor: any;
5
+ }
6
+ export declare function AdvancedTab({ block: _block, editor: _editor, }: AdvancedTabProps): React.JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=AdvancedTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedTab.d.ts","sourceRoot":"","sources":["../../../src/components/SettingsModal/AdvancedTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,gBAAgB;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;CACb;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GAChB,EAAE,gBAAgB,qBAYlB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AdvancedTab = AdvancedTab;
7
+ const react_1 = __importDefault(require("react"));
8
+ function AdvancedTab({ block: _block, editor: _editor, }) {
9
+ return (react_1.default.createElement("div", { className: "space-y-6" },
10
+ react_1.default.createElement("div", null,
11
+ react_1.default.createElement("h2", { className: "text-2xl font-semibold" }, "Advanced"),
12
+ react_1.default.createElement("p", { className: "text-muted-foreground mt-1" }, "Advanced configuration options")),
13
+ react_1.default.createElement("p", { className: "text-muted-foreground" }, "Advanced settings coming soon...")));
14
+ }
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface DomainPreviewProps {
3
+ domainProfile: any;
4
+ }
5
+ export declare function DomainPreview({ domainProfile }: DomainPreviewProps): React.JSX.Element | null;
6
+ export {};
7
+ //# sourceMappingURL=DomainPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainPreview.d.ts","sourceRoot":"","sources":["../../../src/components/SettingsModal/DomainPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,aAAa,EAAE,GAAG,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,aAAa,EAAE,EAAE,kBAAkB,4BA6BlE"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DomainPreview = DomainPreview;
7
+ const react_1 = __importDefault(require("react"));
8
+ const card_1 = require("../ui/card");
9
+ function DomainPreview({ domainProfile }) {
10
+ if (!domainProfile) {
11
+ return null;
12
+ }
13
+ return (react_1.default.createElement(card_1.Card, { className: "border-0 shadow-sm rounded-xl" },
14
+ react_1.default.createElement(card_1.CardContent, { className: "p-4" },
15
+ react_1.default.createElement("div", { className: "flex items-start space-x-4" },
16
+ react_1.default.createElement("div", { className: "w-16 h-16 bg-muted rounded-lg flex items-center justify-center shrink-0" },
17
+ react_1.default.createElement("img", { src: domainProfile.image ??
18
+ "https://studio.ixo.earth/domain-profile-default.jpg", alt: domainProfile.name, className: "w-full h-full object-cover rounded-lg border-2 border-gray-200" })),
19
+ react_1.default.createElement("div", { className: "flex-1 min-w-0" },
20
+ react_1.default.createElement("h3", { className: "font-semibold text-lg" }, domainProfile.name),
21
+ react_1.default.createElement("p", { className: "text-muted-foreground text-sm" }, domainProfile.description))))));
22
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function FeatureASettings({ block, editor }: any): React.JSX.Element;
3
+ //# sourceMappingURL=FeatureASettings.d.ts.map