@alpaca-headless/alpaca-headless-nextjs 1.0.21 → 1.0.26

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 (106) hide show
  1. package/dist/cjs/components/Error.js +15 -0
  2. package/dist/cjs/components/Link.js +5 -0
  3. package/dist/cjs/components/Picture.js +3 -0
  4. package/dist/cjs/components/PictureEditor.js +4 -1
  5. package/dist/cjs/components/Placeholder.js +9 -2
  6. package/dist/cjs/components/RichText.js +4 -1
  7. package/dist/cjs/components/RichTextEditor.js +1 -4
  8. package/dist/cjs/components/Text.js +3 -2
  9. package/dist/cjs/components/TextEditor.js +1 -4
  10. package/dist/cjs/editor/AiTerminal.js +1 -1
  11. package/dist/cjs/editor/ComponentPalette.js +20 -19
  12. package/dist/cjs/editor/EditorClient.js +32 -8
  13. package/dist/cjs/editor/FieldList.js +10 -5
  14. package/dist/cjs/editor/GraphQL.js +1 -2
  15. package/dist/cjs/editor/MediaSelector.js +2 -2
  16. package/dist/editor.css +18 -9
  17. package/dist/esm/components/Error.js +10 -0
  18. package/dist/esm/components/Link.js +5 -0
  19. package/dist/esm/components/Picture.js +3 -0
  20. package/dist/esm/components/PictureEditor.js +4 -1
  21. package/dist/esm/components/Placeholder.js +9 -2
  22. package/dist/esm/components/RichText.js +4 -1
  23. package/dist/esm/components/RichTextEditor.js +1 -4
  24. package/dist/esm/components/Text.js +3 -2
  25. package/dist/esm/components/TextEditor.js +1 -4
  26. package/dist/esm/editor/AiTerminal.js +1 -1
  27. package/dist/esm/editor/ComponentPalette.js +21 -20
  28. package/dist/esm/editor/EditorClient.js +32 -8
  29. package/dist/esm/editor/FieldList.js +10 -5
  30. package/dist/esm/editor/GraphQL.js +1 -2
  31. package/dist/esm/editor/MediaSelector.js +2 -2
  32. package/dist/primereact/resources/primereact.css +3 -6301
  33. package/dist/primereact/resources/primereact.min.css +3 -1
  34. package/dist/primereact/resources/themes/arya-blue/theme.css +5554 -5814
  35. package/dist/primereact/resources/themes/arya-green/theme.css +5554 -5814
  36. package/dist/primereact/resources/themes/arya-orange/theme.css +5554 -5814
  37. package/dist/primereact/resources/themes/arya-purple/theme.css +5554 -5814
  38. package/dist/primereact/resources/themes/bootstrap4-dark-blue/theme.css +5555 -5816
  39. package/dist/primereact/resources/themes/bootstrap4-dark-purple/theme.css +5555 -5816
  40. package/dist/primereact/resources/themes/bootstrap4-light-blue/theme.css +5539 -5800
  41. package/dist/primereact/resources/themes/bootstrap4-light-purple/theme.css +5539 -5800
  42. package/dist/primereact/resources/themes/fluent-light/theme.css +5662 -5922
  43. package/dist/primereact/resources/themes/lara-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
  44. package/dist/primereact/resources/themes/lara-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
  45. package/dist/primereact/resources/themes/lara-dark-blue/theme.css +5568 -5809
  46. package/dist/primereact/resources/themes/lara-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
  47. package/dist/primereact/resources/themes/lara-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
  48. package/dist/primereact/resources/themes/lara-dark-indigo/theme.css +5572 -5813
  49. package/dist/primereact/resources/themes/lara-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
  50. package/dist/primereact/resources/themes/lara-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
  51. package/dist/primereact/resources/themes/lara-dark-purple/theme.css +5572 -5813
  52. package/dist/primereact/resources/themes/lara-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
  53. package/dist/primereact/resources/themes/lara-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
  54. package/dist/primereact/resources/themes/lara-dark-teal/theme.css +5572 -5813
  55. package/dist/primereact/resources/themes/lara-light-blue/fonts/Inter-italic.var.woff2 +0 -0
  56. package/dist/primereact/resources/themes/lara-light-blue/fonts/Inter-roman.var.woff2 +0 -0
  57. package/dist/primereact/resources/themes/lara-light-blue/theme.css +5567 -5808
  58. package/dist/primereact/resources/themes/lara-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
  59. package/dist/primereact/resources/themes/lara-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
  60. package/dist/primereact/resources/themes/lara-light-indigo/theme.css +5562 -5803
  61. package/dist/primereact/resources/themes/lara-light-purple/fonts/Inter-italic.var.woff2 +0 -0
  62. package/dist/primereact/resources/themes/lara-light-purple/fonts/Inter-roman.var.woff2 +0 -0
  63. package/dist/primereact/resources/themes/lara-light-purple/theme.css +5562 -5803
  64. package/dist/primereact/resources/themes/lara-light-teal/fonts/Inter-italic.var.woff2 +0 -0
  65. package/dist/primereact/resources/themes/lara-light-teal/fonts/Inter-roman.var.woff2 +0 -0
  66. package/dist/primereact/resources/themes/lara-light-teal/theme.css +5562 -5803
  67. package/dist/primereact/resources/themes/luna-amber/theme.css +5508 -5770
  68. package/dist/primereact/resources/themes/luna-blue/theme.css +5508 -5770
  69. package/dist/primereact/resources/themes/luna-green/theme.css +5508 -5770
  70. package/dist/primereact/resources/themes/luna-pink/theme.css +5508 -5770
  71. package/dist/primereact/resources/themes/md-dark-deeppurple/theme.css +6906 -7209
  72. package/dist/primereact/resources/themes/md-dark-indigo/theme.css +6905 -7208
  73. package/dist/primereact/resources/themes/md-light-deeppurple/theme.css +6905 -7208
  74. package/dist/primereact/resources/themes/md-light-indigo/theme.css +6905 -7208
  75. package/dist/primereact/resources/themes/mdc-dark-deeppurple/theme.css +6907 -7210
  76. package/dist/primereact/resources/themes/mdc-dark-indigo/theme.css +6904 -7207
  77. package/dist/primereact/resources/themes/mdc-light-deeppurple/theme.css +6905 -7208
  78. package/dist/primereact/resources/themes/mdc-light-indigo/theme.css +6905 -7208
  79. package/dist/primereact/resources/themes/mira/theme.css +5723 -5979
  80. package/dist/primereact/resources/themes/nano/theme.css +5544 -5805
  81. package/dist/primereact/resources/themes/nova/theme.css +5497 -5758
  82. package/dist/primereact/resources/themes/nova-accent/theme.css +5529 -5790
  83. package/dist/primereact/resources/themes/nova-alt/theme.css +5514 -5775
  84. package/dist/primereact/resources/themes/rhea/theme.css +5526 -5787
  85. package/dist/primereact/resources/themes/saga-blue/theme.css +5554 -5814
  86. package/dist/primereact/resources/themes/saga-green/theme.css +5554 -5814
  87. package/dist/primereact/resources/themes/saga-orange/theme.css +5554 -5814
  88. package/dist/primereact/resources/themes/saga-purple/theme.css +5559 -5819
  89. package/dist/primereact/resources/themes/soho-dark/theme.css +5513 -5770
  90. package/dist/primereact/resources/themes/soho-light/theme.css +5565 -5822
  91. package/dist/primereact/resources/themes/tailwind-light/theme.css +5613 -5868
  92. package/dist/primereact/resources/themes/vela-blue/theme.css +5556 -5816
  93. package/dist/primereact/resources/themes/vela-green/theme.css +5556 -5816
  94. package/dist/primereact/resources/themes/vela-orange/theme.css +5556 -5816
  95. package/dist/primereact/resources/themes/vela-purple/theme.css +5556 -5816
  96. package/dist/primereact/resources/themes/viva-dark/theme.css +5669 -5925
  97. package/dist/primereact/resources/themes/viva-light/theme.css +5668 -5924
  98. package/package.json +3 -2
  99. package/types/components/Error.d.ts +2 -0
  100. package/types/components/RichTextEditor.d.ts +1 -1
  101. package/types/components/TextEditor.d.ts +1 -1
  102. package/types/editor/AiTerminal.d.ts +1 -1
  103. package/types/editor/editContext.d.ts +2 -0
  104. package/types/layoutData.d.ts +1 -0
  105. package/dist/primereact/resources/images/color.png +0 -0
  106. package/dist/primereact/resources/images/hue.png +0 -0
