diff --git a/i18n/en.pot b/i18n/en.pot
index f77f727..f3cc6aa 100644
--- a/i18n/en.pot
+++ b/i18n/en.pot
@@ -5,15 +5,90 @@ 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-30T16:31:03.946Z\n"
-"PO-Revision-Date: 2024-11-30T16:31:03.947Z\n"
+"POT-Creation-Date: 2024-12-05T03:27:06.316Z\n"
+"PO-Revision-Date: 2024-12-05T03:27:06.317Z\n"
-msgid "ERROR"
-msgstr "ERROR"
+msgid "View keys"
+msgstr "View keys"
+
+msgid "Click a namespace to view its keys"
+msgstr "Click a namespace to view its keys"
+
+msgid "Add New Key"
+msgstr "Add New Key"
+
+msgid "Add New Namespace"
+msgstr "Add New Namespace"
+
+msgid "Namespace"
+msgstr "Namespace"
+
+msgid "Key"
+msgstr "Key"
+
+msgid "Cancel"
+msgstr "Cancel"
+
+msgid "Add Key"
+msgstr "Add Key"
+
+msgid "Add Namespace"
+msgstr "Add Namespace"
+
+msgid "Key created successfully"
+msgstr "Key created successfully"
+
+msgid "There was an error creating the key"
+msgstr "There was an error creating the key"
+
+msgid "Add new namespace"
+msgstr "Add new namespace"
+
+msgid "New namespace"
+msgstr "New namespace"
+
+msgid "Add new key"
+msgstr "Add new key"
+
+msgid "New key"
+msgstr "New key"
+
+msgid "Delete"
+msgstr "Delete"
+
+msgid "Failed to fetch key values!"
+msgstr "Failed to fetch key values!"
+
+msgid "Key successfully updated"
+msgstr "Key successfully updated"
+
+msgid "There was an error updating the key"
+msgstr "There was an error updating the key"
+
+msgid "Loading"
+msgstr "Loading"
+
+msgid "Save changes"
+msgstr "Save changes"
+
+msgid "Key deleted successfully"
+msgstr "Key deleted successfully"
+
+msgid "There was an error deleting the key"
+msgstr "There was an error deleting the key"
+
+msgid "There was an error while deleting the key"
+msgstr "There was an error while deleting the key"
+
+msgid "Error fetching namespaces"
+msgstr "Error fetching namespaces"
msgid "Namespaces"
msgstr "Namespaces"
+msgid "This will delete all the keys in this namespace"
+msgstr "This will delete all the keys in this namespace"
+
msgid "DataStore"
msgstr "DataStore"
@@ -23,5 +98,11 @@ msgstr "User DataStore"
msgid "Search"
msgstr "Search"
-msgid "Namespace"
-msgstr "Namespace"
+msgid "An error has occurred"
+msgstr "An error has occurred"
+
+msgid "Back"
+msgstr "Back"
+
+msgid "Back to DataStore"
+msgstr "Back to DataStore"
diff --git a/package.json b/package.json
index 5348395..3b66491 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,9 @@
"typescript": "^5"
},
"dependencies": {
+ "@codemirror/lang-json": "^6.0.1",
"@dhis2/app-runtime": "^3.11.3",
- "@dhis2/ui": "^10.1.0",
+ "@uiw/react-codemirror": "^4.23.6",
"prop-types": "^15.8.1"
}
}
diff --git a/src/App.module.css b/src/App.module.css
index e219a95..97f1344 100644
--- a/src/App.module.css
+++ b/src/App.module.css
@@ -6,6 +6,15 @@
font-size: 1rem;
}
+.top {
+ margin-top: 0.5em;
+}
+
+.bottom {
+ margin-bottom: 0.5em;
+}
+
+/* sidebar */
.sidebar {
width: 20%;
margin: 0.1em;
@@ -16,35 +25,47 @@
width: 20%;
}
-.sidebarList {
- margin-top: 1em;
+.sidebarList h4 {
+ padding: 0;
+ margin: 0.5em;
}
.sidebarList ul {
- list-style-type: 'none';
margin: 0;
padding: 0;
}
-.top {
- margin-top: 0.5em;
+.select {
+ height: 70px;
+ padding: 0;
+ margin: 0;
}
-.bottom {
- margin-bottom: 0.5em;
-}
+/* main area */
.main {
width: 80%;
margin: 0.1em;
}
+/* --- keys */
+
.keysTable {
margin-top: 10px;
padding: 0.2em;
}
+/* nav link */
+
/* sourced and adapted from https://github.com/dhis2/design-specs/blob/b65e6518dcc7c16733379cd80688e67a422fc742/src/components/sidenav.css#L73 (-> 104) */
+.navLink {
+ display: grid;
+ grid-template-columns: 2.5fr 0.5fr;
+}
+
+.navLink button {
+ border: 0;
+}
.navLink a {
display: block;
@@ -77,3 +98,16 @@
.navLink.active:hover {
background: var(--colors-grey300);
}
+
+/* Toolbar */
+.toolbar {
+ margin-top: 5px;
+ height: 70px;
+ display: flex;
+ flex-direction: row;
+}
+
+.toolbar button {
+ align-self: center;
+ margin: 0 0 0 15px;
+}
diff --git a/src/App.test.tsx b/src/App.test.tsx
deleted file mode 100644
index e1dbed0..0000000
--- a/src/App.test.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { CustomDataProvider } from '@dhis2/app-runtime'
-import React from 'react'
-import { createRoot } from 'react-dom/client'
-import App from './App'
-
-it('renders without crashing', () => {
- const container = document.createElement('div')
-
- const data = {
- resource: 'test',
- }
-
- const root = createRoot(container)
- root.render(
-
-
-
- )
-
- root.unmount()
-})
diff --git a/src/App.tsx b/src/App.tsx
index bdfee63..aa18058 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,7 @@
import React, { FC } from 'react'
import { RouterProvider } from 'react-router-dom'
-import AppWrapper from './components/AppWrapper'
-import { router } from './routes/Router'
+import AppWrapper from './components/appWrapper'
+import { router } from './routes/router'
const App: FC = () => {
return (
diff --git a/src/components/EmptyArea.tsx b/src/components/EmptyArea.tsx
index 3406a18..aaf7687 100644
--- a/src/components/EmptyArea.tsx
+++ b/src/components/EmptyArea.tsx
@@ -1,19 +1,17 @@
-import { Center } from '@dhis2/ui'
+import { Center, NoticeBox } from '@dhis2/ui'
import React from 'react'
import { useParams } from 'react-router-dom'
+import i18n from '../locales'
const EmptyArea = () => {
const { store, namespace } = useParams()
return (
<>
- {!store && (
-
- Select a datastore to show namespaces
-
- )}
{store && !namespace && (
- Click a namespace to show keys
+
+ {i18n.t('Click a namespace to view its keys')}
+
)}
>
diff --git a/src/components/Error.tsx b/src/components/Error.tsx
new file mode 100644
index 0000000..4f6883e
--- /dev/null
+++ b/src/components/Error.tsx
@@ -0,0 +1,74 @@
+import { Card, Center, NoticeBox } from '@dhis2/ui'
+import React from 'react'
+import { Link, isRouteErrorResponse, useRouteError } from 'react-router-dom'
+import i18n from '../locales'
+
+interface Error {
+ status?: number
+ statusText?: string
+ internal?: boolean
+ data?: string
+ message?: string
+}
+
+type PassedErrorProps = {
+ err?: {
+ httpStatus?: string
+ httpStatusCode?: number
+ status?: string
+ message?: string
+ errorCode?: string
+ }
+}
+
+export default function Error({ err }: PassedErrorProps) {
+ const error: Error = useRouteError()
+
+ return (
+
+
+
+
+ {isRouteErrorResponse(error) ? (
+ <>
+
+
+ {error.status} {error.statusText}{' '}
+
+ - {error.data}
+
+ Back to datastore
+ >
+ ) : (
+
+
+ {error.status} {error.statusText}{' '}
+
+ {error?.message && (
+ - {error.message}
+ )}
+
+ )}
+ {err && (
+
+
+ {err.httpStatusCode} {err.httpStatus}{' '}
+
+ {err?.message && - {err.message}}
+
+ )}
+
+
+
+
+ )
+}
diff --git a/src/components/create/CreateModal.tsx b/src/components/create/CreateModal.tsx
new file mode 100644
index 0000000..dc12481
--- /dev/null
+++ b/src/components/create/CreateModal.tsx
@@ -0,0 +1,80 @@
+import {
+ Modal,
+ ModalTitle,
+ ModalContent,
+ ModalActions,
+ Button,
+ ButtonStrip,
+ InputField,
+} from '@dhis2/ui'
+import PropTypes from 'prop-types'
+import React from 'react'
+import i18n from '../../locales'
+
+const CreateModal = ({
+ addNewKey,
+ addNewNamespace,
+ createFn,
+ values,
+ setValues,
+ closeModal,
+}) => {
+ return (
+
+
+ {addNewKey && i18n.t('Add New Key')}
+ {addNewNamespace && i18n.t('Add New Namespace')}
+
+
+ {addNewNamespace && (
+ {
+ setValues({
+ ...values,
+ ['namespace']: value,
+ })
+ }}
+ />
+ )}
+ {
+ setValues({
+ ...values,
+ ['key']: value,
+ })
+ }}
+ />
+
+
+
+
+
+
+
+
+ )
+}
+
+CreateModal.propTypes = {
+ addNewKey: PropTypes.bool,
+ addNewNamespace: PropTypes.bool,
+ closeModal: PropTypes.func,
+ createFn: PropTypes.func,
+ setValues: PropTypes.func,
+ values: PropTypes.object,
+}
+
+export default CreateModal
diff --git a/src/components/create/Toolbar.tsx b/src/components/create/Toolbar.tsx
new file mode 100644
index 0000000..172b5f6
--- /dev/null
+++ b/src/components/create/Toolbar.tsx
@@ -0,0 +1,112 @@
+import { useDataEngine } from '@dhis2/app-service-data'
+import { Button, Divider } from '@dhis2/ui'
+import React, { useState } from 'react'
+import { useNavigate, useParams } from 'react-router-dom'
+import classes from '../../App.module.css'
+import useCustomAlert from '../../hooks/useCustomAlert'
+import i18n from '../../locales'
+import CreateModal from './CreateModal'
+
+const Toolbar = () => {
+ const { store, namespace } = useParams()
+ const engine = useDataEngine()
+ const navigate = useNavigate()
+
+ const [addNewNamespace, setAddNewNamespace] = useState(false)
+ const [addNewKey, setAddNewKey] = useState(false)
+ const [values, setValues] = useState({})
+
+ const { showSuccess, showError } = useCustomAlert()
+
+ const handleAddNamespaceOrKey = async (values: {
+ namespace?: string
+ key?: unknown
+ }) => {
+ let resource = ''
+ if (addNewNamespace) {
+ resource = `${store}/${values?.namespace}/${values?.key}`
+ } else if (addNewKey) {
+ resource = `${store}/${namespace}/${values?.key}`
+ }
+
+ await engine.mutate(
+ {
+ type: 'create',
+ resource,
+ data: () => ({}),
+ },
+ {
+ onComplete: () => {
+ let url = ''
+ if (addNewNamespace) {
+ url = `${store}/edit/${values?.namespace}/${values?.key}`
+ } else if (addNewKey) {
+ url = `${store}/edit/${namespace}/${values?.key}`
+ }
+ const message = i18n.t('Key created successfully')
+ showSuccess(message)
+ navigate(url)
+ setValues({})
+ },
+ onError: () => {
+ const message = i18n.t(
+ 'There was an error creating the key'
+ )
+ showError(message)
+ },
+ }
+ )
+ closeModal()
+ }
+
+ const closeModal = () => {
+ setAddNewKey(false)
+ setAddNewNamespace(false)
+ }
+
+ return (
+ <>
+ {store && (
+ <>
+
+
+ {namespace && (
+
+ )}
+
+
+ >
+ )}
+ {(addNewKey || addNewNamespace) && (
+
+ )}
+ >
+ )
+}
+
+export default Toolbar
diff --git a/src/components/delete/DeleteButton.tsx b/src/components/delete/DeleteButton.tsx
new file mode 100644
index 0000000..a2fe5e6
--- /dev/null
+++ b/src/components/delete/DeleteButton.tsx
@@ -0,0 +1,21 @@
+import { Button } from '@dhis2-ui/button'
+import PropTypes from 'prop-types'
+import React from 'react'
+import i18n from '../../locales'
+
+export default function DeleteButton({ openModal }) {
+ return (
+
+ )
+}
+
+DeleteButton.propTypes = {
+ openModal: PropTypes.func,
+}
diff --git a/src/components/delete/DeleteModal.tsx b/src/components/delete/DeleteModal.tsx
new file mode 100644
index 0000000..14ef64c
--- /dev/null
+++ b/src/components/delete/DeleteModal.tsx
@@ -0,0 +1,36 @@
+import {
+ Modal,
+ ModalContent,
+ ModalActions,
+ Button,
+ ButtonStrip,
+} from '@dhis2/ui'
+import PropTypes from 'prop-types'
+import React from 'react'
+import i18n from '../../locales'
+
+const DeleteModal = ({ children, deleteFn, closeModal }) => {
+ return (
+
+ {children}
+
+
+
+
+
+
+
+ )
+}
+
+DeleteModal.propTypes = {
+ children: PropTypes.node,
+ closeModal: PropTypes.func,
+ deleteFn: PropTypes.func,
+}
+
+export default DeleteModal
diff --git a/src/components/edit/Edit.tsx b/src/components/edit/Edit.tsx
new file mode 100644
index 0000000..3591c9c
--- /dev/null
+++ b/src/components/edit/Edit.tsx
@@ -0,0 +1,120 @@
+import { useDataMutation, useDataQuery } from '@dhis2/app-runtime'
+import { Button } from '@dhis2-ui/button'
+import React, { useEffect, useState } from 'react'
+import { useParams } from 'react-router-dom'
+import useCustomAlert from '../../hooks/useCustomAlert'
+import i18n from '../../locales'
+import Error from '../Error'
+import Editor from './Editor'
+
+const modifyKeyMutation = ({ store }) => ({
+ type: 'update' as const,
+ resource: `${store}`,
+ id: ({ key, namespace }: { key: string; namespace: string }) =>
+ `${namespace}/${key}`,
+ data: ({ value }) => JSON.parse(value),
+})
+
+const keyValuesQuery = ({ store }: { store: string }) => ({
+ results: {
+ resource: `${store}`,
+ id: ({ key, namespace }: { key: string; namespace: string }) =>
+ `${namespace}/${key}`,
+ },
+})
+
+const Edit = () => {
+ const { key, namespace, store } = useParams()
+ const { showSuccess, showError } = useCustomAlert()
+
+ const {
+ data,
+ loading: queryLoading,
+ error,
+ refetch,
+ } = useDataQuery(keyValuesQuery({ store }), {
+ variables: {
+ key,
+ namespace,
+ },
+ })
+
+ const [value, setValue] = useState(
+ JSON.stringify(data?.results, null, 4) || ''
+ )
+
+ const [updateKey, { loading }] = useDataMutation(
+ // @ts-expect-error("")
+ modifyKeyMutation({ store }),
+ {
+ onComplete: () => {
+ const message = i18n.t('Key successfully updated')
+ showSuccess(message)
+ },
+ onError: () => {
+ const message = i18n.t('There was an error updating the key')
+ showError(message)
+ },
+ }
+ )
+
+ const handleEditorChange = (value) => {
+ setValue(value)
+ }
+
+ useEffect(() => {
+ setValue(JSON.stringify(data?.results, null, 4))
+ }, [data])
+
+ useEffect(() => {
+ refetch({ key, namespace })
+ }, [key, namespace, store, refetch])
+
+ if (error) {
+ // throw new Response(error.message, {
+ // status: error.details.httpStatusCode,
+ // statusText: error.details.httpStatus,
+ // })
+ return
+ }
+
+ const loadingText = i18n.t('Loading')
+
+ return (
+
+
+
+
+
+
+ )
+}
+
+export default Edit
diff --git a/src/components/edit/Editor.tsx b/src/components/edit/Editor.tsx
new file mode 100644
index 0000000..fa6ea01
--- /dev/null
+++ b/src/components/edit/Editor.tsx
@@ -0,0 +1,22 @@
+import { json } from '@codemirror/lang-json'
+import CodeMirror from '@uiw/react-codemirror'
+import PropTypes from 'prop-types'
+import React from 'react'
+
+const Editor = ({ value, handleChange }) => {
+ return (
+
+ )
+}
+
+Editor.propTypes = {
+ handleChange: PropTypes.func,
+ value: PropTypes.string,
+}
+
+export default Editor
diff --git a/src/components/keys/Keys.tsx b/src/components/keys/Keys.tsx
new file mode 100644
index 0000000..b44519b
--- /dev/null
+++ b/src/components/keys/Keys.tsx
@@ -0,0 +1,10 @@
+import React from 'react'
+import KeysTable from './keysTable'
+
+export default function Keys() {
+ return (
+
+
+
+ )
+}
diff --git a/src/components/keys/keysTable.tsx b/src/components/keys/keysTable.tsx
index 0f6266d..17b8b81 100644
--- a/src/components/keys/keysTable.tsx
+++ b/src/components/keys/keysTable.tsx
@@ -1,4 +1,4 @@
-import { useDataQuery } from '@dhis2/app-runtime'
+import { useDataEngine, useDataQuery } from '@dhis2/app-runtime'
import {
DataTable,
DataTableCell,
@@ -7,69 +7,161 @@ import {
TableBody,
TableHead,
} from '@dhis2/ui'
-import React, { useEffect } from 'react'
-import { useParams } from 'react-router-dom'
+import React, { useEffect, useState } from 'react'
+import { useNavigate, useParams } from 'react-router-dom'
import classes from '../../App.module.css'
+import useCustomAlert from '../../hooks/useCustomAlert'
+import i18n from '../../locales'
+import DeleteButton from '../delete/DeleteButton'
+import DeleteModal from '../delete/DeleteModal'
+import Error from '../Error'
import CenteredLoader from '../Loader'
interface QueryResults {
results: []
}
-const useNameSpaceQuery = ({ store, namespace }) => {
- return useDataQuery(
- {
- results: {
- resource: `${store}`,
- id: ({ id }) => id,
- },
- },
+const fetchNamespaceQuery = ({ store }) => ({
+ results: {
+ resource: `${store}`,
+ id: ({ id }) => id,
+ },
+})
+
+const KeysTable = () => {
+ const { store, namespace } = useParams()
+ const navigate = useNavigate()
+ const engine = useDataEngine()
+ const { showError, showSuccess } = useCustomAlert()
+
+ const { data, loading, refetch, error } = useDataQuery(
+ fetchNamespaceQuery({ store }),
{
variables: {
id: namespace,
},
}
)
-}
-const KeysTable = () => {
- const { store, namespace } = useParams()
- const { data, loading, refetch } = useNameSpaceQuery({ store, namespace })
+ const [deleteNamespace, setDeleteNamespace] = useState(false)
+ const [selectedKey, setSelectedKey] = useState('')
+ const [openModal, setOpenModal] = useState(false)
useEffect(() => {
refetch({ id: namespace })
}, [namespace])
+ const handleDeleteAction = async (key) => {
+ await engine.mutate(
+ {
+ type: 'delete',
+ resource: `${store}/${namespace}`,
+ id: key,
+ },
+ {
+ onComplete: () => {
+ const message = i18n.t('Key deleted successfully')
+ showSuccess(message)
+ },
+ onError: (error) => {
+ const message = i18n.t(
+ 'There was an error deleting the key',
+ {
+ error: error.message,
+ }
+ )
+ showError(message)
+ },
+ }
+ )
+ setOpenModal(false)
+
+ if (deleteNamespace) {
+ navigate(`/${store}`)
+ } else {
+ refetch({ id: namespace })
+ }
+ }
+
if (loading) {
return
}
+ if (error) {
+ // throw new Response(error.message, {
+ // status: error.details.httpStatusCode,
+ // statusText: error.details.httpStatus,
+ // })
+ return
+ }
+
return (
-
-
-
- Keys
- Actions
-
-
-
- {data?.results?.length && (
- <>
- {data.results.map((key, index) => (
-
-
- {key}
-
-
- Edit, Delete
-
-
- ))}
- >
+ {data && (
+
+
+
+ Keys
+
+ Actions
+
+
+
+
+ {data?.results?.length && (
+ <>
+ {data.results.map((key, index) => {
+ const handleClick = () => {
+ const url = `/${store}/edit/${namespace}/${key}`
+ navigate(url)
+ }
+ return (
+
+
+ {key}
+
+
+ {
+ setOpenModal(true)
+ setDeleteNamespace(
+ data?.results
+ ?.length < 2
+ )
+ setSelectedKey(key)
+ }}
+ />
+
+
+ )
+ })}
+ >
+ )}
+
+
+ )}
+ {openModal && (
+ handleDeleteAction(selectedKey)}
+ closeModal={() => setOpenModal(false)}
+ >
+
+ {i18n.t(
+ `Are you sure you want to delete '${selectedKey}' in ${namespace}?`
+ )}
+
+ {deleteNamespace && (
+
+ {i18n.t(
+ `This will also delete the namespace '${namespace}'`
+ )}
+
)}
-
-
+
+ )}
)
}
diff --git a/src/components/namespaces/DataStoreLinks.tsx b/src/components/namespaces/DataStoreLinks.tsx
deleted file mode 100644
index e84b448..0000000
--- a/src/components/namespaces/DataStoreLinks.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import { useDataQuery } from '@dhis2/app-runtime'
-import PropTypes from 'prop-types'
-import React from 'react'
-import LinksList from './LinksList'
-
-interface QueryResults {
- results: []
-}
-
-const dataStoreQuery = {
- results: {
- resource: 'dataStore',
- },
-}
-
-function DataStoreLinks({ store }) {
- const { error, loading, data } = useDataQuery(dataStoreQuery)
-
- return (
-
- )
-}
-
-DataStoreLinks.propTypes = {
- store: PropTypes.string,
-}
-
-export default DataStoreLinks
diff --git a/src/components/namespaces/LinksList.tsx b/src/components/namespaces/LinksList.tsx
index ec055e4..c866f20 100644
--- a/src/components/namespaces/LinksList.tsx
+++ b/src/components/namespaces/LinksList.tsx
@@ -1,14 +1,60 @@
+import { useDataEngine } from '@dhis2/app-service-data'
import PropTypes from 'prop-types'
-import React from 'react'
+import React, { useEffect, useState } from 'react'
+import { useNavigate, useParams } from 'react-router-dom'
import classes from '../../App.module.css'
+import useCustomAlert from '../../hooks/useCustomAlert'
import i18n from '../../locales'
+import DeleteModal from '../delete/DeleteModal'
import CenteredLoader from '../Loader'
import SidebarNavLink from '../sidebar/SidebarNavLink'
-function LinksList({ data, error, loading, store }) {
+function LinksList({ data, error, loading, refetchList }) {
+ const { store, namespace, key } = useParams()
+ const [openModal, setOpenModal] = useState(false)
+ const [selectedNamespace, setSelectedNamespace] = useState('')
+ const engine = useDataEngine()
+ const navigate = useNavigate()
+ const { showError, showSuccess } = useCustomAlert()
+
+ const handleDeleteAction = async (selectedNamespace) => {
+ await engine.mutate(
+ {
+ type: 'delete',
+ resource: `${store}/${selectedNamespace}`,
+ id: key,
+ },
+ {
+ onComplete: () => {
+ const message = i18n.t('Key deleted successfully', {
+ key,
+ })
+ showSuccess(message)
+ },
+ onError: (error) => {
+ const message = i18n.t(
+ 'There was an error while deleting the key',
+ {
+ error: error.message,
+ }
+ )
+ showError(message)
+ },
+ }
+ )
+
+ setOpenModal(false)
+ refetchList()
+ navigate(`${store}`)
+ }
+
+ useEffect(() => {
+ refetchList()
+ }, [store, namespace, key])
+
return (
- {error &&
{i18n.t('ERROR')}}
+ {error &&
{i18n.t('Error fetching namespaces')}}
{loading &&
}
{data && (
<>
@@ -18,14 +64,35 @@ function LinksList({ data, error, loading, store }) {
return (
{
+ setOpenModal(true)
+ setSelectedNamespace(namespace)
+ }}
/>
)
})}
>
)}
+ {openModal && (
+ handleDeleteAction(selectedNamespace)}
+ closeModal={() => setOpenModal(false)}
+ >
+
+ {i18n.t(
+ `Are you sure you want to delete '${namespace}'?`
+ )}
+
+
+ {i18n.t(
+ `This will delete all the keys in this namespace`
+ )}
+
+
+ )}
)
}
@@ -34,7 +101,7 @@ LinksList.propTypes = {
data: PropTypes.object,
error: PropTypes.any,
loading: PropTypes.any,
- store: PropTypes.string,
+ refetchList: PropTypes.func,
}
export default LinksList
diff --git a/src/components/namespaces/NamespacesLinks.tsx b/src/components/namespaces/NamespacesLinks.tsx
deleted file mode 100644
index a8aed92..0000000
--- a/src/components/namespaces/NamespacesLinks.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from 'react'
-import { useParams } from 'react-router-dom'
-import DataStoreLinks from './DataStoreLinks'
-import UserDataStoreLinks from './UserDataStoreLinks'
-
-const NameSpaceLinks = () => {
- const { store } = useParams()
-
- if (store === 'userDataStore') {
- return
- }
-
- if (store === 'dataStore') {
- return
- }
-}
-
-export default NameSpaceLinks
diff --git a/src/components/namespaces/UserDataStoreLinks.tsx b/src/components/namespaces/UserDataStoreLinks.tsx
deleted file mode 100644
index c6b0fdd..0000000
--- a/src/components/namespaces/UserDataStoreLinks.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { useDataQuery } from '@dhis2/app-runtime'
-import PropTypes from 'prop-types'
-import React from 'react'
-import LinksList from './LinksList'
-
-interface QueryResults {
- results: []
-}
-
-const userDataStoreQuery = {
- results: {
- resource: 'userDataStore',
- },
-}
-
-function UserDataStoreLinks({ store }) {
- const { error, loading, data } =
- useDataQuery(userDataStoreQuery)
-
- return (
-
- )
-}
-
-UserDataStoreLinks.propTypes = {
- store: PropTypes.string,
-}
-
-export default UserDataStoreLinks
diff --git a/src/components/sidebar/DataStoreSelect.tsx b/src/components/sidebar/DataStoreSelect.tsx
index 5fa46da..62fd8e4 100644
--- a/src/components/sidebar/DataStoreSelect.tsx
+++ b/src/components/sidebar/DataStoreSelect.tsx
@@ -1,12 +1,11 @@
import { SingleSelectField, SingleSelectOption } from '@dhis2/ui'
import PropTypes from 'prop-types'
import React from 'react'
-import classes from '../../App.module.css'
import i18n from '../../locales'
const DataStoreSelect = ({ option, handleChange }) => {
return (
-
+
{
+const SidebarNavLink = ({ to, label, handleDeleteModal }) => {
return (
{
>
{label}
+ }
+ name="delete button"
+ onClick={handleDeleteModal}
+ title="Delete"
+ />
)
}
SidebarNavLink.propTypes = {
+ handleDeleteModal: PropTypes.func,
label: PropTypes.string,
to: PropTypes.string,
}
diff --git a/src/components/sidebar/sidebar.tsx b/src/components/sidebar/sidebar.tsx
index 568ac7a..106830a 100644
--- a/src/components/sidebar/sidebar.tsx
+++ b/src/components/sidebar/sidebar.tsx
@@ -1,15 +1,55 @@
+import { useDataQuery } from '@dhis2/app-service-data'
import { Card, Divider } from '@dhis2/ui'
-import React, { useState } from 'react'
+import React, { useEffect, useState } from 'react'
import { useNavigate, useParams } from 'react-router-dom'
import classes from '../../App.module.css'
-import NameSpaceLinks from '../namespaces/NamespacesLinks'
+import LinksList from '../namespaces/LinksList'
import DataStoreSelect from './DataStoreSelect'
-import SearchField from './SearchField'
+// import SearchField from './SearchField'
+
+interface QueryResults {
+ results: []
+}
+
+const userDataStoreQuery = {
+ results: {
+ resource: 'userDataStore',
+ },
+}
+
+const dataStoreQuery = {
+ results: {
+ resource: 'dataStore',
+ },
+}
const Sidebar = () => {
const navigate = useNavigate()
const { store } = useParams()
- const [option, setOption] = useState(store)
+ const [option, setOption] = useState(store || '')
+
+ const {
+ error: dataStoreQueryError,
+ loading: dataStoreQueryLoading,
+ data: dataStoreQueryData,
+ refetch: refetchDataStore,
+ } = useDataQuery(dataStoreQuery)
+
+ const {
+ error: userDataStoreQueryError,
+ loading: userDataStoreQueryLoading,
+ data: userDataStoreQueryData,
+ refetch: refetchUserDataStore,
+ } = useDataQuery(userDataStoreQuery)
+
+ useEffect(() => {
+ const storeOptions = ['dataStore', 'userDataStore']
+ if (!storeOptions.includes(store)) {
+ navigate('/dataStore')
+ } else {
+ setOption(store)
+ }
+ }, [store])
const handleDataStoreSelect = ({ selected }) => {
setOption(selected)
@@ -17,15 +57,32 @@ const Sidebar = () => {
}
return (
-
+
+
+
{store && (
<>
-
-
+ {/* */}
+ {store === 'userDataStore' && (
+
+ )}
+ {store === 'dataStore' && (
+
+ )}
>
)}
diff --git a/src/hooks/useCustomAlert.tsx b/src/hooks/useCustomAlert.tsx
new file mode 100644
index 0000000..56b3c9d
--- /dev/null
+++ b/src/hooks/useCustomAlert.tsx
@@ -0,0 +1,14 @@
+import { useAlert } from '@dhis2/app-service-alerts'
+
+const useCustomAlert = () => {
+ const { show } = useAlert(
+ ({ message }) => message,
+ ({ isError }) => (isError ? { critical: true } : { success: true })
+ )
+ return {
+ showSuccess: (message) => show({ message }),
+ showError: (message) => show({ message, isError: true }),
+ }
+}
+
+export default useCustomAlert
diff --git a/src/pages/errorPage.tsx b/src/pages/errorPage.tsx
deleted file mode 100644
index 62f4064..0000000
--- a/src/pages/errorPage.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { Center } from '@dhis2/ui'
-import React from 'react'
-import { useRouteError } from 'react-router-dom'
-
-interface Error {
- status?: number
- statusText?: string
- internal?: boolean
- data?: string
- message?: string
-}
-
-export default function ErrorPage() {
- const error: Error = useRouteError()
-
- return (
-
-
- Oops!
- Sorry, an unexpected error has occurred
-
- {error.statusText || error.message}
-
-
-
- )
-}
diff --git a/src/routes/layout.tsx b/src/routes/layout.tsx
index 55e10c1..d3bb30b 100644
--- a/src/routes/layout.tsx
+++ b/src/routes/layout.tsx
@@ -1,22 +1,23 @@
import { Card } from '@dhis2/ui'
import React from 'react'
-import { Outlet } from 'react-router-dom'
+import { Outlet, useParams } from 'react-router-dom'
import classes from '../App.module.css'
-import EmptyArea from '../components/EmptyArea'
-import Sidebar from '../components/sidebar/Sidebar'
+import Toolbar from '../components/create/Toolbar'
+import Sidebar from '../components/sidebar/sidebar'
function Layout() {
+ const { store } = useParams()
return (
-
-
+
+
-
+ {store && }
-
+
)
}
diff --git a/src/routes/router.tsx b/src/routes/router.tsx
index 8d198f5..7bde020 100644
--- a/src/routes/router.tsx
+++ b/src/routes/router.tsx
@@ -1,21 +1,37 @@
import React from 'react'
-import { createHashRouter } from 'react-router-dom'
-import KeysTable from '../components/keys/KeysTable'
-import ErrorPage from '../pages/ErrorPage'
-import Layout from './Layout'
+import { Navigate, createHashRouter } from 'react-router-dom'
+import Edit from '../components/edit/Edit'
+import EmptyArea from '../components/EmptyArea'
+import Error from '../components/Error'
+import Keys from '../components/keys/Keys'
+import Layout from './layout'
export const router = createHashRouter([
{
path: '/',
- errorElement: ,
+ errorElement: ,
element: ,
children: [
+ { index: true, element: },
{
path: ':store',
children: [
{
- path: ':namespace',
- element: ,
+ errorElement: ,
+ children: [
+ {
+ index: true,
+ element: ,
+ },
+ {
+ path: 'edit/:namespace',
+ element: ,
+ },
+ {
+ path: 'edit/:namespace/:key',
+ element: ,
+ },
+ ],
},
],
},
diff --git a/yarn.lock b/yarn.lock
index eacee6e..cdfd14e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1012,7 +1012,7 @@
"@babel/plugin-transform-modules-commonjs" "^7.25.9"
"@babel/plugin-transform-typescript" "^7.25.9"
-"@babel/runtime@^7.10.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.10.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
version "7.26.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1"
integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
@@ -1062,6 +1062,88 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@codemirror/autocomplete@^6.0.0":
+ version "6.18.3"
+ resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.18.3.tgz#f9ea79a2f369662516f71bc0b2f819454d3c8e00"
+ integrity sha512-1dNIOmiM0z4BIBwxmxEfA1yoxh1MF/6KPBbh20a5vphGV0ictKlgQsbJs6D6SkR6iJpGbpwRsa6PFMNlg9T9pQ==
+ dependencies:
+ "@codemirror/language" "^6.0.0"
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.17.0"
+ "@lezer/common" "^1.0.0"
+
+"@codemirror/commands@^6.0.0", "@codemirror/commands@^6.1.0":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.7.1.tgz#04561e95bc0779eaa49efd63e916c4efb3bbf6d6"
+ integrity sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw==
+ dependencies:
+ "@codemirror/language" "^6.0.0"
+ "@codemirror/state" "^6.4.0"
+ "@codemirror/view" "^6.27.0"
+ "@lezer/common" "^1.1.0"
+
+"@codemirror/lang-json@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@codemirror/lang-json/-/lang-json-6.0.1.tgz#0a0be701a5619c4b0f8991f9b5e95fe33f462330"
+ integrity sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==
+ dependencies:
+ "@codemirror/language" "^6.0.0"
+ "@lezer/json" "^1.0.0"
+
+"@codemirror/language@^6.0.0":
+ version "6.10.6"
+ resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.6.tgz#3770aa55fce575b45b1037b390b576907f0061c7"
+ integrity sha512-KrsbdCnxEztLVbB5PycWXFxas4EOyk/fPAfruSOnDDppevQgid2XZ+KbJ9u+fDikP/e7MW7HPBTvTb8JlZK9vA==
+ dependencies:
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.23.0"
+ "@lezer/common" "^1.1.0"
+ "@lezer/highlight" "^1.0.0"
+ "@lezer/lr" "^1.0.0"
+ style-mod "^4.0.0"
+
+"@codemirror/lint@^6.0.0":
+ version "6.8.4"
+ resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.4.tgz#7d8aa5d1a6dec89ffcc23ad45ddca2e12e90982d"
+ integrity sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A==
+ dependencies:
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.35.0"
+ crelt "^1.0.5"
+
+"@codemirror/search@^6.0.0":
+ version "6.5.8"
+ resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.8.tgz#b59b3659b46184cc75d6108d7c050a4ca344c3a0"
+ integrity sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig==
+ dependencies:
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.0.0"
+ crelt "^1.0.5"
+
+"@codemirror/state@^6.0.0", "@codemirror/state@^6.1.1", "@codemirror/state@^6.4.0":
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.4.1.tgz#da57143695c056d9a3c38705ed34136e2b68171b"
+ integrity sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==
+
+"@codemirror/theme-one-dark@^6.0.0":
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz#fcef9f9cfc17a07836cb7da17c9f6d7231064df8"
+ integrity sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==
+ dependencies:
+ "@codemirror/language" "^6.0.0"
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.0.0"
+ "@lezer/highlight" "^1.0.0"
+
+"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0":
+ version "6.35.0"
+ resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.35.0.tgz#890e8e31a58edf65cdf193049fe9f3fdec20cc82"
+ integrity sha512-I0tYy63q5XkaWsJ8QRv5h6ves7kvtrBWjBcnf/bzohFJQc5c14a1AQRdE8QpPF9eMp5Mq2FMm59TCj1gDfE7kw==
+ dependencies:
+ "@codemirror/state" "^6.4.0"
+ style-mod "^4.1.0"
+ w3c-keyname "^2.2.4"
+
"@commitlint/cli@^12.1.4":
version "12.1.4"
resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-12.1.4.tgz#af4d9dd3c0122c7b39a61fa1cd2abbad0422dbe0"
@@ -1219,18 +1301,6 @@
resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-4.0.0.tgz#7dfccb9df5499e627e7bfdbb4021a06813a45dba"
integrity sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==
-"@dhis2-ui/alert@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-10.1.0.tgz#1eb193c173237f436fce7e8540fc45e097f63953"
- integrity sha512-HjXPtPaD/6AY/u2DfoO6DIP0YKD5WBrkT/2eKXUlGaAmcJMaJUwkCzVPJ0qx47DICilPzNLrDc5mbbJOMgtzWQ==
- dependencies:
- "@dhis2-ui/portal" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/alert@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-9.15.0.tgz#19b5fef58fdcce69dcf1f7f6fe6f0551e4b130cf"
@@ -1243,16 +1313,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/box@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-10.1.0.tgz#e1873616fdcacccac684aebd0672ae7fe93b32da"
- integrity sha512-xI1hBIKmBdyM+swA9fV4Nv5D7JS53ugpCscVhgeP5Cy3/nMOkkOAx1U5XzAvVm47cYm8XQ2NtW570wi/ztUhyA==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/box@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-9.15.0.tgz#f16498fa7a261d6304879ecb615cab57979825bd"
@@ -1263,20 +1323,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/button@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-10.1.0.tgz#4cfd5c65b595cb756ca29365023832a9e277f4f2"
- integrity sha512-WQDRY7len+5kgwfUUVyPVAzjPZXEtMIub2PszrYqD2KoubwCBf7jALoZpPWRTymySmCPgzbTWbigT1vLlIgpsQ==
- dependencies:
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/button@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-9.15.0.tgz#d27cb64cd935f86218862c01c9fe3bbeb3604163"
@@ -1291,23 +1337,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/calendar@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-10.1.0.tgz#97708960331b519a9276d62022a211403e2bfa03"
- integrity sha512-GtrRMvM0wmj4k5171/RSRmwDmeH6FSmBaqFP3PWGbYiV2ag6ApWQs4nl5tEYtX4mnrFwWcW9TfkYe+mohH67mw==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2/multi-calendar-dates" "2.0.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/calendar@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/calendar/-/calendar-9.15.0.tgz#7f6e42973bd96a95eee6386ec3866fff0de4009e"
@@ -1325,16 +1354,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/card@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-10.1.0.tgz#12f9528a49ec77d5bc44fd96819d9bfb3aef258a"
- integrity sha512-ryvROrbBtbfJ9bZAyfjCqi2YtIUq+Z/j/TDv54DZcYP4UN+665J8jRNWf4n1EPLaxzktxfOvR02ZW0FcZAc62g==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/card@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-9.15.0.tgz#af7d00438d2818cae8731ae56430547619090858"
@@ -1345,16 +1364,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/center@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-10.1.0.tgz#b65d72a5876f59bad5a3cb336fbc9f2d062e65ad"
- integrity sha512-EmDTqJTbY0yOkFcJOTDi91ZcOgt0wO1ylJKMCoynwWlMsRycC3tmgO4fKfsZEsncxM+600ejc7/gUvISTeCmjw==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/center@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-9.15.0.tgz#8c493157b9efe8b778cff796b6ffa2fd6f58289e"
@@ -1365,18 +1374,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/checkbox@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-10.1.0.tgz#a09157bc2933af5cb42a48a479738a6242366dfa"
- integrity sha512-+0rN1W09p9rX/NEJfx7It+9NJGhwBtrJuix993fj3vflHkJfiEw3mV2SISyZVJUHT5ryAvGyhm+greeToLeOJQ==
- dependencies:
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/required" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/checkbox@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-9.15.0.tgz#bcb377be5f165b6bfc001361c246a7c6db25a364"
@@ -1389,16 +1386,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/chip@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-10.1.0.tgz#645c080d6910eb93399fdcf6cd3308e765c9fb5f"
- integrity sha512-g5pnTWKe1dkU6q83a5NzoF8LOxKEo2uGxZezxbu4Pe8vfyXUaNsqVrSchduk333UUeOG+yWrVYq2iU2QlBthCw==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/chip@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-9.15.0.tgz#3ebb89d4cae3ae49ddfcde67d129caf6db8d08c7"
@@ -1409,16 +1396,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/cover@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-10.1.0.tgz#317c6a396a1038d95bfc39f0c0dcf980534e26c1"
- integrity sha512-Im+nW9kOuELdy0RXJQ6stdDm6ZNeSYH7qZJZRYvZxuilgnslygW4XjT1+YkJa2Z/lPTPvxERD671I6zWZg+ACg==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/cover@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-9.15.0.tgz#dd81ab446d02b4aad43fdd7fa3a730928c7a0fba"
@@ -1429,16 +1406,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/css@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-10.1.0.tgz#e72e128599de92e6c3778bb4508b9d05b2e4ad07"
- integrity sha512-7HqNmu3PDZlsTxCbNIIuZvVAmiKQT3hXV7FjuhajWieGJ4KbS77g9W6mANe1g0zXIKi6/GQA6Z4WiNw39/dENg==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/css@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-9.15.0.tgz#44fc993264010852d4935d2248b11e0a851c6992"
@@ -1449,16 +1416,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/divider@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-10.1.0.tgz#498b71e28871abc2f148fa5fdf9cf22121078223"
- integrity sha512-nh+H/J6lIesrpgDh4JgHXKetdGqkxNPqc6Bvj8n88nj7cejb42XCDeiSJNt/sTBt0PcdpguG+IybV4B3v06MrA==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/divider@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-9.15.0.tgz#8191d80469ba55d1ac404d100b915f45bc56602a"
@@ -1469,19 +1426,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/field@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-10.1.0.tgz#59c639c44349f88d3dac048d31c8403eaac20a33"
- integrity sha512-Dgl/Li/qv3oIq6gGvOXTYVMYczNz8GWC5nc+TKuUgzSC4f0IgtxWWErIZi0P3knbnsBCZC1wXb0VLYdAUS8EqQ==
- dependencies:
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/help" "10.1.0"
- "@dhis2-ui/label" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/field@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-9.15.0.tgz#92f234ab41094a61d3c26e76b2944711ebd36e0b"
@@ -1495,22 +1439,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/file-input@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-10.1.0.tgz#35e987fab248cfa2facba1b263a37de785b32d86"
- integrity sha512-hM1zQRkrolMPyxIYAt6tBSyLWjdL6fbax0/30C4J5gUIm4y56NWcfooQJ2INzoMANb330gG7WatJXYuotcuszg==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/label" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/status-icon" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/file-input@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-9.15.0.tgz#7ca98fb317b551d39d8e0e95e5df88218b91f78d"
@@ -1527,30 +1455,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/header-bar@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-10.1.0.tgz#1849bb2d70144c6cd282d315f5abfdf35d8e0d87"
- integrity sha512-mgcVEIJLlVixgmkVOq5C85cKblpqAmYvufSW16/0jcTf1IEcXsVOMK5h+QCXzUJQ+ERsDLoGxznKAU1dX81iTQ==
- dependencies:
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/center" "10.1.0"
- "@dhis2-ui/divider" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/logo" "10.1.0"
- "@dhis2-ui/menu" "10.1.0"
- "@dhis2-ui/modal" "10.1.0"
- "@dhis2-ui/user-avatar" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- moment "^2.29.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/header-bar@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-9.15.0.tgz#9d4af4385ac4433ce17c57dcaf51f803e62c8137"
@@ -1575,16 +1479,6 @@
moment "^2.29.1"
prop-types "^15.7.2"
-"@dhis2-ui/help@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-10.1.0.tgz#451056013e57e3ce5e38a6fcdce67752d606adc2"
- integrity sha512-TFQu5kLid4O1mX+EVxJ5DxJA9aYfC4nzaebqKPAGNpMyG8q92gvTS2t3I7FC0x+je4462yyRj/Ct2lPZs+w3Mg==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/help@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-9.15.0.tgz#04a63e1ee3c31879bad4b46d74dac4e1dce11861"
@@ -1595,22 +1489,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/input@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-10.1.0.tgz#94a4ce42f9cb34ceec64f8ed1a746cef284c662a"
- integrity sha512-Q7TtY/nTJckA3WD9pKkRmjidzRcuDpghqiD77WOS/XWNxh8uMSZ0GU8TiNce/qgQkgdd/ToAlYrQ7jtVXxvVxg==
- dependencies:
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/status-icon" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/input@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-9.15.0.tgz#7610f7a4a6164ddeeda0add18446a2f2dac6e26e"
@@ -1627,16 +1505,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/intersection-detector@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-10.1.0.tgz#d961125835fe80f11544e591b244f9bd6eaae411"
- integrity sha512-Nh9sN8eXO1fyJmasVgNaAqZfUdZhu0Y2CIvrQy3clQXtvcaczPStdqRseOzMzqzhbJsEf6SwFEXNhY3m1milUQ==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/intersection-detector@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-9.15.0.tgz#43fb307a6bf44550a4e5d1cc9f7911dcb242b38c"
@@ -1647,17 +1515,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/label@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-10.1.0.tgz#f1123cf16eb6a12f4059a686659f70f3ffbaba08"
- integrity sha512-yphCtHbYH11+NFjAW4I3QQDp5/9azbWqsEkU13mhXhUl/OJleLEbj0zDFu7rwv5F7hne+vtgddSojvwaWGhwWQ==
- dependencies:
- "@dhis2-ui/required" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/label@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-9.15.0.tgz#db60d1fa7e0f288d45bcb1a90087874416512a4f"
@@ -1669,17 +1526,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/layer@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-10.1.0.tgz#a439e8d35a3cfa274280b45070cb80aee2860ac4"
- integrity sha512-KYHPpipPOmZaiilk2bnFYL+ZXCpQri0AD63z67UEEPByS6/GdIVaqdi5OTJDGaD6KR/bgtCuJv8Dogp2NQYkZg==
- dependencies:
- "@dhis2-ui/portal" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/layer@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-9.15.0.tgz#525181a352c26d0ae2a5a3c0df3e2611fd9065df"
@@ -1691,17 +1537,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/legend@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-10.1.0.tgz#c43a9c5007a0fa8b6f83e7631efdf05cd0a3b1c2"
- integrity sha512-mxVYIEyamOoUkSgfjeVC1RsXd1UGQhDBHhALJw7OHrJKvvXxW58OeQGvrM8Zum/QF8msUNQ4evC27ttF4FC5Tw==
- dependencies:
- "@dhis2-ui/required" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/legend@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-9.15.0.tgz#c71d862366aa0d51bfbf64fa79ec9277e86a4b32"
@@ -1713,16 +1548,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/loader@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-10.1.0.tgz#e62d87578294700faf1457cb263188267ee57812"
- integrity sha512-9RUnvUvTLhmhOuEcg1+MIFpHCyD+ufgjS6eJ8spMnxy2zfO49LKgjRASeA8SEpFXRhgA9J7G/bdDJ7F5yBTN7A==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/loader@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-9.15.0.tgz#52afc749cd4fd791dcc4da179e0066b65c4eae42"
@@ -1733,16 +1558,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/logo@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-10.1.0.tgz#d43bdbab159825207e04473428085ead4242964b"
- integrity sha512-X1oqeSbR2mvlnzTmDzEjglRfMwqjm1TvHu+jwFknWlPoIHX39jlmTYheIxO1hlP7+psQIDVsspSzZqGWyD5+Cw==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/logo@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-9.15.0.tgz#af7adf3fc15ae8bcc453bcfc9c6fdaadf8903ae0"
@@ -1753,22 +1568,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/menu@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-10.1.0.tgz#575ed169faa1f9bb2217bc5d91cf249f7f559388"
- integrity sha512-sBSV4usGMJnJbzBSu7cuVazT6tQedpveB2civHSun6jl0uwQUHi/fmfGrzf4YIO+sZTy8keU0KgkdL9n/zrgGw==
- dependencies:
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/divider" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2-ui/portal" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/menu@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-9.15.0.tgz#d4ac6e9025b58f34ead3fbfc49cf5a4d27b53073"
@@ -1785,21 +1584,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/modal@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-10.1.0.tgz#5c7c193e4be07df5c800b3baca9619125313682d"
- integrity sha512-+XzjgsyWbD5fEmE4JXuGchzhMhHqM+qveKydINFhKGlsMHKWMDqvENaZuLjV/xEb8Zi9qXDXNsbhfo2mb7yfUg==
- dependencies:
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/center" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/portal" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/modal@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-9.15.0.tgz#b8f0f5d7ba510c35407582d60d94d7bdf5226404"
@@ -1815,17 +1599,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/node@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-10.1.0.tgz#2dcee2c445ea937daff2b9b51a8a771398b948ad"
- integrity sha512-T+pP1nGuvR6V1PbmkyT8Y/QAdJnsI1VNekJrBa9aH9MNhJFWTmmLnseKp2Xusg8YBKcpKCWAirORIwztw7vsow==
- dependencies:
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/node@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-9.15.0.tgz#71bde9dfaa929a42d288623aace2c443cbcf53f8"
@@ -1837,17 +1610,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/notice-box@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-10.1.0.tgz#f300833cee7e2d8f1e5de712e13d4b2e75aae6dd"
- integrity sha512-d0PIaMNnmeLYvRBCZVS3WphbtF/joM1w2zuqw0QnCqSHELohml4ADO1zrU43M9SODN3jLQC85+wuEqAhanfF2w==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/notice-box@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-9.15.0.tgz#b113c2dcbf4674407e25cc041f3c497d767bdb36"
@@ -1859,20 +1621,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/organisation-unit-tree@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-10.1.0.tgz#3882feb23b1f0697b0a3ece3b8286f82af7f4fa6"
- integrity sha512-9El9f2Jh4dWTwrZlWAoRZ1m7uykVctTg+9n98wBMTliksvqu/uMYBua9lsatqvKdh5vo3MUHRe1DsyLhP6d5Rg==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/checkbox" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/node" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/organisation-unit-tree@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-9.15.0.tgz#be25c73482f67a3076445c5742e6edf4efc0dd65"
@@ -1887,19 +1635,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/pagination@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-10.1.0.tgz#46472300ad7983170289c8b292ac2761613de78e"
- integrity sha512-JnJjkIDoSaIVLCCakYbXCiZjdCT3A+aXngWD0zOAggII9iJiYvwzcDzjr6IfZrbHB+qF+vu5i9if0D1isy8jsA==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/select" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/pagination@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-9.15.0.tgz#f008e22a4132989089bebc61cec820d19d326a89"
@@ -1913,18 +1648,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/popover@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-10.1.0.tgz#35f56863a5d2b10d73f44ad2c71525d9a5da0f14"
- integrity sha512-JcrQjMSArUmPebI1NEgg0h0hhcjv+12SfI7Ox0+3PFbEJGh4GmzcP1TjfE7SHB2mN2unYqE9axxtlfsWgUCx4g==
- dependencies:
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/popover@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-9.15.0.tgz#1fc7d39cc8ed069a34b873c52f9127b274da19fb"
@@ -1937,19 +1660,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/popper@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-10.1.0.tgz#4674253e4b082d85d0a2409cf7f6e9eda79d0a63"
- integrity sha512-4SyVd5DAz94H7UlD8m607jHIU/QmXBGC3Ca/OZFFK3b0mzJzbSGiDymFFTjspcCMaxjpV9Y6VHsE+NrmbjBP9Q==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@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/popper@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-9.15.0.tgz#e2ccab3164eca5e74a8c5a6c3e5cc4c14bb4551f"
@@ -1963,14 +1673,6 @@
react-popper "^2.2.5"
resize-observer-polyfill "^1.5.1"
-"@dhis2-ui/portal@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-10.1.0.tgz#91b9d7cff5d56f63ba656c49b744fabd3c46c738"
- integrity sha512-XNjK6D5hbInqcYigpW29cqOMcc9woOnEd8n2v5T5u7xEuDH4hrnpdJ0mAuICSMs/QGpVsDQuiHDpeaX/BGwmxg==
- dependencies:
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/portal@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-9.15.0.tgz#b3d2b94ca61d3660c9cdb584e0fcc21e8146893a"
@@ -1979,16 +1681,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/radio@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-10.1.0.tgz#ae576b7ebb71ef53795a10a409843976d18840f8"
- integrity sha512-gr9pgFUg0j50306pqVMzaTloD8/LafziT3UWHGIQ8g1Z0sUoZ/TEmNE6hx2sRBSnsXQqeuCQz1l3ppjtIzkI+w==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/radio@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-9.15.0.tgz#b731c14b14e2a9f4062dde46ca42ddae9f2b573e"
@@ -1999,16 +1691,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/required@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-10.1.0.tgz#edcca99b3fae5737783fc1b396506a751cd9feb4"
- integrity sha512-41WO12gv9PbjkfvXYx0FWTRo53Uc2+0XVvszIos8QrvnmzutvYBAwsvvZlUjqYEQIh9PfQ1HXuGR6qrNj74+3g==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/required@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-9.15.0.tgz#24a96b62d33d8f190a7fd62648ba323011aabcb4"
@@ -2019,16 +1701,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/segmented-control@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-10.1.0.tgz#5062bfd729b557dd4a405ce86fb82dc9913ea66c"
- integrity sha512-NttPo1cNQVuPgHKRGE3UjSNGDFTyg9IB76tF1qDFBOjEdAsxP+cpAn4OhbB9Epyg9CJ0uUEFHbmpzRlMHro6mA==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/segmented-control@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-9.15.0.tgz#3db3ad4af9b95a9de478871c059d2bc4d50dafd6"
@@ -2039,29 +1711,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/select@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-10.1.0.tgz#1595eec2de046c7e83d2fd8b44fc4389e16fcc15"
- integrity sha512-FH4tvnerMHzzOKi26u+lFkmRN3o6ADkXUOYqdfdNUOr23Iq+KaLa0sl+IZet2JNsi/uVB3nLE+zOOKWqqzxRUA==
- dependencies:
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/checkbox" "10.1.0"
- "@dhis2-ui/chip" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2-ui/status-icon" "10.1.0"
- "@dhis2-ui/tooltip" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/select@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-9.15.0.tgz#e076b8a044c1ea94c4e6fb449c2ed246bb7caaa9"
@@ -2085,21 +1734,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/selector-bar@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-10.1.0.tgz#b818513cd52403fb0f5cba9dbad0b6ddd541b411"
- integrity sha512-H/KJpH+ypEIm5Mp0k+SXe3HJ/J4hdFeDFtoBk60M/1gszuoyCOA2Xi9ycjlJ+oar7iUtepgB5NHpjnI1DG7IZQ==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- "@testing-library/react" "^16.0.1"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/selector-bar@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-9.15.0.tgz#922b1079e47ee214f524a92128d91597c10d800d"
@@ -2114,32 +1748,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/sharing-dialog@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-10.1.0.tgz#b94055352ffe6f7c523716bb450c7865a8bcc466"
- integrity sha512-x7WgEeiXSdFOKncUbI7P7NWRfVdTVuGYcegG+WN6PfWmVAtK0K46KMnqk4wxjGW/43VWYof9ESfnrlZM28UaTA==
- dependencies:
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/divider" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/menu" "10.1.0"
- "@dhis2-ui/modal" "10.1.0"
- "@dhis2-ui/notice-box" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2-ui/select" "10.1.0"
- "@dhis2-ui/tab" "10.1.0"
- "@dhis2-ui/tooltip" "10.1.0"
- "@dhis2-ui/user-avatar" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- "@react-hook/size" "^2.1.2"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/sharing-dialog@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-9.15.0.tgz#f5622051d6e80d3b3b489b7c0d394fc1b6d5a4a4"
@@ -2166,18 +1774,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/status-icon@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-10.1.0.tgz#9d7415bfe65d6dc17e05145f703d58ebe01d7bbd"
- integrity sha512-Olz7nOg1XX/QcreUe/ym9k7xNXunDRn0Fb6PN37VCEVOaQJ7nJimdnnPX6FJcZw0oFswpLDEnl599MNr+OOmQw==
- dependencies:
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/status-icon@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-9.15.0.tgz#43c68cf1fcdae66e9adeac938584602e8ba62864"
@@ -2190,18 +1786,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/switch@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-10.1.0.tgz#0b17c28d0101bd0961e41a322e7f50f63c23160f"
- integrity sha512-DTXroVGAmw2X59k3m0MN6nIfCMwMWiqVKv49b61a7tAnGn4bDyu6aCqQ6/Uh/+p8Et8f74POI77HLA3p09iMkg==
- dependencies:
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/required" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/switch@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-9.15.0.tgz#d5ca2930bfeb5ac3531d2b5e580718e99585bcdf"
@@ -2214,18 +1798,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/tab@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-10.1.0.tgz#be2bdde6cfc2652ddec1c0373308529ed6b7c662"
- integrity sha512-G61Jauk+6QcHmWetU9PNaAHn7uVWrKLZKvPB2mKUN5MP0x885DWis2tW2+lCBhds16UsQVT4HWu5r/EQ4auHnA==
- dependencies:
- "@dhis2-ui/tooltip" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/tab@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-9.15.0.tgz#ed9b7143a55124c0efef7bb1164c6dd4752c2337"
@@ -2238,17 +1810,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/table@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-10.1.0.tgz#fae4397dac52b484f94c854e4849de3249fee5fb"
- integrity sha512-yfJAGlfpZ8yRO8eO70ITyedzE35lTosy3uERGHKxODIR4gbqiM+8UpvVRiKAbZ8Ouj1GNQnkERXWsKnOEw1R2g==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/table@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-9.15.0.tgz#dd949b37eff0360905ea7cecbd0c3bbc802bde74"
@@ -2260,16 +1821,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/tag@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-10.1.0.tgz#09e20f79407bc4400fcb92d3052a1fcdaa383e2c"
- integrity sha512-HZY/gpPKK5yskLY9sONdwVRPig05xOdggPuo58lSikO9w6oODCxxTO/rUnEyvfzqYR/NpQfb0xFJGgz+vOes5Q==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/tag@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-9.15.0.tgz#28ce45d955c1b9e7d70b7b80e1d70d92d97d3683"
@@ -2280,21 +1831,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/text-area@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-10.1.0.tgz#9cf2d20ba7caa1b63077b04e6b55054d1a36396f"
- integrity sha512-FEOOMsm33fp6qqqqCMbA8HGFFud/PMfS9ZNPHf0/oqP2hIzHt1WQ7UWiUDTmQko7QzgXBcZaAfT9Xi0TgeTBoA==
- dependencies:
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/status-icon" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/text-area@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-9.15.0.tgz#cc2b5f92a678593a429a3c48c35c1c95c4907b06"
@@ -2310,18 +1846,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/tooltip@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-10.1.0.tgz#a21a35cfe6ffcfdd319374cd7c7dcbed01139313"
- integrity sha512-7Pn4drVkmVUxrqlcjo88VgX8OqSFP3ufW+HO77uu8vN9WgGr1RV9QH0JjaE3VTz51+7UgTETYZAX9cTF8DPuzA==
- dependencies:
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2-ui/portal" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/tooltip@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-9.15.0.tgz#d2766965304178ee4498038ea6322d54f44fc048"
@@ -2334,21 +1858,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/transfer@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-10.1.0.tgz#4c20a4dac7a8573ab0ba8e710341e722b4626708"
- integrity sha512-b25S/lhm9fYd2bRIF/tjtuD3L1p3TW42zpi/AcN8Ud2zFUoIr0Xvb6OGw/5kakqlvWTehh43YunwNbS40GCGYw==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/intersection-detector" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/transfer@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-9.15.0.tgz#467362081884c9b55ad4f79ca68ea2a8f39cf4ad"
@@ -2364,16 +1873,6 @@
classnames "^2.3.1"
prop-types "^15.7.2"
-"@dhis2-ui/user-avatar@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-10.1.0.tgz#764208e0cd5c743af526d66cb515b543fde8bdc1"
- integrity sha512-UWYbLPLfLr0pP4K4rK0CeIgXfLwePDyI/w5vaAI8qHCO8VPtXkbLK4XkdUyBwWG4RcC6aMbm0NWBTIOtkW6phw==
- dependencies:
- "@dhis2/prop-types" "^3.1.2"
- "@dhis2/ui-constants" "10.1.0"
- classnames "^2.3.1"
- prop-types "^15.7.2"
-
"@dhis2-ui/user-avatar@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-9.15.0.tgz#c5abc6c6615fc36147101d9870c1d8fe6ed42b81"
@@ -2570,15 +2069,6 @@
i18next "^10.3"
moment "^2.24.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"
- classnames "^2.3.2"
-
"@dhis2/multi-calendar-dates@^1.2.3":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@dhis2/multi-calendar-dates/-/multi-calendar-dates-1.3.2.tgz#34e5896f7fdfb761a2ee6035d848cba00446cde5"
@@ -2603,13 +2093,6 @@
workbox-routing "^7.1.0"
workbox-strategies "^7.1.0"
-"@dhis2/ui-constants@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-10.1.0.tgz#5fc22d2d312004931fa2e3b3b639d994d7d9692a"
- integrity sha512-pWQDgQbuU0JwTRG8lvhh631q2LMtly5kVTYTMETJn83k4UGt1RXcsv+layPpAkXzobVA9/yRknLxIyCdsuEiuw==
- dependencies:
- prop-types "^15.7.2"
-
"@dhis2/ui-constants@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-9.15.0.tgz#e63e3bc5d098fc63c0d05496bbbaf65a59fca286"
@@ -2617,26 +2100,6 @@
dependencies:
prop-types "^15.7.2"
-"@dhis2/ui-forms@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-10.1.0.tgz#44dfb4645bb13301a5c57c964b9c6d88a15b53e6"
- integrity sha512-d+dJNJZTXPtQIaM+PnwvS+01AalfDJzLzT4NWPfH0stjnpU3TO6NoacYkrchVkfFx3xogVNMo3tIpf7wPbLuiQ==
- dependencies:
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/checkbox" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/file-input" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/radio" "10.1.0"
- "@dhis2-ui/select" "10.1.0"
- "@dhis2-ui/switch" "10.1.0"
- "@dhis2-ui/text-area" "10.1.0"
- "@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-forms@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-9.15.0.tgz#3579588b40aa4eaec2afa888c1a31e347dd09f94"
@@ -2657,71 +2120,11 @@
prop-types "^15.7.2"
react-final-form "^6.5.3"
-"@dhis2/ui-icons@10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-10.1.0.tgz#5b075a8323251d1d7b50f34bb6eb9ca9cfdcc99d"
- integrity sha512-vIvZa8E25KjsFBUaS7y1EnQT5wNnDTnUAEMD7E7iUxHaG4wLkui4/UH8sHtjl39GqEHvVjrYAKx2jh7Cz6hdFg==
-
"@dhis2/ui-icons@9.15.0":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-9.15.0.tgz#48865538b95f621ce3ed3b94eb9a438a879aa263"
integrity sha512-SEgzWN+YEpV/zQxb7tPL4/qog+0irfM7Oy5OOd4h1jMx7UVroRhsOMJUPpG0L1MyKL7gmsAUg2Z3pa9KN5EFKw==
-"@dhis2/ui@^10.1.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-10.1.0.tgz#e5ab3b4fef187ea30fa5b6305ce1d387ae97f536"
- integrity sha512-Mc5pmj0o1i/wR3nhREfY2e5yH43NRzI2U5HB8ryXf90+No82vHWJ0pCeakTBzlCgfQGs9TrwgfOUD9MCZ2wapA==
- dependencies:
- "@dhis2-ui/alert" "10.1.0"
- "@dhis2-ui/box" "10.1.0"
- "@dhis2-ui/button" "10.1.0"
- "@dhis2-ui/calendar" "10.1.0"
- "@dhis2-ui/card" "10.1.0"
- "@dhis2-ui/center" "10.1.0"
- "@dhis2-ui/checkbox" "10.1.0"
- "@dhis2-ui/chip" "10.1.0"
- "@dhis2-ui/cover" "10.1.0"
- "@dhis2-ui/css" "10.1.0"
- "@dhis2-ui/divider" "10.1.0"
- "@dhis2-ui/field" "10.1.0"
- "@dhis2-ui/file-input" "10.1.0"
- "@dhis2-ui/header-bar" "10.1.0"
- "@dhis2-ui/help" "10.1.0"
- "@dhis2-ui/input" "10.1.0"
- "@dhis2-ui/intersection-detector" "10.1.0"
- "@dhis2-ui/label" "10.1.0"
- "@dhis2-ui/layer" "10.1.0"
- "@dhis2-ui/legend" "10.1.0"
- "@dhis2-ui/loader" "10.1.0"
- "@dhis2-ui/logo" "10.1.0"
- "@dhis2-ui/menu" "10.1.0"
- "@dhis2-ui/modal" "10.1.0"
- "@dhis2-ui/node" "10.1.0"
- "@dhis2-ui/notice-box" "10.1.0"
- "@dhis2-ui/organisation-unit-tree" "10.1.0"
- "@dhis2-ui/pagination" "10.1.0"
- "@dhis2-ui/popover" "10.1.0"
- "@dhis2-ui/popper" "10.1.0"
- "@dhis2-ui/portal" "10.1.0"
- "@dhis2-ui/radio" "10.1.0"
- "@dhis2-ui/required" "10.1.0"
- "@dhis2-ui/segmented-control" "10.1.0"
- "@dhis2-ui/select" "10.1.0"
- "@dhis2-ui/selector-bar" "10.1.0"
- "@dhis2-ui/sharing-dialog" "10.1.0"
- "@dhis2-ui/switch" "10.1.0"
- "@dhis2-ui/tab" "10.1.0"
- "@dhis2-ui/table" "10.1.0"
- "@dhis2-ui/tag" "10.1.0"
- "@dhis2-ui/text-area" "10.1.0"
- "@dhis2-ui/tooltip" "10.1.0"
- "@dhis2-ui/transfer" "10.1.0"
- "@dhis2-ui/user-avatar" "10.1.0"
- "@dhis2/ui-constants" "10.1.0"
- "@dhis2/ui-forms" "10.1.0"
- "@dhis2/ui-icons" "10.1.0"
- prop-types "^15.7.2"
-
"@dhis2/ui@^9.11.7":
version "9.15.0"
resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-9.15.0.tgz#b9e12416922653b07ffb927db93b56ecb0083bd3"
@@ -3217,6 +2620,34 @@
resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1"
integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==
+"@lezer/common@^1.0.0", "@lezer/common@^1.1.0", "@lezer/common@^1.2.0":
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.3.tgz#138fcddab157d83da557554851017c6c1e5667fd"
+ integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==
+
+"@lezer/highlight@^1.0.0":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b"
+ integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==
+ dependencies:
+ "@lezer/common" "^1.0.0"
+
+"@lezer/json@^1.0.0":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@lezer/json/-/json-1.0.2.tgz#bdc849e174113e2d9a569a5e6fb1a27e2f703eaf"
+ integrity sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ==
+ dependencies:
+ "@lezer/common" "^1.2.0"
+ "@lezer/highlight" "^1.0.0"
+ "@lezer/lr" "^1.0.0"
+
+"@lezer/lr@^1.0.0":
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727"
+ integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==
+ dependencies:
+ "@lezer/common" "^1.0.0"
+
"@ls-lint/ls-lint@^1.10.0":
version "1.11.2"
resolved "https://registry.yarnpkg.com/@ls-lint/ls-lint/-/ls-lint-1.11.2.tgz#fa7e8c404b7c2f9f7fe3e92b7d69fe37a15c0e1c"
@@ -3478,13 +2909,6 @@
dependencies:
defer-to-connect "^1.0.1"
-"@testing-library/react@^16.0.1":
- version "16.0.1"
- resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.0.1.tgz#29c0ee878d672703f5e7579f239005e4e0faa875"
- integrity sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==
- dependencies:
- "@babel/runtime" "^7.12.5"
-
"@tootallnate/once@1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
@@ -3922,6 +3346,31 @@
"@typescript-eslint/types" "8.15.0"
eslint-visitor-keys "^4.2.0"
+"@uiw/codemirror-extensions-basic-setup@4.23.6":
+ version "4.23.6"
+ resolved "https://registry.yarnpkg.com/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.23.6.tgz#a15afa85ad12e08fdaca40e89828bced78beeef5"
+ integrity sha512-bvtq8IOvdkLJMhoJBRGPEzU51fMpPDwEhcAHp9xCR05MtbIokQgsnLXrmD1aZm6e7s/3q47H+qdSfAAkR5MkLA==
+ dependencies:
+ "@codemirror/autocomplete" "^6.0.0"
+ "@codemirror/commands" "^6.0.0"
+ "@codemirror/language" "^6.0.0"
+ "@codemirror/lint" "^6.0.0"
+ "@codemirror/search" "^6.0.0"
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.0.0"
+
+"@uiw/react-codemirror@^4.23.6":
+ version "4.23.6"
+ resolved "https://registry.yarnpkg.com/@uiw/react-codemirror/-/react-codemirror-4.23.6.tgz#e77f302a39a28c644164ed59bdc1a9edeb587cdf"
+ integrity sha512-caYKGV6TfGLRV1HHD3p0G3FiVzKL1go7wes5XT2nWjB0+dTdyzyb81MKRSacptgZcotujfNO6QXn65uhETRAMw==
+ dependencies:
+ "@babel/runtime" "^7.18.6"
+ "@codemirror/commands" "^6.1.0"
+ "@codemirror/state" "^6.1.1"
+ "@codemirror/theme-one-dark" "^6.0.0"
+ "@uiw/codemirror-extensions-basic-setup" "4.23.6"
+ codemirror "^6.0.0"
+
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
@@ -5064,6 +4513,19 @@ co@^4.6.0:
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+codemirror@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29"
+ integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==
+ dependencies:
+ "@codemirror/autocomplete" "^6.0.0"
+ "@codemirror/commands" "^6.0.0"
+ "@codemirror/language" "^6.0.0"
+ "@codemirror/lint" "^6.0.0"
+ "@codemirror/search" "^6.0.0"
+ "@codemirror/state" "^6.0.0"
+ "@codemirror/view" "^6.0.0"
+
collect-v8-coverage@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9"
@@ -5362,6 +4824,11 @@ crc@^3.4.4:
dependencies:
buffer "^5.1.0"
+crelt@^1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72"
+ integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==
+
cross-domain-safe-weakmap@^1, cross-domain-safe-weakmap@^1.0.1:
version "1.0.29"
resolved "https://registry.yarnpkg.com/cross-domain-safe-weakmap/-/cross-domain-safe-weakmap-1.0.29.tgz#0847975c27d9e1cc840f24c1745311958df98022"
@@ -11331,6 +10798,11 @@ style-loader@^3.3.1:
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7"
integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==
+style-mod@^4.0.0, style-mod@^4.1.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.2.tgz#ca238a1ad4786520f7515a8539d5a63691d7bf67"
+ integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==
+
styled-jsx@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-4.0.1.tgz#ae3f716eacc0792f7050389de88add6d5245b9e9"
@@ -12179,6 +11651,11 @@ w3c-hr-time@^1.0.2:
dependencies:
browser-process-hrtime "^1.0.0"
+w3c-keyname@^2.2.4:
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5"
+ integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==
+
w3c-xmlserializer@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"