@abgov/jsonforms-components 1.46.0 → 1.48.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/index.esm.js +799 -598
- package/package.json +3 -2
- package/src/lib/Additional/HelpContent.d.ts +5 -0
- package/src/lib/Additional/styled-components.d.ts +1 -0
- package/src/lib/Controls/FormStepper/FormStepperControl.d.ts +2 -1
- package/src/lib/Controls/FormStepper/FormStepperReviewControl.d.ts +2 -0
- package/src/lib/Controls/FormStepper/RenderStepElements.d.ts +4 -5
- package/src/lib/Controls/FormStepper/context/StepperContext.d.ts +26 -0
- package/src/lib/Controls/FormStepper/context/index.d.ts +3 -0
- package/src/lib/Controls/FormStepper/context/reducer.d.ts +26 -0
- package/src/lib/Controls/FormStepper/context/types.d.ts +27 -0
- package/src/lib/Controls/FormStepper/types.d.ts +2 -0
- package/src/lib/Controls/FormStepper/util/helpers.d.ts +1 -0
- package/src/lib/util/layout.d.ts +3 -1
- package/src/lib/Controls/FormStepper/StepperContext.d.ts +0 -19
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abgov/jsonforms-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.48.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Government of Alberta - React renderers for JSON Forms based on the design system.",
|
|
6
6
|
"repository": "https://github.com/GovAlta/adsp-monorepo",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"react": "^18.0.0",
|
|
12
12
|
"ajv": "^8.6.1",
|
|
13
13
|
"ajv-errors": "^3.0.0",
|
|
14
|
-
"ajv-formats": "^3.0.1"
|
|
14
|
+
"ajv-formats": "^3.0.1",
|
|
15
|
+
"@mdx-js/mdx": "^3.1.0"
|
|
15
16
|
},
|
|
16
17
|
"dependencies": {
|
|
17
18
|
"axios": "^1.6.7",
|
|
@@ -10,6 +10,7 @@ interface OptionProps {
|
|
|
10
10
|
height?: string;
|
|
11
11
|
width?: string;
|
|
12
12
|
link?: string;
|
|
13
|
+
markdown?: boolean;
|
|
13
14
|
}
|
|
14
15
|
interface CustomControlElement extends ControlElement {
|
|
15
16
|
options?: OptionProps;
|
|
@@ -22,6 +23,10 @@ interface ExtraHelpContentProps {
|
|
|
22
23
|
interface CustomControlProps extends ControlProps {
|
|
23
24
|
uischema: CustomControlElement;
|
|
24
25
|
}
|
|
26
|
+
interface MdxMarkdown {
|
|
27
|
+
markdown: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const MarkdownComponent: ({ markdown }: MdxMarkdown) => JSX.Element;
|
|
25
30
|
export declare const HelpContentComponent: ({ isParent, showLabel, ...props }: CustomControlProps & ExtraHelpContentProps) => JSX.Element;
|
|
26
31
|
export declare const HelpContentTester: RankedTester;
|
|
27
32
|
export declare const HelpContent: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const HelpContentDiv: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
3
|
+
export declare const InvalidMarkdown: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -6,6 +6,7 @@ export interface FormStepperOptionProps {
|
|
|
6
6
|
previousButtonLabel?: string;
|
|
7
7
|
previousButtonType?: GoAButtonType;
|
|
8
8
|
}
|
|
9
|
-
export declare const FormStepper: (props: CategorizationStepperLayoutRendererProps) => JSX.Element;
|
|
9
|
+
export declare const FormStepper: (props: CategorizationStepperLayoutRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const FormStepperView: (props: CategorizationStepperLayoutRendererProps) => JSX.Element;
|
|
10
11
|
export declare const FormStepperControl: (props: CategorizationStepperLayoutRendererProps & import("@jsonforms/core").OwnPropsOfLayout) => import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export default FormStepper;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { CategorizationStepperLayoutReviewRendererProps } from './types';
|
|
2
2
|
export declare const FormStepperReviewer: (props: CategorizationStepperLayoutReviewRendererProps) => JSX.Element;
|
|
3
|
+
export declare const FormStepperReviewControl: (props: CategorizationStepperLayoutReviewRendererProps & import("@jsonforms/core").OwnPropsOfLayout) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export default FormStepperReviewer;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { JsonFormsCellRendererRegistryEntry, JsonFormsRendererRegistryEntry, JsonSchema } from '@jsonforms/core';
|
|
2
|
+
import { CategorizationElement } from './context/types';
|
|
3
3
|
export interface StepProps {
|
|
4
4
|
category: CategorizationElement;
|
|
5
5
|
categoryIndex: number;
|
|
6
|
-
step: number;
|
|
7
6
|
schema: JsonSchema;
|
|
8
|
-
enabled: boolean;
|
|
9
7
|
visible: boolean;
|
|
8
|
+
enabled: boolean;
|
|
10
9
|
path: string;
|
|
11
|
-
disabledCategoryMap: boolean[];
|
|
12
10
|
renderers: JsonFormsRendererRegistryEntry[] | undefined;
|
|
13
11
|
cells: JsonFormsCellRendererRegistryEntry[] | undefined;
|
|
12
|
+
data: Record<string, unknown>;
|
|
14
13
|
}
|
|
15
14
|
export declare const RenderStepElements: (props: StepProps) => JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode, Dispatch } from 'react';
|
|
2
|
+
import { CategorizationStepperLayoutRendererProps } from '../types';
|
|
3
|
+
import { StepperContextDataType, CategoryState } from './types';
|
|
4
|
+
import Ajv from 'ajv';
|
|
5
|
+
import { JsonFormStepperDispatch } from './reducer';
|
|
6
|
+
export interface JsonFormsStepperContextProviderProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
StepperProps: CategorizationStepperLayoutRendererProps & {
|
|
9
|
+
customDispatch?: Dispatch<any> & {
|
|
10
|
+
activeId?: number;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface JsonFormsStepperContextProps {
|
|
15
|
+
stepperDispatch: JsonFormStepperDispatch;
|
|
16
|
+
selectStepperState: () => StepperContextDataType;
|
|
17
|
+
selectIsDisabled: () => boolean;
|
|
18
|
+
selectIsActive: (id: number) => boolean;
|
|
19
|
+
selectPath: () => string;
|
|
20
|
+
selectCategory: (id: number) => CategoryState;
|
|
21
|
+
goToPage: (id: number, updateCategoryId?: number) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare const isErrorPathIncluded: (errorPaths: string[], path: string) => boolean;
|
|
24
|
+
export declare const getIncompletePaths: (ajv: Ajv, scopes: string[]) => string[];
|
|
25
|
+
export declare const JsonFormsStepperContext: import("react").Context<JsonFormsStepperContextProps | undefined>;
|
|
26
|
+
export declare const JsonFormsStepperContextProvider: ({ children, StepperProps, }: JsonFormsStepperContextProviderProps) => JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { StepperContextDataType } from './types';
|
|
2
|
+
import { ErrorObject } from 'ajv';
|
|
3
|
+
import { Dispatch } from 'react';
|
|
4
|
+
export type JsonFormStepperDispatch = Dispatch<StepperAction>;
|
|
5
|
+
export type StepperAction = {
|
|
6
|
+
type: 'page/next';
|
|
7
|
+
} | {
|
|
8
|
+
type: 'page/prev';
|
|
9
|
+
} | {
|
|
10
|
+
type: 'page/to/index';
|
|
11
|
+
payload: {
|
|
12
|
+
id: number;
|
|
13
|
+
};
|
|
14
|
+
} | {
|
|
15
|
+
type: 'update/category';
|
|
16
|
+
payload: {
|
|
17
|
+
errors: ErrorObject[];
|
|
18
|
+
id: number;
|
|
19
|
+
};
|
|
20
|
+
} | {
|
|
21
|
+
type: 'validate/form';
|
|
22
|
+
payload: {
|
|
23
|
+
errors?: ErrorObject[];
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export declare const stepperReducer: (state: StepperContextDataType, action: StepperAction) => StepperContextDataType;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Categorization, Category } from '@jsonforms/core';
|
|
2
|
+
export interface CategoryInternalState {
|
|
3
|
+
isCompleted?: boolean;
|
|
4
|
+
isVisited?: boolean;
|
|
5
|
+
isValid?: boolean;
|
|
6
|
+
id: number;
|
|
7
|
+
uischema?: CategorizationElement;
|
|
8
|
+
isEnabled?: boolean;
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
path?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CategoryConfig {
|
|
13
|
+
label: string;
|
|
14
|
+
scopes: string[];
|
|
15
|
+
}
|
|
16
|
+
export type CategoryState = CategoryInternalState & CategoryConfig;
|
|
17
|
+
export type CategoriesState = Array<CategoryState>;
|
|
18
|
+
export interface StepperContextDataType {
|
|
19
|
+
categories: CategoriesState;
|
|
20
|
+
activeId: number;
|
|
21
|
+
hasNextButton: boolean;
|
|
22
|
+
hasPrevButton: boolean;
|
|
23
|
+
path: string;
|
|
24
|
+
isOnReview: boolean;
|
|
25
|
+
isValid: boolean;
|
|
26
|
+
}
|
|
27
|
+
export type CategorizationElement = Category | Categorization;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Categorization, Category } from '@jsonforms/core';
|
|
1
2
|
import { StatePropsOfLayout } from '@jsonforms/core';
|
|
2
3
|
import { AjvProps } from '../../util/layout';
|
|
3
4
|
import { TranslateProps } from '@jsonforms/react';
|
|
@@ -10,3 +11,4 @@ export interface FormStepperComponentProps {
|
|
|
10
11
|
controlledNav?: number;
|
|
11
12
|
readOnly?: boolean;
|
|
12
13
|
}
|
|
14
|
+
export type CategorizationElement = Category | Categorization;
|
package/src/lib/util/layout.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentType } from 'react';
|
|
1
|
+
import React, { ComponentType } from 'react';
|
|
2
2
|
import type { UISchemaElement } from '@jsonforms/core';
|
|
3
3
|
import { JsonFormsCellRendererRegistryEntry, JsonFormsRendererRegistryEntry, JsonSchema, OwnPropsOfRenderer } from '@jsonforms/core';
|
|
4
4
|
import Ajv from 'ajv';
|
|
@@ -14,3 +14,5 @@ export interface AjvProps {
|
|
|
14
14
|
}
|
|
15
15
|
export declare const withAjvProps: <P extends object>(Component: ComponentType<AjvProps & P>) => (props: P) => import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
export declare const LayoutRenderer: ({ elements, schema, path, enabled, direction, renderers, cells, visible, width, }: LayoutRendererProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
export declare const ReviewLayoutRenderer: ({ elements, schema, path, enabled, direction, renderers, cells, visible, width, }: LayoutRendererProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
18
|
+
export declare const ReviewGrid: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { GoAFormStepStatusType } from '@abgov/react-components-new';
|
|
3
|
-
export type StepInputStatus = {
|
|
4
|
-
id: string;
|
|
5
|
-
value: unknown;
|
|
6
|
-
required: boolean;
|
|
7
|
-
type: string | string[] | undefined;
|
|
8
|
-
step: number;
|
|
9
|
-
};
|
|
10
|
-
export interface StatusTable {
|
|
11
|
-
[key: string]: StepInputStatus;
|
|
12
|
-
}
|
|
13
|
-
export declare const StepperContext: import("react").Context<{
|
|
14
|
-
updateStatus: (status: StepInputStatus) => void;
|
|
15
|
-
isInitialized: (_: string) => boolean;
|
|
16
|
-
stepId: number;
|
|
17
|
-
}>;
|
|
18
|
-
export declare const getCompletionStatus: (table: StatusTable, step: number, isFormChanged?: boolean) => GoAFormStepStatusType | undefined;
|
|
19
|
-
export declare const logRequiredFields: (table: StatusTable, step: number) => void;
|