@@ -1,4 +1,5 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TabPanel, TabView } from "primereact/tabview";
2
3
  import { useEditContext } from "..";
3
4
  import ContentTree from "./ContentTree";
4
5
  export function ComponentPalette({ selection, page, dragStart, dragEnd, }) {
@@ -28,25 +29,25 @@ export function ComponentPalette({ selection, page, dragStart, dragEnd, }) {
28
29
  // editContext!.droppedInPlaceholder(key, parseInt(index));
29
30
  // }
30
31
  // }
31
- return (_jsxs(_Fragment, { children: [_jsx("h2", { className: "a-text-xl a-font-bold a-mb-8", children: "New" }), _jsx("div", { className: "a-grid a-grid-cols-4 a-gap-1", children: insertOptions.map((option) => {
32
- function handleDragStart(event) {
33
- dragStart({ type: "template", templateId: option.id });
34
- event.stopPropagation();
35
- }
36
- function handleDragEnd() {
37
- dragEnd();
38
- }
39
- return (_jsxs("div", {
40
- // onClick={directInsert}
41
- draggable: true, onDragStart: handleDragStart, onDragEnd: handleDragEnd, className: "a-p-3 a-shadow-md a-flex a-items-center a-flex-col a-gap-1 a-cursor-grab", children: [_jsx("img", { src: option.icon, width: "32", height: "32" }), option.name] }, option.id));
42
- }) }), _jsx("h2", { className: "a-text-xl a-font-bold a-my-8", children: "Existing" }), _jsx(ContentTree, { rootItemId: "0DE95AE4-41AB-4D01-9EB0-67441B7C2450", dragStart: (itemNode) => {
43
- dragStart({
44
- type: "link-component",
45
- templateId: itemNode.templateId,
46
- componentId: itemNode.id,
47
- });
48
- }, expandIdPath: page.idPath, dragEnd: dragEnd, isDraggable: (x) => x.isComponent &&
49
- (insertOptions === null || insertOptions === void 0 ? void 0 : insertOptions.find((insertOption) => insertOption.id == x.templateId)) != undefined })] }));
32
+ return (_jsxs(TabView, { children: [_jsx(TabPanel, { header: "New", children: _jsx("div", { className: "a-grid a-grid-cols-4 a-gap-1", children: insertOptions.map((option) => {
33
+ function handleDragStart(event) {
34
+ dragStart({ type: "template", templateId: option.id });
35
+ event.stopPropagation();
36
+ }
37
+ function handleDragEnd() {
38
+ dragEnd();
39
+ }
40
+ return (_jsxs("div", {
41
+ // onClick={directInsert}
42
+ draggable: true, onDragStart: handleDragStart, onDragEnd: handleDragEnd, className: "a-p-3 a-shadow-md a-flex a-items-center a-flex-col a-gap-1 a-cursor-grab", children: [_jsx("img", { src: option.icon, width: "32", height: "32" }), option.name] }, option.id));
43
+ }) }) }), _jsx(TabPanel, { header: "Existing", children: _jsx(ContentTree, { rootItemId: "0DE95AE4-41AB-4D01-9EB0-67441B7C2450", dragStart: (itemNode) => {
44
+ dragStart({
45
+ type: "link-component",
46
+ templateId: itemNode.templateId,
47
+ componentId: itemNode.id,
48
+ });
49
+ }, expandIdPath: page.idPath, dragEnd: dragEnd, isDraggable: (x) => x.isComponent &&
50
+ (insertOptions === null || insertOptions === void 0 ? void 0 : insertOptions.find((insertOption) => insertOption.id == x.templateId)) != undefined }) })] }));
50
51
  }
51
52
  function collectInsertOptions(page, placeholderKeys) {
52
53
  const insertOptionsMap = new Map();
@@ -74,6 +74,7 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
74
74
  const searchParams = useSearchParams();
75
75
  const [selection, setSelection] = useState([]);
76
76
  const [selectedForInsertion, setSelectedForInsertion] = useState("");
77
+ const [liveUpdatingFields, setLiveUpdatingFields] = useState([]);
77
78
  const [currentEditOperation, setCurrentEditOperation] = useState();
78
79
  const [dictionary, setDictionary] = useState(dictionaryObject);
79
80
  const [unresolvedDictionaryKeys, setUnresolvedDictionaryKeys] = useState([]);
@@ -141,23 +142,33 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
141
142
  setSelection([result.componentId]);
142
143
  }
143
144
  if (!currentEditOperation.noRefresh)
144
- requestRefresh(currentEditOperation.refreshAfterQuietPeriod);
145
+ requestRefresh(currentEditOperation.refreshAfterQuietPeriod
146
+ ? "waitForQuietPeriod"
147
+ : "delayed");
145
148
  }
