matches snapshots > without error 1`] = `
aria-labelledby="react-aria-:ri7: react-aria-:rhm:"
aria-valuemax="9999"
aria-valuemin="1"
- aria-valuenow="2026"
+ aria-valuenow="2024"
aria-valuetext="Empty"
autocorrect="off"
class="sc-bCgoVd jAtiqP aje-input__segment placeholder"
@@ -3283,7 +3283,7 @@ exports[`DatePicker > matches snapshots > without label 1`] = `
aria-labelledby="react-aria-:rgh: react-aria-:rgd:"
aria-valuemax="12"
aria-valuemin="1"
- aria-valuenow="6"
+ aria-valuenow="3"
aria-valuetext="Empty"
autocorrect="off"
class="sc-bCgoVd jAtiqP aje-input__segment placeholder"
@@ -3308,9 +3308,9 @@ exports[`DatePicker > matches snapshots > without label 1`] = `
matches snapshots > without label 1`] = `
aria-labelledby="react-aria-:rgp: react-aria-:rgd:"
aria-valuemax="9999"
aria-valuemin="1"
- aria-valuenow="2026"
+ aria-valuenow="2024"
aria-valuetext="Empty"
autocorrect="off"
class="sc-bCgoVd jAtiqP aje-input__segment placeholder"
@@ -3410,7 +3410,7 @@ exports[`DatePicker > matches snapshots > without message 1`] = `
aria-labelledby="react-aria-:rh8: react-aria-:rgv:"
aria-valuemax="12"
aria-valuemin="1"
- aria-valuenow="6"
+ aria-valuenow="3"
aria-valuetext="Empty"
autocorrect="off"
class="sc-bCgoVd jAtiqP aje-input__segment placeholder"
@@ -3435,9 +3435,9 @@ exports[`DatePicker > matches snapshots > without message 1`] = `
matches snapshots > without message 1`] = `
aria-labelledby="react-aria-:rhg: react-aria-:rgv:"
aria-valuemax="9999"
aria-valuemin="1"
- aria-valuenow="2026"
+ aria-valuenow="2024"
aria-valuetext="Empty"
autocorrect="off"
class="sc-bCgoVd jAtiqP aje-input__segment placeholder"
diff --git a/packages/atomic-elements/src/test/freezeTime.ts b/packages/atomic-elements/src/test/freezeTime.ts
new file mode 100644
index 00000000..134e6bee
--- /dev/null
+++ b/packages/atomic-elements/src/test/freezeTime.ts
@@ -0,0 +1,24 @@
+import { afterAll, beforeAll, vi } from "vitest";
+
+/** Fixed instant used by every test that renders "today". */
+export const FROZEN_NOW = new Date("2024-03-15T12:00:00.000Z");
+
+/**
+ * Freezes the clock for the surrounding `describe` block.
+ *
+ * React Aria's date components render the current date into their placeholder
+ * segments (`aria-valuenow`, `aria-valuemax`, ...), so without this their
+ * snapshots go stale as soon as the day, month, or month length changes.
+ *
+ * Only `Date` is faked — `setTimeout` and friends stay real so testing-library
+ * and user-event keep working.
+ */
+export function freezeTime(date: Date = FROZEN_NOW) {
+ beforeAll(() => {
+ vi.useFakeTimers({ toFake: ["Date"], now: date });
+ });
+
+ afterAll(() => {
+ vi.useRealTimers();
+ });
+}
diff --git a/packages/atomic-elements/vitest.config.ts b/packages/atomic-elements/vitest.config.ts
index d43fa87e..dbaa1605 100644
--- a/packages/atomic-elements/vitest.config.ts
+++ b/packages/atomic-elements/vitest.config.ts
@@ -29,5 +29,10 @@ export default defineConfig({
test: {
environment: "jsdom",
setupFiles: ["./vitest.setup.ts"],
+ // Date/time components render in the local zone, so pin it to keep
+ // snapshots identical across machines and CI.
+ env: {
+ TZ: "UTC",
+ },
},
});
diff --git a/packages/forms/CHANGELOG.md b/packages/forms/CHANGELOG.md
index 26336dbf..4c56fc7e 100644
--- a/packages/forms/CHANGELOG.md
+++ b/packages/forms/CHANGELOG.md
@@ -1,5 +1,14 @@
# @atomicjolt/forms
+## 4.0.0
+
+### Patch Changes
+
+- Updated dependencies
+- Updated dependencies
+- Updated dependencies
+ - @atomicjolt/atomic-elements@3.8.0
+
## 3.7.3
### Patch Changes
diff --git a/packages/forms/package.json b/packages/forms/package.json
index d7fdd29f..74cc99c9 100644
--- a/packages/forms/package.json
+++ b/packages/forms/package.json
@@ -1,6 +1,6 @@
{
"name": "@atomicjolt/forms",
- "version": "3.7.3",
+ "version": "4.0.0",
"license": "MIT",
"type": "module",
"main": "dist/index.js",
@@ -17,13 +17,13 @@
"prepublishOnly": "npm run build"
},
"peerDependencies": {
- "@atomicjolt/atomic-elements": "^3.7.3",
+ "@atomicjolt/atomic-elements": "^3.8.0",
"react": "^18 || ^19",
"react-dom": "^18 || ^19",
"react-hook-form": "^7.47.0"
},
"devDependencies": {
- "@atomicjolt/atomic-elements": "^3.7.3",
+ "@atomicjolt/atomic-elements": "^3.8.0",
"@types/node": "^20.8.4",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",