@aragon/gov-ui-kit 1.0.57 → 1.0.59

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 (37) hide show
  1. package/CHANGELOG.md +454 -425
  2. package/build.css +1 -1
  3. package/dist/index.es.js +1 -1
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/types/src/core/components/collapsible/collapsible.api.d.ts +1 -1
  6. package/dist/types/src/core/components/dialogs/dialog/dialogFooter/dialogFooter.d.ts +1 -1
  7. package/dist/types/src/core/utils/mergeRefs/mergeRefs.d.ts +2 -2
  8. package/dist/types/src/modules/assets/copy/modulesCopy.d.ts +12 -9
  9. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/index.d.ts +2 -0
  10. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoder.api.d.ts +36 -0
  11. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoder.d.ts +2 -0
  12. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderField/index.d.ts +1 -0
  13. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderField/proposalActionsDecoderField.d.ts +21 -0
  14. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderTextField/index.d.ts +2 -0
  15. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderTextField/proposalActionsDecoderTextField.api.d.ts +30 -0
  16. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderTextField/proposalActionsDecoderTextField.d.ts +2 -0
  17. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderTextField/proposalActionsDecoderTextFieldEdit.d.ts +4 -0
  18. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderTextField/proposalActionsDecoderTextFieldWatch.d.ts +4 -0
  19. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDecoder/proposalActionsDecoderUtils.d.ts +45 -0
  20. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsDefinitions.d.ts +11 -2
  21. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/index.d.ts +1 -1
  22. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItem.api.d.ts +13 -0
  23. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItem.d.ts +5 -5
  24. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/{proposalActionsItemBasicView/proposalActionsItemBasicView.d.ts → proposalActionsItemBasicView.d.ts} +1 -1
  25. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsList/proposalActionUpdateMetadata/proposalActionUpdateMetadata.api.d.ts +10 -6
  26. package/dist/types/src/modules/hooks/index.d.ts +1 -0
  27. package/dist/types/src/modules/hooks/useFormContext/index.d.ts +1 -0
  28. package/dist/types/src/modules/hooks/useFormContext/useFormContext.d.ts +3 -0
  29. package/dist/types/src/modules/testUtils/generators/formContext.d.ts +2 -0
  30. package/dist/types/src/modules/testUtils/generators/index.d.ts +1 -0
  31. package/dist/types/src/modules/testUtils/index.d.ts +1 -0
  32. package/package.json +29 -25
  33. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItemBasicView/index.d.ts +0 -1
  34. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItemDecodedView/index.d.ts +0 -1
  35. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItemDecodedView/proposalActionsItemDecodedView.d.ts +0 -8
  36. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItemRawView/index.d.ts +0 -1
  37. package/dist/types/src/modules/components/proposal/proposalActions/proposalActionsItem/proposalActionsItemRawView/proposalActionsItemRawView.d.ts +0 -8
@@ -1,6 +1,6 @@
1
1
  import { type ComponentProps } from 'react';
2
2
  export type CollapsedSize = 'sm' | 'md' | 'lg';
