diff --git a/.github/workflows/dhis2-verify-lib.yml b/.github/workflows/dhis2-verify-lib.yml index 58143965d6..88bcada1ad 100644 --- a/.github/workflows/dhis2-verify-lib.yml +++ b/.github/workflows/dhis2-verify-lib.yml @@ -1,20 +1,35 @@ name: 'dhis2: verify (lib)' -on: push +on: + push: + pull_request: + types: [labeled] concurrency: - group: ${{ github.workflow}}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.ref }} env: GIT_AUTHOR_NAME: '@dhis2-bot' GIT_AUTHOR_EMAIL: 'apps@dhis2.org' GIT_COMMITTER_NAME: '@dhis2-bot' GIT_COMMITTER_EMAIL: 'apps@dhis2.org' - NPM_TOKEN: ${{secrets.DHIS2_BOT_NPM_TOKEN}} - GH_TOKEN: ${{secrets.DHIS2_BOT_GITHUB_TOKEN}} + NPM_TOKEN: ${{ secrets.DHIS2_BOT_NPM_TOKEN }} + GH_TOKEN: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }} D2_VERBOSE: true jobs: + setup-matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.specs }} + steps: + - uses: actions/checkout@v3 + - name: Generate test matrix + id: set-matrix + run: | + node cypress/support/generateTestMatrix.js > matrix.json + echo "::set-output name=specs::$(cat matrix.json)" + build: runs-on: ubuntu-latest steps: @@ -84,12 +99,14 @@ jobs: e2e: runs-on: ubuntu-latest if: "!github.event.push.repository.fork && github.actor != 'dependabot[bot]'" - needs: [build] + needs: [build, setup-matrix] strategy: fail-fast: false matrix: - containers: [1, 2, 3, 4] + spec-group: ${{ fromJson(needs.setup-matrix.outputs.matrix) }} + env: + SHOULD_RECORD: ${{ contains(github.event.head_commit.message, '[e2e record]') || contains(join(github.event.pull_request.labels.*.name), 'e2e record') }} steps: - name: Checkout @@ -108,17 +125,37 @@ jobs: - name: Increase FS watchers run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p + - name: Set Cypress Record Environment Variables + if: env.SHOULD_RECORD == 'true' + run: | + echo "CYPRESS_GROUP=e2e-${{ matrix.spec-group.id }}" >> $GITHUB_ENV + echo "CYPRESS_TAG=${{ github.event_name }}" >> $GITHUB_ENV + echo "CYPRESS_CI_BUILD_ID=${{ github.run_id }}" >> $GITHUB_ENV + + - name: Debug Environment Variables + run: | + echo "SHOULD_RECORD=${{ env.SHOULD_RECORD }}" + echo "CI Build ID=${{ github.run_id }}" + echo "Group ID=e2e-${{ matrix.spec-group.id }}" + echo "Spec=${{ join(matrix.spec-group.tests, ',') }}" + echo "Record=${{ env.SHOULD_RECORD }}" + echo "Parallel=${{ env.SHOULD_RECORD }}" + echo "Computed Group=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_GROUP || '' }}" + echo "Computed Tag=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_TAG || '' }}" + echo "Computed CI Build ID=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_CI_BUILD_ID || '' }}" + - name: End-to-End tests uses: cypress-io/github-action@v6 with: - # This should be a command that starts the server to test against. start: 'yarn cy:start:legacy' wait-on: 'http://localhost:5000' wait-on-timeout: 300 - record: true - parallel: true - group: 'e2e' - tag: ${{ github.event_name }} + record: ${{ env.SHOULD_RECORD }} + parallel: ${{ env.SHOULD_RECORD }} + group: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_GROUP || '' }} + tag: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_TAG || '' }} + ci-build-id: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_CI_BUILD_ID || '' }} + spec: ${{ join(matrix.spec-group.tests, ',') }} env: BROWSER: none COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }} @@ -133,7 +170,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - token: ${{env.GH_TOKEN}} + token: ${{ env.GH_TOKEN }} - uses: actions/setup-node@v3 with: node-version: 20.x diff --git a/CHANGELOG.md b/CHANGELOG.md index b97f738435..f86e400824 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,69 @@ +## [9.8.1](https://github.com/dhis2/ui/compare/v9.8.0...v9.8.1) (2024-06-09) + + +### Bug Fixes + +* **translations:** sync translations from transifex (master) ([ca3f6bf](https://github.com/dhis2/ui/commit/ca3f6bf6f46d1fcac88eafe2a62e80d03861b693)) + +# [9.8.0](https://github.com/dhis2/ui/compare/v9.7.0...v9.8.0) (2024-06-06) + + +### Features + +* add data test prop to sharing dialog ([5a1d81d](https://github.com/dhis2/ui/commit/5a1d81d769e48487c922fb3bc6e12b31f58cdd9a)) + +# [9.7.0](https://github.com/dhis2/ui/compare/v9.6.0...v9.7.0) (2024-06-03) + + +### Bug Fixes + +* **Tooltip:** add missing tabIndex ([389e61a](https://github.com/dhis2/ui/commit/389e61aa40f46180045005be09ef295adfae65e7)) + + +### Features + +* splitButton accessibility improvements ([#1458](https://github.com/dhis2/ui/issues/1458)) ([8370915](https://github.com/dhis2/ui/commit/8370915eb91252a501ef6c1acb6ed40a26160b5a)) +* **tooltip:** accessibility improvements for tooltip ([#1463](https://github.com/dhis2/ui/issues/1463)) ([9afcfdf](https://github.com/dhis2/ui/commit/9afcfdf4b6b13e927351364d29d63a774bb1cfa1)) +* add aria attributes to loaders ([#1449](https://github.com/dhis2/ui/issues/1449)) ([aaa60fb](https://github.com/dhis2/ui/commit/aaa60fbd5b4d83f5ede5d3f98db182099af49134)) +* add optional aria-label prop to switch component ([bf9927a](https://github.com/dhis2/ui/commit/bf9927a204d56e688ee64cbff021e249f7f94b5e)) + +# [9.6.0](https://github.com/dhis2/ui/compare/v9.5.0...v9.6.0) (2024-06-03) + + +### Features + +* accessibility on dropdown button ([#1460](https://github.com/dhis2/ui/issues/1460)) ([51750ea](https://github.com/dhis2/ui/commit/51750ea88450d587066127d0bf7592494234bca4)) +* **selectionBar:** accessibility improvements for SelectionBar ([#1475](https://github.com/dhis2/ui/issues/1475)) ([b43882c](https://github.com/dhis2/ui/commit/b43882c93e7c4dc0b514560f2a1ee37bb2bad72f)) + +# [9.5.0](https://github.com/dhis2/ui/compare/v9.4.9...v9.5.0) (2024-05-29) + + +### Features + +* **FileListItem:** accessibility improvements for FileListItem ([#1474](https://github.com/dhis2/ui/issues/1474)) ([b5d5e2d](https://github.com/dhis2/ui/commit/b5d5e2d5b050206ff66da4b0864912ac1f517ede)) + +## [9.4.9](https://github.com/dhis2/ui/compare/v9.4.8...v9.4.9) (2024-05-27) + + +### Bug Fixes + +* **button:** fix prop types for button ([9e9ba33](https://github.com/dhis2/ui/commit/9e9ba33c5dffd7490b72eaa77f65d565b4ef42ba)) +* **types:** update button props to follow best practices ([9c9ff02](https://github.com/dhis2/ui/commit/9c9ff02bfb2b52b842f7ce0d6050342063fd6d3f)) + +## [9.4.8](https://github.com/dhis2/ui/compare/v9.4.7...v9.4.8) (2024-05-26) + + +### Bug Fixes + +* **translations:** sync translations from transifex (master) ([b84d585](https://github.com/dhis2/ui/commit/b84d58557e13f122dce7c65fc52e1a5017012e93)) + +## [9.4.7](https://github.com/dhis2/ui/compare/v9.4.6...v9.4.7) (2024-05-19) + + +### Bug Fixes + +* **translations:** sync translations from transifex (master) ([157bc54](https://github.com/dhis2/ui/commit/157bc54f4c755fc5de5b22426cf0f3e4efed3d86)) + ## [9.4.6](https://github.com/dhis2/ui/compare/v9.4.5...v9.4.6) (2024-05-10) diff --git a/README.md b/README.md index 0fce5f1c93..d118cb32de 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,15 @@ yarn start yarn start --no-manager-cache ``` +## Conditional E2E Test Recording + +To record e2e tests in Cypress Cloud, you can use one of the following methods based on your needs: + +- **Commit Message**: Include `[e2e record]` in your commit messages to activate recording. +- **GitHub Labels**: Apply the `e2e record` label to your pull request to trigger recording. + +This setup helps in managing Cypress Cloud credits more efficiently, ensuring recordings are only made when explicitly required. + ## Reporting an issue or opening a PR See [CONTRIBUTING.md](CONTRIBUTING.md) diff --git a/collections/forms/i18n/lo.po b/collections/forms/i18n/lo.po index 1c99645340..fde0da0d73 100644 --- a/collections/forms/i18n/lo.po +++ b/collections/forms/i18n/lo.po @@ -1,15 +1,15 @@ # # Translators: -# phil_dhis2, 2021 -# Viktor Varland , 2021 +# Philip Larsen Donnelly, 2021 +# Namwan Chanthavisouk, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-02-11T13:37:19.312Z\n" +"POT-Creation-Date: 2024-04-18T04:00:14.144Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Viktor Varland , 2021\n" -"Language-Team: Lao (https://www.transifex.com/hisp-uio/teams/100509/lo/)\n" +"Last-Translator: Namwan Chanthavisouk, 2024\n" +"Language-Team: Lao (https://app.transifex.com/hisp-uio/teams/100509/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -17,89 +17,95 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" msgid "Upload file" -msgstr "ໂຫຼດເອກະສານ" +msgstr "ອັບໂຫຼດເອກະສານ" msgid "Upload files" -msgstr "" +msgstr "ອັບໂຫຼດເອກະສານ" msgid "Remove" msgstr "ລົບອອກ" msgid "Please provide an alpha-numeric value" -msgstr "" +msgstr "ກະລຸນາລະບຸຄ່າທີ່ເປັນຕົວອັກສອນ ແລະ ຕົວເລກ" msgid "Please provide a boolean value" -msgstr "" +msgstr "ກະລຸນາລະບຸຄ່າທີ່ເປັນສູນ" msgid "Please enter between {{lowerBound}} and {{upperBound}} characters" -msgstr "" +msgstr "ກະລຸນາຕື່ມລະຫວ່າງຕົວອັກສອນ {{lowerBound}} ແລະ {{upperBound}} " msgid "" "Please make sure the value of this input matches the value in " "\"{{otherField}}\"." -msgstr "" +msgstr "ກະລຸນາກວດສອບໃຫ້ແນ່ໃຈວ່າຄ່າຂອງຂໍ້ມູນນີ້ກົງກັບຄ່າໃນ \" {{otherField}} \"" msgid "Please enter a maximum of {{upperBound}} characters" -msgstr "" +msgstr "ກະລຸນາຕື່ມຕົວອັກສອນສູງສຸດ {{upperBound}}" msgid "Please enter a number with a maximum of {{upperBound}}" -msgstr "" +msgstr "ກະລຸນາຕື່ມຕົວເລກທີ່ມີຈຳນວນສູງສຸດ {{upperBound}}" msgid "Please enter at least {{lowerBound}} characters" -msgstr "" +msgstr "ກະລຸນາຕື່ມຕົວອັກສອນຢ່າງໜ້ອຍ {{lowerBound}} " msgid "Please enter a number of at least {{lowerBound}}" -msgstr "" +msgstr "ກະລຸນາຕື່ມຈຳນວນຢ່າງໜ້ອຍ {{lowerBound}}" msgid "Number cannot be less than {{lowerBound}} or more than {{upperBound}}" -msgstr "" +msgstr "ຕົວເລກບໍ່ສາມາດໜ້ອຍກວ່າ {{lowerBound}} ຫຼືຫຼາຍກວ່າ {{upperBound}}" msgid "" "Please make sure the value of this input matches the pattern " "{{patternString}}." msgstr "" +"ກະລຸນາກວດສອບໃຫ້ແນ່ໃຈວ່າຄ່າຂອງຂໍ້ມູນນີ້ກົງກັບຮູບແບບ {{patternString}} ." msgid "Password should be a string" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນເປັນຕົວອັກສອນ" msgid "Password should be at least 8 characters long" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນມີຢ່າງໜ້ອຍ 8 ຕົວອັກສອນ" msgid "Password should be no longer than 34 characters" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນຈະບໍ່ເກີນ 34 ຕົວອັກສອນ" msgid "Password should contain at least one lowercase letter" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນມີຕົວພິມນ້ອຍຢ່າງໜ້ອຍໜຶ່ງຕົວ" msgid "Password should contain at least one UPPERCASE letter" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນມີຕົວພິມໃຫຍ່ຢ່າງໜ້ອຍໜຶ່ງຕົວ" msgid "Password should contain at least one number" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນມີຢ່າງໜ້ອຍໜຶ່ງຕົວເລກ" msgid "Password should have at least one special character" -msgstr "" - -msgid "Please provide a username between 4 and 255 characters" -msgstr "" +msgstr "ລະຫັດຜ່ານຄວນມີຢ່າງໜ້ອຍໜຶ່ງຕົວອັກສອນພິເສດ" msgid "Please provide a valid email address" -msgstr "" +msgstr "ກະລຸນາລະບຸທີ່ຢູ່ອີເມວທີ່ຖືກຕ້ອງ" msgid "Please provide a value" -msgstr "" +msgstr "ກະລຸນາລະບຸຄ່າ" msgid "Please provide a round number without decimals" -msgstr "" +msgstr "ກະ​ລຸ​ນາ​ປ້ອນຈໍາ​ນວນ​ມົນ​ໂດຍ​ບໍ່​ມີ​ຈຸດ" msgid "Please provide a valid international phone number." -msgstr "" +msgstr "ກະລຸນາປ້ອນເບີໂທລະສັບທີ່ຖືກຕ້ອງ" msgid "Please provide a number" -msgstr "" +msgstr "ກະລຸນາປ້ອນຕົວເລກ" msgid "Please provide a string" -msgstr "" +msgstr "ກະລຸນາປ້ອນຕົວອັກສອນ" msgid "Please provide a valid url" +msgstr "ກະລຸນາປ້ອນ URL ທີ່ຖືກຕ້ອງ" + +msgctxt " - or @" +msgid "" +"Please provide a username between 4 and 255 characters long and possibly " +"separated by . " msgstr "" +"ກະ​ລຸ​ນາ​ປ້ອນຊື່​ຜູ້​ໃຊ້​ລະ​ຫວ່າງ 4 ແລະ 255 ຕົວ​ອັກ​ສອນ​​ ແລະ​ ​ແຍກ​ອອກ​ . _" +" - ຫຼື @" diff --git a/collections/forms/package.json b/collections/forms/package.json index d89d29faa9..a2fdccfb31 100644 --- a/collections/forms/package.json +++ b/collections/forms/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2/ui-forms", - "version": "9.4.6", + "version": "9.8.1", "main": "./build/cjs/index.js", "module": "./build/es/index.js", "sideEffects": [ @@ -35,15 +35,15 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/checkbox": "9.4.6", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/file-input": "9.4.6", - "@dhis2-ui/input": "9.4.6", - "@dhis2-ui/radio": "9.4.6", - "@dhis2-ui/select": "9.4.6", - "@dhis2-ui/switch": "9.4.6", - "@dhis2-ui/text-area": "9.4.6", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/checkbox": "9.8.1", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/file-input": "9.8.1", + "@dhis2-ui/input": "9.8.1", + "@dhis2-ui/radio": "9.8.1", + "@dhis2-ui/select": "9.8.1", + "@dhis2-ui/switch": "9.8.1", + "@dhis2-ui/text-area": "9.8.1", "classnames": "^2.3.1", "final-form": "^4.20.2", "prop-types": "^15.7.2", diff --git a/collections/ui/API.md b/collections/ui/API.md index 8b4c36d0a0..705d2166f8 100644 --- a/collections/ui/API.md +++ b/collections/ui/API.md @@ -944,6 +944,7 @@ import { CircularLoader } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| +|aria-label|string|||| |className|string|||| |dataTest|string|`'dhis2-uicore-circularloader'`||| |extrasmall|custom|||| @@ -968,6 +969,7 @@ import { LinearLoader } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| |amount|number||*|The progression in percent without the '%' sign| +|aria-label|string|||| |className|string|||| |dataTest|string|`'dhis2-uicore-linearloader'`||| |invert|boolean|||Use inverted color scheme| @@ -1929,6 +1931,7 @@ import { SelectorBar } from '@dhis2/ui' |---|---|---|---|---| |children|any||*|| |additionalContent|any|||| +|ariaLabel|string|||| |className|string|||| |dataTest|string|`'dhis2-ui-selectorbar'`||| |disableClearSelections|boolean|||| @@ -2012,13 +2015,14 @@ import { SharingDialog } from '@dhis2/ui' EVENT_VISUALIZATION, INTERPRETATION, } from './constants.js'||*|The type of object to share| +|dataTest|string|`'dhis2-uicore-sharingdialog'`||| |initialSharingSettings|{
"allowPublic": "boolean",
"groups": "objectOf",
"name": "string",
"public": "import {\n ACCESS_NONE,\n ACCESS_VIEW_ONLY,\n ACCESS_VIEW_AND_EDIT,\n VISUALIZATION,\n DASHBOARD,\n EVENT_VISUALIZATION,\n INTERPRETATION,\n} from './constants.js' │ import {\n ACCESS_NONE,\n ACCESS_VIEW_ONLY,\n ACCESS_VIEW_AND_EDIT,\n VISUALIZATION,\n DASHBOARD,\n EVENT_VISUALIZATION,\n INTERPRETATION,\n} from './constants.js' │ import {\n ACCESS_NONE,\n ACCESS_VIEW_ONLY,\n ACCESS_VIEW_AND_EDIT,\n VISUALIZATION,\n DASHBOARD,\n EVENT_VISUALIZATION,\n INTERPRETATION,\n} from './constants.js'",
"users": "objectOf"
}|`{ name: '', allowPublic: true, public: ACCESS_NONE, groups: {}, users: {}, -}`||Used to seed the component with data to show whilst loading| +}`||| |onClose|function|`() => {}`||| |onError|function|`() => {}`||| |onSave|function|`() => {}`||| @@ -2040,6 +2044,7 @@ import { Modal } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| |children|node||*|| +|dataTest|string|`'dhis2-uicore-sharingdialog-modal'`||| |name|string|||| |onClose|function|||| @@ -2059,7 +2064,7 @@ import { Switch } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| -|ariaLabel|string|||Sets an aria-label attribute on the input| +|aria-label|string|||Sets an aria-label attribute on the input| |checked|boolean|`false`||| |className|string|||| |dataTest|string|`'dhis2-uicore-switch'`||| @@ -2999,6 +3004,7 @@ import { UserAvatar } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| |name|string||*|| +|ariaLabel|string|||| |avatarId|string|||| |className|string|||| |dataTest|string|`'dhis2-uicore-useravatar'`||| diff --git a/collections/ui/package.json b/collections/ui/package.json index 32ee3cc93c..1a03f9cf36 100644 --- a/collections/ui/package.json +++ b/collections/ui/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2/ui", - "version": "9.4.6", + "version": "9.8.1", "main": "./build/cjs/index.js", "module": "./build/es/index.js", "exports": { @@ -21,54 +21,54 @@ "build": "d2-app-scripts build" }, "dependencies": { - "@dhis2-ui/alert": "9.4.6", - "@dhis2-ui/box": "9.4.6", - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/calendar": "9.4.6", - "@dhis2-ui/card": "9.4.6", - "@dhis2-ui/center": "9.4.6", - "@dhis2-ui/checkbox": "9.4.6", - "@dhis2-ui/chip": "9.4.6", - "@dhis2-ui/cover": "9.4.6", - "@dhis2-ui/css": "9.4.6", - "@dhis2-ui/divider": "9.4.6", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/file-input": "9.4.6", - "@dhis2-ui/header-bar": "9.4.6", - "@dhis2-ui/help": "9.4.6", - "@dhis2-ui/input": "9.4.6", - "@dhis2-ui/intersection-detector": "9.4.6", - "@dhis2-ui/label": "9.4.6", - "@dhis2-ui/layer": "9.4.6", - "@dhis2-ui/legend": "9.4.6", - "@dhis2-ui/loader": "9.4.6", - "@dhis2-ui/logo": "9.4.6", - "@dhis2-ui/menu": "9.4.6", - "@dhis2-ui/modal": "9.4.6", - "@dhis2-ui/node": "9.4.6", - "@dhis2-ui/notice-box": "9.4.6", - "@dhis2-ui/organisation-unit-tree": "9.4.6", - "@dhis2-ui/pagination": "9.4.6", - "@dhis2-ui/popover": "9.4.6", - "@dhis2-ui/popper": "9.4.6", - "@dhis2-ui/portal": "9.4.6", - "@dhis2-ui/radio": "9.4.6", - "@dhis2-ui/required": "9.4.6", - "@dhis2-ui/segmented-control": "9.4.6", - "@dhis2-ui/select": "9.4.6", - "@dhis2-ui/selector-bar": "9.4.6", - "@dhis2-ui/sharing-dialog": "9.4.6", - "@dhis2-ui/switch": "9.4.6", - "@dhis2-ui/tab": "9.4.6", - "@dhis2-ui/table": "9.4.6", - "@dhis2-ui/tag": "9.4.6", - "@dhis2-ui/text-area": "9.4.6", - "@dhis2-ui/tooltip": "9.4.6", - "@dhis2-ui/transfer": "9.4.6", - "@dhis2-ui/user-avatar": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-forms": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/alert": "9.8.1", + "@dhis2-ui/box": "9.8.1", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/calendar": "9.8.1", + "@dhis2-ui/card": "9.8.1", + "@dhis2-ui/center": "9.8.1", + "@dhis2-ui/checkbox": "9.8.1", + "@dhis2-ui/chip": "9.8.1", + "@dhis2-ui/cover": "9.8.1", + "@dhis2-ui/css": "9.8.1", + "@dhis2-ui/divider": "9.8.1", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/file-input": "9.8.1", + "@dhis2-ui/header-bar": "9.8.1", + "@dhis2-ui/help": "9.8.1", + "@dhis2-ui/input": "9.8.1", + "@dhis2-ui/intersection-detector": "9.8.1", + "@dhis2-ui/label": "9.8.1", + "@dhis2-ui/layer": "9.8.1", + "@dhis2-ui/legend": "9.8.1", + "@dhis2-ui/loader": "9.8.1", + "@dhis2-ui/logo": "9.8.1", + "@dhis2-ui/menu": "9.8.1", + "@dhis2-ui/modal": "9.8.1", + "@dhis2-ui/node": "9.8.1", + "@dhis2-ui/notice-box": "9.8.1", + "@dhis2-ui/organisation-unit-tree": "9.8.1", + "@dhis2-ui/pagination": "9.8.1", + "@dhis2-ui/popover": "9.8.1", + "@dhis2-ui/popper": "9.8.1", + "@dhis2-ui/portal": "9.8.1", + "@dhis2-ui/radio": "9.8.1", + "@dhis2-ui/required": "9.8.1", + "@dhis2-ui/segmented-control": "9.8.1", + "@dhis2-ui/select": "9.8.1", + "@dhis2-ui/selector-bar": "9.8.1", + "@dhis2-ui/sharing-dialog": "9.8.1", + "@dhis2-ui/switch": "9.8.1", + "@dhis2-ui/tab": "9.8.1", + "@dhis2-ui/table": "9.8.1", + "@dhis2-ui/tag": "9.8.1", + "@dhis2-ui/text-area": "9.8.1", + "@dhis2-ui/tooltip": "9.8.1", + "@dhis2-ui/transfer": "9.8.1", + "@dhis2-ui/user-avatar": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-forms": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "prop-types": "^15.7.2" }, "peerDependencies": { diff --git a/components/alert/package.json b/components/alert/package.json index 94dbb10581..afb6e6919c 100644 --- a/components/alert/package.json +++ b/components/alert/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/alert", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Alert", "repository": { "type": "git", @@ -33,9 +33,9 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/portal": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/portal": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/box/package.json b/components/box/package.json index 9c46451ac2..057bd588fd 100644 --- a/components/box/package.json +++ b/components/box/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/box", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Box", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/button/package.json b/components/button/package.json index b492110643..0d7584c91a 100644 --- a/components/button/package.json +++ b/components/button/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/button", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Button", "repository": { "type": "git", @@ -33,11 +33,11 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/layer": "9.4.6", - "@dhis2-ui/loader": "9.4.6", - "@dhis2-ui/popper": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/layer": "9.8.1", + "@dhis2-ui/loader": "9.8.1", + "@dhis2-ui/popper": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/button/src/button/__tests__/Button.test.js b/components/button/src/button/__tests__/Button.test.js index 9126fb798f..b36146c492 100644 --- a/components/button/src/button/__tests__/Button.test.js +++ b/components/button/src/button/__tests__/Button.test.js @@ -4,6 +4,52 @@ import React from 'react' import { Button } from '../button.js' describe(') + + expect(consoleSpy).not.toHaveBeenCalled() + }) + + it('does not warn if aria-label and title is present', () => { + render( + + ) + + expect(consoleSpy).not.toHaveBeenCalled() + }) + + it('warns if no children are present with no arial-label and title', () => { + render() + + expect(consoleSpy).toHaveBeenCalledWith( + 'Button component has no children but is missing title and ariaLabel attribute.' + ) + }) + + it('No warning if there are no children but arial label and title', () => { + render( + + ) + + expect(consoleSpy).not.toHaveBeenCalled() + }) + }) + it('renders a default data-test attribute', () => { const dataTest = 'dhis2-uicore-button' const wrapper = mount( diff --git a/components/button/src/split-button/split-button.test.js b/components/button/src/split-button/split-button.test.js new file mode 100644 index 0000000000..d7c8ef2027 --- /dev/null +++ b/components/button/src/split-button/split-button.test.js @@ -0,0 +1,85 @@ +import { render, fireEvent, cleanup, waitFor } from '@testing-library/react' +import React from 'react' +import '@testing-library/jest-dom/extend-expect' +import { SplitButton } from './split-button.js' + +describe('SplitButton', () => { + afterEach(cleanup) + + it('renders button with children', () => { + const { getByText } = render(Click me) + expect(getByText('Click me')).toBeInTheDocument() + }) + + it('toggles dropdown when left button is clicked', () => { + const { getByTestId, queryByTestId } = render() + const toggleButton = getByTestId('dhis2-uicore-splitbutton-toggle') + + fireEvent.click(toggleButton) + expect( + queryByTestId('dhis2-uicore-splitbutton-menu') + ).toBeInTheDocument() + + fireEvent.click(toggleButton) + expect( + queryByTestId('dhis2-uicore-splitbutton-menu') + ).not.toBeInTheDocument() + }) + + it('renders dropdown content when open is true', () => { + const { getByTestId } = render( + Dropdown Content} /> + ) + + const toggleButton = getByTestId('dhis2-uicore-splitbutton-toggle') + fireEvent.click(toggleButton) + + expect(getByTestId('dhis2-uicore-splitbutton-menu')).toBeInTheDocument() + }) + + it("does not close dropdown 'Enter' key is pressed", async () => { + const { getByTestId } = render( + Dropdown Content} /> + ) + + const toggleButton = getByTestId('dhis2-uicore-splitbutton-toggle') + fireEvent.click(toggleButton) + expect(getByTestId('dhis2-uicore-splitbutton-menu')).toBeInTheDocument() + + fireEvent.keyDown(document, { key: 'Enter' }) + + // Use waitFor to wait for the DOM to update + await waitFor(() => { + expect( + getByTestId('dhis2-uicore-splitbutton-menu') + ).toBeInTheDocument() + }) + }) + + it('closes dropdown when escape key is pressed', async () => { + const { getByTestId, queryByTestId } = render( + Dropdown Content} /> + ) + + const toggleButton = getByTestId('dhis2-uicore-splitbutton-toggle') + fireEvent.click(toggleButton) + expect(getByTestId('dhis2-uicore-splitbutton-menu')).toBeInTheDocument() + + fireEvent.keyDown(document, { key: 'Escape' }) + + // Use waitFor to wait for the DOM to update + await waitFor(() => { + expect( + queryByTestId('dhis2-uicore-splitbutton-menu') + ).not.toBeInTheDocument() + }) + }) + + it('adds title and aria-label attributes to the right button', () => { + const { getByTestId } = render() + const toggleButton = getByTestId('dhis2-uicore-splitbutton-toggle') + + expect(toggleButton).toHaveAttribute('title', 'Toggle dropdown') + expect(toggleButton).toHaveAttribute('aria-label', 'Toggle dropdown') + }) +}) diff --git a/components/button/types/index.d.ts b/components/button/types/index.d.ts index c6f91fe7d4..1042e52935 100644 --- a/components/button/types/index.d.ts +++ b/components/button/types/index.d.ts @@ -16,7 +16,7 @@ type ButtonOpenEventHandler< Event extends React.SyntheticEvent = React.MouseEvent > = (arg0: ButtonEventPayload & { open: boolean }, event: Event) => void -export interface ButtonProps extends HTMLButtonElement { +export interface BaseButtonProps { /** * Component to render inside the button */ @@ -102,6 +102,9 @@ export interface ButtonProps extends HTMLButtonElement { onKeyDown?: ButtonEventHandler> } +export type ButtonProps = BaseButtonProps & + Omit, keyof BaseButtonProps> + export const Button: React.FC export interface ButtonStripProps { diff --git a/components/calendar/package.json b/components/calendar/package.json index 8f6e9fd626..3c57716dc3 100644 --- a/components/calendar/package.json +++ b/components/calendar/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/calendar", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Calendar", "repository": { "type": "git", @@ -33,15 +33,15 @@ "styled-jsx": "^4" }, "dependencies": { - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/card": "9.4.6", - "@dhis2-ui/input": "9.4.6", - "@dhis2-ui/layer": "9.4.6", - "@dhis2-ui/popper": "9.4.6", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/card": "9.8.1", + "@dhis2-ui/input": "9.8.1", + "@dhis2-ui/layer": "9.8.1", + "@dhis2-ui/popper": "9.8.1", "@dhis2/multi-calendar-dates": "v1.0.0-alpha.26", "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/card/package.json b/components/card/package.json index faf537ba14..39e8b92d73 100644 --- a/components/card/package.json +++ b/components/card/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/card", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Card", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/center/package.json b/components/center/package.json index 0db04f3a59..0d1b72760e 100644 --- a/components/center/package.json +++ b/components/center/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/center", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Center", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/checkbox/package.json b/components/checkbox/package.json index ec45425532..04fb10a8bf 100644 --- a/components/checkbox/package.json +++ b/components/checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/checkbox", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Checkbox", "repository": { "type": "git", @@ -33,9 +33,9 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/required": "9.4.6", - "@dhis2/ui-constants": "9.4.6", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/required": "9.8.1", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/chip/package.json b/components/chip/package.json index 70ec34de48..06db869a0b 100644 --- a/components/chip/package.json +++ b/components/chip/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/chip", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Chip", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/cover/package.json b/components/cover/package.json index bcb61f1440..8897f6fa24 100644 --- a/components/cover/package.json +++ b/components/cover/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/cover", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Cover", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/css/package.json b/components/css/package.json index d7efdce7e5..8ed63229cc 100644 --- a/components/css/package.json +++ b/components/css/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/css", - "version": "9.4.6", + "version": "9.8.1", "description": "UI CSS", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/divider/package.json b/components/divider/package.json index 20508635e0..cea713615c 100644 --- a/components/divider/package.json +++ b/components/divider/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/divider", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Divider", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/field/package.json b/components/field/package.json index bb44374a1f..19e0b34fbe 100644 --- a/components/field/package.json +++ b/components/field/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/field", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Field", "repository": { "type": "git", @@ -33,10 +33,10 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/box": "9.4.6", - "@dhis2-ui/help": "9.4.6", - "@dhis2-ui/label": "9.4.6", - "@dhis2/ui-constants": "9.4.6", + "@dhis2-ui/box": "9.8.1", + "@dhis2-ui/help": "9.8.1", + "@dhis2-ui/label": "9.8.1", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/file-input/i18n/lo.po b/components/file-input/i18n/lo.po index 6c02ff9b8f..44c3a24d23 100644 --- a/components/file-input/i18n/lo.po +++ b/components/file-input/i18n/lo.po @@ -1,14 +1,15 @@ # # Translators: -# phil_dhis2, 2021 +# Philip Larsen Donnelly, 2021 +# Namwan Chanthavisouk, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" "POT-Creation-Date: 2021-06-04T18:40:29.413Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2021\n" -"Language-Team: Lao (https://www.transifex.com/hisp-uio/teams/100509/lo/)\n" +"Last-Translator: Namwan Chanthavisouk, 2024\n" +"Language-Team: Lao (https://app.transifex.com/hisp-uio/teams/100509/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -16,10 +17,10 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" msgid "Upload a file" -msgstr "" +msgstr "ອັບໂຫຼດເອກະສານ" msgid "No file uploaded yet" -msgstr "" +msgstr "ຍັງບໍ່ມີເອກະສານອັບໂຫຼດເທື່ອ" msgid "Remove" msgstr "ລົບອອກ" diff --git a/components/file-input/package.json b/components/file-input/package.json index a187d5dd28..b9d08df13d 100644 --- a/components/file-input/package.json +++ b/components/file-input/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/file-input", - "version": "9.4.6", + "version": "9.8.1", "description": "UI FileInput", "repository": { "type": "git", @@ -34,13 +34,13 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/label": "9.4.6", - "@dhis2-ui/loader": "9.4.6", - "@dhis2-ui/status-icon": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/label": "9.8.1", + "@dhis2-ui/loader": "9.8.1", + "@dhis2-ui/status-icon": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/file-input/src/file-list/file-list-item.js b/components/file-input/src/file-list/file-list-item.js index eae111a07d..71eaa160a4 100644 --- a/components/file-input/src/file-list/file-list-item.js +++ b/components/file-input/src/file-list/file-list-item.js @@ -14,91 +14,108 @@ const FileListItem = ({ onCancel, cancelText, dataTest, -}) => ( -

- - {loading ? ( - - ) : ( - - )} - +}) => { + const handleKeyDown = (event) => { + if (!onRemove) { + return + } + if ( + event.key === 'Enter' || + event.key === 'Backspace' || + event.key === 'Delete' + ) { + onRemove({}, event) + } + } - - {label} + return ( +

+ + {loading ? ( + + ) : ( + + )} + - {loading && onCancel && cancelText && ( - onCancel({}, event)} - data-test={`${dataTest}-cancel`} - > - {cancelText} - - )} + + {label} - {!loading && ( - onRemove({}, event)} - data-test={`${dataTest}-remove`} - > - {removeText} - - )} - + {loading && onCancel && cancelText && ( + onCancel({}, event)} + data-test={`${dataTest}-cancel`} + > + {cancelText} + + )} - -

-) + {!loading && ( + onRemove({}, event)} + data-test={`${dataTest}-remove`} + tabIndex={0} + onKeyDown={handleKeyDown} + > + {removeText} + + )} + + + +

+ ) +} FileListItem.defaultProps = { dataTest: 'dhis2-uicore-filelistitem', diff --git a/components/header-bar/i18n/ar.po b/components/header-bar/i18n/ar.po index a1a4ed37fb..844c115885 100644 --- a/components/header-bar/i18n/ar.po +++ b/components/header-bar/i18n/ar.po @@ -1,15 +1,15 @@ # # Translators: # Hamza Assada <7amza.it@gmail.com>, 2021 -# phil_dhis2, 2022 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2022\n" -"Language-Team: Arabic (https://www.transifex.com/hisp-uio/teams/100509/ar/)\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Language-Team: Arabic (https://app.transifex.com/hisp-uio/teams/100509/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -43,8 +43,11 @@ msgstr "إغلاق" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "التفسيرات" + +msgid "Messages" +msgstr "الرسائل" msgid "Online" msgstr "متصل" diff --git a/components/header-bar/i18n/ar_IQ.po b/components/header-bar/i18n/ar_IQ.po index e80ce1139a..d5ff4df58e 100644 --- a/components/header-bar/i18n/ar_IQ.po +++ b/components/header-bar/i18n/ar_IQ.po @@ -1,14 +1,14 @@ # # Translators: -# KRG HIS , 2022 +# KRG HIS , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: KRG HIS , 2022\n" -"Language-Team: Arabic (Iraq) (https://www.transifex.com/hisp-uio/teams/100509/ar_IQ/)\n" +"Last-Translator: KRG HIS , 2024\n" +"Language-Team: Arabic (Iraq) (https://app.transifex.com/hisp-uio/teams/100509/ar_IQ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -42,8 +42,11 @@ msgstr "إغلاق" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "التفسيرات" + +msgid "Messages" +msgstr "الرسائل" msgid "Online" msgstr "متصل" diff --git a/components/header-bar/i18n/cs.po b/components/header-bar/i18n/cs.po index d3eb8feb78..29b045b45e 100644 --- a/components/header-bar/i18n/cs.po +++ b/components/header-bar/i18n/cs.po @@ -1,13 +1,13 @@ # # Translators: -# Jiří Podhorecký, 2022 +# Jiří Podhorecký, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Jiří Podhorecký, 2022\n" +"Last-Translator: Jiří Podhorecký, 2024\n" "Language-Team: Czech (https://app.transifex.com/hisp-uio/teams/100509/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,6 +42,12 @@ msgstr "Zavřít" msgid "Copy debug info" msgstr "Zkopírovat informace o ladění" +msgid "Interpretations" +msgstr "Interpretace" + +msgid "Messages" +msgstr "Zprávy" + msgid "Online" msgstr "Online" diff --git a/components/header-bar/i18n/da.po b/components/header-bar/i18n/da.po index f4836a6549..0e116cb251 100644 --- a/components/header-bar/i18n/da.po +++ b/components/header-bar/i18n/da.po @@ -1,14 +1,14 @@ # # Translators: -# phil_dhis2, 2022 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2022\n" -"Language-Team: Danish (https://www.transifex.com/hisp-uio/teams/100509/da/)\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Language-Team: Danish (https://app.transifex.com/hisp-uio/teams/100509/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -42,8 +42,11 @@ msgstr "Close" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "Interpretations" + +msgid "Messages" +msgstr "Messages" msgid "Online" msgstr "Online" diff --git a/components/header-bar/i18n/en.pot b/components/header-bar/i18n/en.pot index 8eb2ee283f..2d8598618c 100644 --- a/components/header-bar/i18n/en.pot +++ b/components/header-bar/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" -"PO-Revision-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" +"PO-Revision-Date: 2024-03-29T07:26:07.540Z\n" msgid "Search apps" msgstr "Search apps" @@ -35,6 +35,12 @@ msgstr "Close" msgid "Copy debug info" msgstr "Copy debug info" +msgid "Interpretations" +msgstr "Interpretations" + +msgid "Messages" +msgstr "Messages" + msgid "Online" msgstr "Online" diff --git a/components/header-bar/i18n/es.po b/components/header-bar/i18n/es.po index 8ed1b35031..a1fb2d163a 100644 --- a/components/header-bar/i18n/es.po +++ b/components/header-bar/i18n/es.po @@ -1,15 +1,15 @@ # # Translators: # Prabhjot Singh, 2021 -# phil_dhis2, 2022 # Janeth Cruz, 2023 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Janeth Cruz, 2023\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" "Language-Team: Spanish (https://app.transifex.com/hisp-uio/teams/100509/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,6 +44,12 @@ msgstr "Cerrar" msgid "Copy debug info" msgstr "Copiar la información de depuración" +msgid "Interpretations" +msgstr "Interpretaciones" + +msgid "Messages" +msgstr "Mensajes" + msgid "Online" msgstr "Conectado" diff --git a/components/header-bar/i18n/fr.po b/components/header-bar/i18n/fr.po index 3f66ab71b4..369f2102b1 100644 --- a/components/header-bar/i18n/fr.po +++ b/components/header-bar/i18n/fr.po @@ -1,15 +1,17 @@ # # Translators: # Edem Kossi , 2021 -# phil_dhis2, 2022 +# Philip Larsen Donnelly, 2022 +# Karoline Tufte Lien , 2024 +# Yao Selom SAKA (HISP WCA) , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2022\n" -"Language-Team: French (https://www.transifex.com/hisp-uio/teams/100509/fr/)\n" +"Last-Translator: Yao Selom SAKA (HISP WCA) , 2024\n" +"Language-Team: French (https://app.transifex.com/hisp-uio/teams/100509/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -43,8 +45,11 @@ msgstr "Fermer" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "Interprétations" + +msgid "Messages" +msgstr "Messages" msgid "Online" msgstr "En ligne" diff --git a/components/header-bar/i18n/id.po b/components/header-bar/i18n/id.po index f8f82768be..ee680296a5 100644 --- a/components/header-bar/i18n/id.po +++ b/components/header-bar/i18n/id.po @@ -1,17 +1,17 @@ # # Translators: -# Aprisa Chrysantina , 2021 # Untoro Dwi Raharjo , 2021 # Raja Fathurrahim, 2022 # Viktor Varland , 2022 # Farida Sibuea , 2023 +# Aprisa Chrysantina , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Farida Sibuea , 2023\n" +"Last-Translator: Aprisa Chrysantina , 2024\n" "Language-Team: Indonesian (https://app.transifex.com/hisp-uio/teams/100509/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -46,6 +46,12 @@ msgstr "Tutup" msgid "Copy debug info" msgstr "" +msgid "Interpretations" +msgstr "Interpretasi" + +msgid "Messages" +msgstr "Pesan" + msgid "Online" msgstr "Online" diff --git a/components/header-bar/i18n/lo.po b/components/header-bar/i18n/lo.po index 461454dcc2..26d92970ac 100644 --- a/components/header-bar/i18n/lo.po +++ b/components/header-bar/i18n/lo.po @@ -1,14 +1,15 @@ # # Translators: -# Philip Larsen Donnelly, 2022 # Saysamone Sibounma, 2023 +# Namwan Chanthavisouk, 2024 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Saysamone Sibounma, 2023\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" "Language-Team: Lao (https://app.transifex.com/hisp-uio/teams/100509/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,28 +21,34 @@ msgid "Search apps" msgstr "ຄົ້ນຫາແອັບ" msgid "DHIS2 {{dhis2Version}}" -msgstr "" +msgstr "DHIS2 {{dhis2Version}}" msgid "DHIS2 version unknown" -msgstr "" +msgstr "DHIS2 ບໍ່ຮູ້ເວີຊັນ" msgid "{{appName}} version unknown" -msgstr "" +msgstr "{{appName}} ບໍ່ຮູ້ເວີຊັນ" msgid "App {{appVersion}}" -msgstr "" +msgstr "ແອັບ {{appVersion}}" msgid "App version unknown" -msgstr "" +msgstr "ບໍ່ຮູ້ເວີຊັນແອັບ" msgid "Debug info" -msgstr "" +msgstr "ຂໍ້ມູນການແກ້ໄຂ" msgid "Close" msgstr "ປິດ" msgid "Copy debug info" -msgstr "" +msgstr "ກ໋ອບປີ້ຂໍ້ມູນການແກ້ໄຂ" + +msgid "Interpretations" +msgstr "ການແປຂໍ້ມູນ" + +msgid "Messages" +msgstr "ຂໍ້ຄວາມ" msgid "Online" msgstr "ມີການເຊື່ອມຕໍ່" @@ -62,16 +69,16 @@ msgid "Help" msgstr "ຊ່ວຍ" msgid "About DHIS2" -msgstr "" +msgstr "ກ່ຽວກັບ DHIS2" msgid "Logout" msgstr "ອອກຈາກລະບົບ" msgid "New {{appName}} version available" -msgstr "" +msgstr "ມີເວີຊັນໃໝ່ {{appName}} " msgid "New app version available" -msgstr "" +msgstr "ມີແອັບເວີຊັນໃໝ່" msgid "Click to reload" -msgstr "" +msgstr "ຄລິກເພື່ອໂຫຼດຄືນໃໝ່" diff --git a/components/header-bar/i18n/my.po b/components/header-bar/i18n/my.po index b9dc9f9d77..13191306c1 100644 --- a/components/header-bar/i18n/my.po +++ b/components/header-bar/i18n/my.po @@ -1,14 +1,14 @@ # # Translators: -# phil_dhis2, 2022 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2022\n" -"Language-Team: Burmese (https://www.transifex.com/hisp-uio/teams/100509/my/)\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Language-Team: Burmese (https://app.transifex.com/hisp-uio/teams/100509/my/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -42,8 +42,11 @@ msgstr "ပိတ်သည်" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "ဘာသာပြန်ခြင်းများ" + +msgid "Messages" +msgstr "သတင်းများ" msgid "Online" msgstr "အင်တာနက်နှင့်ချိတ်ဆက်ထားသည်" diff --git a/components/header-bar/i18n/nb.po b/components/header-bar/i18n/nb.po index d54f4a9d95..6e402372d5 100644 --- a/components/header-bar/i18n/nb.po +++ b/components/header-bar/i18n/nb.po @@ -1,13 +1,13 @@ # # Translators: -# Karoline Tufte Lien , 2023 +# Karoline Tufte Lien , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Karoline Tufte Lien , 2023\n" +"Last-Translator: Karoline Tufte Lien , 2024\n" "Language-Team: Norwegian Bokmål (https://app.transifex.com/hisp-uio/teams/100509/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,6 +42,12 @@ msgstr "Lukk" msgid "Copy debug info" msgstr "Kopier feilsøkingsinformasjon" +msgid "Interpretations" +msgstr "Tolkninger" + +msgid "Messages" +msgstr "Meldinger" + msgid "Online" msgstr "Påkoblet" diff --git a/components/header-bar/i18n/nl.po b/components/header-bar/i18n/nl.po index 1f5d9ea504..1b7e97798b 100644 --- a/components/header-bar/i18n/nl.po +++ b/components/header-bar/i18n/nl.po @@ -1,15 +1,15 @@ # # Translators: -# Rica Zamora Duchateau, 2022 -# Charel van den Elsen, 2023 # Philip Larsen Donnelly, 2024 +# Charel van den Elsen, 2024 +# Rica Zamora Duchateau, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Last-Translator: Rica Zamora Duchateau, 2024\n" "Language-Team: Dutch (https://app.transifex.com/hisp-uio/teams/100509/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,6 +44,12 @@ msgstr "Sluit" msgid "Copy debug info" msgstr "Foutopsporingsinformatie kopiëren" +msgid "Interpretations" +msgstr "Interpretaties" + +msgid "Messages" +msgstr "Berichten" + msgid "Online" msgstr "Online" diff --git a/components/header-bar/i18n/prs.po b/components/header-bar/i18n/prs.po index f116bb57c7..f8e492af02 100644 --- a/components/header-bar/i18n/prs.po +++ b/components/header-bar/i18n/prs.po @@ -1,14 +1,14 @@ # # Translators: -# phil_dhis2, 2022 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2022\n" -"Language-Team: Persian (Afghanistan) (https://www.transifex.com/hisp-uio/teams/100509/fa_AF/)\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Language-Team: Persian (Afghanistan) (https://app.transifex.com/hisp-uio/teams/100509/fa_AF/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -42,8 +42,11 @@ msgstr "بستن" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "تفسیر ها" + +msgid "Messages" +msgstr "پیام ها" msgid "Online" msgstr "آنلاین" diff --git a/components/header-bar/i18n/pt_BR.po b/components/header-bar/i18n/pt_BR.po index 72825636ed..e2fbae6b7f 100644 --- a/components/header-bar/i18n/pt_BR.po +++ b/components/header-bar/i18n/pt_BR.po @@ -1,14 +1,14 @@ # # Translators: -# Philip Larsen Donnelly, 2022 # Thiago Rocha, 2024 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Thiago Rocha, 2024\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/hisp-uio/teams/100509/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,6 +43,12 @@ msgstr "Fechar" msgid "Copy debug info" msgstr "" +msgid "Interpretations" +msgstr "Interpretações" + +msgid "Messages" +msgstr "Mensagens" + msgid "Online" msgstr "Ligado" diff --git a/components/header-bar/i18n/si.po b/components/header-bar/i18n/si.po index 0f055cbc39..fe9fac45b6 100644 --- a/components/header-bar/i18n/si.po +++ b/components/header-bar/i18n/si.po @@ -1,13 +1,13 @@ # # Translators: -# Malinda Wijeratne, 2023 +# Malinda Wijeratne, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Malinda Wijeratne, 2023\n" +"Last-Translator: Malinda Wijeratne, 2024\n" "Language-Team: Sinhala (https://app.transifex.com/hisp-uio/teams/100509/si/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,6 +42,12 @@ msgstr "වසන්න" msgid "Copy debug info" msgstr "" +msgid "Interpretations" +msgstr "" + +msgid "Messages" +msgstr "පණිවිඩ" + msgid "Online" msgstr "" diff --git a/components/header-bar/i18n/tg.po b/components/header-bar/i18n/tg.po index d4c784cd4d..1ad6b06e80 100644 --- a/components/header-bar/i18n/tg.po +++ b/components/header-bar/i18n/tg.po @@ -1,14 +1,14 @@ # # Translators: -# phil_dhis2, 2022 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2022-10-03T12:12:05.437Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: phil_dhis2, 2022\n" -"Language-Team: Tajik (https://www.transifex.com/hisp-uio/teams/100509/tg/)\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Language-Team: Tajik (https://app.transifex.com/hisp-uio/teams/100509/tg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -42,8 +42,11 @@ msgstr "Пӯшидан" msgid "Copy debug info" msgstr "" -msgid "Last online {{relativeTime}}" -msgstr "" +msgid "Interpretations" +msgstr "Тафсирҳо" + +msgid "Messages" +msgstr "Паёмҳо" msgid "Online" msgstr "Онлайн" diff --git a/components/header-bar/i18n/uk.po b/components/header-bar/i18n/uk.po index 348b12589c..5aa547299c 100644 --- a/components/header-bar/i18n/uk.po +++ b/components/header-bar/i18n/uk.po @@ -1,15 +1,15 @@ # # Translators: # Wanda , 2021 -# phil_dhis2, 2021 # Éva Tamási, 2022 +# Philip Larsen Donnelly, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Éva Tamási, 2022\n" +"Last-Translator: Philip Larsen Donnelly, 2024\n" "Language-Team: Ukrainian (https://app.transifex.com/hisp-uio/teams/100509/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,6 +44,12 @@ msgstr "Закрити" msgid "Copy debug info" msgstr "" +msgid "Interpretations" +msgstr "Інтерпретації" + +msgid "Messages" +msgstr "Повідомлення" + msgid "Online" msgstr "Онлайн" diff --git a/components/header-bar/i18n/uz_UZ_Cyrl.po b/components/header-bar/i18n/uz_UZ_Cyrl.po index d41f27c117..6d2286b02a 100644 --- a/components/header-bar/i18n/uz_UZ_Cyrl.po +++ b/components/header-bar/i18n/uz_UZ_Cyrl.po @@ -1,13 +1,13 @@ # # Translators: -# Ibatov , 2022 +# Ibatov , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Ibatov , 2022\n" +"Last-Translator: Ibatov , 2024\n" "Language-Team: Uzbek (Cyrillic) (https://app.transifex.com/hisp-uio/teams/100509/uz@Cyrl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,6 +42,12 @@ msgstr "Ёпиш" msgid "Copy debug info" msgstr "" +msgid "Interpretations" +msgstr "Талқинлар" + +msgid "Messages" +msgstr "Хабарлар" + msgid "Online" msgstr "Онлайн" diff --git a/components/header-bar/i18n/uz_UZ_Latn.po b/components/header-bar/i18n/uz_UZ_Latn.po index fbf02b6dc5..01c2ae1aad 100644 --- a/components/header-bar/i18n/uz_UZ_Latn.po +++ b/components/header-bar/i18n/uz_UZ_Latn.po @@ -1,13 +1,13 @@ # # Translators: -# Yury Rogachev , 2022 +# Yury Rogachev , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2023-01-18T16:13:05.063Z\n" +"POT-Creation-Date: 2024-03-29T07:26:07.540Z\n" "PO-Revision-Date: 2021-06-24 12:50+0000\n" -"Last-Translator: Yury Rogachev , 2022\n" +"Last-Translator: Yury Rogachev , 2024\n" "Language-Team: Uzbek (Latin) (https://app.transifex.com/hisp-uio/teams/100509/uz@Latn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,6 +42,12 @@ msgstr "Yopmoq" msgid "Copy debug info" msgstr "" +msgid "Interpretations" +msgstr "Talqinlar" + +msgid "Messages" +msgstr "Xabarlar" + msgid "Online" msgstr "Onlayn" diff --git a/components/header-bar/package.json b/components/header-bar/package.json index df9729a338..98d1474ea5 100644 --- a/components/header-bar/package.json +++ b/components/header-bar/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/header-bar", - "version": "9.4.6", + "version": "9.8.1", "description": "UI HeaderBar", "repository": { "type": "git", @@ -34,21 +34,21 @@ "styled-jsx": "^4" }, "dependencies": { - "@dhis2-ui/box": "9.4.6", - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/card": "9.4.6", - "@dhis2-ui/center": "9.4.6", - "@dhis2-ui/divider": "9.4.6", - "@dhis2-ui/input": "9.4.6", - "@dhis2-ui/layer": "9.4.6", - "@dhis2-ui/loader": "9.4.6", - "@dhis2-ui/logo": "9.4.6", - "@dhis2-ui/menu": "9.4.6", - "@dhis2-ui/modal": "9.4.6", - "@dhis2-ui/user-avatar": "9.4.6", + "@dhis2-ui/box": "9.8.1", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/card": "9.8.1", + "@dhis2-ui/center": "9.8.1", + "@dhis2-ui/divider": "9.8.1", + "@dhis2-ui/input": "9.8.1", + "@dhis2-ui/layer": "9.8.1", + "@dhis2-ui/loader": "9.8.1", + "@dhis2-ui/logo": "9.8.1", + "@dhis2-ui/menu": "9.8.1", + "@dhis2-ui/modal": "9.8.1", + "@dhis2-ui/user-avatar": "9.8.1", "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "moment": "^2.29.1", "prop-types": "^15.7.2" diff --git a/components/header-bar/src/notification-icon.js b/components/header-bar/src/notification-icon.js index 7619e8eeca..46f96db6ea 100755 --- a/components/header-bar/src/notification-icon.js +++ b/components/header-bar/src/notification-icon.js @@ -2,6 +2,7 @@ import { colors, theme, spacers } from '@dhis2/ui-constants' import { IconMessages24, IconMail24 } from '@dhis2/ui-icons' import PropTypes from 'prop-types' import React from 'react' +import i18n from './locales/index.js' function icon(kind) { if (kind === 'message') { @@ -11,8 +12,22 @@ function icon(kind) { } } -export const NotificationIcon = ({ count, href, kind, dataTestId }) => ( - +export const NotificationIcon = ({ + count, + href, + kind, + dataTestId, + title, + 'aria-label': ariaLabel, +}) => ( + {icon(kind)} {count > 0 && {count}} @@ -71,7 +86,9 @@ NotificationIcon.defaultProps = { } NotificationIcon.propTypes = { + 'aria-label': PropTypes.string.isRequired, href: PropTypes.string.isRequired, + title: PropTypes.string.isRequired, count: PropTypes.number, dataTestId: PropTypes.string, kind: PropTypes.oneOf(['interpretation', 'message']), diff --git a/components/header-bar/src/notifications.js b/components/header-bar/src/notifications.js index cd416c82b8..737bf4cbee 100755 --- a/components/header-bar/src/notifications.js +++ b/components/header-bar/src/notifications.js @@ -2,15 +2,9 @@ import { useConfig } from '@dhis2/app-runtime' import PropTypes from 'prop-types' import React from 'react' import { joinPath } from './join-path.js' +import i18n from './locales/index.js' import { NotificationIcon } from './notification-icon.js' -/* - AUTHORITIES: - - ALL: superuser - - M_dhis-web-interpretation: access to interpretations app - - M_dhis-web-messaging: access to messaging app - */ - const hasAuthority = (userAuthorities, authId) => Array.isArray(userAuthorities) && userAuthorities.some( @@ -32,6 +26,8 @@ export const Notifications = ({ href={joinPath(baseUrl, 'dhis-web-interpretation')} kind="message" dataTestId="headerbar-interpretations" + title={i18n.t('Interpretations')} + aria-label={i18n.t('Interpretations')} /> )} @@ -42,6 +38,8 @@ export const Notifications = ({ href={joinPath(baseUrl, 'dhis-web-messaging')} kind="interpretation" dataTestId="headerbar-messages" + title={i18n.t('Messages')} + aria-label={i18n.t('Messages')} /> )} diff --git a/components/header-bar/src/profile.js b/components/header-bar/src/profile.js index 0719b619f1..2d8404ced2 100755 --- a/components/header-bar/src/profile.js +++ b/components/header-bar/src/profile.js @@ -2,6 +2,7 @@ import { UserAvatar } from '@dhis2-ui/user-avatar' import PropTypes from 'prop-types' import React, { useCallback, useRef, useState } from 'react' import { DebugInfoModal } from './debug-info/debug-info-modal.js' +import i18n from './locales/index.js' import { ProfileMenu } from './profile-menu/index.js' import { useOnDocClick } from './profile/use-on-doc-click.js' @@ -29,6 +30,8 @@ const Profile = ({ name, email, avatarId, helpUrl }) => { - ) -} + + .selector-bar-item.openable { + cursor: pointer; + } + + .selector-bar-item:disabled { + cursor: not-allowed; + } + + .label { + color: ${colors.grey600}; + } + + .value { + padding-inline-start: ${spacers.dp8}; + } + + .clear-icon { + display: flex; + align-items: center; + margin-inline-start: ${spacers.dp4}; + padding: ${spacers.dp4}; + cursor: pointer; + } + .clear-icon svg path { + fill: ${colors.grey500}; + } + + .clear-icon:hover svg path { + fill: ${colors.grey700}; + } + + .toggle-icon { + display: flex; + margin-inline-start: ${spacers.dp4}; + height: 100%; + align-items: center; + } + `} + + ) + } +) + +SelectorBarItem.displayName = 'SelectorBarItem' SelectorBarItem.defaultProps = { dataTest: 'dhis2-ui-selectorbaritem', diff --git a/components/selector-bar/src/selector-bar/selector-bar.js b/components/selector-bar/src/selector-bar/selector-bar.js index 3e0263c5c1..7573de496d 100644 --- a/components/selector-bar/src/selector-bar/selector-bar.js +++ b/components/selector-bar/src/selector-bar/selector-bar.js @@ -2,7 +2,7 @@ import { Button } from '@dhis2-ui/button' import { colors, spacers } from '@dhis2/ui-constants' import cx from 'classnames' import PropTypes from 'prop-types' -import React from 'react' +import React, { useRef, useMemo } from 'react' import i18n from '../locales/index.js' const ClearSelection = ({ disabled, onClick }) => { @@ -36,61 +36,114 @@ export const SelectorBar = ({ dataTest, disableClearSelections, additionalContent, -}) => ( - <> -
-
- {children} - {onClearSelectionClick && ( - + ariaLabel, +}) => { + const chipContainer = useRef(null) + + const childrenRefs = useMemo( + () => React.Children.map(children, () => React.createRef()), + [children] + ) + + const handleKeyDown = (event) => { + const currentFocus = document.activeElement + + if (chipContainer.current && chipContainer.current === currentFocus) { + if (childrenRefs.length > 0 && childrenRefs[0].current) { + childrenRefs[0].current.focus() + } + return + } + + const currentIndex = childrenRefs.findIndex( + (ref) => ref.current === currentFocus + ) + + if (currentIndex === -1) { + return + } + + if (event.key === 'ArrowRight') { + event.preventDefault() + const nextIndex = (currentIndex + 1) % childrenRefs.length + childrenRefs[nextIndex].current.focus() + } + + if (event.key === 'ArrowLeft') { + event.preventDefault() + const prevIndex = + (currentIndex - 1 + childrenRefs.length) % childrenRefs.length + childrenRefs[prevIndex].current.focus() + } + } + + return ( + <> +
+ data-test={dataTest} + onKeyDown={handleKeyDown} + tabIndex={0} + ref={chipContainer} + role="toolbar" + aria-label={ariaLabel} + > +
+ {React.Children.map(children, (child, index) => + React.cloneElement(child, { + ref: childrenRefs[index], + }) + )} + {onClearSelectionClick && ( + + )} +
- {additionalContent && ( -
{additionalContent}
- )} + {additionalContent && ( +
+ {additionalContent} +
+ )} - -
- -) + `} +
+ + ) +} SelectorBar.defaultProps = { dataTest: 'dhis2-ui-selectorbar', @@ -99,6 +152,7 @@ SelectorBar.defaultProps = { SelectorBar.propTypes = { children: PropTypes.any.isRequired, additionalContent: PropTypes.any, + ariaLabel: PropTypes.string, className: PropTypes.string, dataTest: PropTypes.string, disableClearSelections: PropTypes.bool, diff --git a/components/selector-bar/types/index.d.ts b/components/selector-bar/types/index.d.ts index e62d43fa36..671cfe7e46 100644 --- a/components/selector-bar/types/index.d.ts +++ b/components/selector-bar/types/index.d.ts @@ -4,6 +4,7 @@ import { ButtonProps } from '@dhis2-ui/button' export interface SelectorBarProps { children: React.ReactNode additionalContent?: React.ReactNode + ariaLabel?: string className?: string dataTest?: string disableClearSelections?: boolean diff --git a/components/sharing-dialog/API.md b/components/sharing-dialog/API.md index 3271b3152f..cf45f35f53 100644 --- a/components/sharing-dialog/API.md +++ b/components/sharing-dialog/API.md @@ -48,13 +48,14 @@ import { SharingDialog } from '@dhis2/ui' EVENT_VISUALIZATION, INTERPRETATION, } from './constants.js'||*|The type of object to share| +|dataTest|string|`'dhis2-uicore-sharingdialog'`||| |initialSharingSettings|{
"allowPublic": "boolean",
"groups": "objectOf",
"name": "string",
"public": "import {\n ACCESS_NONE,\n ACCESS_VIEW_ONLY,\n ACCESS_VIEW_AND_EDIT,\n VISUALIZATION,\n DASHBOARD,\n EVENT_VISUALIZATION,\n INTERPRETATION,\n} from './constants.js' │ import {\n ACCESS_NONE,\n ACCESS_VIEW_ONLY,\n ACCESS_VIEW_AND_EDIT,\n VISUALIZATION,\n DASHBOARD,\n EVENT_VISUALIZATION,\n INTERPRETATION,\n} from './constants.js' │ import {\n ACCESS_NONE,\n ACCESS_VIEW_ONLY,\n ACCESS_VIEW_AND_EDIT,\n VISUALIZATION,\n DASHBOARD,\n EVENT_VISUALIZATION,\n INTERPRETATION,\n} from './constants.js'",
"users": "objectOf"
}|`{ name: '', allowPublic: true, public: ACCESS_NONE, groups: {}, users: {}, -}`||Used to seed the component with data to show whilst loading| +}`||| |onClose|function|`() => {}`||| |onError|function|`() => {}`||| |onSave|function|`() => {}`||| diff --git a/components/sharing-dialog/i18n/lo.po b/components/sharing-dialog/i18n/lo.po index 08252c4b7c..de364a8eca 100644 --- a/components/sharing-dialog/i18n/lo.po +++ b/components/sharing-dialog/i18n/lo.po @@ -3,13 +3,14 @@ # Philip Larsen Donnelly, 2021 # Viktor Varland , 2021 # Saysamone Sibounma, 2023 +# Namwan Chanthavisouk, 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" "POT-Creation-Date: 2021-11-25T09:59:40.995Z\n" "PO-Revision-Date: 2021-10-01 23:39+0000\n" -"Last-Translator: Saysamone Sibounma, 2023\n" +"Last-Translator: Namwan Chanthavisouk, 2024\n" "Language-Team: Lao (https://app.transifex.com/hisp-uio/teams/100509/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,31 +22,31 @@ msgid "View only" msgstr "ເບິ່ງໄດ້ເທົ່ານັ້ນ" msgid "View and edit" -msgstr "" +msgstr "ເບິ່ງ ແລະ ແກ້ໄຂ" msgid "Give access to a user or group" -msgstr "" +msgstr "ໃຫ້ຜູ້ໃຊ້ ຫຼື ກຸ່ມເຂົ້າເຖິງ" msgid "Access level" -msgstr "" +msgstr "ຂັ້ນການເຂົ້າເຖິງ" msgid "Select a level" -msgstr "" +msgstr "ເລືອກຂັ້ນ" msgid "Not available offline" -msgstr "" +msgstr "ບໍ່ສາມາດໃຊ້ໄດ້ອອບລາຍ" msgid "Give access" -msgstr "" +msgstr "ໃຫ້ການເຂົ້າເຖິງ" msgid "Users and groups that currently have access" -msgstr "" +msgstr "ຜູ້ໃຊ້ ແລະ ກຸ່ມທີ່ໄດ້ເຂົ້າເຖິງ" msgid "User / Group" -msgstr "" +msgstr "ຜູ້ໃຊ້ / ກຸ່ມ" msgid "All users" -msgstr "" +msgstr "ຜູ້ໃຊ້ທັງໝົດ" msgid "No access" msgstr "ບໍ່ມີການເຂົ້າເຖີງ" @@ -54,88 +55,107 @@ msgid "Can view" msgstr "ສາມາດເບີ່ງ" msgid "Can view and edit" -msgstr "" +msgstr "ສາມາດເບິ່ງ ແລະ ແກ້ໄຂ" msgid "Metadata" msgstr "ໂຄງຮ່າງຖານຂໍ້ມູນ" msgid "Remove access" -msgstr "" +msgstr "ເອົາການເຂົ້າເຖິງອອກ" msgid "User or group" -msgstr "" +msgstr "ຜູ້ໃຊ້ ຫຼື ກຸ່ມ" msgid "Search" -msgstr "ຄົນຫາ" +msgstr "ຄົ້ນຫາ" msgid "Apply dashboard sharing settings to visualizations" -msgstr "" +msgstr "ນຳໃຊ້ການຕັ້ງຄ່າແບ່ງປັນກະດານຂ່າວກັບພາບຂໍ້ມູນ" msgid "Something went wrong" msgstr "ມີບາງຢ່າງຜິດພາດ" msgid "Apply sharing to dashboard visualizations" -msgstr "" +msgstr "ນຳໃຊ້ການແບ່ງປັນພາບຂໍ້ມູນກັບກະດານຂ່າວ" msgid "" "No visualizations were updated. Check that you have permission to change " "sharing for all visualizations." msgstr "" +"ບໍ່ມີການອັບເດດພາບຂໍ້ມູນ. " +"ກວດເບິ່ງຄືນວ່າທ່ານໄດ້ຮັບການອະນຸຍາດໃຫ້ປ່ຽນການແບ່ງປັນສໍາລັບພາບຂໍ້ມູນ." msgid "" "Not all visualizations could be updated successfully. {{ success }} updated " "successfully, {{ failed }} failed to update. Check that you have permission " "to change sharing for all visualizations." msgstr "" +"ພາບຂໍ້ມູນທັງໝົດບໍ່ສາມາດອັບເດດໄດ້ສຳເລັດ. ອັບເດດ {{ success }} ສຳເລັດແລ້ວ, {{ " +"failed }} ລົ້ມເຫລວໃນການອັບເດດ. " +"ກວດເບິ່ງວ່າທ່ານໄດ້ຮັບການອະນຸຍາດໃຫ້ປ່ຽນການແບ່ງປັນສໍາລັບພາບຂໍ້ມູນທັງຫມົດ." msgid "" "No visualizations were updated because sharing settings are already " "sufficient." -msgstr "" +msgstr "ບໍ່ມີການອັບເດດພາບຂໍ້ມູນເນື່ອງຈາກການຕັ້ງຄ່າການແບ່ງປັນພຽງພໍແລ້ວ." msgid "Successfully updated sharing for all visualizations." -msgstr "" +msgstr "ອັບເດດການແບ່ງປັນສຳເລັດແລ້ວສຳລັບພາບຂໍ້ມູນທັງໝົດ." msgid "" "Not all visualization sharing settings needed to be updated. {{ updated }} " "updated, {{ skipped }} already had sufficient sharing settings." msgstr "" +"ບໍ່ແມ່ນການຕັ້ງຄ່າການແບ່ງປັນພາບທັງໝົດທີ່ຈຳເປັນເພື່ອອັບເດດ. {{ updated }} " +"ອັບເດດແລ້ວ, {{ skipped }} ມີການຕັ້ງຄ່າການແບ່ງປັນພຽງພໍແລ້ວ." msgid "There are no users or groups to apply sharing settings for." -msgstr "" +msgstr "ບໍ່ມີຜູ້ໃຊ້ ຫຼື ກຸ່ມສຳລັບການນໍາໃຊ້ການຕັ້ງຄ່າແບ່ງປັນ." msgid "" "Number of visualizations on this dashboard that will potentially get updated" " sharing settings: {{ visualizationsCount }}. The number of users or groups " "that these updated settings will apply to: {{ entityAmount }}." msgstr "" +"ຈຳນວນພາບຂໍ້ມູນໃນກະດານຂ່າວນີ້ທີ່ອາດຈະໄດ້ມີການອັບເດດການຕັ້ງຄ່າການແບ່ງປັນ: {{ " +"visualizationsCount }}. ຈຳນວນຜູ້ໃຊ້ " +"ຫຼືກຸ່ມທີ່ອັບເດດການຕັ້ງຄ່າເຫຼົ່ານີ້ຈະໃຊ້ກັບ: {{ entityAmount }}." msgid "" "Applying the same sharing settings makes sure that users and groups that " "have access to the dashboard also have at least \"View only\" access to its " "visualizations (charts, tables, maps, event charts and event reports)." msgstr "" +"ການໃຊ້ການຕັ້ງຄ່າແບບແບ່ງປັນຄືກັນແມ່ນຕ້ອງໃຫ້ແນ່ໃຈວ່າຜູ້ໃຊ້ ແລະ " +"ກຸ່ມທີ່ເຂົ້າເຖິງກະດານຂ່າວສາມາດ \"ເບິ່ງເທົ່ານັ້ນ\" ໃນພາບຂໍ້ມູນ (ແຜນການ, " +"ຕາຕະລາງ, ແຜນທີ່, ຕາຕະລາງເຫດການ ແລະ ການລາຍງານເຫດການ)." msgid "" "If a user or group already has \"View and edit\" access to a visualization, " "this won't be reduced to \"View only\". The \"All users\" access level won't" " be updated or changed." msgstr "" +"ຖ້າຜູ້ໃຊ້ ຫຼື ກຸ່ມມີການເຂົ້າເຖິງແບບ \"ເບິ່ງ ແລະແກ້ໄຂ\" " +"ຕໍ່ພາບຂໍ້ມູນນັ້ນຈະບໍ່ຖືກຫຼຸດລົງເປັນ \"ເບິ່ງເທົ່ານັ້ນ\". ການເຂົ້າເຖິງຂັ້ນ " +"\"ຜູ້ໃຊ້ທັງໝົດ\" ຈະບໍ່ຖືກອັບເດດ ຫຼື ປ່ຽນແປງ." msgid "" "Applying sharing can't be undone, and needs to be done again if new " "visualizations are added to the dashboard or its sharing settings are " "changed." msgstr "" +"ການໃຊ້ການແບ່ງປັນບໍ່ສາມາດຍົກເລີກໄດ້, ແລະຕ້ອງເຮັດອີກຄັ້ງ " +"ຖ້າມີການເພີ່ມພາບຂໍ໊ມູນໃໝ່ໃນກະດານຂ່າວ ຫຼື " +"ການຕັ້ງຄ່າການແບ່ງປັນຂອງມັນມີການປ່ຽນແປງ." msgid "Sharing and access: {{- objectName}}" -msgstr "" +msgstr "ການແບ່ງປັນ ແລະ ການເຂົາເຖິງ: {{- objectName}}" msgid "Sharing and access" -msgstr "" +msgstr "ການແບ່ງປັນ ແລະ ການເຂົ້າເຖິງ" msgid "Close" msgstr "ປິດ" msgid "Dashboard sharing" -msgstr "" +msgstr "ການແບ່ງປັນກະດານຂ່າວ" diff --git a/components/sharing-dialog/i18n/ne.po b/components/sharing-dialog/i18n/ne.po new file mode 100644 index 0000000000..1713329d35 --- /dev/null +++ b/components/sharing-dialog/i18n/ne.po @@ -0,0 +1,139 @@ +# +# Translators: +# Saroj Dhakal , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: i18next-conv\n" +"POT-Creation-Date: 2021-11-25T09:59:40.995Z\n" +"PO-Revision-Date: 2021-10-01 23:39+0000\n" +"Last-Translator: Saroj Dhakal , 2024\n" +"Language-Team: Nepali (https://app.transifex.com/hisp-uio/teams/100509/ne/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ne\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "View only" +msgstr "" + +msgid "View and edit" +msgstr "" + +msgid "Give access to a user or group" +msgstr "" + +msgid "Access level" +msgstr "" + +msgid "Select a level" +msgstr "" + +msgid "Not available offline" +msgstr "" + +msgid "Give access" +msgstr "" + +msgid "Users and groups that currently have access" +msgstr "" + +msgid "User / Group" +msgstr "" + +msgid "All users" +msgstr "" + +msgid "No access" +msgstr "" + +msgid "Can view" +msgstr "" + +msgid "Can view and edit" +msgstr "" + +msgid "Metadata" +msgstr "" + +msgid "Remove access" +msgstr "" + +msgid "User or group" +msgstr "" + +msgid "Search" +msgstr "खोज" + +msgid "Apply dashboard sharing settings to visualizations" +msgstr "" + +msgid "Something went wrong" +msgstr "" + +msgid "Apply sharing to dashboard visualizations" +msgstr "" + +msgid "" +"No visualizations were updated. Check that you have permission to change " +"sharing for all visualizations." +msgstr "" + +msgid "" +"Not all visualizations could be updated successfully. {{ success }} updated " +"successfully, {{ failed }} failed to update. Check that you have permission " +"to change sharing for all visualizations." +msgstr "" + +msgid "" +"No visualizations were updated because sharing settings are already " +"sufficient." +msgstr "" + +msgid "Successfully updated sharing for all visualizations." +msgstr "" + +msgid "" +"Not all visualization sharing settings needed to be updated. {{ updated }} " +"updated, {{ skipped }} already had sufficient sharing settings." +msgstr "" + +msgid "There are no users or groups to apply sharing settings for." +msgstr "" + +msgid "" +"Number of visualizations on this dashboard that will potentially get updated" +" sharing settings: {{ visualizationsCount }}. The number of users or groups " +"that these updated settings will apply to: {{ entityAmount }}." +msgstr "" + +msgid "" +"Applying the same sharing settings makes sure that users and groups that " +"have access to the dashboard also have at least \"View only\" access to its " +"visualizations (charts, tables, maps, event charts and event reports)." +msgstr "" + +msgid "" +"If a user or group already has \"View and edit\" access to a visualization, " +"this won't be reduced to \"View only\". The \"All users\" access level won't" +" be updated or changed." +msgstr "" + +msgid "" +"Applying sharing can't be undone, and needs to be done again if new " +"visualizations are added to the dashboard or its sharing settings are " +"changed." +msgstr "" + +msgid "Sharing and access: {{- objectName}}" +msgstr "" + +msgid "Sharing and access" +msgstr "" + +msgid "Close" +msgstr "" + +msgid "Dashboard sharing" +msgstr "" diff --git a/components/sharing-dialog/package.json b/components/sharing-dialog/package.json index 35f82fbf42..3f1692a875 100644 --- a/components/sharing-dialog/package.json +++ b/components/sharing-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/sharing-dialog", - "version": "9.4.6", + "version": "9.8.1", "description": "UI SharingDialog", "repository": { "type": "git", @@ -35,22 +35,22 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/box": "9.4.6", - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/card": "9.4.6", - "@dhis2-ui/divider": "9.4.6", - "@dhis2-ui/input": "9.4.6", - "@dhis2-ui/layer": "9.4.6", - "@dhis2-ui/menu": "9.4.6", - "@dhis2-ui/modal": "9.4.6", - "@dhis2-ui/notice-box": "9.4.6", - "@dhis2-ui/popper": "9.4.6", - "@dhis2-ui/select": "9.4.6", - "@dhis2-ui/tab": "9.4.6", - "@dhis2-ui/tooltip": "9.4.6", - "@dhis2-ui/user-avatar": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/box": "9.8.1", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/card": "9.8.1", + "@dhis2-ui/divider": "9.8.1", + "@dhis2-ui/input": "9.8.1", + "@dhis2-ui/layer": "9.8.1", + "@dhis2-ui/menu": "9.8.1", + "@dhis2-ui/modal": "9.8.1", + "@dhis2-ui/notice-box": "9.8.1", + "@dhis2-ui/popper": "9.8.1", + "@dhis2-ui/select": "9.8.1", + "@dhis2-ui/tab": "9.8.1", + "@dhis2-ui/tooltip": "9.8.1", + "@dhis2-ui/user-avatar": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "@react-hook/size": "^2.1.2", "classnames": "^2.3.1", "prop-types": "^15.7.2" diff --git a/components/sharing-dialog/src/modal/modal.js b/components/sharing-dialog/src/modal/modal.js index 05e24729cf..ff2cdbc49c 100644 --- a/components/sharing-dialog/src/modal/modal.js +++ b/components/sharing-dialog/src/modal/modal.js @@ -9,7 +9,7 @@ import PropTypes from 'prop-types' import React from 'react' import i18n from '../locales/index.js' -export const Modal = ({ onClose, name, children }) => { +export const Modal = ({ onClose, name, children, dataTest }) => { const title = name ? i18n.t('Sharing and access: {{- objectName}}', { objectName: name, @@ -18,7 +18,7 @@ export const Modal = ({ onClose, name, children }) => { : i18n.t('Sharing and access') return ( - + {title} {children} @@ -32,8 +32,13 @@ export const Modal = ({ onClose, name, children }) => { ) } +Modal.defaultProps = { + dataTest: 'dhis2-uicore-sharingdialog-modal', +} + Modal.propTypes = { children: PropTypes.node.isRequired, + dataTest: PropTypes.string, name: PropTypes.string, onClose: PropTypes.func, } diff --git a/components/sharing-dialog/src/sharing-dialog.js b/components/sharing-dialog/src/sharing-dialog.js index 724f7f058b..921776dc32 100644 --- a/components/sharing-dialog/src/sharing-dialog.js +++ b/components/sharing-dialog/src/sharing-dialog.js @@ -48,6 +48,7 @@ export const SharingDialog = ({ onError, onSave, initialSharingSettings, + dataTest, }) => { const { show: showError } = useAlert((error) => error, { critical: true }) @@ -159,7 +160,11 @@ export const SharingDialog = ({ return ( - + {}, onError: () => {}, onSave: () => {}, + dataTest: 'dhis2-uicore-sharingdialog', } SharingDialog.propTypes = { @@ -199,7 +205,7 @@ SharingDialog.propTypes = { EVENT_VISUALIZATION, INTERPRETATION, ]).isRequired, - /** Used to seed the component with data to show whilst loading */ + dataTest: PropTypes.string, initialSharingSettings: PropTypes.shape({ allowPublic: PropTypes.bool.isRequired, groups: PropTypes.objectOf( diff --git a/components/status-icon/package.json b/components/status-icon/package.json index 7d54efb326..80df3e3629 100644 --- a/components/status-icon/package.json +++ b/components/status-icon/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/status-icon", - "version": "9.4.6", + "version": "9.8.1", "description": "UI StatusIcon", "repository": { "type": "git", @@ -33,9 +33,9 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/loader": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/loader": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/switch/API.md b/components/switch/API.md index 776cd18337..2bd09b8315 100644 --- a/components/switch/API.md +++ b/components/switch/API.md @@ -14,7 +14,7 @@ import { Switch } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| -|ariaLabel|string|||Sets an aria-label attribute on the input| +|aria-label|string|||Sets an aria-label attribute on the input| |checked|boolean|`false`||| |className|string|||| |dataTest|string|`'dhis2-uicore-switch'`||| diff --git a/components/switch/package.json b/components/switch/package.json index 2b6fdbd24e..e02b59e1e5 100644 --- a/components/switch/package.json +++ b/components/switch/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/switch", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Switch", "repository": { "type": "git", @@ -33,9 +33,9 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/required": "9.4.6", - "@dhis2/ui-constants": "9.4.6", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/required": "9.8.1", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/switch/src/switch/__tests__/switch.test.js b/components/switch/src/switch/__tests__/switch.test.js index 172691e8d4..2d1d6a036c 100644 --- a/components/switch/src/switch/__tests__/switch.test.js +++ b/components/switch/src/switch/__tests__/switch.test.js @@ -28,4 +28,17 @@ describe('', () => { expect(onKeyDown).toHaveBeenCalledTimes(1) }) + + it('renders the switch with aria label', () => { + const ariaLabel = 'test switch' + render( + + ) + expect(screen.getAllByLabelText(ariaLabel)).toHaveLength(1) + }) }) diff --git a/components/switch/src/switch/switch.js b/components/switch/src/switch/switch.js index 31c273a2dc..a53cf7cc35 100644 --- a/components/switch/src/switch/switch.js +++ b/components/switch/src/switch/switch.js @@ -47,7 +47,7 @@ class Switch extends Component { render() { const { - ariaLabel, + 'aria-label': ariaLabel, checked, className, disabled, @@ -172,7 +172,7 @@ Switch.defaultProps = { Switch.propTypes = { /** Sets an aria-label attribute on the input */ - ariaLabel: PropTypes.string, + 'aria-label': PropTypes.string, checked: PropTypes.bool, className: PropTypes.string, dataTest: PropTypes.string, diff --git a/components/switch/types/index.d.ts b/components/switch/types/index.d.ts index fbd94350a4..3a18fba501 100644 --- a/components/switch/types/index.d.ts +++ b/components/switch/types/index.d.ts @@ -23,7 +23,7 @@ export interface SwitchProps { /** * Sets an aria-label attribute on the input */ - ariaLabel?: string + 'aria-label'?: string checked?: boolean className?: string dataTest?: string diff --git a/components/tab/package.json b/components/tab/package.json index f295d3edcc..ae8c9fbd9f 100644 --- a/components/tab/package.json +++ b/components/tab/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/tab", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Tabs", "repository": { "type": "git", @@ -33,8 +33,8 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/table/i18n/lo.po b/components/table/i18n/lo.po new file mode 100644 index 0000000000..e59fdcfacc --- /dev/null +++ b/components/table/i18n/lo.po @@ -0,0 +1,22 @@ +# +# Translators: +# Namwan Chanthavisouk, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: i18next-conv\n" +"POT-Creation-Date: 2021-06-15T13:35:03.608Z\n" +"PO-Revision-Date: 2021-06-24 12:50+0000\n" +"Last-Translator: Namwan Chanthavisouk, 2024\n" +"Language-Team: Lao (https://app.transifex.com/hisp-uio/teams/100509/lo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lo\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Toggle filter" +msgstr "ສະຫຼັບຕົວກອງ" + +msgid "Sort items" +msgstr "ຈັດຮຽງລາຍການ" diff --git a/components/table/package.json b/components/table/package.json index bbeae2b7f6..cda17852d5 100644 --- a/components/table/package.json +++ b/components/table/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/table", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Table", "repository": { "type": "git", @@ -34,8 +34,8 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/tag/package.json b/components/tag/package.json index 5425b0b9f1..a501e46959 100644 --- a/components/tag/package.json +++ b/components/tag/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/tag", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Tag", "repository": { "type": "git", @@ -33,7 +33,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/text-area/package.json b/components/text-area/package.json index 7caa52de32..354d39b3e3 100644 --- a/components/text-area/package.json +++ b/components/text-area/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/text-area", - "version": "9.4.6", + "version": "9.8.1", "description": "UI TextArea", "repository": { "type": "git", @@ -33,12 +33,12 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/box": "9.4.6", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/loader": "9.4.6", - "@dhis2-ui/status-icon": "9.4.6", - "@dhis2/ui-constants": "9.4.6", - "@dhis2/ui-icons": "9.4.6", + "@dhis2-ui/box": "9.8.1", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/loader": "9.8.1", + "@dhis2-ui/status-icon": "9.8.1", + "@dhis2/ui-constants": "9.8.1", + "@dhis2/ui-icons": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/tooltip/package.json b/components/tooltip/package.json index 8bc21ce1ca..8e48e26c0d 100644 --- a/components/tooltip/package.json +++ b/components/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/tooltip", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Tooltip", "repository": { "type": "git", @@ -33,9 +33,9 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/popper": "9.4.6", - "@dhis2-ui/portal": "9.4.6", - "@dhis2/ui-constants": "9.4.6", + "@dhis2-ui/popper": "9.8.1", + "@dhis2-ui/portal": "9.8.1", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/tooltip/src/tooltip.js b/components/tooltip/src/tooltip.js index 9c19f46041..8a08624eb8 100644 --- a/components/tooltip/src/tooltip.js +++ b/components/tooltip/src/tooltip.js @@ -9,8 +9,6 @@ const TOOLTIP_OFFSET = 4 const popperStyle = resolve` z-index: ${layers.applicationTop}; - pointer-events: none; - // Hide popper when reference component is obscured (https://popper.js.org/docs/v2/modifiers/hide/) div[data-popper-reference-hidden="true"] { visibility: hidden; @@ -66,13 +64,39 @@ const Tooltip = ({ }, closeDelay) } - useEffect( - () => () => { + const onFocus = () => { + clearTimeout(closeTimerRef.current) + + openTimerRef.current = setTimeout(() => { + setOpen(true) + }, openDelay) + } + + const onBlur = () => { + clearTimeout(openTimerRef.current) + + closeTimerRef.current = setTimeout(() => { + setOpen(false) + }, closeDelay) + } + + const handleKeyDown = (event) => { + if (event.key === 'Escape') { + closeTimerRef.current = setTimeout(() => { + setOpen(false) + }, closeDelay) + } + } + + useEffect(() => { + document.addEventListener('keydown', handleKeyDown) + + return () => { clearTimeout(openTimerRef.current) clearTimeout(closeTimerRef.current) - }, - [] - ) + document.removeEventListener('keydown', handleKeyDown) + } + }, []) return ( <> @@ -80,19 +104,24 @@ const Tooltip = ({ children({ onMouseOver: onMouseOver, onMouseOut: onMouseOut, + onFocus: { onFocus }, + onBlur: { onBlur }, ref: popperReference, }) ) : ( {children} )} - {open && ( diff --git a/components/tooltip/src/tooltip.test.js b/components/tooltip/src/tooltip.test.js index 5f44c6b18a..40442bbca8 100644 --- a/components/tooltip/src/tooltip.test.js +++ b/components/tooltip/src/tooltip.test.js @@ -152,3 +152,59 @@ describe('it handles custom open and close delays', () => { expect(document.querySelector(tooltipContentSelector)).toBe(null) }) }) + +describe('Keyboard interaction', () => { + it('opens on keyboard focus and closes on blur', () => { + wrapper = mount(Hi hi!) + wrapper.simulate('focus') + + expect(document.querySelector(tooltipContentSelector)).toBe(null) + + act(() => { + jest.advanceTimersByTime(200) + }) + + const res = document.querySelector(tooltipContentSelector) + expect(res).not.toBe(null) + expect(res.textContent).toBe(tooltipContent) + + wrapper.simulate('blur') + act(() => { + jest.advanceTimersByTime(200) + }) + expect(document.querySelector(tooltipContentSelector)).toBe(null) + + act(() => { + jest.runAllTimers() + }) + }) + + it('closes when escape key is pressed', () => { + wrapper = mount(Hi hi!) + + // open tooltip + wrapper.simulate('mouseover') + + act(() => { + jest.advanceTimersByTime(200) + }) + + // verify tooltip is open + expect(document.querySelector(tooltipContentSelector)).not.toBe(null) + + //Press the Escape key + act(() => { + document.dispatchEvent( + new KeyboardEvent('keydown', { key: 'Escape' }) + ) + }) + + // wait for close delay + act(() => { + jest.advanceTimersByTime(200) + }) + + // expect tooltip to be closed + expect(document.querySelector(tooltipContentSelector)).toBe(null) + }) +}) diff --git a/components/transfer/package.json b/components/transfer/package.json index ca919156f9..1848042aaa 100644 --- a/components/transfer/package.json +++ b/components/transfer/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/transfer", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Transfer", "repository": { "type": "git", @@ -33,12 +33,12 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2-ui/button": "9.4.6", - "@dhis2-ui/field": "9.4.6", - "@dhis2-ui/input": "9.4.6", - "@dhis2-ui/intersection-detector": "9.4.6", - "@dhis2-ui/loader": "9.4.6", - "@dhis2/ui-constants": "9.4.6", + "@dhis2-ui/button": "9.8.1", + "@dhis2-ui/field": "9.8.1", + "@dhis2-ui/input": "9.8.1", + "@dhis2-ui/intersection-detector": "9.8.1", + "@dhis2-ui/loader": "9.8.1", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/user-avatar/API.md b/components/user-avatar/API.md index 1f9a788f70..9b39674610 100644 --- a/components/user-avatar/API.md +++ b/components/user-avatar/API.md @@ -15,6 +15,7 @@ import { UserAvatar } from '@dhis2/ui' |Name|Type|Default|Required|Description| |---|---|---|---|---| |name|string||*|| +|ariaLabel|string|||| |avatarId|string|||| |className|string|||| |dataTest|string|`'dhis2-uicore-useravatar'`||| diff --git a/components/user-avatar/package.json b/components/user-avatar/package.json index 4871ca5286..d19abc378f 100644 --- a/components/user-avatar/package.json +++ b/components/user-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2-ui/user-avatar", - "version": "9.4.6", + "version": "9.8.1", "description": "UI User Avatar", "repository": { "type": "git", @@ -34,7 +34,7 @@ }, "dependencies": { "@dhis2/prop-types": "^3.1.2", - "@dhis2/ui-constants": "9.4.6", + "@dhis2/ui-constants": "9.8.1", "classnames": "^2.3.1", "prop-types": "^15.7.2" }, diff --git a/components/user-avatar/src/text-avatar.js b/components/user-avatar/src/text-avatar.js index d25d6221e5..76ca9fb7e1 100644 --- a/components/user-avatar/src/text-avatar.js +++ b/components/user-avatar/src/text-avatar.js @@ -24,7 +24,7 @@ export const TextAvatar = ({ medium, small, }) => ( -
+
(
{avatarId ? ( @@ -90,6 +93,7 @@ UserAvatar.propTypes = { // SVG fallback with a `IconUser24`. // This has been discussed and deferred name: PropTypes.string.isRequired, + ariaLabel: PropTypes.string, avatarId: PropTypes.string, className: PropTypes.string, dataTest: PropTypes.string, diff --git a/components/user-avatar/types/index.d.ts b/components/user-avatar/types/index.d.ts index 8d61de841c..416a476831 100644 --- a/components/user-avatar/types/index.d.ts +++ b/components/user-avatar/types/index.d.ts @@ -10,6 +10,7 @@ export interface UserAvatarProps { large?: boolean medium?: boolean small?: boolean + ariaLabel?: string } export const UserAvatar: React.FC diff --git a/constants/package.json b/constants/package.json index a5e67a8fd2..0036b94fc4 100644 --- a/constants/package.json +++ b/constants/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2/ui-constants", - "version": "9.4.6", + "version": "9.8.1", "description": "Constants used in the UI libs", "main": "./build/cjs/index.js", "module": "./build/es/index.js", diff --git a/cypress/support/generateTestMatrix.js b/cypress/support/generateTestMatrix.js new file mode 100644 index 0000000000..e1cfecb9dc --- /dev/null +++ b/cypress/support/generateTestMatrix.js @@ -0,0 +1,35 @@ +const fs = require('fs') +const path = require('path') + +const getAllFiles = (dirPath, arrayOfFiles = []) => { + const files = fs.readdirSync(dirPath) + + files.forEach((file) => { + if (fs.statSync(path.join(dirPath, file)).isDirectory()) { + arrayOfFiles = getAllFiles(path.join(dirPath, file), arrayOfFiles) + } else if (path.extname(file) === '.feature') { + arrayOfFiles.push(path.join(dirPath, file)) + } + }) + + return arrayOfFiles +} + +const createGroups = (files, numberOfGroups = 7) => { + const groups = [] + for (let i = 0; i < numberOfGroups; i++) { + groups.push([]) + } + + files.forEach((file, index) => { + groups[index % numberOfGroups].push(file) + }) + + return groups.map((group, index) => ({ id: index + 1, tests: group })) +} + +const cypressSpecsPath = '../' +const specs = getAllFiles(cypressSpecsPath) +const groupedSpecs = createGroups(specs) + +console.log(JSON.stringify(groupedSpecs)) diff --git a/docs/package.json b/docs/package.json index fe80d604f2..293911071b 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "ui-docusaurus", - "version": "9.4.6", + "version": "9.8.1", "private": true, "description": "UI Docusaurus", "repository": { diff --git a/icons/API.md b/icons/API.md index fecb3cb9fc..a3cc09da29 100644 --- a/icons/API.md +++ b/icons/API.md @@ -16,6 +16,7 @@ import { IconAdd16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAdd24 @@ -35,6 +36,7 @@ import { IconAdd24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAddCircle16 @@ -54,6 +56,7 @@ import { IconAddCircle16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAddCircle24 @@ -73,6 +76,7 @@ import { IconAddCircle24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgApps16 @@ -92,6 +96,7 @@ import { IconApps16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgApps24 @@ -111,6 +116,7 @@ import { IconApps24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArchive16 @@ -130,6 +136,7 @@ import { IconArchive16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArchive24 @@ -149,6 +156,7 @@ import { IconArchive24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowDown16 @@ -168,6 +176,7 @@ import { IconArrowDown16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowDown24 @@ -187,6 +196,7 @@ import { IconArrowDown24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowLeft16 @@ -206,6 +216,7 @@ import { IconArrowLeft16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowLeft24 @@ -225,6 +236,7 @@ import { IconArrowLeft24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowLeftMulti16 @@ -244,6 +256,7 @@ import { IconArrowLeftMulti16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowLeftMulti24 @@ -263,6 +276,7 @@ import { IconArrowLeftMulti24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowRight16 @@ -282,6 +296,7 @@ import { IconArrowRight16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowRight24 @@ -301,6 +316,7 @@ import { IconArrowRight24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowRightMulti16 @@ -320,6 +336,7 @@ import { IconArrowRightMulti16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowRightMulti24 @@ -339,6 +356,7 @@ import { IconArrowRightMulti24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowUp16 @@ -358,6 +376,7 @@ import { IconArrowUp16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgArrowUp24 @@ -377,6 +396,7 @@ import { IconArrowUp24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAt16 @@ -396,6 +416,7 @@ import { IconAt16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAt24 @@ -415,6 +436,7 @@ import { IconAt24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAttachment16 @@ -434,6 +456,7 @@ import { IconAttachment16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgAttachment24 @@ -453,6 +476,7 @@ import { IconAttachment24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgBlock16 @@ -472,6 +496,7 @@ import { IconBlock16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgBlock24 @@ -491,6 +516,7 @@ import { IconBlock24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCalendar16 @@ -510,6 +536,7 @@ import { IconCalendar16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCalendar24 @@ -529,6 +556,7 @@ import { IconCalendar24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCheckmark12 @@ -548,6 +576,7 @@ import { IconCheckmark12 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCheckmark16 @@ -567,6 +596,7 @@ import { IconCheckmark16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCheckmark24 @@ -586,6 +616,7 @@ import { IconCheckmark24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCheckmarkCircle16 @@ -605,6 +636,7 @@ import { IconCheckmarkCircle16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCheckmarkCircle24 @@ -624,6 +656,7 @@ import { IconCheckmarkCircle24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronDown16 @@ -643,6 +676,7 @@ import { IconChevronDown16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronDown24 @@ -662,6 +696,7 @@ import { IconChevronDown24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronLeft16 @@ -681,6 +716,7 @@ import { IconChevronLeft16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronLeft24 @@ -700,6 +736,7 @@ import { IconChevronLeft24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronRight16 @@ -719,6 +756,7 @@ import { IconChevronRight16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronRight24 @@ -738,6 +776,7 @@ import { IconChevronRight24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronUp16 @@ -757,6 +796,7 @@ import { IconChevronUp16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgChevronUp24 @@ -776,6 +816,7 @@ import { IconChevronUp24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgClock16 @@ -795,6 +836,7 @@ import { IconClock16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgClock24 @@ -814,6 +856,7 @@ import { IconClock24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgClockHistory16 @@ -833,6 +876,7 @@ import { IconClockHistory16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgClockHistory24 @@ -852,6 +896,7 @@ import { IconClockHistory24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgColor16 @@ -871,6 +916,7 @@ import { IconColor16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgColor24 @@ -890,6 +936,7 @@ import { IconColor24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCopy16 @@ -909,6 +956,7 @@ import { IconCopy16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCopy24 @@ -928,6 +976,7 @@ import { IconCopy24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCross16 @@ -947,6 +996,7 @@ import { IconCross16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgCross24 @@ -966,6 +1016,7 @@ import { IconCross24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDashboardWindow16 @@ -985,6 +1036,7 @@ import { IconDashboardWindow16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDashboardWindow24 @@ -1004,6 +1056,7 @@ import { IconDashboardWindow24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDataInteger16 @@ -1023,6 +1076,7 @@ import { IconDataInteger16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDataInteger24 @@ -1042,6 +1096,7 @@ import { IconDataInteger24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDataString16 @@ -1061,6 +1116,7 @@ import { IconDataString16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDataString24 @@ -1080,6 +1136,7 @@ import { IconDataString24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDelete16 @@ -1099,6 +1156,7 @@ import { IconDelete16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDelete24 @@ -1118,6 +1176,7 @@ import { IconDelete24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionCategoryOptionGroupset16 @@ -1137,6 +1196,7 @@ import { IconDimensionCategoryOptionGroupset16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionData16 @@ -1156,6 +1216,7 @@ import { IconDimensionData16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionDataElementGroupset16 @@ -1175,6 +1236,7 @@ import { IconDimensionDataElementGroupset16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionDataSet16 @@ -1194,6 +1256,7 @@ import { IconDimensionDataSet16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionEventDataItem16 @@ -1213,6 +1276,7 @@ import { IconDimensionEventDataItem16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionIndicator16 @@ -1232,6 +1296,7 @@ import { IconDimensionIndicator16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionOrgUnit16 @@ -1251,6 +1316,7 @@ import { IconDimensionOrgUnit16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionOrgUnitGroupset16 @@ -1270,6 +1336,7 @@ import { IconDimensionOrgUnitGroupset16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionProgramIndicator16 @@ -1289,6 +1356,7 @@ import { IconDimensionProgramIndicator16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDimensionValidationRule16 @@ -1308,6 +1376,7 @@ import { IconDimensionValidationRule16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDirectionNorth16 @@ -1327,6 +1396,7 @@ import { IconDirectionNorth16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDirectionNorth24 @@ -1346,6 +1416,7 @@ import { IconDirectionNorth24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDownload16 @@ -1365,6 +1436,7 @@ import { IconDownload16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDownload24 @@ -1384,6 +1456,7 @@ import { IconDownload24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDragHandle16 @@ -1403,6 +1476,7 @@ import { IconDragHandle16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDragHandle24 @@ -1422,6 +1496,7 @@ import { IconDragHandle24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDuplicate16 @@ -1441,6 +1516,7 @@ import { IconDuplicate16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgDuplicate24 @@ -1460,6 +1536,7 @@ import { IconDuplicate24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgEdit16 @@ -1479,6 +1556,7 @@ import { IconEdit16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgEdit24 @@ -1498,6 +1576,7 @@ import { IconEdit24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgEditItems16 @@ -1517,6 +1596,7 @@ import { IconEditItems16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgEditItems24 @@ -1536,6 +1616,7 @@ import { IconEditItems24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgEmptyFrame16 @@ -1555,6 +1636,7 @@ import { IconEmptyFrame16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgEmptyFrame24 @@ -1574,6 +1656,7 @@ import { IconEmptyFrame24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgError16 @@ -1593,6 +1676,7 @@ import { IconError16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgError24 @@ -1612,6 +1696,7 @@ import { IconError24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgErrorFilled16 @@ -1631,6 +1716,7 @@ import { IconErrorFilled16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgErrorFilled24 @@ -1650,6 +1736,7 @@ import { IconErrorFilled24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgExportItems24 @@ -1669,6 +1756,7 @@ import { IconExportItems24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFaceAdd16 @@ -1688,6 +1776,7 @@ import { IconFaceAdd16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFaceAdd24 @@ -1707,6 +1796,7 @@ import { IconFaceAdd24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFile16 @@ -1726,6 +1816,7 @@ import { IconFile16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFile24 @@ -1745,6 +1836,7 @@ import { IconFile24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFileDocument16 @@ -1764,6 +1856,7 @@ import { IconFileDocument16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFileDocument24 @@ -1783,6 +1876,7 @@ import { IconFileDocument24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFilter16 @@ -1802,6 +1896,7 @@ import { IconFilter16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFilter24 @@ -1821,6 +1916,7 @@ import { IconFilter24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFlag16 @@ -1840,6 +1936,7 @@ import { IconFlag16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFlag24 @@ -1859,6 +1956,7 @@ import { IconFlag24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFolder16 @@ -1878,6 +1976,7 @@ import { IconFolder16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFolder24 @@ -1897,6 +1996,7 @@ import { IconFolder24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFolderOpen16 @@ -1916,6 +2016,7 @@ import { IconFolderOpen16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFolderOpen24 @@ -1935,6 +2036,7 @@ import { IconFolderOpen24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFullscreen16 @@ -1954,6 +2056,7 @@ import { IconFullscreen16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFullscreen24 @@ -1973,6 +2076,7 @@ import { IconFullscreen24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFullscreenExit16 @@ -1992,6 +2096,7 @@ import { IconFullscreenExit16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgFullscreenExit24 @@ -2011,6 +2116,7 @@ import { IconFullscreenExit24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgHome16 @@ -2030,6 +2136,7 @@ import { IconHome16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgHome24 @@ -2049,6 +2156,7 @@ import { IconHome24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgImage16 @@ -2068,6 +2176,7 @@ import { IconImage16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgImage24 @@ -2087,6 +2196,7 @@ import { IconImage24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgImportItems24 @@ -2106,6 +2216,7 @@ import { IconImportItems24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgInfo16 @@ -2125,6 +2236,7 @@ import { IconInfo16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgInfo24 @@ -2144,6 +2256,7 @@ import { IconInfo24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgInfoFilled16 @@ -2163,6 +2276,7 @@ import { IconInfoFilled16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgInfoFilled24 @@ -2182,6 +2296,7 @@ import { IconInfoFilled24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLaunch16 @@ -2201,6 +2316,7 @@ import { IconLaunch16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLaunch24 @@ -2220,6 +2336,7 @@ import { IconLaunch24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLayoutColumns16 @@ -2239,6 +2356,7 @@ import { IconLayoutColumns16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLayoutColumns24 @@ -2258,6 +2376,7 @@ import { IconLayoutColumns24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLayoutRows16 @@ -2277,6 +2396,7 @@ import { IconLayoutRows16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLayoutRows24 @@ -2296,6 +2416,7 @@ import { IconLayoutRows24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLegend16 @@ -2315,6 +2436,7 @@ import { IconLegend16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLegend24 @@ -2334,6 +2456,7 @@ import { IconLegend24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLink16 @@ -2353,6 +2476,7 @@ import { IconLink16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLink24 @@ -2372,6 +2496,7 @@ import { IconLink24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgList16 @@ -2391,6 +2516,7 @@ import { IconList16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgList24 @@ -2410,6 +2536,7 @@ import { IconList24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLocation16 @@ -2429,6 +2556,7 @@ import { IconLocation16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLocation24 @@ -2448,6 +2576,7 @@ import { IconLocation24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLock16 @@ -2467,6 +2596,7 @@ import { IconLock16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLock24 @@ -2486,6 +2616,7 @@ import { IconLock24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLockOpen16 @@ -2505,6 +2636,7 @@ import { IconLockOpen16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLockOpen24 @@ -2524,6 +2656,7 @@ import { IconLockOpen24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLogOut16 @@ -2543,6 +2676,7 @@ import { IconLogOut16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgLogOut24 @@ -2562,6 +2696,7 @@ import { IconLogOut24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMail16 @@ -2581,6 +2716,7 @@ import { IconMail16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMail24 @@ -2600,6 +2736,7 @@ import { IconMail24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMailOpen16 @@ -2619,6 +2756,7 @@ import { IconMailOpen16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMailOpen24 @@ -2638,6 +2776,7 @@ import { IconMailOpen24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMessages16 @@ -2657,6 +2796,7 @@ import { IconMessages16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMessages24 @@ -2676,6 +2816,7 @@ import { IconMessages24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMore16 @@ -2695,6 +2836,7 @@ import { IconMore16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMore24 @@ -2714,6 +2856,7 @@ import { IconMore24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMove16 @@ -2733,6 +2876,7 @@ import { IconMove16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgMove24 @@ -2752,6 +2896,7 @@ import { IconMove24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgPushLeft16 @@ -2771,6 +2916,7 @@ import { IconPushLeft16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgPushLeft24 @@ -2790,6 +2936,7 @@ import { IconPushLeft24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgPushRight16 @@ -2809,6 +2956,7 @@ import { IconPushRight16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgPushRight24 @@ -2828,6 +2976,7 @@ import { IconPushRight24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgQuestion16 @@ -2847,6 +2996,7 @@ import { IconQuestion16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgQuestion24 @@ -2866,6 +3016,7 @@ import { IconQuestion24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgQuestionFilled16 @@ -2885,6 +3036,7 @@ import { IconQuestionFilled16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgQuestionFilled24 @@ -2904,6 +3056,7 @@ import { IconQuestionFilled24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgQueue16 @@ -2923,6 +3076,7 @@ import { IconQueue16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgQueue24 @@ -2942,6 +3096,7 @@ import { IconQueue24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgRedo16 @@ -2961,6 +3116,7 @@ import { IconRedo16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgRedo24 @@ -2980,6 +3136,7 @@ import { IconRedo24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgReorder16 @@ -2999,6 +3156,7 @@ import { IconReorder16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgReorder24 @@ -3018,6 +3176,7 @@ import { IconReorder24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgReply16 @@ -3037,6 +3196,7 @@ import { IconReply16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgReply24 @@ -3056,6 +3216,7 @@ import { IconReply24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgRuler16 @@ -3075,6 +3236,7 @@ import { IconRuler16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgRuler24 @@ -3094,6 +3256,7 @@ import { IconRuler24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSave16 @@ -3113,6 +3276,7 @@ import { IconSave16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSave24 @@ -3132,6 +3296,7 @@ import { IconSave24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSearch16 @@ -3151,6 +3316,7 @@ import { IconSearch16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSearch24 @@ -3170,6 +3336,7 @@ import { IconSearch24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSettings16 @@ -3189,6 +3356,7 @@ import { IconSettings16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSettings24 @@ -3208,6 +3376,7 @@ import { IconSettings24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgShare16 @@ -3227,6 +3396,7 @@ import { IconShare16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgShare24 @@ -3246,6 +3416,7 @@ import { IconShare24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgStar16 @@ -3265,6 +3436,7 @@ import { IconStar16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgStar24 @@ -3284,6 +3456,7 @@ import { IconStar24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgStarFilled16 @@ -3303,6 +3476,7 @@ import { IconStarFilled16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgStarFilled24 @@ -3322,6 +3496,7 @@ import { IconStarFilled24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubscribe16 @@ -3341,6 +3516,7 @@ import { IconSubscribe16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubscribe24 @@ -3360,6 +3536,7 @@ import { IconSubscribe24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubscribeOff16 @@ -3379,6 +3556,7 @@ import { IconSubscribeOff16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubscribeOff24 @@ -3398,6 +3576,7 @@ import { IconSubscribeOff24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubtract16 @@ -3417,6 +3596,7 @@ import { IconSubtract16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubtract24 @@ -3436,6 +3616,7 @@ import { IconSubtract24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubtractCircle16 @@ -3455,6 +3636,7 @@ import { IconSubtractCircle16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSubtractCircle24 @@ -3474,6 +3656,7 @@ import { IconSubtractCircle24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSync16 @@ -3493,6 +3676,7 @@ import { IconSync16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgSync24 @@ -3512,6 +3696,7 @@ import { IconSync24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTable16 @@ -3531,6 +3716,7 @@ import { IconTable16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTable24 @@ -3550,6 +3736,7 @@ import { IconTable24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTerminalWindow16 @@ -3569,6 +3756,7 @@ import { IconTerminalWindow16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTerminalWindow24 @@ -3588,6 +3776,7 @@ import { IconTerminalWindow24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextBold16 @@ -3607,6 +3796,7 @@ import { IconTextBold16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextBold24 @@ -3626,6 +3816,7 @@ import { IconTextBold24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextBox16 @@ -3645,6 +3836,7 @@ import { IconTextBox16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextBox24 @@ -3664,6 +3856,7 @@ import { IconTextBox24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextHeading16 @@ -3683,6 +3876,7 @@ import { IconTextHeading16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextHeading24 @@ -3702,6 +3896,7 @@ import { IconTextHeading24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextItalic16 @@ -3721,6 +3916,7 @@ import { IconTextItalic16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextItalic24 @@ -3740,6 +3936,7 @@ import { IconTextItalic24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextListOrdered16 @@ -3759,6 +3956,7 @@ import { IconTextListOrdered16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextListOrdered24 @@ -3778,6 +3976,7 @@ import { IconTextListOrdered24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextListUnordered16 @@ -3797,6 +3996,7 @@ import { IconTextListUnordered16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTextListUnordered24 @@ -3816,6 +4016,7 @@ import { IconTextListUnordered24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgThumbDown16 @@ -3835,6 +4036,7 @@ import { IconThumbDown16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgThumbDown24 @@ -3854,6 +4056,7 @@ import { IconThumbDown24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgThumbUp16 @@ -3873,6 +4076,7 @@ import { IconThumbUp16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgThumbUp24 @@ -3892,6 +4096,7 @@ import { IconThumbUp24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTranslate16 @@ -3911,6 +4116,7 @@ import { IconTranslate16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgTranslate24 @@ -3930,6 +4136,7 @@ import { IconTranslate24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUndo16 @@ -3949,6 +4156,7 @@ import { IconUndo16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUndo24 @@ -3968,6 +4176,7 @@ import { IconUndo24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUpload16 @@ -3987,6 +4196,7 @@ import { IconUpload16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUpload24 @@ -4006,6 +4216,7 @@ import { IconUpload24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUser16 @@ -4025,6 +4236,7 @@ import { IconUser16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUser24 @@ -4044,6 +4256,7 @@ import { IconUser24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUserGroup16 @@ -4063,6 +4276,7 @@ import { IconUserGroup16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgUserGroup24 @@ -4082,6 +4296,7 @@ import { IconUserGroup24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgView16 @@ -4101,6 +4316,7 @@ import { IconView16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgView24 @@ -4120,6 +4336,7 @@ import { IconView24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgViewOff16 @@ -4139,6 +4356,7 @@ import { IconViewOff16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgViewOff24 @@ -4158,6 +4376,7 @@ import { IconViewOff24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationArea16 @@ -4177,6 +4396,7 @@ import { IconVisualizationArea16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationArea24 @@ -4196,6 +4416,7 @@ import { IconVisualizationArea24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationAreaStacked16 @@ -4215,6 +4436,7 @@ import { IconVisualizationAreaStacked16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationAreaStacked24 @@ -4234,6 +4456,7 @@ import { IconVisualizationAreaStacked24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationBar16 @@ -4253,6 +4476,7 @@ import { IconVisualizationBar16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationBar24 @@ -4272,6 +4496,7 @@ import { IconVisualizationBar24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationBarStacked16 @@ -4291,6 +4516,7 @@ import { IconVisualizationBarStacked16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationBarStacked24 @@ -4310,6 +4536,7 @@ import { IconVisualizationBarStacked24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationColumn16 @@ -4329,6 +4556,7 @@ import { IconVisualizationColumn16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationColumn24 @@ -4348,6 +4576,7 @@ import { IconVisualizationColumn24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationColumnMulti16 @@ -4367,6 +4596,7 @@ import { IconVisualizationColumnMulti16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationColumnMulti24 @@ -4386,6 +4616,7 @@ import { IconVisualizationColumnMulti24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationColumnStacked16 @@ -4405,6 +4636,7 @@ import { IconVisualizationColumnStacked16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationColumnStacked24 @@ -4424,6 +4656,7 @@ import { IconVisualizationColumnStacked24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationGauge16 @@ -4443,6 +4676,7 @@ import { IconVisualizationGauge16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationGauge24 @@ -4462,6 +4696,7 @@ import { IconVisualizationGauge24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationLine16 @@ -4481,6 +4716,7 @@ import { IconVisualizationLine16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationLine24 @@ -4500,6 +4736,7 @@ import { IconVisualizationLine24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationLineMulti16 @@ -4519,6 +4756,7 @@ import { IconVisualizationLineMulti16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationLineMulti24 @@ -4538,6 +4776,7 @@ import { IconVisualizationLineMulti24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationLinelist16 @@ -4557,6 +4796,7 @@ import { IconVisualizationLinelist16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationLinelist24 @@ -4576,6 +4816,7 @@ import { IconVisualizationLinelist24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationOutlierTable16 @@ -4595,6 +4836,7 @@ import { IconVisualizationOutlierTable16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationOutlierTable24 @@ -4614,6 +4856,7 @@ import { IconVisualizationOutlierTable24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationPie16 @@ -4633,6 +4876,7 @@ import { IconVisualizationPie16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationPie24 @@ -4652,6 +4896,7 @@ import { IconVisualizationPie24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationPivotTable16 @@ -4671,6 +4916,7 @@ import { IconVisualizationPivotTable16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationPivotTable24 @@ -4690,6 +4936,7 @@ import { IconVisualizationPivotTable24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationRadar16 @@ -4709,6 +4956,7 @@ import { IconVisualizationRadar16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationRadar24 @@ -4728,6 +4976,7 @@ import { IconVisualizationRadar24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationScatter16 @@ -4747,6 +4996,7 @@ import { IconVisualizationScatter16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationScatter24 @@ -4766,6 +5016,7 @@ import { IconVisualizationScatter24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationSingleValue16 @@ -4785,6 +5036,7 @@ import { IconVisualizationSingleValue16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgVisualizationSingleValue24 @@ -4804,6 +5056,7 @@ import { IconVisualizationSingleValue24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWarning16 @@ -4823,6 +5076,7 @@ import { IconWarning16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWarning24 @@ -4842,6 +5096,7 @@ import { IconWarning24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWarningFilled16 @@ -4861,6 +5116,7 @@ import { IconWarningFilled16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWarningFilled24 @@ -4880,6 +5136,7 @@ import { IconWarningFilled24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWindow16 @@ -4899,6 +5156,7 @@ import { IconWindow16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWindow24 @@ -4918,6 +5176,7 @@ import { IconWindow24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWorld16 @@ -4937,6 +5196,7 @@ import { IconWorld16 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| ### SvgWorld24 @@ -4956,3 +5216,4 @@ import { IconWorld24 } from '@dhis2/ui' |---|---|---|---|---| |color|string|||| |dataTest|string|||| +|ariaLabel|string|||| diff --git a/icons/package.json b/icons/package.json index dd6ba5e553..4205c9a1c7 100644 --- a/icons/package.json +++ b/icons/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2/ui-icons", - "version": "9.4.6", + "version": "9.8.1", "description": "Icons used in the UI libs", "main": "./build/cjs/react/index.js", "module": "./build/es/react/index.js", diff --git a/icons/templates/icon-template.js b/icons/templates/icon-template.js index 6f1f2f6eb1..8011dd3109 100644 --- a/icons/templates/icon-template.js +++ b/icons/templates/icon-template.js @@ -2,7 +2,6 @@ * https://react-svgr.com/docs/custom-templates * https://babeljs.io/docs/en/babel-template#ast-1 */ - function template( { template }, opts, @@ -12,18 +11,18 @@ function template( const tpl = template.smart({ plugins }) return tpl.ast` - import PropTypes from 'prop-types' + import PropTypes from 'prop-types'; ${imports} - function ${componentName}({ color, dataTest }) { - return ${jsx}; + function ${componentName}({ color, dataTest, ariaLabel }) { + return ${jsx} } ${componentName}.propTypes = { color: PropTypes.string, dataTest: PropTypes.string, + ariaLabel: PropTypes.string } - ${exports} ` } diff --git a/icons/types/index.d.ts b/icons/types/index.d.ts index 4dc4b03932..29c0295caa 100644 --- a/icons/types/index.d.ts +++ b/icons/types/index.d.ts @@ -2,6 +2,7 @@ import * as React from 'react' export interface IconProps { color?: string + ariaLabel?: string } export const IconAdd16: React.FC diff --git a/package.json b/package.json index 3eb9d6ebf2..52028ee2f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2/ui-root", - "version": "9.4.6", + "version": "9.8.1", "repository": { "type": "git", "url": "https://github.com/dhis2/ui.git" diff --git a/storybook/package.json b/storybook/package.json index 4cbb856612..315e9754b3 100644 --- a/storybook/package.json +++ b/storybook/package.json @@ -1,6 +1,6 @@ { "name": "ui-storybook", - "version": "9.4.6", + "version": "9.8.1", "description": "UI Storybook", "repository": { "type": "git", @@ -23,8 +23,8 @@ "@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-proposal-private-methods": "^7.13.0", "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@dhis2-ui/css": "9.4.6", - "@dhis2/ui-constants": "9.4.6", + "@dhis2-ui/css": "9.8.1", + "@dhis2/ui-constants": "9.8.1", "@fontsource/roboto": "^4.5.0", "@storybook/addon-a11y": "^6.3.7", "@storybook/addon-console": "^1.2.3",