From ce482a517d2e3afb54f70cc6a169ae28be80fe5d Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Wed, 19 Jul 2023 19:50:10 +0200 Subject: [PATCH 1/8] =?UTF-8?q?=E2=AC=86=EF=B8=8F(frontend)=20update=20Cun?= =?UTF-8?q?ningham?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New release of Cunningham offers components such as DatePicker or DateRangePicker, which are necessary to filter our data. --- src/frontend/apps/web/package.json | 2 +- src/frontend/apps/web/pages/index.scss | 1 + src/frontend/packages/ui/package.json | 2 +- src/frontend/yarn.lock | 1226 +++++++++++++++++++++++- 4 files changed, 1219 insertions(+), 12 deletions(-) diff --git a/src/frontend/apps/web/package.json b/src/frontend/apps/web/package.json index 78b8caad..0f238b29 100644 --- a/src/frontend/apps/web/package.json +++ b/src/frontend/apps/web/package.json @@ -10,7 +10,7 @@ "build-theme": "cunningham -g css -o pages" }, "dependencies": { - "@openfun/cunningham-react": "^0.1.1", + "@openfun/cunningham-react": "^0.10.0", "next": "^13.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/src/frontend/apps/web/pages/index.scss b/src/frontend/apps/web/pages/index.scss index bca42a3b..1f2f4a34 100644 --- a/src/frontend/apps/web/pages/index.scss +++ b/src/frontend/apps/web/pages/index.scss @@ -1,4 +1,5 @@ @import "@openfun/cunningham-react/fonts"; +@import "@openfun/cunningham-react/icons"; @import "@openfun/cunningham-react/style"; @import "cunningham-tokens"; diff --git a/src/frontend/packages/ui/package.json b/src/frontend/packages/ui/package.json index 8965cdbe..8b695e68 100644 --- a/src/frontend/packages/ui/package.json +++ b/src/frontend/packages/ui/package.json @@ -23,6 +23,6 @@ "typescript": "^4.5.2" }, "dependencies": { - "@openfun/cunningham-react": "^0.1.1" + "@openfun/cunningham-react": "^0.10.0" } } diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index be35841b..5ca88dc0 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -164,6 +164,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== +"@babel/runtime@^7.14.8": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" + integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== + dependencies: + regenerator-runtime "^0.13.11" + "@babel/runtime@^7.20.7": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" @@ -227,10 +234,54 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@fontsource/roboto@4.5.8": - version "4.5.8" - resolved "https://registry.yarnpkg.com/@fontsource/roboto/-/roboto-4.5.8.tgz#56347764786079838faf43f0eeda22dd7328437f" - integrity sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA== +"@fontsource-variable/roboto-flex@5.0.5": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@fontsource-variable/roboto-flex/-/roboto-flex-5.0.5.tgz#d7eeb2e50e16519a063045f10da429f9ed3ff929" + integrity sha512-6wVl3KHN0RWg9MEv0UEldcDZO1m1Bw8elP32X4iEi5tPA6/I1N0nLGTs1lPJ/IBZxLNQO2b153NICMXN/r1EwA== + +"@fontsource/material-icons@5.0.5": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@fontsource/material-icons/-/material-icons-5.0.5.tgz#3985a8fc64996016270910effa90d3a07df9759b" + integrity sha512-QXAKK1KSztfrGL/8yft2jd8OyZyiFywRHJHI8bLUy3NVPEgwW3O3/Lsr5kqhB+qRywNw8tjf3lr0qg9/g6UvGw== + +"@formatjs/ecma402-abstract@1.17.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz#2ce191a3bde4c65c6684e03fa247062a4a294b9e" + integrity sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ== + dependencies: + "@formatjs/intl-localematcher" "0.4.0" + tslib "^2.4.0" + +"@formatjs/fast-memoize@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" + integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== + dependencies: + tslib "^2.4.0" + +"@formatjs/icu-messageformat-parser@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz#b0d58ce8c8f472969c96b5cd0b3ad5522d3a02b7" + integrity sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw== + dependencies: + "@formatjs/ecma402-abstract" "1.17.0" + "@formatjs/icu-skeleton-parser" "1.6.0" + tslib "^2.4.0" + +"@formatjs/icu-skeleton-parser@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz#0728be8b6b3656f1a4b8e6e5b0e02dffffc23c6c" + integrity sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA== + dependencies: + "@formatjs/ecma402-abstract" "1.17.0" + tslib "^2.4.0" + +"@formatjs/intl-localematcher@0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz#63bbc37a7c3545a1bf1686072e51d9a3aed98d6b" + integrity sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw== + dependencies: + tslib "^2.4.0" "@humanwhocodes/config-array@^0.5.0": version "0.5.0" @@ -246,6 +297,35 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@internationalized/date@3.3.0", "@internationalized/date@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.3.0.tgz#90386d4b4e707f28507d1a1b3cc0e162ad5ee038" + integrity sha512-qfRd7jCIgUjabI8RxeAsxhLDRS1u8eUPX96GB5uBp1Tpm6YY6dVveE7YwsTEV6L4QOp5LKFirFHHGsL/XQwJIA== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/message@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.1.tgz#0f29c5a239b5dcd457b55f21dcd38d1a44a1236a" + integrity sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw== + dependencies: + "@swc/helpers" "^0.5.0" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.2.1.tgz#570e4010544a84a8225e65b34a689a36187caaa8" + integrity sha512-hK30sfBlmB1aIe3/OwAPg9Ey0DjjXvHEiGVhNaOiBJl31G0B6wMaX8BN3ibzdlpyRNE9p7X+3EBONmxtJO9Yfg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/string@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.1.1.tgz#2ab7372d58bbb7ffd3de62fc2a311e4690186981" + integrity sha512-fvSr6YRoVPgONiVIUhgCmIAlifMVCeej/snPZVzbzRPxGpHl3o1GRe+d/qh92D8KhgOciruDUH8I5mjdfdjzfA== + dependencies: + "@swc/helpers" "^0.5.0" + "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -392,14 +472,25 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@openfun/cunningham-react@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@openfun/cunningham-react/-/cunningham-react-0.1.1.tgz#17194cad6048743f7637e0969b00d81d0354f270" - integrity sha512-WK7QJYteNk0f7uNeErsd8wryXmazJ3vT8T+rW3E/5fruYkLeGKoYZFIinsUf47sWaFNcIhxeN9xN2MLesQE2JA== +"@openfun/cunningham-react@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@openfun/cunningham-react/-/cunningham-react-0.10.0.tgz#c01a0efb2a5d0aa87cf8b5cd905f18d7ec8271cf" + integrity sha512-usx25ETDJXCgWwfZ6cBfWwEGpVuWT97aDeSozSsbMfZNTR6csh5nKKPWhNDvX/Ot5xZmCWEA9zQBD9SMdhZ3Bw== dependencies: - "@fontsource/roboto" "4.5.8" + "@fontsource-variable/roboto-flex" "5.0.5" + "@fontsource/material-icons" "5.0.5" + "@internationalized/date" "3.3.0" "@openfun/cunningham-tokens" "*" + "@react-aria/calendar" "3.4.0" + "@react-aria/datepicker" "3.5.0" + "@react-aria/i18n" "3.8.0" + "@react-stately/calendar" "3.3.0" + "@react-stately/datepicker" "3.5.0" + "@tanstack/react-table" "8.9.3" + classnames "2.3.2" + downshift "7.6.1" react "18.2.0" + react-aria "3.26.0" react-dom "18.2.0" "@openfun/cunningham-tokens@*": @@ -413,6 +504,1014 @@ figlet "1.5.2" ts-node "10.9.1" +"@react-aria/breadcrumbs@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-aria/breadcrumbs/-/breadcrumbs-3.5.3.tgz#05d4d811d7a665ccf6b0b411a2c0ab0f4fb4638e" + integrity sha512-rmkApAflZm7Finn3vxLGv7MbsMaPo5Bn7/lf8GBztNfzmLWP/dAA5bgvi1sj1T6sWJOuFJT8u04ImUwBCLh8cQ== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/link" "^3.5.2" + "@react-aria/utils" "^3.18.0" + "@react-types/breadcrumbs" "^3.6.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/button@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.8.0.tgz#24ccdee450f588d1edeaea3045b0755ae54cc2ce" + integrity sha512-QdvXTQgn+QEWOHoMbUIPXSBIN5P2r1zthRvqDJMTCzuT0I6LbNAq7RoojEbRrcn0DbTa/nZPzOOYsZXjgteRdw== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/toggle" "^3.6.0" + "@react-types/button" "^3.7.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/calendar@3.4.0", "@react-aria/calendar@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@react-aria/calendar/-/calendar-3.4.0.tgz#7415132eb97871ce86d566a92ec0bf8e5d4f45e6" + integrity sha512-Ly+9KsOXWZTlOYDZeIYCWNuMZg7ZiJC497Z4U3SqaWmDsZaqwU8ZnLmZ1xUWq1cYvK9rnWPnnpby1JUgttY9RA== + dependencies: + "@internationalized/date" "^3.3.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/utils" "^3.18.0" + "@react-stately/calendar" "^3.3.0" + "@react-types/button" "^3.7.3" + "@react-types/calendar" "^3.3.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/checkbox@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-aria/checkbox/-/checkbox-3.9.2.tgz#bb21d2d6142f8ab169f40720c42e9c3eec22da51" + integrity sha512-gpvC+EnrxcQ9wupnoXsIDUmhSeBpxWtfRIYYypn6Ta6NY9Ubkh4H/8xE9/27nhJltHf5rzEcLfKg4QlEftab/w== + dependencies: + "@react-aria/label" "^3.6.0" + "@react-aria/toggle" "^3.6.2" + "@react-aria/utils" "^3.18.0" + "@react-stately/checkbox" "^3.4.3" + "@react-stately/toggle" "^3.6.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/combobox@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-aria/combobox/-/combobox-3.6.2.tgz#569382f6e1f3ea4e716994c3c5be86b2edca7545" + integrity sha512-SWbA2vH26zcrZDbXdPJtZNR6ywYPdf4LU8/7IKLs1Iv7mrlICr9Cmeywiu2RuFRosuR1hGSy1hibBTgPO6V/sw== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/listbox" "^3.10.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/menu" "^3.10.0" + "@react-aria/overlays" "^3.15.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/textfield" "^3.10.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/collections" "^3.9.0" + "@react-stately/combobox" "^3.5.2" + "@react-stately/layout" "^3.12.2" + "@react-types/button" "^3.7.3" + "@react-types/combobox" "^3.6.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/datepicker@3.5.0", "@react-aria/datepicker@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-aria/datepicker/-/datepicker-3.5.0.tgz#0ed4f595f7bffaa1b44613dcede4fd845213774d" + integrity sha512-oUfLbfFwe5XgS2Womx0t0gA8797mGQjjxZAGa9lGSNGFx26NOfhWBh24lAYQzQnZ5ot/DxDSJmzLjN6WEWv9pQ== + dependencies: + "@internationalized/date" "^3.3.0" + "@internationalized/number" "^3.2.1" + "@internationalized/string" "^3.1.1" + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/spinbutton" "^3.5.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/datepicker" "^3.5.0" + "@react-types/button" "^3.7.3" + "@react-types/calendar" "^3.3.0" + "@react-types/datepicker" "^3.4.0" + "@react-types/dialog" "^3.5.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/dialog@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.5.3.tgz#50c3b49906706e366cb5feae1089e6b7bf51fef9" + integrity sha512-wXpAqnt6TtR4X/5Xk5HCTBM0qyPcF2bXFQ5z2gSwl1olgoQ5znZEgMqMLbMmwb4dsWGGtAueULs6fVZk766ygA== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/overlays" "^3.15.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/overlays" "^3.6.0" + "@react-types/dialog" "^3.5.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/dnd@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@react-aria/dnd/-/dnd-3.3.0.tgz#9f949671dddb5c25ef6fbc4a76c8199dff7329d2" + integrity sha512-rk46inb6XdVR5cIFzuMoqUfdqgqb+GHOIFGDiwhHYONeCdvQKD31ztQZ78yITORmPOmjrnn6r2V3GQ6Oz54WSQ== + dependencies: + "@internationalized/string" "^3.1.1" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/overlays" "^3.15.0" + "@react-aria/utils" "^3.18.0" + "@react-aria/visually-hidden" "^3.8.2" + "@react-stately/dnd" "^3.2.2" + "@react-types/button" "^3.7.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/focus@^3.13.0": + version "3.13.0" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.13.0.tgz#0134112d52a83a53f15b5f7e7435833c6a69d913" + integrity sha512-9DW7RqgbFWiImZmkmTIJGe9LrQBqEeLYwlKY+F1FTVXerIPiCCQ3JO3ESEa4lFMmkaHoueFLUrq2jkYjRNqoTw== + dependencies: + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + clsx "^1.1.1" + +"@react-aria/grid@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-aria/grid/-/grid-3.8.0.tgz#5b13c952f449f21ae9c3b5bee72376f4974675ab" + integrity sha512-7z1xFAbLPgUPROrXwuJk94STQPQ/K8rCLshhwTAg70uFVCPNnrm3jxQ6vE/lddPB+yss9Ee33GwSCrEXdzJkTw== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/collections" "^3.9.0" + "@react-stately/grid" "^3.7.0" + "@react-stately/selection" "^3.13.2" + "@react-stately/virtualizer" "^3.6.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/grid" "^3.1.8" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/gridlist@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-aria/gridlist/-/gridlist-3.5.0.tgz#79047c1f8fca73eb9068ef467d42ed30d972b941" + integrity sha512-xBCWyTtJNdUKSSUWXPMEi4lTnM1NRUlEJNi0eTNPIQVZOwQ7AgkEOD6uI+C6mgBL8q0oJwyIAfhK3zdwUCQSPg== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/grid" "^3.8.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/list" "^3.9.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/i18n@3.8.0", "@react-aria/i18n@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.8.0.tgz#fe0c6b9ad9fe1e8a139c4d514d4240164c699bf8" + integrity sha512-zeohg7d66zPLnGQl1rJuVJJ/gP7GmUMxEKIFRwE+rg2u02ldKxJMSb8QKGo605QpFWqo7CuuWYvKJP5Mj+Em/w== + dependencies: + "@internationalized/date" "^3.3.0" + "@internationalized/message" "^3.1.1" + "@internationalized/number" "^3.2.1" + "@internationalized/string" "^3.1.1" + "@react-aria/ssr" "^3.7.0" + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@^3.16.0": + version "3.16.0" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.16.0.tgz#d3ed51df60d68090114322b853bcc3e9f5f51619" + integrity sha512-vXANFKVd6ONqNw8U+ZWbSA8lrduCOXw7cWsYosTa5dZ24ZJfRfbhlvRe8CaAKMhB/rOOmvTLaAwdIPia6JtLDg== + dependencies: + "@react-aria/ssr" "^3.7.0" + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/label@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-aria/label/-/label-3.6.0.tgz#9bf353cd0f3577f14285e8032dddcfe1fc37a8e0" + integrity sha512-o6Z9YAbvywj/b995HOl7fS9vf8FVmhWiJkKwFyCi/M1A7FXBqgtPcdPDNHaaKOhvQcwnLs4iMVMJwZdn/dLVDA== + dependencies: + "@react-aria/utils" "^3.18.0" + "@react-types/label" "^3.7.4" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/link@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-aria/link/-/link-3.5.2.tgz#68b99721eeddffb87c42541419f08333eada37d9" + integrity sha512-CCFP11Uietro6TUZpWBoq3Ql/6qss/ODC5XM6oNxckj72IHruFIj8V7Y0tL5x0aE6h38hlKcDf8NCxkQqz2edg== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-types/link" "^3.4.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/listbox@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/listbox/-/listbox-3.10.0.tgz#cf52ebe04a3f9472f505dcf22564070ae76a811b" + integrity sha512-4NelMDZAPoy2W4uoKZsMpdrC6XJQiZU+vpuhnzUT1eWTneDsEHKHSHQFtymoe8VrUEPrCV16EeMk1vRVvjCfAw== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/collections" "^3.9.0" + "@react-stately/list" "^3.9.0" + "@react-types/listbox" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/live-announcer@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-aria/live-announcer/-/live-announcer-3.3.1.tgz#bf864b8820fb02daaeefc1c972782a0174fd60b9" + integrity sha512-hsc77U7S16trM86d+peqJCOCQ7/smO1cybgdpOuzXyiwcHQw8RQ4GrXrS37P4Ux/44E9nMZkOwATQRT2aK8+Ew== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/menu@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.10.0.tgz#7f94e84c3ed2e18efa4b537e20e1e4125e9e6f51" + integrity sha512-zOOOXvx21aGSxZsXvLa3NV48hLk0jBC/zu5WZHT0Mo/wAe0+43f8p/U3AT8Gc4WnxYbIestcdLaIwgeagSoLtQ== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/overlays" "^3.15.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/collections" "^3.9.0" + "@react-stately/menu" "^3.5.3" + "@react-stately/tree" "^3.7.0" + "@react-types/button" "^3.7.3" + "@react-types/menu" "^3.9.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/meter@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@react-aria/meter/-/meter-3.4.3.tgz#918147208870c3ccb85fc55ab83867a67fa1fe96" + integrity sha512-1RUr93cNfMqTfyGtQ+SqFYLqlOqza6TEmXmtdCExPuZVRUZRjQRkqPoYuL8CPwHKlU4sbSlLiNeUu/HhV6pyTg== + dependencies: + "@react-aria/progress" "^3.4.3" + "@react-types/meter" "^3.3.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/numberfield@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-aria/numberfield/-/numberfield-3.6.0.tgz#7e140e7631f8b22f1f3d40ce5be1512e547a3849" + integrity sha512-LbtRS/JciPicYLjqAP87gufInzZ2rlOQlKu0tQK8l/Hwc2cPOWUldDXbrGgxrXwbMxfEASmfI6qYz8uhTGmIyw== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/spinbutton" "^3.5.0" + "@react-aria/textfield" "^3.10.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/numberfield" "^3.5.0" + "@react-types/button" "^3.7.3" + "@react-types/numberfield" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@react-types/textfield" "^3.7.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/overlays@^3.15.0": + version "3.15.0" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.15.0.tgz#9ae71209735b9020921c02a6603bae58f25bcbc9" + integrity sha512-MeLn74GvXZfi881NSx5sSd5eTduki/PMk4vPvMNp2Xm+9nGHm0FbGu2GMIGgarYy5JC7l/bOO7H01YrS4AozPg== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/ssr" "^3.7.0" + "@react-aria/utils" "^3.18.0" + "@react-aria/visually-hidden" "^3.8.2" + "@react-stately/overlays" "^3.6.0" + "@react-types/button" "^3.7.3" + "@react-types/overlays" "^3.8.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/progress@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@react-aria/progress/-/progress-3.4.3.tgz#ea945c9c9b1fc23d3aff78d303da304a53bab0c5" + integrity sha512-u8aUrnnQGsRZWx5vBfBhf70TeGeN/gEJzcthef5YDUQZG8O2IDhzR1GLqBmn1RvdcSDvBdhRSpMXd+6bL1WzGw== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/label" "^3.6.0" + "@react-aria/utils" "^3.18.0" + "@react-types/progress" "^3.4.1" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/radio@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-aria/radio/-/radio-3.6.2.tgz#c1dd6a332f0c9fc1c7acc6094db28b92091c8868" + integrity sha512-R7vyh0G2HaUe0+SGa/LDMYuGnNC/15L6yfuljpP8ZUDPw9bR/6BuE1BDCI0ov1EXQ1lQ/vcvZMbf78OC72vPrg== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/radio" "^3.8.2" + "@react-types/radio" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/searchfield@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.5.3.tgz#8592ea39b4ba4eaf187a09d5f97676c32067c342" + integrity sha512-OqkXTZrjesqRxBR0WIOh0cezwmuXDQpsdua9nnGj0+8BIGCHuxvUOpw1HA3eTsf4AbZfygngC7pMT1lOR21upg== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/textfield" "^3.10.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/searchfield" "^3.4.3" + "@react-types/button" "^3.7.3" + "@react-types/searchfield" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/select@^3.11.0": + version "3.11.0" + resolved "https://registry.yarnpkg.com/@react-aria/select/-/select-3.11.0.tgz#5180f5095c617ef8076e6395a6795e2c37e5af5b" + integrity sha512-UEYhw7wK4XoPMVbTa3UykPcri9GIV777WvXeKEykS1nMbJzu1I1LUE5py4ymhaI7DbpZ+gWZPTA0iot8IYQOWQ== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/listbox" "^3.10.0" + "@react-aria/menu" "^3.10.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-aria/visually-hidden" "^3.8.2" + "@react-stately/select" "^3.5.2" + "@react-types/button" "^3.7.3" + "@react-types/select" "^3.8.1" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/selection@^3.16.0": + version "3.16.0" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.16.0.tgz#827cf8056b218813dafeca48d10e9d91b475ee12" + integrity sha512-qQ4X0+wtLz0+qjsoj1T0hVehA0CbZdu0Ax+lCzWmj+ZDivtdeNpVQl+K0yj9p95MnzLgIbnY7zU2zDQrYqKDOQ== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/collections" "^3.9.0" + "@react-stately/selection" "^3.13.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/separator@^3.3.3": + version "3.3.3" + resolved "https://registry.yarnpkg.com/@react-aria/separator/-/separator-3.3.3.tgz#3d188f9a74470e6809464d02a05d3b395c913c75" + integrity sha512-kBGEXSSUiJLPS9foS5/7jgzpdp3/Yb1aMvVuvRGuNxDUsPAmvaYUT3qZ44Zf3hoxKfRFb4452KcoZ03w3Jfcvg== + dependencies: + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/slider@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-aria/slider/-/slider-3.5.0.tgz#9b6973af0b6074bb86624eed8a27e2a013ad4f92" + integrity sha512-7qvzWZzwSww/+kLiSC8UJo4csHo8ndFzpzE2jUOom+hKMFomg5gIF4vqJI3ieWwF6rm6bbLmhxN4GvmNebVMwA== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/radio" "^3.8.2" + "@react-stately/slider" "^3.4.0" + "@react-types/radio" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@react-types/slider" "^3.5.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/spinbutton@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-aria/spinbutton/-/spinbutton-3.5.0.tgz#85f27dfe2625c3b9b4c10fd115fa8a31f87c4b38" + integrity sha512-WWLPiJd2nbv17dSbcbOm+TXlLO9ZIEA86ft/CTkvRYRG48kDn++4f16QcA0Gr+7dKdLQGbKkCf61jMJ3q8t5Hw== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/utils" "^3.18.0" + "@react-types/button" "^3.7.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.7.0.tgz#7eda2964ab792dc1c3a1fdacbf5bfb185590e9a5" + integrity sha512-bfufjg4ESE5giN+Fxj1XIzS5f/YIhqcGc+Ve+vUUKU8xZ8t/Xtjlv8F3kjqDBQdk//n3mluFY7xG1wQVB9rMLQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/switch@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-aria/switch/-/switch-3.5.2.tgz#b47208e862343998a5f25baaaeb7bc9cbc63a09d" + integrity sha512-mhV4Ip3t241s7gp4ETDe61AsSDox5TZXkiWt8add65p/LMESYBju9hGtbrxkMNCW62AuYCTAIadHoEOpy9HIIg== + dependencies: + "@react-aria/toggle" "^3.6.2" + "@react-stately/toggle" "^3.6.0" + "@react-types/switch" "^3.3.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/table@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/table/-/table-3.10.0.tgz#c11ab57a2f32cd89258f129896256552ef98472a" + integrity sha512-N42Ill9fdjeWKC/516fPMpPa79B0c+teFJ/fhcROLFrlwotgLKwndIG/InkE1L6FKeiJ8JL33FgUnxfRGafa8Q== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/grid" "^3.8.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-aria/visually-hidden" "^3.8.2" + "@react-stately/collections" "^3.9.0" + "@react-stately/table" "^3.10.0" + "@react-stately/virtualizer" "^3.6.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/grid" "^3.1.8" + "@react-types/shared" "^3.18.1" + "@react-types/table" "^3.7.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/tabs@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.6.1.tgz#7f45402ca58deec492f78db4f8f80a82e3d5d630" + integrity sha512-P/P3HA+b1Q917hVvXn1kzFl3dQnMTwYR8JKY5gjfjLQsAAEfJzSO3wLR0vNSp6Cz2FTAVCH4yzwP1G+bRLZVnw== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/list" "^3.9.0" + "@react-stately/tabs" "^3.5.0" + "@react-types/shared" "^3.18.1" + "@react-types/tabs" "^3.3.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/tag@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@react-aria/tag/-/tag-3.1.0.tgz#9f59108c1ccddc4eb179efdfc3d6673362e3222e" + integrity sha512-N3h34k23jK7xuMh4eMDJoUG1xsNUw6zz+r9mmSMMLCxU38w+RH27ywEpKheW25M7LhfggqTjbjnPOpPpBnrENQ== + dependencies: + "@react-aria/gridlist" "^3.5.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/list" "^3.9.0" + "@react-types/button" "^3.7.3" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-aria/textfield@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/textfield/-/textfield-3.10.0.tgz#bb65ca96cb1a88f5a379464ce0fb4bd823e0945a" + integrity sha512-TYFgDTlxrljakD0TGOkoSCvot9BfVCZSrTKy3+/PICSTkPIzXThLIQmpX6yObLMXQSNW6SvBCl6CMetJMJHcbw== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/label" "^3.6.0" + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@react-types/textfield" "^3.7.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/toggle@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-aria/toggle/-/toggle-3.6.2.tgz#901ec6098888ab3fdf19dc6b0bfe2b1409edc7dc" + integrity sha512-bRz/ybajeLEsJLt1ARRL7CtWs6bwvkNLWy/wpJnH2TJ3+lMpH+EKbWBVJoAP7wQ5jIVVpxKJLhpf6w6x8ZLtdw== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/toggle" "^3.6.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/shared" "^3.18.1" + "@react-types/switch" "^3.3.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/tooltip@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-aria/tooltip/-/tooltip-3.6.0.tgz#7f0cae6759ac573b745987950bf49098b7dd775d" + integrity sha512-D38C7M58ZXWmY2+TXDczbbYRj9/KhIDyE/rLI0KhZR/iXDOJvmB9DT8HZuZLPsntq4Wl6mpmfPggT/R91nvR2Q== + dependencies: + "@react-aria/focus" "^3.13.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/tooltip" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@react-types/tooltip" "^3.4.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@^3.18.0": + version "3.18.0" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.18.0.tgz#50e555ac049f47bff25bc2cef1078352e853d229" + integrity sha512-eLs0ExzXx/D3P9qe6ophJ87ZFcI1oRTyRa51M59pCad7grrpk0gWcYrBjMwcR457YWOQQWCeLuq8QJl2QxCW6Q== + dependencies: + "@react-aria/ssr" "^3.7.0" + "@react-stately/utils" "^3.7.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + clsx "^1.1.1" + +"@react-aria/visually-hidden@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.2.tgz#96601a0b8d301348dec4da89789f94723de6b034" + integrity sha512-MFTqqSvPfc8u3YlzNfQ3ITX4eVQpZDiSqLPKj3Zyr86CKlba5iG8WGqjiJhD2GNHlvmcF/mITXTsNzm0KxFE7g== + dependencies: + "@react-aria/interactions" "^3.16.0" + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + clsx "^1.1.1" + +"@react-stately/calendar@3.3.0", "@react-stately/calendar@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@react-stately/calendar/-/calendar-3.3.0.tgz#e4ca329a4a1a880a5359d32c4b6a706cc3aeb147" + integrity sha512-fnqdxCTlkikgldEyW8ciPNUWhqaUsQKTx6X6XGob6VCwK59k0LmdlgZX+dXj0q2ezC+w4lnvz8TzpoRQ7GY8lw== + dependencies: + "@internationalized/date" "^3.3.0" + "@react-stately/utils" "^3.7.0" + "@react-types/calendar" "^3.3.0" + "@react-types/datepicker" "^3.4.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/checkbox@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@react-stately/checkbox/-/checkbox-3.4.3.tgz#ffbf8109ca903e502a1e42cf0863e22c8f75c07e" + integrity sha512-TEd50vrUTHZWt8qO7ySLG2MlWJbsCvyx+pA1VhLJw6hRfjqorAjmCcpV2sEdu3EkLG7hA/Jw+7iBmGPlxmBN6A== + dependencies: + "@react-stately/toggle" "^3.6.0" + "@react-stately/utils" "^3.7.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/collections@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.9.0.tgz#8a9e621fb10e370bd0329f96dd141bc6dcd0e548" + integrity sha512-CBpXSKmCpbIFpIToVFlzo2R1/Cj+dcU8gWw2KfPyyJX+2wHKkDIvtK01EAytDLX/vkE8O+fD5a7qMZ3pf8gpeA== + dependencies: + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/combobox@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-stately/combobox/-/combobox-3.5.2.tgz#df244fef38efc4bf8e5b2195110f56e0443bf9e4" + integrity sha512-vMp3/xWv9a3DglTvvcQsJup3zZkmIANbf799j21Kc6Z4DXs+ohU81Qg5q9Z/5QuTEPsJFFv7vKXtb+VlP/TK2g== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/list" "^3.9.0" + "@react-stately/menu" "^3.5.3" + "@react-stately/select" "^3.5.2" + "@react-stately/utils" "^3.7.0" + "@react-types/combobox" "^3.6.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/datepicker@3.5.0", "@react-stately/datepicker@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-stately/datepicker/-/datepicker-3.5.0.tgz#eb43bf0e842e69c3390df3933869bf27fb337609" + integrity sha512-GPscIz4jP9hDa1ChgMAWAt8g8mCpjILmSgfyuIZXegPZfa3ryKuQutYU/JGJrBom1xablAgeHIN1AWpve+4f1w== + dependencies: + "@internationalized/date" "^3.3.0" + "@internationalized/string" "^3.1.1" + "@react-stately/overlays" "^3.6.0" + "@react-stately/utils" "^3.7.0" + "@react-types/datepicker" "^3.4.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/dnd@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@react-stately/dnd/-/dnd-3.2.2.tgz#d33a80ce95c757c8e92ddd7f2e4f4cc897562e74" + integrity sha512-1Eb4ZGh2xzTLDBV/Y+c/UoOvd2A9rglj+5o1Vo7HuIVWWc8tDJXq499B7rp/5JPcfQspF5OI4h08OWZFlPd/Ig== + dependencies: + "@react-stately/selection" "^3.13.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/grid@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-stately/grid/-/grid-3.7.0.tgz#0f757a7010460d92d3373d769194d871a5cf4ae3" + integrity sha512-3eb7+7p9Xh/+luUOyieY2bM4CsARA8WnRB7c2++gh4dh9AEpZV4VGICGTe35+dJYr+9pbYQqVMEcEFUOaJJzZw== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/selection" "^3.13.2" + "@react-types/grid" "^3.1.8" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/layout@^3.12.2": + version "3.12.2" + resolved "https://registry.yarnpkg.com/@react-stately/layout/-/layout-3.12.2.tgz#80f72128c1cc8890a7d507a767889d32ee092b55" + integrity sha512-9AGA11G5+Uo/mQoJR90lbqTR4+UFSl13jQMtqom/BYxkFGrHh3gWSUWEmg2h+n1Qa1q+oJjgaeQ9bxqlrR/wpQ== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/table" "^3.10.0" + "@react-stately/virtualizer" "^3.6.0" + "@react-types/grid" "^3.1.8" + "@react-types/shared" "^3.18.1" + "@react-types/table" "^3.7.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/list@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.9.0.tgz#725239c3ef5d526570bfecf274d11dd63c35005f" + integrity sha512-9DNV02zFEkJG38AtHyhvGMfpJQGwV0KMyMObs+KEujzCh+rmHdTu1rWdjzLw1ve+ecESK8UMsF4Kt6wwO0Qi6g== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/selection" "^3.13.2" + "@react-stately/utils" "^3.7.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/menu@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.5.3.tgz#c25fc231502cae639f5b557a9e1d8016a7e474cc" + integrity sha512-RFgwVD/4BgTtJkexi1WaHpAEkQWZPvpyri0LQUgXWVqBf9PpjB8wigF3XBLMDNkL+YXE0QtzQZBNS1nJECf7rg== + dependencies: + "@react-stately/overlays" "^3.6.0" + "@react-stately/utils" "^3.7.0" + "@react-types/menu" "^3.9.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/numberfield@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-stately/numberfield/-/numberfield-3.5.0.tgz#31940c1be18d96173ff0f410a73298fbcfee52f4" + integrity sha512-2R39hXQpQzoVDl1r3TZDKUEKf6lHbhiOpcBOYTPOne+YJOyMXQ6PnXAOTVuIcgTNdagukhXQVoDYH2B/1FvJOA== + dependencies: + "@internationalized/number" "^3.2.1" + "@react-stately/utils" "^3.7.0" + "@react-types/numberfield" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/overlays@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.0.tgz#d53fedf3fec0e3a4db1c2a3b643b5cad09f9a88c" + integrity sha512-0Bgy4xwCXKM+jkHAGJMN19ZFXNgKstf6qJozfH79j3E5erY30ZStwT7gbAnwv112zFUQLHBKo+3wJTGWuHgs8Q== + dependencies: + "@react-stately/utils" "^3.7.0" + "@react-types/overlays" "^3.8.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/radio@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-stately/radio/-/radio-3.8.2.tgz#e7f541211f67fb821b4e47c16b8401f93034139d" + integrity sha512-tjlXask1IEGzzXwdc495K+wsHhyVhtaMhAeTbrdTD1a1fdg2g/jA0vWhN/KGO/CpnZT4vXGjJcY686Rmlrt9EQ== + dependencies: + "@react-stately/utils" "^3.7.0" + "@react-types/radio" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/searchfield@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.4.3.tgz#0ae239c38aede9f349030fb5932ad38c94d70f98" + integrity sha512-mTdbWGpOA7foZJwkiR0AP5beh66I1feHMQ9/7/3lR4ETqLQ29vVXte+jc3+RrlFy+Adup0Ziwzs3DMfMZ0rN8Q== + dependencies: + "@react-stately/utils" "^3.7.0" + "@react-types/searchfield" "^3.4.2" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/select@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-stately/select/-/select-3.5.2.tgz#140be9edf4ff714e7fa7bee5e7093e5d8cbb58b5" + integrity sha512-hIDAXFNg+q8rGQy5YKEaOz4NoWsckoQoi18vY8u6VsFUIhfYaYL76x6zKbTwekZLYuroifH7Fv81tBvRZmXikQ== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/list" "^3.9.0" + "@react-stately/menu" "^3.5.3" + "@react-stately/selection" "^3.13.2" + "@react-stately/utils" "^3.7.0" + "@react-types/select" "^3.8.1" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/selection@^3.13.2": + version "3.13.2" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.13.2.tgz#9b0b717b0da4c84ec412a0e5068f6798ec37ddbd" + integrity sha512-rVnseneG9XWuS0+JEsa0EhRfTZsupm9JiEuZHZ19YeLewjVdFpjgBMDZb8ZYoyilNXVjyUwaoq94FsOXotsg9w== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/utils" "^3.7.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/slider@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@react-stately/slider/-/slider-3.4.0.tgz#1d0a6498a69332703046a8ba85d2b630ddf6e21e" + integrity sha512-VvGJ1XkFIIEXP0eg9xqK/NztimBCSRmEqLgqlwzeDJAtuFXZzPRgJGrodGnqGmhoLsTFaY8YleLh/1hgf6rO0g== + dependencies: + "@react-aria/i18n" "^3.8.0" + "@react-aria/utils" "^3.18.0" + "@react-stately/utils" "^3.7.0" + "@react-types/shared" "^3.18.1" + "@react-types/slider" "^3.5.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/table@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-stately/table/-/table-3.10.0.tgz#2a88459debd9dcd408a073561474277685d737d5" + integrity sha512-LDF97lZIkCDYNFw5Yz1eREedO9QerPDchxXUXlPVyjwLiZ4ADlhz6W/NTq6gm2PgrHljY/0+Kd5zEgVySLMTEw== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/grid" "^3.7.0" + "@react-stately/selection" "^3.13.2" + "@react-types/grid" "^3.1.8" + "@react-types/shared" "^3.18.1" + "@react-types/table" "^3.7.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/tabs@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.5.0.tgz#21209e68f6ca93a32f90149d5d820ebde58142cc" + integrity sha512-N6B0+ZyW6mbmY/kHl0GKGj/i7MtA141A7yYJFSLDdvq1Hb2x7V1Y6gfl40FkSW4W9y3oQtKU+rTxV0EyjEJMWQ== + dependencies: + "@react-stately/list" "^3.9.0" + "@react-stately/utils" "^3.7.0" + "@react-types/shared" "^3.18.1" + "@react-types/tabs" "^3.3.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/toggle@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.6.0.tgz#d1cd5a316ee1ee23003c2ed950816b8d314239fe" + integrity sha512-w+Aqh78H9MLs0FDUYTjAzYhrHQWaDJ2zWjyg2oYcSvERES0+D0obmPvtJLWsFrJ8fHJrTmxd7ezVFBY9BbPeFQ== + dependencies: + "@react-stately/utils" "^3.7.0" + "@react-types/checkbox" "^3.4.4" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/tooltip@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-stately/tooltip/-/tooltip-3.4.2.tgz#8659bb7f3324a54a2b739fb9a1f5b759ebeef5bf" + integrity sha512-tDkoYyEfdo44a3CoeiF794TFTs36d9faX0QvbR1QZ2KksjCMceOL5+26MlQjnhjEydYqw1X1YlTZbtMeor4uQw== + dependencies: + "@react-stately/overlays" "^3.6.0" + "@react-stately/utils" "^3.7.0" + "@react-types/tooltip" "^3.4.2" + "@swc/helpers" "^0.5.0" + +"@react-stately/tree@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.7.0.tgz#fe658143cfec2d50921eeb7a9d2fad9c84b94dc8" + integrity sha512-oXOjJwy/o3XSJyBkudiEvnjWzto2jy48kmGjHCJ+B7Hv+WcbN9o7iAaHv11lOqMXRSpuF9gqox4ZZCASG+smIQ== + dependencies: + "@react-stately/collections" "^3.9.0" + "@react-stately/selection" "^3.13.2" + "@react-stately/utils" "^3.7.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-stately/utils@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.7.0.tgz#ea99c2c4b5fba7e5079434a1de1ef53fbb21f6a8" + integrity sha512-VbApRiUV2rhozOfk0Qj9xt0qjVbQfLTgAzXLdrfeZSBnyIgo1bFRnjDpnDZKZUUCeGQcJJI03I9niaUtY+kwJQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-stately/virtualizer@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-stately/virtualizer/-/virtualizer-3.6.0.tgz#ab11a0263041f4d7e5b2ecf1165b68bed2972166" + integrity sha512-f78BQT9ZSD5Hpqf6axRoNQJFqV+JjMSV2VixMfhIAcqi/fn8rEN2j3g4SPdFzTtFf2FR3+AKdBFu5tsgtk1Tgw== + dependencies: + "@react-aria/utils" "^3.18.0" + "@react-types/shared" "^3.18.1" + "@swc/helpers" "^0.5.0" + +"@react-types/breadcrumbs@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-types/breadcrumbs/-/breadcrumbs-3.6.0.tgz#6a5b5e459597172d7f23f2ecbc9e11c94d2a3f2a" + integrity sha512-EnZk/f59yMQUmH2DW21uo3ajQ7nLEZ/sIMSfEZYP69CFe1by0RKi9aFRjJSrYjxRC0PSHTVPTjIG72KeBSsUGA== + dependencies: + "@react-types/link" "^3.4.3" + "@react-types/shared" "^3.18.1" + +"@react-types/button@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.7.3.tgz#00ad45ff0a304a6f6ef29a5d6adda73cea10942f" + integrity sha512-Fz1t/kYinHDunmct3tADD2h3UDBPZUfRE+zCzYiymz0g+v/zYHTAqnkWToTF9ptf8HIB5L2Z2VFYpeUHFfpWzg== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/calendar@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.3.0.tgz#d6975683cbbdc1241204ef6501686cbc3f80b6e8" + integrity sha512-5Qga+eixj+PembMwzcJmQlxif4XhSJJ54JcoyYHVf6mYLw3aE81Jc52OBi1FEWBJOW9YVOTk7VbWPFFF/oBI8A== + dependencies: + "@internationalized/date" "^3.3.0" + "@react-types/shared" "^3.18.1" + +"@react-types/checkbox@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.4.4.tgz#cf55e9fd0cabef6e4408d03b308c754e1add3bc1" + integrity sha512-rJNhbW4R9HTvdbF2oTZmqGiZ/WVP3/XsU4gae7tfdhSYjG+5T5h9zau1vRhz++zwKn57wfcyNn6a83GDhhgkVw== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/combobox@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-types/combobox/-/combobox-3.6.2.tgz#887cc2bce355773cb9dc5613c88264d008c92384" + integrity sha512-qitu/W3Z3/ihyqocy+8n4HZKRXF5JTMHl1ug3rKps5yCNnVdkWwjPFPM6w180c9QjquThNY3o947LZ1v59qJ4A== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/datepicker@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.4.0.tgz#f1fea1b2e9fc963724193ae7b58ce49b58153c59" + integrity sha512-gQmbeNdVPXpaX8XsvxQb6nRLQZNlsMnDLVVpagVno7bifz2cdbthLfMe124nNT/Xr+JXolP+BtlYlZ7IRQVxdA== + dependencies: + "@internationalized/date" "^3.3.0" + "@react-types/calendar" "^3.3.0" + "@react-types/overlays" "^3.8.0" + "@react-types/shared" "^3.18.1" + +"@react-types/dialog@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.3.tgz#049e300372451190698ecf7d6e1ef559ab9fb962" + integrity sha512-iTdg+UZiJpJe7Rnu9eILf8Hcd9li0Kg2eg8ba8dIc1O++ymqPmrdPWj9wj1JB9cl94E2Yg4w3W5YINiLXkdoeA== + dependencies: + "@react-types/overlays" "^3.8.0" + "@react-types/shared" "^3.18.1" + +"@react-types/grid@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@react-types/grid/-/grid-3.1.8.tgz#2d8cf3ccbb2bba161917b9e242f920fed5f34026" + integrity sha512-NKk4pDbW2QXJOYnDSAYhta81CGwXOc/9tVw2WFs+1wacvxeKmh1Q+n36uAFcIdQOvVRqeGTJaYiqLFmF3fC3tA== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/label@^3.7.4": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@react-types/label/-/label-3.7.4.tgz#db7ce5cc82785b11ed4c80308b2ec40768fec6e0" + integrity sha512-SfTqPRI39GE3GFD5ZGYEeX9jXQrNqDeaaI36PJhnbgGVFz96oVVkhy9t9c2bMHcbhLLENYIHMzxrvVqXS07e7A== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/link@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@react-types/link/-/link-3.4.3.tgz#51534673ea35cf6583b950319bafd16ff76296dc" + integrity sha512-opKfkcaeV0cir64jPcy7DS0BrmdfuWMjua+MSeNv7FfT/b65rFgPfAOKZcvLWDsaxT5HYb7pivYPBfjKqHsQKw== + dependencies: + "@react-aria/interactions" "^3.16.0" + "@react-types/shared" "^3.18.1" + +"@react-types/listbox@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-types/listbox/-/listbox-3.4.2.tgz#13a217ca2c31e4e5c0ef46f00f770bf0d1b24726" + integrity sha512-qg980T+tl15pqgfuK8V6z+vsvsIrJEEPxcupQXP3T1O0LxWxJDakZHF0lV9qwfyB9XlnVSMZfkjDiZp9Wgf8QQ== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/menu@^3.9.2": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.2.tgz#e3a269fd687994495a3f8f104ca133487273874e" + integrity sha512-OIuEOGqo8gHaP4k3Ua+RvuPN2/3Sgcl30dNFIGaK7hra4eWxOUu8TTC+/Quy6xozR/SvFhqCLCoMKixy6MblWQ== + dependencies: + "@react-types/overlays" "^3.8.0" + "@react-types/shared" "^3.18.1" + +"@react-types/meter@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@react-types/meter/-/meter-3.3.2.tgz#f316eb4b47112137b0bbfc9e82b0f2814587c297" + integrity sha512-o21Zz+3LNjvBueMap+q2otGp5t2Xeb/lIMM4Y+v8j5XO+bLcHaAjdQB/TgKRe8iYFm3IqwpVtV9A38IWDtpLRQ== + dependencies: + "@react-types/progress" "^3.4.1" + "@react-types/shared" "^3.18.1" + +"@react-types/numberfield@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-types/numberfield/-/numberfield-3.4.2.tgz#6773e93b611131d45a4e5c4cac561945dc5ac7f3" + integrity sha512-SGzuuFf5wCSRPvpV+bnykiXSIt8pkpBBVp8tlygB66pQSBV7VLdUvWGohaayPSM+3Z+WkU+osgzYtGq5wh+C3Q== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/overlays@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.0.tgz#23d74b59be65b5c56e28f30da6ea1e9a83bba05f" + integrity sha512-0JxwUW3xwXjsT+nVI5dVE1KUm8QKxnQj9vjqgsazX213+klRd/QdeuFJgcbxzCVFOS/mLkP4o/ATjxt4+1eQsA== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/progress@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-types/progress/-/progress-3.4.1.tgz#3b45df4780b70573c27b316d557ce71b546e32bf" + integrity sha512-Y6cTvvJjbfFBeB7Zb3PizhhO3+YLWXpIP8opto15RWu11ktgZVMUgsnlsJgE3dFeoZ7UHwXdCYf8JOzBw5VPHA== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/radio@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-types/radio/-/radio-3.4.2.tgz#4a6a1f7ff11b71b6b69d13d28fd74de9c903df8c" + integrity sha512-SE6sjZjZbyuJMJNNdlhoutVr+QFRt1Vz7DZj4UaOswW5SD/Xb+xFdW8i6ETKdRN17am/5SC89ltWe0R3q0pVkA== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/searchfield@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.4.2.tgz#360ac97f52af5e2bb8e1a8a13e611fe9efc371fa" + integrity sha512-HQm++hIXVfEbjbRey6hYV/5hLEO6gtwt4Mft3u5I5BiT7yoQqQAD/8z9S8aUXDUU9KTrAKfL1DwrFQSkOsCWJA== + dependencies: + "@react-types/shared" "^3.18.1" + "@react-types/textfield" "^3.7.2" + +"@react-types/select@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-types/select/-/select-3.8.1.tgz#77d8ff3be70a5c342860469d71c8c23bbc1a877f" + integrity sha512-ByVKKwgpE3d08jI+Ibuom/qphlBiDKpVMwXgFgVZRAN2YvVrsix8arSo7kmXtzekz91qqDBqtt7DBCfT0E1WKw== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/shared@^3.18.1": + version "3.18.1" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.18.1.tgz#45bac7a1a433916d16535ea583d86a2b4c72ff8c" + integrity sha512-OpTYRFS607Ctfd6Tmhyk6t6cbFyDhO5K+etU35X50pMzpypo1b7vF0mkngEeTc0Xwl0e749ONZNPZskMyu5k8w== + +"@react-types/slider@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@react-types/slider/-/slider-3.5.1.tgz#bae46025de7d02a84918b3aca0e3ffd647e4fdf2" + integrity sha512-8+AMNexx7q7DqfAtQKC5tgnZdG/tIwG2tcEbFCfAQA09Djrt/xiMNz+mc7SsV1PWoWwVuSDFH9QqKPodOrJHDg== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/switch@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@react-types/switch/-/switch-3.3.2.tgz#af54e2dd8b599df3214360f593827c9033478ce4" + integrity sha512-L0XF4J43Q7HCAJXqseAk6RMteK6k1jQ0zrG05r6lSCkxaS9fGUlgLTCiFUsf07x0ADH1Xyc7PwpfJjyEr5A4tA== + dependencies: + "@react-types/checkbox" "^3.4.4" + "@react-types/shared" "^3.18.1" + +"@react-types/table@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-types/table/-/table-3.7.0.tgz#61f3c3eac2c894c848323b55d7520999a17a7816" + integrity sha512-tUSJPdU2eNjH/CRHs5pOCKDyQxzq8b1rJZHldvRK/GCW+B98debFOueYgw4+YGQ1E33IyzAwid+FXgY3wlZlHg== + dependencies: + "@react-types/grid" "^3.1.8" + "@react-types/shared" "^3.18.1" + +"@react-types/tabs@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.3.0.tgz#d8230bac82fcd1dca414fbc1c17b769cef9c5bd8" + integrity sha512-uXDVXBBppb+9S8bhxF7LZhgptrF5ll25SX8/jrpnXOR0jpihq6K3fkSe5M/OBnGsybuyVGN7+Np5v7UUYrM5SQ== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/textfield@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.7.2.tgz#f23341e80b319b68f2298dd429ed2280ada0bbe1" + integrity sha512-TsZTf1+4Ve9QHm6mbXr26uLOA4QtZPgyjYgYclL2nHoOl67algeQIFxIVfdlNIKFFMOw5BtC6Mer0I3KUWtbOQ== + dependencies: + "@react-types/shared" "^3.18.1" + +"@react-types/tooltip@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-types/tooltip/-/tooltip-3.4.2.tgz#68097ac53657fe3438cf7610e556e838725e9950" + integrity sha512-jkuhT4KsU3ePfVrLeQv3Z2Vt0SwZmFNUoVIlK6Q1QR8H/TuWG+SDKjbwNLcCdeVfAXcJLbEfPDT2zyGeQTwNEA== + dependencies: + "@react-types/overlays" "^3.8.0" + "@react-types/shared" "^3.18.1" + "@rushstack/eslint-patch@^1.1.3": version "1.2.0" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" @@ -425,6 +1524,13 @@ dependencies: tslib "^2.4.0" +"@swc/helpers@^0.5.0": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.1.tgz#e9031491aa3f26bfcc974a67f48bd456c8a5357a" + integrity sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg== + dependencies: + tslib "^2.4.0" + "@tanstack/match-sorter-utils@^8.7.0": version "8.7.6" resolved "https://registry.yarnpkg.com/@tanstack/match-sorter-utils/-/match-sorter-utils-8.7.6.tgz#ccf54a37447770e0cf0fe49a579c595fd2655b16" @@ -454,6 +1560,18 @@ "@tanstack/query-core" "4.27.0" use-sync-external-store "^1.2.0" +"@tanstack/react-table@8.9.3": + version "8.9.3" + resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.9.3.tgz#03a52e9e15f65c82a8c697a445c42bfca0c5cfc4" + integrity sha512-Ng9rdm3JPoSCi6cVZvANsYnF+UoGVRxflMb270tVj0+LjeT/ZtZ9ckxF6oLPLcKesza6VKBqtdF9mQ+vaz24Aw== + dependencies: + "@tanstack/table-core" "8.9.3" + +"@tanstack/table-core@8.9.3": + version "8.9.3" + resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.9.3.tgz#991da6b015f6200fdc841c48048bee5e197f6a46" + integrity sha512-NpHZBoHTfqyJk0m/s/+CSuAiwtebhYK90mDuf5eylTvgViNOujiaOaxNDxJkQQAsVvHWZftUGAx1EfO1rkKtLg== + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -838,11 +1956,21 @@ chalk@^2.0.0: optionalDependencies: fsevents "~2.3.2" +classnames@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + client-only@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== +clsx@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -879,6 +2007,11 @@ commander@9.4.1: resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== +compute-scroll-into-view@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-2.0.4.tgz#2b444b2b9e4724819d2531efacb7ac094155fdf6" + integrity sha512-y/ZA3BGnxoM/QHHQ2Uy49CLtnWPbt4tTPpEEZiEmmiWBFKjej7nEyH8Ryz54jH0MLXflUYA3Er2zUxPSJu5R+g== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1006,6 +2139,17 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +downshift@7.6.1: + version "7.6.1" + resolved "https://registry.yarnpkg.com/downshift/-/downshift-7.6.1.tgz#e4c089519b66994504fa1e8d40798a15e0445cfa" + integrity sha512-XIqM6WtPRL2qpyRncleOVThV6rhknB3i9okRYRCxUmviNdVS4pJ1SUICt2XHya5SrRwzEShDaK5h+xB2xLdpZw== + dependencies: + "@babel/runtime" "^7.14.8" + compute-scroll-into-view "^2.0.4" + prop-types "^15.7.2" + react-is "^17.0.2" + tslib "^2.3.0" + echarts-for-react@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz#ac5859157048a1066d4553e34b328abb24f2b7c1" @@ -1714,6 +2858,16 @@ internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: has "^1.0.3" side-channel "^1.0.4" +intl-messageformat@^10.1.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.0.tgz#86d11b15913ac954075b25253f5e669359f89538" + integrity sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw== + dependencies: + "@formatjs/ecma402-abstract" "1.17.0" + "@formatjs/fast-memoize" "2.2.0" + "@formatjs/icu-messageformat-parser" "2.6.0" + tslib "^2.4.0" + is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -2245,7 +3399,7 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -prop-types@^15.8.1: +prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -2269,6 +3423,48 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +react-aria@3.26.0: + version "3.26.0" + resolved "https://registry.yarnpkg.com/react-aria/-/react-aria-3.26.0.tgz#55bae48c7443c6ed16ac5a52715272070c0d6b04" + integrity sha512-G+dh25hEdDLfAGbKyahzasnyxXhd99y6xlMZjNtHoWB7wXod/9M3P3W6mdANvCEogxU28ATRdV1bv6A2JbuSYg== + dependencies: + "@react-aria/breadcrumbs" "^3.5.3" + "@react-aria/button" "^3.8.0" + "@react-aria/calendar" "^3.4.0" + "@react-aria/checkbox" "^3.9.2" + "@react-aria/combobox" "^3.6.2" + "@react-aria/datepicker" "^3.5.0" + "@react-aria/dialog" "^3.5.3" + "@react-aria/dnd" "^3.3.0" + "@react-aria/focus" "^3.13.0" + "@react-aria/gridlist" "^3.5.0" + "@react-aria/i18n" "^3.8.0" + "@react-aria/interactions" "^3.16.0" + "@react-aria/label" "^3.6.0" + "@react-aria/link" "^3.5.2" + "@react-aria/listbox" "^3.10.0" + "@react-aria/menu" "^3.10.0" + "@react-aria/meter" "^3.4.3" + "@react-aria/numberfield" "^3.6.0" + "@react-aria/overlays" "^3.15.0" + "@react-aria/progress" "^3.4.3" + "@react-aria/radio" "^3.6.2" + "@react-aria/searchfield" "^3.5.3" + "@react-aria/select" "^3.11.0" + "@react-aria/selection" "^3.16.0" + "@react-aria/separator" "^3.3.3" + "@react-aria/slider" "^3.5.0" + "@react-aria/ssr" "^3.7.0" + "@react-aria/switch" "^3.5.2" + "@react-aria/table" "^3.10.0" + "@react-aria/tabs" "^3.6.1" + "@react-aria/tag" "^3.1.0" + "@react-aria/textfield" "^3.10.0" + "@react-aria/tooltip" "^3.6.0" + "@react-aria/utils" "^3.18.0" + "@react-aria/visually-hidden" "^3.8.2" + "@react-types/shared" "^3.18.1" + react-dom@18.2.0, react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -2282,6 +3478,11 @@ react-is@^16.13.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + react@18.2.0, react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -2628,6 +3829,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.3.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" + integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== + tslib@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" From 765726a1750ab8fa2e8043f92e98e1986b5a8814 Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Wed, 19 Jul 2023 21:13:59 +0200 Subject: [PATCH 2/8] =?UTF-8?q?=F0=9F=A9=B9(frontend)=20fix=20cunningham?= =?UTF-8?q?=20font=20tokens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generated design tokens were breaking the default Roboto font. These new values are copied from the Cunningham demo app. --- src/frontend/apps/web/pages/cunningham-tokens.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontend/apps/web/pages/cunningham-tokens.css b/src/frontend/apps/web/pages/cunningham-tokens.css index bf51b7b4..9d1b9099 100644 --- a/src/frontend/apps/web/pages/cunningham-tokens.css +++ b/src/frontend/apps/web/pages/cunningham-tokens.css @@ -84,8 +84,8 @@ --c--theme--font--weights--bold: 500; --c--theme--font--weights--extrabold: 700; --c--theme--font--weights--black: 900; - --c--theme--font--families--base: Roboto; - --c--theme--font--families--accent: Roboto; + --c--theme--font--families--base: "Roboto Flex Variable", sans-serif; + --c--theme--font--families--accent: "Roboto Flex Variable", sans-serif; --c--theme--spacings--xl: 4rem; --c--theme--spacings--l: 3rem; --c--theme--spacings--b: 1.625rem; From 80628952742ff469a3acbde0f9f590b392c073a1 Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Thu, 20 Jul 2023 22:29:48 +0200 Subject: [PATCH 3/8] =?UTF-8?q?=F0=9F=8F=97=EF=B8=8F(frontend)=20create=20?= =?UTF-8?q?a=20reusable=20App=20context=20provider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce a new component responsible to inject all the required providers to make warren web app works. --- src/frontend/apps/docs/pages/index.tsx | 7 +++---- src/frontend/apps/web/pages/index.tsx | 16 +++------------- src/frontend/packages/ui/libs/react-query.ts | 9 +++++++++ src/frontend/packages/ui/provider/app.tsx | 19 +++++++++++++++++++ 4 files changed, 34 insertions(+), 17 deletions(-) create mode 100644 src/frontend/packages/ui/libs/react-query.ts create mode 100644 src/frontend/packages/ui/provider/app.tsx diff --git a/src/frontend/apps/docs/pages/index.tsx b/src/frontend/apps/docs/pages/index.tsx index 0ebcebd7..b8cb351b 100644 --- a/src/frontend/apps/docs/pages/index.tsx +++ b/src/frontend/apps/docs/pages/index.tsx @@ -1,12 +1,11 @@ -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { DailyViews } from "ui"; +import AppProvider from "ui/provider/app"; -const queryClient = new QueryClient(); export default function Docs() { return ( - +

Docs

-
+ ); } diff --git a/src/frontend/apps/web/pages/index.tsx b/src/frontend/apps/web/pages/index.tsx index 7c545833..db2a466a 100644 --- a/src/frontend/apps/web/pages/index.tsx +++ b/src/frontend/apps/web/pages/index.tsx @@ -1,18 +1,9 @@ import type { ReactElement } from "react"; -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import Layout from "../components/Layout"; import type { NextPageWithLayout } from "./_app"; import { DailyViews } from "ui"; - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false, - }, - }, -}); +import AppProvider from "ui/provider/app"; const Web: NextPageWithLayout = () => { const videoIds = [ @@ -28,10 +19,9 @@ const Web: NextPageWithLayout = () => { "uuid://e151ee65-7a72-478c-ac57-8a02f19e748b", ]; return ( - + - - + ); }; diff --git a/src/frontend/packages/ui/libs/react-query.ts b/src/frontend/packages/ui/libs/react-query.ts new file mode 100644 index 00000000..57110885 --- /dev/null +++ b/src/frontend/packages/ui/libs/react-query.ts @@ -0,0 +1,9 @@ +import { DefaultOptions, QueryClient } from "@tanstack/react-query"; + +const queryConfig: DefaultOptions = { + queries: { + refetchOnWindowFocus: false, + }, +}; + +export const queryClient = new QueryClient({ defaultOptions: queryConfig }); diff --git a/src/frontend/packages/ui/provider/app.tsx b/src/frontend/packages/ui/provider/app.tsx new file mode 100644 index 00000000..2905954e --- /dev/null +++ b/src/frontend/packages/ui/provider/app.tsx @@ -0,0 +1,19 @@ +import React from "react"; +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; +import { QueryClientProvider } from "@tanstack/react-query"; +import { queryClient } from "../libs/react-query"; +import { CunninghamProvider } from "@openfun/cunningham-react"; + +type AppProviderProps = { + children: React.ReactNode; +}; + +const AppProvider = ({ children }: AppProviderProps) => ( + + + {children} + + + +); +export default AppProvider; From 6bb2313fbb7dae20333662965aa464713dc05f18 Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Thu, 20 Jul 2023 22:34:40 +0200 Subject: [PATCH 4/8] =?UTF-8?q?=E2=9C=A8(frontend)=20implement=20a=20Filte?= =?UTF-8?q?rs=20context?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To manage and share filters' state across multiple components, we adopted a basic workaround by using React context. This approach allows us to store and provide the filters state efficiently to all subscribers in our app. --- .../packages/ui/contexts/filtersContext.tsx | 27 +++++++++++++++++++ src/frontend/packages/ui/hooks/useFilters.ts | 12 +++++++++ src/frontend/packages/ui/provider/app.tsx | 11 +++++--- 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 src/frontend/packages/ui/contexts/filtersContext.tsx create mode 100644 src/frontend/packages/ui/hooks/useFilters.ts diff --git a/src/frontend/packages/ui/contexts/filtersContext.tsx b/src/frontend/packages/ui/contexts/filtersContext.tsx new file mode 100644 index 00000000..aad2345b --- /dev/null +++ b/src/frontend/packages/ui/contexts/filtersContext.tsx @@ -0,0 +1,27 @@ +import React, { + createContext, + Dispatch, + SetStateAction, + useState, +} from "react"; + +export interface FiltersContextType { + date: [string, string]; + videoIds: Array; + setDate: Dispatch>; + setVideoIds: Dispatch>>; +} + +const FiltersContext = createContext(null); + +export const FiltersProvider: React.FC<{ children: any }> = ({ children }) => { + const [date, setDate] = useState<[string, string]>(["", ""]); + const [videoIds, setVideoIds] = useState>([]); + return ( + + {children} + + ); +}; + +export default FiltersContext; diff --git a/src/frontend/packages/ui/hooks/useFilters.ts b/src/frontend/packages/ui/hooks/useFilters.ts new file mode 100644 index 00000000..bdb0a477 --- /dev/null +++ b/src/frontend/packages/ui/hooks/useFilters.ts @@ -0,0 +1,12 @@ +import { useContext } from "react"; +import FiltersContext, { FiltersContextType } from "../contexts/filtersContext"; + +const useFilters = (): FiltersContextType => { + const value = useContext(FiltersContext); + if (!value) { + throw new Error(`Missing wrapping Provider for Store FiltersContextType`); + } + return value; +}; + +export default useFilters; diff --git a/src/frontend/packages/ui/provider/app.tsx b/src/frontend/packages/ui/provider/app.tsx index 2905954e..76dc6397 100644 --- a/src/frontend/packages/ui/provider/app.tsx +++ b/src/frontend/packages/ui/provider/app.tsx @@ -3,6 +3,7 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import { QueryClientProvider } from "@tanstack/react-query"; import { queryClient } from "../libs/react-query"; import { CunninghamProvider } from "@openfun/cunningham-react"; +import { FiltersProvider } from "../contexts/filtersContext"; type AppProviderProps = { children: React.ReactNode; @@ -10,10 +11,12 @@ type AppProviderProps = { const AppProvider = ({ children }: AppProviderProps) => ( - - {children} - - + + + {children} + + + ); export default AppProvider; From 5e958dee292aafa5d01279392e575e7214f7d21d Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Thu, 20 Jul 2023 22:39:04 +0200 Subject: [PATCH 5/8] =?UTF-8?q?=F0=9F=8F=97=EF=B8=8F(frontend)=20create=20?= =?UTF-8?q?a=20Axios=20lib=20utility=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Factorize Axios instanciation and configuration in a dedicated file, along the react-query. We would avoid dupplicating these lines. --- src/frontend/packages/ui/libs/axios.ts | 5 +++++ src/frontend/packages/ui/video/Views.tsx | 9 ++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 src/frontend/packages/ui/libs/axios.ts diff --git a/src/frontend/packages/ui/libs/axios.ts b/src/frontend/packages/ui/libs/axios.ts new file mode 100644 index 00000000..1e73c20f --- /dev/null +++ b/src/frontend/packages/ui/libs/axios.ts @@ -0,0 +1,5 @@ +import Axios from "axios"; + +export const axios = Axios.create({ + baseURL: `${process.env.NEXT_PUBLIC_WARREN_BACKEND_ROOT_URL}/api/v1/`, +}); diff --git a/src/frontend/packages/ui/video/Views.tsx b/src/frontend/packages/ui/video/Views.tsx index 0d19ece5..663fabce 100644 --- a/src/frontend/packages/ui/video/Views.tsx +++ b/src/frontend/packages/ui/video/Views.tsx @@ -3,9 +3,8 @@ import ReactECharts from "echarts-for-react"; import type { EChartsOption } from "echarts-for-react"; import { useQuery, useQueries, useQueryClient } from "@tanstack/react-query"; -import axios from "axios"; - import cloneDeep from "lodash.clonedeep"; +import { axios } from "../libs/axios"; type DailyViewsResponseItem = { day: string; @@ -55,11 +54,7 @@ export const DailyViews = ({ videoIds }: DailyViewsProps) => { const newOption = cloneDeep(option); function getVideoViews(videoId: string) { - return axios - .get( - `${process.env.NEXT_PUBLIC_WARREN_BACKEND_ROOT_URL}/api/v1/video/${videoId}/views` - ) - .then((res) => res.data); + return axios.get(`video/${videoId}/views`).then((res) => res.data); } function addOneSeries( From 66adc7fd25c2254816821c824ee29ffc5d1dfc38 Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Thu, 20 Jul 2023 22:48:54 +0200 Subject: [PATCH 6/8] =?UTF-8?q?=E2=9C=A8(frontend)=20introduce=20a=20Filte?= =?UTF-8?q?r=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This component would be responsible to render the filters bar in our dashboarding web app. --- CHANGELOG.md | 1 + src/frontend/apps/docs/pages/index.tsx | 4 +- src/frontend/apps/web/pages/index.tsx | 16 +---- .../packages/ui/components/filters.tsx | 68 +++++++++++++++++++ src/frontend/packages/ui/video/Views.tsx | 7 +- 5 files changed, 78 insertions(+), 18 deletions(-) create mode 100644 src/frontend/packages/ui/components/filters.tsx diff --git a/CHANGELOG.md b/CHANGELOG.md index e197da2b..ebb0bb18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,5 +21,6 @@ and this project adheres to - Remove the elasticsearch backend - Add the LTI django application - Rename the API directory to a more descriptive name. +- Add a select and date range picker to the web dashboard. [unreleased]: https://github.com/openfun/warren \ No newline at end of file diff --git a/src/frontend/apps/docs/pages/index.tsx b/src/frontend/apps/docs/pages/index.tsx index b8cb351b..e9a4b2ca 100644 --- a/src/frontend/apps/docs/pages/index.tsx +++ b/src/frontend/apps/docs/pages/index.tsx @@ -1,11 +1,13 @@ import { DailyViews } from "ui"; import AppProvider from "ui/provider/app"; +import Filters from "ui/components/filters"; export default function Docs() { return (

Docs

- + +
); } diff --git a/src/frontend/apps/web/pages/index.tsx b/src/frontend/apps/web/pages/index.tsx index db2a466a..2d870033 100644 --- a/src/frontend/apps/web/pages/index.tsx +++ b/src/frontend/apps/web/pages/index.tsx @@ -4,23 +4,13 @@ import type { NextPageWithLayout } from "./_app"; import { DailyViews } from "ui"; import AppProvider from "ui/provider/app"; +import Filters from "ui/components/filters"; const Web: NextPageWithLayout = () => { - const videoIds = [ - "uuid://0aecfa93-cef3-45ae-b7f5-a603e9e45f50", - "uuid://1c0c127a-f121-4bd1-8db6-918605c2645d", - "uuid://541dab6b-50ae-4444-b230-494f0621f132", - "uuid://69d32ad5-3af5-4160-a995-87e09da6865c", - "uuid://7d4f3c70-1e79-4243-9b7d-166076ce8bfb", - "uuid://8d386f48-3baa-4acf-8a46-0f2be4ae243e", - "uuid://b172ec09-97ec-4651-bc57-6eabebf47ed0", - "uuid://d613b564-5d18-4238-a69c-0fc8cee5d0e7", - "uuid://dd38149d-956a-483d-8975-c1506de1e1a9", - "uuid://e151ee65-7a72-478c-ac57-8a02f19e748b", - ]; return ( - + + ); }; diff --git a/src/frontend/packages/ui/components/filters.tsx b/src/frontend/packages/ui/components/filters.tsx new file mode 100644 index 00000000..23eab497 --- /dev/null +++ b/src/frontend/packages/ui/components/filters.tsx @@ -0,0 +1,68 @@ +import React from "react"; +import useFilters from "../hooks/useFilters"; +import { DateRangePicker, Select } from "@openfun/cunningham-react"; + +type VideoOption = { + value: string; + label: string; +}; + +const VIDEO_IDS = [ + "uuid://0aecfa93-cef3-45ae-b7f5-a603e9e45f50", + "uuid://1c0c127a-f121-4bd1-8db6-918605c2645d", + "uuid://541dab6b-50ae-4444-b230-494f0621f132", + "uuid://69d32ad5-3af5-4160-a995-87e09da6865c", + "uuid://7d4f3c70-1e79-4243-9b7d-166076ce8bfb", + "uuid://8d386f48-3baa-4acf-8a46-0f2be4ae243e", + "uuid://b172ec09-97ec-4651-bc57-6eabebf47ed0", + "uuid://d613b564-5d18-4238-a69c-0fc8cee5d0e7", + "uuid://dd38149d-956a-483d-8975-c1506de1e1a9", + "uuid://e151ee65-7a72-478c-ac57-8a02f19e748b", +]; + +const Filters: React.FC = () => { + const { date, setDate, setVideoIds } = useFilters(); + + const getVideoOptions = (): VideoOption[] => { + return VIDEO_IDS.map((item) => ({ + value: item, + label: item.slice(-5), + })); + }; + + const handleVideoIdsChange = ( + value: string | number | string[] | undefined + ): void => { + const videoIds = Array.isArray(value) + ? value + : value + ? [value.toString()] + : []; + setVideoIds(videoIds); + }; + + const handleDateChange = (value: [string, string] | null): void => { + // todo - handle start at 00:00:00 and end at 23:59:59 + // todo - component api is going to change soon. Let's wait for its change. + value ? setDate(value) : setDate(["", ""]); + }; + + return ( +
+