3
- export interface ICollapsibleProps extends ComponentProps<'div'> {
3
+ export interface ICollapsibleProps extends Omit<ComponentProps<'div'>, 'onToggle'> {
4
4
  /**
5
5
  * The initial height of the collapsible container while closed.
6
6
  * @default md
@@ -1,7 +1,7 @@
1
1
  import { type AnchorHTMLAttributes, type ButtonHTMLAttributes, type ComponentPropsWithoutRef } from 'react';
2
2
  import { type IAlertInlineProps } from '../../../alerts';
3
3
  import { type IButtonBaseProps } from '../../../button';
4
- export type IDialogFooterAction = (Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> | Pick<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>) & Pick<IButtonBaseProps, 'iconRight' | 'iconLeft' | 'disabled' | 'isLoading'> & {
4
+ export type IDialogFooterAction = (Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> | Pick<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'type'>) & Pick<IButtonBaseProps, 'iconRight' | 'iconLeft' | 'disabled' | 'isLoading'> & {
5
5
  /**
6
6
  * Button label
7
7
  */
@@ -1,5 +1,5 @@
1
- import type { LegacyRef, MutableRefObject, RefCallback } from 'react';
1
+ import type { ForwardedRef, RefCallback, RefObject } from 'react';
2
2
  /**
3
3
  * Utility to merge multiple React refs, inspired by https://github.com/gregberge/react-merge-refs
4
4
  */
5
- export declare const mergeRefs: <T = unknown>(refs: Array<MutableRefObject<T> | LegacyRef<T> | undefined | null>) => RefCallback<T>;
5
+ export declare const mergeRefs: <T = unknown>(refs: Array<RefObject<T> | ForwardedRef<T> | undefined | null>) => RefCallback<T>;
@@ -47,15 +47,16 @@ export declare const modulesCopy: {
47
47
  RAW: string;
48
48
  };
49
49
  };
50
- proposalActionsItemDecodedView: {
51
- valueHelper: string;
52
- valueLabel: string;
53
- };
54
- proposalActionsItemRawView: {
55
- to: string;
56
- data: string;
57
- value: string;
58
- copyButton: string;
50
+ proposalActionsDecoder: {
51
+ copyData: string;
52
+ add: string;
53
+ validation: {
54
+ required: (label: string) => string;
55
+ boolean: (label: string) => string;
56
+ address: (label: string) => string;
57
+ bytes: (label: string) => string;
58
+ unsignedNumber: (label: string) => string;
59
+ };
59
60
  };
60
61
  proposalActionChangeMembers: {
61
62
  summary: string;
@@ -78,6 +79,8 @@ export declare const modulesCopy: {
78
79
  nameTerm: string;
79
80
  linkTerm: string;
80
81
  descriptionTerm: string;
82
+ summaryTerm: string;
83
+ processKeyTerm: string;
81
84
  existingToggle: string;
82
85
  proposedToggle: string;
83
86
  };
@@ -0,0 +1,2 @@
1
+ export { ProposalActionsDecoder } from './proposalActionsDecoder';
2
+ export { ProposalActionsDecoderMode, ProposalActionsDecoderView, type IProposalActionsDecoderProps, } from './proposalActionsDecoder.api';
@@ -0,0 +1,36 @@
1
+ import { type ComponentProps } from 'react';
2
+ import type { IProposalAction } from '../proposalActionsDefinitions';
3
+ export declare enum ProposalActionsDecoderView {
4
+ DECODED = "DECODED",
5
+ RAW = "RAW"
6
+ }
7
+ export declare enum ProposalActionsDecoderMode {
8
+ READ = "READ",
9
+ EDIT = "EDIT",
10
+ WATCH = "WATCH"
11
+ }
12
+ export interface IProposalActionsDecoderProps extends ComponentProps<'div'> {
13
+ /**
14
+ * Action to display the values for.
15
+ */
16
+ action: IProposalAction;
17
+ /**
18
+ * Prefix to be prepended to all the action values on edit mode.
19
+ */
20
+ formPrefix?: string;
21
+ /**
22
+ * Defines the behaviour of the decoder:
23
+ * - READ: Displays the values as disabled using the values on the action property;
24
+ * - EDIT: Displays the values as editable and updates the values on the form context;
25
+ * - WATCH: Displays the values as disabled but each value listens to the changes on the form context;
26
+ * @default READ
27
+ */
28
+ mode?: ProposalActionsDecoderMode;
29
+ /**
30
+ * Defines the action values to be displayed:
31
+ * - DECODED: Displays the parameters of the action and the value field if the function is payable;
32
+ * - RAW: Only displays the base values of the action (value and data);
33
+ * @default RAW
34
+ */
35
+ view?: ProposalActionsDecoderView;
36
+ }
@@ -0,0 +1,2 @@
1
+ import { type IProposalActionsDecoderProps } from './proposalActionsDecoder.api';
2
+ export declare const ProposalActionsDecoder: React.FC<IProposalActionsDecoderProps>;
@@ -0,0 +1 @@
1
+ export { ProposalActionsDecoderField, type IProposalActionsDecoderFieldProps } from './proposalActionsDecoderField';
@@ -0,0 +1,21 @@
1
+ import type { IProposalActionInputDataParameter } from '../../proposalActionsDefinitions';
2
+ import { type IProposalActionsDecoderProps } from '../proposalActionsDecoder.api';
3
+ export interface IProposalActionsDecoderFieldProps extends Pick<IProposalActionsDecoderProps, 'mode' | 'formPrefix'> {
4
+ /**
5
+ * Parameter to be rendered.
6
+ */
7
+ parameter: IProposalActionInputDataParameter;
8
+ /**
9
+ * Name of the form field.
10
+ */
11
+ fieldName: string;
12
+ /**
13
+ * Hides the sub-component labels when set to true.
14
+ */
15
+ hideLabels?: boolean;
16
+ /**
17
+ * Displays a delete button triggering this callback when set, to be used for array types.
18
+ */
19
+ onDeleteClick?: () => void;
20
+ }
21
+ export declare const ProposalActionsDecoderField: React.FC<IProposalActionsDecoderFieldProps>;
@@ -0,0 +1,2 @@
1
+ export { ProposalActionsDecoderTextField } from './proposalActionsDecoderTextField';
2
+ export type { IProposalActionsDecoderTextFieldBaseProps, IProposalActionsDecoderTextFieldComponentProps, IProposalActionsDecoderTextFieldProps, } from './proposalActionsDecoderTextField.api';
@@ -0,0 +1,30 @@
1
+ import type { IInputContainerProps } from '../../../../../../core';
2
+ import type { IProposalActionInputDataParameter } from '../../proposalActionsDefinitions';
3
+ import type { IProposalActionsDecoderProps } from '../proposalActionsDecoder.api';
4
+ export interface IProposalActionsDecoderTextFieldBaseProps {
5
+ /**
6
+ * Action parameter to be rendered.
7
+ */
8
+ parameter: IProposalActionInputDataParameter;
9
+ /**
10
+ * Name of the input field.
11
+ */
12
+ fieldName: string;
13
+ /**
14
+ * Component to be used.
15
+ * @default input
16
+ */
17
+ component?: 'textarea' | 'input';
18
+ /**
19
+ * Classname for the input component.
20
+ */
21
+ className?: string;
22
+ }
23
+ export interface IProposalActionsDecoderTextFieldProps extends IProposalActionsDecoderTextFieldBaseProps, Pick<IProposalActionsDecoderProps, 'mode' | 'formPrefix'> {
24
+ /**
25
+ * Hides the default labels when set to true.
26
+ */
27
+ hideLabels?: boolean;
28
+ }
29
+ export interface IProposalActionsDecoderTextFieldComponentProps extends IProposalActionsDecoderTextFieldBaseProps, Pick<IInputContainerProps, 'label' | 'helpText'> {
30
+ }
@@ -0,0 +1,2 @@
1
+ import type { IProposalActionsDecoderTextFieldProps } from './proposalActionsDecoderTextField.api';
2
+ export declare const ProposalActionsDecoderTextField: React.FC<IProposalActionsDecoderTextFieldProps>;
@@ -0,0 +1,4 @@
1
+ import type { IProposalActionsDecoderTextFieldComponentProps } from './proposalActionsDecoderTextField.api';
2
+ export interface IProposalActionsDecoderTextFieldEditProps extends IProposalActionsDecoderTextFieldComponentProps {
3
+ }
4
+ export declare const ProposalActionsDecoderTextFieldEdit: React.FC<IProposalActionsDecoderTextFieldEditProps>;
@@ -0,0 +1,4 @@
1
+ import type { IProposalActionsDecoderTextFieldComponentProps } from './proposalActionsDecoderTextField.api';
2
+ export interface IProposalActionsDecoderTextFieldWatchProps extends IProposalActionsDecoderTextFieldComponentProps {
3
+ }
4
+ export declare const ProposalActionsDecoderTextFieldWatch: React.FC<IProposalActionsDecoderTextFieldWatchProps>;
@@ -0,0 +1,45 @@
1
+ import type { DeepPartial } from 'react-hook-form';
2
+ import type { ModulesCopy } from '../../../../assets';
3
+ import type { IProposalAction, IProposalActionInputDataParameter } from '../proposalActionsDefinitions';
4
+ export interface IGetValidationRulesParams {
5
+ /**
6
+ * Label of the field used for validation errors.
7
+ */
8
+ label: string;
9
+ /**
10
+ * Type of the field to build the validation rules.
11
+ */
12
+ type: string;
13
+ /**
14
+ * Strings to use for validation errors.
15
+ */
16
+ errorMessages: ModulesCopy['proposalActionsDecoder']['validation'];
17
+ /**
18
+ * Defines if the field is required or not.
19
+ */
20
+ required?: boolean;
21
+ }
22
+ export type ProposalActionsFieldValue = string | boolean | undefined | null | unknown[];
23
+ export type NestedProposalActionFormValues = DeepPartial<IProposalAction> | Record<string, unknown>;
24
+ declare class ProposalActionsDecoderUtils {
25
+ private bytesRegex;
26
+ private unsignedNumberRegex;
27
+ getFieldName: (name: string, prefix?: string) => string;
28
+ validateValue: (value: ProposalActionsFieldValue, params: IGetValidationRulesParams) => string | true | undefined;
29
+ validateRequired: (value?: ProposalActionsFieldValue) => boolean;
30
+ validateBoolean: (value?: ProposalActionsFieldValue) => boolean;
31
+ validateBytes: (type: string, value?: ProposalActionsFieldValue) => boolean;
32
+ validateUnsignedNumber: (value?: ProposalActionsFieldValue) => boolean;
33
+ isArrayType: (type: string) => boolean;
34
+ isTupleType: (type: string) => type is "tuple";
35
+ isNumberType: (type: string) => boolean;
36
+ isUnsignedNumberType: (type: string) => boolean;
37
+ isSignedNumberType: (type: string) => boolean;
38
+ getArrayItemType: (type: string) => string;
39
+ formValuesToFunctionParameters: (formValues: NestedProposalActionFormValues, formPrefix?: string) => unknown[] | undefined;
40
+ getNestedParameters: (parameter: IProposalActionInputDataParameter) => IProposalActionInputDataParameter[];
41
+ private guardArrayType;
42
+ private guardValueType;
43
+ }
44
+ export declare const proposalActionsDecoderUtils: ProposalActionsDecoderUtils;
45
+ export {};
@@ -7,7 +7,8 @@ export declare enum ProposalActionType {
7
7
  UPDATE_METADATA = "UPDATE_METADATA",
8
8
  TOKEN_MINT = "TOKEN_MINT",
9
9
  CHANGE_SETTINGS_MULTISIG = "CHANGE_SETTINGS_MULTISIG",
10
- CHANGE_SETTINGS_TOKENVOTE = "CHANGE_SETTINGS_TOKENVOTE"
10
+ CHANGE_SETTINGS_TOKENVOTE = "CHANGE_SETTINGS_TOKENVOTE",
11
+ UPDATE_PLUGIN_METADATA = "UPDATE_PLUGIN_METADATA"
11
12
  }
12
13
  export interface IProposalActionInputDataParameter {
13
14
  /**
@@ -21,11 +22,15 @@ export interface IProposalActionInputDataParameter {
21
22
  /**
22
23
  * The value of the argument being passed.
23
24
  */
24
- value: string | number;
25
+ value: unknown;
25
26
  /**
26
27
  * The NatSpec notice for the parameter on the contract.
27
28
  */
28
29
  notice?: string;
30
+ /**
31
+ * Array of parameters for "tuple" type.
32
+ */
33
+ components?: Array<Omit<IProposalActionInputDataParameter, 'value'>>;
29
34
  }
30
35
  export interface IProposalActionInputData {
31
36
  /**
@@ -36,6 +41,10 @@ export interface IProposalActionInputData {
36
41
  * The name of the contract to interact with.
37
42
  */
38
43
  contract: string;
44
+ /**
45
+ * State mutability of the function (e.g. pure or payable).
46
+ */
47
+ stateMutability?: string;
39
48
  /**
40
49
  * The parameters to pass to the function.
41
50
  */
@@ -1,2 +1,2 @@
1
1
  export { ProposalActionsItem } from './proposalActionsItem';
2
- export type { IProposalActionsItemDropdownItem, IProposalActionsItemProps } from './proposalActionsItem.api';
2
+ export type { IProposalActionsItemDropdownItem, IProposalActionsItemProps, ProposalActionsItemViewMode, } from './proposalActionsItem.api';
@@ -1,6 +1,8 @@
1
1
  import type { IconType } from '../../../../../core';
2
2
  import type { IWeb3ComponentProps } from '../../../../types';
3
+ import type { ProposalActionsDecoderView } from '../proposalActionsDecoder';
3
4
  import type { IProposalAction, ProposalActionComponent } from '../proposalActionsDefinitions';
5
+ export type ProposalActionsItemViewMode = 'BASIC' | ProposalActionsDecoderView;
4
6
  export interface IProposalActionsItemDropdownItem<TAction extends IProposalAction = IProposalAction> {
5
7
  /**
6
8
  * Label of the item.
@@ -32,4 +34,15 @@ export interface IProposalActionsItemProps<TAction extends IProposalAction = IPr
32
34
  * Items displayed beside the "View as" menu.
33
35
  */
34
36
  dropdownItems?: Array<IProposalActionsItemDropdownItem<TAction>>;
37
+ /**
38
+ * Enables the edit-mode when set to true. The RAW view will be editable only if the action has no DECODED view,
39
+ * similarly the DECODED view will be editable only if the action has no BASIC view.
40
+ * The component must be wrapped through a form context provider when the property is set to true.
41
+ * @default false
42
+ */
43
+ editMode?: boolean;
44
+ /**
45
+ * Form prefix to be prepended to all proposal action text fields.
46
+ */
47
+ formPrefix?: string;
35
48
  }
@@ -1,8 +1,8 @@
1
1
  import type { IProposalAction } from '../proposalActionsDefinitions';
2
2
  import type { IProposalActionsItemProps } from './proposalActionsItem.api';
3
- export declare enum ProposalActionViewMode {
4
- BASIC = "BASIC",
5
- DECODED = "DECODED",
6
- RAW = "RAW"
7
- }
3
+ /**
4
+ * The `<ProposalActions.Item />` component supports multiple view modes depending if the action supports a basic view
5
+ * and if the parameters for the actions are defined.
6
+ * **_NOTE:_** The component must be used inside a `<FormProvider />` component from `react-hook-form` when used in `editMode`.
7
+ */
8
8
  export declare const ProposalActionsItem: <TAction extends IProposalAction = IProposalAction>(props: IProposalActionsItemProps<TAction>) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import type { IProposalAction, IProposalActionComponentProps, ProposalActionComponent } from '../../proposalActionsDefinitions';
1
+ import type { IProposalAction, IProposalActionComponentProps, ProposalActionComponent } from '../proposalActionsDefinitions';
2
2
  export interface IProposalActionsItemBasicViewProps<TAction extends IProposalAction = IProposalAction> extends IProposalActionComponentProps<TAction> {
3
3
  /**
4
4
  * Custom component to be rendered.
@@ -11,15 +11,19 @@ export interface IProposalActionUpdateMetadataDaoMetadataLink {
11
11
  }
12
12
  export interface IProposalActionUpdateMetadataDaoMetadata {
13
13
  /**
14
- * Logo url of the DAO.
14
+ * URL of the logo, only set for DAO metadata.
15
15
  */
16
- logo: string;
16
+ logo?: string;
17
17
  /**
18
- * Name of the DAO.
18
+ * Name of the DAO or Plugin.
19
19
  */
20
20
  name: string;
21
21
  /**
22
- * DAO Description.
22
+ * Process key, only set for Plugin process metadata
23
+ */
24
+ processKey?: string;
25
+ /**
26
+ * Description of the DAO, plugin.
23
27
  */
24
28
  description: string;
25
29
  /**
@@ -29,9 +33,9 @@ export interface IProposalActionUpdateMetadataDaoMetadata {
29
33
  }
30
34
  export interface IProposalActionUpdateMetadata extends IProposalAction {
31
35
  /**
32
- * UpdateMetadata action.
36
+ * Metadata action type.
33
37
  */
34
- type: ProposalActionType.UPDATE_METADATA;
38
+ type: ProposalActionType.UPDATE_METADATA | ProposalActionType.UPDATE_PLUGIN_METADATA;
35
39
  /**
36
40
  * Proposed metadata.
37
41
  */
@@ -1 +1,2 @@
1
1
  export * from './useBlockExplorer';
2
+ export * from './useFormContext';
@@ -0,0 +1 @@
1
+ export { useFormContext, type UseFormContextReturn } from './useFormContext';
@@ -0,0 +1,3 @@
1
+ import { type FieldValues, type UseFormReturn } from 'react-hook-form';
2
+ export type UseFormContextReturn<TFormValues extends FieldValues = FieldValues> = UseFormReturn<TFormValues>;
3
+ export declare const useFormContext: <TFormValues extends FieldValues>(enabled: boolean) => UseFormContextReturn<TFormValues>;
@@ -0,0 +1,2 @@
1
+ import type { UseFormContextReturn } from '../../hooks';
2
+ export declare const generateFormContext: (context?: Partial<UseFormContextReturn>) => UseFormContextReturn;
@@ -0,0 +1 @@
1
+ export * from './formContext';
@@ -0,0 +1 @@
1
+ export * from './generators';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aragon/gov-ui-kit",
3
- "version": "1.0.57",
3
+ "version": "1.0.59",
4
4
  "description": "Implementation of the Aragon's Governance UI Kit",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/types/src/index.d.ts",
@@ -66,7 +66,7 @@
66
66
  "@tiptap/starter-kit": "^2.10.0",
67
67
  "blockies-ts": "^1.0.0",
68
68
  "classnames": "^2.0.0",
69
- "framer-motion": "^11.11.0",
69
+ "framer-motion": "^11.13.0",
70
70
  "luxon": "^3.5.0",
71
71
  "react-dropzone": "^14.3.0",
72
72
  "react-imask": "^7.6.1",
@@ -75,9 +75,10 @@
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@tailwindcss/typography": "^0.5.0",
78
- "@tanstack/react-query": "^5.61.0",
78
+ "@tanstack/react-query": "^5.62.0",
79
79
  "react": "^18.2.0 || ^19.0.0",
80
80
  "react-dom": "^18.2.0 || ^19.0.0",
81
+ "react-hook-form": "^7.54.0",
81
82
  "tailwindcss": "^3.4.0",
82
83
  "viem": "^2.21.0",
83
84
  "wagmi": "^2.13.0"
@@ -85,67 +86,70 @@
85
86
  "devDependencies": {
86
87
  "@babel/core": "^7.26.0",
87
88
  "@babel/preset-env": "^7.26.0",
88
- "@babel/preset-react": "^7.25.9",
89
+ "@babel/preset-react": "^7.26.3",
89
90
  "@babel/preset-typescript": "^7.26.0",
91
+ "@hookform/devtools": "^4.3.1",
90
92
  "@rollup/plugin-commonjs": "^28.0.1",
91
93
  "@rollup/plugin-image": "^3.0.3",
92
94
  "@rollup/plugin-node-resolve": "^15.3.0",
93
95
  "@rollup/plugin-terser": "^0.4.4",
94
96
  "@rollup/plugin-typescript": "^12.1.1",
95
97
  "@storybook/addon-designs": "^8.0.4",
96
- "@storybook/addon-essentials": "^8.4.5",
97
- "@storybook/addon-links": "^8.4.5",
98
+ "@storybook/addon-essentials": "^8.4.7",
99
+ "@storybook/addon-links": "^8.4.7",
98
100
  "@storybook/addon-styling-webpack": "^1.0.1",
99
101
  "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
100
- "@storybook/blocks": "^8.4.5",
101
- "@storybook/react": "^8.4.5",
102
- "@storybook/react-webpack5": "^8.4.5",
102
+ "@storybook/blocks": "^8.4.7",
103
+ "@storybook/react": "^8.4.7",
104
+ "@storybook/react-webpack5": "^8.4.7",
103
105
  "@storybook/storybook-deployer": "^2.8.16",
104
106
  "@svgr/rollup": "^8.1.0",
105
107
  "@svgr/webpack": "^8.1.0",
106
108
  "@tailwindcss/typography": "^0.5.15",
107
- "@tanstack/react-query": "^5.61.3",
109
+ "@tanstack/react-query": "^5.62.3",
108
110
  "@testing-library/dom": "^10.4.0",
109
111
  "@testing-library/jest-dom": "^6.6.3",
110
- "@testing-library/react": "^16.0.1",
112
+ "@testing-library/react": "^16.1.0",
111
113
  "@testing-library/user-event": "^14.5.2",
112
114
  "@types/jest": "^29.5.14",
113
115
  "@types/luxon": "^3.4.2",
114
- "@types/react-dom": "^18.3.1",
116
+ "@types/react": "^19.0.1",
117
+ "@types/react-dom": "^19.0.1",
115
118
  "@types/sanitize-html": "^2.13.0",
116
119
  "autoprefixer": "^10.4.20",
117
120
  "cross-env": "^7.0.3",
118
- "eslint": "^9.15.0",
119
- "eslint-import-resolver-typescript": "^3.6.3",
121
+ "eslint": "^9.16.0",
122
+ "eslint-import-resolver-typescript": "^3.7.0",
120
123
  "eslint-plugin-import": "^2.31.0",
121
124
  "eslint-plugin-jsx-a11y": "^6.10.2",
122
125
  "eslint-plugin-react": "^7.37.2",
123
- "eslint-plugin-react-hooks": "^5.0.0",
126
+ "eslint-plugin-react-hooks": "^5.1.0",
124
127
  "eslint-plugin-storybook": "^0.11.1",
125
128
  "eslint-plugin-tailwindcss": "^3.17.5",
126
- "eslint-plugin-testing-library": "^7.0.0",
129
+ "eslint-plugin-testing-library": "^7.1.1",
127
130
  "husky": "^9.1.7",
128
131
  "jest": "^29.7.0",
129
132
  "jest-environment-jsdom": "^29.7.0",
130
133
  "lint-staged": "^15.2.10",
131
134
  "postcss": "^8.4.48",
132
135
  "postcss-loader": "^8.1.1",
133
- "prettier": "^3.3.3",
136
+ "prettier": "^3.4.2",
134
137
  "prettier-plugin-organize-imports": "^4.1.0",
135
138
  "prettier-plugin-tailwindcss": "^0.6.9",
136
- "react": "^18.3.1",
137
- "react-dom": "^18.3.1",
138
- "rollup": "^4.27.4",
139
+ "react": "^19.0.0",
140
+ "react-dom": "^19.0.0",
141
+ "react-hook-form": "^7.54.0",
142
+ "rollup": "^4.28.1",
139
143
  "rollup-plugin-peer-deps-external": "^2.2.4",
140
144
  "rollup-plugin-postcss": "^4.0.2",
141
145
  "rollup-plugin-visualizer": "^5.12.0",
142
- "storybook": "^8.4.5",
143
- "tailwindcss": "^3.4.15",
146
+ "storybook": "^8.4.7",
147
+ "tailwindcss": "^3.4.16",
144
148
  "ts-jest": "^29.2.5",
145
149
  "typescript": "^5.7.2",
146
- "typescript-eslint": "^8.16.0",
147
- "viem": "^2.21.50",
148
- "wagmi": "^2.13.0"
150
+ "typescript-eslint": "^8.18.0",
151
+ "viem": "^2.21.54",
152
+ "wagmi": "^2.13.5"
149
153
  },
150
154
  "bugs": {
151
155
  "url": "https://github.com/aragon/gov-ui-kit/issues"
@@ -1 +0,0 @@
1
- export { ProposalActionsItemBasicView, type IProposalActionsItemBasicViewProps } from './proposalActionsItemBasicView';
@@ -1 +0,0 @@
1
- export { ProposalActionsItemDecodedView, type IProposalActionsItemDecodedViewProps, } from './proposalActionsItemDecodedView';
@@ -1,8 +0,0 @@
1
- import type { IProposalAction } from '../../proposalActionsDefinitions';
2
- export interface IProposalActionsItemDecodedViewProps {
3
- /**
4
- * Proposal action to render decoded view for.
5
- */
6
- action: IProposalAction;
7
- }
8
- export declare const ProposalActionsItemDecodedView: React.FC<IProposalActionsItemDecodedViewProps>;
@@ -1 +0,0 @@
1
- export { ProposalActionsItemRawView, type IProposalActionsItemRawViewProps } from './proposalActionsItemRawView';
@@ -1,8 +0,0 @@
1
- import type { IProposalAction } from '../../proposalActionsDefinitions';
2
- export interface IProposalActionsItemRawViewProps {
3
- /**
4
- * Proposal action to render the raw view for.
5
- */
6
- action: IProposalAction;
7
- }
8
- export declare const ProposalActionsItemRawView: React.FC<IProposalActionsItemRawViewProps>;