@valbuild/next 0.65.2 → 0.67.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.
package/README.md CHANGED
@@ -506,14 +506,14 @@ s.image();
506
506
 
507
507
  ### Initializing image content
508
508
 
509
- Local images must be stored under the `.public` folder.
509
+ Local images must be stored under the `/public/val` folder.
510
510
 
511
511
  ```ts
512
512
  import { s, c } from "../val.config";
513
513
 
514
514
  export const schema = s.image();
515
515
 
516
- export default c.define("/image", schema, c.file("/public/myfile.jpg"));
516
+ export default c.define("/image", schema, c.image("/public/myfile.jpg"));
517
517
  ```
518
518
 
519
519
  **NOTE**: This will not validate, since images requires `width`, `height` and `mimeType`. You can fix validation errors like this by using the CLI or by using the VS Code plugin.
@@ -1,6 +1,7 @@
1
1
  import NextImage from "next/image";
2
2
  import { Image } from "@valbuild/react/stega";
3
- export type ValImageProps = Omit<React.ComponentProps<typeof NextImage>, "src" | "srcset" | "layout" | "objectFit" | "objectPosition" | "lazyBoundary" | "lazyRoot"> & {
3
+ export type ValImageProps = Omit<React.ComponentProps<typeof NextImage>, "src" | "alt" | "srcset" | "layout" | "objectFit" | "objectPosition" | "lazyBoundary" | "lazyRoot"> & {
4
+ alt?: string;
4
5
  src: Image;
5
6
  disableHotspot?: boolean;
6
7
  };
@@ -118,7 +118,7 @@ function _objectWithoutProperties(e, t) {
118
118
 
119
119
  var _excluded = ["src", "alt", "style", "width", "disableHotspot", "height"];
120
120
  function ValImage(props) {
121
- var _src$metadata, _src$metadata2, _src$metadata3, _src$metadata4;
121
+ var _src$metadata, _src$metadata2, _src$metadata3, _src$metadata4, _src$metadata5, _src$metadata6;
122
122
  var src = props.src,
123
123
  alt = props.alt,
124
124
  style = props.style,
@@ -136,7 +136,7 @@ function ValImage(props) {
136
136
  var imageStyle = hotspot && !disableHotspot ? objectSpread2._objectSpread2(objectSpread2._objectSpread2({}, style), {}, {
137
137
  objectPosition: "".concat(hotspot.x * 100, "% ").concat(hotspot.y * 100, "%")
138
138
  }) : style;
139
- var useMetadataDimensions = src.metadata !== undefined && !rest.fill && !width && !height;
139
+ var preferMetadataDims = src.metadata !== undefined && !rest.fill && !width && !height;
140
140
  var isUnoptimized = rest.unoptimized !== undefined ? rest.unoptimized : ((_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.mimeType) === "image/svg+xml"; // SVGs are unoptimized by default
141
141
  return /*#__PURE__*/jsxRuntime.jsx(NextImage__default["default"], objectSpread2._objectSpread2(objectSpread2._objectSpread2({}, objectSpread2._objectSpread2(objectSpread2._objectSpread2({}, rest), {}, {
142
142
  layout: undefined,
@@ -150,10 +150,10 @@ function ValImage(props) {
150
150
  "data-val-attr-alt": maybeValPathOfAlt,
151
151
  "data-val-attr-src": valPathOfUrl,
152
152
  style: imageStyle,
153
- alt: raw(alt),
153
+ alt: alt ? raw(alt) : (_src$metadata3 = src.metadata) !== null && _src$metadata3 !== void 0 && _src$metadata3.alt ? raw((_src$metadata4 = src.metadata) === null || _src$metadata4 === void 0 ? void 0 : _src$metadata4.alt) : "",
154
154
  fill: rest.fill,
155
- width: useMetadataDimensions ? (_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.width : width,
156
- height: useMetadataDimensions ? (_src$metadata4 = src.metadata) === null || _src$metadata4 === void 0 ? void 0 : _src$metadata4.height : height,
155
+ width: preferMetadataDims ? (_src$metadata5 = src.metadata) === null || _src$metadata5 === void 0 ? void 0 : _src$metadata5.width : width,
156
+ height: preferMetadataDims ? (_src$metadata6 = src.metadata) === null || _src$metadata6 === void 0 ? void 0 : _src$metadata6.height : height,
157
157
  unoptimized: isUnoptimized
158
158
  }));
159
159
  }
@@ -118,7 +118,7 @@ function _objectWithoutProperties(e, t) {
118
118
 
119
119
  var _excluded = ["src", "alt", "style", "width", "disableHotspot", "height"];
120
120
  function ValImage(props) {
121
- var _src$metadata, _src$metadata2, _src$metadata3, _src$metadata4;
121
+ var _src$metadata, _src$metadata2, _src$metadata3, _src$metadata4, _src$metadata5, _src$metadata6;
122
122
  var src = props.src,
123
123
  alt = props.alt,
124
124
  style = props.style,
@@ -136,7 +136,7 @@ function ValImage(props) {
136
136
  var imageStyle = hotspot && !disableHotspot ? objectSpread2._objectSpread2(objectSpread2._objectSpread2({}, style), {}, {
137
137
  objectPosition: "".concat(hotspot.x * 100, "% ").concat(hotspot.y * 100, "%")
138
138
  }) : style;
139
- var useMetadataDimensions = src.metadata !== undefined && !rest.fill && !width && !height;
139
+ var preferMetadataDims = src.metadata !== undefined && !rest.fill && !width && !height;
140
140
  var isUnoptimized = rest.unoptimized !== undefined ? rest.unoptimized : ((_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.mimeType) === "image/svg+xml"; // SVGs are unoptimized by default
141
141
  return /*#__PURE__*/jsxRuntime.jsx(NextImage__default["default"], objectSpread2._objectSpread2(objectSpread2._objectSpread2({}, objectSpread2._objectSpread2(objectSpread2._objectSpread2({}, rest), {}, {
142
142
  layout: undefined,
@@ -150,10 +150,10 @@ function ValImage(props) {
150
150
  "data-val-attr-alt": maybeValPathOfAlt,
151
151
  "data-val-attr-src": valPathOfUrl,
152
152
  style: imageStyle,
153
- alt: raw(alt),
153
+ alt: alt ? raw(alt) : (_src$metadata3 = src.metadata) !== null && _src$metadata3 !== void 0 && _src$metadata3.alt ? raw((_src$metadata4 = src.metadata) === null || _src$metadata4 === void 0 ? void 0 : _src$metadata4.alt) : "",
154
154
  fill: rest.fill,
155
- width: useMetadataDimensions ? (_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.width : width,
156
- height: useMetadataDimensions ? (_src$metadata4 = src.metadata) === null || _src$metadata4 === void 0 ? void 0 : _src$metadata4.height : height,
155
+ width: preferMetadataDims ? (_src$metadata5 = src.metadata) === null || _src$metadata5 === void 0 ? void 0 : _src$metadata5.width : width,
156
+ height: preferMetadataDims ? (_src$metadata6 = src.metadata) === null || _src$metadata6 === void 0 ? void 0 : _src$metadata6.height : height,
157
157
  unoptimized: isUnoptimized
158
158
  }));
159
159
  }
@@ -94,7 +94,7 @@ function _objectWithoutProperties(e, t) {
94
94
 
95
95
  var _excluded = ["src", "alt", "style", "width", "disableHotspot", "height"];
96
96
  function ValImage(props) {
97
- var _src$metadata, _src$metadata2, _src$metadata3, _src$metadata4;
97
+ var _src$metadata, _src$metadata2, _src$metadata3, _src$metadata4, _src$metadata5, _src$metadata6;
98
98
  var src = props.src,
99
99
  alt = props.alt,
100
100
  style = props.style,
@@ -112,7 +112,7 @@ function ValImage(props) {
112
112
  var imageStyle = hotspot && !disableHotspot ? _objectSpread2(_objectSpread2({}, style), {}, {
113
113
  objectPosition: "".concat(hotspot.x * 100, "% ").concat(hotspot.y * 100, "%")
114
114
  }) : style;
115
- var useMetadataDimensions = src.metadata !== undefined && !rest.fill && !width && !height;
115
+ var preferMetadataDims = src.metadata !== undefined && !rest.fill && !width && !height;
116
116
  var isUnoptimized = rest.unoptimized !== undefined ? rest.unoptimized : ((_src$metadata2 = src.metadata) === null || _src$metadata2 === void 0 ? void 0 : _src$metadata2.mimeType) === "image/svg+xml"; // SVGs are unoptimized by default
117
117
  return /*#__PURE__*/jsx(NextImage, _objectSpread2(_objectSpread2({}, _objectSpread2(_objectSpread2({}, rest), {}, {
118
118
  layout: undefined,
@@ -126,10 +126,10 @@ function ValImage(props) {
126
126
  "data-val-attr-alt": maybeValPathOfAlt,
127
127
  "data-val-attr-src": valPathOfUrl,
128
128
  style: imageStyle,
129
- alt: raw(alt),
129
+ alt: alt ? raw(alt) : (_src$metadata3 = src.metadata) !== null && _src$metadata3 !== void 0 && _src$metadata3.alt ? raw((_src$metadata4 = src.metadata) === null || _src$metadata4 === void 0 ? void 0 : _src$metadata4.alt) : "",
130
130
  fill: rest.fill,
131
- width: useMetadataDimensions ? (_src$metadata3 = src.metadata) === null || _src$metadata3 === void 0 ? void 0 : _src$metadata3.width : width,
132
- height: useMetadataDimensions ? (_src$metadata4 = src.metadata) === null || _src$metadata4 === void 0 ? void 0 : _src$metadata4.height : height,
131
+ width: preferMetadataDims ? (_src$metadata5 = src.metadata) === null || _src$metadata5 === void 0 ? void 0 : _src$metadata5.width : width,
132
+ height: preferMetadataDims ? (_src$metadata6 = src.metadata) === null || _src$metadata6 === void 0 ? void 0 : _src$metadata6.height : height,
133
133
  unoptimized: isUnoptimized
134
134
  }));
135
135
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "next",
9
9
  "react"
10
10
  ],
11
- "version": "0.65.2",
11
+ "version": "0.67.0",
12
12
  "scripts": {
13
13
  "typecheck": "tsc --noEmit",
14
14
  "test": "jest"
@@ -45,11 +45,11 @@
45
45
  "exports": true
46
46
  },
47
47
  "dependencies": {
48
- "@valbuild/core": "~0.65.2",
49
- "@valbuild/react": "~0.65.2",
50
- "@valbuild/server": "~0.65.2",
51
- "@valbuild/shared": "~0.65.2",
52
- "@valbuild/ui": "~0.65.2",
48
+ "@valbuild/core": "~0.67.0",
49
+ "@valbuild/react": "~0.67.0",
50
+ "@valbuild/server": "~0.67.0",
51
+ "@valbuild/shared": "~0.67.0",
52
+ "@valbuild/ui": "~0.67.0",
53
53
  "client-only": "^0.0.1",
54
54
  "server-only": "^0.0.1"
55
55
  },
@@ -58,7 +58,7 @@
58
58
  },
59
59
  "peerDependencies": {
60
60
  "next": ">=13.4.0",
61
- "react": ">=18.2.0"
61
+ "react": ">=18.2.0 || ^19.0 || ^19.0.0-rc"
62
62
  },
63
63
  "externals": [
64
64
  "next"