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/7] 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/7] 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/7] 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/7] 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, From 4ea1d3c22133b2f9b63bc58cbf69b3d09e70e2a9 Mon Sep 17 00:00:00 2001 From: Flaminia Date: Wed, 27 Nov 2024 15:01:40 +0100 Subject: [PATCH 5/7] feat: add format validation to date fields and to dates in schemas (#451) * feat: add format validation to datefields and to dates in schemas * feat: upgrade ui library * feat: handle empty validation on handlechange --- i18n/en.pot | 33 +- package.json | 4 +- src/components/form/fields/DateField.tsx | 27 +- .../form/categoryOptionSchema.ts | 4 +- .../form/organisationUnitSchema.ts | 4 +- yarn.lock | 856 +++++++++--------- 6 files changed, 477 insertions(+), 451 deletions(-) diff --git a/i18n/en.pot b/i18n/en.pot index b0ac10ae..57b23974 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-25T10:03:10.019Z\n" -"PO-Revision-Date: 2024-11-25T10:03:10.019Z\n" +"POT-Creation-Date: 2024-11-26T14:06:00.934Z\n" +"PO-Revision-Date: 2024-11-26T14:06:00.934Z\n" msgid "schemas" msgstr "schemas" @@ -102,6 +102,9 @@ msgstr "Set up information for the attributes assigned to {{modelName}}" msgid "Code" msgstr "Code" +msgid "Required" +msgstr "Required" + msgid "Description" msgstr "Description" @@ -891,6 +894,9 @@ msgstr "This field requires a unique value, please choose another one" msgid "{{label}} (required)" msgstr "{{label}} (required)" +msgid "Should not exceed {{maxLength}} characters" +msgstr "Should not exceed {{maxLength}} characters" + msgid "No changes to be saved" msgstr "No changes to be saved" @@ -903,9 +909,6 @@ msgstr "Cannot save empty object" msgid "Created successfully" msgstr "Created successfully" -msgid "Required" -msgstr "Required" - msgid "Period type" msgstr "Period type" @@ -1241,8 +1244,8 @@ msgstr "" "Choose where this new organisation unit should be placed in the existing " "hierarchy" -msgid "Set up the basic information for this organisation unit." -msgstr "Set up the basic information for this organisation unit." +msgid "Set up the basic information for this organisation unit" +msgstr "Set up the basic information for this organisation unit" msgid "Opening date" msgstr "Opening date" @@ -1311,6 +1314,22 @@ msgstr "" "This is the first organisation unit and will be created as the root of the " "hierarchy." +msgid "Must be a valid mobile number" +msgstr "Must be a valid mobile number" + +msgid "Must be a valid url" +msgstr "Must be a valid url" + +msgid "" +"Longitude should be between -90 and 90. Latitude should be between -180 and " +"180" +msgstr "" +"Longitude should be between -90 and 90. Latitude should be between -180 and " +"180" + +msgid "Parent organisation unit cannot be itself or a descendant of itself." +msgstr "Parent organisation unit cannot be itself or a descendant of itself." + msgid "No organisation units available" msgstr "No organisation units available" diff --git a/package.json b/package.json index 46997460..6d92826f 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "dependencies": { "@dhis2/app-runtime": "^3.9.3", "@dhis2/multi-calendar-dates": "^2.0.0", - "@dhis2/ui": "^10.0.2", + "@dhis2/ui": "^10.1.3", "@tanstack/react-table": "^8.16.0", "@types/lodash": "^4.14.198", "lodash": "^4.17.21", @@ -56,6 +56,6 @@ "resolutions": { "eslint": "^8", "@dhis2/multi-calendar-dates": "^2.0.0", - "@dhis2/ui": "^10.0.2" + "@dhis2/ui": "^10.1.3" } } diff --git a/src/components/form/fields/DateField.tsx b/src/components/form/fields/DateField.tsx index e5c8c799..05a9079d 100644 --- a/src/components/form/fields/DateField.tsx +++ b/src/components/form/fields/DateField.tsx @@ -1,5 +1,6 @@ +import i18n from '@dhis2/d2-i18n' import { CalendarInput, CalendarInputProps } from '@dhis2/ui' -import React, { useState } from 'react' +import React, { useEffect, useState } from 'react' import { useField } from 'react-final-form' import { selectedLocale, useSystemSetting } from '../../../lib' @@ -16,6 +17,7 @@ type ValidationProps = { error: boolean validationText?: string valid?: boolean + validationCode?: string } export function DateField({ name, @@ -29,13 +31,7 @@ export function DateField({ error: false, }) - const { input } = useField(name, { - validate: () => { - if (validation.error) { - return validation.validationText - } - }, - }) + const { input, meta } = useField(name) const handleChange: CalendarInputProps['onDateSelect'] = ( payload: { @@ -43,7 +39,16 @@ export function DateField({ validation?: ValidationProps } | null ) => { - setValidation(payload?.validation || { error: false }) + if (!payload?.calendarDateString && required) { + setValidation({ + error: true, + valid: false, + validationCode: 'EMPTY', + validationText: i18n.t('Required'), + }) + } else { + setValidation(payload?.validation || { error: false }) + } input.onChange(payload?.calendarDateString || '') input.onBlur() } @@ -54,13 +59,15 @@ export function DateField({ inputWidth={'400px'} date={input.value} name={name} + required={required} calendar={calendar as CalendarInputProps['calendar']} onDateSelect={handleChange} timeZone={'utc'} locale={locale} + format={'YYYY-MM-DD'} onBlur={(_, e) => input.onBlur(e)} clearable - label={required ? `${label} (required) *` : label} + label={required ? `${label} (required)` : label} {...validation} valid={validation?.valid && input?.value !== ''} {...calendarInputProps} diff --git a/src/pages/categoryOptions/form/categoryOptionSchema.ts b/src/pages/categoryOptions/form/categoryOptionSchema.ts index 51e5e8dc..2b32af3a 100644 --- a/src/pages/categoryOptions/form/categoryOptionSchema.ts +++ b/src/pages/categoryOptions/form/categoryOptionSchema.ts @@ -19,8 +19,8 @@ export const categoryOptionSchema = identifiable }) .optional(), description: z.string().trim().optional(), - startDate: z.string().optional(), - endDate: z.string().optional(), + startDate: z.string().date().optional(), + endDate: z.string().date().optional(), organisationUnits: referenceCollection.optional(), }) .refine( diff --git a/src/pages/organisationUnits/form/organisationUnitSchema.ts b/src/pages/organisationUnits/form/organisationUnitSchema.ts index 57727b88..8dcd4e2b 100644 --- a/src/pages/organisationUnits/form/organisationUnitSchema.ts +++ b/src/pages/organisationUnits/form/organisationUnitSchema.ts @@ -33,7 +33,7 @@ export const organisationUnitSchema = identifiable }), }) .optional(), - openingDate: z.string(), + openingDate: z.string().date(), email: z.string().email().optional(), address: z .string() @@ -47,7 +47,7 @@ export const organisationUnitSchema = identifiable .string() .url({ message: i18n.t('Must be a valid url') }) .optional(), - closedDate: z.string().optional(), + closedDate: z.string().date().optional(), comment: z .string() .max(2147483647, { diff --git a/yarn.lock b/yarn.lock index d5d7c3f0..fa7cde25 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.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== +"@dhis2-ui/alert@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-10.1.3.tgz#380d4d800555af340df932c09e71212b0da473e4" + integrity sha512-+s/9uozVIggBEljmNGkcrgOsH6rR4KLVAmXyji/Y0Lqy4TPexoCxuoQBQye5GALN1vM2U+zbaDFXYp02wTi04w== dependencies: - "@dhis2-ui/portal" "10.0.2" + "@dhis2-ui/portal" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/box@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-10.1.3.tgz#42a42a6629ac91c426b285b064afef800611ba5a" + integrity sha512-oXtU64Rst+6/t8KQIpR5qleoZQFLplT9r/byuafCn4la0wYTxzP1AC0+7qqCJx8DSxr5ohZ4y0c/i6BdgHgmWQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/button@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-10.1.3.tgz#06dfbe19507d8f63719871402113c243d06ee760" + integrity sha512-j1+Le83TTpaFbhI3nkQTGJLfLSf9qg/gb1YFy0dPoe3ryt6zsDPmWNw3jjX/ARZrMJEZ7QexN2ZaNVz6nXdr9A== dependencies: - "@dhis2-ui/layer" "10.0.2" - "@dhis2-ui/loader" "10.0.2" - "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/popper" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/calendar@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-10.1.3.tgz#76feac77de5cfb348b2144e7f95c9cd3fe8687bb" + integrity sha512-n5reuYCZ/XMI6DeNGfEnqWo+2LXZXzaK35Bh+3GRiYpol1tPpMR28WWSGs25lmW+ifl3NW5muBCUpNpQHf1c1A== 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-ui/button" "10.1.3" + "@dhis2-ui/card" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/popper" "10.1.3" "@dhis2/multi-calendar-dates" "2.0.0" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/card@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-10.1.3.tgz#991e00ce06e647ec27378e9d28eedf0715ff7ea2" + integrity sha512-iXDCrDj6EFK5dR5b3a735kULYpTtsfZOhBkQhdm7RkjF2ultGBT/rMUMXCBJxxGepsf1piKtCY2aw2k7ntyyeg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/center@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-10.1.3.tgz#a38c9d5df939b905fdcba9145f260b4f998a7b82" + integrity sha512-XbzwgcPyLfc8eENLeHXZ393Lo4mzwCAhInzI9htWbi/MRy3h8mrtb0FOoEUvO0FSxYzmyFWJF4VYQ0YZrAoUvQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/checkbox@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-10.1.3.tgz#854cc83e4e4c010a039683de8e4a34117011ad73" + integrity sha512-Ecv0PFDCj/SNw02BhWxbYAMHFDZoFgTqsed3CVkYXp6LNkM5EUEdAgNRWCozRjtDd1K6fDCLDAoF3quqmwtoew== dependencies: - "@dhis2-ui/field" "10.0.2" - "@dhis2-ui/required" "10.0.2" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/required" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/chip@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-10.1.3.tgz#bcffb04e20bd177eb72e10b523d55b1bb3dd6a89" + integrity sha512-33SmlnM51D36qhAvrXh4dNtQoMvGvsf6wPnVPnRUHHO58AnrxXTJ2fMqojG73ZgRKTy2z1AmBpq9gaHkjPI09Q== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/cover@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-10.1.3.tgz#486e629f60e2d15bac86a5b1912413ef957136eb" + integrity sha512-gJvbY0HnUZ2LA3qRRNkNjxyD3pubbQP/VaigF4dY0j9n5kDS6/6iYsbmgOQh7iVjv+Tu3JslSE39VNNEYutUOg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/css@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-10.1.3.tgz#b94c075eb7aecd682e87f9f08a9d684331532dfa" + integrity sha512-pZgXt4f8nPChG6kr3v73A62Jq2SreNien8C5M40FHogH16CJRVgPZv1lJApD4n2rKlPBjgLy3mlvl3QGEzJJ2Q== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/divider@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-10.1.3.tgz#e5c6028abfe94240c43a1ab36fd2403015e0281e" + integrity sha512-rUXWK6TL6nRGLHhZAXQmtt0HZ7I0jOZO1/tXR5DpbK0zSrR7T4p6qU4SmUBb6Eew+FrCXgqt/wbEXCDZh6YDCA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/field@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-10.1.3.tgz#23fa5560391feee3c78dae7f36e73129f11a9d28" + integrity sha512-T87RZDdUL94th8KptpTc/6c+D2mei/T/qRiufyT6xZ6wxmWEiKXqI2vQArGyTSYrBzDT48NRHull+nH9ftWNEQ== dependencies: - "@dhis2-ui/box" "10.0.2" - "@dhis2-ui/help" "10.0.2" - "@dhis2-ui/label" "10.0.2" + "@dhis2-ui/box" "10.1.3" + "@dhis2-ui/help" "10.1.3" + "@dhis2-ui/label" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/file-input@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-10.1.3.tgz#392987f044ba3bb47d53feb4b671d6932890e174" + integrity sha512-VEhRT89psmrchmElCxu6qoG239n4vcmePkR4ZXo7fOV+dpjYgMUzEn+vRxSUqRVzacrvuKzZ79ycPqLV8oJbcQ== 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-ui/button" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/label" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/status-icon" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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-ui/header-bar@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-10.1.3.tgz#95f402a26ebff9c2536a738dd650765970429863" + integrity sha512-4osfKOTu5B8C0M67TLYCE1XpReopH8pgYLjak7LU8qZMIyjeZQx0Djy5xBlCd4qbdK3gAvvsqjaThTJ0bIUo4A== + dependencies: + "@dhis2-ui/box" "10.1.3" + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/card" "10.1.3" + "@dhis2-ui/center" "10.1.3" + "@dhis2-ui/divider" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/logo" "10.1.3" + "@dhis2-ui/menu" "10.1.3" + "@dhis2-ui/modal" "10.1.3" + "@dhis2-ui/user-avatar" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" moment "^2.29.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/help@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-10.1.3.tgz#004b7c6677b79804b51d6998a36d2b65aece3e63" + integrity sha512-gEma5Jsxl4FyGeGBmWXJI6H9wMQA1Hr+tzKhYtxDfcip+Ch6GbLK4QIgI45xTq8XeJ2knYh0vF8lghmz/Jt1CQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/input@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-10.1.3.tgz#e95c62afd10275185a495a0bf673636553bdb823" + integrity sha512-LMeU2XqvkMIXlju7Rj1J2D54JT1PXy3Jgl5SaXOoeknx85q0R2SZE4TTtbgQ9XAnjH7JAienk5bSQz/kMsMjlw== 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-ui/box" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/status-icon" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/intersection-detector@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-10.1.3.tgz#6a2ae4dc387803c67be47e4c5c49a68b74cf586f" + integrity sha512-28H4mclB7wtKHarBWXd7JQoVmUljavpO+1HghJKgwpJSXdNsU8fqnNjX9+IeKHWfH+++3yryOjlimM9XJ/9ohg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/label@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-10.1.3.tgz#d6709885939cfc8207fca629cbdd632c16dfa792" + integrity sha512-NWg9HxJXEO1WIa+ZUv8konaSTcLKDtY09twxhhAgQnYtEsZpYUO9cQy0f+gYIDGC19ACtPX1USvllrUEVR7q0Q== dependencies: - "@dhis2-ui/required" "10.0.2" + "@dhis2-ui/required" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/layer@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-10.1.3.tgz#a8e44ead2165eef9a38db10171849b71faf18363" + integrity sha512-4lX5eM4JqK2EeCnz2xeXcMS2r+/ydD3Nik03aHdORgihRURkSzBJOMQsL9Qu+ocHqS8G7du9r9/m/1223NJR7w== dependencies: - "@dhis2-ui/portal" "10.0.2" + "@dhis2-ui/portal" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/legend@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-10.1.3.tgz#3f71a7de793aece35adeb0a98b110ae5de5369cb" + integrity sha512-qhtGoVXAdbrVFSJHu8PzY+krT1Qd1zLysfSwn35jP3VDp1UmKiTgToAZ3V2tSn9QzPMfuEmRUKiGRCogXYzOgQ== dependencies: - "@dhis2-ui/required" "10.0.2" + "@dhis2-ui/required" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/loader@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-10.1.3.tgz#13bbeb5d84da0055e4bf174e1688f5b57d593d1b" + integrity sha512-Qez5rWscmFknCC5plxgUunSVOZcu/oykQCNmKa2CTz9LnX5SR8/gzkoWZTKwoDS+/5TfT1HcNaiD57TZo33QQg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/logo@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-10.1.3.tgz#86ee61d370f18c690c589313c1e7be6d8a3012f9" + integrity sha512-MIfMaBnycvfDtgf79xYiO1vP0qSWA7GmuJDK2ECxkArV1kgZPjiQMWF6UBD/qcNjRqNrV1p86VHPT3b8KmKReQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/menu@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-10.1.3.tgz#f031028def35c65526b01dad45a55f4971f989a9" + integrity sha512-otR3VE5kh2i/RZa/oE9czmEmoNFGlRV6VV1szqV8PZNIKMz7PAsBvpWSZPzolD0ca1QCmJMV9F2vCpJgAEx6fQ== 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-ui/card" "10.1.3" + "@dhis2-ui/divider" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/popper" "10.1.3" + "@dhis2-ui/portal" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/modal@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-10.1.3.tgz#a6054713aca7934e1956ee1b968e2425ed4dc1d5" + integrity sha512-rf+FZNahzTAZPCxqCLBJjHn5J+CvIOwiUq9UG+fIPHy09Ust/BDoEcFnQRFPJyT16Zwt2GqtNJ/LPfA0AKFubw== dependencies: - "@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-ui/card" "10.1.3" + "@dhis2-ui/center" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/portal" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/node@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-10.1.3.tgz#95cdb54f8f002518f4150db88279b445402fc630" + integrity sha512-3AYv0MMNL5ivTZjAjfb/sc2W5RwkrQWZHlHVbCJPMVewhCl+G2ejvTAduNGviy7BvAz0yLeEfTvLiVtGNGvY+A== dependencies: - "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/loader" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/notice-box@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-10.1.3.tgz#5b52cf51725fab102f0ab39c009e386f650bf491" + integrity sha512-qESamKtjIjjIeAb7y4wHvmW1t1h8kwtaMJKaoO2nTwAXH9rqXhu1ccRRVLVsfbbjMw3KhBRsXuW81+WvtC53KA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/organisation-unit-tree@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-10.1.3.tgz#99bf11963ae8fd63fbd07fb69ba8a802a7851fb1" + integrity sha512-zOxU+Yls9aMtK7RSviesm7lWf+Au5akJEnhq1zyj4hUN51beAy2b5nfrsy6/PB/P2BhiOeUzkJYZni+lud26Pw== dependencies: - "@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-ui/button" "10.1.3" + "@dhis2-ui/checkbox" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/node" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/pagination@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-10.1.3.tgz#5298459ed005963872f0d4fdf8400c469097b080" + integrity sha512-tuzYwjyyonLXVawWMgARDTHZhA4+Cds0x69tAox1U6dl1ZHj8P4y9ae+l9zWqTzgDM2qJiFQAcNgxXQu6uB+gg== dependencies: - "@dhis2-ui/button" "10.0.2" - "@dhis2-ui/select" "10.0.2" + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/select" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/popover@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-10.1.3.tgz#d2e49b84d8ab347078871ef1840e440c750c5cc7" + integrity sha512-oRqC0kp21/1p7xN0+FNfU96l/tZIdBl1qdHNHBOcSE9LvA43qCDYAnaeuvqWSXTUFB5Kxsx30H3ygY3DotHuOg== dependencies: - "@dhis2-ui/layer" "10.0.2" - "@dhis2-ui/popper" "10.0.2" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/popper" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/popper@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-10.1.3.tgz#704674fa20da3524cc8f09fa818d0ed59df8a56f" + integrity sha512-k9lo/mYFL6Qla+BPNia6aU8akDpneeSA1lksDNohZ9SO3YBKzvx3mO3VFr5FNgYW4FE4gXPuAbHGfYi/pz/LcA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" "@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.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-10.0.2.tgz#8b837cf2fd870a5189af5221ae83c65fec82bd0c" - integrity sha512-XPJr3JcR6kxTgAGYOa83KQ0wphR/SZdE99wsyVaCOQL5tRN8BzDj2AV9hHgigxPA3t3ZElbe7nTdYUywlhQYqQ== +"@dhis2-ui/portal@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-10.1.3.tgz#45864be8b0ad0cc9e1dff2c8e6fef18ede2860fb" + integrity sha512-cSoU37THaI4XsV1ZX3ZGRkPUR8rHA/6QZ2Jbv5HI9tOnj2LJKy+kXY06tRidmr+ak0BiRun1INhSXgwloM9c/A== dependencies: classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/radio@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-10.1.3.tgz#6278b305e17eecccb4588c9b80ab4507c083379a" + integrity sha512-hccmgzQJ+XBPWg/lMcYRl5ayTJDgIRX/2K27V/b6CzLnWJ9Jlsi+lvlGoeMpGaULWDwwqWnMmdrDWDz26WPp4A== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/required@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-10.1.3.tgz#b89aed510e3caa490a4234e70a176ad3630eaeed" + integrity sha512-/K5YRfsvXGdML91PD+sCD9waEyWJ/WqpZ3SObWEpF6CfqvxeUtaXoOx56DqoEueZKkv/aPRtPFro/3dQMKD6HA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/segmented-control@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-10.1.3.tgz#8b0937b869bd92167c970153b44e772a5909e926" + integrity sha512-KCN1kCunwX16ribe+k5llAsVkm1jGrHY1V3oqPRzPY17pUjQPrFQpTy9ltt0HeoCLoq/EQEe08jA7tlLcXxtbQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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-ui/select@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-10.1.3.tgz#0b4fdfa762415f8b2e7bc449858dfef16e983f1f" + integrity sha512-U0RqM0i/3xOA5K5cbDO95YQzOzKpBfyX1C+UWOuGR8OSGCl/OY+7q2U4vYHWJkaCb11hxcECm3lygOVghzyawQ== + dependencies: + "@dhis2-ui/box" "10.1.3" + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/card" "10.1.3" + "@dhis2-ui/checkbox" "10.1.3" + "@dhis2-ui/chip" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/popper" "10.1.3" + "@dhis2-ui/status-icon" "10.1.3" + "@dhis2-ui/tooltip" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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" +"@dhis2-ui/selector-bar@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-10.1.3.tgz#fb7324e190549a39aff02698acdf41f3b9663f78" + integrity sha512-Pfp8ivYjohxUgjhBnbGfqk9ivkFPpoKQ3nJKlFCiwgDmz9cHDbA8SGyQgEHD/p4hcYf8Wcer7TLQFGeOGiJ4sw== + dependencies: + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/card" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/popper" "10.1.3" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" "@testing-library/react" "^16.0.1" classnames "^2.3.1" prop-types "^15.7.2" -"@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-ui/sharing-dialog@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-10.1.3.tgz#867bf7623817dd34a57eb5b1f5deb95ed2b49ba5" + integrity sha512-TVTbbnHdvPgPIV1opT7GU/HERqsnRwOAuNBUp8BY703nIWJY3KvzJaPgg3j5P0b1W1NbhKPN1WSONBmPoAkTBg== + dependencies: + "@dhis2-ui/box" "10.1.3" + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/card" "10.1.3" + "@dhis2-ui/divider" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/menu" "10.1.3" + "@dhis2-ui/modal" "10.1.3" + "@dhis2-ui/notice-box" "10.1.3" + "@dhis2-ui/popper" "10.1.3" + "@dhis2-ui/select" "10.1.3" + "@dhis2-ui/tab" "10.1.3" + "@dhis2-ui/tooltip" "10.1.3" + "@dhis2-ui/user-avatar" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" "@react-hook/size" "^2.1.2" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/status-icon@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-10.1.3.tgz#1f3f98e63dae8ecf6b5868fa1617928da40a6556" + integrity sha512-xlvA7KwEc6aldLChspRx0/qqSVD3xQqsvf298R8jLJQf+m2e7Kw4269AB4sfYb/p1Huv9clY20kWGAV/bALlMg== dependencies: - "@dhis2-ui/loader" "10.0.2" + "@dhis2-ui/loader" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/switch@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-10.1.3.tgz#5db3ac68a7b0a62d2b38ce1bb5fc8604e6832ff8" + integrity sha512-4uBdsFZH8X6Z36VrQalx5tKkYvti7B5lFR4+FEx4PrhvG4KzzLjZ8Ly3xgge3nOdV2OtqJKldSvMlp+esWzCZw== dependencies: - "@dhis2-ui/field" "10.0.2" - "@dhis2-ui/required" "10.0.2" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/required" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/tab@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-10.1.3.tgz#bfcac1c679b4728bcca720f5080f6f158dcb50cd" + integrity sha512-75IJg3hRvxk45Hw8ibmCW91VZJGlsCAE8EG/V61yworN4NYGZtvukCwtGrmMnL9/9PXlC1hWewYW6OTPA9sArA== dependencies: - "@dhis2-ui/tooltip" "10.0.2" + "@dhis2-ui/tooltip" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/table@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-10.1.3.tgz#f90bf227918e1368ddbe4c5848747f36010697f7" + integrity sha512-WqGNcPbMNm3TK+oqFyChYRsyysNUEk9dtxB1yw596AhYjnj6HvnS9xlNWTWiBK9rrPtTd0BmoUOEdou33AAxlg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/tag@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-10.1.3.tgz#0b79e9711a79108b0064065439e75c82a27b714f" + integrity sha512-5j3SLQXrMG+Fq4Hb+2tNjG6uX6Dd3EBPIQzQTvBFYRP1eotpUzk8eYNFsZFWqDHdteDCjw9zcMrv526q8RU+3Q== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/text-area@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-10.1.3.tgz#990b329e1b2b1725385e049d132ffae5c60a4aa2" + integrity sha512-ZsNWj/g5ZBgmvX5MLoqzisKXd1p91+Pq8omnryZBcePQlSr6ddA3f5cBFAqRasmDotz3VHbLJrs4PxdN1/bfAQ== dependencies: - "@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-ui/box" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/status-icon" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" - "@dhis2/ui-icons" "10.0.2" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-icons" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/tooltip@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-10.1.3.tgz#bbd5888da98c049b9217654fabdc74d74b871e9c" + integrity sha512-4L0vYHHS9FBq2jVJfcenXHnPmrZdy4CWI4bf0+GvHf1FoPjTta23T0Wulf8cEEcxv6s5IbWIfUcE2ZVD+d0rew== dependencies: - "@dhis2-ui/popper" "10.0.2" - "@dhis2-ui/portal" "10.0.2" + "@dhis2-ui/popper" "10.1.3" + "@dhis2-ui/portal" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/transfer@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-10.1.3.tgz#7e394d881df00737765c0a4e5847b82367df34b0" + integrity sha512-dAhE2MeFt3JdJ/Qn6VEfLXyGRrSVP9gG1O+ThR+4LevqYEV/EVVxfwSKhjqdSVG7Lh0kUPnqAdz40qzhmKaoWg== 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-ui/button" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/intersection-detector" "10.1.3" + "@dhis2-ui/loader" "10.1.3" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" -"@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== +"@dhis2-ui/user-avatar@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-10.1.3.tgz#687a56ad32c50cd00fb5ced2a03f304a1ddd64ba" + integrity sha512-BGQvF0r1ZOP2p+JJ/DAAbpwzdTHFOfjonWWo8YyVP4YwNByGPEf4MOoxf7n7PxhgOlYcaTEP2JWB7kWlVSuoWg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "10.0.2" + "@dhis2/ui-constants" "10.1.3" classnames "^2.3.1" prop-types "^15.7.2" @@ -2291,91 +2291,91 @@ workbox-routing "^6.1.5" workbox-strategies "^6.1.5" -"@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== +"@dhis2/ui-constants@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-10.1.3.tgz#6c6ae6a880630ca399b4d62d70b60a99e3acf1c4" + integrity sha512-0ZXMOZ/u4/ZbpQXPc2VnYMUPsCBvrTKniHtkqQjaLQotm9KYOL+2GN2VC92u9awaSbH9h4k0iBXFeB+sPTNoaQ== dependencies: prop-types "^15.7.2" -"@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/ui-forms@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-10.1.3.tgz#d5949946487cf3dbec9705ba1320d7838f412476" + integrity sha512-jF7lvjjSxHLh2PkvxoOvHyI9xDWvVRv7FNYhv5Gcxo/YG7PjhcIuPun1t9LT4oyB0vQX/wuqkwoz3w5Qe9kPTw== + dependencies: + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/checkbox" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/file-input" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/radio" "10.1.3" + "@dhis2-ui/select" "10.1.3" + "@dhis2-ui/switch" "10.1.3" + "@dhis2-ui/text-area" "10.1.3" "@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.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" +"@dhis2/ui-icons@10.1.3": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-10.1.3.tgz#7f0130759f950b69ff87c7bfeff1f6e295fd3e89" + integrity sha512-N3oQtd1o5zgx7cGmNU7JqoL1a2q/aigOeuuNVxDGXrF4ZYUK6yDiI1kRJpRcp3Wd4FEfLIDHo9TZVRV35gzurA== + +"@dhis2/ui@^10.1.3", "@dhis2/ui@^9.8.9": + version "10.1.3" + resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-10.1.3.tgz#bb2f378c68ce7b4f1a480f74bbd5a8f5c72324df" + integrity sha512-X7p1YbkULmW8z0J53PrT4s9k/cqYzIA2W577/RRRCL+A8BpW38lyETmYX1L57+jY33MkHr3uf00r6MOngcpQyA== + dependencies: + "@dhis2-ui/alert" "10.1.3" + "@dhis2-ui/box" "10.1.3" + "@dhis2-ui/button" "10.1.3" + "@dhis2-ui/calendar" "10.1.3" + "@dhis2-ui/card" "10.1.3" + "@dhis2-ui/center" "10.1.3" + "@dhis2-ui/checkbox" "10.1.3" + "@dhis2-ui/chip" "10.1.3" + "@dhis2-ui/cover" "10.1.3" + "@dhis2-ui/css" "10.1.3" + "@dhis2-ui/divider" "10.1.3" + "@dhis2-ui/field" "10.1.3" + "@dhis2-ui/file-input" "10.1.3" + "@dhis2-ui/header-bar" "10.1.3" + "@dhis2-ui/help" "10.1.3" + "@dhis2-ui/input" "10.1.3" + "@dhis2-ui/intersection-detector" "10.1.3" + "@dhis2-ui/label" "10.1.3" + "@dhis2-ui/layer" "10.1.3" + "@dhis2-ui/legend" "10.1.3" + "@dhis2-ui/loader" "10.1.3" + "@dhis2-ui/logo" "10.1.3" + "@dhis2-ui/menu" "10.1.3" + "@dhis2-ui/modal" "10.1.3" + "@dhis2-ui/node" "10.1.3" + "@dhis2-ui/notice-box" "10.1.3" + "@dhis2-ui/organisation-unit-tree" "10.1.3" + "@dhis2-ui/pagination" "10.1.3" + "@dhis2-ui/popover" "10.1.3" + "@dhis2-ui/popper" "10.1.3" + "@dhis2-ui/portal" "10.1.3" + "@dhis2-ui/radio" "10.1.3" + "@dhis2-ui/required" "10.1.3" + "@dhis2-ui/segmented-control" "10.1.3" + "@dhis2-ui/select" "10.1.3" + "@dhis2-ui/selector-bar" "10.1.3" + "@dhis2-ui/sharing-dialog" "10.1.3" + "@dhis2-ui/switch" "10.1.3" + "@dhis2-ui/tab" "10.1.3" + "@dhis2-ui/table" "10.1.3" + "@dhis2-ui/tag" "10.1.3" + "@dhis2-ui/text-area" "10.1.3" + "@dhis2-ui/tooltip" "10.1.3" + "@dhis2-ui/transfer" "10.1.3" + "@dhis2-ui/user-avatar" "10.1.3" + "@dhis2/ui-constants" "10.1.3" + "@dhis2/ui-forms" "10.1.3" + "@dhis2/ui-icons" "10.1.3" prop-types "^15.7.2" "@dual-bundle/import-meta-resolve@^4.1.0": From 93c2d51d39d9e7dc149dbd61f3208cc46d0ac8c5 Mon Sep 17 00:00:00 2001 From: "@dhis2-bot" Date: Wed, 27 Nov 2024 14:07:04 +0000 Subject: [PATCH 6/7] chore(release): cut 0.17.0 [skip release] # [0.17.0](https://github.com/dhis2/maintenance-app-beta/compare/v0.16.1...v0.17.0) (2024-11-27) ### Features * add format validation to date fields and to dates in schemas ([#451](https://github.com/dhis2/maintenance-app-beta/issues/451)) ([4ea1d3c](https://github.com/dhis2/maintenance-app-beta/commit/4ea1d3c22133b2f9b63bc58cbf69b3d09e70e2a9)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4817b0f2..f9582b2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [0.17.0](https://github.com/dhis2/maintenance-app-beta/compare/v0.16.1...v0.17.0) (2024-11-27) + + +### Features + +* add format validation to date fields and to dates in schemas ([#451](https://github.com/dhis2/maintenance-app-beta/issues/451)) ([4ea1d3c](https://github.com/dhis2/maintenance-app-beta/commit/4ea1d3c22133b2f9b63bc58cbf69b3d09e70e2a9)) + ## [0.16.1](https://github.com/dhis2/maintenance-app-beta/compare/v0.16.0...v0.16.1) (2024-11-25) diff --git a/package.json b/package.json index 6d92826f..f6a37360 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "maintenance-app", - "version": "0.16.1", + "version": "0.17.0", "description": "", "license": "BSD-3-Clause", "private": true, From 3c78f901b8df78ec879316cbaf3f0834c1b85b64 Mon Sep 17 00:00:00 2001 From: Chisom Chima <87203527+Chisomchima@users.noreply.github.com> Date: Thu, 28 Nov 2024 12:33:03 +0100 Subject: [PATCH 7/7] chore (indicator types list): add extra form validation (#450) * 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 * chore: add extra validation for indicator types forms * chore: update schema * chore: resolve merge conflict from master --- i18n/en.pot | 2 ++ src/components/form/fields/DateField.tsx | 2 +- src/pages/indicatorTypes/form/IndicatorTypesSchema.ts | 11 ++++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/i18n/en.pot b/i18n/en.pot index 57b23974..ca3938f5 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,6 +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-27T08:30:38.416Z\n" +"PO-Revision-Date: 2024-11-27T08:30:38.417Z\n" "POT-Creation-Date: 2024-11-26T14:06:00.934Z\n" "PO-Revision-Date: 2024-11-26T14:06:00.934Z\n" diff --git a/src/components/form/fields/DateField.tsx b/src/components/form/fields/DateField.tsx index 05a9079d..6555a137 100644 --- a/src/components/form/fields/DateField.tsx +++ b/src/components/form/fields/DateField.tsx @@ -1,6 +1,6 @@ import i18n from '@dhis2/d2-i18n' import { CalendarInput, CalendarInputProps } from '@dhis2/ui' -import React, { useEffect, useState } from 'react' +import React, { useState } from 'react' import { useField } from 'react-final-form' import { selectedLocale, useSystemSetting } from '../../../lib' diff --git a/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts b/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts index d9b6d1a1..e530b214 100644 --- a/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts +++ b/src/pages/indicatorTypes/form/IndicatorTypesSchema.ts @@ -4,7 +4,16 @@ import { getDefaults, createFormValidate, modelFormSchemas } from '../../../lib' const { identifiable } = modelFormSchemas export const IndicatorSchema = identifiable.extend({ - factor: z.coerce.number().int(), + factor: z.coerce + .number({ invalid_type_error: 'Please enter a number' }) + .int() + .max( + Number.MAX_SAFE_INTEGER, + `The number is too large. Please enter a valid integer.` + ) + .refine((value) => value !== 0, { + message: 'Zero is not a valid value for factor', + }), }) export const initialValues = getDefaults(IndicatorSchema)