@dhis2/ui-forms 8.15.0 → 8.16.0-alpha.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2/ui-forms",
3
- "version": "8.15.0",
3
+ "version": "8.16.0-alpha.1",
4
4
  "main": "./build/cjs/index.js",
5
5
  "module": "./build/es/index.js",
6
6
  "sideEffects": [
@@ -8,6 +8,7 @@
8
8
  "build/cjs/locales/index.js"
9
9
  ],
10
10
  "exports": {
11
+ "types": "./types/index.d.ts",
11
12
  "import": "./build/es/index.js",
12
13
  "require": "./build/cjs/index.js"
13
14
  },
@@ -34,25 +35,27 @@
34
35
  },
35
36
  "dependencies": {
36
37
  "@dhis2/prop-types": "^3.1.2",
37
- "@dhis2-ui/button": "8.15.0",
38
- "@dhis2-ui/checkbox": "8.15.0",
39
- "@dhis2-ui/field": "8.15.0",
40
- "@dhis2-ui/file-input": "8.15.0",
41
- "@dhis2-ui/input": "8.15.0",
42
- "@dhis2-ui/radio": "8.15.0",
43
- "@dhis2-ui/select": "8.15.0",
44
- "@dhis2-ui/switch": "8.15.0",
45
- "@dhis2-ui/text-area": "8.15.0",
38
+ "@dhis2-ui/button": "8.16.0-alpha.1",
39
+ "@dhis2-ui/checkbox": "8.16.0-alpha.1",
40
+ "@dhis2-ui/field": "8.16.0-alpha.1",
41
+ "@dhis2-ui/file-input": "8.16.0-alpha.1",
42
+ "@dhis2-ui/input": "8.16.0-alpha.1",
43
+ "@dhis2-ui/radio": "8.16.0-alpha.1",
44
+ "@dhis2-ui/select": "8.16.0-alpha.1",
45
+ "@dhis2-ui/switch": "8.16.0-alpha.1",
46
+ "@dhis2-ui/text-area": "8.16.0-alpha.1",
46
47
  "classnames": "^2.3.1",
47
48
  "final-form": "^4.20.2",
48
49
  "prop-types": "^15.7.2",
49
50
  "react-final-form": "^6.5.3"
50
51
  },
51
52
  "files": [
52
- "build"
53
+ "build",
54
+ "types"
53
55
  ],
54
56
  "devDependencies": {
55
57
  "react": "16.13",
56
58
  "react-dom": "16.13"
57
- }
59
+ },
60
+ "types": "types"
58
61
  }