146
149
  });
147
150
  sync();
148
151
  }, [currentEditOperation]);
149
- const requestRefresh = (waitForQuietPeriod) => {
150
- console.log("request refresh with " + waitForQuietPeriod);
151
- if (waitForQuietPeriod && refreshTimer) {
152
+ const requestRefresh = (mode) => {
153
+ if (mode === "immediate") {
154
+ console.log("Immediate refresh requested");
155
+ clearTimeout(refreshTimer);
156
+ router.refresh();
157
+ setRefreshCompletedFlag(!refreshCompletedFlag);
158
+ setRefreshTimer(undefined);
159
+ return;
160
+ }
161
+ console.log("request refresh with mode: " + mode);
162
+ if (mode === "waitForQuietPeriod" && refreshTimer) {
152
163
  clearTimeout(refreshTimer);
153
164
  }
154
- if (!refreshTimer || waitForQuietPeriod) {
165
+ if (!refreshTimer || mode === "waitForQuietPeriod") {
155
166
  setRefreshTimer(setTimeout(() => {
156
167
  console.log("refreshing");
157
168
  router.refresh();
158
169
  setRefreshCompletedFlag(!refreshCompletedFlag);
159
170
  setRefreshTimer(undefined);
160
- }, waitForQuietPeriod ? 2000 : 1000));
171
+ }, mode === "waitForQuietPeriod" ? 2000 : 1000));
161
172
  }
162
173
  };
