From 17bd9b9b820519ca1023a82c759904d6c854cf2d Mon Sep 17 00:00:00 2001 From: TonsV2 Date: Sat, 15 Jul 2023 04:34:32 +0800 Subject: [PATCH 1/5] feat: database upload modal rather than multiple upload buttons --- README.md | 12 +- src/views/databases/databases-list.tsx | 27 +++- src/views/databases/index.ts | 1 + src/views/databases/upload-button.module.css | 30 ---- src/views/databases/upload-button.tsx | 72 ---------- .../upload-database-modal.module.css | 29 ++++ src/views/databases/upload-database-modal.tsx | 133 ++++++++++++++++++ 7 files changed, 195 insertions(+), 109 deletions(-) delete mode 100644 src/views/databases/upload-button.module.css delete mode 100644 src/views/databases/upload-button.tsx create mode 100644 src/views/databases/upload-database-modal.module.css create mode 100644 src/views/databases/upload-database-modal.tsx diff --git a/README.md b/README.md index 5b2e5ac1..416138ba 100644 --- a/README.md +++ b/README.md @@ -19,5 +19,13 @@ skaffold dev ## Notes about fixed dependency versions -- `openapi-typescript@5.4.1` is used because later versions do not work with OpenAPI V2, which our backend is stuck on -- `axios-jwt` is fixed to `3.0.0` because the latest version at the time of writing (13-07-2023) has [a bug](https://github.com/jetbridge/axios-jwt/issues/57). We should be able to upgrade once this is fixed. +- `openapi-typescript@5.4.1` is used because later versions do not work with OpenAPI V2, which our backend is stuck on +- `axios-jwt` is fixed to `3.0.0` because the latest version at the time of writing (13-07-2023) + has [a bug](https://github.com/jetbridge/axios-jwt/issues/57). We should be able to upgrade once this is fixed. + +## TODO + +* Validate create group form + * Can submit without hostname... No effect, no error +* Loading shows within form +* Show selected file after selecting database to upload diff --git a/src/views/databases/databases-list.tsx b/src/views/databases/databases-list.tsx index f3d1a585..198d19e4 100644 --- a/src/views/databases/databases-list.tsx +++ b/src/views/databases/databases-list.tsx @@ -1,12 +1,14 @@ import { + Button, ButtonStrip, DataTable, + DataTableBody as TableBody, DataTableCell, DataTableColumnHeader, - DataTableRow, - DataTableBody as TableBody, DataTableHead as TableHead, + DataTableRow, DataTableToolbar as TableToolbar, + IconAdd24, } from '@dhis2/ui' import Moment from 'react-moment' import { useAuthAxios } from '../../hooks' @@ -14,10 +16,22 @@ import { GroupWithDatabases } from '../../types' import { DeleteButton } from './delete-button' import { DownloadButton } from './download-button' import styles from './databases-list.module.css' -import { UploadButton } from './upload-button' import type { FC } from 'react' +import { useState } from 'react' +import { UploadDatabaseModal } from './upload-database-modal' export const DatabasesList: FC = () => { + const [showUploadDatabaseModal, setShowUploadDatabaseModal] = useState(false) + + const onClose = () => { + setShowUploadDatabaseModal(false) + } + + const onUploadDatabaseComplete = () => { + setShowUploadDatabaseModal(false) + refetch() + } + const [{ data }, refetch] = useAuthAxios('databases', { useCache: false, }) @@ -25,14 +39,16 @@ export const DatabasesList: FC = () => { return (
-

All databases

+

Databases

