@webstudio-is/react-sdk 0.7.3 → 0.9.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 (142) hide show
  1. package/lib/app/custom-components/image.d.ts +9 -0
  2. package/lib/app/custom-components/image.d.ts.map +1 -0
  3. package/lib/app/custom-components/image.js +24 -0
  4. package/lib/app/custom-components/index.d.ts +2 -0
  5. package/lib/app/custom-components/index.d.ts.map +1 -0
  6. package/lib/app/custom-components/index.js +1 -0
  7. package/lib/{cjs/remix → app}/handle-request.server.d.ts +0 -0
  8. package/lib/app/handle-request.server.d.ts.map +1 -0
  9. package/lib/{remix → app}/handle-request.server.js +0 -0
  10. package/lib/{cjs/remix → app}/index.d.ts +1 -0
  11. package/lib/app/index.d.ts.map +1 -0
  12. package/lib/{remix → app}/index.js +1 -0
  13. package/lib/app/params.d.ts +6 -0
  14. package/lib/app/params.d.ts.map +1 -0
  15. package/lib/app/params.js +6 -0
  16. package/lib/{cjs/remix → app}/root.d.ts +1 -0
  17. package/lib/app/root.d.ts.map +1 -0
  18. package/lib/{remix → app}/root.js +0 -0
  19. package/lib/cjs/app/custom-components/image.cjs +27 -0
  20. package/lib/cjs/app/custom-components/image.d.ts +9 -0
  21. package/lib/cjs/app/custom-components/image.d.ts.map +1 -0
  22. package/lib/cjs/app/custom-components/index.cjs +27 -0
  23. package/lib/cjs/app/custom-components/index.d.ts +2 -0
  24. package/lib/cjs/app/custom-components/index.d.ts.map +1 -0
  25. package/lib/cjs/{remix → app}/handle-request.server.cjs +0 -0
  26. package/lib/{remix → cjs/app}/handle-request.server.d.ts +0 -0
  27. package/lib/cjs/app/handle-request.server.d.ts.map +1 -0
  28. package/lib/cjs/{remix → app}/index.cjs +1 -0
  29. package/lib/{remix → cjs/app}/index.d.ts +1 -0
  30. package/lib/cjs/app/index.d.ts.map +1 -0
  31. package/lib/cjs/app/params.cjs +11 -0
  32. package/lib/cjs/app/params.d.ts +6 -0
  33. package/lib/cjs/app/params.d.ts.map +1 -0
  34. package/lib/cjs/{remix → app}/root.cjs +0 -0
  35. package/lib/{remix → cjs/app}/root.d.ts +1 -0
  36. package/lib/cjs/app/root.d.ts.map +1 -0
  37. package/lib/cjs/components/{body.props.json → __generated__/body.props.json} +0 -0
  38. package/lib/cjs/components/{bold.props.json → __generated__/bold.props.json} +0 -0
  39. package/lib/cjs/components/{box.props.json → __generated__/box.props.json} +0 -0
  40. package/lib/cjs/components/{button.props.json → __generated__/button.props.json} +0 -0
  41. package/lib/cjs/components/{form.props.json → __generated__/form.props.json} +0 -0
  42. package/lib/cjs/components/{heading.props.json → __generated__/heading.props.json} +0 -0
  43. package/lib/{components → cjs/components/__generated__}/image.props.json +0 -15
  44. package/lib/cjs/components/{input.props.json → __generated__/input.props.json} +0 -0
  45. package/lib/cjs/components/{italic.props.json → __generated__/italic.props.json} +0 -0
  46. package/lib/cjs/components/{link.props.json → __generated__/link.props.json} +0 -0
  47. package/lib/cjs/components/{paragraph.props.json → __generated__/paragraph.props.json} +0 -0
  48. package/lib/cjs/components/{span.props.json → __generated__/span.props.json} +0 -0
  49. package/lib/cjs/components/{subscript.props.json → __generated__/subscript.props.json} +0 -0
  50. package/lib/cjs/components/{superscript.props.json → __generated__/superscript.props.json} +0 -0
  51. package/lib/cjs/components/{text-block.props.json → __generated__/text-block.props.json} +0 -0
  52. package/lib/cjs/components/index.cjs +75 -31
  53. package/lib/cjs/components/index.d.ts +89 -15
  54. package/lib/cjs/components/index.d.ts.map +1 -1
  55. package/lib/cjs/components/index.test.cjs +3 -29
  56. package/lib/cjs/components/italic.ws.cjs +7 -0
  57. package/lib/cjs/components/italic.ws.d.ts.map +1 -1
  58. package/lib/cjs/components/meta.cjs +20 -18
  59. package/lib/cjs/components/meta.d.ts +1 -16
  60. package/lib/cjs/components/meta.d.ts.map +1 -1
  61. package/lib/cjs/css/categories.d.ts +1 -0
  62. package/lib/cjs/css/categories.d.ts.map +1 -1
  63. package/lib/cjs/css/get-browser-style.cjs +2 -1
  64. package/lib/cjs/css/get-browser-style.d.ts.map +1 -1
  65. package/lib/cjs/db/instance.d.ts +2 -2
  66. package/lib/cjs/db/instance.d.ts.map +1 -1
  67. package/lib/cjs/index.cjs +4 -3
  68. package/lib/cjs/index.d.ts +3 -2
  69. package/lib/cjs/index.d.ts.map +1 -1
  70. package/lib/cjs/tree/root.cjs +28 -0
  71. package/lib/cjs/tree/root.d.ts +2 -0
  72. package/lib/cjs/tree/root.d.ts.map +1 -1
  73. package/lib/cjs/tree/session-storage-polyfill.d.ts +1 -0
  74. package/lib/cjs/tree/session-storage-polyfill.d.ts.map +1 -1
  75. package/lib/cjs/tree/wrapper-component.cjs +2 -25
  76. package/lib/cjs/tree/wrapper-component.d.ts +1 -0
  77. package/lib/cjs/tree/wrapper-component.d.ts.map +1 -1
  78. package/lib/cjs/user-props/use-user-props-asset.cjs +22 -0
  79. package/lib/cjs/user-props/use-user-props-asset.d.ts +8 -0
  80. package/lib/cjs/user-props/use-user-props-asset.d.ts.map +1 -0
  81. package/lib/cjs/user-props/use-user-props.cjs +2 -12
  82. package/lib/cjs/user-props/use-user-props.d.ts.map +1 -1
  83. package/lib/components/{body.props.json → __generated__/body.props.json} +0 -0
  84. package/lib/components/{bold.props.json → __generated__/bold.props.json} +0 -0
  85. package/lib/components/{box.props.json → __generated__/box.props.json} +0 -0
  86. package/lib/components/{button.props.json → __generated__/button.props.json} +0 -0
  87. package/lib/components/{form.props.json → __generated__/form.props.json} +0 -0
  88. package/lib/components/{heading.props.json → __generated__/heading.props.json} +0 -0
  89. package/lib/{cjs/components → components/__generated__}/image.props.json +0 -15
  90. package/lib/components/{input.props.json → __generated__/input.props.json} +0 -0
  91. package/lib/components/{italic.props.json → __generated__/italic.props.json} +0 -0
  92. package/lib/components/{link.props.json → __generated__/link.props.json} +0 -0
  93. package/lib/components/{paragraph.props.json → __generated__/paragraph.props.json} +0 -0
  94. package/lib/components/{span.props.json → __generated__/span.props.json} +0 -0
  95. package/lib/components/{subscript.props.json → __generated__/subscript.props.json} +0 -0
  96. package/lib/components/{superscript.props.json → __generated__/superscript.props.json} +0 -0
  97. package/lib/components/{text-block.props.json → __generated__/text-block.props.json} +0 -0
  98. package/lib/components/index.d.ts +89 -15
  99. package/lib/components/index.d.ts.map +1 -1
  100. package/lib/components/index.js +70 -15
  101. package/lib/components/index.test.js +3 -6
  102. package/lib/components/italic.ws.d.ts.map +1 -1
  103. package/lib/components/italic.ws.js +7 -0
  104. package/lib/components/meta.d.ts +1 -16
  105. package/lib/components/meta.d.ts.map +1 -1
  106. package/lib/components/meta.js +18 -17
  107. package/lib/css/categories.d.ts +1 -0
  108. package/lib/css/categories.d.ts.map +1 -1
  109. package/lib/css/get-browser-style.d.ts.map +1 -1
  110. package/lib/css/get-browser-style.js +2 -1
  111. package/lib/db/instance.d.ts +2 -2
  112. package/lib/db/instance.d.ts.map +1 -1
  113. package/lib/index.d.ts +3 -2
  114. package/lib/index.d.ts.map +1 -1
  115. package/lib/index.js +3 -2
  116. package/lib/tree/root.d.ts +2 -0
  117. package/lib/tree/root.d.ts.map +1 -1
  118. package/lib/tree/root.js +5 -0
  119. package/lib/tree/session-storage-polyfill.d.ts +1 -0
  120. package/lib/tree/session-storage-polyfill.d.ts.map +1 -1
  121. package/lib/tree/wrapper-component.d.ts +1 -0
  122. package/lib/tree/wrapper-component.d.ts.map +1 -1
  123. package/lib/tree/wrapper-component.js +2 -2
  124. package/lib/tsconfig.tsbuildinfo +1 -1
  125. package/lib/user-props/use-user-props-asset.d.ts +8 -0
  126. package/lib/user-props/use-user-props-asset.d.ts.map +1 -0
  127. package/lib/user-props/use-user-props-asset.js +18 -0
  128. package/lib/user-props/use-user-props.d.ts.map +1 -1
  129. package/lib/user-props/use-user-props.js +3 -13
  130. package/package.json +7 -8
  131. package/lib/arg-types/utils.d.ts +0 -10
  132. package/lib/arg-types/utils.d.ts.map +0 -1
  133. package/lib/arg-types/utils.js +0 -83
  134. package/lib/cjs/arg-types/utils.cjs +0 -88
  135. package/lib/cjs/arg-types/utils.d.ts +0 -10
  136. package/lib/cjs/arg-types/utils.d.ts.map +0 -1
  137. package/lib/cjs/remix/handle-request.server.d.ts.map +0 -1
  138. package/lib/cjs/remix/index.d.ts.map +0 -1
  139. package/lib/cjs/remix/root.d.ts.map +0 -1
  140. package/lib/remix/handle-request.server.d.ts.map +0 -1
  141. package/lib/remix/index.d.ts.map +0 -1
  142. package/lib/remix/root.d.ts.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { type ComponentProps } from "react";
