@vc-shell/framework 1.1.55 → 1.1.56

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 (47) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/core/services/widget-service.ts +17 -8
  3. package/dist/core/services/widget-service.d.ts +2 -2
  4. package/dist/core/services/widget-service.d.ts.map +1 -1
  5. package/dist/framework.js +2801 -2789
  6. package/dist/index.css +1 -1
  7. package/dist/shared/composables/useExternalWidgets.d.ts +1 -1
  8. package/dist/shared/composables/useExternalWidgets.d.ts.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  11. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts.map +1 -1
  12. package/dist/{vendor-tiptap-core-BRY37Sb2.js → vendor-tiptap-core-CczYXVC4.js} +1 -1
  13. package/dist/{vendor-tiptap-extension-blockquote-CPd5qv-9.js → vendor-tiptap-extension-blockquote-Dm7YbSqy.js} +1 -1
  14. package/dist/{vendor-tiptap-extension-bold-B0GwBNks.js → vendor-tiptap-extension-bold-YKANgJQB.js} +1 -1
  15. package/dist/{vendor-tiptap-extension-bubble-menu-B0sZZld7.js → vendor-tiptap-extension-bubble-menu-gh-OpViI.js} +2 -2
  16. package/dist/{vendor-tiptap-extension-bullet-list-CQm4ReOu.js → vendor-tiptap-extension-bullet-list-CZWmGEbV.js} +1 -1
  17. package/dist/{vendor-tiptap-extension-code-C8cy6bRj.js → vendor-tiptap-extension-code-Bg0UZ8tC.js} +1 -1
  18. package/dist/{vendor-tiptap-extension-code-block-BqTchNEf.js → vendor-tiptap-extension-code-block-DQJ_tCBi.js} +1 -1
  19. package/dist/{vendor-tiptap-extension-document-Dka1Uu0g.js → vendor-tiptap-extension-document-CpCZXWQI.js} +1 -1
  20. package/dist/{vendor-tiptap-extension-dropcursor-CFSh-BuE.js → vendor-tiptap-extension-dropcursor-BVniwBbO.js} +1 -1
  21. package/dist/{vendor-tiptap-extension-floating-menu-H8PB4zeI.js → vendor-tiptap-extension-floating-menu-FkBnPfW6.js} +2 -2
  22. package/dist/{vendor-tiptap-extension-gapcursor-CzwfD_IT.js → vendor-tiptap-extension-gapcursor-XdrpVWvW.js} +1 -1
  23. package/dist/{vendor-tiptap-extension-hard-break-Rm6aVcrK.js → vendor-tiptap-extension-hard-break-N0r28gea.js} +1 -1
  24. package/dist/{vendor-tiptap-extension-heading-CavI6u1v.js → vendor-tiptap-extension-heading-CY1DvT1I.js} +1 -1
  25. package/dist/{vendor-tiptap-extension-history-WEN1_74D.js → vendor-tiptap-extension-history-BUL3NsZ9.js} +1 -1
  26. package/dist/{vendor-tiptap-extension-horizontal-rule-DZkUEL6s.js → vendor-tiptap-extension-horizontal-rule-D27m_G1b.js} +1 -1
  27. package/dist/{vendor-tiptap-extension-image-B67_mxGM.js → vendor-tiptap-extension-image-CbjGZU8i.js} +1 -1
  28. package/dist/{vendor-tiptap-extension-italic-BshxBFou.js → vendor-tiptap-extension-italic-zyDDu_SW.js} +1 -1
  29. package/dist/{vendor-tiptap-extension-link-CJAQIgui.js → vendor-tiptap-extension-link-Bcv4UeMa.js} +55 -47
  30. package/dist/{vendor-tiptap-extension-list-item-DF-iMpqO.js → vendor-tiptap-extension-list-item-DZU6bwbc.js} +1 -1
  31. package/dist/{vendor-tiptap-extension-ordered-list-CN8MF-kN.js → vendor-tiptap-extension-ordered-list-BXSeGf29.js} +1 -1
  32. package/dist/{vendor-tiptap-extension-paragraph-DI577lM5.js → vendor-tiptap-extension-paragraph-PDX7FACk.js} +1 -1
  33. package/dist/{vendor-tiptap-extension-placeholder-DwAtlfAF.js → vendor-tiptap-extension-placeholder-Ue_ElAEg.js} +1 -1
  34. package/dist/{vendor-tiptap-extension-strike-CIty09KN.js → vendor-tiptap-extension-strike-rl2UQZzW.js} +1 -1
  35. package/dist/{vendor-tiptap-extension-table-C5nv-GUb.js → vendor-tiptap-extension-table-B59LhE4D.js} +1 -1
  36. package/dist/{vendor-tiptap-extension-table-cell-DXbBhJW3.js → vendor-tiptap-extension-table-cell-9N0NKfpg.js} +1 -1
  37. package/dist/{vendor-tiptap-extension-table-header-rtggsYXA.js → vendor-tiptap-extension-table-header-DJTZtK2Z.js} +1 -1
  38. package/dist/{vendor-tiptap-extension-table-row-67khjMDt.js → vendor-tiptap-extension-table-row-D7Upcsrg.js} +1 -1
  39. package/dist/{vendor-tiptap-extension-text-D1OHb_a1.js → vendor-tiptap-extension-text-Buc1GYNc.js} +1 -1
  40. package/dist/{vendor-tiptap-extension-underline-IqWixw3m.js → vendor-tiptap-extension-underline-COmEda96.js} +1 -1
  41. package/dist/{vendor-tiptap-markdown-DVxB1hbO.js → vendor-tiptap-markdown-QcGJtrvN.js} +1 -1
  42. package/dist/{vendor-tiptap-starter-kit-CPH9gu2X.js → vendor-tiptap-starter-kit-rn_ARLXy.js} +19 -19
  43. package/dist/{vendor-tiptap-vue-3-CkBe4_xM.js → vendor-tiptap-vue-3-KDP_yBZF.js} +3 -3
  44. package/package.json +12 -12
  45. package/shared/composables/useExternalWidgets.ts +53 -13
  46. package/ui/components/molecules/vc-editor/vc-editor.vue +9 -0
  47. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue +31 -13
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## [1.1.56](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.55...v1.1.56) (2025-07-08)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **vc-editor:** update list styles for unordered and ordered lists in the editor component ([2dd3fc2](https://github.com/VirtoCommerce/vc-shell/commit/2dd3fc22e9fef098c800ebe93c5e3e5f5e760333))
7
+
8
+
9
+
1
10
  ## [1.1.55](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.54...v1.1.55) (2025-07-07)