@@ -0,0 +1,16 @@
1
+ import type { FieldRenderProps } from 'react-final-form'
2
+ import type { CheckboxFieldProps } from '@dhis2-ui/checkbox'
3
+ import React from 'react'
4
+
5
+ type CheckBoxValue = CheckboxFieldProps['value']
6
+ type CheckboxRestProps = Omit<
7
+ CheckboxFieldProps,
8
+ 'onChange' | 'value' | 'checked' | 'name'
9
+ >
10
+
11
+ export type CheckboxFieldFFProps = FieldRenderProps<CheckBoxValue> &
12
+ CheckboxRestProps & {
13
+ showValidStatus?: boolean
14
+ }
15
+
16
+ export const CheckboxFieldFF: React.FC<CheckboxFieldFFProps>
@@ -0,0 +1,9 @@
1
+ import React from 'react'
2
+ import type { FieldGroupProps } from '@dhis2-ui/field'
3
+
4
+ export type FieldGroupFFProps = Omit<
5
+ FieldGroupProps,
6
+ 'children' | 'label' | 'name' | 'required'
7
+ >
8
+
9
+ export const FieldGroupFF: React.FC<FieldGroupFFProps>
@@ -0,0 +1,18 @@
1
+ import React from 'react'
2
+ import type { FileInputFieldProps } from '@dhis2-ui/file-input'
3
+ import type { FieldRenderProps } from 'react-final-form'
4
+
5
+ export type FilesValue = File[] | undefined | null | ''
6
+
7
+ type FileInputRestProps = Omit<
8
+ FileInputFieldProps,
9
+ 'onChange' | 'multiple' | 'name'
10
+ >
11
+
12
+ export type FileInputFieldFFProps = FieldRenderProps<FilesValue> &
13
+ FileInputRestProps & {
14
+ showValidStatus?: boolean
15
+ multifile: FileInputFieldProps['multiple']
16
+ }
17
+
18
+ export const FileInputFieldFF: React.FC<FileInputFieldFFProps>
@@ -0,0 +1,15 @@
1
+ import React from 'react'
2
+ import type { InputFieldProps } from '@dhis2-ui/input'
3
+ import type { FieldRenderProps } from 'react-final-form'
4
+
5
+ export type InputValue = InputFieldProps['value']
6
+
7
+ type InputFieldRestProps = Omit<InputFieldProps, 'onChange' | 'value' | 'name'>
8
+
9
+ export type InputFieldFFProps = FieldRenderProps<InputValue> &
10
+ InputFieldRestProps & {
11
+ showLoadingStatus?: boolean
12
+ showValidStatus?: boolean
13
+ }
14
+
15
+ export const InputFieldFF: React.FC<InputFieldFFProps>
@@ -0,0 +1,24 @@
1
+ import React from 'react'
2
+ import type { FieldRenderProps } from 'react-final-form'
3
+ import type {
4
+ MultiSelectOptionProps,
5
+ MultiSelectFieldProps,
6
+ } from '@dhis2-ui/select'
7
+
8
+ type InputValue = MultiSelectFieldProps['selected'] | ''
9
+
10
+ type MultiSelectFieldRestProps = Omit<
11
+ MultiSelectFieldProps,
12
+ 'onChange' | 'value'
13
+ >
14
+
15
+ type MultiSelectOptions = Array<Pick<MultiSelectOptionProps, 'value' | 'label'>>
16
+
17
+ export type MultiSelectFieldFFProps = FieldRenderProps<InputValue> &
18
+ MultiSelectFieldRestProps & {
19
+ showLoadingStatus?: boolean
20
+ showValidStatus?: boolean
21
+ options: MultiSelectOptions
22
+ }
23
+
24
+ export const MultiSelectFieldFF: React.FC<MultiSelectFieldFFProps>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import type { FieldRenderProps } from 'react-final-form'
3
+ import type { RadioProps } from '@dhis2-ui/radio'
4
+
5
+ type InputValue = RadioProps['value']
6
+
7
+ type RadioRestProps = Omit<
8
+ RadioProps,
9
+ 'onChange' | 'value' | 'checked' | 'name'
10
+ >
11
+
12
+ export type RadioFieldFFProps = FieldRenderProps<InputValue> &
13
+ RadioRestProps & {
14
+ showValidStatus?: boolean
15
+ }
16
+
17
+ export const RadioFieldFF: React.FC<RadioFieldFFProps>
@@ -0,0 +1,26 @@
1
+ import React from 'react'
2
+ import type { FieldRenderProps } from 'react-final-form'
3
+ import type {
4
+ SingleSelectOptionProps,
5
+ SingleSelectFieldProps,
6
+ } from '@dhis2-ui/select'
7
+
8
+ type InputValue = SingleSelectFieldProps['selected']
9
+
10
+ type SingleSelectOptions = Array<
11
+ Pick<SingleSelectOptionProps, 'value' | 'label'>
12
+ >
13
+
14
+ type SingleSelectRestProps = Omit<
15
+ SingleSelectFieldProps,
16
+ 'onChange' | 'value' | 'name'
17
+ >
18
+
19
+ export type SingleSelectFieldFFProps = FieldRenderProps<InputValue> &
20
+ SingleSelectRestProps & {
21
+ showLoadingStatus?: boolean
22
+ showValidStatus?: boolean
23
+ options: SingleSelectOptions
24
+ }
25
+
26
+ export const SingleSelectFieldFF: React.FC<SingleSelectFieldFFProps>
@@ -0,0 +1,15 @@
1
+ import React from 'react'
2
+ import type { FieldRenderProps } from 'react-final-form'
3
+ import type { SwitchFieldProps } from '@dhis2-ui/switch'
4
+
5
+ type InputValue = SwitchFieldProps['value']
6
+
7
+ type SwitchFieldRestProps = Omit<
8
+ SwitchFieldProps,
9
+ 'onChange' | 'checked' | 'value' | 'name'
10
+ >
11
+
12
+ export type SwitchFieldFFProps = FieldRenderProps<InputValue> &
13
+ SwitchFieldRestProps
14
+
15
+ export const SwitchFieldFF: React.FC<SwitchFieldFFProps>
@@ -0,0 +1,15 @@
1
+ import React from 'react'
2
+ import type { FieldRenderProps } from 'react-final-form'
3
+ import type { TextAreaFieldProps } from '@dhis2-ui/text-area'
4
+
5
+ type InputValue = TextAreaFieldProps['value']
6
+
7
+ type TextAreaFieldRestProps = Omit<
8
+ TextAreaFieldProps,
9
+ 'onChange' | 'value' | 'name'
10
+ >
11
+
12
+ export type TextAreaFieldFFProps = FieldRenderProps<InputValue> &
13
+ TextAreaFieldRestProps
14
+
15
+ export const TextAreaFieldFF: React.FC<TextAreaFieldFFProps>
@@ -0,0 +1,28 @@
1
+ import * as FinalForm from 'final-form'
2
+ import * as ReactFinalForm from 'react-final-form'
3
+
4
+ export { CheckboxFieldFF } from './CheckboxFieldFF/CheckboxFieldFF'
5
+ export { FileInputFieldFF } from './FileInputFieldFF/FileInputFieldFF'
6
+ export { InputFieldFF } from './InputFieldFF/InputFieldFF'
7
+ export { MultiSelectFieldFF } from './MultiSelectFieldFF/MutliSelectFieldFF'
8
+ export { SingleSelectFieldFF } from './SingleSelectFieldFF/SingleSelectFieldFF'
9
+ export { RadioFieldFF } from './RadioFieldFF/RadioFieldFF'
10
+ export { SwitchFieldFF } from './SwitchFieldFF/SwitchFieldFF'
11
+ export { TextAreaFieldFF } from './TextAreaFieldFF/TextAreaFieldFF'
12
+ export { FieldGroupFF } from './FieldGroupFF/FieldGroupFF'
13
+
14
+ export * from './transformers'
15
+ export * from './validators'
16
+
17
+ /**
18
+ * Allows direct access to the FinalForm library. Please note that this is considered advanced
19
+ * usage and that you need to stay up to date with breaking changes in the FinalForm library.
20
+ */
21
+ export { FinalForm }
22
+
23
+ /**
24
+ * Allows direct access to the ReactFinalForm library. Please note that this is considered
25
+ * advanced usage and that you need to stay up to date with breaking changes in the FinalForm
26
+ * library.
27
+ */
28
+ export { ReactFinalForm }
@@ -0,0 +1,6 @@
1
+ export type ValuesWithId = Array<{ id: string }> | undefined
2
+
3
+ export const arrayWithIdObjects: {
4
+ format: (value: ValuesWithId) => string
5
+ pars: (value: string) => ValuesWithId
6
+ }
@@ -0,0 +1,31 @@
1
+ export type Validator = (value: unknown) => string | undefined
2
+
3
+ export const alphaNumeric: Validator
4
+ export const boolean: Validator
5
+ export const composeValidators: (...validators: Validator[]) => Validator
6
+
7
+ export const createCharacterLengthRange: (
8
+ lowerBound: number,
9
+ upperBound: number,
10
+ customMessage?: string
11
+ ) => Validator
12
+ export const createEqualTo: (key: string, description?: string) => Validator
13
+ export const createMaxCharacterLength: (upperBound: number) => Validator
14
+ export const createMaxNumber: (upperBound: number) => Validator
15
+ export const createMinCharacterLength: (lowerBound: number) => Validator
16
+ export const createMinNumber: (lowerBound: number) => Validator
17
+ export const createNumberRange: (
18
+ lowerBound: number,
19
+ upperBound: number,
20
+ customMessage?: string
21
+ ) => Validator
22
+ export const createPattern: (pattern: RegExp, message?: string) => Validator
23
+ export const dhis2Password: Validator
24
+ export const dhis2Username: Validator
25
+ export const email: Validator
26
+ export const hasValue: Validator
27
+ export const integer: Validator
28
+ export const internationalPhoneNumber: Validator
29
+ export const number: Validator
30
+ export const string: Validator
31
+ export const url: Validator