2
+ import { Image as WebstudioImage } from "@webstudio-is/image";
3
+ import { idAttribute } from "../../tree/wrapper-component";
4
+ declare type Props = ComponentProps<typeof WebstudioImage> & {
5
+ [idAttribute]: string;
6
+ };
7
+ export declare const Component: import("react").ForwardRefExoticComponent<Pick<Props, "key" | keyof import("react").ImgHTMLAttributes<HTMLImageElement> | "data-ws-id" | "quality" | "loader" | "optimize"> & import("react").RefAttributes<HTMLImageElement>>;
8
+ export {};
9
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/app/custom-components/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,IAAI,cAAc,EAAW,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAK3D,aAAK,KAAK,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,SAAS,gOAqBrB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useMemo, } from "react";
3
+ import { Image as WebstudioImage, loaders } from "@webstudio-is/image";
4
+ import { Image as SdkImage } from "../../components/image";
5
+ import { useUserPropsAsset } from "../../user-props/use-user-props-asset";
6
+ import { idAttribute } from "../../tree/wrapper-component";
7
+ import { getParams } from "../params";
8
+ const defaultTag = "img";
9
+ export const Component = forwardRef((props, ref) => {
10
+ const componentId = props[idAttribute];
11
+ const asset = useUserPropsAsset(componentId, "src");
12
+ const params = getParams();
13
+ const loader = useMemo(() => {
14
+ if (asset == null)
15
+ return null;
16
+ if (asset.location === "REMOTE")
17
+ return loaders.cloudflareImageLoader(params);
18
+ return loaders.localImageLoader();
19
+ }, [asset, params]);
20
+ if (asset === null || loader == null)
21
+ return _jsx(SdkImage, { ...props, ref: ref });
22
+ return (_jsx(WebstudioImage, { ...props, loader: loader, optimize: true, ref: ref }));
23
+ });
24
+ Component.displayName = "Image";
@@ -0,0 +1,2 @@
1
+ export * as Image from "./image";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/custom-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export * as Image from "./image";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-request.server.d.ts","sourceRoot":"","sources":["../../src/app/handle-request.server.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,aAAa,YACf,OAAO,sBACI,MAAM,mBACT,OAAO,gBACV,YAAY,aAY3B,CAAC"}
File without changes
@@ -1,3 +1,4 @@
1
1
  export * from "./root";
