@webiny/website-builder-vue 6.4.0-beta.5 → 6.4.0-beta.7

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 (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/components/ConnectToEditor.d.ts +35 -0
  4. package/components/ConnectToEditor.js +40 -0
  5. package/components/ConnectToEditor.js.map +1 -0
  6. package/components/DocumentFragment.d.ts +67 -0
  7. package/components/DocumentFragment.js +24 -0
  8. package/components/DocumentFragment.js.map +1 -0
  9. package/components/DocumentRenderer.d.ts +59 -0
  10. package/components/DocumentRenderer.js +68 -0
  11. package/components/DocumentRenderer.js.map +1 -0
  12. package/components/DocumentStoreProvider.d.ts +37 -0
  13. package/components/DocumentStoreProvider.js +32 -0
  14. package/components/DocumentStoreProvider.js.map +1 -0
  15. package/components/EditingElementRenderer/EditingElementRenderer.d.ts +22 -0
  16. package/components/EditingElementRenderer/EditingElementRenderer.js +53 -0
  17. package/components/EditingElementRenderer/EditingElementRenderer.js.map +1 -0
  18. package/components/EditingElementRenderer/EditingElementRenderer.presenter.d.ts +15 -0
  19. package/components/EditingElementRenderer/EditingElementRenderer.presenter.js +37 -0
  20. package/components/EditingElementRenderer/EditingElementRenderer.presenter.js.map +1 -0
  21. package/components/EditingElementRenderer/index.js +2 -0
  22. package/components/ElementIndexProvider.d.ts +19 -0
  23. package/components/ElementIndexProvider.js +19 -0
  24. package/components/ElementIndexProvider.js.map +1 -0
  25. package/components/ElementRenderer.d.ts +19 -0
  26. package/components/ElementRenderer.js +33 -0
  27. package/components/ElementRenderer.js.map +1 -0
  28. package/components/ElementSlot.d.ts +39 -0
  29. package/components/ElementSlot.js +36 -0
  30. package/components/ElementSlot.js.map +1 -0
  31. package/components/ElementSlotDepthProvider.d.ts +19 -0
  32. package/components/ElementSlotDepthProvider.js +19 -0
  33. package/components/ElementSlotDepthProvider.js.map +1 -0
  34. package/components/FragmentsProvider.d.ts +46 -0
  35. package/components/FragmentsProvider.js +40 -0
  36. package/components/FragmentsProvider.js.map +1 -0
  37. package/components/LiveElementRenderer.d.ts +24 -0
  38. package/components/LiveElementRenderer.js +74 -0
  39. package/components/LiveElementRenderer.js.map +1 -0
  40. package/components/LiveElementSlot.d.ts +21 -0
  41. package/components/LiveElementSlot.js +36 -0
  42. package/components/LiveElementSlot.js.map +1 -0
  43. package/components/PreviewElementSlot.d.ts +38 -0
  44. package/components/PreviewElementSlot.js +45 -0
  45. package/components/PreviewElementSlot.js.map +1 -0
  46. package/{src/components/index.ts → components/index.d.ts} +2 -11
  47. package/components/index.js +8 -0
  48. package/composables/useBindingsForElement.d.ts +825 -0
  49. package/composables/useBindingsForElement.js +24 -0
  50. package/composables/useBindingsForElement.js.map +1 -0
  51. package/composables/useDocumentState.d.ts +5 -0
  52. package/composables/useDocumentState.js +11 -0
  53. package/composables/useDocumentState.js.map +1 -0
  54. package/composables/useObservable.d.ts +13 -0
  55. package/composables/useObservable.js +14 -0
  56. package/composables/useObservable.js.map +1 -0
  57. package/{src/composables/useSelectFromState.ts → composables/useSelectFromState.d.ts} +2 -10
  58. package/composables/useSelectFromState.js +9 -0
  59. package/composables/useSelectFromState.js.map +1 -0
  60. package/composables/useViewport.d.ts +7 -0
  61. package/composables/useViewport.js +18 -0
  62. package/composables/useViewport.js.map +1 -0
  63. package/createComponent.d.ts +21 -0
  64. package/createComponent.js +31 -0
  65. package/createComponent.js.map +1 -0
  66. package/editorComponents/Box.d.ts +7 -0
  67. package/editorComponents/Box.js +4 -0
  68. package/editorComponents/Box.js.map +1 -0
  69. package/editorComponents/Box.manifest.d.ts +1 -0
  70. package/{src/editorComponents/Box.manifest.ts → editorComponents/Box.manifest.js} +6 -4
  71. package/editorComponents/Box.manifest.js.map +1 -0
  72. package/editorComponents/Fragment.d.ts +13 -0
  73. package/editorComponents/Fragment.js +39 -0
  74. package/editorComponents/Fragment.js.map +1 -0
  75. package/editorComponents/Fragment.manifest.d.ts +1 -0
  76. package/{src/editorComponents/Fragment.manifest.ts → editorComponents/Fragment.manifest.js} +6 -4
  77. package/editorComponents/Fragment.manifest.js.map +1 -0
  78. package/editorComponents/Grid.d.ts +24 -0
  79. package/editorComponents/Grid.js +33 -0
  80. package/editorComponents/Grid.js.map +1 -0
  81. package/editorComponents/Grid.manifest.d.ts +1 -0
  82. package/{src/editorComponents/Grid.manifest.ts → editorComponents/Grid.manifest.js} +58 -55
  83. package/editorComponents/Grid.manifest.js.map +1 -0
  84. package/editorComponents/GridColumn.d.ts +5 -0
  85. package/editorComponents/GridColumn.js +4 -0
  86. package/editorComponents/GridColumn.js.map +1 -0
  87. package/editorComponents/GridColumn.manifest.d.ts +1 -0
  88. package/{src/editorComponents/GridColumn.manifest.ts → editorComponents/GridColumn.manifest.js} +9 -5
  89. package/editorComponents/GridColumn.manifest.js.map +1 -0
  90. package/editorComponents/Image.d.ts +37 -0
  91. package/editorComponents/Image.js +115 -0
  92. package/editorComponents/Image.js.map +1 -0
  93. package/editorComponents/Image.manifest.d.ts +1 -0
  94. package/{src/editorComponents/Image.manifest.ts → editorComponents/Image.manifest.js} +17 -12
  95. package/editorComponents/Image.manifest.js.map +1 -0
  96. package/editorComponents/Lexical.d.ts +18 -0
  97. package/editorComponents/Lexical.js +15 -0
  98. package/editorComponents/Lexical.js.map +1 -0
  99. package/editorComponents/Lexical.manifest.d.ts +1 -0
  100. package/editorComponents/Lexical.manifest.js +24 -0
  101. package/editorComponents/Lexical.manifest.js.map +1 -0
  102. package/editorComponents/Root.d.ts +7 -0
  103. package/editorComponents/Root.js +4 -0
  104. package/editorComponents/Root.js.map +1 -0
  105. package/editorComponents/Root.manifest.d.ts +1 -0
  106. package/editorComponents/Root.manifest.js +13 -0
  107. package/editorComponents/Root.manifest.js.map +1 -0
  108. package/{src/editorComponents/index.ts → editorComponents/index.d.ts} +1 -3
  109. package/editorComponents/index.js +20 -0
  110. package/editorComponents/index.js.map +1 -0
  111. package/index.d.ts +10 -0
  112. package/index.js +9 -4
  113. package/package.json +10 -8
  114. package/{src/types.ts → types.d.ts} +11 -32
  115. package/types.js +0 -0
  116. package/src/components/ConnectToEditor.ts +0 -46
  117. package/src/components/DocumentFragment.ts +0 -43
  118. package/src/components/DocumentRenderer.ts +0 -102
  119. package/src/components/DocumentStoreProvider.ts +0 -53
  120. package/src/components/EditingElementRenderer/EditingElementRenderer.presenter.ts +0 -59
  121. package/src/components/EditingElementRenderer/EditingElementRenderer.ts +0 -70
  122. package/src/components/ElementIndexProvider.ts +0 -24
  123. package/src/components/ElementRenderer.ts +0 -42
  124. package/src/components/ElementSlot.ts +0 -34
  125. package/src/components/ElementSlotDepthProvider.ts +0 -24
  126. package/src/components/FragmentsProvider.ts +0 -87
  127. package/src/components/LiveElementRenderer.ts +0 -102
  128. package/src/components/LiveElementSlot.ts +0 -46
  129. package/src/components/PreviewElementSlot.ts +0 -43
  130. package/src/composables/useBindingsForElement.ts +0 -40
  131. package/src/composables/useDocumentState.ts +0 -13
  132. package/src/composables/useObservable.ts +0 -30
  133. package/src/composables/useViewport.ts +0 -27
  134. package/src/createComponent.ts +0 -55
  135. package/src/editorComponents/Box.ts +0 -8
  136. package/src/editorComponents/Fragment.ts +0 -57
  137. package/src/editorComponents/Grid.ts +0 -72
  138. package/src/editorComponents/GridColumn.ts +0 -6
  139. package/src/editorComponents/Image.ts +0 -144
  140. package/src/editorComponents/Lexical.manifest.ts +0 -24
  141. package/src/editorComponents/Lexical.ts +0 -23
  142. package/src/editorComponents/Root.manifest.ts +0 -10
  143. package/src/editorComponents/Root.ts +0 -8
  144. package/src/index.ts +0 -52
  145. package/tsconfig.build.json +0 -16
  146. package/tsconfig.json +0 -16
  147. package/webiny.config.js +0 -8
  148. /package/{src/components/EditingElementRenderer/index.ts → components/EditingElementRenderer/index.d.ts} +0 -0
  149. /package/{src/lexical.css → lexical.css} +0 -0
@@ -1,144 +0,0 @@
1
- import { defineComponent, ref, watch, h, Fragment, type PropType } from "vue";
2
- import { contentSdk } from "@webiny/website-builder-sdk";
3
- import type { CssProperties } from "@webiny/website-builder-sdk";
4
-
5
- const SUPPORTED_WIDTHS = [100, 300, 500, 750, 1000, 1500, 2500];
6
-
7
- type ImageInputs = {
8
- title: string;
9
- altText: string;
10
- image: {
11
- id: string;
12
- name: string;
13
- size: number;
14
- mimeType: string;
15
- src: string;
16
- };
17
- };
18
-
19
- const getSrcSet = (src: string, widths: number[]) =>
20
- widths.map(w => `${src}?width=${w} ${w}w`).join(", ");
21
-
22
- const computeSrcSetWidths = (width?: string | number): number[] => {
23
- if (width && String(width).endsWith("px")) {
24
- const px = parseInt(String(width));
25
- const widths: number[] = [];
26
- for (const w of SUPPORTED_WIDTHS) {
27
- widths.push(w);
28
- if (w >= px) {
29
- break;
30
- }
31
- }
32
- return widths;
33
- }
34
- return SUPPORTED_WIDTHS;
35
- };
36
-
37
- const ImagePlaceholder = (props: { style: CssProperties }) =>
38
- h(
39
- "div",
40
- {
41
- style: {
42
- display: "flex",
43
- height: "200px",
44
- backgroundColor: "#f4f4f4",
45
- justifyContent: "center",
46
- alignItems: "center",
47
- fill: "#ffffff",
48
- ...props.style
49
- }
50
- },
51
- [
52
- h(
53
- "svg",
54
- {
55
- style: {
56
- width: "70px",
57
- height: "70px",
58
- filter: "drop-shadow(rgba(0, 0, 0, 0.16) 0px 1px 0px)"
59
- },
60
- xmlns: "http://www.w3.org/2000/svg",
61
- height: "24px",
62
- viewBox: "0 -960 960 960",
63
- width: "24px"
64
- },
65
- [
66
- h("path", {
67
- d: "M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z"
68
- })
69
- ]
70
- )
71
- ]
72
- );
73
-
74
- export const ImageComponent = defineComponent({
75
- name: "WebinyImageComponent",
76
- props: {
77
- inputs: { type: Object as PropType<ImageInputs>, required: true },
78
- styles: { type: Object as PropType<CssProperties>, default: () => ({}) }
79
- },
80
- setup(props) {
81
- // In editing mode start as not-loaded (fade in after load).
82
- // In live mode start as loaded (no fade effect needed).
83
- const isLoaded = ref(!contentSdk.isEditing());
84
-
85
- watch(
86
- () => props.inputs?.image?.src,
87
- src => {
88
- if (!src) {
89
- isLoaded.value = false;
90
- }
91
- }
92
- );
93
-
94
- function onLoad() {
95
- if (contentSdk.isEditing()) {
96
- setTimeout(() => {
97
- isLoaded.value = true;
98
- }, 100);
99
- } else {
100
- isLoaded.value = true;
101
- }
102
- }
103
-
104
- return () => {
105
- const { inputs, styles } = props;
106
- const { title = "", altText, image } = inputs;
107
- const src = image?.src;
108
-
109
- if (!src) {
110
- return h(ImagePlaceholder, { style: styles });
111
- }
112
-
113
- if (src.endsWith(".svg")) {
114
- return h("object", {
115
- style: { maxWidth: "100%", ...styles },
116
- title,
117
- data: src
118
- });
119
- }
120
-
121
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
122
- const imageStyles: CssProperties = {
123
- maxWidth: "100%",
124
- opacity: isLoaded.value ? 1 : 0,
125
- transition: "opacity 0.3s ease",
126
- ...styles
127
- } as any;
128
-
129
- const srcSet = getSrcSet(src, computeSrcSetWidths(styles.width));
130
-
131
- return h(Fragment, null, [
132
- !isLoaded.value ? h(ImagePlaceholder, { style: styles }) : null,
133
- h("img", {
134
- alt: altText,
135
- title,
136
- src,
137
- srcset: srcSet,
138
- style: imageStyles,
139
- onLoad
140
- })
141
- ]);
142
- };
143
- }
144
- });
@@ -1,24 +0,0 @@
1
- "use client";
2
- import { createLexicalInput } from "@webiny/website-builder-sdk";
3
- import { createComponent } from "~/createComponent.js";
4
- import { LexicalComponent, createLexicalValue } from "./Lexical.js";
5
-
6
- export const Lexical = createComponent(LexicalComponent, {
7
- name: "Webiny/Lexical",
8
- label: "Rich Text",
9
- group: "basic",
10
- image: `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path d="M280-160v-520H80v-120h520v120H400v520H280Zm360 0v-320H520v-120h360v120H760v320H640Z"/></svg>`,
11
- inputs: [
12
- createLexicalInput({
13
- name: "content",
14
- label: "Content"
15
- })
16
- ],
17
- defaults: {
18
- inputs: {
19
- content: createLexicalValue(
20
- "Examine she brother prudent add day ham. Far stairs now coming bed oppose hunted become his. You zealously departure had procuring suspicion. Books whose front would purse if be do decay. Quitting you way formerly disposed perceive ladyship are. Common turned boy direct and yet."
21
- )
22
- }
23
- }
24
- });
@@ -1,23 +0,0 @@
1
- import { h } from "vue";
2
- import type { ComponentProps } from "~/types.js";
3
-
4
- export const createLexicalValue = (value: string) => ({
5
- state: `{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"${value}","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"wby-paragraph","version":1,"textFormat":0,"textStyle":""}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}`,
6
- html: `<p class="wb-paragraph-1">${value}</p>`
7
- });
8
-
9
- type LexicalProps = ComponentProps<{
10
- content: { html?: string };
11
- }>;
12
-
13
- /**
14
- * Renders Lexical rich-text content as raw HTML.
15
- * The HTML is produced by the editor and stored in `inputs.content.html`.
16
- */
17
- export const LexicalComponent = (props: LexicalProps) => {
18
- const html = props.inputs?.content?.html;
19
- if (!html) {
20
- return null;
21
- }
22
- return h("div", { innerHTML: html });
23
- };
@@ -1,10 +0,0 @@
1
- "use client";
2
- import { createComponent } from "~/createComponent.js";
3
- import { RootComponent } from "./Root.js";
4
-
5
- export const Root = createComponent(RootComponent, {
6
- name: "Webiny/Root",
7
- label: "Main Content",
8
- acceptsChildren: true,
9
- hideFromToolbar: true
10
- });
@@ -1,8 +0,0 @@
1
- import type { ComponentPropsWithChildren } from "~/types.js";
2
-
3
- /**
4
- * The invisible root container — renders only its children slot.
5
- */
6
- export const RootComponent = (props: ComponentPropsWithChildren) => {
7
- return props.inputs?.children ?? null;
8
- };
package/src/index.ts DELETED
@@ -1,52 +0,0 @@
1
- // Re-export the full framework-agnostic SDK surface (types, inputs, SDK instance, etc.)
2
- export {
3
- createTextInput,
4
- createLongTextInput,
5
- createNumberInput,
6
- createBooleanInput,
7
- createColorInput,
8
- createFileInput,
9
- createDateInput,
10
- createLexicalInput,
11
- createSelectInput,
12
- createRadioInput,
13
- createObjectInput,
14
- createTagsInput,
15
- createSlotInput,
16
- createInput,
17
- createElement,
18
- createTheme,
19
- contentSdk,
20
- environment,
21
- setHeadersProvider,
22
- getHeadersProvider,
23
- registerComponentGroup,
24
- type CssProperties,
25
- type Document,
26
- type DocumentElement,
27
- type Breakpoint,
28
- type CreateElementParams,
29
- type ContentSDKConfig,
30
- type ComponentManifest,
31
- type ComponentInput,
32
- type ComponentConstraint,
33
- type WebsiteBuilderThemeInput,
34
- StyleSettings
35
- } from "@webiny/website-builder-sdk";
36
-
37
- // Vue-specific exports
38
- export { createComponent } from "./createComponent.js";
39
- export * from "./components/index.js";
40
- export * from "./editorComponents/index.js";
41
- export * from "./composables/useViewport.js";
42
- export * from "./composables/useSelectFromState.js";
43
- export * from "./composables/useObservable.js";
44
- export * from "./composables/useBindingsForElement.js";
45
- export * from "./composables/useDocumentState.js";
46
- export type {
47
- ComponentProps,
48
- ComponentPropsWithChildren,
49
- InferManifest,
50
- InferComponentChange,
51
- InferDescendantChange
52
- } from "./types.js";
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.build.json",
3
- "include": ["src"],
4
- "references": [{ "path": "../website-builder-sdk/tsconfig.build.json" }],
5
- "compilerOptions": {
6
- "rootDir": "./src",
7
- "outDir": "./dist",
8
- "declarationDir": "./dist",
9
- "paths": {
10
- "~/*": ["./src/*"],
11
- "~tests/*": ["./__tests__/*"],
12
- "@webiny/website-builder-sdk/*": ["../website-builder-sdk/src/*"],
13
- "@webiny/website-builder-sdk": ["../website-builder-sdk/src"]
14
- }
15
- }
16
- }
package/tsconfig.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "include": ["src", "__tests__"],
4
- "references": [{ "path": "../website-builder-sdk" }],
5
- "compilerOptions": {
6
- "rootDirs": ["./src", "./__tests__"],
7
- "outDir": "./dist",
8
- "declarationDir": "./dist",
9
- "paths": {
10
- "~/*": ["./src/*"],
11
- "~tests/*": ["./__tests__/*"],
12
- "@webiny/website-builder-sdk/*": ["../website-builder-sdk/src/*"],
13
- "@webiny/website-builder-sdk": ["../website-builder-sdk/src"]
14
- }
15
- }
16
- }
package/webiny.config.js DELETED
@@ -1,8 +0,0 @@
1
- import { createWatchPackage, createBuildPackage } from "@webiny/build-tools";
2
-
3
- export default {
4
- commands: {
5
- build: createBuildPackage({ cwd: import.meta.dirname }),
6
- watch: createWatchPackage({ cwd: import.meta.dirname })
7
- }
8
- };
File without changes