163
174
  const saveAndRefresh = (callback) => __awaiter(this, void 0, void 0, function* () {
@@ -262,6 +273,16 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
262
273
  }
263
274
  });
264
275
  }
276
+ const getLiveField = (field) => {
277
+ const existingField = liveUpdatingFields.find((f) => f.id === field.id &&
278
+ f.language === field.language &&
279
+ f.version === field.version &&
280
+ f.itemId === field.itemId);
281
+ if (existingField)
282
+ return existingField;
283
+ setLiveUpdatingFields([...liveUpdatingFields, field]);
284
+ return field;
285
+ };
265
286
  const selectedComponent = selection.length === 1 && page ? getComponentById(selection[0]) : null;
266
287
  const editField = (field, value, noRefresh = true) => {
267
288
  var _a;
@@ -294,6 +315,7 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
294
315
  op.noRefresh = noRefresh;
295
316
  op.refreshAfterQuietPeriod = !noRefresh;
296
317
  op.value = value;
318
+ getLiveField(field).value = value;
297
319
  function getField(fields, id) {
298
320
  return Object.values(fields).find((f) => f.id === id);
299
321
  }
@@ -343,10 +365,12 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
343
365
  dragObject,
344
366
  dictionary,
345
367
  setDictionary,
368
+ requestRefresh,
346
369
  refreshCompletedFlag,
347
370
  unresolvedDictionaryKeys,
348
371
  setUnresolvedDictionaryKeys,
349
372
  updateContentEditingFields,
373
+ getLiveField,
350
374
  showToast: () => { },
351
375
  removeComponent: (componentId, callback) => {
352
376
  confirmDialog({
@@ -432,7 +456,7 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
432
456
  setCurrentEditOperation(op);
433
457
  setDragObject(undefined);
434
458
  }),
435
- }, children: [_jsx(Toast, { ref: toast }), _jsxs(PrimeReactProvider, { children: [_jsx(ConfirmDialog, {}), _jsx(Sidebar, { style: { width: "40%" }, visible: componentsPaletteVisible, position: "right", onHide: () => setComponentsPaletteVisible(false), pt: {
459
+ }, children: [_jsx(Toast, { ref: toast }), _jsxs(PrimeReactProvider, { children: [_jsx(ConfirmDialog, {}), _jsx(Sidebar, { style: { width: "40%" }, visible: componentsPaletteVisible, position: "right", onHide: () => setComponentsPaletteVisible(false), header: "Insert component", pt: {
436
460
  mask: {
437
461
  onDragOver: () => setHidePalette(true),
438
462
  style: {
@@ -449,5 +473,5 @@ export function EditorClient({ content, dictionaryObject, edit, children, }) {
449
473
  setHidePalette(false);
450
474
  }
451
475
  setSelectedForInsertion("");
452
- } })) }), _jsxs(BlockUI, { blocked: uiBlocked, template: spinner, children: [_jsx(Menubar, { model: menuItems, end: endContent }), _jsxs(Splitter, { children: [_jsx(SplitterPanel, { size: 25, className: "alpaca-overflow-scroll", children: _jsxs(Splitter, { layout: "vertical", children: [_jsx(SplitterPanel, { className: "a-overflow-hidden a-relative", children: _jsx("div", { className: "a-inset-0 a-absolute a-overflow-y-auto", children: _jsx(ComponentTree, { page: page, selection: selection }) }) }), _jsx(SplitterPanel, { className: "alpaca-editor-tabs", children: _jsxs(TabView, { className: "a-inset-0 a-absolute", scrollable: true, children: [selectedComponent && (_jsxs(TabPanel, { header: "Fields", children: [_jsx(ComponentInfo, { component: selectedComponent }), _jsx(FieldList, { fields: selectedComponent.fields })] })), selectedComponent && (_jsx(TabPanel, { header: "GraphQL", style: { height: "100%" }, children: _jsx(GraphQL, { component: selectedComponent }) })), _jsxs(TabPanel, { header: "Page", children: [page && _jsx(PageInfo, { page: page }), page && _jsx(FieldList, { fields: page.fields })] }), _jsx(TabPanel, { header: "Dictionary", children: _jsx(DictionaryEditor, { dictionary: dictionary }) }), _jsx(TabPanel, { header: "Debug", children: _jsx(Debug, { component: selectedComponent, page: page }) })] }) })] }) }), _jsx(SplitterPanel, { size: 55, className: "alpaca-overflow-scroll alpaca-editor-content", children: _jsx("div", { onDragEndCapture: () => setDragObject(undefined), className: "alpaca-editor-container", children: children }) }), _jsx(SplitterPanel, { size: 20, children: _jsxs(Splitter, { layout: "vertical", className: "alpaca-editor", children: [_jsx(SplitterPanel, { className: "overflow-hidden a-relative", children: _jsx(EditHistory, { operations: editData === null || editData === void 0 ? void 0 : editData.operations }) }), _jsx(SplitterPanel, { className: "overflow-hidden a-relative", children: _jsx(AiTerminal, { selection: selection, requestRefresh: requestRefresh }) })] }) })] })] })] })] }));
476
+ } })) }), _jsxs(BlockUI, { blocked: uiBlocked, template: spinner, children: [_jsx(Menubar, { model: menuItems, end: endContent }), _jsxs(Splitter, { children: [_jsx(SplitterPanel, { size: 30, className: "alpaca-overflow-scroll", children: _jsxs(Splitter, { layout: "vertical", children: [_jsx(SplitterPanel, { size: 30, className: "a-overflow-hidden a-relative", children: _jsx("div", { className: "a-inset-0 a-absolute a-overflow-y-auto", children: _jsx(ComponentTree, { page: page, selection: selection }) }) }), _jsx(SplitterPanel, { className: "alpaca-editor-tabs", children: _jsxs(TabView, { className: "a-inset-0 a-absolute", scrollable: true, children: [selectedComponent && (_jsxs(TabPanel, { header: "Fields", children: [_jsx(ComponentInfo, { component: selectedComponent }), _jsx(FieldList, { fields: selectedComponent.fields })] })), selectedComponent && (_jsx(TabPanel, { header: "GraphQL", style: { height: "100%" }, children: _jsx(GraphQL, { component: selectedComponent }) })), _jsxs(TabPanel, { header: "Page", children: [page && _jsx(PageInfo, { page: page }), page && _jsx(FieldList, { fields: page.fields })] }), _jsx(TabPanel, { header: "Dictionary", children: _jsx(DictionaryEditor, { dictionary: dictionary }) }), _jsx(TabPanel, { header: "Debug", children: _jsx(Debug, { component: selectedComponent, page: page }) })] }) })] }) }), _jsx(SplitterPanel, { size: 55, className: "alpaca-overflow-scroll alpaca-editor-content", children: _jsx("div", { onDragEndCapture: () => setDragObject(undefined), className: "alpaca-editor-container", children: children }) }), _jsx(SplitterPanel, { size: 15, children: _jsxs(Splitter, { layout: "vertical", className: "alpaca-editor", children: [_jsx(SplitterPanel, { className: "overflow-hidden a-relative", children: _jsx(EditHistory, { operations: editData === null || editData === void 0 ? void 0 : editData.operations }) }), _jsx(SplitterPanel, { className: "overflow-hidden a-relative", children: _jsx(AiTerminal, { selection: selection, requestRefresh: requestRefresh }) })] }) })] })] })] })] }));
453
477
  }
