@juo/blocks 1.12.0-alpha.0 → 1.12.0-alpha.2

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 (114) hide show
  1. package/dist/{ExtensionRoot-9XfhG8YM.js → ExtensionRoot-peABLAZZ.js} +15 -3
  2. package/dist/block-B6s9jL7l.js +966 -0
  3. package/dist/block.d.ts +50 -0
  4. package/dist/block.d.ts.map +1 -1
  5. package/dist/block.devtools.test.d.ts +2 -0
  6. package/dist/block.devtools.test.d.ts.map +1 -0
  7. package/dist/{bridge-w5KQ-czl.js → bridge-r7Yk8fjY.js} +34 -25
  8. package/dist/context.d.ts.map +1 -1
  9. package/dist/context.devtools.test.d.ts +2 -0
  10. package/dist/context.devtools.test.d.ts.map +1 -0
  11. package/dist/core.js +857 -149
  12. package/dist/devtools/env.d.ts +3 -0
  13. package/dist/devtools/env.d.ts.map +1 -0
  14. package/dist/devtools/hook.d.ts +35 -0
  15. package/dist/devtools/hook.d.ts.map +1 -0
  16. package/dist/devtools/index.d.ts +4 -0
  17. package/dist/devtools/index.d.ts.map +1 -0
  18. package/dist/devtools/protocol.d.ts +91 -0
  19. package/dist/devtools/protocol.d.ts.map +1 -0
  20. package/dist/devtools.js +44 -0
  21. package/dist/editor/bridge.d.ts +7 -0
  22. package/dist/editor/bridge.d.ts.map +1 -1
  23. package/dist/editor/components.d.ts.map +1 -1
  24. package/dist/editor/main.d.ts +6 -1
  25. package/dist/editor/main.d.ts.map +1 -1
  26. package/dist/editor/main.test.d.ts +2 -0
  27. package/dist/editor/main.test.d.ts.map +1 -0
  28. package/dist/editor/messages.d.ts +13 -2
  29. package/dist/editor/messages.d.ts.map +1 -1
  30. package/dist/editor/messages.test.d.ts +2 -0
  31. package/dist/editor/messages.test.d.ts.map +1 -0
  32. package/dist/editor/overlays.d.ts +14 -0
  33. package/dist/editor/overlays.d.ts.map +1 -0
  34. package/dist/editor/overlays.test.d.ts +2 -0
  35. package/dist/editor/overlays.test.d.ts.map +1 -0
  36. package/dist/editor.js +82 -47
  37. package/dist/{juo-workflow-CkyZRq60.js → juo-workflow-DY4rd256.js} +74 -873
  38. package/dist/main.d.ts +3 -1
  39. package/dist/main.d.ts.map +1 -1
  40. package/dist/overlay-wrapper.d.ts +69 -0
  41. package/dist/overlay-wrapper.d.ts.map +1 -0
  42. package/dist/overlay-wrapper.test.d.ts +2 -0
  43. package/dist/overlay-wrapper.test.d.ts.map +1 -0
  44. package/dist/overlays/OverlayService.d.ts +34 -0
  45. package/dist/overlays/OverlayService.d.ts.map +1 -0
  46. package/dist/overlays/OverlayService.test.d.ts +2 -0
  47. package/dist/overlays/OverlayService.test.d.ts.map +1 -0
  48. package/dist/preact.js +1 -1
  49. package/dist/react.js +1 -1
  50. package/dist/registry.devtools.test.d.ts +2 -0
  51. package/dist/registry.devtools.test.d.ts.map +1 -0
  52. package/dist/services/index.d.ts +2 -0
  53. package/dist/services/index.d.ts.map +1 -1
  54. package/dist/services/orders/adapter.d.ts +2 -1
  55. package/dist/services/orders/adapter.d.ts.map +1 -1
  56. package/dist/services/orders/types.d.ts +8 -0
  57. package/dist/services/orders/types.d.ts.map +1 -1
  58. package/dist/services/product/adapter.d.ts +23 -1
  59. package/dist/services/product/adapter.d.ts.map +1 -1
  60. package/dist/services/product/adapter.test.d.ts +2 -0
  61. package/dist/services/product/adapter.test.d.ts.map +1 -0
  62. package/dist/services/product/productService.d.ts.map +1 -1
  63. package/dist/services/product/types.d.ts +66 -0
  64. package/dist/services/product/types.d.ts.map +1 -1
  65. package/dist/services/schedules/adapter.d.ts +4 -1
  66. package/dist/services/schedules/adapter.d.ts.map +1 -1
  67. package/dist/services/schedules/adapter.test.d.ts +2 -0
  68. package/dist/services/schedules/adapter.test.d.ts.map +1 -0
  69. package/dist/services/schedules/index.d.ts +3 -3
  70. package/dist/services/schedules/index.d.ts.map +1 -1
  71. package/dist/services/schedules/schedulesService.d.ts +4 -3
  72. package/dist/services/schedules/schedulesService.d.ts.map +1 -1
  73. package/dist/services/schedules/schedulesService.test.d.ts +2 -0
  74. package/dist/services/schedules/schedulesService.test.d.ts.map +1 -0
  75. package/dist/services/schedules/types.d.ts +66 -12
  76. package/dist/services/schedules/types.d.ts.map +1 -1
  77. package/dist/services/settings/index.d.ts +3 -0
  78. package/dist/services/settings/index.d.ts.map +1 -0
  79. package/dist/services/settings/settingsService.d.ts +7 -0
  80. package/dist/services/settings/settingsService.d.ts.map +1 -0
  81. package/dist/services/settings/settingsService.test.d.ts +2 -0
  82. package/dist/services/settings/settingsService.test.d.ts.map +1 -0
  83. package/dist/services/settings/types.d.ts +35 -0
  84. package/dist/services/settings/types.d.ts.map +1 -0
  85. package/dist/services/shop/index.d.ts +3 -0
  86. package/dist/services/shop/index.d.ts.map +1 -0
  87. package/dist/services/shop/shopService.d.ts +12 -0
  88. package/dist/services/shop/shopService.d.ts.map +1 -0
  89. package/dist/services/shop/shopService.test.d.ts +2 -0
  90. package/dist/services/shop/shopService.test.d.ts.map +1 -0
  91. package/dist/services/shop/types.d.ts +7 -0
  92. package/dist/services/shop/types.d.ts.map +1 -0
  93. package/dist/services/subscription/adapter.d.ts +38 -1
  94. package/dist/services/subscription/adapter.d.ts.map +1 -1
  95. package/dist/services/subscription/adapter.test.d.ts +2 -0
  96. package/dist/services/subscription/adapter.test.d.ts.map +1 -0
  97. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  98. package/dist/services/subscription/types.d.ts +200 -1
  99. package/dist/services/subscription/types.d.ts.map +1 -1
  100. package/dist/services/subscription/types.test.d.ts +2 -0
  101. package/dist/services/subscription/types.test.d.ts.map +1 -0
  102. package/dist/theme-state.d.ts +2 -1
  103. package/dist/theme-state.d.ts.map +1 -1
  104. package/dist/theme-state.params.test.d.ts +2 -0
  105. package/dist/theme-state.params.test.d.ts.map +1 -0
  106. package/dist/theme-state.translations.test.d.ts +2 -0
  107. package/dist/theme-state.translations.test.d.ts.map +1 -0
  108. package/dist/vue/block.d.ts.map +1 -1
  109. package/dist/vue.js +25 -4
  110. package/dist/web-components/ExtensionRoot.d.ts +1 -0
  111. package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
  112. package/dist/web-components-editor.js +4 -3
  113. package/dist/web-components-runtime.js +3 -2
  114. package/package.json +5 -1