+
{data?.map((group) => (

{group.name}

-
@@ -65,6 +81,7 @@ export const DatabasesList: FC = () => {
))} + {showUploadDatabaseModal && }
) } diff --git a/src/views/databases/index.ts b/src/views/databases/index.ts index 62287aa3..1aebf8e8 100644 --- a/src/views/databases/index.ts +++ b/src/views/databases/index.ts @@ -1 +1,2 @@ export { DatabasesList } from './databases-list' +export { UploadDatabaseModal } from './upload-database-modal' diff --git a/src/views/databases/upload-button.module.css b/src/views/databases/upload-button.module.css deleted file mode 100644 index ae82ba46..00000000 --- a/src/views/databases/upload-button.module.css +++ /dev/null @@ -1,30 +0,0 @@ -.container { - display: flex; - padding-left: var(--spacers-dp8); - gap: var(--spacers-dp8); -} - -.progressWrap { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -.label { - color: var(--colors-grey900); - font-size: 14px; - line-height: 16px; -} - -.cancelButton { - all: unset; - color: var(--colors-blue600); - text-decoration: underline; - cursor: pointer; - margin-inline-start: 4px; -} - -.cancelButton:hover { - color: var(--colors-blue700); -} \ No newline at end of file diff --git a/src/views/databases/upload-button.tsx b/src/views/databases/upload-button.tsx deleted file mode 100644 index 66145344..00000000 --- a/src/views/databases/upload-button.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { useAlert } from '@dhis2/app-service-alerts' -import { FileInput, LinearLoader } from '@dhis2/ui' -import { useCallback, useState } from 'react' -import { useAuthAxios } from '../../hooks' -import { GroupWithDatabases } from '../../types' -import styles from './upload-button.module.css' -import type { FC } from 'react' - -type UploadButtonProps = { groupName: string; onComplete: Function } - -export const UploadButton: FC = ({ groupName, onComplete }) => { - const { show: showAlert } = useAlert( - ({ message }) => message, - ({ isCritical }) => (isCritical ? { critical: true } : { success: true }) - ) - const [uploadProgress, setUploadProgress] = useState(0) - const [fileName, setFileName] = useState('') - const onUploadProgress = useCallback((progressEvent) => { - const { loaded, total } = progressEvent - const percentage = Math.floor((loaded * 100) / total) - setUploadProgress(percentage) - }, []) - const [{ loading }, postDatabase, cancelPostRequest] = useAuthAxios( - { - url: `/databases`, - method: 'post', - onUploadProgress, - }, - { manual: true } - ) - const onFileSelect = useCallback( - async ({ files }) => { - try { - const file = files[0] - const formData = new FormData() - formData.append('group', groupName) - formData.append('database', file, file.name) - setFileName(file.name) - await postDatabase({ data: formData }) - showAlert({ - message: 'Database added successfully', - isCritical: false, - }) - onComplete() - } catch (error) { - console.error(error) - showAlert({ - message: 'There was a problem uploading the database', - isCritical: true, - }) - } - }, - [groupName, onComplete, postDatabase, showAlert] - ) - - return ( -
- - {loading && ( -
- - Uploading database {fileName} ({uploadProgress}%) - - - -
- )} -
- ) -} diff --git a/src/views/databases/upload-database-modal.module.css b/src/views/databases/upload-database-modal.module.css new file mode 100644 index 00000000..8c85110e --- /dev/null +++ b/src/views/databases/upload-database-modal.module.css @@ -0,0 +1,29 @@ +.heading { + display: flex; + align-items: center; + color: var(--colors-grey900); + gap: var(--spacers-dp16); +} +.heading h1 { + font-weight: 400; + font-size: 28px; + line-height: 40px; +} +.wrapper { + width: 100%; +} +.tabletoolbar { + background-color: var(--colors-white); +} +.opendeletewrap { + min-width: 180px; + display: flex; + gap: var(--spacers-dp8); +} + +.loader { + position: fixed; + top: 50%; + left: 50%; + z-index: 1000; +} diff --git a/src/views/databases/upload-database-modal.tsx b/src/views/databases/upload-database-modal.tsx new file mode 100644 index 00000000..3474acd4 --- /dev/null +++ b/src/views/databases/upload-database-modal.tsx @@ -0,0 +1,133 @@ +import { + Button, + ButtonStrip, + Center, + CircularLoader, + FileInput, + LinearLoader, + Modal, + ModalActions, + ModalContent, + ModalTitle, + SingleSelectField, + SingleSelectOption, +} from '@dhis2/ui' +import styles from './upload-database-modal.module.css' +import type { FC } from 'react' +import { useCallback, useEffect, useState } from 'react' +import { useAuthAxios } from '../../hooks' +import { useAlert } from '@dhis2/app-service-alerts' +import { Group, GroupWithDatabases } from '../../types' + +type UploadDatabaseModalProps = { + onClose: Function + onComplete: Function +} + +export const UploadDatabaseModal: FC = ({ onClose, onComplete }) => { + const [group, setGroup] = useState('') + const [databaseFile, setDatabaseFile] = useState(new Blob()) + + const { show: showAlert } = useAlert( + ({ message }) => message, + ({ isCritical }) => (isCritical ? { critical: true } : { success: true }) + ) + + const [uploadProgress, setUploadProgress] = useState(0) + + const onUploadProgress = useCallback((progressEvent) => { + const { loaded, total } = progressEvent + const percentage = Math.floor((loaded * 100) / total) + setUploadProgress(percentage) + }, []) + + const [{ loading }, postDatabase, cancelPostRequest] = useAuthAxios( + { + url: `/databases`, + method: 'post', + onUploadProgress, + }, + { manual: true } + ) + + const onUpload = useCallback(async () => { + try { + const formData = new FormData() + formData.append('group', group) + formData.append('database', databaseFile, databaseFile.name) + await postDatabase({ data: formData }) + showAlert({ + message: 'Database added successfully', + isCritical: false, + }) + onComplete() + } catch (error) { + showAlert({ + message: 'There was a problem uploading the database', + isCritical: true, + }) + console.error(error) + } + }, [databaseFile, group, onComplete, postDatabase, showAlert]) + + const [{ data: groups, loading: groupsLoading, error: groupsError }] = useAuthAxios({ + method: 'GET', + url: '/groups', + }) + + if (groupsError) { + showAlert({ message: 'There was a problem loading the groups', isCritical: true }) + console.error(groupsError) + } + const onFileSelect = useCallback(async ({ files }) => setDatabaseFile(files[0]), []) + + useEffect(() => { + if (groups && groups.length > 0) { + setGroup(groups[0].name) + } + }, [groups]) + + if (groupsLoading) { + return + } + + return ( + + Upload database + + setGroup(selected)} label="Group"> + {groups.map((group) => ( + + ))} + + + {loading && ( +
+ + Uploading database {databaseFile.name} ({uploadProgress}%) + + + +
+ )} +
+ + + + + + + {loading && ( +
+ +
+ )} +
+ ) +} From dadfc68839566f929be496ca7ef7c38ffb1ca520 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 01:12:12 +0000 Subject: [PATCH 2/5] chore(deps): bump @dhis2/ui from 8.13.13 to 8.13.14 (#170) Bumps [@dhis2/ui](https://github.com/dhis2/ui/tree/HEAD/collections/ui) from 8.13.13 to 8.13.14. - [Release notes](https://github.com/dhis2/ui/releases) - [Changelog](https://github.com/dhis2/ui/blob/master/CHANGELOG.md) - [Commits](https://github.com/dhis2/ui/commits/v8.13.14/collections/ui) --- updated-dependencies: - dependency-name: "@dhis2/ui" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 850 +++++++++++++++++++++++++-------------------------- 2 files changed, 426 insertions(+), 426 deletions(-) diff --git a/package.json b/package.json index 8269215c..68542e53 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@dhis2/app-runtime": "^3.9.4", "@dhis2/app-service-alerts": "^3.9.4", "@dhis2/d2-i18n": "^1.1.1", - "@dhis2/ui": "^8.13.13", + "@dhis2/ui": "^8.13.14", "axios": "^1.4.0", "axios-hooks": "^4.0.0", "axios-jwt": "3.0.0", diff --git a/yarn.lock b/yarn.lock index 8fa4ee9f..38923b8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1432,583 +1432,583 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== -"@dhis2-ui/alert@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-8.13.13.tgz#d4ddc9edcdd80afbb697fa652fa2f6887b787390" - integrity sha512-4I0rQwpFgs4kpZgTJ0TIPk1fZIuCFXxDSkUnjRKboOOZi/j4/dAmxzVEU7hw54lDtjSPCPLWiJNZMhYVAEotXQ== +"@dhis2-ui/alert@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-8.13.14.tgz#d4e02088968538f81fdb8d370f05f62ca5422248" + integrity sha512-zCNgvBrzzkpvmq7TuXdqMHu6a+rPtmeNPG7NBco+NI4MQxrGp3d8kPAAOnqO/3BOP8/VL6ONuBkdzLj/bMPUAg== dependencies: - "@dhis2-ui/portal" "8.13.13" + "@dhis2-ui/portal" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/box@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-8.13.13.tgz#9af75b462e7731690f5281ac44ce87d8fc697fd9" - integrity sha512-vghfA2l9umIHxxgsOe6KFG7WcvqQBoiqVWgKpUXGVAO+XtB5kdbMFHpgoolchNRG6YfIZVF7BhCK/k9U2w/u9g== +"@dhis2-ui/box@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-8.13.14.tgz#4e39bccc0a45b406d20f481cb83d1c17c15cd397" + integrity sha512-zQvLZx0l4KDKe03+xWID4TtNyuWvPpMEGJh+gpzkWz6E6XOXqQbsV6NedlcZmS+7LCb9pkKQ4YMA6F4nJlwmjQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/button@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-8.13.13.tgz#561ce3c8ce5ed62d03d78438a27ba21de4bb8b24" - integrity sha512-35EeuEdXyH4Y8984aC7DjuAzmSn56DhTfurK414ez5rTttinMVkIYbm87SYNrr+tT6vwfiPJkFrBY0ktjIWCvw== +"@dhis2-ui/button@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-8.13.14.tgz#857b58a726d0070ec506a1c70b3746f1ba3a4a34" + integrity sha512-md5bzyVURx+ind8KWFwKjPg+5iaNy5py4DEOmvJD7RUxgcSwxBmX83H+DXGuzSqma9wFHYXp42zd0xFeftb9Xg== dependencies: - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/popper" "8.13.13" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/popper" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/calendar@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-8.13.13.tgz#76b0f35c560f32c998050784789c03799a6123bc" - integrity sha512-6MYfzENBGzmOe8y8mA6LiGaL1/6g/bA5MFU4aaNuFu5+jhqYs0Vwk3GwpDDvm0ZJ1xCiqrG4oMRIIOiivEOmAw== +"@dhis2-ui/calendar@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-8.13.14.tgz#b97f0a0c3e12e15cd074e8c9d4dd9bf5cd1411d6" + integrity sha512-cmcWvIqr3P7BV9QVqIqF0l4KLCGgS3Ewii1YLYlYwBXY/Ce/TT6EXxYwpxHGZDrJSdzNL+EBsvPWTY1dgF2UIg== dependencies: - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/popper" "8.13.13" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/popper" "8.13.14" "@dhis2/multi-calendar-dates" "1.0.2" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/card@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-8.13.13.tgz#5bec0e4006194e3b5369bd81f90413d7b515b2ed" - integrity sha512-zMWl4R2qRavn2HoaZu7mQAnB/ngS9U5NswD9j8cAncWwHj2yzqTWCG1YgIGApj7bNoXg9AZ+ZyWrh4/eDYEZtw== +"@dhis2-ui/card@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-8.13.14.tgz#78a5dea82170dd63506bfafe7b7a594cbb2f5837" + integrity sha512-XDZMb+iuVuKldeRfM/6UjXiwqmQXPqkrHHG3ftz2tqh9WidkH5FyvKLAHrWy0QGDf06o6LkLSX37S7gyIHJirQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/center@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-8.13.13.tgz#f0f5d018a137e403b6a4ff4292178283544d6cd8" - integrity sha512-agLY8Vv63dHS5vresFTWW0OrLCrOGK7CV3d7kO6keAurPGAkiln6yeMkg2sJX2pcdU6+ovswDr/dqTTWv15OYA== +"@dhis2-ui/center@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-8.13.14.tgz#037d6cfb6133d457839cb0757501e921a3c33091" + integrity sha512-hHWNPDLS5fDa0ufiUoKpBcBdQHlymGpQHDoQ8OkCqV4qfjJuLNnwGgwYycGLTyF5O0Y6OtYgAa8DvurB4rOi3Q== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/checkbox@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-8.13.13.tgz#76d0131482601f98b6bc271d9cf0743818bee377" - integrity sha512-d1ckdPt7dhJZT+qonRXSWfOcZd46JLrZFJG0q3VoUleqkcnrtaiCZn0P7cqnzzfAqC3PBgmm8ECt8nm1XrJ+AA== +"@dhis2-ui/checkbox@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-8.13.14.tgz#b9bf83dc2d0179ae1abb0aba63992e53850e0f4f" + integrity sha512-JlqGZrFEhL+zg4V8XFuZOgneWlvffg/EzVShI9CHIC5OUfhq5/whodSeIZwmSPOPhBk7bRJ/GdQUZAZwEba5Pg== dependencies: - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/required" "8.13.13" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/required" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/chip@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-8.13.13.tgz#3f5be6ab73b0c3b882609b80c0d8227cebae7b1e" - integrity sha512-Rf6eRqNzNxHbld2WIW+XYaaCqW1hSGJytoX4jSPSuWw6Qw73lvvTp6LVVorMWNoKUEGyTHfA+WiCnmPWHt1DOw== +"@dhis2-ui/chip@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-8.13.14.tgz#eebbf657bfccaec601a938ec78c83a3fe444d1a8" + integrity sha512-71kwlKvAqsikGoLmpNQf9ukxqxRRh7rclW8rSs1trej3B4VAWLQuk/HyRHNjgtrLktvBIgA6KXxYr8C2nGVzHg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/cover@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-8.13.13.tgz#8f26751197bd3c87aee062d86654369d15333228" - integrity sha512-emVIBRugq/A4KYJkbWu/KP4LSe2rqaJlW8GHrGu42R0I4h4NaIssnEnCfswFen5oJTrZCak44iacRtHIGaC9UQ== +"@dhis2-ui/cover@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-8.13.14.tgz#50c5a63b8aeddd54fd332af8e97c184683694acd" + integrity sha512-09liKeHg+XEi7FeSfHAW/3BbmdB4LwyWbFmJN2s58M54h5ytFxiCmD84QhWAQ5+SuiOp6w9JBJeZ7movWnDzWg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/css@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-8.13.13.tgz#6b57098b7d7f80b9bef221dd3d4843618f0108ea" - integrity sha512-7yZAnugN+4wxilGHvOcS31B7Z/I93JmpiuLlyaCS8MqpkPKve9DwUe1CbGfLtZ0o+YegLpWkTs/PQklHDxh9Dg== +"@dhis2-ui/css@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-8.13.14.tgz#c09725093036d9c517cf5cc58c3422840ac85af1" + integrity sha512-tE6sWn38sutBcG5K2S1ZmkC0ARZZjq4bVc/cB83h+UGHHbAoZsySObAw5WBtMfcXI1tlGB+7354E8uK90uF8Ww== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/divider@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-8.13.13.tgz#7a584baceae7b9e1c89656afa793b720310caab5" - integrity sha512-mCAfYU8pPXAh6rFmG0rzyE0r36KejuLtqPOPUFJggFSLLDkosGDUSwNYRNl2tF80QBJjuj92xBEmjECD1lnDNg== +"@dhis2-ui/divider@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-8.13.14.tgz#b0ec1a434ad99b8ec7c5cdf2a6e92abaad2650dc" + integrity sha512-POSgX0/1c2kAD1onDc7olSCXwaq//sAcj2uRY+NsmdBrtvUb/16CvGwJqL8LmyHlcaYA+MmNj6gbbZrzvvyFcw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/field@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-8.13.13.tgz#501f674b6eb1ec2577266b336f810ae4aa1d6845" - integrity sha512-lRoLjRXjc9MPnjiUONvjjc84luXVdzOjst4JKGlkReXSBMPLyUx2aC0FwUV//TFH/KPjgZvFIrbuPUWlLPOf0w== +"@dhis2-ui/field@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-8.13.14.tgz#b5b9ba983ad4a66a1081f381361b6cedc9525ae6" + integrity sha512-htelHzlzaxFrTzrH9kwhzYc0iBwj0xyc9zFHqhL0g/d0qIY8ShcpfSNS+NE0TxXIXWZlBFjpR2mRGjg86wZEvQ== dependencies: - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/help" "8.13.13" - "@dhis2-ui/label" "8.13.13" + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/help" "8.13.14" + "@dhis2-ui/label" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/file-input@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-8.13.13.tgz#bc5bbb0a113fc04033a18d65b4848c47e4c444c1" - integrity sha512-tAX2aFUCBbPJNOk5QZ/wkBNPzAWDZOeDfxx336MAFqrLdGlHax3RC28gqtaxD9lGFCyu80+2de6YS59lZ5N1bg== +"@dhis2-ui/file-input@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-8.13.14.tgz#6d43eb36a2ec4bf7949359b13d0debb7276fd270" + integrity sha512-opTO/OgqpES7wBmVBkv8ceyKStheR8UpWwfL8jBD4fhcMVP2K2Ys9vuXGqrzB2jTq1le0LqWKd/DEqkkSg1pjw== dependencies: - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/label" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/status-icon" "8.13.13" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/label" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/status-icon" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/header-bar@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-8.13.13.tgz#a15dbbb4c32c4de078f98aaae11653521acfa74e" - integrity sha512-KG0Sa6uoaeHA1UG/Jux7cE26S9J/npDFQq0BWbaHGr4yHmyOQm07ayVnlFkDrL85/5bPkgvtbFc+7yBO6wN9lA== - dependencies: - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/center" "8.13.13" - "@dhis2-ui/divider" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/logo" "8.13.13" - "@dhis2-ui/menu" "8.13.13" - "@dhis2-ui/modal" "8.13.13" - "@dhis2-ui/user-avatar" "8.13.13" +"@dhis2-ui/header-bar@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-8.13.14.tgz#2113aa4f3cc35c88dd67bc88789852588325388c" + integrity sha512-VuRrYCQinMHYpkwBW2Q7bqgS/RbWZohZ/l1rnAAywEpdw62Sbd6GBduyC6r3Qiee3oYgz3amC4+5QCmX6eh2RQ== + dependencies: + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/center" "8.13.14" + "@dhis2-ui/divider" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/logo" "8.13.14" + "@dhis2-ui/menu" "8.13.14" + "@dhis2-ui/modal" "8.13.14" + "@dhis2-ui/user-avatar" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" moment "^2.29.1" prop-types "^15.7.2" -"@dhis2-ui/help@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-8.13.13.tgz#74abd5fe8fa21b12bd05b4fb305508f38f6e9dd2" - integrity sha512-yC53R9Yq0SJ8BCJJpJcWzzkyxeJrwDJJgjYUnCtE7/IWmJDtAzuM80nfPDabUAB+ee9+iC9xnwfF13C9AYtEKw== +"@dhis2-ui/help@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-8.13.14.tgz#1b5229a2a82437b950efa4ec6cc41b75a20d7a3e" + integrity sha512-zv82/PFIe8G0ua9YA+au6AQJ4kluQ/+zjmf1yn2HEWTYnBtwrPP4bHdFVbFFqyF7xZxg7O5+BgbExttGURaQHA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/input@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-8.13.13.tgz#d7b316ae4030f07b3067d5147329198c8d0ad294" - integrity sha512-nRrUtMBRUrjcn8lpZXvOtH4jKrsP1ktcKLEjxz6hVruK+YLdNqxmCv6DxSNbX49jD3x3JcNWil7vu6xDask/LQ== +"@dhis2-ui/input@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-8.13.14.tgz#4b67dde933a2881cad73a086c1e4c3fcbed0572a" + integrity sha512-H7gUwR5WxZC05BsuISiWUczRXM7+JXA92c+FPPSYDp4R5RKdOgs37BudWXtMfwT/fV1n0MF3lUY9CpPHXnnGCg== dependencies: - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/status-icon" "8.13.13" + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/status-icon" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/intersection-detector@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-8.13.13.tgz#28f0d6f3d6bbb61852b7fafeb74f2024620db1e4" - integrity sha512-aIA53n8Xuc1sKPrYWoK4H1c4bAnV6UaXjGJvuX3zqp7HKL81QupZ9noKe3G3R9kLZjONB4eBds7xsWzlN98W2A== +"@dhis2-ui/intersection-detector@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-8.13.14.tgz#a85f85d595b47553bc2fdc00a2cbddfcc479c11a" + integrity sha512-/lxLozIFkcYxhPF6GOybN1a+EQmNYrtOc6od4h4bSTbHW9wNkz5E0bjho5mBD91h4xIL/rEpuQhSCQl7ga1cow== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/label@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-8.13.13.tgz#96031793ca559a464b055a1746de97db1a086deb" - integrity sha512-c6DLfWqs4sOUauYJKqa3sZLtZeMzVqgW4srJ3LxP+c/vUNOSGyEJTDdo31aVRtEMj5SsoDFVBQmKgSFS4mAezQ== +"@dhis2-ui/label@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-8.13.14.tgz#2bf9eacb15b49cd96304e6920a2619ff4b4335b9" + integrity sha512-w6/AAyIhirphiGr+OZDaGRCcpBniZMOfEho+WwJA6NQXG1N7lsdHlNup7I52LdcQslJYUtD/a4YZ32A5tS9AWQ== dependencies: - "@dhis2-ui/required" "8.13.13" + "@dhis2-ui/required" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/layer@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-8.13.13.tgz#2660c783ca56cb1eb96d3f8500cfffaeedf9ed99" - integrity sha512-yNG0zHQr5j/COUxWgJBOveJZ849BHGeMyyYh4+ahIFlovCFJdxjHIf2RInurtVpj5yAVXOm2GiygrzT1gBgWBQ== +"@dhis2-ui/layer@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-8.13.14.tgz#5e16f3b4289cf333355f17ee5be7ea3930449b1f" + integrity sha512-MnJlJHR+JozH/eav4FBptFEhUkCnegcCwa2p2Kjadq/nI+wxUNVyQqWlidc8+Txj5qBMQYN6Nd2NInHjbC2iWQ== dependencies: - "@dhis2-ui/portal" "8.13.13" + "@dhis2-ui/portal" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/legend@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-8.13.13.tgz#d918045b3ad88a07cf080c7f91b88e41e8a6d218" - integrity sha512-7iSc1dlfZ4puYKGVZ75CyYtbZf0yd/OqE0f8WulS3fJvN2DkFYDkba/KCMsGqWL7xJSoz1b0vIimuVdSh6YaZw== +"@dhis2-ui/legend@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-8.13.14.tgz#4d7e00e63b8780d765c68899e245118e457f0e23" + integrity sha512-KcRf//XwEF5spLYdAb6PWIMwzvw1C14v4xeHoZz9KjfVHhfYy4PpQXeXaZ6S+/B1gHNMKO1AntGMzoPcGBmnog== dependencies: - "@dhis2-ui/required" "8.13.13" + "@dhis2-ui/required" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/loader@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-8.13.13.tgz#a3224c76930de033470de26e708cad16edde796b" - integrity sha512-QSnZp3Jne3BGexjStDkTnofdO4tmrVCZslB9ZNTd8YeC+1KP5T5yBum8bB382H/RT91GIb6A6n0wkbajnu/n0A== +"@dhis2-ui/loader@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-8.13.14.tgz#816437d98a165c550e2145f37e8793b3440bc632" + integrity sha512-NN35IIR0MSlbEnZrUr61XmGvb5ZcFhIqcjiMdiN9kR8BTWxuFvbDojFqZ0R0fgBmysQM9U1MTFJOEWwu7YoJAw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/logo@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-8.13.13.tgz#fa8737349da21a52833ade42aa4e9d737f463f50" - integrity sha512-5HTNm6Qr/HwFrjNKjDRiTO9zNj2EkIOGeOV/fA76XHa3ZxZs9GbVoSdNOfoVTg+VY2Md418yogivww3VFIfQOQ== +"@dhis2-ui/logo@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-8.13.14.tgz#ebd9dbe1f5ccb66dde08cb93fa4396ba4db39cdc" + integrity sha512-gl4rW1hZt6ykK6KLPEv2Bczust2pOIklXUmORqw8guFKlQvvSDW84SrMnQ7n2+nfUEgjbaNl4uX5JAI9gHDoBg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/menu@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-8.13.13.tgz#b506df64b1ec22b2d937880891be227bf9427492" - integrity sha512-ia2oVo+3hOwHyIWHr7Kd+6ogB9nMJ2FZGIdUL+ROGN5oixJ9ZrUEziqvxxLVfVot5ZowPoZv7Iev4xyjo9hd0w== +"@dhis2-ui/menu@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-8.13.14.tgz#fd394ac7d0851ed168a6b00bc86017ec6ee6929e" + integrity sha512-6pagdc1UYknNvJ9HrWI7B6bvYmw0BjuEnDnbGic0/thsy892Wdv6mtGD0y3xgeGdg11+MkcAHJLTzapqdUSrBQ== dependencies: - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/divider" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/popper" "8.13.13" - "@dhis2-ui/portal" "8.13.13" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/divider" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/popper" "8.13.14" + "@dhis2-ui/portal" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/modal@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-8.13.13.tgz#90cfa9b65833c49eb87e1714bfabc453f2eb0a25" - integrity sha512-LGoqRloVbU/xv01ICXpOrcJkecjn0DQjsUUw5Z5L4Oxn7i5r6b4xTiOuL+i/dQS6rKaW4Qvu2FTnwA5aUFbduQ== +"@dhis2-ui/modal@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-8.13.14.tgz#baa65a4ad53227f92b0bb3a965bca2e2ce69ecf3" + integrity sha512-c8k3h4tw7KD4pXsIbeS9WOrhh1Zj0rErwzhOxnXJbBu9b3JTuIpDg6bW/szqOlr3L5BFvgmMlNL9pOp7RJtNGA== dependencies: - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/center" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/portal" "8.13.13" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/center" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/portal" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/node@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-8.13.13.tgz#a77c38f5ad1d6a6c41ec8df9e4e6e562c70391cc" - integrity sha512-K9e0WyVdNkWvdUjDP1VDquRj/ARAvg86v0fl6h/gioPASSTZVSNOOtBHl6NWZFwV0b5NiHUVvDkxMuJAfLbDpQ== +"@dhis2-ui/node@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-8.13.14.tgz#28f2a4b32173584612cd5adb3151752e2104791c" + integrity sha512-qV97RHLquofcvDWYeuj1xso+Ulp3pcfqihknQoDSf5nZfrhSdG8aF0VZ88vV/8zhX8/hU+E7jfilhz81sZazxA== dependencies: - "@dhis2-ui/loader" "8.13.13" + "@dhis2-ui/loader" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/notice-box@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-8.13.13.tgz#b81cee3a3a55c11f9abfc9b5d593fdf446d64793" - integrity sha512-+R9p+avushRceJEKHKsG2q8rcHvS8xp5mox0hXxBojzGqFp0vAJS48/H8NCBA/CY3tRsXSOvMr4Z2ANwuRz6vA== +"@dhis2-ui/notice-box@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-8.13.14.tgz#cb0114c8bd0ddc8c587306716f5d265ff2fdf3da" + integrity sha512-KyGk3DcHEsy/lprdlY63PXTwsh2gVbnnoq4QyjFinSVpxaNsiviQJGVR/a5Xy53CfXARS1awVenXzumvDU6KlQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/organisation-unit-tree@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-8.13.13.tgz#34858743244295028a1e9dec251442332f60e475" - integrity sha512-sgSJNJbwwXFW8RJv1XORNR9uVAxLuAdwBjSOZzwRjVCjchMybEniitiq81KfMCDpsLeEDfnaFx54ffPlAbvqYQ== +"@dhis2-ui/organisation-unit-tree@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-8.13.14.tgz#1e649f70bc692f1161d0b74b9ae99693e74eda43" + integrity sha512-zqsmHGAIo5E5CMSVY7Bwq6KcmENLtghhe9Q4VpHErm2sMCvJjVt90mLpVK9rQ85/jTg863PPJwGoy0EftRlpIQ== dependencies: - "@dhis2-ui/checkbox" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/node" "8.13.13" + "@dhis2-ui/checkbox" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/node" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/pagination@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-8.13.13.tgz#f7ddc56757e9e6b3b41db8992d13c51a54fb6e80" - integrity sha512-K7n1UYzErtboy+R1UJoKcSB+mIYIh3r4XpCRC6Qh3GyOztScMo4QSsG/fLzoeQcn9VpApxEkPuiMV5XEeHMzBg== +"@dhis2-ui/pagination@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-8.13.14.tgz#c28d70868fe79bebce60021537e7f3049df01afd" + integrity sha512-ssc+UESP//NZM3Oifo0OenAklz3LZayx30yx72lE0DWN3lmXoQM5gw4MeuKSW7xVqbKgtV0YS22ppCZju17/GQ== dependencies: - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/select" "8.13.13" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/select" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/popover@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-8.13.13.tgz#c6bd87fb96a1aa63ac1594510a4f162a32f8da71" - integrity sha512-nuMBm6IYMpX2KdDZVlzKzGEpT7S64NWv9/3XSOGNc/D7owXWHQiAQVa8psNJQtFy/d66M9MqRNF20/XipiovUg== +"@dhis2-ui/popover@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-8.13.14.tgz#b359173946cf820f4b3132d0c30ccff23644c955" + integrity sha512-HVb0stkU6APdeNR19pe9mSp2cT7HZ4+R/HXDiUOGV2hzqa3zugDwr3VYZWxCBGjTkmM9L1dOL3Bn1++0f0uKWA== dependencies: - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/popper" "8.13.13" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/popper" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/popper@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-8.13.13.tgz#e98e01d03d23e4bab0e73a37e2e4df9fb31203e3" - integrity sha512-bfJPuoBf9FGVd3jlfcmFX35nIk4H3LZMC5JWMG7ywb3PClfHXIcyGFl9/piIOJAqKkDCCaS75zZRNlvn7bzjNA== +"@dhis2-ui/popper@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-8.13.14.tgz#304c6353653531108102e994542628e7d0908a11" + integrity sha512-bEg5vjgtUo6hQcY56SaRbGC0vFT9xcUPMiRa8k0bqmbY/sejE/Pty9QoYZc/g2XqKo5c2QNozJzjZv6obQ28ag== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" "@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@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-8.13.13.tgz#3f1027229a593ba337898ae0c8cb6528daf07395" - integrity sha512-9qpuKntHdtrCbC+lyv+Nnmw9XHrMUfAR4JXAlta2AhlwvpNsCGNXdt6m63eibv8SscjZfX5P0Nbb/Tdk5jO7uA== +"@dhis2-ui/portal@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-8.13.14.tgz#3e11b83e043cdc457c34bd07478d5186cf5d7049" + integrity sha512-pr1DHLvUPQ5NRTikmPdJK0T7UHPkIE/vuAQq+qiz7UCoScb53TDWYF37iOisBqKHpUAmFb5uUdy6YZ4oc5dHRg== dependencies: classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/radio@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-8.13.13.tgz#2b378fc7101aba5a3984cd933d8becd2aa9f40bb" - integrity sha512-L/5jEkLmepDbzseYfAMm1L0zJ5cCsY3uLhKHXT4CofjuJ+dtKf9ZRARwT166vdQ/TkxEfZbcZvGuZr01PTiDtQ== +"@dhis2-ui/radio@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-8.13.14.tgz#915c06ee3424f6489404b51f81424c0525b9b943" + integrity sha512-5FDKx72jV0N8RvlcpoRLqDgYIzg5QyKa/IDrKlYuDFp10fgI4duBfieDv9uGldz4KgDd4Ht3T5MeAt8Rn8czFg== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/required@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-8.13.13.tgz#10b2f24cec101d16732e24e3414cccfed7e3e709" - integrity sha512-A74kvrRwU2GNmjvJyt6ZeHdtSYxybo5iAxMLnpEa7VHDmPtbruJ7SOqBhQOF1wQgzhYwBWeXmHYuM8cNXgQQsg== +"@dhis2-ui/required@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-8.13.14.tgz#a48b3cb12170e58d06cd2137d6b32344571945af" + integrity sha512-fXBqVBFJ4VWho3BBPc69aEfBvNns2Ni2OKOu+CQEvkehmM5lWaOisAH96I01TvD892lsPHHaw6ZMgvcgPSRhrw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/segmented-control@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-8.13.13.tgz#d6a072aca18ab0ec5c9a1f9cfb52979b59b82693" - integrity sha512-ADI6/uvdML1OqDoLucc6Y3RuPqC5m1h+KfTIv2LfIq0k7rn5rOIcCnlsTe/nL3Py8kiybubuLL+psH8sJVOm4A== +"@dhis2-ui/segmented-control@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-8.13.14.tgz#b559ff601ddc939af2c7bf95cedfd2d44b43e416" + integrity sha512-iKpNAJUDe6yo8vEjsqomRiSWpblR3zXI3BVdEecZsE2PfxnXV4PtOhoXnDCr/80N+2FEBaz5cUdiNQzQHmZ0zA== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/select@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-8.13.13.tgz#923a1d10fa2c84f0dcf97b1c6f538ba99d0d4534" - integrity sha512-qC3e3bjywRs5WqooxosLaj0O/I31SP7ZWEFQ2TkahyPihfMmKmC5GLOP0KT7RG4bu8rWxaXjpqsiGpG2Y26uoA== - dependencies: - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/checkbox" "8.13.13" - "@dhis2-ui/chip" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/popper" "8.13.13" - "@dhis2-ui/status-icon" "8.13.13" +"@dhis2-ui/select@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-8.13.14.tgz#4de150fbc55db236936dc30cfdefa93917abd19c" + integrity sha512-xGPNFYx6fnAo8johme5CXZhMSl/bqcEas/RLux82uhHA4KeeRJlS918D59P8qTe5WUCBO2ti3WRbLPq0kvmT4w== + dependencies: + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/checkbox" "8.13.14" + "@dhis2-ui/chip" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/popper" "8.13.14" + "@dhis2-ui/status-icon" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/selector-bar@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-8.13.13.tgz#a54dc337f5469800ac91047477cbe7d0697d6bad" - integrity sha512-Bxr9sTiafSnueT0uJKEQozmvzHe0Nbfx8n3xzWpnd8zNg8WVvPEKtCkHKv6Bfl99BO7mD2XgstDUXSDFeO1qkg== - dependencies: - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/popper" "8.13.13" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" +"@dhis2-ui/selector-bar@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-8.13.14.tgz#2b9595b128a38be8d69de7565a71351abb29530c" + integrity sha512-qJ4VgrgSx06ol/i5vQcIgZk7TkNcsZdc6B57HjLIaGd/yUmUMBU22Sxg8mFHVMQin/EESnU/gnCwHDb26UcwUg== + dependencies: + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/popper" "8.13.14" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" "@testing-library/react" "^12.1.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/sharing-dialog@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-8.13.13.tgz#f58997c4a61d2cdbdbc320b8fa29470017d9ba2b" - integrity sha512-NpBPqJBQyXcDogtf4wvDNzzupvxdbY/D+7aJT/0mPRcFSXxXnuYvY/dN7NPxfBZFXSZIIFyvQpN6w86uaQl5tg== - dependencies: - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/divider" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/menu" "8.13.13" - "@dhis2-ui/modal" "8.13.13" - "@dhis2-ui/notice-box" "8.13.13" - "@dhis2-ui/popper" "8.13.13" - "@dhis2-ui/select" "8.13.13" - "@dhis2-ui/tab" "8.13.13" - "@dhis2-ui/tooltip" "8.13.13" - "@dhis2-ui/user-avatar" "8.13.13" +"@dhis2-ui/sharing-dialog@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-8.13.14.tgz#1ec679d4247b018066d06172cb0adc989a5bc5bd" + integrity sha512-dEv3bz0JfNHD88fmJQWrjmOM708pwNWUkYq6/yaZtLtvN8JxTi2s+pKmW8ZnjR2i9Wp3m5n6vT6lyHR+FN1DcA== + dependencies: + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/divider" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/menu" "8.13.14" + "@dhis2-ui/modal" "8.13.14" + "@dhis2-ui/notice-box" "8.13.14" + "@dhis2-ui/popper" "8.13.14" + "@dhis2-ui/select" "8.13.14" + "@dhis2-ui/tab" "8.13.14" + "@dhis2-ui/tooltip" "8.13.14" + "@dhis2-ui/user-avatar" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" "@react-hook/size" "^2.1.2" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/status-icon@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-8.13.13.tgz#d81a699d6b8ba6ae59a01179191d66533ceb38d7" - integrity sha512-XlXUBIp0Vv86ya98B9PYVS/KL9nvgy8zDe0z4WQLkxY1ZGmmxhr9AxD7zh8c4eQuamB9Htm+5NfWX8QZF9TcRw== +"@dhis2-ui/status-icon@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-8.13.14.tgz#6e0f23a529edb00a383da92152dd8cc4eb990b65" + integrity sha512-p6GRCkfaVlXeKSvdIIC+E37tpL3tZxZlYFu+I+6dm3tUB0z05DAl+rO0b2z/QBhbrdz394Pb1Z1UrjisAGjqLg== dependencies: - "@dhis2-ui/loader" "8.13.13" + "@dhis2-ui/loader" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/switch@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-8.13.13.tgz#5a13385fa8662e47b270875dc12eb69c28eb2abc" - integrity sha512-znxc7vODWjFc4tv+/TCQo2IWPMrAN9fq8M0Yw4XZWrC2JziyEC+HHALdL+aV0TDbPPJN/Fb1iQbvxRCjllygjw== +"@dhis2-ui/switch@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-8.13.14.tgz#baff8a6f6cff333ca11e1793b70fffcfeda0d72f" + integrity sha512-nsfJJPQuGW4EeWYFiM3yNuMgTcpjLmB5y8ypmAuILWdwJaYqAD3BD3zkZJR453uJfvxRBxwywb+2NLNICpZX7g== dependencies: - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/required" "8.13.13" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/required" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/tab@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-8.13.13.tgz#4b1fa78c56419a2c1dd03afaab8138acf27f1eed" - integrity sha512-x3i/BFLSGPHfjK2ZxEmwceQwqHntyl18yAF0ztfWwNFoqMduZjLnZYj6UecgCHXyBLJ2Rvx+kJLw+7+/xe2k8w== +"@dhis2-ui/tab@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-8.13.14.tgz#62a82f9639060d7cb78fda877a73ffd8aed345b8" + integrity sha512-pfE7ozfWFiGI+gpYtLBYve10Z3Z72hWzpaJmXSFsBrpBAArexMosIlVQS7Q5/kNfAjjVQMBE4ZpPEG6beaU81g== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/table@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-8.13.13.tgz#8d64d5517671b59fd9e85880b4507676aa4aa883" - integrity sha512-WK3ngWkzEJFCZVqxKPk88/XHA+P1NTj0Pr0fC0E+pzW9yVe7wQNUX/0IfK8+AXZbA4Q0F+h+2T9Bcb3zrL7hpA== +"@dhis2-ui/table@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-8.13.14.tgz#6713ef6b5db0c225f519c2e4402b4d8f12db9f91" + integrity sha512-wN/kNh2mR+5V9D55aKrMItTCpaxaZP9noNarfMrWUxULgNoOSBTT9ZJ2u3aX1K6CTk5qpDxnVacqa6yEaLwVLQ== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/tag@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-8.13.13.tgz#f0f562b01c67081cd5aa3c171187b55cd235a70f" - integrity sha512-TBW1kAgkdkK5E71iR0XIpWi9OWJAZO5EQ0OaOhcLc9Wp9GMB8idlgWr8VMCSqlZROKVolMT8MwPS6g4jqVl8Hw== +"@dhis2-ui/tag@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-8.13.14.tgz#4816cadf0026f3eed7493c130f587877762ac92e" + integrity sha512-2AkfzV6fFF4s3qcYzUJ6t4MNtLhhUzKQYYJbuMz1hmTDrFebudEpaEod2DP6d3My/iz/VbcDY2tstyUHkW2vVw== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/text-area@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-8.13.13.tgz#7a805a47b77b1682700f671205644c79ab92ec12" - integrity sha512-nsI7/2CZ7ykH7x4ZTMwH8S0O+8jKpoTLp5moIE48rpJy6J+hy0kFy3IKrlpYPHQXgyXsUQNl5R/czUTRpcB0eQ== +"@dhis2-ui/text-area@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-8.13.14.tgz#13955706ec22f0ca8c6c05471db7f5624f974893" + integrity sha512-6WDx/ONOky0HbZkPlMi8vasMSTYHN9GkcW9FGW5pafh/WANaFjNKJFIXG7HhhxDIAztuqJKEUWXdYJzbl++Hog== dependencies: - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/status-icon" "8.13.13" + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/status-icon" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-icons" "8.13.13" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-icons" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/tooltip@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-8.13.13.tgz#c78504b415cd9c984fde911ef1de20a96b5e46cd" - integrity sha512-duL6xqSbYrxgaJkZZLWtPr82n52qQdfpElpTzMr9MwWNQZSGsoeAZqiJJxfAuwscmZXoQOYWgpzsRSHJBjpZQQ== +"@dhis2-ui/tooltip@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-8.13.14.tgz#d8cce8d28363d0fe02f9fc8482447fd4b5ac8cc1" + integrity sha512-fFiClJ2zk6UjYV/ezyJotW33e5FE4kV3WQ+qvYnWxEKJbboEEpURkrVdM6964Dg8F7NJYWzuBHxPf7ouU5qe2Q== dependencies: - "@dhis2-ui/popper" "8.13.13" - "@dhis2-ui/portal" "8.13.13" + "@dhis2-ui/popper" "8.13.14" + "@dhis2-ui/portal" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/transfer@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-8.13.13.tgz#277acad3907c3a68142ded4fc24b5579a3381d49" - integrity sha512-NpZs2BOpXAxcGKY3o51gGx4o3muIO+bMUGTwcf2p6ykInPn95SGDdTndhs9zQmvFPxCZ/6DRVqa3P3P/EtC2Kw== +"@dhis2-ui/transfer@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-8.13.14.tgz#4a8bb166e4e5fc489437b9191386ffeecfff05f9" + integrity sha512-jZJ2zV+0cx6EHRn00MsPGkSsEMOsQdSF55mWechGYUk0iZ3quw7shugXv88f0GHFO1ymzBSvJf5wQk1JJr5SEg== dependencies: - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/intersection-detector" "8.13.13" - "@dhis2-ui/loader" "8.13.13" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/intersection-detector" "8.13.14" + "@dhis2-ui/loader" "8.13.14" "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" -"@dhis2-ui/user-avatar@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-8.13.13.tgz#b728c613f128645f0afa2a3cba4711c9ce24f1d3" - integrity sha512-oQKQEnEmKVBYS0VYxbQLnRJytYUcbMX3FxanHqM3sE79zGceIoO57Vtyx4QyT+vZ0BhMadKqG6hVqPMy1HPjlA== +"@dhis2-ui/user-avatar@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-8.13.14.tgz#6d1ae79784ce4cefb61015a146c20c8b3c086eff" + integrity sha512-uV3kfkKPsjjW6qWmB44YC57EtR5ueFemusMXFi0DpFlUWrq26mnOghDklmmi6XSInPs6Lx0Xbe8kXIfvWKdB2A== dependencies: "@dhis2/prop-types" "^3.1.2" - "@dhis2/ui-constants" "8.13.13" + "@dhis2/ui-constants" "8.13.14" classnames "^2.3.1" prop-types "^15.7.2" @@ -2106,91 +2106,91 @@ resolved "https://registry.yarnpkg.com/@dhis2/prop-types/-/prop-types-3.1.2.tgz#65b8ad2da8cd2f72bc8b951049a6c9d1b97af3e9" integrity sha512-eM0jjLOWvtXWqSFp5YC4DHFpkP8Y1D2eUwGV7MBWjni+o27oesVan+oT7WHeOeLdlAd4acRJrnaaAyB4Ck1wGQ== -"@dhis2/ui-constants@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-8.13.13.tgz#816e1db142890d8470322bd3230c471ede14b0ac" - integrity sha512-3PEIv2tnwg3jOxblZl9NQ1P3etqyy9vV9eDrHgbTg+SxonEUzZeXCnNnMuTSrw+43WAWhCFcjHhvNiNhFCeP0g== +"@dhis2/ui-constants@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-8.13.14.tgz#847c866ba4f4b53a3eb257634495c6cb247e574a" + integrity sha512-O4nWL4oYesZGbeqEVDQLblKNQJf8q7QoUhz2TGPmty903ykeFlybnHfFCB2Fqui9I1bMyWlzTsEcZPx88VeINw== dependencies: prop-types "^15.7.2" -"@dhis2/ui-forms@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-8.13.13.tgz#fe9c2724d60aa7875d4b890004cdd451683a555a" - integrity sha512-fsEvSAiDVl+U6ByK1b513hMue446C7qO2JtYwOD2+h80t+rtTLmtthn1KfqScaLLF5tPg46yAi3GSpSMy2tHgg== - dependencies: - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/checkbox" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/file-input" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/radio" "8.13.13" - "@dhis2-ui/select" "8.13.13" - "@dhis2-ui/switch" "8.13.13" - "@dhis2-ui/text-area" "8.13.13" +"@dhis2/ui-forms@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-8.13.14.tgz#5eaaea876f8641d8632b2eb357211ced2e75bb30" + integrity sha512-xVCctpv4p1nR5P9Pk0qnyWkku10hziUH2cnefrscWV8+w3TWUcFF5ClLmYaoPFRHsiiKh+h8Ko6SAjC+1/zJKg== + dependencies: + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/checkbox" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/file-input" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/radio" "8.13.14" + "@dhis2-ui/select" "8.13.14" + "@dhis2-ui/switch" "8.13.14" + "@dhis2-ui/text-area" "8.13.14" "@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@8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-8.13.13.tgz#23bb9965ed1a509df76f49fa31e1aa1924d39183" - integrity sha512-ZaCzK/04b73IorZohrkp0Drv93MWhoGcf/0j7VUG3BzU158clcYdxIuRgiUI6vOGBVUIhMR6rINg/O15sy18Vg== - -"@dhis2/ui@^8.13.13": - version "8.13.13" - resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-8.13.13.tgz#c4d7755576feb42ba4e4ed4c05ae40ac416f8425" - integrity sha512-M1CHHHBx3lsVifp35INlG46N+Jcz6iGKLWFbVfMs451e+mBQovwvWb1INkVXjugNP1sWGz0nL2ZrguraPy7Knw== - dependencies: - "@dhis2-ui/alert" "8.13.13" - "@dhis2-ui/box" "8.13.13" - "@dhis2-ui/button" "8.13.13" - "@dhis2-ui/calendar" "8.13.13" - "@dhis2-ui/card" "8.13.13" - "@dhis2-ui/center" "8.13.13" - "@dhis2-ui/checkbox" "8.13.13" - "@dhis2-ui/chip" "8.13.13" - "@dhis2-ui/cover" "8.13.13" - "@dhis2-ui/css" "8.13.13" - "@dhis2-ui/divider" "8.13.13" - "@dhis2-ui/field" "8.13.13" - "@dhis2-ui/file-input" "8.13.13" - "@dhis2-ui/header-bar" "8.13.13" - "@dhis2-ui/help" "8.13.13" - "@dhis2-ui/input" "8.13.13" - "@dhis2-ui/intersection-detector" "8.13.13" - "@dhis2-ui/label" "8.13.13" - "@dhis2-ui/layer" "8.13.13" - "@dhis2-ui/legend" "8.13.13" - "@dhis2-ui/loader" "8.13.13" - "@dhis2-ui/logo" "8.13.13" - "@dhis2-ui/menu" "8.13.13" - "@dhis2-ui/modal" "8.13.13" - "@dhis2-ui/node" "8.13.13" - "@dhis2-ui/notice-box" "8.13.13" - "@dhis2-ui/organisation-unit-tree" "8.13.13" - "@dhis2-ui/pagination" "8.13.13" - "@dhis2-ui/popover" "8.13.13" - "@dhis2-ui/popper" "8.13.13" - "@dhis2-ui/portal" "8.13.13" - "@dhis2-ui/radio" "8.13.13" - "@dhis2-ui/required" "8.13.13" - "@dhis2-ui/segmented-control" "8.13.13" - "@dhis2-ui/select" "8.13.13" - "@dhis2-ui/selector-bar" "8.13.13" - "@dhis2-ui/sharing-dialog" "8.13.13" - "@dhis2-ui/switch" "8.13.13" - "@dhis2-ui/tab" "8.13.13" - "@dhis2-ui/table" "8.13.13" - "@dhis2-ui/tag" "8.13.13" - "@dhis2-ui/text-area" "8.13.13" - "@dhis2-ui/tooltip" "8.13.13" - "@dhis2-ui/transfer" "8.13.13" - "@dhis2-ui/user-avatar" "8.13.13" - "@dhis2/ui-constants" "8.13.13" - "@dhis2/ui-forms" "8.13.13" - "@dhis2/ui-icons" "8.13.13" +"@dhis2/ui-icons@8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-8.13.14.tgz#f17510ddc990e80fefbbefb4e54ed3bd0c37c4e7" + integrity sha512-jDHAPHyKcpu7CvjiZZ2LSJknVEw1o5Jd6ScmFCyHDsHg6NsD0FsHDWlGNQC0HXrQ6A8U3IkiFS+FMGlcrUL2jg== + +"@dhis2/ui@^8.13.14": + version "8.13.14" + resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-8.13.14.tgz#fd7f848c045df513797e5b2cbec375d465366faa" + integrity sha512-7BoesuTXgudSw49P2k0zwmCifEjm1iE6GYxjIW3ICg9EIoT+uW67CXUTfHpMcUeK4vL3s+LfCwI9y6nguAyQmA== + dependencies: + "@dhis2-ui/alert" "8.13.14" + "@dhis2-ui/box" "8.13.14" + "@dhis2-ui/button" "8.13.14" + "@dhis2-ui/calendar" "8.13.14" + "@dhis2-ui/card" "8.13.14" + "@dhis2-ui/center" "8.13.14" + "@dhis2-ui/checkbox" "8.13.14" + "@dhis2-ui/chip" "8.13.14" + "@dhis2-ui/cover" "8.13.14" + "@dhis2-ui/css" "8.13.14" + "@dhis2-ui/divider" "8.13.14" + "@dhis2-ui/field" "8.13.14" + "@dhis2-ui/file-input" "8.13.14" + "@dhis2-ui/header-bar" "8.13.14" + "@dhis2-ui/help" "8.13.14" + "@dhis2-ui/input" "8.13.14" + "@dhis2-ui/intersection-detector" "8.13.14" + "@dhis2-ui/label" "8.13.14" + "@dhis2-ui/layer" "8.13.14" + "@dhis2-ui/legend" "8.13.14" + "@dhis2-ui/loader" "8.13.14" + "@dhis2-ui/logo" "8.13.14" + "@dhis2-ui/menu" "8.13.14" + "@dhis2-ui/modal" "8.13.14" + "@dhis2-ui/node" "8.13.14" + "@dhis2-ui/notice-box" "8.13.14" + "@dhis2-ui/organisation-unit-tree" "8.13.14" + "@dhis2-ui/pagination" "8.13.14" + "@dhis2-ui/popover" "8.13.14" + "@dhis2-ui/popper" "8.13.14" + "@dhis2-ui/portal" "8.13.14" + "@dhis2-ui/radio" "8.13.14" + "@dhis2-ui/required" "8.13.14" + "@dhis2-ui/segmented-control" "8.13.14" + "@dhis2-ui/select" "8.13.14" + "@dhis2-ui/selector-bar" "8.13.14" + "@dhis2-ui/sharing-dialog" "8.13.14" + "@dhis2-ui/switch" "8.13.14" + "@dhis2-ui/tab" "8.13.14" + "@dhis2-ui/table" "8.13.14" + "@dhis2-ui/tag" "8.13.14" + "@dhis2-ui/text-area" "8.13.14" + "@dhis2-ui/tooltip" "8.13.14" + "@dhis2-ui/transfer" "8.13.14" + "@dhis2-ui/user-avatar" "8.13.14" + "@dhis2/ui-constants" "8.13.14" + "@dhis2/ui-forms" "8.13.14" + "@dhis2/ui-icons" "8.13.14" prop-types "^15.7.2" "@eslint-community/eslint-utils@^4.2.0": From eab07eca9d973be89fb437efffa118b7c51a6985 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 01:12:34 +0000 Subject: [PATCH 3/5] chore(deps-dev): bump @testing-library/jest-dom from 5.16.5 to 5.17.0 (#171) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.5 to 5.17.0. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.5...v5.17.0) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 68542e53..3dfc2034 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "devDependencies": { "@dhis2/cli-style": "^10.5.1", "@ls-lint/ls-lint": "^2.0.1", - "@testing-library/jest-dom": "^5.16.5", + "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", "@types/jest": "^29.5.3", diff --git a/yarn.lock b/yarn.lock index 38923b8c..2dd673d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2892,10 +2892,10 @@ lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/jest-dom@^5.16.5": - version "5.16.5" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== +"@testing-library/jest-dom@^5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz#5e97c8f9a15ccf4656da00fecab505728de81e0c" + integrity sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg== dependencies: "@adobe/css-tools" "^4.0.1" "@babel/runtime" "^7.9.2" From 87b611836fa2d82339eda51bd191bab18779740d Mon Sep 17 00:00:00 2001 From: TonsV2 Date: Thu, 20 Jul 2023 02:10:51 +0800 Subject: [PATCH 4/5] refactor: implement upload button --- src/views/databases/databases-list.tsx | 21 ++------------- src/views/databases/upload-button.tsx | 26 +++++++++++++++++++ src/views/databases/upload-database-modal.tsx | 11 +++++++- 3 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 src/views/databases/upload-button.tsx diff --git a/src/views/databases/databases-list.tsx b/src/views/databases/databases-list.tsx index 198d19e4..f58c6c9c 100644 --- a/src/views/databases/databases-list.tsx +++ b/src/views/databases/databases-list.tsx @@ -1,5 +1,4 @@ import { - Button, ButtonStrip, DataTable, DataTableBody as TableBody, @@ -8,7 +7,6 @@ import { DataTableHead as TableHead, DataTableRow, DataTableToolbar as TableToolbar, - IconAdd24, } from '@dhis2/ui' import Moment from 'react-moment' import { useAuthAxios } from '../../hooks' @@ -17,21 +15,9 @@ import { DeleteButton } from './delete-button' import { DownloadButton } from './download-button' import styles from './databases-list.module.css' import type { FC } from 'react' -import { useState } from 'react' -import { UploadDatabaseModal } from './upload-database-modal' +import { UploadButton } from './upload-button' export const DatabasesList: FC = () => { - const [showUploadDatabaseModal, setShowUploadDatabaseModal] = useState(false) - - const onClose = () => { - setShowUploadDatabaseModal(false) - } - - const onUploadDatabaseComplete = () => { - setShowUploadDatabaseModal(false) - refetch() - } - const [{ data }, refetch] = useAuthAxios('databases', { useCache: false, }) @@ -40,9 +26,7 @@ export const DatabasesList: FC = () => {

Databases

- +
{data?.map((group) => ( @@ -81,7 +65,6 @@ export const DatabasesList: FC = () => {
))} - {showUploadDatabaseModal && } ) } diff --git a/src/views/databases/upload-button.tsx b/src/views/databases/upload-button.tsx new file mode 100644 index 00000000..1c11b84f --- /dev/null +++ b/src/views/databases/upload-button.tsx @@ -0,0 +1,26 @@ +import { Button, IconAdd24 } from '@dhis2/ui' +import type { FC } from 'react' +import { useState } from 'react' +import { UploadDatabaseModal } from './upload-database-modal' + +type UploadButtonProps = { + onComplete: Function +} + +export const UploadButton: FC = ({ onComplete }) => { + const [showModal, setShowModal] = useState(false) + + const complete = () => { + setShowModal(false) + onComplete() + } + + return ( + <> + + {showModal && setShowModal(false)} onComplete={complete} />} + + ) +} diff --git a/src/views/databases/upload-database-modal.tsx b/src/views/databases/upload-database-modal.tsx index 3474acd4..72fd0f84 100644 --- a/src/views/databases/upload-database-modal.tsx +++ b/src/views/databases/upload-database-modal.tsx @@ -51,6 +51,15 @@ export const UploadDatabaseModal: FC = ({ onClose, onC ) const onUpload = useCallback(async () => { + // TODO: How do I disable the upload button until a file is selected + if (databaseFile.size === 0) { + showAlert({ + message: 'No file selected', + isCritical: true, + }) + return + } + try { const formData = new FormData() formData.append('group', group) @@ -118,7 +127,7 @@ export const UploadDatabaseModal: FC = ({ onClose, onC - From 0ede31e1e5c08d3c5ef88a4240fbf8a234f9ec8b Mon Sep 17 00:00:00 2001 From: TonsV2 Date: Thu, 20 Jul 2023 03:34:48 +0800 Subject: [PATCH 5/5] refactor: don't export modal --- src/views/databases/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/databases/index.ts b/src/views/databases/index.ts index 1aebf8e8..62287aa3 100644 --- a/src/views/databases/index.ts +++ b/src/views/databases/index.ts @@ -1,2 +1 @@ export { DatabasesList } from './databases-list' -export { UploadDatabaseModal } from './upload-database-modal'