2
2
  export * from "./handle-request.server";
3
+ export * from "./params";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./root";
2
2
  export * from "./handle-request.server";
3
+ export * from "./params";
@@ -0,0 +1,6 @@
1
+ export declare type Params = {
2
+ resizeOrigin?: string;
3
+ };
4
+ export declare const getParams: () => Params;
5
+ export declare const setParams: (newParams: Params | null) => void;
6
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/app/params.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,eAAO,MAAM,SAAS,QAAO,MAA+B,CAAC;AAE7D,eAAO,MAAM,SAAS,cAAe,MAAM,GAAG,IAAI,SAEjD,CAAC"}
@@ -0,0 +1,6 @@
1
+ let params = {};
2
+ const emptyParams = {};
3
+ export const getParams = () => params ?? emptyParams;
4
+ export const setParams = (newParams) => {
5
+ params = newParams;
6
+ };
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { Outlet as DefaultOutlet } from "@remix-run/react";
2
3
  /**
3
4
  * We are using Outlet prop from index layout when user renders site from a subdomain.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/app/root.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGxE;;GAEG;AACH,eAAO,MAAM,IAAI;YAGP,oBAAoB;iBAiB7B,CAAC"}
File without changes
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Component = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const image_1 = require("@webstudio-is/image");
7
+ const image_2 = require("../../components/image");
8
+ const use_user_props_asset_1 = require("../../user-props/use-user-props-asset");
9
+ const wrapper_component_1 = require("../../tree/wrapper-component");
10
+ const params_1 = require("../params");
11
+ const defaultTag = "img";
12
+ exports.Component = (0, react_1.forwardRef)((props, ref) => {
13
+ const componentId = props[wrapper_component_1.idAttribute];
14
+ const asset = (0, use_user_props_asset_1.useUserPropsAsset)(componentId, "src");
15
+ const params = (0, params_1.getParams)();
16
+ const loader = (0, react_1.useMemo)(() => {
17
+ if (asset == null)
18
+ return null;
19
+ if (asset.location === "REMOTE")
20
+ return image_1.loaders.cloudflareImageLoader(params);
21
+ return image_1.loaders.localImageLoader();
22
+ }, [asset, params]);
23
+ if (asset === null || loader == null)
24
+ return (0, jsx_runtime_1.jsx)(image_2.Image, { ...props, ref: ref });
25
+ return ((0, jsx_runtime_1.jsx)(image_1.Image, { ...props, loader: loader, optimize: true, ref: ref }));
26
+ });
27
+ exports.Component.displayName = "Image";
@@ -0,0 +1,9 @@
1
+ import { type ComponentProps } from "react";
2
+ import { Image as WebstudioImage } from "@webstudio-is/image";
3
+ import { idAttribute } from "../../tree/wrapper-component";
4
+ declare type Props = ComponentProps<typeof WebstudioImage> & {
5
+ [idAttribute]: string;
6
+ };
7
+ export declare const Component: import("react").ForwardRefExoticComponent<Pick<Props, "key" | keyof import("react").ImgHTMLAttributes<HTMLImageElement> | "data-ws-id" | "quality" | "loader" | "optimize"> & import("react").RefAttributes<HTMLImageElement>>;
8
+ export {};
9
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/app/custom-components/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,IAAI,cAAc,EAAW,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAK3D,aAAK,KAAK,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,SAAS,gOAqBrB,CAAC"}
@@ -0,0 +1,27 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Image = void 0;
27
+ exports.Image = __importStar(require("./image"));
@@ -0,0 +1,2 @@
1
+ export * as Image from "./image";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/custom-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-request.server.d.ts","sourceRoot":"","sources":["../../../src/app/handle-request.server.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,aAAa,YACf,OAAO,sBACI,MAAM,mBACT,OAAO,gBACV,YAAY,aAY3B,CAAC"}
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./root"), exports);
18
18
  __exportStar(require("./handle-request.server"), exports);
19
+ __exportStar(require("./params"), exports);
@@ -1,3 +1,4 @@
1
1
  export * from "./root";
2
2
  export * from "./handle-request.server";
3
+ export * from "./params";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setParams = exports.getParams = void 0;
4
+ let params = {};
5
+ const emptyParams = {};
6
+ const getParams = () => params ?? emptyParams;
7
+ exports.getParams = getParams;
8
+ const setParams = (newParams) => {
9
+ params = newParams;
10
+ };
11
+ exports.setParams = setParams;
@@ -0,0 +1,6 @@
1
+ export declare type Params = {
2
+ resizeOrigin?: string;
3
+ };
4
+ export declare const getParams: () => Params;
5
+ export declare const setParams: (newParams: Params | null) => void;
6
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/app/params.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,eAAO,MAAM,SAAS,QAAO,MAA+B,CAAC;AAE7D,eAAO,MAAM,SAAS,cAAe,MAAM,GAAG,IAAI,SAEjD,CAAC"}
File without changes
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { Outlet as DefaultOutlet } from "@remix-run/react";
2
3
  /**
3
4
  * We are using Outlet prop from index layout when user renders site from a subdomain.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/app/root.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGxE;;GAEG;AACH,eAAO,MAAM,IAAI;YAGP,oBAAoB;iBAiB7B,CAAC"}
@@ -556,20 +556,5 @@
556
556
  "defaultValue": null,
557
557
  "required": false,
558
558
  "type": "text"
559
- },
560
- "quality": {
561
- "defaultValue": null,
562
- "required": false,
563
- "type": "number"
564
- },
565
- "loader": {
566
- "defaultValue": null,
567
- "required": false,
568
- "type": "text"
569
- },
570
- "optimize": {
571
- "defaultValue": null,
572
- "required": false,
573
- "type": "boolean"
574
559
  }
575
560
  }
@@ -3,34 +3,78 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Image = exports.Form = exports.Input = exports.Button = exports.Subscript = exports.Superscript = exports.Italic = exports.Bold = exports.Span = exports.Link = exports.Paragraph = exports.Heading = exports.TextBlock = exports.Box = exports.Body = void 0;
7
- var body_ws_1 = require("./body.ws");
8
- Object.defineProperty(exports, "Body", { enumerable: true, get: function () { return __importDefault(body_ws_1).default; } });
9
- var box_ws_1 = require("./box.ws");
10
- Object.defineProperty(exports, "Box", { enumerable: true, get: function () { return __importDefault(box_ws_1).default; } });
11
- var text_block_ws_1 = require("./text-block.ws");
12
- Object.defineProperty(exports, "TextBlock", { enumerable: true, get: function () { return __importDefault(text_block_ws_1).default; } });
13
- var heading_ws_1 = require("./heading.ws");
14
- Object.defineProperty(exports, "Heading", { enumerable: true, get: function () { return __importDefault(heading_ws_1).default; } });
15
- var paragraph_ws_1 = require("./paragraph.ws");
16
- Object.defineProperty(exports, "Paragraph", { enumerable: true, get: function () { return __importDefault(paragraph_ws_1).default; } });
17
- var link_ws_1 = require("./link.ws");
18
- Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return __importDefault(link_ws_1).default; } });
19
- var span_ws_1 = require("./span.ws");
20
- Object.defineProperty(exports, "Span", { enumerable: true, get: function () { return __importDefault(span_ws_1).default; } });
21
- var bold_ws_1 = require("./bold.ws");
22
- Object.defineProperty(exports, "Bold", { enumerable: true, get: function () { return __importDefault(bold_ws_1).default; } });
23
- var italic_ws_1 = require("./italic.ws");
24
- Object.defineProperty(exports, "Italic", { enumerable: true, get: function () { return __importDefault(italic_ws_1).default; } });
25
- var superscript_ws_1 = require("./superscript.ws");
26
- Object.defineProperty(exports, "Superscript", { enumerable: true, get: function () { return __importDefault(superscript_ws_1).default; } });
27
- var subscript_ws_1 = require("./subscript.ws");
28
- Object.defineProperty(exports, "Subscript", { enumerable: true, get: function () { return __importDefault(subscript_ws_1).default; } });
29
- var button_ws_1 = require("./button.ws");
30
- Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(button_ws_1).default; } });
31
- var input_ws_1 = require("./input.ws");
32
- Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return __importDefault(input_ws_1).default; } });
33
- var form_ws_1 = require("./form.ws");
34
- Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return __importDefault(form_ws_1).default; } });
35
- var image_ws_1 = require("./image.ws");
36
- Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return __importDefault(image_ws_1).default; } });
6
+ exports.registerComponents = exports.getComponent = exports.getComponentMeta = exports.getComponentNames = void 0;
7
+ const body_ws_1 = __importDefault(require("./body.ws"));
8
+ const box_ws_1 = __importDefault(require("./box.ws"));
9
+ const text_block_ws_1 = __importDefault(require("./text-block.ws"));
10
+ const heading_ws_1 = __importDefault(require("./heading.ws"));
11
+ const paragraph_ws_1 = __importDefault(require("./paragraph.ws"));
12
+ const link_ws_1 = __importDefault(require("./link.ws"));
13
+ const span_ws_1 = __importDefault(require("./span.ws"));
14
+ const bold_ws_1 = __importDefault(require("./bold.ws"));
15
+ const italic_ws_1 = __importDefault(require("./italic.ws"));
16
+ const superscript_ws_1 = __importDefault(require("./superscript.ws"));
17
+ const subscript_ws_1 = __importDefault(require("./subscript.ws"));
18
+ const button_ws_1 = __importDefault(require("./button.ws"));
19
+ const input_ws_1 = __importDefault(require("./input.ws"));
20
+ const form_ws_1 = __importDefault(require("./form.ws"));
21
+ const image_ws_1 = __importDefault(require("./image.ws"));
22
+ const components = {
23
+ Body: body_ws_1.default,
24
+ Box: box_ws_1.default,
25
+ TextBlock: text_block_ws_1.default,
26
+ Heading: heading_ws_1.default,
27
+ Paragraph: paragraph_ws_1.default,
28
+ Link: link_ws_1.default,
29
+ Span: span_ws_1.default,
30
+ Bold: bold_ws_1.default,
31
+ Italic: italic_ws_1.default,
32
+ Superscript: superscript_ws_1.default,
33
+ Subscript: subscript_ws_1.default,
34
+ Button: button_ws_1.default,
35
+ Input: input_ws_1.default,
36
+ Form: form_ws_1.default,
37
+ Image: image_ws_1.default,
38
+ };
39
+ let registeredComponents = null;
40
+ const componentNames = Object.keys(components);
41
+ const getComponentNames = () => {
42
+ const uniqueNames = new Set([
43
+ ...componentNames,
44
+ ...Object.keys(registeredComponents || {}),
45
+ ]);
46
+ return [...uniqueNames.values()];
47
+ };
48
+ exports.getComponentNames = getComponentNames;
49
+ const getComponentMeta = (name) => {
50
+ if (registeredComponents != null &&
51
+ name in registeredComponents &&
52
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
53
+ registeredComponents[name].meta != null) {
54
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
55
+ return { ...components[name], ...registeredComponents[name].meta };
56
+ }
57
+ return components[name];
58
+ };
59
+ exports.getComponentMeta = getComponentMeta;
60
+ /**
61
+ * @todo Remove Component from meta and read directly (via import),
62
+ * as meta information is not needed during production render.
63
+ **/
64
+ const getComponent = (name) => {
65
+ return registeredComponents != null && name in registeredComponents
66
+ ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
+ registeredComponents[name]
68
+ .Component
69
+ : components[name].Component;
70
+ };
71
+ exports.getComponent = getComponent;
72
+ /**
73
+ * @todo: Allow register any component.
74
+ * Now we can register only existings Components, as all our type system would
75
+ * break otherwise, see getComponent etc. So its overwriteComponent now
76
+ **/
77
+ const registerComponents = (components) => {
78
+ registeredComponents = components;
79
+ };
80
+ exports.registerComponents = registerComponents;