2
11
 
3
12
 
@@ -61,7 +61,7 @@ export interface IWidgetService {
61
61
  isWidgetRegistered: (id: string) => boolean;
62
62
  updateWidget: ({ id, bladeId, widget }: { id: string; bladeId: string; widget: Partial<IWidget> }) => void;
63
63
  resolveWidgetProps: (widget: IWidget, bladeData: Record<string, unknown>) => Record<string, unknown>;
64
- getExternalWidgetsForBlade: (bladeType: string) => IExternalWidgetRegistration[];
64
+ getExternalWidgetsForBlade: (bladeId: string) => IExternalWidgetRegistration[];
65
65
  }
66
66
 
67
67
  // Global state for pre-registering widgets
@@ -90,8 +90,8 @@ export function registerExternalWidget(widget: IExternalWidgetRegistration): voi
90
90
  /**
91
91
  * Gets list of external widgets for a specific blade type
92
92
  */
93
- export function getExternalWidgetsForBlade(bladeType: string): IExternalWidgetRegistration[] {
94
- return externalWidgets.filter((widget) => !widget.targetBlades || widget.targetBlades.includes(bladeType));
93
+ export function getExternalWidgetsForBlade(bladeId: string): IExternalWidgetRegistration[] {
94
+ return externalWidgets.filter((widget) => !widget.targetBlades || widget.targetBlades.includes(bladeId));
95
95
  }
96
96
 
97
97
  export function createWidgetService(): IWidgetService {
@@ -122,17 +122,22 @@ export function createWidgetService(): IWidgetService {
122
122
  return widget.props || {};
123
123
  }
124
124
 
125
- let resolvedProps: Record<string, unknown> = { ...widget.props };
125
+ let resolvedProps: Record<string, unknown> = {};
126
126
 
127
127
  // If there is a custom resolver
128
128
  if (widget.config.propsResolver) {
129
129
  try {
130
130
  const customProps = widget.config.propsResolver(bladeData);
131
- resolvedProps = { ...resolvedProps, ...customProps };
131
+ resolvedProps = { ...widget.props, ...customProps };
132
132
  } catch (error) {
133
133
  console.error(`Error in propsResolver for widget '${widget.id}':`, error);
134
+ // Fallback to existing props if resolver fails
135
+ resolvedProps = { ...widget.props };
134
136
  }
135
137
  } else {
138
+ // Start with existing props as base
139
+ resolvedProps = { ...widget.props };
140
+
136
141
  // Standard logic for resolving props
137
142
  const { requiredData = [], optionalData = [], fieldMapping = {} } = widget.config;
138
143
 
@@ -164,7 +169,11 @@ export function createWidgetService(): IWidgetService {
164
169
  if (widgetRegistry[normalizedBladeId]) {
165
170
  const index = widgetRegistry[normalizedBladeId].findIndex((w) => w.id === id);
166
171
  if (index !== -1) {
167
- widgetRegistry[normalizedBladeId][index] = { ...widgetRegistry[normalizedBladeId][index], ...widget };
172
+ // Preserve reactivity by updating properties instead of replacing the entire object
173
+ const existingWidget = widgetRegistry[normalizedBladeId][index];
174
+
175
+ // Update properties using Object.assign to maintain reactivity
176
+ Object.assign(existingWidget, widget);
168
177
  }
169
178
  }
170
179
  };
@@ -255,8 +264,8 @@ export function createWidgetService(): IWidgetService {
255
264
  return activeWidget.value?.widgetId === id;
256
265
  };
257
266
 
258
- const getExternalWidgetsForBladeLocal = (bladeType: string): IExternalWidgetRegistration[] => {
259
- return getExternalWidgetsForBlade(bladeType);
267
+ const getExternalWidgetsForBladeLocal = (bladeId: string): IExternalWidgetRegistration[] => {
268
+ return getExternalWidgetsForBlade(bladeId.toLowerCase());
260
269
  };
261
270
 
262
271
  preregisteredWidgets.forEach((widget) => {
@@ -56,7 +56,7 @@ export interface IWidgetService {
56
56
  widget: Partial<IWidget>;
57
57
  }) => void;
58
58
  resolveWidgetProps: (widget: IWidget, bladeData: Record<string, unknown>) => Record<string, unknown>;
59
- getExternalWidgetsForBlade: (bladeType: string) => IExternalWidgetRegistration[];
59
+ getExternalWidgetsForBlade: (bladeId: string) => IExternalWidgetRegistration[];
60
60
  }
61
61
  /**
62
62
  * Registers a widget before the service is initialized
@@ -69,6 +69,6 @@ export declare function registerExternalWidget(widget: IExternalWidgetRegistrati
69
69
  /**
70
70
  * Gets list of external widgets for a specific blade type
71
71
  */
72
- export declare function getExternalWidgetsForBlade(bladeType: string): IExternalWidgetRegistration[];
72
+ export declare function getExternalWidgetsForBlade(bladeId: string): IExternalWidgetRegistration[];
73
73
  export declare function createWidgetService(): IWidgetService;
74
74
  //# sourceMappingURL=widget-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-service.d.ts","sourceRoot":"","sources":["../../../core/services/widget-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-service.d.ts","sourceRoot":"","sources":["../../../core/services/widget-service.ts"],"names":[],"mappings":"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"}