From 6bed513a9b896866b8d90cdaa74effdd6ba66430 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 25 Aug 2024 22:22:46 -0400 Subject: [PATCH] redux-devtools-ui --- packages/redux-devtools-ui/package.json | 2 ++ packages/redux-devtools-ui/src/Form/Form.tsx | 2 ++ .../redux-devtools-ui/src/Form/widgets.tsx | 2 +- pnpm-lock.yaml | 25 ++++++++++++++----- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/packages/redux-devtools-ui/package.json b/packages/redux-devtools-ui/package.json index da2950f4..b71976b6 100644 --- a/packages/redux-devtools-ui/package.json +++ b/packages/redux-devtools-ui/package.json @@ -44,6 +44,8 @@ "dependencies": { "@babel/runtime": "^7.25.4", "@rjsf/core": "^5.20.0", + "@rjsf/utils": "^5.20.0", + "@rjsf/validator-ajv8": "^5.20.0", "@types/codemirror": "^5.60.15", "@types/json-schema": "^7.0.15", "@types/simple-element-resize-detector": "^1.3.3", diff --git a/packages/redux-devtools-ui/src/Form/Form.tsx b/packages/redux-devtools-ui/src/Form/Form.tsx index d4f2a963..4af61dd6 100644 --- a/packages/redux-devtools-ui/src/Form/Form.tsx +++ b/packages/redux-devtools-ui/src/Form/Form.tsx @@ -1,5 +1,6 @@ import React, { PureComponent, Component } from 'react'; import JSONSchemaForm, { FormProps } from '@rjsf/core'; +import validator from '@rjsf/validator-ajv8'; import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import styles from './styles'; @@ -26,6 +27,7 @@ export default class Form extends (PureComponent || Component)> { return ( )} + validator={validator} widgets={{ ...customWidgets, ...widgets }} > {noSubmit ? ( diff --git a/packages/redux-devtools-ui/src/Form/widgets.tsx b/packages/redux-devtools-ui/src/Form/widgets.tsx index 32df1c8f..001562d9 100644 --- a/packages/redux-devtools-ui/src/Form/widgets.tsx +++ b/packages/redux-devtools-ui/src/Form/widgets.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { FieldProps, Widget, WidgetProps } from '@rjsf/core'; +import { FieldProps, Widget, WidgetProps } from '@rjsf/utils'; import Select from '../Select'; import Slider from '../Slider'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 486a586b..fb67996d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2439,6 +2439,12 @@ importers: '@rjsf/core': specifier: ^5.20.0 version: 5.20.0(@rjsf/utils@5.20.0)(react@18.3.1) + '@rjsf/utils': + specifier: ^5.20.0 + version: 5.20.0(react@18.3.1) + '@rjsf/validator-ajv8': + specifier: ^5.20.0 + version: 5.20.0(@rjsf/utils@5.20.0) '@types/codemirror': specifier: ^5.60.15 version: 5.60.15 @@ -7371,6 +7377,19 @@ packages: react: 18.3.1 react-is: 18.3.1 + /@rjsf/validator-ajv8@5.20.0(@rjsf/utils@5.20.0): + resolution: {integrity: sha512-0S/KwVdI1rI4joGgVYJGK4NSvw2jtzeLQ6ALCJRLF0Ead7vYKpYqgkkBxCtI0yDwg34phSu35D4n8/Craf/c3g==} + engines: {node: '>=14'} + peerDependencies: + '@rjsf/utils': ^5.19.x + dependencies: + '@rjsf/utils': 5.20.0(react@18.3.1) + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + lodash: 4.17.21 + lodash-es: 4.17.21 + dev: false + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -9580,7 +9599,6 @@ packages: optional: true dependencies: ajv: 8.17.1 - dev: true /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} @@ -9615,7 +9633,6 @@ packages: fast-uri: 3.0.1 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - dev: true /anser@2.1.1: resolution: {integrity: sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==} @@ -12532,7 +12549,6 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} @@ -12563,7 +12579,6 @@ packages: /fast-uri@3.0.1: resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} - dev: true /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} @@ -14765,7 +14780,6 @@ packages: /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -17310,7 +17324,6 @@ packages: /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}