@@ -1,12 +1,15 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEditContext, } from "..";
3
4
  import { InputText } from "primereact/inputtext";
4
5
  import { Checkbox } from "primereact/checkbox";
5
6
  import { SingleLineText } from "./fieldTypes/SingleLineText";
6
7
  import { RichTextEditor } from "./fieldTypes/RichTextEditor";
7
8
  export function FieldList({ fields }) {
8
- if (!fields)
9
- return;
9
+ const editContext = useEditContext();
10
+ if (!editContext)
11
+ if (!fields)
12
+ return;
10
13
  if (!Array.isArray(fields))
11
14
  fields = Object.values(fields);
12
15
  const sections = fields.reduce((acc, value) => {
@@ -20,10 +23,12 @@ export function FieldList({ fields }) {
20
23
  }, {});
21
24
  const sectionList = Object.values(sections);
22
25
  sectionList.sort((a, b) => b[0].sortOrder - a[0].sortOrder);
23
- return (_jsx("div", { className: "a-p-1", children: Object.keys(sections).map((section) => (_jsxs("div", { children: [_jsx("div", { className: "alpaca-fields-section-headline", children: section }), getSectionFields(sections[section])] }, section))) }));
26
+ return (_jsx("div", { className: "a-p-1", children: Object.keys(sections).map((section) => (_jsxs("div", { children: [_jsx("div", { className: "alpaca-fields-section-headline", children: section }), getSectionFields(sections[section], editContext)] }, section))) }));
24
27
  }
25
- function getSectionFields(fields) {
26
- return fields.map((field) => (_jsxs("div", { children: [_jsx("label", { className: "alpaca-field-label", children: field.name }), !field.containsFallbackValue ? (_jsx("button", { className: "a-text-xs a-p-0 a-m-1", children: "Reset " })) : (_jsx("button", { children: "Fallback" })), _jsx("div", { children: getFieldEditor(field) })] }, field.id)));
28
+ function getSectionFields(fields, editContext) {
29
+ return fields
30
+ .map((field) => editContext.getLiveField(field))
31
+ .map((field) => (_jsxs("div", { children: [_jsx("label", { className: "alpaca-field-label", children: field.name }), !field.containsFallbackValue ? (_jsx("button", { className: "a-text-xs a-p-0 a-m-1", children: "Reset " })) : (_jsx("button", { children: "Fallback" })), _jsx("div", { children: getFieldEditor(field) })] }, field.id)));
27
32
  }
28
33
  function getFieldEditor(field) {
29
34
  switch (field.type) {
@@ -73,11 +73,10 @@ export function GraphQL({ component }) {
73
73
  type: "jsonValue",
74
74
  };
75
75
  const prettyQuery = format(query);
76
- console.log(query);
77
- console.log(prettyQuery);
78
76
  setQuery(prettyQuery);
79
77
  editContext === null || editContext === void 0 ? void 0 : editContext.editField(field, prettyQuery, false);
80
78
  setShowSpinner(true);
79
+ editContext === null || editContext === void 0 ? void 0 : editContext.requestRefresh("immediate");
81
80
  }
82
81
  return (_jsxs(Splitter, { layout: "vertical", style: { height: "100%" }, children: [_jsx(SplitterPanel, { size: 50, className: "a-relative", children: _jsxs("div", { className: "a-absolute a-inset-0 a-flex", children: [_jsx(InputTextarea, { value: query, onChange: (e) => setQuery(e.target.value), className: "a-flex-1", style: { height: "100%" } }), _jsx(Button, { icon: "pi pi-refresh" + (showSpinner ? " pi-spin" : ""), onClick: refresh, disabled: showSpinner })] }) }), _jsx(SplitterPanel, { className: "alpaca-editor-tabs", children: _jsxs(TabView, { className: "a-inset-0 a-absolute", children: [_jsx(TabPanel, { header: "Data", style: { height: "100%" }, className: "a-relative", children: _jsx("div", { className: "a-m-1", children: Object.values(fieldsjsonValues).map((x) => renderItem(x)) }) }), _jsx(TabPanel, { header: "JSON", className: "a-relative", style: { height: "100%" }, children: _jsx("div", { className: "a-inset-0 a-absolute a-overflow-y-auto", children: _jsx(JSONPretty, { data: component.graphql }) }) })] }) })] }));
83
82
  }
@@ -37,7 +37,7 @@ export const MediaSelector = ({ visible, onHide, onMediaSelected, }) => {
37
37
  }
38
38
  });
