@commercelayer/app-elements 4.7.1 → 5.0.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.
Files changed (85) hide show
  1. package/dist/{CodeEditorComponent-CjphoLOh.js → CodeEditorComponent-rFiiCHiH.js} +2 -2
  2. package/dist/InputDateComponent-BvT9oDC3.js +5018 -0
  3. package/dist/main-CQtvdM89.js +37045 -0
  4. package/dist/main.js +66 -66
  5. package/dist/providers/CoreSdkProvider/CoreSdkProvider.d.ts +1 -1
  6. package/dist/providers/TokenProvider/MockTokenProvider.d.ts +1 -0
  7. package/dist/providers/createApp.d.ts +2 -2
  8. package/dist/ui/atoms/Avatar.d.ts +1 -0
  9. package/dist/ui/atoms/AvatarLetter/AvatarLetter.d.ts +1 -0
  10. package/dist/ui/atoms/Button.d.ts +1 -0
  11. package/dist/ui/atoms/ButtonFilter.d.ts +1 -0
  12. package/dist/ui/atoms/ButtonImageSelect.d.ts +1 -0
  13. package/dist/ui/atoms/Card.d.ts +26 -2
  14. package/dist/ui/atoms/EmptyState.d.ts +1 -1
  15. package/dist/ui/atoms/Grid.d.ts +1 -1
  16. package/dist/ui/atoms/Hint.d.ts +1 -1
  17. package/dist/ui/atoms/Pagination.d.ts +1 -0
  18. package/dist/ui/atoms/RadialProgress.d.ts +1 -1
  19. package/dist/ui/atoms/RemoveButton.d.ts +1 -0
  20. package/dist/ui/atoms/Skeleton.d.ts +1 -1
  21. package/dist/ui/atoms/SkeletonTemplate.d.ts +3 -3
  22. package/dist/ui/atoms/Spacer.d.ts +1 -1
  23. package/dist/ui/atoms/Stack.d.ts +1 -1
  24. package/dist/ui/atoms/StatusDot.d.ts +1 -0
  25. package/dist/ui/atoms/Table/Td.d.ts +1 -1
  26. package/dist/ui/atoms/Table/Th.d.ts +1 -0
  27. package/dist/ui/atoms/Table/Tr.d.ts +1 -0
  28. package/dist/ui/atoms/Tabs.d.ts +1 -1
  29. package/dist/ui/atoms/Tag.d.ts +1 -1
  30. package/dist/ui/atoms/Text.d.ts +1 -1
  31. package/dist/ui/composite/CardDialog.d.ts +1 -0
  32. package/dist/ui/composite/Dropdown/DropdownItem.d.ts +26 -2
  33. package/dist/ui/composite/HomePageLayout.d.ts +1 -1
  34. package/dist/ui/composite/List.d.ts +1 -1
  35. package/dist/ui/composite/ListDetails.d.ts +1 -1
  36. package/dist/ui/composite/ListDetailsItem.d.ts +1 -1
  37. package/dist/ui/composite/ListItem.d.ts +1 -1
  38. package/dist/ui/composite/PageError.d.ts +1 -0
  39. package/dist/ui/composite/PageLayout.d.ts +1 -1
  40. package/dist/ui/composite/PageSkeleton.d.ts +1 -0
  41. package/dist/ui/composite/Report.d.ts +1 -1
  42. package/dist/ui/composite/Routes/Routes.d.ts +1 -0
  43. package/dist/ui/composite/TableData.d.ts +1 -0
  44. package/dist/ui/forms/CodeEditor/HookedCodeEditor.d.ts +1 -0
  45. package/dist/ui/forms/Form/HookedForm.d.ts +1 -0
  46. package/dist/ui/forms/Input/HookedInput.d.ts +1 -0
  47. package/dist/ui/forms/InputCheckbox/HookedInputCheckbox.d.ts +1 -0
  48. package/dist/ui/forms/InputCheckbox/InputCheckbox.d.ts +1 -0
  49. package/dist/ui/forms/InputCheckboxGroup/InputCheckboxGroupItem.d.ts +1 -1
  50. package/dist/ui/forms/InputCurrency/HookedInputCurrency.d.ts +1 -0
  51. package/dist/ui/forms/InputCurrencyRange.d.ts +1 -0
  52. package/dist/ui/forms/InputDate/HookedInputDate.d.ts +1 -0
  53. package/dist/ui/forms/InputDateRange/HookedInputDateRange.d.ts +1 -0
  54. package/dist/ui/forms/InputFeedback.d.ts +1 -0
  55. package/dist/ui/forms/InputJson.d.ts +1 -0
  56. package/dist/ui/forms/InputRadioGroup/InputRadioGroup.d.ts +1 -1
  57. package/dist/ui/forms/InputResourceGroup/FullList.d.ts +1 -0
  58. package/dist/ui/forms/InputSelect/overrides.d.ts +1 -0
  59. package/dist/ui/forms/InputSimpleSelect/HookedInputSimpleSelect.d.ts +1 -0
  60. package/dist/ui/forms/InputSpinner/HookedInputSpinner.d.ts +1 -0
  61. package/dist/ui/forms/InputSwitch/HookedInputSwitch.d.ts +1 -0
  62. package/dist/ui/forms/InputTextArea/HookedInputTextArea.d.ts +1 -0
  63. package/dist/ui/forms/InputToggleButton/HookedInputToggleButton.d.ts +1 -0
  64. package/dist/ui/forms/InputToggleButton/InputToggleButton.d.ts +1 -0
  65. package/dist/ui/forms/Label.d.ts +1 -0
  66. package/dist/ui/forms/Legend.d.ts +1 -0
  67. package/dist/ui/forms/ReactHookForm/HookedValidationApiError.d.ts +1 -0
  68. package/dist/ui/forms/ReactHookForm/HookedValidationError.d.ts +1 -0
  69. package/dist/ui/internals/FlexRow.d.ts +1 -1
  70. package/dist/ui/resources/ResourceListItem/types.d.ts +1 -0
  71. package/dist/ui/resources/useResourceFilters/FieldCurrencyRange.d.ts +1 -0
  72. package/dist/ui/resources/useResourceFilters/FieldOptions.d.ts +1 -0
  73. package/dist/ui/resources/useResourceFilters/FieldTextSearch.d.ts +1 -0
  74. package/dist/ui/resources/useResourceFilters/FieldTimeRange.d.ts +1 -0
  75. package/dist/ui/resources/useResourceFilters/FiltersForm.d.ts +1 -0
  76. package/dist/ui/resources/useResourceFilters/FiltersNav.d.ts +1 -0
  77. package/dist/ui/resources/useResourceFilters/FiltersSearchBar.d.ts +1 -0
  78. package/dist/ui/resources/useResourceFilters/useResourceFilters.d.ts +1 -0
  79. package/dist/ui/resources/useResourceList/VisibilityTrigger.d.ts +1 -1
  80. package/dist/ui/resources/useResourceList/useResourceList.d.ts +1 -1
  81. package/dist/utils/children.d.ts +1 -1
  82. package/dist/utils/htmltags.d.ts +1 -0
  83. package/package.json +20 -20
  84. package/dist/InputDateComponent-CUM92_yP.js +0 -6346
  85. package/dist/main-BcI6LlqY.js +0 -42731
