@valbuild/next 0.45.0 → 0.46.1

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.
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import NextImage from "next/image";
3
3
  import { Image } from "@valbuild/react/stega";
4
- export type ValImageProps = Omit<React.ComponentProps<typeof NextImage>, "src" | "srcset"> & {
4
+ export type ValImageProps = Omit<React.ComponentProps<typeof NextImage>, "src" | "srcset" | "layout" | "objectFit" | "objectPosition" | "lazyBoundary" | "lazyRoot"> & {
5
5
  src: Image;
6
+ disableHotspot?: boolean;
6
7
  };
7
8
  export declare function ValImage(props: ValImageProps): import("react/jsx-runtime").JSX.Element;
@@ -15,7 +15,7 @@ export { type SelectorSource, type SelectorOf, GenericSelector, } from "@valbuil
15
15
  export { ValRichText } from "@valbuild/react/internal";
16
16
  export { type ValEncodedString, type Image } from "@valbuild/react/stega";
17
17
  export { ValProvider } from "./ValProvider.js";
18
- export { ValImage } from "./ValImage.js";
18
+ export { ValImage, type ValImageProps } from "./ValImage.js";
19
19
  export { initVal } from "./initVal.js";
20
20
  import type { UseValType } from "./client/initValClient.js";
21
21
  import { Schema, SelectorSource } from "@valbuild/core";
@@ -124,13 +124,14 @@ function decodeValPathOfString(encodedString) {
124
124
  return stega.stegaDecodeString(encodedString);
125
125
  }
126
126
 
127
- var _excluded = ["src", "alt", "style", "width", "height"];
127
+ var _excluded = ["src", "alt", "style", "width", "disableHotspot", "height"];
128
128
  function ValImage(props) {
129
129
  var _src$metadata, _src$metadata2, _src$metadata3;
130
130
  var src = props.src,
131
131
  alt = props.alt,
132
132
  style = props.style,
133
133
  width = props.width,
134
+ disableHotspot = props.disableHotspot,
134
135
  height = props.height,
135
136
  rest = _objectWithoutProperties(props, _excluded);
136
137
  var valPathOfUrl = decodeValPathOfString(src.url);
@@ -140,18 +141,26 @@ function ValImage(props) {
140
141
  valPaths.push(maybeValPathOfAlt);
141
142
  }
142
143
  var hotspot = (_src$metadata = src.metadata) === null || _src$metadata === void 0 ? void 0 : _src$metadata.hotspot;
143
- var imageStyle = hotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
144
+ var imageStyle = hotspot && !disableHotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
144
145
  objectPosition: "".concat(hotspot.x * 100, "% ").concat(hotspot.y * 100, "%")
145
146
  }) : style;