39
39
  }
40
- return (_jsx(Dialog, { style: { width: "60%" }, visible: visible, onHide: onHide, children: _jsxs("div", { className: "a-flex a-flex-col a-h-full", children: [_jsxs(Splitter, { className: "a-flex-1 a-border-0", children: [_jsx(SplitterPanel, { size: 35, className: "alpaca-overflow-scroll", children: _jsxs(Splitter, { layout: "vertical", children: [_jsx(SplitterPanel, { size: 70, children: _jsx(ContentTree, { rootItemId: "3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1", selectionMode: "single", selectedItemIds: selection, templateIds: ["FE5DD826-48C6-436D-B87A-7C4210C7413B"], expandIdPath: "3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1", onSelectionChange: (selection) => {
40
+ return (_jsx(Dialog, { style: { width: "80%", height: "80%" }, visible: visible, onHide: onHide, children: _jsxs("div", { className: "a-flex a-flex-col a-h-full", children: [_jsxs(Splitter, { className: "a-flex-1 a-border-0", children: [_jsx(SplitterPanel, { size: 35, className: "alpaca-overflow-scroll", children: _jsxs(Splitter, { layout: "vertical", children: [_jsx(SplitterPanel, { size: 70, children: _jsx(ContentTree, { rootItemId: "3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1", selectionMode: "single", selectedItemIds: selection, templateIds: ["FE5DD826-48C6-436D-B87A-7C4210C7413B"], expandIdPath: "3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1", onSelectionChange: (selection) => {
41
41
  if (selection.length)
42
42
  setSelectedFolderId(selection[0]);
43
43
  else
@@ -47,7 +47,7 @@ export const MediaSelector = ({ visible, onHide, onMediaSelected, }) => {
47
47
  onMediaSelected(t.id);
48
48
  onHide();
49
49
  }, onClick: () => setSelectedImage(t), children: [_jsx("img", { src: t.imageUrl }), _jsx("div", { className: "a-text-xs a-break-all", children: t.name })] }));
50
- }) }) })] }), _jsxs("div", { className: "a-flex a-justify-end a-gap-3", children: [_jsx(Button, { onClick: () => onHide(), children: "Cancel" }), _jsx(Button, { disabled: !selectedImage, onClick: () => {
50
+ }) }) })] }), _jsxs("div", { className: "a-flex a-justify-end a-gap-3 a-mt-3", children: [_jsx(Button, { onClick: () => onHide(), children: "Cancel" }), _jsx(Button, { disabled: !selectedImage, onClick: () => {
51
51
  onMediaSelected(selectedImage.id);
52
52
  onHide();
53
53
  }, children: "Select" })] })] }) }));