@@ -35,8 +35,8 @@ export declare const PageLayout: import('../atoms/SkeletonTemplate').SkeletonTem
35
35
  scrollToTop?: boolean | undefined;
36
36
  description?: ReactNode;
37
37
  title: ReactNode;
38
- gap?: "none" | "only-top" | "only-bottom" | "both" | undefined;
39
38
  toolbar?: import('../atoms/PageHeading/PageHeadingToolbar').PageHeadingToolbarProps | undefined;
39
+ gap?: "none" | "only-top" | "only-bottom" | "both" | undefined;
40
40
  navigationButton?: {
41
41
  label: string;
42
42
  onClick: () => void;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  /**
2
3
  * This component renders a skeleton page layout simulating the presence of the common elements of an initial app page:
3
4
  * - page title,
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { JSX, ReactNode } from 'react';
2
2
  interface ReportItem {
3
3
  label: string;
4
4
  count: ReactNode;
@@ -1,4 +1,5 @@
1
1
  import { ListableResourceType } from '@commercelayer/sdk';
2
+ import { JSX } from 'react';
2
3
  import { RouteComponentProps } from 'wouter';
3
4
  import { GetParams } from './utils';
4
5
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { JsonObject } from 'type-fest';
2
3
  export interface TableDataProps {
3
4
  /** Data to render in the table */
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { CodeEditorProps } from './CodeEditorComponent';
2
3
  export interface HookedCodeEditorProps extends Omit<CodeEditorProps, 'name'>, Required<Pick<CodeEditorProps, 'name'>> {
3
4
  }
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FieldValues, FormProviderProps } from 'react-hook-form';
2
3
  interface FormProps<T extends FieldValues> extends FormProviderProps<T> {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputProps } from './Input';