146
- return /*#__PURE__*/jsxRuntime.jsx(NextImage__default["default"], _objectSpread2(_objectSpread2({}, rest), {}, {
147
+ var useMetadataDimensions = src.metadata !== undefined && !rest.fill && !width && !height;
148
+ return /*#__PURE__*/jsxRuntime.jsx(NextImage__default["default"], _objectSpread2(_objectSpread2({}, _objectSpread2(_objectSpread2({}, rest), {}, {
149
+ layout: undefined,
150
+ objectFit: undefined,
151
+ objectPosition: undefined,
152
+ lazyBoundary: undefined,
153
+ lazyRoot: undefined
154
+ })), {}, {
147
155
  src: valPathOfUrl ? raw(src.url) : src.url,
148
156
  "data-val-path": valPaths.join(","),
149
157
  "data-val-attr-alt": maybeValPathOfAlt,
150
158
  "data-val-attr-src": valPathOfUrl,
151
159
  style: imageStyle,
152
160
  alt: raw(alt),
153
- width: width || ((_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.width),
154
- height: height || ((_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.height)
161
+ fill: rest.fill,
162
+ width: useMetadataDimensions ? (_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.width : width,
163
+ height: useMetadataDimensions ? (_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.height : height
155
164
  }));
156
165
  }
157
166
 
@@ -124,13 +124,14 @@ function decodeValPathOfString(encodedString) {
124
124
  return stega.stegaDecodeString(encodedString);
125
125
  }
126
126
 
127
- var _excluded = ["src", "alt", "style", "width", "height"];
127
+ var _excluded = ["src", "alt", "style", "width", "disableHotspot", "height"];
128
128
  function ValImage(props) {
129
129
  var _src$metadata, _src$metadata2, _src$metadata3;
130
130
  var src = props.src,
131
131
  alt = props.alt,
132
132
  style = props.style,
133
133
  width = props.width,
134
+ disableHotspot = props.disableHotspot,
134
135
  height = props.height,
135
136
  rest = _objectWithoutProperties(props, _excluded);
136
137
  var valPathOfUrl = decodeValPathOfString(src.url);
@@ -140,18 +141,26 @@ function ValImage(props) {
140
141
  valPaths.push(maybeValPathOfAlt);
141
142
  }
142
143
  var hotspot = (_src$metadata = src.metadata) === null || _src$metadata === void 0 ? void 0 : _src$metadata.hotspot;
143
- var imageStyle = hotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
144
+ var imageStyle = hotspot && !disableHotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
144
145
  objectPosition: "".concat(hotspot.x * 100, "% ").concat(hotspot.y * 100, "%")
145
146
  }) : style;
146
- return /*#__PURE__*/jsxRuntime.jsx(NextImage__default["default"], _objectSpread2(_objectSpread2({}, rest), {}, {
147
+ var useMetadataDimensions = src.metadata !== undefined && !rest.fill && !width && !height;
148
+ return /*#__PURE__*/jsxRuntime.jsx(NextImage__default["default"], _objectSpread2(_objectSpread2({}, _objectSpread2(_objectSpread2({}, rest), {}, {
149
+ layout: undefined,
150
+ objectFit: undefined,
151
+ objectPosition: undefined,
152
+ lazyBoundary: undefined,
153
+ lazyRoot: undefined
154
+ })), {}, {
147
155
  src: valPathOfUrl ? raw(src.url) : src.url,
148
156
  "data-val-path": valPaths.join(","),
149
157
  "data-val-attr-alt": maybeValPathOfAlt,
150
158
  "data-val-attr-src": valPathOfUrl,
151
159
  style: imageStyle,
152
160
  alt: raw(alt),
153
- width: width || ((_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.width),
154
- height: height || ((_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.height)
161
+ fill: rest.fill,
162
+ width: useMetadataDimensions ? (_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.width : width,
163
+ height: useMetadataDimensions ? (_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.height : height
155
164
  }));
156
165
  }
157
166
 
@@ -100,13 +100,14 @@ function decodeValPathOfString(encodedString) {
100
100
  return stegaDecodeString(encodedString);
101
101
  }
102
102
 
103
- var _excluded = ["src", "alt", "style", "width", "height"];
103
+ var _excluded = ["src", "alt", "style", "width", "disableHotspot", "height"];
104
104
  function ValImage(props) {
105
105
  var _src$metadata, _src$metadata2, _src$metadata3;
106
106
  var src = props.src,
107
107
  alt = props.alt,
108
108
  style = props.style,
109
109
  width = props.width,
110
+ disableHotspot = props.disableHotspot,
110
111
  height = props.height,
111
112
  rest = _objectWithoutProperties(props, _excluded);
112
113
  var valPathOfUrl = decodeValPathOfString(src.url);
@@ -116,18 +117,26 @@ function ValImage(props) {
116
117
  valPaths.push(maybeValPathOfAlt);
117
118
  }
118
119
  var hotspot = (_src$metadata = src.metadata) === null || _src$metadata === void 0 ? void 0 : _src$metadata.hotspot;
119
- var imageStyle = hotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
120
+ var imageStyle = hotspot && !disableHotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
120
121
  objectPosition: "".concat(hotspot.x * 100, "% ").concat(hotspot.y * 100, "%")
121
122
  }) : style;
122
- return /*#__PURE__*/jsx(NextImage, _objectSpread2(_objectSpread2({}, rest), {}, {
123
+ var useMetadataDimensions = src.metadata !== undefined && !rest.fill && !width && !height;
124
+ return /*#__PURE__*/jsx(NextImage, _objectSpread2(_objectSpread2({}, _objectSpread2(_objectSpread2({}, rest), {}, {
125
+ layout: undefined,
126
+ objectFit: undefined,
127
+ objectPosition: undefined,
128
+ lazyBoundary: undefined,
129
+ lazyRoot: undefined
130
+ })), {}, {
123
131
  src: valPathOfUrl ? raw(src.url) : src.url,
124
132
  "data-val-path": valPaths.join(","),
125
133
  "data-val-attr-alt": maybeValPathOfAlt,
126
134
  "data-val-attr-src": valPathOfUrl,
127
135
  style: imageStyle,
128
136
  alt: raw(alt),
129
- width: width || ((_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.width),
130
- height: height || ((_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.height)
137
+ fill: rest.fill,
138
+ width: useMetadataDimensions ? (_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.width : width,
139
+ height: useMetadataDimensions ? (_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.height : height
131
140
  }));
132
141
  }
133
142
 
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "next",
9
9
  "react"
10
10
  ],
11
- "version": "0.45.0",
11
+ "version": "0.46.1",
12
12
  "scripts": {
13
13
  "typecheck": "tsc --noEmit",
14
14
  "test": "jest"
@@ -45,9 +45,9 @@
45
45
  "exports": true
46
46
  },
47
47
  "dependencies": {
48
- "@valbuild/core": "~0.45.0",
49
- "@valbuild/react": "~0.45.0",
50
- "@valbuild/server": "~0.45.0",
48
+ "@valbuild/core": "~0.46.0",
49
+ "@valbuild/react": "~0.46.0",
50
+ "@valbuild/server": "~0.46.0",
51
51
  "client-only": "^0.0.1",
52
52
  "server-only": "^0.0.1"
53
53
  },