package/dist/editor.js CHANGED
@@ -1,9 +1,9 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { createBlockInstanceFromObject, indexOverrides, onRegisterBlock, getDefinedBlocks } from "@juo/blocks";
5
- import { a as createEditorBridge, f as createOpenAddBlockMenuMessage, g as createRemoveBlockMessage, h as createRegisterBlocksMessage, i as createRegisterRoutesMessage } from "./bridge-w5KQ-czl.js";
6
- import { j, k, b, l, m, n, o, p, c, q, r, s, t, u, e, v, w, x, y, d, z, A, B, C } from "./bridge-w5KQ-czl.js";
4
+ import { createBlockInstanceFromObject, indexOverrides, DEFAULT_GLOBAL_STYLES, effect, onRegisterBlock, getDefinedBlocks } from "@juo/blocks";
5
+ import { c as createEditorBridge, d as createOpenAddBlockMenuMessage, e as createRemoveBlockMessage, f as createRegisterBlocksMessage, g as createRegisterOverlaysMessage, h as createRegisterRoutesMessage } from "./bridge-r7Yk8fjY.js";
6
+ import { i, j, a, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, b, A, B, C, D } from "./bridge-r7Yk8fjY.js";
7
7
  function createEditorHandler(options) {
8
8
  const { themeState, onBlockSelection } = options;
9
9
  const blockSurfaceIndex = /* @__PURE__ */ new Map();
@@ -126,17 +126,17 @@ function createEditorHandler(options) {
126
126
  if (location.type === "before" || location.type === "after") {
127
127
  let findAndInsertBlock = function(blocks, targetId, newBlock2, position) {
128
128
  var _a2;
129
- for (let i = 0; i < blocks.length; i++) {
130
- if (blocks[i].id === targetId) {
129
+ for (let i2 = 0; i2 < blocks.length; i2++) {
130
+ if (blocks[i2].id === targetId) {
131
131
  if (position === "before") {
132
- blocks.splice(i, 0, newBlock2);
132
+ blocks.splice(i2, 0, newBlock2);
133
133
  } else {
134
- blocks.splice(i + 1, 0, newBlock2);
134
+ blocks.splice(i2 + 1, 0, newBlock2);
135
135
  }
136
136
  return true;
137
137
  }
138
- for (const slotKey of Object.keys(blocks[i].slots || {})) {
139
- const slotBlocks = blocks[i].slots[slotKey];
138
+ for (const slotKey of Object.keys(blocks[i2].slots || {})) {
139
+ const slotBlocks = blocks[i2].slots[slotKey];
140
140
  const slotArray = Array.isArray(slotBlocks) ? slotBlocks : [slotBlocks];
141
141
  for (let j2 = 0; j2 < slotArray.length; j2++) {
142
142
  if (typeof slotArray[j2] !== "string" && ((_a2 = slotArray[j2]) == null ? void 0 : _a2.id) === targetId) {
@@ -145,7 +145,7 @@ function createEditorHandler(options) {
145
145
  } else {
146
146
  slotArray.splice(j2 + 1, 0, newBlock2);
147
147
  }
148
- blocks[i].slots[slotKey] = slotArray;
148
+ blocks[i2].slots[slotKey] = slotArray;
149
149
  return true;
150
150
  }
151
151
  }
@@ -199,21 +199,21 @@ function createEditorHandler(options) {
199
199
  } else if (message.type === "REMOVE_BLOCK") {
200
200
  let findAndRemoveBlock = function(blocks, blockId, slot, parentId) {
201
201
  var _a2;
202
- for (let i = 0; i < blocks.length; i++) {
203
- if (blocks[i].id === parentId && ((_a2 = blocks[i].slots) == null ? void 0 : _a2[slot])) {
204
- const slotBlocks = blocks[i].slots[slot];
202
+ for (let i2 = 0; i2 < blocks.length; i2++) {
203
+ if (blocks[i2].id === parentId && ((_a2 = blocks[i2].slots) == null ? void 0 : _a2[slot])) {
204
+ const slotBlocks = blocks[i2].slots[slot];
205
205
  const slotArray = Array.isArray(slotBlocks) ? slotBlocks : [slotBlocks];
206
206
  const index = slotArray.findIndex(
207
207
  (b2) => typeof b2 !== "string" && (b2 == null ? void 0 : b2.id) === blockId
208
208
  );
209
209
  if (index !== -1) {
210
210
  slotArray.splice(index, 1);
211
- blocks[i].slots[slot] = slotArray;
211
+ blocks[i2].slots[slot] = slotArray;
212
212
  return true;
213
213
  }
214
214
  }
215
- for (const slotKey of Object.keys(blocks[i].slots || {})) {
216
- const slotBlocks = blocks[i].slots[slotKey];
215
+ for (const slotKey of Object.keys(blocks[i2].slots || {})) {
216
+ const slotBlocks = blocks[i2].slots[slotKey];
217
217
  const slotArray = Array.isArray(slotBlocks) ? slotBlocks : [slotBlocks];
218
218
  for (const child of slotArray) {
219
219
  if (typeof child !== "string" && (child == null ? void 0 : child.id)) {
@@ -857,8 +857,8 @@ class BlockWrapper extends HTMLElement {
857
857
  const moreBtn = document.createElement("button");
858
858
  moreBtn.type = "button";
859
859
  moreBtn.innerHTML = moreIconSvg;
860
- moreBtn.addEventListener("click", (e2) => {
861
- e2.stopPropagation();
860
+ moreBtn.addEventListener("click", (e) => {
861
+ e.stopPropagation();
862
862
  this.toggleMenu();
863
863
  });
864
864
  const menuEl = document.createElement("div");
@@ -874,8 +874,8 @@ class BlockWrapper extends HTMLElement {
874
874
  deleteBtn.className = "block-wrapper__menu-item block-wrapper__menu-item--danger";
875
875
  deleteBtn.setAttribute("role", "menuitem");
876
876
  deleteBtn.innerHTML = `${trashIconSvg}<span>Delete</span>`;
877
- deleteBtn.addEventListener("click", (e2) => {
878
- e2.stopPropagation();
877
+ deleteBtn.addEventListener("click", (e) => {
878
+ e.stopPropagation();
879
879
  this.closeMenu();
880
880
  this.handleRemoveBlock();
881
881
  });
@@ -943,9 +943,9 @@ class BlockWrapper extends HTMLElement {
943
943
  surface.appendChild(text);
944
944
  inner.appendChild(surface);
945
945
  btn.appendChild(inner);
946
- btn.addEventListener("click", (e2) => {
947
- e2.stopPropagation();
948
- e2.preventDefault();
946
+ btn.addEventListener("click", (e) => {
947
+ e.stopPropagation();
948
+ e.preventDefault();
949
949
  this.handleAddBlock(position, btn);
950
950
  });
951
951
  return btn;
@@ -1006,6 +1006,11 @@ class BlockWrapper extends HTMLElement {
1006
1006
  }
1007
1007
  this.addEventListener("mouseenter", this.handleHoverEnter);
1008
1008
  this.addEventListener("mouseleave", this.handleHoverLeave);
1009
+ if (this.block != null) {
1010
+ this.updateActiveState(
1011
+ this.editorBridge.getSelectedBlockId() === this.block.id
1012
+ );
1013
+ }
1009
1014
  }
1010
1015
  /**
1011
1016
  * Resolve the slotted block's first painted descendant — the
@@ -1051,8 +1056,8 @@ class BlockWrapper extends HTMLElement {
1051
1056
  if (!this.menuElement) return;
1052
1057
  this.menuElement.classList.add("open");
1053
1058
  this.isMenuOpen = true;
1054
- this.closeMenuOnOutsideClick = (e2) => {
1055
- if (!this.shadowRoot.contains(e2.composedPath()[0])) {
1059
+ this.closeMenuOnOutsideClick = (e) => {
1060
+ if (!this.shadowRoot.contains(e.composedPath()[0])) {
1056
1061
  this.closeMenu();
1057
1062
  }
1058
1063
  };
@@ -1070,6 +1075,7 @@ class BlockWrapper extends HTMLElement {
1070
1075
  setBlock(block) {
1071
1076
  this.block = block;
1072
1077
  this.setAttribute("data-block-id", block.id);
1078
+ this.setAttribute("data-block-type", block.type);
1073
1079
  if (this.nameElement) {
1074
1080
  this.nameElement.textContent = block.definition.displayName ?? block.definition.name;
1075
1081
  }
@@ -1157,7 +1163,7 @@ async function serializeBlock(block) {
1157
1163
  }
1158
1164
  })
1159
1165
  );
1160
- const loaded = entries.filter((e2) => e2 !== null);
1166
+ const loaded = entries.filter((e) => e !== null);
1161
1167
  if (loaded.length > 0) {
1162
1168
  locales = Object.fromEntries(loaded);
1163
1169
  }
@@ -1173,11 +1179,23 @@ async function serializeBlock(block) {
1173
1179
  };
1174
1180
  }
1175
1181
  const EDITOR_BODY_TOP_PADDING_PX = 48;
1182
+ const EDITOR_BODY_BOTTOM_PADDING_PX = 12;
1183
+ function buildEditorCanvasStyleContent(backgroundColor) {
1184
+ const bg = backgroundColor || DEFAULT_GLOBAL_STYLES.colors.background;
1185
+ return `body {
1186
+ padding-top: ${EDITOR_BODY_TOP_PADDING_PX}px;
1187
+ background-color: ${bg};
1188
+ }`;
1189
+ }
1176
1190
  async function setupEditorMode(deps) {
1177
- const { routerService, themeState } = deps;
1191
+ const { routerService, themeState, overlayService } = deps;
1178
1192
  const padStyle = document.createElement("style");
1179
- padStyle.textContent = `body { padding-top: ${EDITOR_BODY_TOP_PADDING_PX}px; }`;
1180
1193
  document.head.appendChild(padStyle);
1194
+ const disposeCanvasStyles = effect(() => {
1195
+ padStyle.textContent = buildEditorCanvasStyleContent(
1196
+ themeState.globalStyles.value.colors.background
1197
+ );
1198
+ });
1181
1199
  const editor = createEditorBridge();
1182
1200
  const handler = createEditorHandler({
1183
1201
  themeState
@@ -1196,11 +1214,24 @@ async function setupEditorMode(deps) {
1196
1214
  })
1197
1215
  )
1198
1216
  );
1217
+ if (typeof block.name === "string" && block.name.startsWith("overlay:")) {
1218
+ editor.sendMessage(
1219
+ createRegisterOverlaysMessage({
1220
+ overlays: overlayService.getEditableOverlays()
1221
+ })
1222
+ );
1223
+ }
1199
1224
  });
1200
1225
  const blocks = await Promise.all(getDefinedBlocks().map(serializeBlock));
1201
1226
  editor.sendMessage(createRegisterBlocksMessage({ blocks }));
1202
1227
  editor.sendMessage(createRegisterRoutesMessage({ routes }));
1228
+ editor.sendMessage(
1229
+ createRegisterOverlaysMessage({
1230
+ overlays: overlayService.getEditableOverlays()
1231
+ })
1232
+ );
1203
1233
  return () => {
1234
+ disposeCanvasStyles();
1204
1235
  padStyle.remove();
1205
1236
  unsubscribeRegister();
1206
1237
  unsubscribe();
@@ -1209,19 +1240,23 @@ async function setupEditorMode(deps) {
1209
1240
  }
1210
1241
  export {
1211
1242
  BlockWrapper,
1212
- j as createAddBlockMenuClosedMessage,
1213
- k as createAddBlockMessage,
1243
+ EDITOR_BODY_BOTTOM_PADDING_PX,
1244
+ EDITOR_BODY_TOP_PADDING_PX,
1245
+ buildEditorCanvasStyleContent,
1246
+ i as createAddBlockMenuClosedMessage,
1247
+ j as createAddBlockMessage,
1214
1248
  createEditorBridge,
1215
1249
  createEditorHandler,
1216
- b as createFocusInlineTextMessage,
1217
- l as createMoveBlockMessage,
1250
+ a as createFocusInlineTextMessage,
1251
+ k as createMoveBlockMessage,
1218
1252
  createOpenAddBlockMenuMessage,
1219
- m as createProvideGlobalStylesMessage,
1220
- n as createProvideInitialGlobalStylesMessage,
1221
- o as createProvideThemeStateMessage,
1222
- p as createProvideTranslationOverridesMessage,
1223
- c as createRegisterBlockTranslationKeysMessage,
1253
+ l as createProvideGlobalStylesMessage,
1254
+ m as createProvideInitialGlobalStylesMessage,
1255
+ n as createProvideThemeStateMessage,
1256
+ o as createProvideTranslationOverridesMessage,
1257
+ p as createRegisterBlockTranslationKeysMessage,
1224
1258
  createRegisterBlocksMessage,
1259
+ createRegisterOverlaysMessage,
1225
1260
  createRegisterRoutesMessage,
1226
1261
  createRemoveBlockMessage,
1227
1262
  q as createReportContentHeightMessage,
@@ -1229,15 +1264,15 @@ export {
1229
1264
  s as createRequestThemeStateMessage,
1230
1265
  t as createRequestTranslationOverridesMessage,
1231
1266
  u as createScrollSyncMessage,
1232
- e as createSelectBlockMessage,
1233
- v as createSetBlockPresetMessage,
1234
- w as createSetGlobalStylesMessage,
1235
- x as createSetLocaleMessage,
1236
- y as createUpdateBlockPropsMessage,
1237
- d as createUpdateBlockTranslationMessage,
1238
- z as createUpsertThemeStateMessage,
1239
- A as getEditorBridge,
1240
- B as isEditorMessage,
1241
- C as isIframeMessage,
1267
+ v as createSelectBlockMessage,
1268
+ w as createSetBlockPresetMessage,
1269
+ x as createSetGlobalStylesMessage,
1270
+ y as createSetLocaleMessage,
1271
+ z as createUpdateBlockPropsMessage,
1272
+ b as createUpdateBlockTranslationMessage,
1273
+ A as createUpsertThemeStateMessage,
1274
+ B as getEditorBridge,
1275
+ C as isEditorMessage,
1276
+ D as isIframeMessage,
1242
1277
  setupEditorMode
1243
1278
  };