2
3
  export interface HookedInputProps extends InputProps {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputCheckboxProps } from './InputCheckbox';
2
3
  export interface HookedInputCheckboxProps extends Omit<InputCheckboxProps, 'onChange' | 'checked' | 'feedback' | 'defaultValue' | 'defaultChecked'> {
3
4
  /**
@@ -1,4 +1,5 @@
1
1
  import { InputWrapperBaseProps } from '../../internals/InputWrapper';
2
+ import { JSX } from 'react';
2
3
  export interface InputCheckboxProps extends Omit<InputWrapperBaseProps, 'label' | 'inline'>, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'value'> {
3
4
  /**
4
5
  * Icon component
@@ -51,7 +51,7 @@ export declare const InputCheckboxGroupItem: import('../../atoms/SkeletonTemplat
51
51
  min: number;
52
52
  max: number;
53
53
  } | undefined;
54
- icon?: JSX.Element | undefined;
54
+ icon?: import("react").JSX.Element | undefined;
55
55
  checked?: boolean | undefined | undefined;
56
56
  hideIconOnDesktop?: boolean | undefined;
57
57
  delayMs?: number | undefined;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputCurrencyProps } from './InputCurrency';
2
3
  export interface HookedInputCurrencyProps extends Omit<InputCurrencyProps, 'onChange' | 'onBlur' | 'cents'> {
3
4
  /**
@@ -1,6 +1,7 @@
1
1
  import { CurrencyCode } from '../../helpers/currencies';
2
2
  import { InputCurrencyProps } from './InputCurrency';
3
3
  import { InputWrapperBaseProps } from '../internals/InputWrapper';
4
+ import { JSX } from 'react';
4
5
  type Cents = InputCurrencyProps['cents'];
5
6
  export interface InputCurrencyRangeProps extends InputWrapperBaseProps {
6
7
  fromCents?: Cents;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputDateProps } from './InputDateComponent';
2
3
  export interface HookedInputDateProps extends Omit<InputDateProps, 'onChange'> {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputDateRangeProps } from './InputDateRange';
2
3
  export interface HookedInputDateRangeProps extends Omit<InputDateRangeProps, 'onChange' | 'value'> {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  type FeedbackVariant = 'danger' | 'success' | 'warning';
2
3
  export interface InputFeedbackProps {
3
4
  message: string;
@@ -1,4 +1,5 @@
1
1
  import { InputWrapperBaseProps } from '../internals/InputWrapper';
2
+ import { JSX } from 'react';
2
3
  export interface InputJsonProps<JsonType> extends InputWrapperBaseProps {
3
4
  placeholder: object;
4
5
  validateFn: (json: any) => JsonType;
@@ -1,4 +1,4 @@
1
- import { ComponentProps, ReactNode } from 'react';
1
+ import { ComponentProps, JSX, ReactNode } from 'react';
2
2
  interface OptionItem {
3
3
  /**
4
4
  * Item identifier, must be unique and will be used for the onChange callback
@@ -1,5 +1,6 @@
1
1
  import { OverlayProps } from '../../internals/Overlay';
2
2
  import { ListableResourceType } from '@commercelayer/sdk';
3
+ import { JSX } from 'react';
3
4
  export interface SortBy {
4
5
  attribute: string;
5
6
  direction: 'asc' | 'desc';
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { ClearIndicatorProps, DropdownIndicatorProps, GroupBase, GroupHeadingProps, MenuListProps, MultiValueGenericProps } from 'react-select';
2
3
  import { InputSelectValue } from '.';
3
4
  declare function DropdownIndicator(props: DropdownIndicatorProps<InputSelectValue>): JSX.Element;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputSimpleSelectProps } from './InputSimpleSelect';
2
3
  export interface HookedInputSimpleSelectProps extends InputSimpleSelectProps {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputSpinnerProps } from './InputSpinner';
2
3
  export interface HookedInputSpinnerProps extends Omit<InputSpinnerProps, 'onChange' | 'defaultValues'> {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputSwitchProps } from './InputSwitch';
2
3
  export interface HookedInputSwitchProps extends InputSwitchProps {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputTextAreaProps } from './InputTextArea';
2
3
  export interface HookedInputTextAreaProps extends InputTextAreaProps {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { InputToggleButtonProps } from './InputToggleButton';
2
3
  export type HookedInputToggleButtonProps = Omit<InputToggleButtonProps, 'value' | 'onChange'> & {
3
4
  /**
@@ -1,4 +1,5 @@
1
1
  import { InputWrapperBaseProps } from '../../internals/InputWrapper';
2
+ import { JSX } from 'react';
2
3
  import { Simplify } from 'type-fest';
3
4
  type ToggleButtonValue = string | boolean | number;
4
5
  interface ToggleButtonOption {
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  export interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
2
3
  gap?: boolean;
3
4
  }
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  export interface LegendProps extends React.HTMLAttributes<HTMLLegendElement> {
2
3
  gap?: boolean;
3
4
  }
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  interface ValidationApiErrorProps {
2
3
  /**
3
4
  * An error object returned from a failed API request.
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  interface Props {
2
3
  /**
3
4
  * field name to match hook-form state
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { JSX, ReactNode } from 'react';
2
2
  export type FlexRowAlignItems = 'top' | 'bottom' | 'center';
3
3
  export interface FlexRowProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  children: ReactNode;
@@ -2,6 +2,7 @@ import { TokenProviderAuthUser } from '../../../providers/TokenProvider/types';
2
2
  import { ListItemProps } from '../../composite/ListItem';
3
3
  import { BuyXPayYPromotion, Customer, ExternalPromotion, FixedAmountPromotion, FixedPricePromotion, FlexPromotion, FreeGiftPromotion, FreeShippingPromotion, Order, PercentageDiscountPromotion, Return, Shipment, SkuListItem, StockTransfer } from '@commercelayer/sdk';
4
4
  import { t } from 'i18next';
5
+ import { JSX } from 'react';
5
6
  export type ResourceListItemType = Order | Return | Customer | StockTransfer | SkuListItem | Shipment | BuyXPayYPromotion | ExternalPromotion | FixedAmountPromotion | FixedPricePromotion | FreeGiftPromotion | FreeShippingPromotion | PercentageDiscountPromotion | FlexPromotion;
6
7
  export interface ResourceListItemComponentProps {
7
8
  name: React.ReactNode;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FilterItemCurrencyRange } from './types';
2
3
  interface FieldCurrencyRangeProps {
3
4
  item: FilterItemCurrencyRange;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FilterItemOptions } from './types';
2
3
  interface FieldProps {
3
4
  item: FilterItemOptions;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FilterItemTextSearch } from './types';
2
3
  interface FieldProps {
3
4
  item: FilterItemTextSearch;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FilterItemTime } from './types';
2
3
  interface FieldTimeRangeProps {
3
4
  item: FilterItemTime;
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FiltersInstructions } from './types';
2
3
  export interface FiltersFormProps {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FiltersInstructions } from './types';
2
3
  export interface FiltersNavProps {
3
4
  /**
@@ -1,4 +1,5 @@
1
1
  import { SearchBarProps } from '../../composite/SearchBar';
2
+ import { JSX } from 'react';
2
3
  import { FiltersInstructions } from './types';
3
4
  export interface FilterSearchBarProps extends Pick<SearchBarProps, 'placeholder' | 'debounceMs'> {
4
5
  /**
@@ -1,6 +1,7 @@
1
1
  import { UseResourceListConfig } from '../useResourceList';
2
2
  import { ResourceListProps } from '../useResourceList/useResourceList';
3
3
  import { ListableResourceType, QueryFilter } from '@commercelayer/sdk';
4
+ import { JSX } from 'react';
4
5
  import { FiltersFormProps } from './FiltersForm';
5
6
  import { FiltersNavProps } from './FiltersNav';
6
7
  import { makeFilterAdapters } from './adapters';
@@ -1,4 +1,4 @@
1
- import { default as React } from 'react';
1
+ import { default as React, JSX } from 'react';
2
2
  interface VisibilityTriggerProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  rootMargin?: string;
4
4
  callback: (entry: IntersectionObserverEntry) => void;
@@ -32,7 +32,7 @@ export type ResourceListProps<TResource extends ListableResourceType> = Pick<Sec
32
32
  * When a string is provided, it will be rendered as inline text below title and actionButton.
33
33
  * When other ReactNode is provided, it will be rendered as a custom element and no title or actionButton will be shown.
34
34
  */
35
- emptyState?: ReactNode;
35
+ emptyState?: Awaited<ReactNode>;
36
36
  /**
37
37
  * Title.
38
38
  */
@@ -1,4 +1,4 @@
1
- import { ReactElement, ReactNode } from 'react';
1
+ import { JSX, ReactElement, ReactNode } from 'react';
2
2
  export declare function isFunctionComponent(reactNode: ReactNode): reactNode is ReactElement<any, React.FunctionComponent<any>>;
3
3
  /**
4
4
  * Checks if a ReactNode matches a specific component display name.
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  export declare function enforceAllowedTags<AllowedTags extends ReadonlyArray<keyof JSX.IntrinsicElements>, Tag extends AllowedTags[number], DefaultTag extends AllowedTags[number]>({ tag, allowedTags, defaultTag }: {
2
3
  tag?: Tag;
3
4
  allowedTags: AllowedTags;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercelayer/app-elements",
3
- "version": "4.7.1",
3
+ "version": "5.0.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -28,26 +28,26 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@commercelayer/js-auth": "^6.7.1",
31
- "@commercelayer/sdk": "6.32.0",
31
+ "@commercelayer/sdk": "6.33.0",
32
32
  "@monaco-editor/react": "4.7.0",
33
- "@types/lodash": "^4.17.15",
34
- "@types/react": "^18.3.18",
33
+ "@types/lodash-es": "^4.17.12",
34
+ "@types/react": "^19.0.10",
35
35
  "@types/react-datepicker": "^7.0.0",
36
- "@types/react-dom": "^18.3.5",
36
+ "@types/react-dom": "^19.0.4",
37
37
  "classnames": "^2.5.1",
38
38
  "i18next": "^24.2.2",
39
39
  "i18next-resources-to-backend": "^1.2.1",
40
40
  "js-cookie": "^3.0.5",
41
41
  "jwt-decode": "^4.0.0",
42
- "lodash": "^4.17.21",
42
+ "lodash-es": "^4.17.21",
43
43
  "pluralize": "^8.0.0",
44
44
  "query-string": "^9.1.1",
45
- "react": "^18.3.1",
46
- "react-currency-input-field": "^3.9.0",
47
- "react-datepicker": "^7.6.0",
48
- "react-dom": "^18.3.1",
45
+ "react": "^19.0.0",
46
+ "react-currency-input-field": "^3.10.0",
47
+ "react-datepicker": "^8.1.0",
48
+ "react-dom": "^19.0.0",
49
49
  "react-hook-form": "^7.54.2",
50
- "react-i18next": "^15.4.0",
50
+ "react-i18next": "^15.4.1",
51
51
  "react-select": "^5.10.0",
52
52
  "react-tooltip": "^5.28.0",
53
53
  "swr": "^2.3.2",
@@ -56,7 +56,7 @@
56
56
  "zod": "^3.24.2"
57
57
  },
58
58
  "devDependencies": {
59
- "@commercelayer/eslint-config-ts-react": "^1.4.5",
59
+ "@commercelayer/eslint-config-ts-react": "^2.2.0",
60
60
  "@hookform/resolvers": "^3.10.0",
61
61
  "@phosphor-icons/react": "v2.1.7",
62
62
  "@tailwindcss/forms": "^0.5.10",
@@ -73,23 +73,23 @@
73
73
  "date-fns-tz": "^3.2.0",
74
74
  "eslint": "^8.57.1",
75
75
  "jsdom": "^26.0.0",
76
- "msw": "^2.7.0",
77
- "postcss": "^8.5.2",
76
+ "msw": "^2.7.3",
77
+ "postcss": "^8.5.3",
78
78
  "react-gtm-module": "^2.0.11",
79
79
  "tailwindcss": "^3.4.17",
80
80
  "typescript": "^5.7.3",
81
- "vite": "^6.1.0",
81
+ "vite": "^6.2.0",
82
82
  "vite-plugin-dts": "^4.5.0",
83
- "vitest": "^3.0.5",
83
+ "vitest": "^3.0.7",
84
84
  "wouter": "^3.6.0"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "@commercelayer/sdk": "^6.x",
88
- "query-string": "^8.2.x",
89
- "react": "^18.2.x",
90
- "react-dom": "^18.2.x",
88
+ "query-string": "^9.x",
89
+ "react": "^19.x",
90
+ "react-dom": "^19.x",
91
91
  "react-gtm-module": "^2.x",
92
- "react-hook-form": "^7.50.x",
92
+ "react-hook-form": "^7.x",
93
93
  "wouter": "^3.x"
94
94
  },
95
95
  "scripts": {