From 2668c683fcda0807f34cb3c2a92f405d5ff66578 Mon Sep 17 00:00:00 2001 From: Chisom Chima <87203527+Chisomchima@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:30:11 +0100 Subject: [PATCH 1/4] feat: add indicator list type list view (#433) * feat: add indicator list type list view * feat: add edit and new form * chore: update factor schema type * chore: update name field validation * chore: update indicator types columns * fix: prevent indicator types from using attributes * chore: add notice box when custom attributes throw error --- i18n/en.pot | 61 +++++++++++++++---- src/components/form/FormBase.tsx | 1 + .../listViews/sectionListViewsConfig.ts | 27 +++++++- src/pages/indicatorTypes/Edit.tsx | 48 +++++++++++++++ src/pages/indicatorTypes/List.tsx | 4 ++ src/pages/indicatorTypes/New.tsx | 24 ++++++++ .../form/IndicatorTypesFormFields.tsx | 50 +++++++++++++++ .../form/IndicatorTypesSchema.ts | 12 ++++ src/pages/indicatorTypes/form/index.ts | 1 + 9 files changed, 214 insertions(+), 14 deletions(-) create mode 100644 src/pages/indicatorTypes/Edit.tsx create mode 100644 src/pages/indicatorTypes/List.tsx create mode 100644 src/pages/indicatorTypes/New.tsx create mode 100644 src/pages/indicatorTypes/form/IndicatorTypesFormFields.tsx create mode 100644 src/pages/indicatorTypes/form/IndicatorTypesSchema.ts create mode 100644 src/pages/indicatorTypes/form/index.ts diff --git a/i18n/en.pot b/i18n/en.pot index c0866fd0..b0ac10ae 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2024-11-21T14:53:27.430Z\n" -"PO-Revision-Date: 2024-11-21T14:53:27.430Z\n" +"POT-Creation-Date: 2024-11-25T10:03:10.019Z\n" +"PO-Revision-Date: 2024-11-25T10:03:10.019Z\n" msgid "schemas" msgstr "schemas" @@ -909,6 +909,9 @@ msgstr "Required" msgid "Period type" msgstr "Period type" +msgid "Factor" +msgstr "Factor" + msgid "Basic information" msgstr "Basic information" @@ -949,15 +952,6 @@ msgstr "Filter available category options" msgid "Filter selected category options" msgstr "Filter selected category options" -msgid "Choose how this category combo will be used to capture and analyze data." -msgstr "Choose how this category combo will be used to capture and analyze data." - -msgid "Skip category total in reports" -msgstr "Skip category total in reports" - -msgid "Choose the categories to include in this category combo." -msgstr "Choose the categories to include in this category combo." - msgid "Available categories" msgstr "Available categories" @@ -970,8 +964,46 @@ msgstr "Filter available categories" msgid "Filter selected categories" msgstr "Filter selected categories" -msgid "At least one category is required" -msgstr "At least one category is required" +msgid "{{count}} category option combinations will be generated." +msgid_plural "{{count}} category option combinations will be generated." +msgstr[0] "{{count}} category option combinations will be generated." +msgstr[1] "{{count}} category option combinations will be generated." + +msgid "More than 4 Categories" +msgstr "More than 4 Categories" + +msgid "A Category combination with more than 4 categories is not recommended." +msgstr "A Category combination with more than 4 categories is not recommended." + +msgid "Identical Category Combination" +msgstr "Identical Category Combination" + +msgid "" +"One or more Category combinations with the same categories already exist in " +"the system. \n" +" It is strongly discouraged to have more than one Category " +"combination with the same categories." +msgstr "" +"One or more Category combinations with the same categories already exist in " +"the system. \n" +" It is strongly discouraged to have more than one Category " +"combination with the same categories." + +msgid "Choose how this category combo will be used to capture and analyze data." +msgstr "Choose how this category combo will be used to capture and analyze data." + +msgid "Skip category total in reports" +msgstr "Skip category total in reports" + +msgid "Choose the categories to include in this category combo." +msgstr "Choose the categories to include in this category combo." + +msgid "" +"The number of generated category option combinations exceeds the limit of " +"{{limit}}" +msgstr "" +"The number of generated category option combinations exceeds the limit of " +"{{limit}}" msgid "Set up the basic information for this category option group set." msgstr "Set up the basic information for this category option group set." @@ -1178,6 +1210,9 @@ msgstr "" "included. PHU will still be available for the PHU level, but not included " "in the aggregations to the levels above." +msgid "Set up the basic information for this Indicator Type." +msgstr "Set up the basic information for this Indicator Type." + msgid "Longitude" msgstr "Longitude" diff --git a/src/components/form/FormBase.tsx b/src/components/form/FormBase.tsx index f5f2ae00..6a55775f 100644 --- a/src/components/form/FormBase.tsx +++ b/src/components/form/FormBase.tsx @@ -11,6 +11,7 @@ import { useCustomAttributesQuery } from './attributes' type MaybeModelWithAttributes = { id?: string + name?: string attributeValues?: PartialAttributeValue[] | undefined } diff --git a/src/lib/sectionList/listViews/sectionListViewsConfig.ts b/src/lib/sectionList/listViews/sectionListViewsConfig.ts index 277a70b1..7265f060 100644 --- a/src/lib/sectionList/listViews/sectionListViewsConfig.ts +++ b/src/lib/sectionList/listViews/sectionListViewsConfig.ts @@ -154,12 +154,37 @@ export const modelListViewsConfig = { }, indicator: { columns: { - default: ['name', DESCRIPTORS.publicAccess, 'lastUpdated'], + default: [ + 'name', + { label: i18n.t('Indicator Type'), path: 'indicatorType' }, + DESCRIPTORS.publicAccess, + 'lastUpdated', + ], }, filters: { default: ['indicatorType'], }, }, + indicatorType: { + columns: { + default: [ + 'name', + { label: i18n.t('Factor'), path: 'factor' }, + 'lastUpdated', + ], + available: [ + 'code', + 'created', + 'createdBy', + 'href', + 'id', + 'lastUpdatedBy', + ], + }, + filters: { + default: [], + }, + }, categoryOptionGroupSet: { columns: { default: [ diff --git a/src/pages/indicatorTypes/Edit.tsx b/src/pages/indicatorTypes/Edit.tsx new file mode 100644 index 00000000..4b395c31 --- /dev/null +++ b/src/pages/indicatorTypes/Edit.tsx @@ -0,0 +1,48 @@ +import React from 'react' +import { useQuery } from 'react-query' +import { useParams } from 'react-router-dom' +import { DefaultNewFormContents } from '../../components/form/DefaultFormContents' +import { FormBase } from '../../components/form/FormBase' +import { SECTIONS_MAP, useOnSubmitEdit } from '../../lib' +import { useBoundResourceQueryFn } from '../../lib/query/useBoundQueryFn' +import { IndicatorType, PickWithFieldFilters } from '../../types/models' +import { validate } from './form' +import { IndicatorTypesFormFields } from './form/IndicatorTypesFormFields' + +const fieldFilters = ['name', 'factor'] as const + +export type IndicatorTypesFormValues = PickWithFieldFilters< + IndicatorType, + typeof fieldFilters +> & { id: string } + +export const Component = () => { + const section = SECTIONS_MAP.indicatorType + const queryFn = useBoundResourceQueryFn() + const modelId = useParams().id as string + + const query = { + resource: 'indicatorTypes', + id: modelId, + params: { + fields: fieldFilters.concat(), + }, + } + const indicatorTypeQuery = useQuery({ + queryKey: [query], + queryFn: queryFn, + }) + return ( + + + + + + ) +} diff --git a/src/pages/indicatorTypes/List.tsx b/src/pages/indicatorTypes/List.tsx new file mode 100644 index 00000000..b310e1bd --- /dev/null +++ b/src/pages/indicatorTypes/List.tsx @@ -0,0 +1,4 @@ +import React from 'react' +import { DefaultSectionList } from '../DefaultSectionList' + +export const Component = () => diff --git a/src/pages/indicatorTypes/New.tsx b/src/pages/indicatorTypes/New.tsx new file mode 100644 index 00000000..91130e55 --- /dev/null +++ b/src/pages/indicatorTypes/New.tsx @@ -0,0 +1,24 @@ +import React from 'react' +import { DefaultNewFormContents } from '../../components/form/DefaultFormContents' +import { FormBase } from '../../components/form/FormBase' +import { SECTIONS_MAP, useOnSubmitNew } from '../../lib' +import { validate } from './form' +import { IndicatorTypesFormFields } from './form/IndicatorTypesFormFields' +import { initialValues } from './form/IndicatorTypesSchema' + +const section = SECTIONS_MAP.indicatorType + +export const Component = () => { + return ( + + + + + + ) +} diff --git a/src/pages/indicatorTypes/form/IndicatorTypesFormFields.tsx b/src/pages/indicatorTypes/form/IndicatorTypesFormFields.tsx new file mode 100644 index 00000000..f1ade7d2 --- /dev/null +++ b/src/pages/indicatorTypes/form/IndicatorTypesFormFields.tsx @@ -0,0 +1,50 @@ +import i18n from '@dhis2/d2-i18n' +import { InputFieldFF } from '@dhis2/ui' +import React from 'react' +import { Field } from 'react-final-form' +import { + CustomAttributesSection, + StandardFormField, + StandardFormSection, + StandardFormSectionTitle, + StandardFormSectionDescription, + NameField, +} from '../../../components' +import { SECTIONS_MAP, useSchemaSectionHandleOrThrow } from '../../../lib' + +export const IndicatorTypesFormFields = () => { + const section = SECTIONS_MAP.indicatorType + const schemaSection = useSchemaSectionHandleOrThrow() + + return ( + <> + + + {i18n.t('Basic information')} + + + {i18n.t( + 'Set up the basic information for this Indicator Type.' + )} + + + + + + + + + + + + + + ) +} diff --git a/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts b/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts new file mode 100644 index 00000000..d9b6d1a1 --- /dev/null +++ b/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts @@ -0,0 +1,12 @@ +import { z } from 'zod' +import { getDefaults, createFormValidate, modelFormSchemas } from '../../../lib' + +const { identifiable } = modelFormSchemas + +export const IndicatorSchema = identifiable.extend({ + factor: z.coerce.number().int(), +}) + +export const initialValues = getDefaults(IndicatorSchema) + +export const validate = createFormValidate(IndicatorSchema) diff --git a/src/pages/indicatorTypes/form/index.ts b/src/pages/indicatorTypes/form/index.ts new file mode 100644 index 00000000..cddbed8b --- /dev/null +++ b/src/pages/indicatorTypes/form/index.ts @@ -0,0 +1 @@ +export { IndicatorSchema, validate } from './IndicatorTypesSchema' From 17cfa844c469543c0dc9dbcd065fd1f9359e5625 Mon Sep 17 00:00:00 2001 From: "@dhis2-bot" Date: Mon, 25 Nov 2024 13:33:22 +0000 Subject: [PATCH 2/4] chore(release): cut 0.16.0 [skip release] # [0.16.0](https://github.com/dhis2/maintenance-app-beta/compare/v0.15.0...v0.16.0) (2024-11-25) ### Features * add indicator list type list view ([#433](https://github.com/dhis2/maintenance-app-beta/issues/433)) ([2668c68](https://github.com/dhis2/maintenance-app-beta/commit/2668c683fcda0807f34cb3c2a92f405d5ff66578)) * upgrade ui library to latest version ([#448](https://github.com/dhis2/maintenance-app-beta/issues/448)) ([ba73ad8](https://github.com/dhis2/maintenance-app-beta/commit/ba73ad8f9b8114203b3c874f6d8e055fe83856e2)) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f81527c8..1e7f881b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# [0.16.0](https://github.com/dhis2/maintenance-app-beta/compare/v0.15.0...v0.16.0) (2024-11-25) + + +### Features + +* add indicator list type list view ([#433](https://github.com/dhis2/maintenance-app-beta/issues/433)) ([2668c68](https://github.com/dhis2/maintenance-app-beta/commit/2668c683fcda0807f34cb3c2a92f405d5ff66578)) +* upgrade ui library to latest version ([#448](https://github.com/dhis2/maintenance-app-beta/issues/448)) ([ba73ad8](https://github.com/dhis2/maintenance-app-beta/commit/ba73ad8f9b8114203b3c874f6d8e055fe83856e2)) + # [0.15.0](https://github.com/dhis2/maintenance-app-beta/compare/v0.14.0...v0.15.0) (2024-11-22) diff --git a/package.json b/package.json index 023aa5b5..a1dc84c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "maintenance-app", - "version": "0.15.0", + "version": "0.16.0", "description": "", "license": "BSD-3-Clause", "private": true, From 958563e5805fcb7d942749aabb82964f80492bc7 Mon Sep 17 00:00:00 2001 From: Flaminia Date: Mon, 25 Nov 2024 15:36:40 +0100 Subject: [PATCH 3/4] fix: address feedback from org unit new form (#447) * fix: address feedback from org unit new form * fix: max and min to match schemas * feat: change comment to text area * fix: fix padding/margin in form * fix(orgUnit): add validation and label for parent orgunit * feat: use meta to check if input field is valid or not * fix: add validations to datefield and small change to css of bulk upload * feat: upgrade ui library and multi calendar dates --------- Co-authored-by: Birk Johansson --- package.json | 8 +- .../form/attributes/CustomAttributes.tsx | 17 +- src/components/form/fields/DateField.tsx | 40 +- .../sectionList/bulk/Bulk.module.css | 5 +- src/lib/form/modelFormSchemas.ts | 9 +- src/pages/organisationUnits/Edit.tsx | 7 +- src/pages/organisationUnits/New.tsx | 16 +- .../form/GeometryFields.module.css | 5 + .../organisationUnits/form/GeometryFields.tsx | 8 +- .../organisationUnits/form/ImageField.tsx | 10 +- .../form/OrganisationUnitFormFields.tsx | 10 +- .../form/OrganisationUnitSelector.tsx | 3 +- src/pages/organisationUnits/form/index.ts | 6 +- .../form/organisationUnitSchema.ts | 91 +- yarn.lock | 876 +++++++++--------- 15 files changed, 605 insertions(+), 506 deletions(-) create mode 100644 src/pages/organisationUnits/form/GeometryFields.module.css diff --git a/package.json b/package.json index a1dc84c4..70492618 100644 --- a/package.json +++ b/package.json @@ -39,8 +39,8 @@ }, "dependencies": { "@dhis2/app-runtime": "^3.9.3", - "@dhis2/multi-calendar-dates": "^2.0.0-alpha.5", - "@dhis2/ui": "^10.0.0", + "@dhis2/multi-calendar-dates": "^2.0.0", + "@dhis2/ui": "^10.0.2", "@tanstack/react-table": "^8.16.0", "@types/lodash": "^4.14.198", "lodash": "^4.17.21", @@ -55,7 +55,7 @@ }, "resolutions": { "eslint": "^8", - "@dhis2/multi-calendar-dates": "^2.0.0-alpha.5", - "@dhis2/ui": "^10.0.0" + "@dhis2/multi-calendar-dates": "^2.0.0", + "@dhis2/ui": "^10.0.2" } } diff --git a/src/components/form/attributes/CustomAttributes.tsx b/src/components/form/attributes/CustomAttributes.tsx index 94ddb740..08d2e2b4 100644 --- a/src/components/form/attributes/CustomAttributes.tsx +++ b/src/components/form/attributes/CustomAttributes.tsx @@ -3,6 +3,7 @@ import { InputFieldFF, SingleSelectFieldFF, TextAreaFieldFF } from '@dhis2/ui' import * as React from 'react' import { Field as FieldRFF, useFormState } from 'react-final-form' import { + StandardFormField, StandardFormSection, StandardFormSectionDescription, StandardFormSectionTitle, @@ -38,7 +39,7 @@ function CustomAttribute({ attribute, index }: CustomAttributeProps) { } return ( - + - + ) } if (attribute.valueType === 'TEXT') { return ( - + - + ) } if (attribute.valueType === 'LONG_TEXT') { return ( - + - + ) } if (attribute.valueType === 'GEOJSON') { return ( - + - + ) } // @TODO: Verify that all value types have been covered! diff --git a/src/components/form/fields/DateField.tsx b/src/components/form/fields/DateField.tsx index 2f64bebb..e5c8c799 100644 --- a/src/components/form/fields/DateField.tsx +++ b/src/components/form/fields/DateField.tsx @@ -1,5 +1,5 @@ import { CalendarInput, CalendarInputProps } from '@dhis2/ui' -import React from 'react' +import React, { useState } from 'react' import { useField } from 'react-final-form' import { selectedLocale, useSystemSetting } from '../../../lib' @@ -12,6 +12,11 @@ type DateFieldProps = Omit< label?: string required?: boolean } +type ValidationProps = { + error: boolean + validationText?: string + valid?: boolean +} export function DateField({ name, label, @@ -20,35 +25,44 @@ export function DateField({ }: DateFieldProps) { const calendar = useSystemSetting('keyCalendar') const locale = selectedLocale - const { meta, input } = useField(name, { - format: (value) => { - if (value) { - return value.slice(0, 10) + const [validation, setValidation] = useState({ + error: false, + }) + + const { input } = useField(name, { + validate: () => { + if (validation.error) { + return validation.validationText } - return value }, }) - const handleChange: CalendarInputProps['onDateSelect'] = (payload) => { - input.onChange(payload?.calendarDateString) + const handleChange: CalendarInputProps['onDateSelect'] = ( + payload: { + calendarDateString: string + validation?: ValidationProps + } | null + ) => { + setValidation(payload?.validation || { error: false }) + input.onChange(payload?.calendarDateString || '') input.onBlur() } return ( -
- {/* TODO: we can remove style above, once inputWidth for CalendarInput is fixed */} +
input.onBlur(e)} clearable - label={required ? `${label} *` : label} + label={required ? `${label} (required) *` : label} + {...validation} + valid={validation?.valid && input?.value !== ''} {...calendarInputProps} />
diff --git a/src/components/sectionList/bulk/Bulk.module.css b/src/components/sectionList/bulk/Bulk.module.css index 2ff76cf8..d80c1c03 100644 --- a/src/components/sectionList/bulk/Bulk.module.css +++ b/src/components/sectionList/bulk/Bulk.module.css @@ -8,7 +8,8 @@ flex-shrink: 0; flex-basis: 160px; flex-grow: 1; - max-width: 250px; + min-width: 250px; + max-width: 300px; } .subtitle { @@ -27,7 +28,7 @@ flex-basis: 160px; flex-grow: 1; flex-shrink: 0; - max-width: 250px; + max-width: 225px; } .addActionButton { diff --git a/src/lib/form/modelFormSchemas.ts b/src/lib/form/modelFormSchemas.ts index eb6902e7..d38fc2d2 100644 --- a/src/lib/form/modelFormSchemas.ts +++ b/src/lib/form/modelFormSchemas.ts @@ -1,6 +1,7 @@ +import i18n from '@dhis2/d2-i18n' import { z } from 'zod' -/* Note that these schemas describes validations for what we send to the server, +/* Note that these schemas describes validations for what we send to the server, and not what is stored in the form. Unknown keys are stripped by default. */ const modelReference = z.object({ id: z.string() }) @@ -15,7 +16,11 @@ const identifiable = z.object({ const attributeValues = z .array( z.object({ - value: z.string(), + value: z.string().max(230, { + message: i18n.t('Should not exceed {{maxLength}} characters', { + maxLength: 230, + }), + }), attribute: z.object({ id: z.string(), }), diff --git a/src/pages/organisationUnits/Edit.tsx b/src/pages/organisationUnits/Edit.tsx index 81b22b2b..638ff5d0 100644 --- a/src/pages/organisationUnits/Edit.tsx +++ b/src/pages/organisationUnits/Edit.tsx @@ -7,11 +7,10 @@ import { DEFAULT_FIELD_FILTERS, SECTIONS_MAP, useOnSubmitEdit, - validate, } from '../../lib' import { useBoundResourceQueryFn } from '../../lib/query/useBoundQueryFn' import { OrganisationUnit, PickWithFieldFilters } from '../../types/generated' -import { OrganisationUnitFormField, organisationUnitSchema } from './form' +import { OrganisationUnitFormField, validate } from './form' const fieldFilters = [ ...DEFAULT_FIELD_FILTERS, @@ -68,9 +67,7 @@ export const Component = () => { })} section={section} initialValues={orgUnit.data} - validate={(values: OrgUnitFormValues) => { - return validate(organisationUnitSchema, values) - }} + validate={validate} > diff --git a/src/pages/organisationUnits/New.tsx b/src/pages/organisationUnits/New.tsx index 95649477..1bc689f5 100644 --- a/src/pages/organisationUnits/New.tsx +++ b/src/pages/organisationUnits/New.tsx @@ -1,26 +1,18 @@ import React from 'react' import { FormBase } from '../../components' import { DefaultNewFormContents } from '../../components/form/DefaultFormContents' -import { SECTIONS_MAP, useOnSubmitNew, validate } from '../../lib' -import { - FormValues, - initialValues, - OrganisationUnitFormField, - organisationUnitSchema, -} from './form' +import { SECTIONS_MAP, useOnSubmitNew } from '../../lib' +import { initialValues, OrganisationUnitFormField, validate } from './form' const section = SECTIONS_MAP.organisationUnit - export const Component = () => { return ( { - return validate(organisationUnitSchema, values) - }} + initialValues={initialValues} + validate={validate} > diff --git a/src/pages/organisationUnits/form/GeometryFields.module.css b/src/pages/organisationUnits/form/GeometryFields.module.css new file mode 100644 index 00000000..554ece93 --- /dev/null +++ b/src/pages/organisationUnits/form/GeometryFields.module.css @@ -0,0 +1,5 @@ +.coordinateField > div { + display: flex; + flex-direction: column; + gap: var(--spacers-dp16); +} diff --git a/src/pages/organisationUnits/form/GeometryFields.tsx b/src/pages/organisationUnits/form/GeometryFields.tsx index 9598f932..80055054 100644 --- a/src/pages/organisationUnits/form/GeometryFields.tsx +++ b/src/pages/organisationUnits/form/GeometryFields.tsx @@ -3,6 +3,7 @@ import { Field, InputField } from '@dhis2/ui' import React from 'react' import { useField } from 'react-final-form' import { getConstantTranslation } from '../../../lib' +import css from './GeometryFields.module.css' export function GeometryFields() { const fieldName = 'geometry' @@ -19,16 +20,19 @@ export function GeometryFields() { type: 'Point', coordinates: [longitude || undefined, latitude || undefined], } - input.onChange(geometry) + input.onBlur() } return !input.value || input.value?.type === 'Point' ? ( <> diff --git a/src/pages/organisationUnits/form/ImageField.tsx b/src/pages/organisationUnits/form/ImageField.tsx index e7104d1e..4eaf8b4d 100644 --- a/src/pages/organisationUnits/form/ImageField.tsx +++ b/src/pages/organisationUnits/form/ImageField.tsx @@ -25,7 +25,7 @@ const fileToBase64 = (file: File): Promise => { export function ImageField() { const dataEngine = useDataEngine() const fieldName = 'image' - const { input } = useField(fieldName, { format: (value) => value }) + const { input, meta } = useField(fieldName, { format: (value) => value }) const [fileBase64, setFileBase64] = useState() @@ -87,7 +87,13 @@ export function ImageField() { } return ( - +
- {i18n.t('Placement in hierarchy')} + {i18n.t( @@ -49,7 +51,7 @@ export function OrganisationUnitFormField() { {i18n.t( - 'Set up the basic information for this organisation unit.' + 'Set up the basic information for this organisation unit' )} @@ -68,7 +70,7 @@ export function OrganisationUnitFormField() { - component={InputFieldFF} + component={TextAreaFieldFF} inputWidth="400px" label={i18n.t('Comment')} name="comment" diff --git a/src/pages/organisationUnits/form/OrganisationUnitSelector.tsx b/src/pages/organisationUnits/form/OrganisationUnitSelector.tsx index 0d0172af..2250e2e5 100644 --- a/src/pages/organisationUnits/form/OrganisationUnitSelector.tsx +++ b/src/pages/organisationUnits/form/OrganisationUnitSelector.tsx @@ -1,7 +1,7 @@ import i18n from '@dhis2/d2-i18n' import { Field, NoticeBox, OrganisationUnitTree } from '@dhis2/ui' import { IconInfo16 } from '@dhis2/ui-icons' -import React, { useEffect, useState } from 'react' +import React, { useState } from 'react' import { useField } from 'react-final-form' import { useCurrentUserRootOrgUnits } from '../../../lib/user/currentUserStore' import classes from './OrganisationUnitSelector.module.css' @@ -31,6 +31,7 @@ export function OrganisationUnitSelector() { return ( diff --git a/src/pages/organisationUnits/form/index.ts b/src/pages/organisationUnits/form/index.ts index c5bde466..d839a7a8 100644 --- a/src/pages/organisationUnits/form/index.ts +++ b/src/pages/organisationUnits/form/index.ts @@ -1,5 +1,9 @@ export { OrganisationUnitFormField } from './OrganisationUnitFormFields' export { ImageField } from './ImageField' export { OrganisationUnitSelector } from './OrganisationUnitSelector' -export { organisationUnitSchema, initialValues } from './organisationUnitSchema' +export { + organisationUnitSchema, + initialValues, + validate, +} from './organisationUnitSchema' export type { FormValues } from './types' diff --git a/src/pages/organisationUnits/form/organisationUnitSchema.ts b/src/pages/organisationUnits/form/organisationUnitSchema.ts index cf3f5af3..57727b88 100644 --- a/src/pages/organisationUnits/form/organisationUnitSchema.ts +++ b/src/pages/organisationUnits/form/organisationUnitSchema.ts @@ -1,5 +1,6 @@ +import i18n from '@dhis2/d2-i18n' import { z } from 'zod' -import { getDefaults, modelFormSchemas } from '../../../lib' +import { createFormValidate, getDefaults, modelFormSchemas } from '../../../lib' const { withAttributeValues, identifiable, referenceCollection } = modelFormSchemas @@ -9,20 +10,71 @@ export const organisationUnitSchema = identifiable .extend({ shortName: z.string().trim().default(''), code: z.string().trim().optional(), - description: z.string().trim().optional(), + description: z + .string() + .trim() + .max(2147483647, { + message: i18n.t('Should not exceed {{maxLength}} characters', { + maxLength: 2147483647, + }), + }) + .optional(), image: z.object({ id: z.string() }).optional(), - phoneNumber: z.string().optional(), - contactPerson: z.string().optional(), + phoneNumber: z + .string() + .min(0, { message: i18n.t('Must be a valid mobile number') }) + .max(150, { message: i18n.t('Must be a valid mobile number') }) + .optional(), + contactPerson: z + .string() + .max(255, { + message: i18n.t('Should not exceed {{maxLength}} characters', { + maxLength: 255, + }), + }) + .optional(), openingDate: z.string(), - email: z.string().optional(), - address: z.string().optional(), - url: z.string().optional(), + email: z.string().email().optional(), + address: z + .string() + .max(230, { + message: i18n.t('Should not exceed {{maxLength}} characters', { + maxLength: 255, + }), + }) + .optional(), + url: z + .string() + .url({ message: i18n.t('Must be a valid url') }) + .optional(), closedDate: z.string().optional(), - parent: z.object({ id: z.string() }).optional(), + comment: z + .string() + .max(2147483647, { + message: i18n.t('Should not exceed {{maxLength}} characters', { + maxLength: 2147483647, + }), + }) + .optional(), + parent: z.object({ id: z.string(), path: z.string() }).optional(), geometry: z .object({ type: z.literal('Point'), - coordinates: z.array(z.number()).length(2), + coordinates: z + .array(z.number()) + .length(2) + .refine( + (coord) => + coord[0] >= -90 && + coord[0] <= 90 && + coord[1] >= -180 && + coord[1] <= 180, + { + message: i18n.t( + 'Longitude should be between -90 and 90. Latitude should be between -180 and 180' + ), + } + ), }) .or( z.object({ @@ -40,7 +92,22 @@ export const organisationUnitSchema = identifiable programs: referenceCollection.optional().default([]), dataSets: referenceCollection.optional().default([]), }) + .refine( + (orgUnit) => { + if (!orgUnit.id) { + return true + } + const isDescendantOfSelf = orgUnit.parent?.path.includes(orgUnit.id) + return !isDescendantOfSelf + }, + { + message: i18n.t( + 'Parent organisation unit cannot be itself or a descendant of itself.' + ), + path: ['parent'], + } + ) + +export const initialValues = getDefaults(organisationUnitSchema) -export const initialValues = getDefaults( - organisationUnitSchema as z.AnyZodObject -) +export const validate = createFormValidate(organisationUnitSchema) diff --git a/yarn.lock b/yarn.lock index f9256c9e..d5d7c3f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1491,586 +1491,586 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@dhis2-ui/alert@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-10.0.0.tgz#48bb4f7c780da95dbf1f5f50e0c5518da11a76a2" - integrity sha512-MRoaadnf5nbG6UUT7Krwn6bY+i0dE0pQ1odf5lxSOVeN3bsBDZOGPWxzJFvk5bewgawtD0LARFE/uNT6NrnB1w== +"@dhis2-ui/alert@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-10.0.2.tgz#45bbbfd6cdb6bcbcbcddc8a26f11d12ea7d887da" + integrity sha512-okzS+W3WICoIIsG4PxN+OPAcGM2o7moQxUoaE60o2x90cSBzbIfj4LajYP8QOgR2R+Lm9aALWQs0aY3fbMQjPw== dependencies: - "@dhis2-ui/portal" "10.0.0" + "@dhis2-ui/portal" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/box@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-10.0.0.tgz#a3e48bb4ffa177a0a05deb30f8eec6dd24f59175" - integrity sha512-zuS77bZTExSyxFCYbQTanxuwMDR49W0eRi00pHNi7wDQT6YRUm2Pbxu0el4mS4O8+lxIHyyKLoeBOZxoJ1rTzw== +"@dhis2-ui/box@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-10.0.2.tgz#a689130a84cfae1b789576e4d9cf4ac8b63382b1" + integrity sha512-1jDsyEXzEmfvk/+e2xHMdOvdSGOqW7jgLj2RtUOdYAgIV8q6yZxSI5wPDtxPvoGCQKGlITtJl4AMyy8mFOvCyw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/button@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-10.0.0.tgz#87cdf3263dbaafdfa748886c2d88c9231d502f3e" - integrity sha512-GNp4Uay9fHYn88u0hHyreAjBUAAMwe4g4ZhDodmlnN3VxE8izTpQVEGC6Zb0djVxDtK7VI3mOM+pYgI15VgkWg== +"@dhis2-ui/button@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-10.0.2.tgz#f179655594e7c69931f11384af59173b8376ba1f" + integrity sha512-DrS3wn9oTbfZQ/KQT5POkvPPyYtOPXqWJwaJkZy4hYUYEKCtqbvCEOhVv9R3um0/R1/ATSnHL8HqsWb7RGVoXw== dependencies: - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/popper" "10.0.0" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/popper" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/calendar@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-10.0.0.tgz#47cfd4f6acf5cf4da10ceb488aeb28c968d195e5" - integrity sha512-aq/KaQ7xUkSOZ4l+ncxMn9h30xvc4rURuxp4H2RXSymdbFb+Zeq+UdnymmHspQV/P32I9nY77O1MY5Kjpj5lMg== - dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/popper" "10.0.0" - "@dhis2/multi-calendar-dates" "2.0.0-alpha.5" +"@dhis2-ui/calendar@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-10.0.2.tgz#abd0fe65982705dc0a9d9a0cbdd69f53a2eeb188" + integrity sha512-4H7p9FAVj7mOvikO/YdWdQYfFuCdpjJIjn6ZeS46sCkUkPJhtmvfzV97HGRACv0nT6sAD7xfXY8SQZ5PexdR/w== + dependencies: + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/popper" "10.0.2" + "@dhis2/multi-calendar-dates" "2.0.0" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/card@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-10.0.0.tgz#b82036ccbcba89fe6a63b84b5215570b561e6f0d" - integrity sha512-P0MQl3pMNXjY2+04PPieXgZlRSy75D157moQNTdnygoE6I8rHPl9IDo/0C+dTNRhOV50TTlqubNAw2tqcDS5Tw== +"@dhis2-ui/card@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-10.0.2.tgz#a5b020659fd691546d76e6c54ff7e1f7834798ac" + integrity sha512-acB8aQ81rfMEv+sygV0c1IVcgTmJRRpeVuhneZlECj38GPH2pFouEJJPWky3HqyxzLnQ2HJMlRqUBl6Tv7Rkng== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/center@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-10.0.0.tgz#7abfebd2ac7373383aa1fef0e818757ec74a6d60" - integrity sha512-UT1nKH2t95caQCGJuK/308o1+olMKa+Uvlz8iPNYhcjZFd9Tps7tSn8/UtztzMA9jBX0Nz8C9VKTudMC9AnguA== +"@dhis2-ui/center@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-10.0.2.tgz#118c3ef48dd4c9b7d9a6ce37857fec9cbab6de3b" + integrity sha512-98hfKw1Bv21Y/0Zv3hXUYzNlM200TujrE4+DOp77PtdFd84UxQFRzQFeUBq57kKx4VL4H6CKO2C9vEMhLUrYiQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/checkbox@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-10.0.0.tgz#a49f12457690fec77f086cfdb0a668a1a9589242" - integrity sha512-NmUTg0sE/87G9XlrC7BNzltfel3eInu2EtFwA1GjQTEeefSZeSrO9ATE8uRSsXMUR0w7TW9lJ8w3nxR1UNriXw== +"@dhis2-ui/checkbox@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-10.0.2.tgz#e4816cd16462cdc7ed072d1994a40577e029b305" + integrity sha512-UJfI7sNcg45ui8GG8oDDMMNAbZrMMw7rLVHRX36eWrCKHJxy5ZurtJg6n03FJRT13L1K6gOiD24O4BORmTLxYA== dependencies: - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/required" "10.0.0" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/required" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/chip@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-10.0.0.tgz#df99d643c5cc80b8f0295902dba31eef6e783e8d" - integrity sha512-TKtvrhrrS8ArXswh8/yz4VgjCZ+2xEPweDmsLsBx7FNFIdHnwimoosdBvyoqfqNLhk5S0pJ8IadEDUxgyNh81Q== +"@dhis2-ui/chip@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-10.0.2.tgz#5e229a7db865dffd65803aa1b55a7cd65232ee40" + integrity sha512-nREdudI5fPoyev07W6d4+8thHynbNiAUBTECUS2+9zoZEYoiwIaHf1xqOYy03LtLRcFn96nQ58sUhfTBwi7aTQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/cover@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-10.0.0.tgz#8aa3fe9afd40e307b1f3d3d7cc03fd4cf6e05b87" - integrity sha512-BMHzTFdFUK2S31wGfOJ8CLZrLy5pFzAx7BXQ/K/4So60pNxTN4ww2HuanIwtcXSkLjtSs+CvxlE9l8upqC76Kg== +"@dhis2-ui/cover@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-10.0.2.tgz#04569855d36b30110af246a3474bb2af8132c4ce" + integrity sha512-orPN7zHlAWQgc8aWhGKLfeIlLGAmQH/o+3Q05fa4oQBijOru+XnOU3ti2NN/CK3ddz/QxMAD+NTOmLrm/kOSjQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/css@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-10.0.0.tgz#fad3d0cf113c86b581feb9f322fd9ac289edc7dc" - integrity sha512-TLkOZuU3IZj0kcW6vRWkrIvFxEl4/jhbGiR8i0Xp2aDEYklymlh8f3sxH0qnt5X15vbRIDtjWcnVQc7S8NgKIg== +"@dhis2-ui/css@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-10.0.2.tgz#122496c8ec8f5f4b98bcc5901e5856f7045f1897" + integrity sha512-d8HQPRzLz0V8oaBC3i6vs1B08h1f/DgUvBIXECCn0gO7vS5+j2qG8VhN7NkVeTpDh9nu+yXo8aDKAhqiCtMrqA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/divider@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-10.0.0.tgz#601f3c6d94e2ec98c9add02c847116d6a98171ee" - integrity sha512-0p7gGXIdhDL774sMdgO1wpxlu7pbfRcIMDmKmv7WNsYGKRNGAGKDSLYjkRwBttfDGP4GuPMZ3U+YkfCkEzY5lg== +"@dhis2-ui/divider@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-10.0.2.tgz#9ca329ca451841b3c6535d809b0570e95270cc7b" + integrity sha512-LZuaS1VW5DcM1TWtEqQX57IP1hyhtxRK3KhCD4sTwL2U3Bbz6l/ctToOxAAgei8vyTai+m1s6gPlJNJ5TgJVIw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/field@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-10.0.0.tgz#5b8c971dd2704aef83078511e3f6b84498d516a5" - integrity sha512-sVhFLN39Ol1c1y42WFldbGFWNeqtuANXCuDmggAoypCGnPwZh6M38suNbgkcQzeJRYmFzEut7mCJkvP84vewxQ== +"@dhis2-ui/field@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-10.0.2.tgz#8cf5e65bd0e91ac80b88cd431b918de8590c87f9" + integrity sha512-eC7vFoa/kCio+RHAOKcBOY3GCCpojWVrgmKw1PodBNQjqJuvCIO78H4QitGYroYlTefW3bQVq8D8PgFlF1iOMQ== dependencies: - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/help" "10.0.0" - "@dhis2-ui/label" "10.0.0" + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/help" "10.0.2" + "@dhis2-ui/label" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/file-input@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-10.0.0.tgz#469b6c17d33646b834d4e525069f175854e93a9d" - integrity sha512-3UJLiPHtK6hZqUPq7A4sbK8q86xwhUPGjekGduQyyzs/fwPsjlCnkmBppq3cO3XyulNDrK2xb5LNkPz05qmMiA== - dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/label" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/status-icon" "10.0.0" +"@dhis2-ui/file-input@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-10.0.2.tgz#1146af9e40557423626dd41c1dd4af2407c562cd" + integrity sha512-QEDlQ6j2T90qA/y7bXfpSZv/472/UqXk+Bko9ISzafFuEgxdUsnMTcWDImeF3OqUdAeb9wp5LsRduyWmOoURRw== + dependencies: + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/label" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/status-icon" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/header-bar@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-10.0.0.tgz#c38855c870eda5f04b90718f0d96e584f4d42dc0" - integrity sha512-SpnQMXtqvhvhdzHnXtbV6f00Zn0TKGlXQ8qUWfaK5bDiqJm3K5vcZii8179oWhH80ueEvc7owKevCuGsUMubeQ== - dependencies: - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/center" "10.0.0" - "@dhis2-ui/divider" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/logo" "10.0.0" - "@dhis2-ui/menu" "10.0.0" - "@dhis2-ui/modal" "10.0.0" - "@dhis2-ui/user-avatar" "10.0.0" +"@dhis2-ui/header-bar@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-10.0.2.tgz#4ade8b3708f89216e742a7f3ad5351f1613cfaad" + integrity sha512-PAq88VvmLrlDw493J3wtOXvhqxKc3bzrZ2JULoB44TMnZNyPTcFvHV2CTPXCM1NhnwJrMixYT/EwlOBtCgXBpg== + dependencies: + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/center" "10.0.2" + "@dhis2-ui/divider" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/logo" "10.0.2" + "@dhis2-ui/menu" "10.0.2" + "@dhis2-ui/modal" "10.0.2" + "@dhis2-ui/user-avatar" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" moment "^2.29.1" prop-types "^15.7.2" -"@dhis2-ui/help@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-10.0.0.tgz#429b973a0757b755d765bfc001307554892f8470" - integrity sha512-rAYe7MSULzWOZo0xnv9kqqoMPdocco8GtnGCIr0kvtfjUx9v5cMH4L42zLmMWRVQv16zgja6PdEVd6brGTD6hw== +"@dhis2-ui/help@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-10.0.2.tgz#8d7f10637ed39a0f6294d2bdbb856e6e17f5f1ca" + integrity sha512-H4ncokFgTZS4c0OosN/Spfr0X2vj90XXENmJ/U8itx0fRVxi9fa95ubh+fEjYCVBIHukxGAi3rprXK9Eu8D2rA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/input@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-10.0.0.tgz#219a2962e3c6eb607c6e7d6c91e3a72c2c6eaae5" - integrity sha512-lB56uaIQKsBOD5bGRn0olbSC2bLrtrPJ/LNTRylSPYmZrSu7/9y3QqXxj5mDnBzIxUKO5hPlnluVh28i5RWUGg== - dependencies: - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/status-icon" "10.0.0" +"@dhis2-ui/input@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-10.0.2.tgz#abaedf4b81edcef298df2b74106855caf864cd24" + integrity sha512-8ZqqNdHslqaovI1enDKDeVQJ+pUP2q82g6AlkrfYw0UG3kiXL8FJrEvoSM1cVM3eE6fBaztUZMM3YotVcz17qw== + dependencies: + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/status-icon" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/intersection-detector@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-10.0.0.tgz#ff1d504a71f4a01c443a8640507df7b0d9448821" - integrity sha512-5J+Zi6O6Xa/dGvZMs1M9XcszNze9fO94wTtbyqp/xiDGfKEsKaOBt8KRsKU83GcAP1LEaOUVmzXI0A5CEwPWug== +"@dhis2-ui/intersection-detector@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-10.0.2.tgz#e50fb1fc0e527829cfe16714322d9ebc54bb4498" + integrity sha512-ZZJWheErR0F2cJ+TCevg+xHsZEwe16sUB5TbU6DII1Yri2WX2IuInPPQHpth90iVxNHpOmG42Th+F93VGqAbSg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/label@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-10.0.0.tgz#a6b862e42a9e30e8d4aa75a23da4bb3a70a293e5" - integrity sha512-q3XnCGgClYufdB4g1AFQ6hlQ7bMODoVzGqkIQlwcqLmFJaJe0xvDR/PVitB8ttkZfarB+yJgrLGJlXtyScLz7g== +"@dhis2-ui/label@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-10.0.2.tgz#48d7212bb5d1868e8546ae9757afe7e6d3031a55" + integrity sha512-5bnoElP56OeHYj3jiWL5bpLMJJGC6JtHYIEfd3Kcy2fulKU2mlLfFc7qDoMjeeoLzLZNtkg/pDAz3YDHcpyt7A== dependencies: - "@dhis2-ui/required" "10.0.0" + "@dhis2-ui/required" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/layer@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-10.0.0.tgz#2f0006f0b5a624b3dc44d1846f7174d1e7e20b40" - integrity sha512-Fdh9KTWcCskTuUZ1CeUCQtbpMh2aLT7VtMZWgQYxtRQ4qULp0s+YLLAOtmhqY2FzS4ouxWBlCwdRMutjZBmjbw== +"@dhis2-ui/layer@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-10.0.2.tgz#58958a94601684dd79d0021726459cea7394f972" + integrity sha512-YmQNtYVoRdaBFpuJSD6cN+wCFhRBhWlxAJocBxTX55tk+vALYEmGwUns9EQghhFBkTyTcxyxpOEK8woV+X+LNA== dependencies: - "@dhis2-ui/portal" "10.0.0" + "@dhis2-ui/portal" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/legend@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-10.0.0.tgz#835faf9e90addc987bf2826b626dbbff184c0aa6" - integrity sha512-ACyW7Ikf0gaKQ/Tc0wIkPT3MwMnBUH6vtOeM1LuCfAWY19vK8RUXprY8JXgtCJjInziekX+jrrF8sRadsn2/dg== +"@dhis2-ui/legend@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-10.0.2.tgz#6be2ddacadab8cf9c3d99fb07933f29617895dc0" + integrity sha512-lQ8s6ICSJDI7JwvZ28W+QaRYW2panXt8yypUj6qEEfolTrB21Yf7K9e9QExiO1Kq+G0023Gqt4UMtsDIBZTgFQ== dependencies: - "@dhis2-ui/required" "10.0.0" + "@dhis2-ui/required" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/loader@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-10.0.0.tgz#8b482f1f5681ffee53f5863173d3ca69aa231fa8" - integrity sha512-CROn0zfr3RIUKjkHfqPIrsl5eogSl6pn8iRegDoOq5dB70+Qw6jVc5aMCmKf15smcopEy8XMxxaOhhxidynxRA== +"@dhis2-ui/loader@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-10.0.2.tgz#67dbb81ed85178172e515ef6dcbef4f96da21f9b" + integrity sha512-FY9xa8Lf+H5CZoe5kGHO17MCYKyFXr4Bd2eF+gWb91zexA1YKU+2VspIeK47/hIENr9TDTqJfg4ShVmyRSXLhg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/logo@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-10.0.0.tgz#70b8a18b27e143baee7fab931b476eb4861d6647" - integrity sha512-1ogtICWljvoKSDbbXyZ1iNRc0DfdVA2vY7obw1HzA1OAlEyOxcltUrxavTH1XJYLNJKfPp2iVvxgEnAUwiN7Pg== +"@dhis2-ui/logo@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-10.0.2.tgz#5874d1e1f223f45d5ae7cc3d310beb262c422fce" + integrity sha512-pExxDF0LQKbGwyZo2WNQKGkfiiHUj+ljYPRfy1eSfujkrvVR4OodyFXU1mGJeD/K1x8jx21RxkOzkLOXRTxijw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/menu@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-10.0.0.tgz#692b0e561c5d5ba7cdb2c7ddfd6a4a784eceef24" - integrity sha512-Odd3a6hDBYE/UXW8+JPPclhxBKTf+ocahhV9WuUHzQyunRKjN8cagDtWSEKkc8VSkTfeZtFe43wxyczwYOo64A== - dependencies: - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/divider" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/popper" "10.0.0" - "@dhis2-ui/portal" "10.0.0" +"@dhis2-ui/menu@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-10.0.2.tgz#9efc4eed98964810c95163b1a4c40b551624f4b5" + integrity sha512-ip0Y/9J1Wd7+w6axGixMgXvvBA5D2adME6eOLOCjsdyhumUyJx4kXhwTH2kxQ1cx0GGIHm5RVOm6nLybOQiOiw== + dependencies: + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/divider" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/portal" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/modal@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-10.0.0.tgz#cfa04da33707ecbc2709ad61bdd78ebcf24cf9a6" - integrity sha512-wUA8vho2i0rCf7rr3K0hW0269uvS7QtiH8GijTxHvtglnMirycCHP25tUbrmuldyrg+yWBo4hgA0nZdzTDh/DA== +"@dhis2-ui/modal@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-10.0.2.tgz#f4ad526951d787a0e2e45dfd625824ae7b8a6025" + integrity sha512-ApjweWjilRd9K9fRCTswMjKAv4j5t7Ls3HmiCoUPy3tsoj+BDvKvVG53I01+Rll+a5hSFaBj5KnM5bCAb+Naxw== dependencies: - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/center" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/portal" "10.0.0" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/center" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/portal" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/node@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-10.0.0.tgz#4285bbed36981219696411c8a23262e445632545" - integrity sha512-wPix4HB2Jjibac9Gmoe6v94aihNSfFNwbzdpz2+nw2DWbyjP+mvzMc6STSirK75+qrPFEqBFN2gtZiaKb/I3cA== +"@dhis2-ui/node@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-10.0.2.tgz#09870063d68400c7a9b975f004522d28e398c08e" + integrity sha512-vpmeD85UK2eR37H/0XYricwjkD80zzGjkpn2bFxak7pvgbjYnQ++hDggdKqxay4dqUVraaBJpgFGx5ZSb/A2Cg== dependencies: - "@dhis2-ui/loader" "10.0.0" + "@dhis2-ui/loader" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/notice-box@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-10.0.0.tgz#8a2a5d2372ac7a9949a95e652913b67654c9bf43" - integrity sha512-KWKc4IkrzEG94A+W/d7BTw1oBxZJv3Y5GMiOb1rgsnZR/vt3znoETbyWoYX8NQBmuCYLaWDc7RqLh79+CIP+8A== +"@dhis2-ui/notice-box@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-10.0.2.tgz#698c7498567cd6f52e361563375a1d788347b86c" + integrity sha512-a+IlGwxo70PBwireu+xY2RcjxeNTuzNTc4sS5nVpzO4be4IN6pz89Xt1v6PwkWFDJ23GyJmvZeQoHGsebL+srg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/organisation-unit-tree@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-10.0.0.tgz#179fd8630e8ef065d941f53a3838958e63059a3f" - integrity sha512-72sxG0Uhd3puTe3Oxa+t1mb3Dics6le+m+nN7iNjjNs8oZ/NlmKK/GHm6bk59tPOyqG4e65LHkwohdipBA+OSA== +"@dhis2-ui/organisation-unit-tree@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-10.0.2.tgz#dc0954c0479a0e536ae15ff9eb5b81aff9e5b661" + integrity sha512-IICrXcI/gi6amUBbmfio35kvdXCti3v5OG90qcOy1b6J2Ip5ZgDzCTNLyIBiKZR5oX691WG3cZGd7Xq+G3IJ8w== dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/checkbox" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/node" "10.0.0" + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/checkbox" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/node" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/pagination@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-10.0.0.tgz#35e282eeb3362d7b32a67ff7e5e92af5fb3ec14d" - integrity sha512-vXo5oSLgGr5MMxjvDQ8bgIBHSxVWzp5EhcBh7o48BMnG7aHRQv1qPTirjrXPiodxyZHhJC5AOW+kZ6OYezK1HA== +"@dhis2-ui/pagination@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-10.0.2.tgz#416caf0391eb6ca2616809096232452ad5947ebc" + integrity sha512-ItcxJyxp626nQkeD296eVnPFYGSEL9Z5DmptWi+t42960rNczqmbE1f5VeXWy87li9LlfWI/Y57DQspbl8camA== dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/select" "10.0.0" + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/select" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/popover@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-10.0.0.tgz#69a58fc44584b7e153b72cd7e19171a001655ff1" - integrity sha512-ZzMySjDOCIhNomfoJLXQaUSg6YC9s7V9cPKR/BYKIIUtdJHK39uvQLTAVbsKN3BnMQTlNGA4kmqYq9lgCKBtnw== +"@dhis2-ui/popover@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-10.0.2.tgz#f025f7ee8d3e542cfc28c2f8f9e5e20015f3ef9f" + integrity sha512-m4hJFZ+OxqkdWxIMxbdTzM8zgGhJ5+MuYav9RUUcE6rQOgKTX7ObA/KMf4D7HdPCsYCkfolSluCTGrUOkF7+yw== dependencies: - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/popper" "10.0.0" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/popper" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/popper@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-10.0.0.tgz#8398b8e45d80cbf3e5e8520612f12e162a93f921" - integrity sha512-lzQ4FY8OUWmM/x99pK/Xx2zOOrGV6JNPLPgBPO6giQ7CofM/NNsl6cWGtGLbutn8uE8zjxNSfdHsf9J6uAX5eA== +"@dhis2-ui/popper@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-10.0.2.tgz#d57199ac954d2f8f3aff6ee9b3032075f3e74119" + integrity sha512-oM5LC4BQ4txxIvkALa728MBI8qfyo1+qgeqLUGDMUBE8puesM5VaVdLumYzmOgh46Wq6x8G8sc1oe0dqzVa5aA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" "@popperjs/core" "^2.10.1" classnames "^2.3.1" prop-types "^15.7.2" react-popper "^2.2.5" resize-observer-polyfill "^1.5.1" -"@dhis2-ui/portal@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-10.0.0.tgz#53841c4667ba1fb3459de9bf7aacf1e99f59aaf5" - integrity sha512-v55+GA9Mrb2Hv7g04yctyyBvmWs1iuZcjn/OJoLTq/UIKFbIljEVWq3xZF5k4lxACtDsSnjbKwJWxeTmzEVlXA== +"@dhis2-ui/portal@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-10.0.2.tgz#8b837cf2fd870a5189af5221ae83c65fec82bd0c" + integrity sha512-XPJr3JcR6kxTgAGYOa83KQ0wphR/SZdE99wsyVaCOQL5tRN8BzDj2AV9hHgigxPA3t3ZElbe7nTdYUywlhQYqQ== dependencies: classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/radio@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-10.0.0.tgz#6477ae1ccccc0afc948a6fedea37e3fa0904ead6" - integrity sha512-stl0gDNaG52lx6U88EiE9ncOlkS/jBAKWWNgpvDWFpHsT55ayO5+OHS8hAWBolHzBxShjSybMD64OEBNXCOnAA== +"@dhis2-ui/radio@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-10.0.2.tgz#773d4a7cd54dac3c16cad426287160cfbb858c83" + integrity sha512-/FmXFRJSG3uFNdacjOFjy8lX8yxBmyeP2Azv1QJfooo6y87qcYSEepOEeOkDbFlkxFOaYSKmdQcwF/zY8ATvXA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/required@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-10.0.0.tgz#6c9beabe969b57afafdd80e79062bc7f151046cd" - integrity sha512-MQSrB+0FtkAahKL+o4JmuDoKmRxTHo+eWrPSRXqa2SIJ/zcDHvKUmJRJOWGY68e8HNoigbIHZIuRO+QB6JCiUQ== +"@dhis2-ui/required@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-10.0.2.tgz#361db6ba8501a9320a6da8ba946735a6f8d58131" + integrity sha512-edSbJ1W1cm2fci4+P3XyeJthJ79fR3kz185eDgJcFJ69U+yFCTQaVXJy6SbfIHH9w3gv6LEFxbVTa68MM/OSJw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/segmented-control@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-10.0.0.tgz#7993fb6dcbffeb51516bc800db28d683f61cd2b3" - integrity sha512-Nou9Dbi+Fvru2xfl8j7AFFGXF8lRQj4iFfSow08Tf9Aak/PHsRUCZ/Bm4a8Rhn9szoJHFMMf5HN3lyUKeaZKzQ== +"@dhis2-ui/segmented-control@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-10.0.2.tgz#823153d0c1fea6275b333978443d76640de250c5" + integrity sha512-oZD0lNMr9EaHQv81HvtJsGNZiw5HQfkSFDyXAHPI8VYoyeXGDKz/8uGWAZSFyeWX6dk+bqsLxCCEV0IzpWKTXg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/select@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-10.0.0.tgz#f622a02e7a15773b0fd4be95e9b021071ac96b5c" - integrity sha512-0IPHoo9cl28XUhthOktaBpTxbQ/kXwEpXOOPoDAp8N8tbFxCfzhRg/EJO/gi83Q0UNIryn7ttaImTBfAwuAVsQ== - dependencies: - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/checkbox" "10.0.0" - "@dhis2-ui/chip" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/popper" "10.0.0" - "@dhis2-ui/status-icon" "10.0.0" - "@dhis2-ui/tooltip" "10.0.0" +"@dhis2-ui/select@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-10.0.2.tgz#77878733a0356d01d8665088383b932319e0701f" + integrity sha512-NQz2Zn91wyGUoQasW8yVDe7Gc89U/tMtCB5JxnVEl9L9NfKy3osq7SLMQRYQxQhOcjxsoWcl08/9xRakqQ8NiA== + dependencies: + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/checkbox" "10.0.2" + "@dhis2-ui/chip" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/status-icon" "10.0.2" + "@dhis2-ui/tooltip" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/selector-bar@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-10.0.0.tgz#8cf57027c6ebda72362ed4620917dd0ce46b6e22" - integrity sha512-lhFlRn/1AWEf7tp5Znu21LPe85dKesm929es7Yd8y4/Q5CGOsU9akAVnZnBGn09InMNmp8l7Ev4ofPrmirz2Yg== - dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/popper" "10.0.0" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" +"@dhis2-ui/selector-bar@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-10.0.2.tgz#d1c676c17b12780fb8913c5348d7e2faa5c98555" + integrity sha512-WK0oGOqZ+ZZkg06SrMsaH7Qj9SUYF807LybcJY2xO3Mmh2UNrJq/kctaeH0fztcaZVtJVxXoA42oEZQkw4tSWQ== + dependencies: + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/popper" "10.0.2" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" "@testing-library/react" "^16.0.1" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/sharing-dialog@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-10.0.0.tgz#fdee013b0ebb94e2bd1ff6fca9174576912aba5d" - integrity sha512-3QO2YI7FUsXI98ow/LTbSd3SWCnmZukX647o+bIFJaJu3kh1jtHtFvzGWzx1Xb/zAtXMuTFPaGu8iyf1EybR5Q== - dependencies: - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/divider" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/menu" "10.0.0" - "@dhis2-ui/modal" "10.0.0" - "@dhis2-ui/notice-box" "10.0.0" - "@dhis2-ui/popper" "10.0.0" - "@dhis2-ui/select" "10.0.0" - "@dhis2-ui/tab" "10.0.0" - "@dhis2-ui/tooltip" "10.0.0" - "@dhis2-ui/user-avatar" "10.0.0" +"@dhis2-ui/sharing-dialog@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-10.0.2.tgz#a3bec15bed851b865ac278f119bcb8fa438b0483" + integrity sha512-wfR7eKdRm0t5h+9nOsUQowjpFCl5PpmzmwwJGyH7NbQz4/x1P1K7sKGWpIFtJJhGFiWimHwBFfuzHa1YW3iZug== + dependencies: + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/divider" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/menu" "10.0.2" + "@dhis2-ui/modal" "10.0.2" + "@dhis2-ui/notice-box" "10.0.2" + "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/select" "10.0.2" + "@dhis2-ui/tab" "10.0.2" + "@dhis2-ui/tooltip" "10.0.2" + "@dhis2-ui/user-avatar" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" "@react-hook/size" "^2.1.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/status-icon@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-10.0.0.tgz#525d2011c3c0b6fabe1ac3ba1cf0c128e2ca205e" - integrity sha512-1ZXaOynVveVjj4zvKrBn3GFh7Syiti9e6Q5vRsNPcCKF9abScRC4ChwiGQCZJ+aXK12nJyT0ZbuY23YalvamlA== +"@dhis2-ui/status-icon@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-10.0.2.tgz#e71e85d3a2e87eb7429c417025e5fa698e841606" + integrity sha512-b5OtdRYpJhDd4W1XwccDRd3hn0JyG6ESjIFS1kBM0ipp93uQqOYQ/hBbu6IH/4wqRDZQrTEooIZbrvsfXy4zqw== dependencies: - "@dhis2-ui/loader" "10.0.0" + "@dhis2-ui/loader" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/switch@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-10.0.0.tgz#8641175e332961f5a76972e2b72ba329d2b118ec" - integrity sha512-ZGZ8qevt9CW5yD4Ki9pMt/dmXzrp6cYInYboZFrNAwsfXl62F+ouLJXJ/CXTBX2J0QfJbOcgdM3W85FPs6kC0A== +"@dhis2-ui/switch@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-10.0.2.tgz#593c910c4e228f58fb358b8e95818828c4eef3fa" + integrity sha512-omQRj7y6bUJsV3AtJMihq2y4ksOXtVhLIWYjouDpDKMOeNbabFVqOfVZXDeKIZnWv1YFzarPDxD9YplcKjxZxw== dependencies: - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/required" "10.0.0" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/required" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/tab@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-10.0.0.tgz#f6ccb861f341675e087a3ca7cf6bfc066265f277" - integrity sha512-mPRNgWUzTGWUElebPUOHXo1XI466dN+PTmRXCaRMwdYLcxvruZ6nMGj7kY+H5GKln3GF6XBRxE9PwUGWNA+EOg== +"@dhis2-ui/tab@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-10.0.2.tgz#d185b472bf22b97ec899ae624c03bfb6e74e87e0" + integrity sha512-74rXyqR+T+XxoO3LlQ6EZgYWc5cNnVdbuk1u52fyv5u/NlASGutqdstORqF7LE4Am6gMYH6+3DJHW7y1IQf0yQ== dependencies: - "@dhis2-ui/tooltip" "10.0.0" + "@dhis2-ui/tooltip" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/table@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-10.0.0.tgz#a7003c03142e0b2668f1b00a43fe342e7d5bf43e" - integrity sha512-XNhvIw9t6gB2zRq/PB7QS7suX0MOc23tqQZZDzB7xh2ulc1yN1jnegRjj7OCM/JzdqvdFaNYhqIxMbaezca9EQ== +"@dhis2-ui/table@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-10.0.2.tgz#feff22a666cee0964193d0b43c08fbe24a106a6b" + integrity sha512-Xud4Oweu/9GUfsQBKYnFCUNECOioQ0Ski+lmHgayMk/M46h6VMzVdLXtZdQbO60c5u+fAiCrSTGv9FIh0XwE/Q== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/tag@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-10.0.0.tgz#a4633055d41e8f537518990350321cbb3a7cc1be" - integrity sha512-VD1TzX/vsI99zzSgdX10aEa6p81UWziNUkGvVS8XfzJ4UfOApfJDDZAd19MMeCjQJBEK6YNtmsFQVLWSjV4SSw== +"@dhis2-ui/tag@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-10.0.2.tgz#3446a86cb61cf281d583b637a9490a54b681ac1b" + integrity sha512-94yHEBGmYE7zZfEF7gID6lmAD6rHdPl4ZU43pD7FXoWctVV960vIO384dF9LzSf2nEyAejmC5CnSG0U3/qtFFg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/text-area@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-10.0.0.tgz#22edf2f4b3f999b693d739f03accf346bb7e7eb7" - integrity sha512-q7isCuS/BSN6ChRxxHly0lEh7we6GzlD5IfrZhtI/Ctx5Xe/Nsf4YrEJxi20Kz1Y++GSOH2FnYAr2/ruG/lotA== +"@dhis2-ui/text-area@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-10.0.2.tgz#6b81d23dfc3ff41f6a55f53f756f5137031b29ed" + integrity sha512-9ULVUq5hpK0VviNN/XoWah3cv89sPegpO3/N88VwBuRL1cEdi3+2sQDzdFWPAhgmXABcEWKDwOkJ0RiTnzqlJw== dependencies: - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/status-icon" "10.0.0" + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/status-icon" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-icons" "10.0.0" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-icons" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/tooltip@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-10.0.0.tgz#85256e1e74688580d1a89b88ac0b9b561c7fb143" - integrity sha512-nv5FOk8q7g0kJb+aYVTjzTEC9GWJvwM/RcjkIISzRbEyHenMSbFZ5yZOeBOrWGKV5CXYrpib1X4lXtYN8S31vA== +"@dhis2-ui/tooltip@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-10.0.2.tgz#a091557c02b96954be93b8fbb93fa3d4c08cefb3" + integrity sha512-9HI9LoUeRh/z4mMVNF7HINHg5tPx9e9EF5BQ3Rvwi79jSjXPYBdUMNDGdZZ4x2RJ94HVYYXi2NmpblTJ/eRxVQ== dependencies: - "@dhis2-ui/popper" "10.0.0" - "@dhis2-ui/portal" "10.0.0" + "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/portal" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/transfer@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-10.0.0.tgz#939dd96b869ec0680a22942de11c433f0accedd0" - integrity sha512-2nvamoF2mQX6C+4hpm4Wq4mbRvH0BLo5tut5IyrgrGWCxffJdjoEKk0uvBSHtbQvqKwmnLSboIauhiZI1R/1ow== - dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/intersection-detector" "10.0.0" - "@dhis2-ui/loader" "10.0.0" +"@dhis2-ui/transfer@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-10.0.2.tgz#4c87250ed597bdd778d4a02605f88fe779e02e15" + integrity sha512-322wLG3zm6L6XiyBkF9Ng7BDLLvYA/kKGnC1Gmm+rdhvsUNoj0pE3RQLFsRTslKIUN/fODiwhem5RpxojBPDXw== + dependencies: + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/intersection-detector" "10.0.2" + "@dhis2-ui/loader" "10.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/user-avatar@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-10.0.0.tgz#635435850bed95b48d88cf2e1ab64b1810a05d00" - integrity sha512-9JkIuEN8hbmOeiArrrBeAztm5tKIoWLBeOPxQthoNKsauso3mR/kBq/612D8CQlZDBOp4GZAoq7SqkOlij3qjQ== +"@dhis2-ui/user-avatar@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-10.0.2.tgz#130fdea75e574d10bbe577485ce2e56e1f884008" + integrity sha512-CNanDmqijfuQ8d7yMeJ2sw2Xl4KehuM0d1V9HgVBVQVx7BST3W9xDJxUE3CRrFiyPqDyW5XMnqR6hQeb5Q2l0Q== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.0" + "@dhis2/ui-constants" "10.0.2" classnames "^2.3.1" prop-types "^15.7.2" @@ -2266,10 +2266,10 @@ i18next "^10.3" moment "^2.24.0" -"@dhis2/multi-calendar-dates@2.0.0-alpha.5", "@dhis2/multi-calendar-dates@^2.0.0-alpha.5": - version "2.0.0-alpha.5" - resolved "https://registry.yarnpkg.com/@dhis2/multi-calendar-dates/-/multi-calendar-dates-2.0.0-alpha.5.tgz#5c7a8666a090660bb341d05c64b3464a087d58c0" - integrity sha512-ylOEMk1Va3GS+HSIRDp+f03XZ4f1RJf3j3UFmpNMMVyYjzSw2j+m/wfD+kqtpZlM3GuIwu80rFreHTR5IMrasA== +"@dhis2/multi-calendar-dates@2.0.0", "@dhis2/multi-calendar-dates@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@dhis2/multi-calendar-dates/-/multi-calendar-dates-2.0.0.tgz#febf04f873670960804d38c9ebaa1cadf8050db3" + integrity sha512-pxu81kkkh70tB+CyAub41ulpNJPHyxDGwH2pdcc+NUqrKu4OTQr5ScdCBL2MndShrEKj9J6qj9zKVagvvymH5w== dependencies: "@dhis2/d2-i18n" "^1.1.3" "@js-temporal/polyfill" "0.4.3" @@ -2291,91 +2291,91 @@ workbox-routing "^6.1.5" workbox-strategies "^6.1.5" -"@dhis2/ui-constants@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-10.0.0.tgz#492d504e05a6a4fcb5e4c51f3d13d72ef24e7e10" - integrity sha512-G/TqFvAWR4wdC6Ywrv5VTw5ouwgtDdl5V37tyZ35Z4sf6roK8jAVA1ffFFRqgSezDMA2uNmwoiB7BgXElcFPbQ== +"@dhis2/ui-constants@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-10.0.2.tgz#35eb2bc635fa8be534257ca92b6244ab1b171d8f" + integrity sha512-QQjQgonCWNJB/eo11Yk4NsgnFRBodYEK6KnVbpHcLgSgXguw33egCk+E6jtLk3dS4wuPLadm1tR12vz0IT2hbg== dependencies: prop-types "^15.7.2" -"@dhis2/ui-forms@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-10.0.0.tgz#7877cfe9b7b7fde20488c695a2c786ed78326084" - integrity sha512-DV/bHJqibj4c6Def0u22M5xuunDCYS5iWmsDOBXlrBZw7pOyG7Ie3EHMUqzSAot4ob/YkWxAnQLbDgCaVFHkZA== - dependencies: - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/checkbox" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/file-input" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/radio" "10.0.0" - "@dhis2-ui/select" "10.0.0" - "@dhis2-ui/switch" "10.0.0" - "@dhis2-ui/text-area" "10.0.0" +"@dhis2/ui-forms@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-10.0.2.tgz#6ed41e154d7823d99ecde44ad5c27fbc2ae8a7d2" + integrity sha512-h9svHHka8s9UW+bX5qqB7Aa/h2IJmC4CRBjG0AG9ddUiWXENMEmRoPAI58zgSIiWDdRyMS9fCUAc5XX1wTn4WA== + dependencies: + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/checkbox" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/file-input" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/radio" "10.0.2" + "@dhis2-ui/select" "10.0.2" + "@dhis2-ui/switch" "10.0.2" + "@dhis2-ui/text-area" "10.0.2" "@dhis2/prop-types" "^3.1.2" classnames "^2.3.1" final-form "^4.20.2" prop-types "^15.7.2" react-final-form "^6.5.3" -"@dhis2/ui-icons@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-10.0.0.tgz#c9663952b3b661f7944781aeb533fff469ae9c64" - integrity sha512-AvPJh6N+aLw/f1K+XopIFSQPF6lDY/WMuQ7xOpofq5jvd7cQdr1mVMpLoSDIHwTE7BSthnDvYGiDOVvWpYb13Q== - -"@dhis2/ui@^10.0.0", "@dhis2/ui@^9.8.9": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-10.0.0.tgz#d4ce74398bcc73bcdbc3c4b759967f60b4955dc2" - integrity sha512-vhlCKY/OjeLKl2yH01he3kfB/MbguyLsy4lPVpLXEEUyUmjLttS77yy7r8VUEN92mIxZl3o0ZvYv8TZF3pmqsg== - dependencies: - "@dhis2-ui/alert" "10.0.0" - "@dhis2-ui/box" "10.0.0" - "@dhis2-ui/button" "10.0.0" - "@dhis2-ui/calendar" "10.0.0" - "@dhis2-ui/card" "10.0.0" - "@dhis2-ui/center" "10.0.0" - "@dhis2-ui/checkbox" "10.0.0" - "@dhis2-ui/chip" "10.0.0" - "@dhis2-ui/cover" "10.0.0" - "@dhis2-ui/css" "10.0.0" - "@dhis2-ui/divider" "10.0.0" - "@dhis2-ui/field" "10.0.0" - "@dhis2-ui/file-input" "10.0.0" - "@dhis2-ui/header-bar" "10.0.0" - "@dhis2-ui/help" "10.0.0" - "@dhis2-ui/input" "10.0.0" - "@dhis2-ui/intersection-detector" "10.0.0" - "@dhis2-ui/label" "10.0.0" - "@dhis2-ui/layer" "10.0.0" - "@dhis2-ui/legend" "10.0.0" - "@dhis2-ui/loader" "10.0.0" - "@dhis2-ui/logo" "10.0.0" - "@dhis2-ui/menu" "10.0.0" - "@dhis2-ui/modal" "10.0.0" - "@dhis2-ui/node" "10.0.0" - "@dhis2-ui/notice-box" "10.0.0" - "@dhis2-ui/organisation-unit-tree" "10.0.0" - "@dhis2-ui/pagination" "10.0.0" - "@dhis2-ui/popover" "10.0.0" - "@dhis2-ui/popper" "10.0.0" - "@dhis2-ui/portal" "10.0.0" - "@dhis2-ui/radio" "10.0.0" - "@dhis2-ui/required" "10.0.0" - "@dhis2-ui/segmented-control" "10.0.0" - "@dhis2-ui/select" "10.0.0" - "@dhis2-ui/selector-bar" "10.0.0" - "@dhis2-ui/sharing-dialog" "10.0.0" - "@dhis2-ui/switch" "10.0.0" - "@dhis2-ui/tab" "10.0.0" - "@dhis2-ui/table" "10.0.0" - "@dhis2-ui/tag" "10.0.0" - "@dhis2-ui/text-area" "10.0.0" - "@dhis2-ui/tooltip" "10.0.0" - "@dhis2-ui/transfer" "10.0.0" - "@dhis2-ui/user-avatar" "10.0.0" - "@dhis2/ui-constants" "10.0.0" - "@dhis2/ui-forms" "10.0.0" - "@dhis2/ui-icons" "10.0.0" +"@dhis2/ui-icons@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-10.0.2.tgz#8fe113b6fa6775a1a69af1c2c06966eecd6ce600" + integrity sha512-lBG7lTw2bUSwDw/WexJyb7FSDAy3JHCgP0mCgCMmzuPgRze8IZzxXwGF1FkbbBa84uvfccBd7T5A1kUZ1Wht0A== + +"@dhis2/ui@^10.0.2", "@dhis2/ui@^9.8.9": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-10.0.2.tgz#88218822616f914fd9d18030a56e42b16b5662ef" + integrity sha512-OFyJNYZYCxl2cBPO4JCtnQuCs3Kh8DWZAmCsKFfTXWZRt6N66TkCDJ+WsBIFY+rYlwaE9sp+gZlr+xrLs4OsQQ== + dependencies: + "@dhis2-ui/alert" "10.0.2" + "@dhis2-ui/box" "10.0.2" + "@dhis2-ui/button" "10.0.2" + "@dhis2-ui/calendar" "10.0.2" + "@dhis2-ui/card" "10.0.2" + "@dhis2-ui/center" "10.0.2" + "@dhis2-ui/checkbox" "10.0.2" + "@dhis2-ui/chip" "10.0.2" + "@dhis2-ui/cover" "10.0.2" + "@dhis2-ui/css" "10.0.2" + "@dhis2-ui/divider" "10.0.2" + "@dhis2-ui/field" "10.0.2" + "@dhis2-ui/file-input" "10.0.2" + "@dhis2-ui/header-bar" "10.0.2" + "@dhis2-ui/help" "10.0.2" + "@dhis2-ui/input" "10.0.2" + "@dhis2-ui/intersection-detector" "10.0.2" + "@dhis2-ui/label" "10.0.2" + "@dhis2-ui/layer" "10.0.2" + "@dhis2-ui/legend" "10.0.2" + "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/logo" "10.0.2" + "@dhis2-ui/menu" "10.0.2" + "@dhis2-ui/modal" "10.0.2" + "@dhis2-ui/node" "10.0.2" + "@dhis2-ui/notice-box" "10.0.2" + "@dhis2-ui/organisation-unit-tree" "10.0.2" + "@dhis2-ui/pagination" "10.0.2" + "@dhis2-ui/popover" "10.0.2" + "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/portal" "10.0.2" + "@dhis2-ui/radio" "10.0.2" + "@dhis2-ui/required" "10.0.2" + "@dhis2-ui/segmented-control" "10.0.2" + "@dhis2-ui/select" "10.0.2" + "@dhis2-ui/selector-bar" "10.0.2" + "@dhis2-ui/sharing-dialog" "10.0.2" + "@dhis2-ui/switch" "10.0.2" + "@dhis2-ui/tab" "10.0.2" + "@dhis2-ui/table" "10.0.2" + "@dhis2-ui/tag" "10.0.2" + "@dhis2-ui/text-area" "10.0.2" + "@dhis2-ui/tooltip" "10.0.2" + "@dhis2-ui/transfer" "10.0.2" + "@dhis2-ui/user-avatar" "10.0.2" + "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-forms" "10.0.2" + "@dhis2/ui-icons" "10.0.2" prop-types "^15.7.2" "@dual-bundle/import-meta-resolve@^4.1.0": From 642bead43ba28e606fe0028788ae3eac1f59e7a6 Mon Sep 17 00:00:00 2001 From: "@dhis2-bot" Date: Mon, 25 Nov 2024 14:41:51 +0000 Subject: [PATCH 4/4] chore(release): cut 0.16.1 [skip release] ## [0.16.1](https://github.com/dhis2/maintenance-app-beta/compare/v0.16.0...v0.16.1) (2024-11-25) ### Bug Fixes * address feedback from org unit new form ([#447](https://github.com/dhis2/maintenance-app-beta/issues/447)) ([958563e](https://github.com/dhis2/maintenance-app-beta/commit/958563e5805fcb7d942749aabb82964f80492bc7)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e7f881b..4817b0f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [0.16.1](https://github.com/dhis2/maintenance-app-beta/compare/v0.16.0...v0.16.1) (2024-11-25) + + +### Bug Fixes + +* address feedback from org unit new form ([#447](https://github.com/dhis2/maintenance-app-beta/issues/447)) ([958563e](https://github.com/dhis2/maintenance-app-beta/commit/958563e5805fcb7d942749aabb82964f80492bc7)) + # [0.16.0](https://github.com/dhis2/maintenance-app-beta/compare/v0.15.0...v0.16.0) (2024-11-25) diff --git a/package.json b/package.json index 70492618..46997460 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "maintenance-app", - "version": "0.16.0", + "version": "0.16.1", "description": "", "license": "BSD-3-Clause", "private": true,