From 9e95158a1cc4fa9430751074f2930535a7d772c7 Mon Sep 17 00:00:00 2001 From: PKulkoRaccoonGang Date: Thu, 15 Jun 2023 21:30:09 +0300 Subject: [PATCH 01/15] feat: added support Paragon design tokens --- example/index.scss | 4 ++-- src/index.scss | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/example/index.scss b/example/index.scss index afe9c9576..c9e346079 100644 --- a/example/index.scss +++ b/example/index.scss @@ -1,6 +1,6 @@ @import "@edx/brand/paragon/fonts"; -@import "@edx/brand/paragon/variables"; -@import "@openedx/paragon/scss/core/core"; +@import "@edx/paragon/styles/scss/core/core"; +@import "@edx/paragon/styles/css/themes/light/index.css"; @import "@edx/brand/paragon/overrides"; @import "@edx/frontend-component-header/index"; diff --git a/src/index.scss b/src/index.scss index 94114bd44..f7653a24e 100644 --- a/src/index.scss +++ b/src/index.scss @@ -71,7 +71,7 @@ $white: #fff; .site-header-desktop { box-shadow: 0 1px 0 0 rgba(0,0,0,.1); - background: $white; + background: var(--pgn-color-white); .nav-link { text-decoration: none; } @@ -108,13 +108,13 @@ $white: #fff; .nav-link:focus, .nav-link.active, .expanded .nav-link { - background: $component-active-bg; - color: $component-active-color; + background: var(--pgn-color-bg-active); + color: var(--pgn-color-active); } .menu { position: static; .menu-content { - border-top: solid 2px $component-active-bg; + border-top: solid 2px var(--pgn-color-bg-active); left: 0; right: 0; box-shadow: 0 1px 2px rgba(0,0,0,.25); @@ -125,6 +125,6 @@ $white: #fff; } } .search-input { - border-radius: $rounded-pill; + border-radius: var(--pgn-size-rounded-pill); } } From 8373dc4387cafe30526402fe292caf7ca024a2d4 Mon Sep 17 00:00:00 2001 From: PKulkoRaccoonGang Date: Thu, 22 Jun 2023 13:57:09 +0300 Subject: [PATCH 02/15] refactor: styles refactoring --- example/index.scss | 4 +- src/Menu/menu.scss | 12 ++-- src/index.scss | 166 +++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 160 insertions(+), 22 deletions(-) diff --git a/example/index.scss b/example/index.scss index c9e346079..a7fc72d63 100644 --- a/example/index.scss +++ b/example/index.scss @@ -1,6 +1,6 @@ -@import "@edx/brand/paragon/fonts"; +@import url("https://cdn.jsdelivr.net/npm/@edx/brand-edx.org@alpha/dist/core.min.css"); +@import url("https://cdn.jsdelivr.net/npm/@edx/brand-edx.org@alpha/dist/light.min.css"); @import "@edx/paragon/styles/scss/core/core"; @import "@edx/paragon/styles/css/themes/light/index.css"; -@import "@edx/brand/paragon/overrides"; @import "@edx/frontend-component-header/index"; diff --git a/src/Menu/menu.scss b/src/Menu/menu.scss index 8fa665616..39c57ff06 100644 --- a/src/Menu/menu.scss +++ b/src/Menu/menu.scss @@ -1,45 +1,45 @@ .menu { position: relative; } + .menu-content { position: absolute; top: 100%; z-index: 10; - background: #fff; + background: var(--pgn-color-white); min-width: 10rem; + &.pin-left { left: 0; } + &.pin-right { right: 0; } } - .menu-dropdown-enter { opacity: 0; transform-origin: 75% 0; transform: scale3d(0.8, 0.8, 1); } + .menu-dropdown-enter-active { transform-origin: 75% 0; transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); transform: scale3d(1, 1, 1); opacity: 1; } -.menu-dropdown-enter-done { -} .menu-dropdown-exit { transform-origin: 75% 0; transform: scale3d(1, 1, 1); opacity: 1; } + .menu-dropdown-exit-active { transform-origin: 75% 0; transform: scale3d(0.8, 0.8, 1); transition: all 250ms cubic-bezier(0.8, 0, 0.6, 1); opacity: 0; } -.menu-dropdown-exit-done { -} diff --git a/src/index.scss b/src/index.scss index f7653a24e..eff05e951 100644 --- a/src/index.scss +++ b/src/index.scss @@ -21,8 +21,9 @@ $white: #fff; padding: .75rem; justify-content: center; align-items:center; + &:hover, &:focus { - background: rgba(0,0,0,.1); + background: rgba(0, 0, 0, .1); } } @@ -36,16 +37,15 @@ $white: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - padding-bottom: 0.1rem; + padding-bottom: var(--pgn-spacing-spacer-base); } } - .user-dropdown { - .btn { - height: 3rem; - // @media (max-width: -1 + map-get($grid-breakpoints, "sm")) { - // padding: 0 0.5rem; - // } + .user-dropdown .btn { + height: 3rem; + + @media (--max-pgn-size-breakpoint-xs) { + padding: 0 .5rem; } } } @@ -63,6 +63,7 @@ $white: #fff; text-decoration: none; cursor: pointer; } + img { height: 1.5rem; } @@ -70,19 +71,22 @@ $white: #fff; .site-header-desktop { - box-shadow: 0 1px 0 0 rgba(0,0,0,.1); + box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1); background: var(--pgn-color-white); + .nav-link { text-decoration: none; } + .logo { display: block; box-sizing: content-box; position: relative; top: -.05em; height: 1.75rem; - padding: 1rem 0; - margin-right: 1rem; + padding: var(--pgn-spacing-spacer-base) 0; + margin-right: var(--pgn-spacing-spacer-base); + img { display: block; height: 100%; @@ -99,11 +103,12 @@ $white: #fff; } .main-nav { .nav-link { - padding: 1.125rem 1rem; + padding: 1.125rem var(--pgn-spacing-spacer-base); text-decoration: none; font-weight: 500; letter-spacing: .01em; } + .nav-link:hover, .nav-link:focus, .nav-link.active, @@ -111,20 +116,153 @@ $white: #fff; background: var(--pgn-color-bg-active); color: var(--pgn-color-active); } + .menu { position: static; + .menu-content { border-top: solid 2px var(--pgn-color-bg-active); left: 0; right: 0; - box-shadow: 0 1px 2px rgba(0,0,0,.25); + box-shadow: var(--pgn-elevation-box-shadow-down-1); border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; - padding: 1rem; + padding: var(--pgn-spacing-spacer-base); } } } + .search-input { border-radius: var(--pgn-size-rounded-pill); } } + +.content b { + color: var(--pgn-color-primary-500) !important; + font-weight: 500 !important; +} + +.font-size-18 { + font-size: 18px !important; +} + +.font-size-12 { + font-size: 12px; +} + +.font-size-14 { + font-size: 14px; +} + +.py-10px { + padding-top: 10px; + padding-bottom: 10px; +} + +.pb-10px { + padding-bottom: 10px; +} + +.line-height-24 { + line-height: 24px; +} + +.line-height-20 { + line-height: 20px; +} + +.line-height-10 { + line-height: 10px !important; +} + +.icon-size-20 { + width: 20px !important; + height: 20px !important; +} + +.cursor-pointer { + cursor: pointer; +} + +.notification-button { + width: 36px; + height: 36px; +} + +.notification-icon{ + height: 23.33px !important; + width: 23.33px !important; +} + +.notification-badge { + position: absolute; + margin-top: 18px; + margin-left: -21px; + border: 2px solid var(--pgn-color-white); + font-size: 9px !important; +} + +.popover { + max-height: calc(100% - 68px); + min-height: 1220px; + filter: none; + box-shadow: var(--pgn-elevation-box-shadow-down-2); + + &.medium-screen { + min-width: 24.313rem; + } + + &.large-screen { + min-width: 34.313rem; + } + + .dropdown-toggle::after { + display: none; + } + + .expandable { + position: relative !important; + margin-left: 4px; + padding: 2px 5px; + border-radius: 10rem; + font-size: 9px; + } + + .dropdown-toggle { + font-size: 14px; + padding-top: 0 !important; + padding-bottom: 12px !important; + + div { + min-height: 6px !important; + min-width: 6px !important; + } + } + + .dropdown-item { + font-size: 14px; + font-weight: 500; + } + + .notification-content { + .notification-item-content { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + text-overflow: ellipsis; + + p { + margin-bottom: 0; + } + + b { + color: var(--pgn-color-primary-500); + } + } + + .unread { + height: 10px; + width: 10px; + } + } +} From 2e3f3936bcd73c7fdb57881e98a2b0e528284763 Mon Sep 17 00:00:00 2001 From: PKulkoRaccoonGang Date: Wed, 9 Aug 2023 15:18:47 +0300 Subject: [PATCH 03/15] refactor: removed paragon imports --- example/index.scss | 5 ----- src/index.scss | 4 ---- 2 files changed, 9 deletions(-) diff --git a/example/index.scss b/example/index.scss index a7fc72d63..2c7dca1d8 100644 --- a/example/index.scss +++ b/example/index.scss @@ -1,6 +1 @@ -@import url("https://cdn.jsdelivr.net/npm/@edx/brand-edx.org@alpha/dist/core.min.css"); -@import url("https://cdn.jsdelivr.net/npm/@edx/brand-edx.org@alpha/dist/light.min.css"); -@import "@edx/paragon/styles/scss/core/core"; -@import "@edx/paragon/styles/css/themes/light/index.css"; - @import "@edx/frontend-component-header/index"; diff --git a/src/index.scss b/src/index.scss index eff05e951..e373e249b 100644 --- a/src/index.scss +++ b/src/index.scss @@ -1,7 +1,3 @@ -$spacer: 1rem; -$blue: #007db8; -$white: #fff; - @import './Menu/menu.scss'; @import './studio-header/StudioHeader.scss'; From dcae599a9609a5e9c37b993fe878cbf21e41d300 Mon Sep 17 00:00:00 2001 From: PKulkoRaccoonGang Date: Wed, 9 Aug 2023 16:25:26 +0300 Subject: [PATCH 04/15] refactor: moving the Paragon and Platform in peer and dev dependencies --- package-lock.json | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 50151fa73..641210d6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5120,6 +5120,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5132,6 +5133,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -5817,6 +5819,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5954,6 +5957,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -6369,7 +6373,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/confusing-browser-globals": { "version": "1.0.11", @@ -6656,6 +6661,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -7285,6 +7291,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -8278,6 +8285,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -9131,6 +9139,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -9242,7 +9251,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -10036,6 +10046,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -10151,6 +10162,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -10175,6 +10187,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -10235,6 +10248,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { "node": ">=0.12.0" } @@ -11467,6 +11481,7 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -11571,6 +11586,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -11582,6 +11598,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "dependencies": { "universalify": "^2.0.0" }, @@ -11824,6 +11841,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, "dependencies": { "tslib": "^2.0.3" } @@ -12077,6 +12095,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -12176,6 +12195,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -12230,6 +12250,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12572,6 +12593,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -12628,6 +12650,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -12645,6 +12668,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12665,7 +12689,8 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-to-regexp": { "version": "0.1.10", @@ -12690,6 +12715,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { "node": ">=8.6" }, @@ -13459,7 +13485,8 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true }, "node_modules/prebuild-install": { "version": "7.1.2", @@ -14438,6 +14465,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -15354,6 +15382,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -15484,7 +15513,8 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, "node_modules/stack-utils": { "version": "2.0.6", @@ -15817,6 +15847,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -16147,6 +16178,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -16731,7 +16763,8 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/utila": { "version": "0.4.0", From 17fb1d1bceea4ec7019ec351e61fb3fb0c4e380e Mon Sep 17 00:00:00 2001 From: Diana Catalina Olarte Date: Wed, 5 Jun 2024 20:32:41 +1000 Subject: [PATCH 05/15] feat: add studio header styles and remove unused styles --- src/index.scss | 134 +--------------------------- src/studio-header/StudioHeader.scss | 17 ++-- 2 files changed, 9 insertions(+), 142 deletions(-) diff --git a/src/index.scss b/src/index.scss index e373e249b..44a206397 100644 --- a/src/index.scss +++ b/src/index.scss @@ -93,8 +93,8 @@ .nav-link:focus, .nav-link.active, .expanded .nav-link { - background: $component-active-bg; - color: $component-active-color; + background: var(--pgn-color-bg-active); + color: var(--pgn-color-active); } } .main-nav { @@ -132,133 +132,3 @@ border-radius: var(--pgn-size-rounded-pill); } } - -.content b { - color: var(--pgn-color-primary-500) !important; - font-weight: 500 !important; -} - -.font-size-18 { - font-size: 18px !important; -} - -.font-size-12 { - font-size: 12px; -} - -.font-size-14 { - font-size: 14px; -} - -.py-10px { - padding-top: 10px; - padding-bottom: 10px; -} - -.pb-10px { - padding-bottom: 10px; -} - -.line-height-24 { - line-height: 24px; -} - -.line-height-20 { - line-height: 20px; -} - -.line-height-10 { - line-height: 10px !important; -} - -.icon-size-20 { - width: 20px !important; - height: 20px !important; -} - -.cursor-pointer { - cursor: pointer; -} - -.notification-button { - width: 36px; - height: 36px; -} - -.notification-icon{ - height: 23.33px !important; - width: 23.33px !important; -} - -.notification-badge { - position: absolute; - margin-top: 18px; - margin-left: -21px; - border: 2px solid var(--pgn-color-white); - font-size: 9px !important; -} - -.popover { - max-height: calc(100% - 68px); - min-height: 1220px; - filter: none; - box-shadow: var(--pgn-elevation-box-shadow-down-2); - - &.medium-screen { - min-width: 24.313rem; - } - - &.large-screen { - min-width: 34.313rem; - } - - .dropdown-toggle::after { - display: none; - } - - .expandable { - position: relative !important; - margin-left: 4px; - padding: 2px 5px; - border-radius: 10rem; - font-size: 9px; - } - - .dropdown-toggle { - font-size: 14px; - padding-top: 0 !important; - padding-bottom: 12px !important; - - div { - min-height: 6px !important; - min-width: 6px !important; - } - } - - .dropdown-item { - font-size: 14px; - font-weight: 500; - } - - .notification-content { - .notification-item-content { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - text-overflow: ellipsis; - - p { - margin-bottom: 0; - } - - b { - color: var(--pgn-color-primary-500); - } - } - - .unread { - height: 10px; - width: 10px; - } - } -} diff --git a/src/studio-header/StudioHeader.scss b/src/studio-header/StudioHeader.scss index b43da28f3..a7307c9a8 100644 --- a/src/studio-header/StudioHeader.scss +++ b/src/studio-header/StudioHeader.scss @@ -1,16 +1,13 @@ -$spacer: 1rem; -$white: #FFFFFF; - .studio-header { position: relative; z-index: 1000; height: 3.75rem; box-shadow: 0 1px 0 0 rgb(0 0 0 / .1); - background: $white; + background: var(--pgn-color-white); .btn-outline-primary { - border-color: $white; + border-color: var(--pgn-color-white); } .logo { @@ -19,8 +16,8 @@ $white: #FFFFFF; position: relative; top: -.05em; height: 1.75rem; - padding: $spacer 0; - margin-right: $spacer; + padding: var(--pgn-spacing-spacer-base) 0; + margin-right: var(--pgn-spacing-spacer-base); img { display: block; @@ -33,17 +30,17 @@ $white: #FFFFFF; @media only screen and (min-width: 769px) { padding: .5rem; - padding-right: $spacer; + padding-right: var(--pgn-spacing-spacer-base); border-right: 1px solid #E5E5E5; width: 70%; } span { - color: #333333; + color: var(--pgn-color-gray-800); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.375rem; } } -} +} \ No newline at end of file From b51c82ae92a5470447cce4529ba0debba10dfbff Mon Sep 17 00:00:00 2001 From: Diana Catalina Olarte Date: Wed, 5 Jun 2024 20:44:15 +1000 Subject: [PATCH 06/15] fix: update example app and dependencies --- example/index.scss | 3 + package-lock.json | 6848 +++++++++++++++++++-------- package.json | 4 +- src/studio-header/StudioHeader.scss | 2 +- webpack.dev.config.js | 4 +- 5 files changed, 4959 insertions(+), 1902 deletions(-) diff --git a/example/index.scss b/example/index.scss index 2c7dca1d8..97cba17b5 100644 --- a/example/index.scss +++ b/example/index.scss @@ -1 +1,4 @@ +@use "@openedx/paragon/dist/core.min.css" as paragonCore; +@use "@openedx/paragon/dist/light.min.css" as paragonLight; + @import "@edx/frontend-component-header/index"; diff --git a/package-lock.json b/package-lock.json index 641210d6a..b32e43397 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "@edx/frontend-platform": "8.3.1", "@edx/reactifex": "^2.1.1", "@openedx/frontend-build": "14.2.2", - "@openedx/paragon": "22.16.0", + "@openedx/paragon": "23.3.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "10.4.9", @@ -46,7 +46,7 @@ }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": "^22.0.0", + "@openedx/paragon": ">= 21.5.7 < 24.0.0", "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", @@ -54,15 +54,17 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", - "dev": true + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.2.tgz", + "integrity": "sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==", + "dev": true, + "license": "MIT" }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -75,6 +77,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.8.tgz", "integrity": "sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "commander": "^6.2.0", @@ -100,11 +103,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -112,9 +117,10 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", - "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -123,6 +129,7 @@ "version": "7.24.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", @@ -152,6 +159,7 @@ "version": "7.22.9", "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.9.tgz", "integrity": "sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA==", + "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -166,50 +174,42 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", - "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.6", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", - "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -218,16 +218,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", - "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.4", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", "semver": "^6.3.1" }, "engines": { @@ -238,12 +239,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", - "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, "engines": { @@ -254,9 +256,10 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -269,38 +272,40 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", - "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -310,32 +315,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", - "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", - "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-wrap-function": "^7.25.0", - "@babel/traverse": "^7.25.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -345,13 +353,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", - "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -360,163 +369,80 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", - "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", - "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", "dependencies": { - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", - "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", - "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", - "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.6" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -526,12 +452,13 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", - "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -541,11 +468,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", - "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -555,13 +483,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", - "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -571,12 +500,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", - "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -590,6 +520,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -606,6 +537,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.20.5", "@babel/helper-compilation-targets": "^7.20.7", @@ -624,6 +556,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -635,6 +568,7 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -646,6 +580,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -657,6 +592,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -668,6 +604,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -682,6 +619,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -693,6 +631,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -701,11 +640,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", - "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -715,11 +655,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", - "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -732,6 +673,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -743,6 +685,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -751,11 +694,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -768,6 +712,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -779,6 +724,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -790,6 +736,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -801,6 +748,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -812,6 +760,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -823,6 +772,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -834,6 +784,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -848,6 +799,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -859,11 +811,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", - "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -876,6 +829,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -888,11 +842,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", - "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -902,14 +857,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", - "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-remap-async-to-generator": "^7.25.0", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.4" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" }, "engines": { "node": ">=6.9.0" @@ -919,13 +874,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", - "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -935,11 +891,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", - "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -949,11 +906,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", - "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -963,12 +921,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", - "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.4", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -978,13 +937,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", - "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -994,15 +953,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", - "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.4", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -1013,12 +973,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", - "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/template": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1028,11 +989,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", - "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1042,12 +1004,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", - "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1057,11 +1020,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", - "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1071,12 +1035,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", - "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1086,12 +1050,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", - "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1101,12 +1065,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", - "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1116,12 +1080,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", - "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1131,13 +1096,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", - "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.1" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1147,12 +1113,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", - "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1162,11 +1128,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", - "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1176,12 +1143,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", - "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1191,11 +1158,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", - "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1205,12 +1173,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", - "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1220,13 +1189,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", - "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-simple-access": "^7.24.7" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1236,14 +1205,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", - "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1253,12 +1223,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", - "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1268,12 +1239,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", - "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1283,11 +1255,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", - "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1297,12 +1270,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", - "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1312,12 +1285,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", - "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1327,14 +1300,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", - "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1344,12 +1317,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", - "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1359,12 +1333,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", - "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1374,13 +1348,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", - "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1390,11 +1364,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", - "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1404,12 +1379,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", - "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.4", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1419,14 +1395,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", - "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1436,11 +1412,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", - "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1450,11 +1427,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", - "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1464,11 +1442,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", - "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1478,15 +1457,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", - "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.25.2" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1496,11 +1476,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", - "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.24.7" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1510,12 +1491,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", - "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1525,11 +1507,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", - "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1540,11 +1523,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", - "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1554,11 +1538,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", - "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1568,12 +1553,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", - "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1583,11 +1569,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", - "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1597,11 +1584,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", - "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1611,11 +1599,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", - "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1625,15 +1614,16 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", - "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", + "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-typescript": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1643,11 +1633,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", - "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1657,12 +1648,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", - "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1672,12 +1664,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", - "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1687,12 +1680,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", - "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1705,6 +1699,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.8.tgz", "integrity": "sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.24.8", "@babel/helper-compilation-targets": "^7.24.8", @@ -1799,6 +1794,7 @@ "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -1812,6 +1808,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -1828,15 +1825,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", - "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.7", - "@babel/plugin-transform-typescript": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1845,15 +1843,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, "node_modules/@babel/runtime": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", - "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1862,9 +1856,10 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.25.6.tgz", - "integrity": "sha512-Gz0Nrobx8szge6kQQ5Z5MX9L3ObqNwCQY1PSwSNzreFL7aHGxv8Fp2j3ETV6/wWdbiV+mW6OSm8oQhg3Tcsniw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.9.tgz", + "integrity": "sha512-5EVjbTegqN7RSJle6hMWYxO4voo4rI+9krITk+DWR+diJgGrjZjrIBnJhjrHYYQsFgI7j1w1QnrvV7YSKBfYGg==", + "license": "MIT", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -1874,28 +1869,30 @@ } }, "node_modules/@babel/template": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", - "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", - "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.6", - "@babel/parser": "^7.25.6", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.6", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1904,13 +1901,13 @@ } }, "node_modules/@babel/types": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", - "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1919,12 +1916,214 @@ "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" + }, + "node_modules/@bundled-es-modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-Rk453EklPUPC3NRWc3VUNI/SSUjdBaFoaQvFRmNBNtMHVtOFD5AntiWg5kEE1hqcPqedYFDzxE3ZcMYPcA195w==", + "license": "ISC", + "dependencies": { + "deepmerge": "^4.3.1" + } + }, + "node_modules/@bundled-es-modules/glob": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-740y5ofkzydsFao5EXJrGilcIL6EFEw/cmPf2uhTw9J6G1YOhiIFjNFCHdpgEiiH5VlU3G0SARSjlFlimRRSMA==", + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "buffer": "^6.0.3", + "events": "^3.3.0", + "glob": "^10.4.2", + "patch-package": "^8.0.0", + "path": "^0.12.7", + "stream": "^0.0.3", + "string_decoder": "^1.3.0", + "url": "^0.11.3" + } + }, + "node_modules/@bundled-es-modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@bundled-es-modules/glob/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@bundled-es-modules/glob/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@bundled-es-modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@bundled-es-modules/memfs": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/memfs/-/memfs-4.9.4.tgz", + "integrity": "sha512-1XyYPUaIHwEOdF19wYVLBtHJRr42Do+3ctht17cZOHwHf67vkmRNPlYDGY2kJps4RgE5+c7nEZmEzxxvb1NZWA==", + "license": "Apache-2.0", + "dependencies": { + "assert": "^2.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "memfs": "^4.9.3", + "path": "^0.12.7", + "stream": "^0.0.3", + "util": "^0.12.5" + } + }, + "node_modules/@bundled-es-modules/memfs/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@bundled-es-modules/memfs/node_modules/memfs": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", + "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/@bundled-es-modules/postcss-calc-ast-parser": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/postcss-calc-ast-parser/-/postcss-calc-ast-parser-0.1.6.tgz", + "integrity": "sha512-y65TM5zF+uaxo9OeekJ3rxwTINlQvrkbZLogYvQYVoLtxm4xEiHfZ7e/MyiWbStYyWZVZkVqsaVU6F4SUK5XUA==", + "license": "ISC", + "dependencies": { + "postcss-calc-ast-parser": "^0.1.4" + } + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "license": "Apache-2.0" }, "node_modules/@cospired/i18n-iso-languages": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@cospired/i18n-iso-languages/-/i18n-iso-languages-4.2.0.tgz", "integrity": "sha512-vy8cq1176MTxVwB1X9niQjcIYOH29F8Huxtx8hLmT5Uz3l1ztGDGri8KN/4zE7LV2mCT7JrcAoNV/I9yb+lNUw==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -1943,6 +2142,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, @@ -1965,6 +2165,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, @@ -1986,6 +2187,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" } @@ -2004,6 +2206,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2016,6 +2219,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" } @@ -2024,7 +2228,8 @@ "name": "@openedx/brand-openedx", "version": "1.2.3", "resolved": "https://registry.npmjs.org/@openedx/brand-openedx/-/brand-openedx-1.2.3.tgz", - "integrity": "sha512-Dn9CtpC8fovh++Xi4NF5NJoeR9yU2yXZnV9IujxIyGd/dn0Phq5t6dzJVfupwq09mpDnzJv7egA8Znz/3ljO+w==" + "integrity": "sha512-Dn9CtpC8fovh++Xi4NF5NJoeR9yU2yXZnV9IujxIyGd/dn0Phq5t6dzJVfupwq09mpDnzJv7egA8Znz/3ljO+w==", + "license": "GPL-3.0-or-later" }, "node_modules/@edx/browserslist-config": { "version": "1.5.0", @@ -2095,6 +2300,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@edx/new-relic-source-map-webpack-plugin/-/new-relic-source-map-webpack-plugin-2.1.0.tgz", "integrity": "sha512-OrlvtdsPcWuOm6NBWfUxFE06qdPiu2bf9nU4I9t8Lu7WW6NsosAB5hxm5U+MBMZP2AuVl3FAt0k0lZsu3+ri8Q==", + "license": "AGPL-3.0", "dependencies": { "@newrelic/publish-sourcemap": "^5.0.1" } @@ -2104,6 +2310,7 @@ "resolved": "https://registry.npmjs.org/@edx/reactifex/-/reactifex-2.2.0.tgz", "integrity": "sha512-vyGDtx3BwCr6Gjbm4y6gJ8Bzc2TOSNBlBa2hMerz59HoXaot14MihxxiDU+JDNybGLLcKDBiK511bOi/77i1lw==", "dev": true, + "license": "MIT", "dependencies": { "axios": "^0.21.1", "yargs": "^17.1.1" @@ -2117,6 +2324,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.0" } @@ -2125,20 +2333,25 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@edx/typescript-config/-/typescript-config-1.1.0.tgz", "integrity": "sha512-HF+7dsSgA2YQ6f/qV4HnrEYBoIhIdxVQZgDyYk/YGvaVGqT6IFuaHnYUP7ImpCUMOUmx/Jl7EyuVeaMe2LrMcA==", + "license": "MIT", "peerDependencies": { "typescript": "^4.9.4" } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } @@ -2147,6 +2360,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2155,9 +2369,10 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2166,6 +2381,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2187,12 +2403,14 @@ "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2207,6 +2425,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2218,6 +2437,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2229,14 +2449,16 @@ "version": "8.44.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@formatjs/cli": { - "version": "6.2.12", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.2.12.tgz", - "integrity": "sha512-bt1NEgkeYN8N9zWcpsPu3fZ57vv+biA+NtIQBlyOZnCp1bcvh+vNTXvmwF4C5qxqDtCylpOIb3yi3Ktgp4v0JQ==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.6.1.tgz", + "integrity": "sha512-zzAIcIyM7urVm9hgH0h1E6/SvbkkHJ3+99VNWKiik3DE8xqnM7/bJODSvk+8w9GfrEYkX1EyvUzcu+v4hgdKdg==", + "license": "MIT", "bin": { "formatjs": "bin/formatjs" }, @@ -2245,11 +2467,11 @@ }, "peerDependencies": { "@glimmer/env": "^0.1.7", - "@glimmer/reference": "^0.91.1 || ^0.92.0", - "@glimmer/syntax": "^0.92.0", - "@glimmer/validator": "^0.92.0", + "@glimmer/reference": "^0.91.1 || ^0.92.0 || ^0.93.0", + "@glimmer/syntax": "^0.92.0 || ^0.93.0", + "@glimmer/validator": "^0.92.0 || ^0.93.0", "@vue/compiler-core": "^3.4.0", - "content-tag": "^2.0.1", + "content-tag": "^2.0.1 || ^3.0.0", "ember-template-recast": "^6.1.4", "vue": "^3.4.0" }, @@ -2284,6 +2506,7 @@ "version": "1.11.4", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz", "integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==", + "license": "MIT", "dependencies": { "@formatjs/intl-localematcher": "0.2.25", "tslib": "^2.1.0" @@ -2299,56 +2522,84 @@ } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", - "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.1.tgz", + "integrity": "sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "@formatjs/icu-skeleton-parser": "1.8.2", - "tslib": "^2.4.0" + "@formatjs/ecma402-abstract": "2.3.3", + "@formatjs/icu-skeleton-parser": "1.8.13", + "tslib": "2" } }, "node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/ecma402-abstract": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", - "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz", + "integrity": "sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg==", + "license": "MIT", "dependencies": { - "@formatjs/intl-localematcher": "0.5.4", - "tslib": "^2.4.0" + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/intl-localematcher": "0.6.0", + "decimal.js": "10", + "tslib": "2" + } + }, + "node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/fast-memoize": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz", + "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==", + "license": "MIT", + "dependencies": { + "tslib": "2" } }, "node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/intl-localematcher": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", - "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.0.tgz", + "integrity": "sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==", + "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "tslib": "2" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", - "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", + "version": "1.8.13", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.13.tgz", + "integrity": "sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "tslib": "^2.4.0" + "@formatjs/ecma402-abstract": "2.3.3", + "tslib": "2" } }, "node_modules/@formatjs/icu-skeleton-parser/node_modules/@formatjs/ecma402-abstract": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", - "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz", + "integrity": "sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg==", + "license": "MIT", "dependencies": { - "@formatjs/intl-localematcher": "0.5.4", - "tslib": "^2.4.0" + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/intl-localematcher": "0.6.0", + "decimal.js": "10", + "tslib": "2" + } + }, + "node_modules/@formatjs/icu-skeleton-parser/node_modules/@formatjs/fast-memoize": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz", + "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==", + "license": "MIT", + "dependencies": { + "tslib": "2" } }, "node_modules/@formatjs/icu-skeleton-parser/node_modules/@formatjs/intl-localematcher": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", - "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.0.tgz", + "integrity": "sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==", + "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "tslib": "2" } }, "node_modules/@formatjs/intl": { @@ -2440,6 +2691,7 @@ "version": "0.2.25", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz", "integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } @@ -2448,6 +2700,7 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-4.3.3.tgz", "integrity": "sha512-NLZN8gf2qLpCuc0m565IbKLNUarEGOzk0mkdTkE4XTuNCofzoQTurW6lL3fmDlneAoYl2FiTdHa5q4o2vZF50g==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "1.11.4", "@formatjs/intl-localematcher": "0.2.25", @@ -2458,6 +2711,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-10.0.1.tgz", "integrity": "sha512-AABPQtPjFilXegQsnmVHrSlzjFNUffAEk5DgowY6b7WSwDI7g2W6QgW903/lbZ58emhphAbgHdtKeUBXqTiLpw==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "1.11.4", "@formatjs/intl-localematcher": "0.2.25", @@ -2506,20 +2760,21 @@ } }, "node_modules/@formatjs/ts-transformer": { - "version": "3.13.14", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.14.tgz", - "integrity": "sha512-TP/R54lxQ9Drzzimxrrt6yBT/xBofTgYl5wSTpyKe3Aq9vIBVcFmS6EOqycj0X34KGu3EpDPGO0ng8ZQZGLIFg==", + "version": "3.13.32", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.32.tgz", + "integrity": "sha512-vKU03qvIKmsroEP8lMTl/+zwFl0T/Q9mGoNK+teJSp5wyPwW/mL5kssD4eiZDeVuLU8ZLjBIDIFGw+8u4j9edA==", + "license": "MIT", "dependencies": { - "@formatjs/icu-messageformat-parser": "2.7.8", - "@types/json-stable-stringify": "^1.0.32", - "@types/node": "14 || 16 || 17", - "chalk": "^4.0.0", - "json-stable-stringify": "^1.0.1", - "tslib": "^2.4.0", + "@formatjs/icu-messageformat-parser": "2.11.1", + "@types/json-stable-stringify": "1", + "@types/node": "14 || 16 || 17 || 18 || 20 || 22", + "chalk": "4", + "json-stable-stringify": "1", + "tslib": "2", "typescript": "5" }, "peerDependencies": { - "ts-jest": ">=27" + "ts-jest": "27 || 28 || 29" }, "peerDependenciesMeta": { "ts-jest": { @@ -2527,15 +2782,11 @@ } } }, - "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" - }, "node_modules/@formatjs/ts-transformer/node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2548,6 +2799,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2556,6 +2808,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "license": "MIT", "dependencies": { "@fortawesome/fontawesome-common-types": "6.6.0" }, @@ -2567,6 +2820,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { "@fortawesome/fontawesome-common-types": "6.6.0" }, @@ -2578,6 +2832,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { "@fortawesome/fontawesome-common-types": "6.6.0" }, @@ -2589,6 +2844,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { "@fortawesome/fontawesome-common-types": "6.6.0" }, @@ -2600,6 +2856,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "license": "MIT", "dependencies": { "prop-types": "^15.8.1" }, @@ -2612,6 +2869,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-5.0.0.tgz", "integrity": "sha512-onDS/b/2pMRzqSoj4qOs2tYFmOpaspjTAgvACIHMPiicu1ptajiBruTrjBzTKdxWdX0ldaBb7wj8nEaTLyFkJw==", + "license": "MIT", "dependencies": { "purgecss": "^5.0.0" }, @@ -2624,6 +2882,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -2637,6 +2896,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -2649,35 +2909,135 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead" + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "engines": { - "node": ">=6" - } + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2686,6 +3046,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -2702,6 +3063,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2710,6 +3072,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -2756,6 +3119,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -2767,6 +3131,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -2779,12 +3144,14 @@ "node_modules/@jest/core/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/@jest/core/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2793,6 +3160,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -2807,6 +3175,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -2819,6 +3188,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -2830,6 +3200,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -2846,6 +3217,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -2860,6 +3232,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -2902,6 +3275,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -2914,9 +3288,10 @@ } }, "node_modules/@jest/reporters/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -2928,6 +3303,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2936,6 +3312,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -2947,6 +3324,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -2960,6 +3338,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -2974,6 +3353,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -2988,6 +3368,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2996,6 +3377,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -3021,6 +3403,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3029,6 +3412,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -3042,9 +3426,10 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3058,6 +3443,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3066,6 +3452,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3074,6 +3461,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -3082,28 +3470,86 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", + "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", + "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" }, "node_modules/@newrelic/publish-sourcemap": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@newrelic/publish-sourcemap/-/publish-sourcemap-5.1.0.tgz", - "integrity": "sha512-pOpW0InKZp/DXUmD3h6vaCGdtMDY5LyzzKvq3S3MBwTKm5Qc5ka3yZC73sLAMOXnjKZmdyG3d8A5LC+LawOEpA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@newrelic/publish-sourcemap/-/publish-sourcemap-5.1.3.tgz", + "integrity": "sha512-CuHiYXRVU4kDJ4D0nZYVRlRKb8V+s8MFpIyA2D5UBNCOntf/8jv+rxJR1wJ8WYkTio7f+uBKXn/K4GzrhWvKUw==", + "license": "New Relic proprietary", "dependencies": { - "superagent": "^3.4.1", + "superagent": "^10.1.0", "yargs": "^16.0.3" }, "bin": { @@ -3116,6 +3562,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -3126,6 +3573,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -3142,6 +3590,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -3159,6 +3608,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { "node": ">=10" } @@ -3167,12 +3617,14 @@ "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "license": "MIT", "optional": true }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } @@ -3181,6 +3633,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3193,6 +3646,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -3201,6 +3655,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3345,31 +3800,75 @@ } }, "node_modules/@openedx/frontend-plugin-framework": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@openedx/frontend-plugin-framework/-/frontend-plugin-framework-1.4.1.tgz", - "integrity": "sha512-8lVvq+kqb4CsPtD2CIf5nL+Ded6r+dTM/0DIwxCuoUTh4i5aCBwPY3gnKsfa1OS9IEJjeSgiMBieH8WRqUiixw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@openedx/frontend-plugin-framework/-/frontend-plugin-framework-1.6.0.tgz", + "integrity": "sha512-zgP+/hs/cvcPmFOgVm2xt/qgX1nheNsfipzCO7I3bON4hHyOhmOyzwFZJ7pz7GzCJwKlMVguh3HcJgf4p/BPKQ==", "license": "AGPL-3.0", "dependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", "classnames": "^2.3.2", "core-js": "3.37.1", - "react-redux": "7.2.9", - "redux": "4.2.1", - "regenerator-runtime": "0.14.1" + "react-redux": "8.1.1", + "redux": "4.2.1" }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": "^21.0.0 || ^22.0.0", + "@openedx/paragon": "^21.0.0 || ^22.0.0 || ^23.0.0", "prop-types": "^15.8.0", - "react": "^17.0.0", - "react-dom": "^17.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0", "react-error-boundary": "^4.0.11" } }, + "node_modules/@openedx/frontend-plugin-framework/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/@openedx/frontend-plugin-framework/node_modules/react-redux": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.1.tgz", + "integrity": "sha512-5W0QaKtEhj+3bC0Nj0NkqkhIv8gLADH/2kYFMTHxCVqQILiWzLv6MaLuV5wJU3BQEdHKzTfcvPN0WMS6SC1oyA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/@openedx/paragon": { - "version": "22.16.0", - "resolved": "https://registry.npmjs.org/@openedx/paragon/-/paragon-22.16.0.tgz", - "integrity": "sha512-6dhspna6rMJexeasq5acrkD+NMHOlVOt/RdraXg87Rqw8iR4XWxD8T0wY21DlYysPRCOZJVMXdc1jsjdI4MjXg==", + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/@openedx/paragon/-/paragon-23.3.0.tgz", + "integrity": "sha512-QHOWw3v0OQiLdaqT5JWjusQKKZ1ueigb5Ng6xqhDSsSOiGMJJvOmhv+lwoBJrR6zXkGTWCe1XumgXRvOUZIw0Q==", "license": "Apache-2.0", "workspaces": [ "example", @@ -3379,20 +3878,32 @@ "dependent-usage-analyzer" ], "dependencies": { - "@fortawesome/fontawesome-svg-core": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.1.18", "@popperjs/core": "^2.11.4", + "@tokens-studio/sd-transforms": "^1.2.4", + "axios": "^0.27.2", "bootstrap": "^4.6.2", "chalk": "^4.1.2", "child_process": "^1.0.2", + "chroma-js": "^2.4.2", "classnames": "^2.3.1", + "cli-progress": "^3.12.0", + "commander": "^9.4.1", "email-prop-type": "^3.0.0", "file-selector": "^0.6.0", - "font-awesome": "^4.7.0", "glob": "^8.0.3", "inquirer": "^8.2.5", + "js-toml": "^1.0.0", "lodash.uniqby": "^4.7.0", + "log-update": "^4.0.0", "mailto-link": "^2.0.0", + "minimist": "^1.2.8", + "ora": "^5.4.1", + "postcss": "^8.4.21", + "postcss-combine-duplicated-selectors": "^10.0.3", + "postcss-custom-media": "^9.1.2", + "postcss-import": "^15.1.0", + "postcss-map": "^0.11.0", + "postcss-minify": "^1.1.0", "prop-types": "^15.8.1", "react-bootstrap": "^1.6.5", "react-colorful": "^5.6.1", @@ -3405,6 +3916,8 @@ "react-responsive": "^8.2.0", "react-table": "^7.7.0", "react-transition-group": "^4.4.2", + "sass": "^1.58.3", + "style-dictionary": "^4.0.1", "tabbable": "^5.3.3", "uncontrollable": "^7.2.1", "uuid": "^9.0.0" @@ -3418,17 +3931,14 @@ "react-intl": "^5.25.1 || ^6.4.0" } }, - "node_modules/@openedx/paragon/node_modules/@fortawesome/react-fontawesome": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz", - "integrity": "sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==", + "node_modules/@openedx/paragon/node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "license": "MIT", "dependencies": { - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "~1 || ~6", - "react": ">=16.x" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "node_modules/@openedx/paragon/node_modules/brace-expansion": { @@ -3440,6 +3950,15 @@ "balanced-match": "^1.0.0" } }, + "node_modules/@openedx/paragon/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/@openedx/paragon/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -3472,10 +3991,49 @@ "node": ">=10" } }, + "node_modules/@openedx/paragon/node_modules/postcss-custom-media": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-9.1.5.tgz", + "integrity": "sha512-GStyWMz7Qbo/Gtw1xVspzVSX8eipgNg4lpsO3CAeY4/A1mzok+RV6MCv3fg62trWijh/lYEj6vps4o8JcBBpDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.2", + "@csstools/css-parser-algorithms": "^2.2.0", + "@csstools/css-tokenizer": "^2.1.1", + "@csstools/media-query-list-parser": "^2.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", + "license": "MIT", "dependencies": { "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", @@ -3522,12 +4080,14 @@ "node_modules/@polka/url": { "version": "1.0.0-next.28", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==" + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "license": "MIT" }, "node_modules/@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -3538,6 +4098,7 @@ "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.3.0.tgz", "integrity": "sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.6.3", "@redux-saga/deferred": "^1.2.1", @@ -3556,13 +4117,15 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz", "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@redux-saga/delay-p": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz", "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==", "dev": true, + "license": "MIT", "dependencies": { "@redux-saga/symbols": "^1.1.3" } @@ -3572,6 +4135,7 @@ "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz", "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==", "dev": true, + "license": "MIT", "dependencies": { "@redux-saga/symbols": "^1.1.3", "@redux-saga/types": "^1.2.1" @@ -3581,13 +4145,15 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz", "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@redux-saga/types": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz", "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@remix-run/router": { "version": "1.21.0", @@ -3602,6 +4168,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz", "integrity": "sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==", + "license": "MIT", "peerDependencies": { "react": ">=16.3.2" } @@ -3610,6 +4177,7 @@ "version": "0.4.16", "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz", "integrity": "sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==", + "license": "MIT", "dependencies": { "dequal": "^2.0.3" }, @@ -3620,12 +4188,14 @@ "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -3634,6 +4204,7 @@ "version": "10.3.0", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -3642,6 +4213,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3657,6 +4229,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3672,6 +4245,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3687,6 +4261,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3702,6 +4277,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3717,6 +4293,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3732,6 +4309,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3747,6 +4325,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -3762,6 +4341,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", @@ -3787,6 +4367,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -3806,6 +4387,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", "dependencies": { "@babel/types": "^7.21.3", "entities": "^4.4.0" @@ -3822,6 +4404,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -3843,6 +4426,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", "dependencies": { "cosmiconfig": "^8.1.3", "deepmerge": "^4.3.1", @@ -3863,6 +4447,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", "@babel/plugin-transform-react-constant-elements": "^7.21.3", @@ -3886,6 +4471,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3905,6 +4491,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", "dev": true, + "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.0.1", "@babel/runtime": "^7.9.2", @@ -3927,6 +4514,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3940,6 +4528,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-10.4.9.tgz", "integrity": "sha512-pHZKkqUy0tmiD81afs8xfiuseXfU/N7rAX3iKjeZYje86t9VaB0LrxYVa+OOsvkrveX5jCK3IjajVn2MbePvqA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.3", "@testing-library/dom": "^7.22.3" @@ -3957,6 +4546,7 @@ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3973,6 +4563,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.31.2.tgz", "integrity": "sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3991,13 +4582,15 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@testing-library/react/node_modules/@types/yargs": { "version": "15.0.19", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -4007,6 +4600,7 @@ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.10.2", "@babel/runtime-corejs3": "^7.10.2" @@ -4020,6 +4614,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^26.6.2", "ansi-regex": "^5.0.0", @@ -4030,10 +4625,37 @@ "node": ">= 10" } }, + "node_modules/@tokens-studio/sd-transforms": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@tokens-studio/sd-transforms/-/sd-transforms-1.2.12.tgz", + "integrity": "sha512-YAHKYtGjwrYXp1Kh/PM/3C/e3a05+Zg6pxA4Rz3dkxPO4L/IGBE1ExKrqOZXTLRCw6JJDofQKUapAvig0iO9Fg==", + "license": "MIT", + "dependencies": { + "@bundled-es-modules/deepmerge": "^4.3.1", + "@bundled-es-modules/postcss-calc-ast-parser": "^0.1.6", + "@tokens-studio/types": "^0.5.1", + "colorjs.io": "^0.4.3", + "expr-eval-fork": "^2.0.2", + "is-mergeable-object": "^1.1.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "style-dictionary": "^4.3.0 || ^5.0.0-rc.0" + } + }, + "node_modules/@tokens-studio/types": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@tokens-studio/types/-/types-0.5.2.tgz", + "integrity": "sha512-rzMcZP0bj2E5jaa7Fj0LGgYHysoCrbrxILVbT0ohsCUH5uCHY/u6J7Qw/TE0n6gR9Js/c9ZO9T8mOoz0HdLMbA==", + "license": "MIT" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -4042,6 +4664,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -4050,12 +4673,14 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -4068,6 +4693,7 @@ "version": "7.6.8", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -4076,6 +4702,7 @@ "version": "7.10.3", "resolved": "https://registry.npmjs.org/@types/babel__helper-plugin-utils/-/babel__helper-plugin-utils-7.10.3.tgz", "integrity": "sha512-FcLBBPXInqKfULB2nvOBskQPcnSMZ0s1Y2q76u9H1NPPWaLcTeq38xBeKfF/RBUECK333qeaqRdYoPSwW7rTNQ==", + "license": "MIT", "dependencies": { "@types/babel__core": "*" } @@ -4084,6 +4711,7 @@ "version": "7.4.4", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -4093,6 +4721,7 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } @@ -4101,6 +4730,7 @@ "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -4110,6 +4740,7 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4118,6 +4749,7 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4126,6 +4758,7 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -4134,26 +4767,40 @@ "node_modules/@types/cookie": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz", - "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==" + "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==", + "license": "MIT" }, "node_modules/@types/eslint": { "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4162,9 +4809,10 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz", - "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", + "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4176,6 +4824,7 @@ "version": "4.19.6", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4187,6 +4836,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "license": "MIT", "dependencies": { "@types/minimatch": "*", "@types/node": "*" @@ -4196,14 +4846,16 @@ "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", - "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", + "license": "MIT", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -4212,17 +4864,20 @@ "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.15", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", - "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4230,17 +4885,20 @@ "node_modules/@types/invariant": { "version": "2.2.37", "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.37.tgz", - "integrity": "sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==" + "integrity": "sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -4249,6 +4907,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } @@ -4257,6 +4916,7 @@ "version": "29.5.12", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -4266,6 +4926,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4277,6 +4938,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4289,12 +4951,14 @@ "node_modules/@types/jest/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/@types/jsdom": { "version": "20.0.1", "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", @@ -4304,40 +4968,47 @@ "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" }, "node_modules/@types/json-stable-stringify": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.36.tgz", - "integrity": "sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz", + "integrity": "sha512-ESTsHWB72QQq+pjUFIbEz9uSCZppD31YrVkbt2rnUciTYEvcwN6uZIhX5JZeBHqRlFJ41x/7MewCs7E2Qux6Cg==", + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "license": "MIT" }, "node_modules/@types/node": { - "version": "22.7.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.3.tgz", - "integrity": "sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA==", + "version": "22.13.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", + "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.20.0" } }, "node_modules/@types/node-forge": { "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4345,32 +5016,38 @@ "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" }, "node_modules/@types/picomatch": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-2.3.4.tgz", - "integrity": "sha512-0so8lU8O5zatZS/2Fi4zrwks+vZv7e0dygrgEZXljODXBig97l4cPQD+9LabXfGJOWwoRkTVz6Q4edZvD12UOA==" + "integrity": "sha512-0so8lU8O5zatZS/2Fi4zrwks+vZv7e0dygrgEZXljODXBig97l4cPQD+9LabXfGJOWwoRkTVz6Q4edZvD12UOA==", + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.13", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==" + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==" + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", + "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.9", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.9.tgz", - "integrity": "sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==", + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4380,6 +5057,7 @@ "version": "7.1.34", "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.34.tgz", "integrity": "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==", + "license": "MIT", "dependencies": { "@types/hoist-non-react-statics": "^3.3.0", "@types/react": "*", @@ -4388,27 +5066,31 @@ } }, "node_modules/@types/react-transition-group": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.11.tgz", - "integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==", - "dependencies": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { "@types/react": "*" } }, "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "license": "MIT" }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -4418,6 +5100,7 @@ "version": "1.9.4", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", "dependencies": { "@types/express": "*" } @@ -4426,6 +5109,7 @@ "version": "1.15.7", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -4436,6 +5120,7 @@ "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4443,13 +5128,15 @@ "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.9", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", "dev": true, + "license": "MIT", "dependencies": { "@types/jest": "*" } @@ -4457,17 +5144,26 @@ "node_modules/@types/tough-cookie": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "license": "MIT" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "license": "MIT" }, "node_modules/@types/warning": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz", - "integrity": "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==" + "integrity": "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==", + "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4476,6 +5172,7 @@ "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -4483,12 +5180,14 @@ "node_modules/@types/yargs-parser": { "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -4519,9 +5218,10 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4533,6 +5233,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -4559,6 +5260,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -4575,6 +5277,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -4601,6 +5304,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4613,6 +5317,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -4636,9 +5341,10 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4650,6 +5356,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -4672,9 +5379,10 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4686,6 +5394,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -4702,6 +5411,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4710,133 +5420,148 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -4844,6 +5569,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -4856,6 +5582,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -4868,6 +5595,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -4884,23 +5612,44 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@zip.js/zip.js": { + "version": "2.7.57", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.57.tgz", + "integrity": "sha512-BtonQ1/jDnGiMed6OkV6rZYW78gLmLswkHOzyMrMb+CAR7CZO8phOHO6c2qw6qb1g1betN7kwEHhhZk30dv+NA==", + "license": "BSD-3-Clause", + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=16.5.0" + } }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead" + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -4910,9 +5659,10 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4924,23 +5674,17 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "license": "MIT", "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -4949,6 +5693,7 @@ "version": "8.3.4", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", "dependencies": { "acorn": "^8.11.0" }, @@ -4960,6 +5705,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -4968,6 +5714,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -4980,6 +5727,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -4991,6 +5739,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5006,6 +5755,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -5022,6 +5772,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5036,12 +5787,14 @@ "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -5050,6 +5803,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -5067,6 +5821,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5078,6 +5833,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5086,6 +5842,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5094,6 +5851,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5108,6 +5866,7 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/ansis/-/ansis-1.5.2.tgz", "integrity": "sha512-T3vUABrcgSj/HXv27P+A/JxGk5b/ydx0JjN3lgjBTC2iZUFxQGjh43zCzLSbU4C1QTgmx9oaPeWNJFM+auI8qw==", + "license": "ISC", "engines": { "node": ">=12.13" }, @@ -5120,7 +5879,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5133,7 +5892,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -5142,6 +5901,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -5153,17 +5913,19 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -5175,12 +5937,14 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5200,6 +5964,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5208,19 +5973,21 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5230,14 +5997,15 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5250,6 +6018,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5262,18 +6031,18 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -5282,33 +6051,75 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, "node_modules/assert-ok": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-ok/-/assert-ok-1.0.0.tgz", - "integrity": "sha512-lCvYmCpMl8c1tp9ynExhoDEk0gGW43SVVC3RE1VYrrVKhNMy8GHfdiwZdoIM6a605s56bUAbENQxtOC0uZp3wg==" + "integrity": "sha512-lCvYmCpMl8c1tp9ynExhoDEk0gGW43SVVC3RE1VYrrVKhNMy8GHfdiwZdoIM6a605s56bUAbENQxtOC0uZp3wg==", + "license": "MIT" }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "license": "ISC" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, "node_modules/attr-accept": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", - "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", + "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -5331,6 +6142,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", @@ -5353,6 +6165,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -5364,9 +6177,10 @@ } }, "node_modules/axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "license": "MPL-2.0", "engines": { "node": ">=4" } @@ -5406,6 +6220,7 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz", "integrity": "sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "is-buffer": "^2.0.5" @@ -5418,6 +6233,7 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.4.tgz", "integrity": "sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==", + "license": "Apache-2.0", "engines": { "node": ">= 0.4" } @@ -5425,12 +6241,14 @@ "node_modules/b4a": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==" + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "license": "Apache-2.0" }, "node_modules/babel-jest": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", "integrity": "sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A==", + "license": "MIT", "dependencies": { "@jest/transform": "^29.6.1", "@types/babel__core": "^7.1.14", @@ -5451,6 +6269,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5459,6 +6278,7 @@ "version": "9.1.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "license": "MIT", "dependencies": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" @@ -5472,33 +6292,65 @@ } }, "node_modules/babel-plugin-formatjs": { - "version": "10.5.16", - "resolved": "https://registry.npmjs.org/babel-plugin-formatjs/-/babel-plugin-formatjs-10.5.16.tgz", - "integrity": "sha512-I9wgoy5Rtv0S48ezBOMkoNqFdIg0ErUlFHRzUieiMOxuKxw4Jo1tGz2DVZAx+FvMpRahl5hqVIBknw5wK2RFqQ==", - "dependencies": { - "@babel/core": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "7", - "@babel/traverse": "7", - "@babel/types": "^7.12.11", - "@formatjs/icu-messageformat-parser": "2.7.8", - "@formatjs/ts-transformer": "3.13.14", - "@types/babel__core": "^7.1.7", - "@types/babel__helper-plugin-utils": "^7.10.0", - "@types/babel__traverse": "^7.1.7", - "tslib": "^2.4.0" + "version": "10.5.35", + "resolved": "https://registry.npmjs.org/babel-plugin-formatjs/-/babel-plugin-formatjs-10.5.35.tgz", + "integrity": "sha512-CeBY3eXlewCNdwxOOfZsFThkuLxYBjR4zvS1/J+n7XO/RJlr3f2EXfBKgIWnvoPPJKaQW5vlPOjuWY8XvxWHqQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.0", + "@babel/helper-plugin-utils": "^7.25.0", + "@babel/plugin-syntax-jsx": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0", + "@formatjs/icu-messageformat-parser": "2.11.1", + "@formatjs/ts-transformer": "3.13.32", + "@types/babel__core": "^7.20.5", + "@types/babel__helper-plugin-utils": "^7.10.3", + "@types/babel__traverse": "^7.20.6", + "tslib": "2" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/babel-plugin-formatjs/node_modules/@babel/core": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { "node": ">=8" @@ -5508,6 +6360,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -5519,12 +6372,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", + "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -5535,6 +6389,7 @@ "version": "0.10.6", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2", "core-js-compat": "^3.38.0" @@ -5544,11 +6399,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5558,6 +6414,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-imports/-/babel-plugin-transform-imports-2.0.0.tgz", "integrity": "sha512-65ewumYJ85QiXdcB/jmiU0y0jg6eL6CdnDqQAqQ8JMOKh1E52VPG3NJzbVKWcgovUR5GBH8IWpCXQ7I8Q3wjgw==", + "license": "ISC", "dependencies": { "@babel/types": "^7.4", "is-valid-path": "^0.1.1" @@ -5567,6 +6424,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", + "license": "MIT", "dependencies": { "babel-runtime": "^6.26.0", "core-js": "^2.5.0", @@ -5578,17 +6436,20 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true + "hasInstallScript": true, + "license": "MIT" }, "node_modules/babel-polyfill/node_modules/regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", + "license": "MIT" }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -5614,6 +6475,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -5629,6 +6491,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "license": "MIT", "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -5639,58 +6502,83 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true + "hasInstallScript": true, + "license": "MIT" }, "node_modules/babel-runtime/node_modules/regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "license": "MIT" }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/bare-events": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", - "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "license": "Apache-2.0", "optional": true }, "node_modules/bare-fs": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.5.tgz", - "integrity": "sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.1.tgz", + "integrity": "sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg==", + "license": "Apache-2.0", "optional": true, "dependencies": { "bare-events": "^2.0.0", - "bare-path": "^2.0.0", + "bare-path": "^3.0.0", "bare-stream": "^2.0.0" + }, + "engines": { + "bare": ">=1.7.0" } }, "node_modules/bare-os": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.4.tgz", - "integrity": "sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==", - "optional": true + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.5.1.tgz", + "integrity": "sha512-LvfVNDcWLw2AnIw5f2mWUgumW3I3N/WYGiWeimhQC1Ybt71n2FjlS9GJKeCnFeg1MKZHxzIFmpFnBXDI+sBeFg==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "bare": ">=1.14.0" + } }, "node_modules/bare-path": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", - "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "license": "Apache-2.0", "optional": true, "dependencies": { - "bare-os": "^2.1.0" + "bare-os": "^3.0.1" } }, "node_modules/bare-stream": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.0.tgz", - "integrity": "sha512-pVRWciewGUeCyKEuRxwv06M079r+fRjAQjBEK2P6OYGrO43O+Z0LrPZZEjlc4mB6C2RpZ9AxJ1s7NLEtOHO6eA==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", + "license": "Apache-2.0", "optional": true, "dependencies": { - "b4a": "^1.6.6", - "streamx": "^2.20.0" + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } } }, "node_modules/base64-js": { @@ -5710,17 +6598,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", "engines": { "node": "*" } @@ -5729,6 +6620,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -5740,6 +6632,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -5750,6 +6643,7 @@ "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -5773,6 +6667,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5780,12 +6675,14 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -5794,7 +6691,8 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, "node_modules/bootstrap": { "version": "4.6.2", @@ -5810,6 +6708,7 @@ "url": "https://opencollective.com/bootstrap" } ], + "license": "MIT", "peerDependencies": { "jquery": "1.9.1 - 3", "popper.js": "^1.16.1" @@ -5819,7 +6718,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5829,6 +6728,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -5837,9 +6737,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -5854,11 +6754,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -5871,6 +6772,7 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -5882,6 +6784,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -5904,6 +6807,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -5912,12 +6816,14 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -5925,18 +6831,48 @@ "node_modules/cache-parser": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.5.tgz", - "integrity": "sha512-Md/4VhAHByQ9frQ15WD6LrMNiVw9AEl/J7vWIXw+sxT6fSOpbtt6LHTp76vy8+bOESPBO94117Hm2bIjlI7XjA==" + "integrity": "sha512-Md/4VhAHByQ9frQ15WD6LrMNiVw9AEl/J7vWIXw+sxT6fSOpbtt6LHTp76vy8+bOESPBO94117Hm2bIjlI7XjA==", + "license": "MIT" }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -5949,6 +6885,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5957,7 +6894,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -5967,6 +6904,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5978,6 +6916,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -5986,9 +6925,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001664", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz", - "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==", + "version": "1.0.30001703", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz", + "integrity": "sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==", "funding": [ { "type": "opencollective", @@ -6002,12 +6941,14 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/cast-array": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cast-array/-/cast-array-1.0.1.tgz", "integrity": "sha512-EiqtV+M9L42wd0IRgYjgVGDq7vdNBUUrdecd03QReJp8pIr59o2A1b0XfP+aCUlzLKx2E7zVetaogeJCtiHa+w==", + "license": "MIT", "dependencies": { "isarray": "0.0.1" } @@ -6015,12 +6956,14 @@ "node_modules/cast-array/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6032,10 +6975,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/change-case": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", + "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", + "license": "MIT" + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -6043,17 +6993,34 @@ "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "license": "MIT" + }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } }, "node_modules/child_process": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz", - "integrity": "sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g==" + "integrity": "sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g==", + "license": "ISC" }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -6076,12 +7043,20 @@ "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/chroma-js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.6.0.tgz", + "integrity": "sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==", + "license": "(BSD-3-Clause AND Apache-2.0)" }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", "engines": { "node": ">=6.0" } @@ -6096,24 +7071,28 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", - "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "license": "MIT" }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT" }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -6125,6 +7104,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6133,6 +7113,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", + "license": "MIT", "dependencies": { "del": "^4.1.1" }, @@ -6147,6 +7128,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" }, @@ -6154,10 +7136,23 @@ "node": ">=8" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-spinners": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -6169,6 +7164,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "license": "ISC", "engines": { "node": ">= 10" } @@ -6177,6 +7173,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -6190,6 +7187,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -6206,6 +7204,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", "engines": { "node": ">=0.8" } @@ -6214,6 +7213,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -6227,6 +7227,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -6235,12 +7236,14 @@ "node_modules/collect-v8-coverage": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" }, "node_modules/color": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -6253,6 +7256,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -6263,12 +7267,14 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/color-string": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -6277,17 +7283,26 @@ "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/colorjs.io": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.4.5.tgz", + "integrity": "sha512-yCtUNCmge7llyfd/Wou19PMAcf5yC3XXhgFoAh6zsO2pGswhUPBaaUh8jzgHnXtXuZyFKzXZNAnyF5i+apICow==", + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -6299,6 +7314,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -6306,12 +7322,17 @@ "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" }, "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-2.0.0.tgz", + "integrity": "sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -6320,6 +7341,7 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -6328,34 +7350,28 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", + "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6363,28 +7379,35 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "license": "MIT" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { "node": ">=0.8" } @@ -6393,6 +7416,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -6404,6 +7428,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6411,12 +7436,14 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" }, "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6424,29 +7451,33 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" }, "node_modules/cookiejar": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "license": "MIT" }, "node_modules/core-js": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.41.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", + "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.4" }, "funding": { "type": "opencollective", @@ -6454,10 +7485,11 @@ } }, "node_modules/core-js-pure": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", - "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", + "version": "3.41.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.41.0.tgz", + "integrity": "sha512-71Gzp96T9YPk63aUvE5Q5qP+DryB4ZloUZPSOebGM88VNw8VNfvdA7z6kGA8iGOTEzAomsRidp4jXSmUIJsL+Q==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -6466,12 +7498,14 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", @@ -6496,12 +7530,14 @@ "node_modules/cosmiconfig/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/cosmiconfig/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -6513,6 +7549,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -6530,9 +7567,10 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6546,6 +7584,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", "engines": { "node": "^14 || ^16 || >=18" }, @@ -6557,6 +7596,7 @@ "version": "5.2.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", @@ -6584,6 +7624,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -6598,9 +7639,10 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -6611,12 +7653,14 @@ "node_modules/css-mediaquery": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==" + "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==", + "license": "BSD" }, "node_modules/css-select": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -6632,6 +7676,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" @@ -6644,6 +7689,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -6655,13 +7701,14 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -6673,6 +7720,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.3.tgz", "integrity": "sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^6.0.3", "lilconfig": "^3.0.0" @@ -6692,6 +7740,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "css-declaration-sorter": "^7.2.0", @@ -6735,6 +7784,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -6746,6 +7796,7 @@ "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", "dependencies": { "css-tree": "~2.2.0" }, @@ -6758,6 +7809,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" @@ -6770,17 +7822,20 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.28", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" }, "node_modules/cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -6791,22 +7846,26 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" }, "node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -6817,13 +7876,14 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6833,27 +7893,29 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -6867,12 +7929,14 @@ "node_modules/debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -6886,14 +7950,16 @@ } }, "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "license": "MIT" }, "node_modules/decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", "engines": { "node": ">=0.10" } @@ -6902,6 +7968,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -6916,6 +7983,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -6929,6 +7997,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -6936,12 +8005,14 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6950,6 +8021,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -6961,6 +8033,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", "dependencies": { "clone": "^1.0.2" }, @@ -6972,6 +8045,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -6988,6 +8062,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6996,6 +8071,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -7012,6 +8088,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "license": "MIT", "dependencies": { "@types/glob": "^7.1.1", "globby": "^6.1.0", @@ -7029,6 +8106,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "license": "MIT", "dependencies": { "array-uniq": "^1.0.1" }, @@ -7040,6 +8118,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "license": "MIT", "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", @@ -7055,6 +8134,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7063,6 +8143,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -7071,6 +8152,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7079,6 +8161,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7087,6 +8170,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -7096,6 +8180,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", "engines": { "node": ">=8" } @@ -7104,6 +8189,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7111,17 +8197,20 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" }, "node_modules/detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -7138,6 +8227,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7145,17 +8235,30 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } }, "node_modules/diacritics": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", - "integrity": "sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==" + "integrity": "sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==", + "license": "MIT" }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -7164,6 +8267,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -7175,6 +8279,7 @@ "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -7186,6 +8291,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -7197,12 +8303,14 @@ "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -7211,6 +8319,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" @@ -7220,6 +8329,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -7233,6 +8343,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -7246,13 +8357,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domexception": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -7264,6 +8377,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -7278,6 +8392,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -7291,7 +8406,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -7301,6 +8416,7 @@ "version": "8.6.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "license": "BSD-2-Clause", "engines": { "node": ">=10" } @@ -7309,6 +8425,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "license": "MIT", "dependencies": { "dotenv": "^8.2.0" } @@ -7317,6 +8434,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz", "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==", + "license": "MIT", "dependencies": { "dotenv-defaults": "^2.0.2" }, @@ -7327,25 +8445,49 @@ "webpack": "^4 || ^5" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz", - "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==" + "version": "1.5.114", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.114.tgz", + "integrity": "sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==", + "license": "ISC" }, "node_modules/email-prop-type": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/email-prop-type/-/email-prop-type-3.0.1.tgz", "integrity": "sha512-tONZGMEOOkadp5OBftuVXU8DsceWmINxYK+pqPFB4LT5ODjrPX/esel3WGqbV7d6in5/MnZE4n4QcqOr4gh7dg==", + "license": "MIT", "dependencies": { "email-validator": "^2.0.4" } @@ -7362,6 +8504,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -7372,12 +8515,14 @@ "node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -7386,6 +8531,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7394,14 +8540,16 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7414,6 +8562,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -7425,6 +8574,7 @@ "version": "7.14.0", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -7436,6 +8586,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -7444,61 +8595,68 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } }, "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" }, "engines": { "node": ">= 0.4" @@ -7508,12 +8666,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -7522,19 +8678,22 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -7543,34 +8702,41 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -7583,6 +8749,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7590,12 +8757,14 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7607,6 +8776,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -7627,6 +8797,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -7636,6 +8807,8 @@ "version": "8.44.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", @@ -7691,6 +8864,7 @@ "version": "19.0.4", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "license": "MIT", "dependencies": { "eslint-config-airbnb-base": "^15.0.0", "object.assign": "^4.1.2", @@ -7711,6 +8885,7 @@ "version": "15.0.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -7729,6 +8904,7 @@ "version": "17.1.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz", "integrity": "sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==", + "license": "MIT", "dependencies": { "eslint-config-airbnb-base": "^15.0.0" }, @@ -7743,6 +8919,7 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -7753,14 +8930,16 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", - "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -7777,6 +8956,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7785,6 +8965,7 @@ "version": "4.13.3", "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.13.3.tgz", "integrity": "sha512-4j3IVwaLEXblnvH2/ZIOZwc9zaaZf2+zyn/b8oLJRt6kMCTu2rIs4UsIxy5nBRYZzsBSh7k34JJ5/ngGtJ3kYw==", + "license": "MIT", "dependencies": { "@formatjs/icu-messageformat-parser": "2.7.8", "@formatjs/ts-transformer": "3.13.14", @@ -7802,10 +8983,80 @@ "eslint": "7 || 8" } }, + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", + "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", + "license": "MIT", + "dependencies": { + "@formatjs/intl-localematcher": "0.5.4", + "tslib": "^2.4.0" + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.7.8", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", + "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/icu-skeleton-parser": "1.8.2", + "tslib": "^2.4.0" + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", + "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "tslib": "^2.4.0" + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", + "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ts-transformer": { + "version": "3.13.14", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.14.tgz", + "integrity": "sha512-TP/R54lxQ9Drzzimxrrt6yBT/xBofTgYl5wSTpyKe3Aq9vIBVcFmS6EOqycj0X34KGu3EpDPGO0ng8ZQZGLIFg==", + "license": "MIT", + "dependencies": { + "@formatjs/icu-messageformat-parser": "2.7.8", + "@types/json-stable-stringify": "^1.0.32", + "@types/node": "14 || 16 || 17", + "chalk": "^4.0.0", + "json-stable-stringify": "^1.0.1", + "tslib": "^2.4.0", + "typescript": "5" + }, + "peerDependencies": { + "ts-jest": ">=27" + }, + "peerDependenciesMeta": { + "ts-jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/scope-manager": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0" @@ -7822,6 +9073,7 @@ "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "license": "MIT", "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -7834,6 +9086,7 @@ "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", @@ -7861,6 +9114,7 @@ "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", @@ -7885,6 +9139,7 @@ "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" @@ -7901,6 +9156,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -7909,6 +9165,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -7920,6 +9177,7 @@ "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -7931,9 +9189,10 @@ } }, "node_modules/eslint-plugin-formatjs/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -7944,12 +9203,14 @@ "node_modules/eslint-plugin-formatjs/node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" }, "node_modules/eslint-plugin-formatjs/node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7962,6 +9223,7 @@ "version": "2.27.5", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -7990,6 +9252,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7998,6 +9261,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -8009,6 +9273,7 @@ "version": "6.7.1", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.7", "aria-query": "^5.1.3", @@ -8037,12 +9302,14 @@ "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" }, "node_modules/eslint-plugin-react": { "version": "7.32.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -8071,6 +9338,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8082,6 +9350,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -8093,6 +9362,7 @@ "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -8109,6 +9379,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -8121,6 +9392,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -8129,6 +9401,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", "engines": { "node": ">=10" } @@ -8136,12 +9409,14 @@ "node_modules/eslint/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -8157,6 +9432,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -8168,6 +9444,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -8183,6 +9460,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -8194,6 +9472,7 @@ "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -8208,6 +9487,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -8219,6 +9499,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -8233,6 +9514,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -8247,6 +9529,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -8258,6 +9541,7 @@ "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -8274,6 +9558,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -8285,7 +9570,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -8298,6 +9583,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -8309,6 +9595,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -8320,6 +9607,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -8328,6 +9616,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -8336,6 +9625,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8343,12 +9633,14 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -8357,6 +9649,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -8387,6 +9680,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", "engines": { "node": ">=6" } @@ -8395,6 +9689,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -8406,17 +9701,24 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/expr-eval-fork": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expr-eval-fork/-/expr-eval-fork-2.0.2.tgz", + "integrity": "sha512-NaAnObPVwHEYrODd7Jzp3zzT9pgTAlUUL4MZiZu9XAYPDpx89cPsfyEImFb2XY0vQNbrqg2CG7CLiI+Rs3seaQ==", + "license": "MIT" + }, "node_modules/express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -8430,7 +9732,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -8445,12 +9747,17 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8458,17 +9765,14 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "license": "MIT", "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -8481,28 +9785,32 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-defer": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/fast-defer/-/fast-defer-1.1.8.tgz", - "integrity": "sha512-lEJeOH5VL5R09j6AA0D4Uvq7AgsHw0dAImQQ+F3iSyHZuAxyQfWobsagGpTcOPvJr3urmKRHrs+Gs9hV+/Qm/Q==" + "integrity": "sha512-lEJeOH5VL5R09j6AA0D4Uvq7AgsHw0dAImQQ+F3iSyHZuAxyQfWobsagGpTcOPvJr3urmKRHrs+Gs9hV+/Qm/Q==", + "license": "MIT" }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -8511,30 +9819,51 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", - "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -8543,6 +9872,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -8554,6 +9884,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } @@ -8562,6 +9893,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -8576,6 +9908,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -8584,6 +9917,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -8595,6 +9929,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -8614,6 +9949,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -8631,6 +9967,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" }, @@ -8642,6 +9979,7 @@ "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } @@ -8650,6 +9988,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8661,6 +10000,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8669,6 +10009,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -8686,6 +10027,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8693,12 +10035,14 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "license": "MIT", "dependencies": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" @@ -8714,6 +10058,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -8722,10 +10067,20 @@ "node": ">=8" } }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } @@ -8734,6 +10089,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -8748,6 +10104,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -8759,14 +10116,16 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "license": "ISC" }, "node_modules/focus-lock": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.5.tgz", - "integrity": "sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.6.tgz", + "integrity": "sha512-Ik/6OCk9RQQ0T5Xw+hKNLWrjSMtv51dD4GRmJjbD5a58TIEpI5a5iXagKVl3Z5UuyslMCA8Xwnu76jQob62Yhg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" }, @@ -8784,6 +10143,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -8793,26 +10153,54 @@ } } }, - "node_modules/font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==", + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, "engines": { - "node": ">=0.10.3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", "dependencies": { - "is-callable": "^1.1.3" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -8851,6 +10239,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -8866,6 +10255,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -8880,9 +10270,10 @@ } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -8894,17 +10285,29 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -8914,13 +10317,19 @@ "node_modules/form-urlencoded": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-4.1.4.tgz", - "integrity": "sha512-R7Vytos0gMYuPQTMwnNzvK9PBItNV+Qkm/pvghEZI3j2kMrzZmJlczAgHFmt12VV+IRYQXgTlSGP1PKAsMCIUA==" + "integrity": "sha512-R7Vytos0gMYuPQTMwnNzvK9PBItNV+Qkm/pvghEZI3j2kMrzZmJlczAgHFmt12VV+IRYQXgTlSGP1PKAsMCIUA==", + "license": "MIT" }, "node_modules/formidable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", - "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", - "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz", + "integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==", + "license": "MIT", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^2.0.0", + "once": "^1.4.0" + }, "funding": { "url": "https://ko-fi.com/tunnckoCore/commissions" } @@ -8929,6 +10338,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8937,6 +10347,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, @@ -8949,6 +10360,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8956,12 +10368,14 @@ "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -8975,23 +10389,27 @@ "node_modules/fs-monkey": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "license": "Unlicense" }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "license": "MIT" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -9004,19 +10422,23 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -9029,6 +10451,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9037,6 +10460,7 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -9045,20 +10469,27 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9071,6 +10502,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", "engines": { "node": ">=6" } @@ -9079,14 +10511,29 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", "engines": { "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -9095,13 +10542,14 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -9113,13 +10561,15 @@ "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9139,7 +10589,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -9150,12 +10600,14 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -9167,6 +10619,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -9180,6 +10633,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -9191,6 +10645,7 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -9199,6 +10654,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -9214,6 +10670,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -9233,16 +10690,18 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9252,17 +10711,19 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -9276,25 +10737,32 @@ "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" }, "node_modules/harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" }, "node_modules/has": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9303,6 +10771,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9311,6 +10780,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -9319,9 +10789,13 @@ } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -9330,9 +10804,10 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9344,6 +10819,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -9358,6 +10834,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -9369,14 +10846,25 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } }, + "node_modules/hexoid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz", + "integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2", "loose-envify": "^1.2.0", @@ -9390,6 +10878,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -9397,12 +10886,14 @@ "node_modules/hoist-non-react-statics/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -9413,12 +10904,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9432,12 +10925,14 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -9446,6 +10941,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "license": "MIT", "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -9466,17 +10962,20 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } - ] + ], + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -9497,6 +10996,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { "node": ">= 12" } @@ -9544,6 +11044,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -9555,6 +11056,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -9562,12 +11064,14 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -9580,14 +11084,16 @@ } }, "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz", + "integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==", + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -9601,6 +11107,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -9611,9 +11118,10 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -9633,10 +11141,23 @@ } } }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -9649,6 +11170,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -9658,6 +11180,7 @@ "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true, + "license": "MIT", "bin": { "husky": "lib/bin.js" }, @@ -9668,15 +11191,26 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, "node_modules/hyphenate-style-name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", - "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==" + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause" }, "node_modules/i18n-iso-countries": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/i18n-iso-countries/-/i18n-iso-countries-4.3.1.tgz", "integrity": "sha512-yxeCvmT8yO1p/epv93c1OHnnYNNMOX6NUNpNfuvzSIcDyripS7OGeKXgzYGd5QI31UK+GBrMG0nPFNv0jrHggw==", + "license": "MIT", "dependencies": { "diacritics": "^1.3.0" }, @@ -9688,6 +11222,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -9699,6 +11234,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -9710,6 +11246,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", "dependencies": { "harmony-reflect": "^1.4.6" }, @@ -9734,12 +11271,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -9748,6 +11287,7 @@ "version": "3.8.3", "resolved": "https://registry.npmjs.org/image-minimizer-webpack-plugin/-/image-minimizer-webpack-plugin-3.8.3.tgz", "integrity": "sha512-Ex0cjNJc2FUSuwN7WHNyxkIZINP0M9lrN+uWJznMcsehiM5Z7ELwk+SEkSGEookK1GUd2wf+09jy1PEH5a5XmQ==", + "license": "MIT", "dependencies": { "schema-utils": "^4.2.0", "serialize-javascript": "^6.0.1" @@ -9781,6 +11321,7 @@ "version": "7.6.1", "resolved": "https://registry.npmjs.org/imask/-/imask-7.6.1.tgz", "integrity": "sha512-sJlIFM7eathUEMChTh9Mrfw/IgiWgJqBKq2VNbyXvBZ7ev/IlO6/KQTKlV/Fm+viQMLrFLG/zCuudrLIwgK2dg==", + "license": "MIT", "dependencies": { "@babel/runtime-corejs3": "^7.24.4" }, @@ -9791,12 +11332,14 @@ "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" }, "node_modules/immer": { "version": "9.0.21", "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -9805,12 +11348,14 @@ "node_modules/immutable": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "license": "MIT" }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -9826,6 +11371,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -9834,6 +11380,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -9852,6 +11399,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -9863,6 +11411,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -9872,6 +11421,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -9881,6 +11431,7 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9889,17 +11440,20 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/inquirer": { "version": "8.2.6", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -9922,13 +11476,14 @@ } }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9938,6 +11493,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -9999,6 +11555,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } @@ -10007,17 +11564,36 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -10029,14 +11605,38 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10046,7 +11646,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -10055,12 +11655,13 @@ } }, "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10087,6 +11688,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "engines": { "node": ">=4" } @@ -10095,6 +11697,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10103,9 +11706,10 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -10117,10 +11721,13 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -10131,11 +11738,13 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10148,6 +11757,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -10162,15 +11772,31 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10179,15 +11805,34 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -10199,6 +11844,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10207,6 +11853,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", + "license": "MIT", "dependencies": { "is-glob": "^2.0.0" }, @@ -10218,6 +11865,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10226,6 +11874,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -10233,10 +11882,33 @@ "node": ">=0.10.0" } }, - "node_modules/is-negative-zero": { + "node_modules/is-map": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-mergeable-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz", + "integrity": "sha512-CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA==", + "license": "MIT" + }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, "engines": { "node": ">= 0.4" }, @@ -10248,17 +11920,19 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10271,6 +11945,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -10279,6 +11954,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "license": "MIT", "dependencies": { "is-path-inside": "^2.1.0" }, @@ -10290,6 +11966,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "license": "MIT", "dependencies": { "path-is-inside": "^1.0.2" }, @@ -10301,16 +11978,18 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -10320,6 +11999,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -10330,15 +12010,19 @@ "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -10351,16 +12035,30 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -10373,6 +12071,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -10381,11 +12080,13 @@ } }, "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10395,11 +12096,14 @@ } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10409,11 +12113,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -10426,6 +12131,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10437,6 +12143,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", + "license": "MIT", "dependencies": { "is-invalid-path": "^0.1.0" }, @@ -10444,12 +12151,44 @@ "node": ">=0.10.0" } }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10459,6 +12198,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -10469,17 +12209,20 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10488,6 +12231,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -10496,6 +12240,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -10511,6 +12256,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -10524,6 +12270,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -10535,9 +12282,10 @@ } }, "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -10549,6 +12297,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -10562,6 +12311,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10570,6 +12320,7 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -10578,10 +12329,26 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -10607,12 +12374,14 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/jest-chain/-/jest-chain-1.1.6.tgz", "integrity": "sha512-eIkGzVBGQ1VuEErDceMYAET53pcwYVVTXtJEbY+x60Dwi+2M2uOt4rhKAej+wfVOAlE4G0plI9mstmv6GBtJjw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-changed-files": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -10626,6 +12395,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -10656,6 +12426,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10667,6 +12438,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10679,12 +12451,14 @@ "node_modules/jest-circus/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-circus/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10693,6 +12467,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -10725,6 +12500,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -10769,6 +12545,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10780,6 +12557,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -10800,6 +12578,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10812,12 +12591,14 @@ "node_modules/jest-config/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-config/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10826,6 +12607,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -10840,6 +12622,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10851,6 +12634,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10863,12 +12647,14 @@ "node_modules/jest-diff/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-docblock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -10880,6 +12666,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -10895,6 +12682,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10906,6 +12694,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10918,12 +12707,14 @@ "node_modules/jest-each/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-environment-jsdom": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -10950,6 +12741,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -10966,6 +12758,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -10974,6 +12767,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -10998,6 +12792,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -11010,6 +12805,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11021,6 +12817,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11033,12 +12830,14 @@ "node_modules/jest-leak-detector/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-matcher-utils": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -11053,6 +12852,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11064,6 +12864,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11076,12 +12877,14 @@ "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -11101,6 +12904,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11112,6 +12916,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11124,12 +12929,14 @@ "node_modules/jest-message-util/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-message-util/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11138,6 +12945,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -11151,6 +12959,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -11167,6 +12976,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -11175,6 +12985,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -11194,6 +13005,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -11206,6 +13018,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11214,6 +13027,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -11245,6 +13059,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -11277,6 +13092,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11285,6 +13101,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -11315,6 +13132,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11326,6 +13144,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11338,12 +13157,14 @@ "node_modules/jest-snapshot/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -11355,6 +13176,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -11371,6 +13193,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -11387,6 +13210,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11398,6 +13222,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11410,12 +13235,14 @@ "node_modules/jest-validate/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-watcher": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -11434,6 +13261,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -11448,6 +13276,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11459,9 +13288,10 @@ } }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -11470,18 +13300,30 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", + "license": "MIT", "peer": true }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-toml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-toml/-/js-toml-1.0.1.tgz", + "integrity": "sha512-rHd/IolpFm2V5BmHCEY8CckHs8NDsYZZ64H5RNgA6Opsr9vX4QyTiQPplgtqg7b3ztqYShZC38nl6CUg7QuhXg==", + "license": "MIT", + "dependencies": { + "chevrotain": "^11.0.3", + "xregexp": "^5.1.1" + } }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -11494,6 +13336,7 @@ "version": "20.0.3", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "license": "MIT", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", @@ -11535,37 +13378,43 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", - "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz", + "integrity": "sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "isarray": "^2.0.5", "jsonify": "^0.0.1", "object-keys": "^1.1.1" @@ -11580,13 +13429,14 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -11598,7 +13448,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -11610,6 +13460,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "license": "Public Domain", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11618,6 +13469,7 @@ "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -11631,12 +13483,14 @@ "node_modules/jwt-decode": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", + "license": "MIT" }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -11645,14 +13499,25 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11660,20 +13525,23 @@ "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" }, "node_modules/language-tags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "license": "MIT", "dependencies": { "language-subtag-registry": "~0.3.2" } }, "node_modules/launch-editor": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", - "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", + "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -11683,6 +13551,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11691,6 +13560,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -11703,14 +13573,16 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "license": "MIT", "dependencies": { "immediate": "~3.0.5" } }, "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -11721,12 +13593,14 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -11735,6 +13609,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -11748,6 +13623,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "license": "Apache-2.0", "dependencies": { "lie": "3.1.1" } @@ -11764,6 +13640,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -11774,47 +13651,62 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, "node_modules/lodash.snakecase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -11826,10 +13718,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -11841,7 +13752,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -11850,6 +13761,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -11859,14 +13771,16 @@ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } }, "node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } @@ -11875,6 +13789,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mailto-link/-/mailto-link-2.0.0.tgz", "integrity": "sha512-b5FErkZ4t6mpH1IFZSw7Mm2IQHXQ2R0/5Q4xd7Rv8dVkWvE54mFG/UW7HjfFazXFjXTNsM+dSX2tTeIDrV9K9A==", + "license": "MIT", "dependencies": { "assert-ok": "~1.0.0", "cast-array": "~1.0.1", @@ -11889,6 +13804,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -11901,6 +13817,7 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -11908,12 +13825,14 @@ "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -11922,19 +13841,31 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz", "integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==", + "license": "MIT", "dependencies": { "css-mediaquery": "^0.1.2" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11943,6 +13874,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -11954,6 +13886,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -11961,12 +13894,14 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -11975,6 +13910,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11983,6 +13919,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -11995,6 +13932,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -12006,6 +13944,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12014,6 +13953,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -12025,6 +13965,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -12033,6 +13974,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12045,6 +13987,7 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -12053,6 +13996,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", @@ -12073,6 +14017,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -12089,13 +14034,14 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -12107,19 +14053,31 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" }, "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -12127,12 +14085,14 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -12144,18 +14104,20 @@ "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "license": "ISC" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.9.tgz", + "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -12164,24 +14126,28 @@ } }, "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12189,22 +14155,24 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "node_modules/node-abi": { - "version": "3.68.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.68.0.tgz", - "integrity": "sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A==", + "version": "3.74.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz", + "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==", + "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -12213,9 +14181,10 @@ } }, "node_modules/node-abi/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -12226,12 +14195,14 @@ "node_modules/node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -12239,18 +14210,20 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12259,6 +14232,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12267,6 +14241,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -12278,6 +14253,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -12286,14 +14262,16 @@ } }, "node_modules/nwsapi": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" + "version": "2.2.18", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.18.tgz", + "integrity": "sha512-p1TRH/edngVEHVbwqWnxUViEmq5znDvyB+Sik5cmuLpGOIfDf/39zLiq3swPF8Vakqn+gvNiOQAZu8djYlQILA==", + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12301,17 +14279,36 @@ "node_modules/object-code": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/object-code/-/object-code-1.3.3.tgz", - "integrity": "sha512-/Ds4Xd5xzrtUOJ+xJQ57iAy0BZsZltOHssnDgcZ8DOhgh41q1YJCnTPnWdWSLkNGNnxYzhYChjc5dgC9mEERCA==" + "integrity": "sha512-/Ds4Xd5xzrtUOJ+xJQ57iAy0BZsZltOHssnDgcZ8DOhgh41q1YJCnTPnWdWSLkNGNnxYzhYChjc5dgC9mEERCA==", + "license": "MIT" }, "node_modules/object-filter": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz", - "integrity": "sha512-NahvP2vZcy1ZiiYah30CEPw0FpDcSkSePJBMpzl5EQgCmISijiGuJm3SPYp7U+Lf2TljyaIw3E5EgkEx/TNEVA==" + "integrity": "sha512-NahvP2vZcy1ZiiYah30CEPw0FpDcSkSePJBMpzl5EQgCmISijiGuJm3SPYp7U+Lf2TljyaIw3E5EgkEx/TNEVA==", + "license": "MIT" }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, "engines": { "node": ">= 0.4" }, @@ -12323,18 +14320,22 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -12348,6 +14349,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12361,6 +14363,7 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12378,6 +14381,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "es-abstract": "^1.23.2", @@ -12391,11 +14395,13 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -12409,12 +14415,14 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -12426,6 +14434,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12434,6 +14443,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -12442,6 +14452,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -12456,6 +14467,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -12472,6 +14484,7 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } @@ -12480,6 +14493,7 @@ "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -12496,6 +14510,7 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "license": "MIT", "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -12518,14 +14533,33 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -12540,6 +14574,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -12551,6 +14586,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -12565,6 +14601,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "license": "MIT", "engines": { "node": ">=6" } @@ -12573,6 +14610,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -12585,15 +14623,22 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -12603,6 +14648,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -12614,6 +14660,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -12631,6 +14678,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -12642,6 +14690,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12650,16 +14699,85 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, + "node_modules/patch-package": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "license": "MIT", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12668,7 +14786,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12676,12 +14794,14 @@ "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12690,21 +14810,66 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/path-unified": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/path-unified/-/path-unified-0.2.0.tgz", + "integrity": "sha512-MNKqvrKbbbb5p7XHXV6ZAsf/1f/yJQa13S/fcX0uua8ew58Tgc6jXV+16JyAbnR/clgCH+euKDxrF2STxMHdrg==", + "license": "MIT" + }, + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -12715,7 +14880,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -12727,6 +14892,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", "engines": { "node": ">=6" } @@ -12735,6 +14901,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12743,6 +14910,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -12754,6 +14922,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -12762,6 +14931,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", "dependencies": { "find-up": "^6.3.0" }, @@ -12776,6 +14946,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" @@ -12791,6 +14962,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", "dependencies": { "p-locate": "^6.0.0" }, @@ -12805,6 +14977,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -12819,6 +14992,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", "dependencies": { "p-limit": "^4.0.0" }, @@ -12833,14 +15007,16 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.0.tgz", + "integrity": "sha512-KHBC7z61OJeaMGnF3wqNZj+GGNXOyypZviiKpQeiHirG5Ib1ImwcLBH70rbMSkKfSmUNBsdf2PwaEJtKvgmkNw==", + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -12852,6 +15028,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -12863,6 +15040,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -12874,6 +15052,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -12886,6 +15065,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -12900,6 +15080,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -12911,6 +15092,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -12920,6 +15102,7 @@ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "license": "MIT", "peer": true, "funding": { "type": "opencollective", @@ -12927,9 +15110,10 @@ } }, "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -12966,6 +15150,7 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0" @@ -12977,10 +15162,29 @@ "postcss": "^8.2.2" } }, + "node_modules/postcss-calc-ast-parser": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/postcss-calc-ast-parser/-/postcss-calc-ast-parser-0.1.4.tgz", + "integrity": "sha512-CebpbHc96zgFjGgdQ6BqBy6XIUgRx1xXWCAAk6oke02RZ5nxwo9KQejTg8y7uYEeI9kv8jKQPYjoe6REsY23vw==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^3.3.1" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/postcss-calc-ast-parser/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "license": "MIT" + }, "node_modules/postcss-colormin": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", @@ -12994,10 +15198,26 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-combine-duplicated-selectors": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/postcss-combine-duplicated-selectors/-/postcss-combine-duplicated-selectors-10.0.3.tgz", + "integrity": "sha512-IP0BmwFloCskv7DV7xqvzDXqMHpwdczJa6ZvIW8abgHdcIHs9mCJX2ltFhu3EwA51ozp13DByng30+Ke+eIExA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/postcss-convert-values": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" @@ -13023,6 +15243,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "@csstools/cascade-layer-name-parser": "^1.0.13", "@csstools/css-parser-algorithms": "^2.7.1", @@ -13040,6 +15261,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13051,6 +15273,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13062,6 +15285,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13073,6 +15297,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13080,10 +15305,28 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, "node_modules/postcss-loader": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "license": "MIT", "dependencies": { "cosmiconfig": "^8.3.5", "jiti": "^1.20.0", @@ -13102,9 +15345,10 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -13112,10 +15356,57 @@ "node": ">=10" } }, + "node_modules/postcss-map": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/postcss-map/-/postcss-map-0.11.0.tgz", + "integrity": "sha512-cgHYZrH9aAMds90upYUPhYz8xnAcRD45SwuNns/nQHONIrPQDhpwk3JLsAQGOndQxnRVXfB6nB+3WqSMy8fqlA==", + "license": "Unlicense", + "dependencies": { + "js-yaml": "^3.12.0", + "postcss": "^7.0.2", + "reduce-function-call": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-map/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" + }, + "node_modules/postcss-map/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-merge-longhand": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^6.1.1" @@ -13131,6 +15422,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", @@ -13144,10 +15436,24 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-minify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify/-/postcss-minify-1.1.0.tgz", + "integrity": "sha512-9D64ueIW0DL2FdLajQTlXrnTN8Ox9NjuXqigKMmB819RhdClNPYx5Zp3i5x0ghjjy3vGrLBBYEYvJjY/1eMNbw==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0", + "postcss-value-parser": "^4.1" + }, + "peerDependencies": { + "postcss": "^8.0" + } + }, "node_modules/postcss-minify-font-values": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13162,6 +15468,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", "dependencies": { "colord": "^2.9.3", "cssnano-utils": "^4.0.2", @@ -13178,6 +15485,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "cssnano-utils": "^4.0.2", @@ -13194,6 +15502,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -13208,6 +15517,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -13216,12 +15526,13 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -13231,12 +15542,26 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -13245,10 +15570,24 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -13263,6 +15602,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13274,6 +15614,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13288,6 +15629,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13302,6 +15644,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13316,6 +15659,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13330,6 +15674,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13344,6 +15689,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" @@ -13359,6 +15705,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13373,6 +15720,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13387,6 +15735,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "license": "MIT", "dependencies": { "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" @@ -13402,6 +15751,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0" @@ -13417,6 +15767,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13431,6 +15782,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-rtlcss/-/postcss-rtlcss-5.1.2.tgz", "integrity": "sha512-cmcgRoO1wL7IJyVHw0RneWI/5Oe75NLC2NLlQLsNI7hcui+yRcW4RrILfQa4FqKQRLTU4r5eF0YPi1qZpMzQpA==", + "license": "Apache-2.0", "dependencies": { "rtlcss": "4.1.1" }, @@ -13445,6 +15797,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -13457,6 +15810,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^3.2.0" @@ -13472,6 +15826,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -13486,19 +15841,20 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "license": "MIT" }, "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", @@ -13514,9 +15870,10 @@ } }, "node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -13528,6 +15885,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -13543,14 +15901,31 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -13561,6 +15936,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -13575,6 +15951,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -13582,15 +15959,26 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -13603,6 +15991,7 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -13613,6 +16002,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "license": "MIT", "dependencies": { "react-is": "^16.3.2", "warning": "^4.0.0" @@ -13624,17 +16014,20 @@ "node_modules/prop-types-extra/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -13646,12 +16039,20 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } }, "node_modules/pubsub-js": { "version": "1.9.5", @@ -13663,6 +16064,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -13672,6 +16074,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -13689,12 +16092,14 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/purgecss": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-5.0.0.tgz", "integrity": "sha512-RAnuxrGuVyLLTr8uMbKaxDRGWMgK5CCYDfRyUNNcaz5P3kGgD2b7ymQGYEyo2ST7Tl/ScwFgf5l3slKMxHSbrw==", + "license": "MIT", "dependencies": { "commander": "^9.0.0", "glob": "^8.0.3", @@ -13709,6 +16114,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -13717,6 +16123,7 @@ "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", "engines": { "node": "^12.20.0 || >=14" } @@ -13726,6 +16133,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13744,6 +16152,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -13755,6 +16164,7 @@ "version": "6.13.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" }, @@ -13769,6 +16179,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.0.1.tgz", "integrity": "sha512-uIw3iRvHnk9to1blJCG3BTc+Ro56CBowJXKmNNAm3RulvPBzWLRqKSiiDk+IplJhsydwtuNMHi8UGQFcCLVfkA==", + "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.0", "filter-obj": "^1.1.0", @@ -13785,7 +16196,8 @@ "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -13804,17 +16216,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -13823,6 +16232,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13831,6 +16241,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -13845,6 +16256,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -13859,6 +16271,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13867,6 +16280,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -13879,6 +16293,7 @@ "version": "1.6.8", "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.6.8.tgz", "integrity": "sha512-yD6uN78XlFOkETQp6GRuVe0s5509x3XYx8PfPbirwFTYCj5/RfmSs9YZGCwkUrhZNFzj7tZPdpb+3k50mK1E4g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.14.0", "@restart/context": "^2.1.4", @@ -13904,20 +16319,22 @@ } }, "node_modules/react-clientside-effect": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", - "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.7.tgz", + "integrity": "sha512-gce9m0Pk/xYYMEojRI9bgvqQAkl6hm7ozQvqWPyQx+kULiatdHgkNM1QG4DQRx5N9BAzWSCJmt9mMV8/KsdgVg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.13" }, "peerDependencies": { - "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "node_modules/react-colorful": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "license": "MIT", "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" @@ -13927,6 +16344,7 @@ "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -13961,6 +16379,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -13976,6 +16395,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", "engines": { "node": ">= 12.13.0" } @@ -13984,6 +16404,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -13998,6 +16419,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -14012,6 +16434,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -14022,12 +16445,13 @@ } }, "node_modules/react-dropzone": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", - "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "version": "14.3.8", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.8.tgz", + "integrity": "sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug==", + "license": "MIT", "dependencies": { - "attr-accept": "^2.2.2", - "file-selector": "^0.6.0", + "attr-accept": "^2.2.4", + "file-selector": "^2.1.0", "prop-types": "^15.8.1" }, "engines": { @@ -14037,10 +16461,23 @@ "react": ">= 16.8 || 18.0.0" } }, + "node_modules/react-dropzone/node_modules/file-selector": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", + "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", + "license": "MIT", + "dependencies": { + "tslib": "^2.7.0" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/react-error-boundary": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.13.tgz", - "integrity": "sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.1.2.tgz", + "integrity": "sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.12.5" @@ -14050,30 +16487,33 @@ } }, "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" }, "node_modules/react-fast-compare": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" }, "node_modules/react-focus-lock": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.13.2.tgz", - "integrity": "sha512-T/7bsofxYqnod2xadvuwjGKHOoL5GH7/EIPI5UyEvaU/c2CcphvGI371opFtuY/SYdbMsNiuF4HsHQ50nA/TKQ==", + "version": "2.13.6", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.13.6.tgz", + "integrity": "sha512-ehylFFWyYtBKXjAO9+3v8d0i+cnc1trGS0vlTGhzFW1vbFXVUTmR8s2tt/ZQG8x5hElg6rhENlLG1H3EZK0Llg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.0.0", - "focus-lock": "^1.3.5", + "focus-lock": "^1.3.6", "prop-types": "^15.6.2", - "react-clientside-effect": "^1.2.6", - "use-callback-ref": "^1.3.2", - "use-sidecar": "^1.1.2" + "react-clientside-effect": "^1.2.7", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -14085,6 +16525,7 @@ "version": "3.9.4", "resolved": "https://registry.npmjs.org/react-focus-on/-/react-focus-on-3.9.4.tgz", "integrity": "sha512-NFKmeH6++wu8e7LJcbwV8TTd4L5w/U5LMXTMOdUcXhCcZ7F5VOvgeTHd4XN1PD7TNmdvldDu/ENROOykUQ4yQg==", + "license": "MIT", "dependencies": { "aria-hidden": "^1.2.2", "react-focus-lock": "^2.11.3", @@ -14110,6 +16551,7 @@ "version": "7.6.1", "resolved": "https://registry.npmjs.org/react-imask/-/react-imask-7.6.1.tgz", "integrity": "sha512-vLNfzcCz62Yzx/GRGh5tiCph9Gbh2cZu+Tz8OiO5it2eNuuhpA0DWhhSlOtVtSJ80+Bx+vFK5De8eQ9AmbkXzA==", + "license": "MIT", "dependencies": { "imask": "^7.6.1", "prop-types": "^15.8.1" @@ -14192,17 +16634,20 @@ "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" }, "node_modules/react-loading-skeleton": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.5.0.tgz", "integrity": "sha512-gxxSyLbrEAdXTKgfbpBEFZCO/P153DnqSCQau2+o6lNy1jgMRr2MmRmOzMmyrwSaSYLRB8g7b0waYPmUjz7IhQ==", + "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } @@ -14211,6 +16656,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-5.2.1.tgz", "integrity": "sha512-GLLSOLWr21CqtJn8geSwQfoJufdt3mfdsnIiQswouuQ2MMPns+ihZklxvsTDKD3cR2tF8ELbi5xUsvqVhR6WvA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.8", "@popperjs/core": "^2.11.6", @@ -14230,6 +16676,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz", "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==", + "license": "MIT", "dependencies": { "react-fast-compare": "^3.0.1", "warning": "^4.0.2" @@ -14243,12 +16690,14 @@ "node_modules/react-proptype-conditional-require": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/react-proptype-conditional-require/-/react-proptype-conditional-require-1.0.4.tgz", - "integrity": "sha512-nopsRn7KnGgazBe2c3H2+Kf+Csp6PGDRLiBkYEDMKY8o/EIgft/WnIm/OnAKTawZiLnJXHAqhpFBddvs6NiXlw==" + "integrity": "sha512-nopsRn7KnGgazBe2c3H2+Kf+Csp6PGDRLiBkYEDMKY8o/EIgft/WnIm/OnAKTawZiLnJXHAqhpFBddvs6NiXlw==", + "license": "MIT" }, "node_modules/react-redux": { "version": "7.2.9", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.15.4", "@types/react-redux": "^7.1.20", @@ -14273,27 +16722,29 @@ "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-remove-scroll": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz", - "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", + "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.6", - "react-style-singleton": "^2.2.1", + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -14302,19 +16753,20 @@ } }, "node_modules/react-remove-scroll-bar": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", - "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", "dependencies": { - "react-style-singleton": "^2.2.1", + "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -14326,6 +16778,7 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-8.2.0.tgz", "integrity": "sha512-iagCqVrw4QSjhxKp3I/YK6+ODkWY6G+YPElvdYKiUUbywwh9Ds0M7r26Fj2/7dWFFbOpcGnJE6uE7aMck8j5Qg==", + "license": "MIT", "dependencies": { "hyphenate-style-name": "^1.0.0", "matchmediaquery": "^0.3.0", @@ -14376,6 +16829,7 @@ "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.1.1", "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" @@ -14385,20 +16839,20 @@ } }, "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", "dependencies": { "get-nonce": "^1.0.0", - "invariant": "^2.2.4", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -14410,6 +16864,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz", "integrity": "sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -14423,6 +16878,7 @@ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.1.1", "react-is": "^17.0.2", @@ -14437,6 +16893,7 @@ "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -14448,10 +16905,29 @@ "react-dom": ">=16.6.0" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14465,7 +16941,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -14477,6 +16953,7 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -14488,6 +16965,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -14500,6 +16978,7 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -14508,10 +16987,20 @@ "node": ">=8" } }, + "node_modules/reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" } @@ -14521,19 +17010,44 @@ "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.3.0.tgz", "integrity": "sha512-J9RvCeAZXSTAibFY0kGw6Iy4EdyDNW7k6Q+liwX+bsck7QVsU78zz8vpBRweEfANxnnlG/xGGeOvf6r8UXzNJQ==", "dev": true, + "license": "MIT", "dependencies": { "@redux-saga/core": "^1.3.0" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -14544,30 +17058,36 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regex-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", + "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -14577,14 +17097,15 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -14592,29 +17113,41 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -14623,6 +17156,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -14635,6 +17169,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14643,6 +17178,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14650,20 +17186,25 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14672,6 +17213,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -14683,6 +17225,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -14690,12 +17233,14 @@ "node_modules/resolve-pathname": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" }, "node_modules/resolve-url-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "license": "MIT", "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", @@ -14710,20 +17255,23 @@ "node_modules/resolve-url-loader/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/resolve-url-loader/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "license": "MIT", "engines": { "node": ">=10" } @@ -14732,6 +17280,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -14744,14 +17293,16 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -14762,6 +17313,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -14773,6 +17325,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0", @@ -14790,6 +17343,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -14812,26 +17366,30 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -14858,16 +17416,34 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -14879,12 +17455,14 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sass": { "version": "1.69.7", "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.7.tgz", "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", + "license": "MIT", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -14901,6 +17479,7 @@ "version": "13.3.3", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz", "integrity": "sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==", + "license": "MIT", "dependencies": { "neo-async": "^2.6.2" }, @@ -14937,6 +17516,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -14948,15 +17528,17 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -14964,7 +17546,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -14975,6 +17557,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -14990,6 +17573,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -15000,17 +17584,20 @@ "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -15023,6 +17610,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -15031,6 +17619,7 @@ "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -15054,6 +17643,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -15061,12 +17651,14 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15075,6 +17667,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -15083,6 +17676,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -15100,6 +17694,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -15108,6 +17703,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15116,6 +17712,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -15129,22 +17726,26 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15153,6 +17754,7 @@ "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", @@ -15167,6 +17769,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -15183,6 +17786,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -15193,15 +17797,31 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -15212,13 +17832,15 @@ "node_modules/shallow-equal": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", + "license": "MIT" }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.2", @@ -15237,9 +17859,10 @@ } }, "node_modules/sharp/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -15251,6 +17874,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -15262,27 +17886,87 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -15294,7 +17978,8 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/simple-concat": { "version": "1.0.1", @@ -15313,7 +17998,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/simple-get": { "version": "4.0.1", @@ -15333,6 +18019,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", @@ -15343,6 +18030,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.3.1" } @@ -15350,12 +18038,14 @@ "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" }, "node_modules/sirv": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -15368,21 +18058,40 @@ "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "dev": true, + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -15392,6 +18101,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -15402,6 +18112,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -15409,12 +18120,14 @@ "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -15423,6 +18136,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15431,6 +18145,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.2.tgz", "integrity": "sha512-oYwAqCuL0OZhBoSgmdrLa7mv9MjommVMiQIWgcztf+eS4+8BfcUee6nenFnDhKOhzAVnk5gpZdfnz1iiBv+5sg==", + "license": "MIT", "dependencies": { "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" @@ -15450,6 +18165,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -15461,6 +18177,7 @@ "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -15470,6 +18187,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15478,6 +18196,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -15493,6 +18212,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -15506,6 +18226,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15514,12 +18235,13 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "license": "BSD-3-Clause" }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -15531,6 +18253,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15538,23 +18261,34 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/stream": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.3.tgz", + "integrity": "sha512-aMsbn7VKrl4A2T7QAQQbzgN7NVc70vgF5INQrBXqn4dCXN1zy3L9HGgLO5s7PExmdrzTJ8uR/27aviW8or8/+A==", + "license": "MIT", + "dependencies": { + "component-emitter": "^2.0.0" + } + }, "node_modules/streamx": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz", - "integrity": "sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", + "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "license": "MIT", "dependencies": { "fast-fifo": "^1.3.2", - "queue-tick": "^1.0.1", "text-decoder": "^1.1.0" }, "optionalDependencies": { @@ -15565,6 +18299,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15573,6 +18308,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -15581,6 +18317,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -15593,6 +18330,22 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -15602,28 +18355,37 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -15633,14 +18395,18 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -15650,14 +18416,19 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15666,6 +18437,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -15682,6 +18454,20 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -15693,6 +18479,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15701,6 +18488,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15710,6 +18498,7 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -15721,6 +18510,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -15728,10 +18518,60 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/style-dictionary": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-4.3.3.tgz", + "integrity": "sha512-93ISASYmvGdKOvNHFaOZ+mVsCNQdoZzhSEq7JINE0BjMoE8zUzkwFyGDUBnfmXayHq/F4B4MCWmtjqjgHAYthw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@bundled-es-modules/deepmerge": "^4.3.1", + "@bundled-es-modules/glob": "^10.4.2", + "@bundled-es-modules/memfs": "^4.9.4", + "@zip.js/zip.js": "^2.7.44", + "chalk": "^5.3.0", + "change-case": "^5.3.0", + "commander": "^12.1.0", + "is-plain-obj": "^4.1.0", + "json5": "^2.2.2", + "patch-package": "^8.0.0", + "path-unified": "^0.2.0", + "prettier": "^3.3.3", + "tinycolor2": "^1.6.0" + }, + "bin": { + "style-dictionary": "bin/style-dictionary.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/style-dictionary/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/style-dictionary/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/style-loader": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", "engines": { "node": ">= 12.13.0" }, @@ -15747,6 +18587,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-selector-parser": "^6.0.16" @@ -15759,83 +18600,51 @@ } }, "node_modules/superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.1.tgz", + "integrity": "sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==", + "license": "MIT", "dependencies": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" }, "engines": { - "node": ">= 4.0" + "node": ">=14.18.0" } }, - "node_modules/superagent/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "node_modules/superagent/node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/superagent/node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "license": "MIT", + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 0.12" - } - }, - "node_modules/superagent/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/superagent/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/superagent/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/superagent/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">=4.0.0" } }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -15847,7 +18656,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -15858,12 +18667,14 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -15888,6 +18699,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -15896,6 +18708,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -15911,6 +18724,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -15924,6 +18738,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" }, @@ -15935,9 +18750,10 @@ } }, "node_modules/svgo/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -15950,38 +18766,43 @@ "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" }, "node_modules/tabbable": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.3.3.tgz", - "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==" + "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==", + "license": "MIT" }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tar-fs": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", - "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz", + "integrity": "sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==", + "license": "MIT", "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { - "bare-fs": "^2.1.1", - "bare-path": "^2.1.0" + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" } }, "node_modules/tar-stream": { "version": "3.1.7", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -15989,9 +18810,10 @@ } }, "node_modules/terser": { - "version": "5.34.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.0.tgz", - "integrity": "sha512-y5NUX+U9HhVsK/zihZwoq4r9dICLyV2jXGOriDAVOeKhq3LKVjgJbGO90FisozXLlJfvjHqgckGmJFBb9KYoWQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -16006,15 +18828,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -16042,6 +18865,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16051,27 +18875,11 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16085,12 +18893,14 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -16099,6 +18909,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -16108,6 +18919,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -16118,9 +18930,10 @@ } }, "node_modules/text-decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.0.tgz", - "integrity": "sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", "dependencies": { "b4a": "^1.6.4" } @@ -16128,32 +18941,56 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "license": "MIT" }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -16164,21 +19001,14 @@ "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -16190,6 +19020,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -16198,6 +19029,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -16206,6 +19038,7 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -16220,6 +19053,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -16228,6 +19062,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -16235,10 +19070,27 @@ "node": ">=12" } }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "license": "MIT", "engines": { "node": ">=16" }, @@ -16250,6 +19102,7 @@ "version": "29.1.4", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.4.tgz", "integrity": "sha512-YiHwDhSvCiItoAgsKtoLFCuakDzDsJ1DLDnSouTaTmdOcOwIkSzbLXduaQ6M5DRVhuZC/NYaaZ/mtHbWMv/S6Q==", + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -16293,9 +19146,10 @@ } }, "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -16307,6 +19161,7 @@ "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -16318,6 +19173,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -16329,19 +19185,22 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -16355,12 +19214,14 @@ "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -16372,6 +19233,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -16383,6 +19245,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -16391,6 +19254,7 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -16402,6 +19266,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -16411,28 +19276,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -16442,16 +19309,18 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -16461,16 +19330,17 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -16483,6 +19353,7 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -16496,6 +19367,7 @@ "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==", "dev": true, + "license": "MIT", "dependencies": { "typescript-logic": "^0.0.0" } @@ -16504,26 +19376,32 @@ "version": "0.0.0", "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz", "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/typescript-tuple": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz", "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==", "dev": true, + "license": "MIT", "dependencies": { "typescript-compare": "^0.0.2" } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -16533,6 +19411,7 @@ "version": "7.2.1", "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.6.3", "@types/react": ">=16.9.11", @@ -16544,14 +19423,16 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -16560,6 +19441,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/unicode-emoji-utils/-/unicode-emoji-utils-1.2.0.tgz", "integrity": "sha512-djUB91p/6oYpgps4W5K/MAvM+UspoAANHSUW495BrxeLRoned3iNPEDQgrKx9LbLq93VhNz0NWvI61vcfrwYoA==", + "license": "MIT", "dependencies": { "emoji-regex": "10.3.0" } @@ -16567,12 +19449,14 @@ "node_modules/unicode-emoji-utils/node_modules/emoji-regex": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "license": "MIT" }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -16585,6 +19469,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -16593,6 +19478,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -16601,6 +19487,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz", "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==", + "license": "MIT", "dependencies": { "@types/cookie": "^0.3.3", "cookie": "^0.4.0" @@ -16610,6 +19497,7 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -16618,6 +19506,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -16626,14 +19515,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "funding": [ { "type": "opencollective", @@ -16648,9 +19538,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -16663,14 +19554,29 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "mime-types": "^2.1.27", @@ -16697,6 +19603,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -16714,15 +19621,23 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, "node_modules/use-callback-ref": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", - "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -16730,8 +19645,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -16740,9 +19655,10 @@ } }, "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" @@ -16751,8 +19667,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -16760,21 +19676,45 @@ } } }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -16787,6 +19727,7 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -16795,6 +19736,7 @@ "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -16807,12 +19749,14 @@ "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -16821,6 +19765,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -16832,6 +19777,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } @@ -16840,6 +19786,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } @@ -16848,6 +19795,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -16860,6 +19808,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -16868,6 +19817,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", "dependencies": { "defaults": "^1.0.3" } @@ -16876,22 +19826,24 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", - "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "version": "5.98.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", + "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", @@ -16903,9 +19855,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", + "schema-utils": "^4.3.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", + "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, @@ -16929,6 +19881,7 @@ "version": "4.10.2", "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -16954,6 +19907,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -16962,6 +19916,7 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -16982,6 +19937,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -17026,6 +19982,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", "engines": { "node": ">=14" } @@ -17034,6 +19991,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -17056,6 +20014,7 @@ "version": "4.15.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -17114,6 +20073,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -17123,6 +20083,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -17137,6 +20098,7 @@ "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -17150,6 +20112,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/webpack-remove-empty-scripts/-/webpack-remove-empty-scripts-1.0.4.tgz", "integrity": "sha512-W/Vd94oNXMsQam+W9G+aAzGgFlX1aItcJpkG3byuHGDaxyK3H17oD/b5RcqS/ZHzStIKepksdLDznejDhDUs+Q==", + "license": "ISC", "dependencies": { "ansis": "1.5.2" }, @@ -17168,6 +20131,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -17177,31 +20141,16 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/webpack/node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -17210,6 +20159,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -17223,6 +20173,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -17231,6 +20182,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -17242,6 +20194,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -17253,6 +20206,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "license": "MIT", "engines": { "node": ">=12" } @@ -17261,6 +20215,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "license": "MIT", "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -17273,6 +20228,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -17284,29 +20240,81 @@ } }, "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -17319,12 +20327,14 @@ "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "license": "MIT" }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -17333,6 +20343,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -17342,15 +20353,35 @@ "node": ">=8" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -17360,9 +20391,10 @@ } }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -17383,6 +20415,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "license": "Apache-2.0", "engines": { "node": ">=12" } @@ -17390,12 +20423,23 @@ "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "node_modules/xregexp": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.2.tgz", + "integrity": "sha512-6hGgEMCGhqCTFEJbqmWrNIPqfpdirdGWkqshu7fFZddmTSfgv5Sn9D2SaKloR79s5VUiUlpwzg3CM3G6D3VIlw==", + "license": "MIT", + "dependencies": { + "@babel/runtime-corejs3": "^7.26.9" + } }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -17403,20 +20447,26 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -17434,6 +20484,7 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", "engines": { "node": ">=12" } @@ -17442,6 +20493,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index fbc78d5e7..8aa93aa0f 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@edx/frontend-platform": "8.3.1", "@edx/reactifex": "^2.1.1", "@openedx/frontend-build": "14.2.2", - "@openedx/paragon": "22.16.0", + "@openedx/paragon": "23.3.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "10.4.9", @@ -70,7 +70,7 @@ }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": "^22.0.0", + "@openedx/paragon": ">= 21.5.7 < 24.0.0", "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", diff --git a/src/studio-header/StudioHeader.scss b/src/studio-header/StudioHeader.scss index a7307c9a8..ff056dbed 100644 --- a/src/studio-header/StudioHeader.scss +++ b/src/studio-header/StudioHeader.scss @@ -43,4 +43,4 @@ line-height: 1.375rem; } } -} \ No newline at end of file +} diff --git a/webpack.dev.config.js b/webpack.dev.config.js index ef8e599c7..6869e0c37 100644 --- a/webpack.dev.config.js +++ b/webpack.dev.config.js @@ -2,7 +2,9 @@ const path = require('path'); const { createConfig } = require('@openedx/frontend-build'); module.exports = createConfig('webpack-dev', { - entry: path.resolve(__dirname, 'example'), + entry: { + app: path.resolve(__dirname, 'example'), + }, output: { path: path.resolve(__dirname, 'example/dist'), publicPath: '/', From c6e7e8792868e0fda21e95b6475866ea52017cea Mon Sep 17 00:00:00 2001 From: Diana Catalina Olarte Date: Mon, 17 Jun 2024 17:42:03 +1000 Subject: [PATCH 07/15] fix: update padding in couse title for learning header --- src/index.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.scss b/src/index.scss index 44a206397..f468c8a04 100644 --- a/src/index.scss +++ b/src/index.scss @@ -33,7 +33,7 @@ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - padding-bottom: var(--pgn-spacing-spacer-base); + padding-bottom: calc(var(--pgn-spacing-spacer-base)* 0.1); } } From 24b65b6a1a3fbd1d01d4f0a6e541daae5a3c180a Mon Sep 17 00:00:00 2001 From: PKulkoRaccoonGang Date: Sat, 29 Jun 2024 23:43:08 +0300 Subject: [PATCH 08/15] refactor: added dist folder --- .gitignore | 4 +- dist/Avatar.js | 43 ++ dist/Avatar.js.map | 1 + dist/DesktopHeader.js | 241 ++++++++++ dist/DesktopHeader.js.map | 1 + dist/Header.js | 125 +++++ dist/Header.js.map | 1 + dist/Header.messages.js | 115 +++++ dist/Header.messages.js.map | 1 + dist/Header.test.jsx | 104 ++++ dist/Icons.js | 52 ++ dist/Icons.js.map | 1 + dist/Logo.js | 41 ++ dist/Logo.js.map | 1 + dist/Menu/Menu.js | 321 +++++++++++++ dist/Menu/Menu.js.map | 1 + dist/Menu/index.js | 3 + dist/Menu/index.js.map | 1 + dist/Menu/menu.scss | 45 ++ dist/MobileHeader.js | 250 ++++++++++ dist/MobileHeader.js.map | 1 + dist/__snapshots__/Header.test.jsx.snap | 445 ++++++++++++++++++ dist/generic/messages.js | 15 + dist/generic/messages.js.map | 1 + dist/i18n/index.js | 2 + dist/i18n/index.js.map | 1 + dist/index.js | 7 + dist/index.js.map | 1 + dist/index.scss | 134 ++++++ dist/learning-header/AnonymousUserMenu.js | 22 + dist/learning-header/AnonymousUserMenu.js.map | 1 + .../AuthenticatedUserDropdown.js | 46 ++ .../AuthenticatedUserDropdown.js.map | 1 + dist/learning-header/LearningHeader.js | 79 ++++ dist/learning-header/LearningHeader.js.map | 1 + dist/learning-header/messages.js | 40 ++ dist/learning-header/messages.js.map | 1 + dist/setupTest.js | 125 +++++ dist/studio-header/BrandNav.js | 21 + dist/studio-header/BrandNav.js.map | 1 + dist/studio-header/CourseLockUp.js | 45 ++ dist/studio-header/CourseLockUp.js.map | 1 + dist/studio-header/HeaderBody.js | 131 ++++++ dist/studio-header/HeaderBody.js.map | 1 + dist/studio-header/MobileHeader.js | 79 ++++ dist/studio-header/MobileHeader.js.map | 1 + dist/studio-header/MobileMenu.js | 45 ++ dist/studio-header/MobileMenu.js.map | 1 + dist/studio-header/NavDropdownMenu.js | 30 ++ dist/studio-header/NavDropdownMenu.js.map | 1 + dist/studio-header/StudioHeader.js | 72 +++ dist/studio-header/StudioHeader.js.map | 1 + dist/studio-header/StudioHeader.scss | 46 ++ dist/studio-header/UserMenu.js | 55 +++ dist/studio-header/UserMenu.js.map | 1 + dist/studio-header/index.js | 3 + dist/studio-header/index.js.map | 1 + dist/studio-header/messages.js | 60 +++ dist/studio-header/messages.js.map | 1 + dist/studio-header/utils.js | 29 ++ dist/studio-header/utils.js.map | 1 + dist/test-utils.js | 26 + dist/test-utils.js.map | 1 + 63 files changed, 2927 insertions(+), 2 deletions(-) create mode 100644 dist/Avatar.js create mode 100644 dist/Avatar.js.map create mode 100644 dist/DesktopHeader.js create mode 100644 dist/DesktopHeader.js.map create mode 100644 dist/Header.js create mode 100644 dist/Header.js.map create mode 100644 dist/Header.messages.js create mode 100644 dist/Header.messages.js.map create mode 100644 dist/Header.test.jsx create mode 100644 dist/Icons.js create mode 100644 dist/Icons.js.map create mode 100644 dist/Logo.js create mode 100644 dist/Logo.js.map create mode 100644 dist/Menu/Menu.js create mode 100644 dist/Menu/Menu.js.map create mode 100644 dist/Menu/index.js create mode 100644 dist/Menu/index.js.map create mode 100644 dist/Menu/menu.scss create mode 100644 dist/MobileHeader.js create mode 100644 dist/MobileHeader.js.map create mode 100644 dist/__snapshots__/Header.test.jsx.snap create mode 100644 dist/generic/messages.js create mode 100644 dist/generic/messages.js.map create mode 100644 dist/i18n/index.js create mode 100644 dist/i18n/index.js.map create mode 100644 dist/index.js create mode 100644 dist/index.js.map create mode 100644 dist/index.scss create mode 100644 dist/learning-header/AnonymousUserMenu.js create mode 100644 dist/learning-header/AnonymousUserMenu.js.map create mode 100644 dist/learning-header/AuthenticatedUserDropdown.js create mode 100644 dist/learning-header/AuthenticatedUserDropdown.js.map create mode 100644 dist/learning-header/LearningHeader.js create mode 100644 dist/learning-header/LearningHeader.js.map create mode 100644 dist/learning-header/messages.js create mode 100644 dist/learning-header/messages.js.map create mode 100644 dist/setupTest.js create mode 100644 dist/studio-header/BrandNav.js create mode 100644 dist/studio-header/BrandNav.js.map create mode 100644 dist/studio-header/CourseLockUp.js create mode 100644 dist/studio-header/CourseLockUp.js.map create mode 100644 dist/studio-header/HeaderBody.js create mode 100644 dist/studio-header/HeaderBody.js.map create mode 100644 dist/studio-header/MobileHeader.js create mode 100644 dist/studio-header/MobileHeader.js.map create mode 100644 dist/studio-header/MobileMenu.js create mode 100644 dist/studio-header/MobileMenu.js.map create mode 100644 dist/studio-header/NavDropdownMenu.js create mode 100644 dist/studio-header/NavDropdownMenu.js.map create mode 100644 dist/studio-header/StudioHeader.js create mode 100644 dist/studio-header/StudioHeader.js.map create mode 100644 dist/studio-header/StudioHeader.scss create mode 100644 dist/studio-header/UserMenu.js create mode 100644 dist/studio-header/UserMenu.js.map create mode 100644 dist/studio-header/index.js create mode 100644 dist/studio-header/index.js.map create mode 100644 dist/studio-header/messages.js create mode 100644 dist/studio-header/messages.js.map create mode 100644 dist/studio-header/utils.js create mode 100644 dist/studio-header/utils.js.map create mode 100644 dist/test-utils.js create mode 100644 dist/test-utils.js.map diff --git a/.gitignore b/.gitignore index 9e0934673..eab69194a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ .cache .DS_Store coverage -dist +# dist node_modules temp src/i18n/transifex_input.json @@ -9,4 +9,4 @@ module.config.js .idea/ .vscode -src/i18n/messages \ No newline at end of file +src/i18n/messages diff --git a/dist/Avatar.js b/dist/Avatar.js new file mode 100644 index 000000000..eecef4191 --- /dev/null +++ b/dist/Avatar.js @@ -0,0 +1,43 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { AvatarIcon } from './Icons'; +var Avatar = function Avatar(_ref) { + var size = _ref.size, + src = _ref.src, + alt = _ref.alt, + className = _ref.className; + var avatar = src ? /*#__PURE__*/React.createElement("img", { + className: "d-block w-100 h-100", + src: src, + alt: alt + }) : /*#__PURE__*/React.createElement(AvatarIcon, { + style: { + width: size, + height: size + }, + role: "img", + "aria-hidden": true, + focusable: "false" + }); + return /*#__PURE__*/React.createElement("span", { + style: { + height: size, + width: size + }, + className: "avatar overflow-hidden d-inline-flex rounded-circle ".concat(className) + }, avatar); +}; +Avatar.propTypes = { + src: PropTypes.string, + size: PropTypes.string, + alt: PropTypes.string, + className: PropTypes.string +}; +Avatar.defaultProps = { + src: null, + size: '2rem', + alt: null, + className: null +}; +export default Avatar; +//# sourceMappingURL=Avatar.js.map \ No newline at end of file diff --git a/dist/Avatar.js.map b/dist/Avatar.js.map new file mode 100644 index 000000000..667a29fa8 --- /dev/null +++ b/dist/Avatar.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Avatar.js","names":["React","PropTypes","AvatarIcon","Avatar","_ref","size","src","alt","className","avatar","createElement","style","width","height","role","focusable","concat","propTypes","string","defaultProps"],"sources":["../src/Avatar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { AvatarIcon } from './Icons';\n\nconst Avatar = ({\n size,\n src,\n alt,\n className,\n}) => {\n const avatar = src ? (\n {alt}\n ) : (\n \n );\n\n return (\n \n {avatar}\n \n );\n};\n\nAvatar.propTypes = {\n src: PropTypes.string,\n size: PropTypes.string,\n alt: PropTypes.string,\n className: PropTypes.string,\n};\n\nAvatar.defaultProps = {\n src: null,\n size: '2rem',\n alt: null,\n className: null,\n};\n\nexport default Avatar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,UAAU,QAAQ,SAAS;AAEpC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAKN;EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACHC,SAAS,GAAAJ,IAAA,CAATI,SAAS;EAET,IAAMC,MAAM,GAAGH,GAAG,gBAChBN,KAAA,CAAAU,aAAA;IAAKF,SAAS,EAAC,qBAAqB;IAACF,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAAC,gBAE3DP,KAAA,CAAAU,aAAA,CAACR,UAAU;IAACS,KAAK,EAAE;MAAEC,KAAK,EAAEP,IAAI;MAAEQ,MAAM,EAAER;IAAK,CAAE;IAACS,IAAI,EAAC,KAAK;IAAC,mBAAW;IAACC,SAAS,EAAC;EAAO,CAAE,CAC7F;EAED,oBACEf,KAAA,CAAAU,aAAA;IACEC,KAAK,EAAE;MAAEE,MAAM,EAAER,IAAI;MAAEO,KAAK,EAAEP;IAAK,CAAE;IACrCG,SAAS,yDAAAQ,MAAA,CAAyDR,SAAS;EAAG,GAE7EC,MACG,CAAC;AAEX,CAAC;AAEDN,MAAM,CAACc,SAAS,GAAG;EACjBX,GAAG,EAAEL,SAAS,CAACiB,MAAM;EACrBb,IAAI,EAAEJ,SAAS,CAACiB,MAAM;EACtBX,GAAG,EAAEN,SAAS,CAACiB,MAAM;EACrBV,SAAS,EAAEP,SAAS,CAACiB;AACvB,CAAC;AAEDf,MAAM,CAACgB,YAAY,GAAG;EACpBb,GAAG,EAAE,IAAI;EACTD,IAAI,EAAE,MAAM;EACZE,GAAG,EAAE,IAAI;EACTC,SAAS,EAAE;AACb,CAAC;AAED,eAAeL,MAAM","ignoreList":[]} \ No newline at end of file diff --git a/dist/DesktopHeader.js b/dist/DesktopHeader.js new file mode 100644 index 000000000..63c67160f --- /dev/null +++ b/dist/DesktopHeader.js @@ -0,0 +1,241 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +import React from 'react'; +import PropTypes from 'prop-types'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { getConfig } from '@edx/frontend-platform'; + +// Local Components +import { Menu, MenuTrigger, MenuContent } from './Menu'; +import Avatar from './Avatar'; +import { LinkedLogo, Logo } from './Logo'; + +// i18n +import messages from './Header.messages'; + +// Assets +import { CaretIcon } from './Icons'; +var DesktopHeader = /*#__PURE__*/function (_React$Component) { + function DesktopHeader(props) { + _classCallCheck(this, DesktopHeader); + // eslint-disable-line no-useless-constructor + return _callSuper(this, DesktopHeader, [props]); + } + _inherits(DesktopHeader, _React$Component); + return _createClass(DesktopHeader, [{ + key: "renderMenu", + value: function renderMenu(menu) { + // Nodes are accepted as a prop + if (!Array.isArray(menu)) { + return menu; + } + return menu.map(function (menuItem) { + var type = menuItem.type, + href = menuItem.href, + content = menuItem.content, + submenuContent = menuItem.submenuContent, + disabled = menuItem.disabled, + isActive = menuItem.isActive, + onClick = menuItem.onClick; + if (type === 'item') { + return /*#__PURE__*/React.createElement("a", { + key: "".concat(type, "-").concat(content), + className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), + href: href, + onClick: onClick || null + }, content); + } + return /*#__PURE__*/React.createElement(Menu, { + key: "".concat(type, "-").concat(content), + tag: "div", + className: "nav-item", + respondToPointerEvents: true + }, /*#__PURE__*/React.createElement(MenuTrigger, { + onClick: onClick || null, + tag: "a", + className: "nav-link d-inline-flex align-items-center", + href: href + }, content, " ", /*#__PURE__*/React.createElement(CaretIcon, { + role: "img", + "aria-hidden": true, + focusable: "false" + })), /*#__PURE__*/React.createElement(MenuContent, { + className: "pin-left pin-right shadow py-2" + }, submenuContent)); + }); + } + }, { + key: "renderMainMenu", + value: function renderMainMenu() { + var mainMenu = this.props.mainMenu; + return this.renderMenu(mainMenu); + } + }, { + key: "renderSecondaryMenu", + value: function renderSecondaryMenu() { + var secondaryMenu = this.props.secondaryMenu; + return this.renderMenu(secondaryMenu); + } + }, { + key: "renderUserMenu", + value: function renderUserMenu() { + var _this$props = this.props, + userMenu = _this$props.userMenu, + avatar = _this$props.avatar, + username = _this$props.username, + intl = _this$props.intl; + return /*#__PURE__*/React.createElement(Menu, { + transitionClassName: "menu-dropdown", + transitionTimeout: 250 + }, /*#__PURE__*/React.createElement(MenuTrigger, { + tag: "button", + "aria-label": intl.formatMessage(messages['header.label.account.menu.for'], { + username: username + }), + className: "btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3" + }, /*#__PURE__*/React.createElement(Avatar, { + size: "1.5em", + src: avatar, + alt: "", + className: "mr-2" + }), username, " ", /*#__PURE__*/React.createElement(CaretIcon, { + role: "img", + "aria-hidden": true, + focusable: "false" + })), /*#__PURE__*/React.createElement(MenuContent, { + className: "mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2" + }, userMenu.map(function (group, index) { + return ( + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key + React.createElement(React.Fragment, { + key: index + }, group.heading && /*#__PURE__*/React.createElement("div", { + className: "dropdown-header", + role: "heading", + "aria-level": "1" + }, group.heading), group.items.map(function (_ref) { + var type = _ref.type, + content = _ref.content, + href = _ref.href, + disabled = _ref.disabled, + isActive = _ref.isActive, + onClick = _ref.onClick; + return /*#__PURE__*/React.createElement("a", { + className: "dropdown-".concat(type).concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), + key: "".concat(type, "-").concat(content), + href: href, + onClick: onClick || null + }, content); + }), index < userMenu.length - 1 && /*#__PURE__*/React.createElement("div", { + className: "dropdown-divider", + role: "separator" + })) + ); + }))); + } + }, { + key: "renderLoggedOutItems", + value: function renderLoggedOutItems() { + var loggedOutItems = this.props.loggedOutItems; + return loggedOutItems.map(function (item, i, arr) { + return /*#__PURE__*/React.createElement("a", { + key: "".concat(item.type, "-").concat(item.content), + className: i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary', + href: item.href + }, item.content); + }); + } + }, { + key: "render", + value: function render() { + var _this$props2 = this.props, + logo = _this$props2.logo, + logoAltText = _this$props2.logoAltText, + logoDestination = _this$props2.logoDestination, + loggedIn = _this$props2.loggedIn, + intl = _this$props2.intl; + var logoProps = { + src: logo, + alt: logoAltText, + href: logoDestination + }; + var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null; + return /*#__PURE__*/React.createElement("header", { + className: "site-header-desktop" + }, /*#__PURE__*/React.createElement("a", { + className: "nav-skip sr-only sr-only-focusable", + href: "#main" + }, intl.formatMessage(messages['header.label.skip.nav'])), /*#__PURE__*/React.createElement("div", { + className: "container-fluid ".concat(logoClasses) + }, /*#__PURE__*/React.createElement("div", { + className: "nav-container position-relative d-flex align-items-center" + }, logoDestination === null ? /*#__PURE__*/React.createElement(Logo, { + className: "logo", + src: logo, + alt: logoAltText + }) : /*#__PURE__*/React.createElement(LinkedLogo, _extends({ + className: "logo" + }, logoProps)), /*#__PURE__*/React.createElement("nav", { + "aria-label": intl.formatMessage(messages['header.label.main.nav']), + className: "nav main-nav" + }, this.renderMainMenu()), /*#__PURE__*/React.createElement("nav", { + "aria-label": intl.formatMessage(messages['header.label.secondary.nav']), + className: "nav secondary-menu-container align-items-center ml-auto" + }, loggedIn ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderSecondaryMenu(), this.renderUserMenu()) : this.renderLoggedOutItems())))); + } + }]); +}(React.Component); +DesktopHeader.propTypes = { + mainMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), + secondaryMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), + userMenu: PropTypes.arrayOf(PropTypes.shape({ + heading: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string, + isActive: PropTypes.bool, + onClick: PropTypes.func + })) + })), + loggedOutItems: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string + })), + logo: PropTypes.string, + logoAltText: PropTypes.string, + logoDestination: PropTypes.string, + avatar: PropTypes.string, + username: PropTypes.string, + loggedIn: PropTypes.bool, + // i18n + intl: intlShape.isRequired +}; +DesktopHeader.defaultProps = { + mainMenu: [], + secondaryMenu: [], + userMenu: [], + loggedOutItems: [], + logo: null, + logoAltText: null, + logoDestination: null, + avatar: null, + username: null, + loggedIn: false +}; +export default injectIntl(DesktopHeader); +//# sourceMappingURL=DesktopHeader.js.map \ No newline at end of file diff --git a/dist/DesktopHeader.js.map b/dist/DesktopHeader.js.map new file mode 100644 index 000000000..8d728e965 --- /dev/null +++ b/dist/DesktopHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DesktopHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LinkedLogo","Logo","messages","CaretIcon","DesktopHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMenu","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","concat","className","tag","respondToPointerEvents","role","focusable","renderMainMenu","mainMenu","renderSecondaryMenu","secondaryMenu","renderUserMenu","_this$props","userMenu","avatar","username","intl","transitionClassName","transitionTimeout","formatMessage","size","src","alt","group","index","Fragment","heading","items","_ref","length","renderLoggedOutItems","loggedOutItems","item","i","arr","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","logoProps","logoClasses","AUTHN_MINIMAL_HEADER","_extends","Component","propTypes","oneOfType","node","array","arrayOf","shape","string","oneOf","bool","func","isRequired","defaultProps"],"sources":["../src/DesktopHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from './Menu';\nimport Avatar from './Avatar';\nimport { LinkedLogo, Logo } from './Logo';\n\n// i18n\nimport messages from './Header.messages';\n\n// Assets\nimport { CaretIcon } from './Icons';\n\nclass DesktopHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMenu(menu) {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content} \n \n \n {submenuContent}\n \n \n );\n });\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return this.renderMenu(mainMenu);\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return this.renderMenu(secondaryMenu);\n }\n\n renderUserMenu() {\n const {\n userMenu,\n avatar,\n username,\n intl,\n } = this.props;\n\n return (\n \n \n \n {username} \n \n \n {userMenu.map((group, index) => (\n // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key\n \n {group.heading &&
{group.heading}
}\n {group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n \n {content}\n \n ))}\n {index < userMenu.length - 1 &&
}\n \n ))}\n \n
\n );\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n\n return loggedOutItems.map((item, i, arr) => (\n \n {item.content}\n \n ));\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n intl,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;\n\n return (\n
\n {intl.formatMessage(messages['header.label.skip.nav'])}\n
\n
\n {logoDestination === null ? : }\n \n {this.renderMainMenu()}\n \n \n {loggedIn\n ? (\n <>\n {this.renderSecondaryMenu()}\n {this.renderUserMenu()}\n \n ) : this.renderLoggedOutItems()}\n \n
\n
\n
\n );\n }\n}\n\nDesktopHeader.propTypes = {\n mainMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenu: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n })),\n loggedOutItems: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n })),\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nDesktopHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n};\n\nexport default injectIntl(DesktopHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.js b/dist/Header.js new file mode 100644 index 000000000..e6ef09eab --- /dev/null +++ b/dist/Header.js @@ -0,0 +1,125 @@ +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +import React, { useContext } from 'react'; +import Responsive from 'react-responsive'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { AppContext } from '@edx/frontend-platform/react'; +import { APP_CONFIG_INITIALIZED, ensureConfig, mergeConfig, getConfig, subscribe } from '@edx/frontend-platform'; +import PropTypes from 'prop-types'; +import DesktopHeader from './DesktopHeader'; +import MobileHeader from './MobileHeader'; +import messages from './Header.messages'; +ensureConfig(['LMS_BASE_URL', 'LOGOUT_URL', 'LOGIN_URL', 'SITE_NAME', 'LOGO_URL', 'ORDER_HISTORY_URL'], 'Header component'); +subscribe(APP_CONFIG_INITIALIZED, function () { + mergeConfig({ + AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER + }, 'Header additional config'); +}); + +/** + * Header component for the application. + * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated. + * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default + * items are displayed. + * For more details on how to use this component, please refer to this document: + * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst + * + * @param {list} mainMenuItems - The list of main menu items to display. + * See the documentation for the structure of main menu item. + * @param {list} secondaryMenuItems - The list of secondary menu items to display. + * See the documentation for the structure of secondary menu item. + * @param {list} userMenuItems - The list of user menu items to display. + * See the documentation for the structure of user menu item. + */ +var Header = function Header(_ref) { + var intl = _ref.intl, + mainMenuItems = _ref.mainMenuItems, + secondaryMenuItems = _ref.secondaryMenuItems, + userMenuItems = _ref.userMenuItems; + var _useContext = useContext(AppContext), + authenticatedUser = _useContext.authenticatedUser, + config = _useContext.config; + var defaultMainMenu = [{ + type: 'item', + href: "".concat(config.LMS_BASE_URL, "/dashboard"), + content: intl.formatMessage(messages['header.links.courses']) + }]; + var defaultUserMenu = authenticatedUser === null ? [] : [{ + heading: '', + items: [{ + type: 'item', + href: "".concat(config.LMS_BASE_URL, "/dashboard"), + content: intl.formatMessage(messages['header.user.menu.dashboard']) + }, { + type: 'item', + href: "".concat(config.ACCOUNT_PROFILE_URL, "/u/").concat(authenticatedUser.username), + content: intl.formatMessage(messages['header.user.menu.profile']) + }, { + type: 'item', + href: config.ACCOUNT_SETTINGS_URL, + content: intl.formatMessage(messages['header.user.menu.account.settings']) + }].concat(_toConsumableArray(config.ORDER_HISTORY_URL ? [{ + type: 'item', + href: config.ORDER_HISTORY_URL, + content: intl.formatMessage(messages['header.user.menu.order.history']) + }] : []), [{ + type: 'item', + href: config.LOGOUT_URL, + content: intl.formatMessage(messages['header.user.menu.logout']) + }]) + }]; + var mainMenu = mainMenuItems || defaultMainMenu; + var secondaryMenu = secondaryMenuItems || []; + var userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu; + var loggedOutItems = [{ + type: 'item', + href: config.LOGIN_URL, + content: intl.formatMessage(messages['header.user.menu.login']) + }, { + type: 'item', + href: "".concat(config.LMS_BASE_URL, "/register"), + content: intl.formatMessage(messages['header.user.menu.register']) + }]; + var props = { + logo: config.LOGO_URL, + logoAltText: config.SITE_NAME, + logoDestination: "".concat(config.LMS_BASE_URL, "/dashboard"), + loggedIn: authenticatedUser !== null, + username: authenticatedUser !== null ? authenticatedUser.username : null, + avatar: authenticatedUser !== null ? authenticatedUser.avatar : null, + mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu, + secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu, + userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu, + loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems + }; + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, { + maxWidth: 769 + }, /*#__PURE__*/React.createElement(MobileHeader, props)), /*#__PURE__*/React.createElement(Responsive, { + minWidth: 769 + }, /*#__PURE__*/React.createElement(DesktopHeader, props))); +}; +Header.defaultProps = { + mainMenuItems: null, + secondaryMenuItems: null, + userMenuItems: null +}; +Header.propTypes = { + intl: intlShape.isRequired, + mainMenuItems: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), + secondaryMenuItems: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), + userMenuItems: PropTypes.arrayOf(PropTypes.shape({ + heading: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string, + isActive: PropTypes.bool + })) + })) +}; +export default injectIntl(Header); +//# sourceMappingURL=Header.js.map \ No newline at end of file diff --git a/dist/Header.js.map b/dist/Header.js.map new file mode 100644 index 000000000..849ee5ea2 --- /dev/null +++ b/dist/Header.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_CONFIG_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","PropTypes","DesktopHeader","MobileHeader","messages","AUTHN_MINIMAL_HEADER","process","env","Header","_ref","intl","mainMenuItems","secondaryMenuItems","userMenuItems","_useContext","authenticatedUser","config","defaultMainMenu","type","href","concat","LMS_BASE_URL","content","formatMessage","defaultUserMenu","heading","items","ACCOUNT_PROFILE_URL","username","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","LOGOUT_URL","mainMenu","secondaryMenu","userMenu","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","createElement","Fragment","maxWidth","minWidth","defaultProps","propTypes","isRequired","oneOfType","node","array","arrayOf","shape","string","oneOf","isActive","bool"],"sources":["../src/Header.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport Responsive from 'react-responsive';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport {\n APP_CONFIG_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\nimport PropTypes from 'prop-types';\nimport DesktopHeader from './DesktopHeader';\nimport MobileHeader from './MobileHeader';\n\nimport messages from './Header.messages';\n\nensureConfig([\n 'LMS_BASE_URL',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'SITE_NAME',\n 'LOGO_URL',\n 'ORDER_HISTORY_URL',\n], 'Header component');\n\nsubscribe(APP_CONFIG_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n }, 'Header additional config');\n});\n\n/**\n * Header component for the application.\n * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.\n * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default\n * items are displayed.\n * For more details on how to use this component, please refer to this document:\n * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst\n *\n * @param {list} mainMenuItems - The list of main menu items to display.\n * See the documentation for the structure of main menu item.\n * @param {list} secondaryMenuItems - The list of secondary menu items to display.\n * See the documentation for the structure of secondary menu item.\n * @param {list} userMenuItems - The list of user menu items to display.\n * See the documentation for the structure of user menu item.\n */\nconst Header = ({\n intl, mainMenuItems, secondaryMenuItems, userMenuItems,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const defaultMainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n const defaultUserMenu = authenticatedUser === null ? [] : [{\n heading: '',\n items: [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.user.menu.dashboard']),\n },\n {\n type: 'item',\n href: `${config.ACCOUNT_PROFILE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: config.ACCOUNT_SETTINGS_URL,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n ...(config.ORDER_HISTORY_URL ? [{\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n }] : []),\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ],\n }];\n\n const mainMenu = mainMenuItems || defaultMainMenu;\n const secondaryMenu = secondaryMenuItems || [];\n const userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;\n\n const loggedOutItems = [\n {\n type: 'item',\n href: config.LOGIN_URL,\n content: intl.formatMessage(messages['header.user.menu.login']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/register`,\n content: intl.formatMessage(messages['header.user.menu.register']),\n },\n ];\n\n const props = {\n logo: config.LOGO_URL,\n logoAltText: config.SITE_NAME,\n logoDestination: `${config.LMS_BASE_URL}/dashboard`,\n loggedIn: authenticatedUser !== null,\n username: authenticatedUser !== null ? authenticatedUser.username : null,\n avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,\n mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,\n secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,\n userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n\nHeader.defaultProps = {\n mainMenuItems: null,\n secondaryMenuItems: null,\n userMenuItems: null,\n};\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n mainMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenuItems: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n })),\n })),\n};\n\nexport default injectIntl(Header);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.messages.js b/dist/Header.messages.js new file mode 100644 index 000000000..4aac3e8fd --- /dev/null +++ b/dist/Header.messages.js @@ -0,0 +1,115 @@ +import { defineMessages } from '@edx/frontend-platform/i18n'; +var messages = defineMessages({ + 'header.links.courses': { + id: 'header.links.courses', + defaultMessage: 'Courses', + description: 'Link to the learner course dashboard' + }, + 'header.links.programs': { + id: 'header.links.programs', + defaultMessage: 'Programs', + description: 'Link to the learner program dashboard' + }, + 'header.links.content.search': { + id: 'header.links.content.search', + defaultMessage: 'Discover New', + description: 'Link to the content search page' + }, + 'header.links.schools': { + id: 'header.links.schools', + defaultMessage: 'Schools & Partners', + description: 'Link to the schools and partners landing page' + }, + 'header.user.menu.dashboard': { + id: 'header.user.menu.dashboard', + defaultMessage: 'Dashboard', + description: 'Link to the user dashboard' + }, + 'header.user.menu.profile': { + id: 'header.user.menu.profile', + defaultMessage: 'Profile', + description: 'Link to the user profile' + }, + 'header.user.menu.account.settings': { + id: 'header.user.menu.account.settings', + defaultMessage: 'Account', + description: 'Link to account settings' + }, + 'header.user.menu.order.history': { + id: 'header.user.menu.order.history', + defaultMessage: 'Order History', + description: 'Link to order history' + }, + 'header.user.menu.logout': { + id: 'header.user.menu.logout', + defaultMessage: 'Logout', + description: 'Logout link' + }, + 'header.user.menu.login': { + id: 'header.user.menu.login', + defaultMessage: 'Login', + description: 'Login link' + }, + 'header.user.menu.register': { + id: 'header.user.menu.register', + defaultMessage: 'Sign Up', + description: 'Link to registration' + }, + 'header.user.menu.studio.home': { + id: 'header.user.menu.studio.home', + defaultMessage: 'Studio Home', + description: 'Link to the Studio Home' + }, + 'header.user.menu.studio.maintenance': { + id: 'header.user.menu.studio.maintenance', + defaultMessage: 'Maintenance', + description: 'Link to the Studio Maintenance' + }, + 'header.label.account.nav': { + id: 'header.label.account.nav', + defaultMessage: 'Account', + description: 'The aria label for the account menu nav' + }, + 'header.label.account.menu': { + id: 'header.label.account.menu', + defaultMessage: 'Account Menu', + description: 'The aria label for the account menu trigger' + }, + 'header.label.account.menu.for': { + id: 'header.label.account.menu.for', + defaultMessage: 'Account menu for {username}', + description: 'The aria label for the account menu trigger when the username is displayed in it' + }, + 'header.label.main.nav': { + id: 'header.label.main.nav', + defaultMessage: 'Main', + description: 'The aria label for the main menu nav' + }, + 'header.label.main.menu': { + id: 'header.label.main.menu', + defaultMessage: 'Main Menu', + description: 'The aria label for the main menu trigger' + }, + 'header.label.main.header': { + id: 'header.label.main.header', + defaultMessage: 'Main', + description: 'The aria label for the main header' + }, + 'header.label.secondary.nav': { + id: 'header.label.secondary.nav', + defaultMessage: 'Secondary', + description: 'The aria label for the seconary nav' + }, + 'header.label.skip.nav': { + id: 'header.label.skip.nav', + defaultMessage: 'Skip to main content', + description: 'A link used by screen readers to allow users to skip to the main content of the page.' + }, + 'header.label.app.nav': { + id: 'header.label.app.nav', + defaultMessage: 'App', + description: 'The aria label for the app Nav' + } +}); +export default messages; +//# sourceMappingURL=Header.messages.js.map \ No newline at end of file diff --git a/dist/Header.messages.js.map b/dist/Header.messages.js.map new file mode 100644 index 000000000..1dd150c4c --- /dev/null +++ b/dist/Header.messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.user.menu.studio.maintenance': {\n id: 'header.user.menu.studio.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio Maintenance',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.test.jsx b/dist/Header.test.jsx new file mode 100644 index 000000000..51fef2089 --- /dev/null +++ b/dist/Header.test.jsx @@ -0,0 +1,104 @@ +/* eslint-disable react/prop-types */ +import React from 'react'; +import { IntlProvider } from '@edx/frontend-platform/i18n'; +import TestRenderer from 'react-test-renderer'; +import { AppContext } from '@edx/frontend-platform/react'; +import { Context as ResponsiveContext } from 'react-responsive'; + +import Header from './index'; + +const HeaderComponent = ({ width, contextValue }) => ( + + + +
+ + + +); + +describe('
', () => { + it('renders correctly for anonymous desktop', () => { + const contextValue = { + authenticatedUser: null, + config: { + LMS_BASE_URL: process.env.LMS_BASE_URL, + SITE_NAME: process.env.SITE_NAME, + LOGIN_URL: process.env.LOGIN_URL, + LOGOUT_URL: process.env.LOGOUT_URL, + LOGO_URL: process.env.LOGO_URL, + }, + }; + const component = ; + + const wrapper = TestRenderer.create(component); + + expect(wrapper.toJSON()).toMatchSnapshot(); + }); + + it('renders correctly for authenticated desktop', () => { + const contextValue = { + authenticatedUser: { + userId: 'abc123', + username: 'edX', + roles: [], + administrator: false, + }, + config: { + LMS_BASE_URL: process.env.LMS_BASE_URL, + SITE_NAME: process.env.SITE_NAME, + LOGIN_URL: process.env.LOGIN_URL, + LOGOUT_URL: process.env.LOGOUT_URL, + LOGO_URL: process.env.LOGO_URL, + }, + }; + const component = ; + + const wrapper = TestRenderer.create(component); + + expect(wrapper.toJSON()).toMatchSnapshot(); + }); + + it('renders correctly for anonymous mobile', () => { + const contextValue = { + authenticatedUser: null, + config: { + LMS_BASE_URL: process.env.LMS_BASE_URL, + SITE_NAME: process.env.SITE_NAME, + LOGIN_URL: process.env.LOGIN_URL, + LOGOUT_URL: process.env.LOGOUT_URL, + LOGO_URL: process.env.LOGO_URL, + }, + }; + const component = ; + + const wrapper = TestRenderer.create(component); + + expect(wrapper.toJSON()).toMatchSnapshot(); + }); + + it('renders correctly for authenticated mobile', () => { + const contextValue = { + authenticatedUser: { + userId: 'abc123', + username: 'edX', + roles: [], + administrator: false, + }, + config: { + LMS_BASE_URL: process.env.LMS_BASE_URL, + SITE_NAME: process.env.SITE_NAME, + LOGIN_URL: process.env.LOGIN_URL, + LOGOUT_URL: process.env.LOGOUT_URL, + LOGO_URL: process.env.LOGO_URL, + }, + }; + const component = ; + + const wrapper = TestRenderer.create(component); + + expect(wrapper.toJSON()).toMatchSnapshot(); + }); +}); diff --git a/dist/Icons.js b/dist/Icons.js new file mode 100644 index 000000000..1c19cb8f9 --- /dev/null +++ b/dist/Icons.js @@ -0,0 +1,52 @@ +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +import React from 'react'; +export var MenuIcon = function MenuIcon(props) { + return /*#__PURE__*/React.createElement("svg", _extends({ + width: "24px", + height: "24px", + viewBox: "0 0 24 24", + version: "1.1" + }, props), /*#__PURE__*/React.createElement("rect", { + fill: "currentColor", + x: "2", + y: "5", + width: "20", + height: "2" + }), /*#__PURE__*/React.createElement("rect", { + fill: "currentColor", + x: "2", + y: "11", + width: "20", + height: "2" + }), /*#__PURE__*/React.createElement("rect", { + fill: "currentColor", + x: "2", + y: "17", + width: "20", + height: "2" + })); +}; +export var AvatarIcon = function AvatarIcon(props) { + return /*#__PURE__*/React.createElement("svg", _extends({ + width: "24px", + height: "24px", + viewBox: "0 0 24 24", + version: "1.1" + }, props), /*#__PURE__*/React.createElement("path", { + d: "M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z", + fill: "currentColor" + })); +}; +export var CaretIcon = function CaretIcon(props) { + return /*#__PURE__*/React.createElement("svg", _extends({ + width: "16px", + height: "16px", + viewBox: "0 0 16 16", + version: "1.1" + }, props), /*#__PURE__*/React.createElement("path", { + d: "M7,4 L7,8 L11,8 L11,10 L5,10 L5,4 L7,4 Z", + fill: "currentColor", + transform: "translate(8.000000, 7.000000) rotate(-45.000000) translate(-8.000000, -7.000000) " + })); +}; +//# sourceMappingURL=Icons.js.map \ No newline at end of file diff --git a/dist/Icons.js.map b/dist/Icons.js.map new file mode 100644 index 000000000..a0c108b12 --- /dev/null +++ b/dist/Icons.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Icons.js","names":["React","MenuIcon","props","createElement","_extends","width","height","viewBox","version","fill","x","y","AvatarIcon","d","CaretIcon","transform"],"sources":["../src/Icons.jsx"],"sourcesContent":["import React from 'react';\n\nexport const MenuIcon = (props) => (\n \n \n \n \n \n);\n\nexport const AvatarIcon = (props) => (\n \n \n \n);\n\nexport const CaretIcon = (props) => (\n \n \n \n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAK;EAAA,oBAC5BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAAC,eAC9DN,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,IAAI;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAAC,eAC/DN,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,IAAI;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAC3D,CAAC;AAAA,CACP;AAED,OAAO,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAIV,KAAK;EAAA,oBAC9BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IACEU,CAAC,EAAC,6jBAA6jB;IAC/jBJ,IAAI,EAAC;EAAc,CACpB,CACE,CAAC;AAAA,CACP;AAED,OAAO,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAIZ,KAAK;EAAA,oBAC7BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IACEU,CAAC,EAAC,0CAA0C;IAC5CJ,IAAI,EAAC,cAAc;IACnBM,SAAS,EAAC;EAAmF,CAC9F,CACE,CAAC;AAAA,CACP","ignoreList":[]} \ No newline at end of file diff --git a/dist/Logo.js b/dist/Logo.js new file mode 100644 index 000000000..8b8d820ce --- /dev/null +++ b/dist/Logo.js @@ -0,0 +1,41 @@ +var _excluded = ["src", "alt"], + _excluded2 = ["href", "src", "alt"]; +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +import React from 'react'; +import PropTypes from 'prop-types'; +var Logo = function Logo(_ref) { + var src = _ref.src, + alt = _ref.alt, + attributes = _objectWithoutProperties(_ref, _excluded); + return /*#__PURE__*/React.createElement("img", _extends({ + src: src, + alt: alt + }, attributes)); +}; +Logo.propTypes = { + src: PropTypes.string.isRequired, + alt: PropTypes.string.isRequired +}; +var LinkedLogo = function LinkedLogo(_ref2) { + var href = _ref2.href, + src = _ref2.src, + alt = _ref2.alt, + attributes = _objectWithoutProperties(_ref2, _excluded2); + return /*#__PURE__*/React.createElement("a", _extends({ + href: href + }, attributes), /*#__PURE__*/React.createElement("img", { + className: "d-block", + src: src, + alt: alt + })); +}; +LinkedLogo.propTypes = { + href: PropTypes.string.isRequired, + src: PropTypes.string.isRequired, + alt: PropTypes.string.isRequired +}; +export { LinkedLogo, Logo }; +export default Logo; +//# sourceMappingURL=Logo.js.map \ No newline at end of file diff --git a/dist/Logo.js.map b/dist/Logo.js.map new file mode 100644 index 000000000..8ab0a7fc2 --- /dev/null +++ b/dist/Logo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Logo.js","names":["React","PropTypes","Logo","_ref","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","propTypes","string","isRequired","LinkedLogo","_ref2","href","_excluded2","className"],"sources":["../src/Logo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Logo = ({ src, alt, ...attributes }) => (\n {alt}\n);\n\nLogo.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n \n {alt}\n \n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nexport { LinkedLogo, Logo };\nexport default Logo;\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA;EAAA,IAAMC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAKC,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBACrCR,KAAA,CAAAS,aAAA,QAAAC,QAAA;IAAKN,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,GAAKC,UAAU,CAAG,CAAC;AAAA,CAC5C;AAEDJ,IAAI,CAACS,SAAS,GAAG;EACfP,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,GAAG,EAAEJ,SAAS,CAACW,MAAM,CAACC;AACxB,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA;EAAA,IACdC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IACJZ,GAAG,GAAAW,KAAA,CAAHX,GAAG;IACHC,GAAG,GAAAU,KAAA,CAAHV,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAQ,KAAA,EAAAE,UAAA;EAAA,oBAEbjB,KAAA,CAAAS,aAAA,MAAAC,QAAA;IAAGM,IAAI,EAAEA;EAAK,GAAKV,UAAU,gBAC3BN,KAAA,CAAAS,aAAA;IAAKS,SAAS,EAAC,SAAS;IAACd,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAEDS,UAAU,CAACH,SAAS,GAAG;EACrBK,IAAI,EAAEf,SAAS,CAACW,MAAM,CAACC,UAAU;EACjCT,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,GAAG,EAAEJ,SAAS,CAACW,MAAM,CAACC;AACxB,CAAC;AAED,SAASC,UAAU,EAAEZ,IAAI;AACzB,eAAeA,IAAI","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/Menu.js b/dist/Menu/Menu.js new file mode 100644 index 000000000..ce30608b4 --- /dev/null +++ b/dist/Menu/Menu.js @@ -0,0 +1,321 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var _excluded = ["tag", "className"], + _excluded2 = ["tag", "className"]; +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +import React from 'react'; +import { CSSTransition } from 'react-transition-group'; +import PropTypes from 'prop-types'; +var MenuTrigger = function MenuTrigger(_ref) { + var tag = _ref.tag, + className = _ref.className, + attributes = _objectWithoutProperties(_ref, _excluded); + return /*#__PURE__*/React.createElement(tag, _objectSpread({ + className: "menu-trigger ".concat(className) + }, attributes)); +}; +MenuTrigger.propTypes = { + tag: PropTypes.string, + className: PropTypes.string +}; +MenuTrigger.defaultProps = { + tag: 'div', + className: null +}; +var MenuTriggerComp = /*#__PURE__*/React.createElement(MenuTrigger, null); +var MenuTriggerType = MenuTriggerComp.type; +var MenuContent = function MenuContent(_ref2) { + var tag = _ref2.tag, + className = _ref2.className, + attributes = _objectWithoutProperties(_ref2, _excluded2); + return /*#__PURE__*/React.createElement(tag, _objectSpread({ + className: ['menu-content', className].join(' ') + }, attributes)); +}; +MenuContent.propTypes = { + tag: PropTypes.string, + className: PropTypes.string +}; +MenuContent.defaultProps = { + tag: 'div', + className: null +}; +var menuPropTypes = { + tag: PropTypes.string, + onClose: PropTypes.func, + onOpen: PropTypes.func, + closeOnDocumentClick: PropTypes.bool, + respondToPointerEvents: PropTypes.bool, + className: PropTypes.string, + transitionTimeout: PropTypes.number, + transitionClassName: PropTypes.string, + children: PropTypes.arrayOf(PropTypes.node).isRequired +}; +var Menu = /*#__PURE__*/function (_React$Component) { + function Menu(props) { + var _this; + _classCallCheck(this, Menu); + _this = _callSuper(this, Menu, [props]); + _this.menu = /*#__PURE__*/React.createRef(); + _this.state = { + expanded: false + }; + _this.onTriggerClick = _this.onTriggerClick.bind(_this); + _this.onCloseClick = _this.onCloseClick.bind(_this); + _this.onKeyDown = _this.onKeyDown.bind(_this); + _this.onDocumentClick = _this.onDocumentClick.bind(_this); + _this.onMouseEnter = _this.onMouseEnter.bind(_this); + _this.onMouseLeave = _this.onMouseLeave.bind(_this); + return _this; + } + + // Lifecycle Events + _inherits(Menu, _React$Component); + return _createClass(Menu, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + document.removeEventListener('touchend', this.onDocumentClick, true); + document.removeEventListener('click', this.onDocumentClick, true); + + // Call onClose callback when unmounting and open + if (this.state.expanded && this.props.onClose) { + this.props.onClose(); + } + } + + // Event handlers + }, { + key: "onDocumentClick", + value: function onDocumentClick(e) { + if (!this.props.closeOnDocumentClick) { + return; + } + var clickIsInMenu = this.menu.current === e.target || this.menu.current.contains(e.target); + if (clickIsInMenu) { + return; + } + this.close(); + } + }, { + key: "onTriggerClick", + value: function onTriggerClick(e) { + // Let the browser follow the link of the trigger if the menu + // is already expanded and the trigger has an href attribute + if (this.state.expanded && e.target.getAttribute('href')) { + return; + } + e.preventDefault(); + this.toggle(); + } + }, { + key: "onCloseClick", + value: function onCloseClick() { + this.getFocusableElements()[0].focus(); + this.close(); + } + }, { + key: "onKeyDown", + value: function onKeyDown(e) { + if (!this.state.expanded) { + return; + } + switch (e.key) { + case 'Escape': + { + e.preventDefault(); + e.stopPropagation(); + this.getFocusableElements()[0].focus(); + this.close(); + break; + } + case 'Enter': + { + // Using focusable elements instead of a ref to the trigger + // because Hyperlink and Button can handle refs as functional components + if (document.activeElement === this.getFocusableElements()[0]) { + e.preventDefault(); + this.toggle(); + } + break; + } + case 'Tab': + { + e.preventDefault(); + if (e.shiftKey) { + this.focusPrevious(); + } else { + this.focusNext(); + } + break; + } + case 'ArrowDown': + { + e.preventDefault(); + this.focusNext(); + break; + } + case 'ArrowUp': + { + e.preventDefault(); + this.focusPrevious(); + break; + } + default: + } + } + }, { + key: "onMouseEnter", + value: function onMouseEnter() { + if (!this.props.respondToPointerEvents) { + return; + } + this.open(); + } + }, { + key: "onMouseLeave", + value: function onMouseLeave() { + if (!this.props.respondToPointerEvents) { + return; + } + this.close(); + } + + // Internal functions + }, { + key: "getFocusableElements", + value: function getFocusableElements() { + return this.menu.current.querySelectorAll('button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled])'); + } + }, { + key: "getAttributesFromProps", + value: function getAttributesFromProps() { + var _this2 = this; + // Any extra props are attributes for the menu + var attributes = {}; + Object.keys(this.props).filter(function (property) { + return menuPropTypes[property] === undefined; + }).forEach(function (property) { + attributes[property] = _this2.props[property]; + }); + return attributes; + } + }, { + key: "focusNext", + value: function focusNext() { + var focusableElements = Array.from(this.getFocusableElements()); + var activeIndex = focusableElements.indexOf(document.activeElement); + var nextIndex = (activeIndex + 1) % focusableElements.length; + focusableElements[nextIndex].focus(); + } + }, { + key: "focusPrevious", + value: function focusPrevious() { + var focusableElements = Array.from(this.getFocusableElements()); + var activeIndex = focusableElements.indexOf(document.activeElement); + var previousIndex = (activeIndex || focusableElements.length) - 1; + focusableElements[previousIndex].focus(); + } + }, { + key: "open", + value: function open() { + if (this.props.onOpen) { + this.props.onOpen(); + } + this.setState({ + expanded: true + }); + // Listen to touchend and click events to ensure the menu + // can be closed on mobile, pointer, and mixed input devices + document.addEventListener('touchend', this.onDocumentClick, true); + document.addEventListener('click', this.onDocumentClick, true); + } + }, { + key: "close", + value: function close() { + if (this.props.onClose) { + this.props.onClose(); + } + this.setState({ + expanded: false + }); + document.removeEventListener('touchend', this.onDocumentClick, true); + document.removeEventListener('click', this.onDocumentClick, true); + } + }, { + key: "toggle", + value: function toggle() { + if (this.state.expanded) { + this.close(); + } else { + this.open(); + } + } + }, { + key: "renderTrigger", + value: function renderTrigger(node) { + return /*#__PURE__*/React.cloneElement(node, { + onClick: this.onTriggerClick, + 'aria-haspopup': 'menu', + 'aria-expanded': this.state.expanded + }); + } + }, { + key: "renderMenuContent", + value: function renderMenuContent(node) { + return /*#__PURE__*/React.createElement(CSSTransition, { + "in": this.state.expanded, + timeout: this.props.transitionTimeout, + classNames: this.props.transitionClassName, + unmountOnExit: true + }, node); + } + }, { + key: "render", + value: function render() { + var _this3 = this; + var className = this.props.className; + var wrappedChildren = React.Children.map(this.props.children, function (child) { + if (child.type === MenuTriggerType) { + return _this3.renderTrigger(child); + } + return _this3.renderMenuContent(child); + }); + var rootClassName = this.state.expanded ? 'menu expanded' : 'menu'; + return /*#__PURE__*/React.createElement(this.props.tag, _objectSpread({ + className: "".concat(rootClassName, " ").concat(className), + ref: this.menu, + onKeyDown: this.onKeyDown, + onMouseEnter: this.onMouseEnter, + onMouseLeave: this.onMouseLeave + }, this.getAttributesFromProps()), wrappedChildren); + } + }]); +}(React.Component); +Menu.propTypes = menuPropTypes; +Menu.defaultProps = { + tag: 'div', + className: null, + onClose: null, + onOpen: null, + respondToPointerEvents: false, + closeOnDocumentClick: true, + transitionTimeout: 250, + transitionClassName: 'menu-content' +}; +export { Menu, MenuTrigger, MenuContent }; +//# sourceMappingURL=Menu.js.map \ No newline at end of file diff --git a/dist/Menu/Menu.js.map b/dist/Menu/Menu.js.map new file mode 100644 index 000000000..1f8d151eb --- /dev/null +++ b/dist/Menu/Menu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Menu.js","names":["React","CSSTransition","PropTypes","MenuTrigger","_ref","tag","className","attributes","_objectWithoutProperties","_excluded","createElement","_objectSpread","concat","propTypes","string","defaultProps","MenuTriggerComp","MenuTriggerType","type","MenuContent","_ref2","_excluded2","join","menuPropTypes","onClose","func","onOpen","closeOnDocumentClick","bool","respondToPointerEvents","transitionTimeout","number","transitionClassName","children","arrayOf","node","isRequired","Menu","_React$Component","props","_this","_classCallCheck","_callSuper","menu","createRef","state","expanded","onTriggerClick","bind","onCloseClick","onKeyDown","onDocumentClick","onMouseEnter","onMouseLeave","_inherits","_createClass","key","value","componentWillUnmount","document","removeEventListener","e","clickIsInMenu","current","target","contains","close","getAttribute","preventDefault","toggle","getFocusableElements","focus","stopPropagation","activeElement","shiftKey","focusPrevious","focusNext","open","querySelectorAll","getAttributesFromProps","_this2","Object","keys","filter","property","undefined","forEach","focusableElements","Array","from","activeIndex","indexOf","nextIndex","length","previousIndex","setState","addEventListener","renderTrigger","cloneElement","onClick","renderMenuContent","timeout","classNames","unmountOnExit","render","_this3","wrappedChildren","Children","map","child","rootClassName","ref","Component"],"sources":["../../src/Menu/Menu.jsx"],"sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\n\nconst MenuTrigger = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: `menu-trigger ${className}`,\n ...attributes,\n});\nMenuTrigger.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuTrigger.defaultProps = {\n tag: 'div',\n className: null,\n};\nconst MenuTriggerComp = ;\nconst MenuTriggerType = MenuTriggerComp.type;\n\nconst MenuContent = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: ['menu-content', className].join(' '),\n ...attributes,\n});\nMenuContent.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuContent.defaultProps = {\n tag: 'div',\n className: null,\n};\n\nconst menuPropTypes = {\n tag: PropTypes.string,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n closeOnDocumentClick: PropTypes.bool,\n respondToPointerEvents: PropTypes.bool,\n className: PropTypes.string,\n transitionTimeout: PropTypes.number,\n transitionClassName: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node).isRequired,\n};\n\nclass Menu extends React.Component {\n constructor(props) {\n super(props);\n\n this.menu = React.createRef();\n this.state = {\n expanded: false,\n };\n\n this.onTriggerClick = this.onTriggerClick.bind(this);\n this.onCloseClick = this.onCloseClick.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onDocumentClick = this.onDocumentClick.bind(this);\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n }\n\n // Lifecycle Events\n componentWillUnmount() {\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n\n // Call onClose callback when unmounting and open\n if (this.state.expanded && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n // Event handlers\n onDocumentClick(e) {\n if (!this.props.closeOnDocumentClick) {\n return;\n }\n\n const clickIsInMenu = this.menu.current === e.target || this.menu.current.contains(e.target);\n if (clickIsInMenu) {\n return;\n }\n\n this.close();\n }\n\n onTriggerClick(e) {\n // Let the browser follow the link of the trigger if the menu\n // is already expanded and the trigger has an href attribute\n if (this.state.expanded && e.target.getAttribute('href')) {\n return;\n }\n\n e.preventDefault();\n this.toggle();\n }\n\n onCloseClick() {\n this.getFocusableElements()[0].focus();\n this.close();\n }\n\n onKeyDown(e) {\n if (!this.state.expanded) {\n return;\n }\n switch (e.key) {\n case 'Escape': {\n e.preventDefault();\n e.stopPropagation();\n this.getFocusableElements()[0].focus();\n this.close();\n break;\n }\n case 'Enter': {\n // Using focusable elements instead of a ref to the trigger\n // because Hyperlink and Button can handle refs as functional components\n if (document.activeElement === this.getFocusableElements()[0]) {\n e.preventDefault();\n this.toggle();\n }\n break;\n }\n case 'Tab': {\n e.preventDefault();\n if (e.shiftKey) {\n this.focusPrevious();\n } else {\n this.focusNext();\n }\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.focusNext();\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.focusPrevious();\n break;\n }\n default:\n }\n }\n\n onMouseEnter() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.open();\n }\n\n onMouseLeave() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.close();\n }\n\n // Internal functions\n\n getFocusableElements() {\n return this.menu.current.querySelectorAll('button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])');\n }\n\n getAttributesFromProps() {\n // Any extra props are attributes for the menu\n const attributes = {};\n Object.keys(this.props)\n .filter(property => menuPropTypes[property] === undefined)\n .forEach((property) => {\n attributes[property] = this.props[property];\n });\n return attributes;\n }\n\n focusNext() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (activeIndex + 1) % focusableElements.length;\n focusableElements[nextIndex].focus();\n }\n\n focusPrevious() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (activeIndex || focusableElements.length) - 1;\n focusableElements[previousIndex].focus();\n }\n\n open() {\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n this.setState({ expanded: true });\n // Listen to touchend and click events to ensure the menu\n // can be closed on mobile, pointer, and mixed input devices\n document.addEventListener('touchend', this.onDocumentClick, true);\n document.addEventListener('click', this.onDocumentClick, true);\n }\n\n close() {\n if (this.props.onClose) {\n this.props.onClose();\n }\n this.setState({ expanded: false });\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n }\n\n toggle() {\n if (this.state.expanded) {\n this.close();\n } else {\n this.open();\n }\n }\n\n renderTrigger(node) {\n return React.cloneElement(node, {\n onClick: this.onTriggerClick,\n 'aria-haspopup': 'menu',\n 'aria-expanded': this.state.expanded,\n });\n }\n\n renderMenuContent(node) {\n return (\n \n {node}\n \n );\n }\n\n render() {\n const { className } = this.props;\n\n const wrappedChildren = React.Children.map(this.props.children, (child) => {\n if (child.type === MenuTriggerType) {\n return this.renderTrigger(child);\n }\n return this.renderMenuContent(child);\n });\n\n const rootClassName = this.state.expanded ? 'menu expanded' : 'menu';\n\n return React.createElement(this.props.tag, {\n className: `${rootClassName} ${className}`,\n ref: this.menu,\n onKeyDown: this.onKeyDown,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n ...this.getAttributesFromProps(),\n }, wrappedChildren);\n }\n}\n\nMenu.propTypes = menuPropTypes;\nMenu.defaultProps = {\n tag: 'div',\n className: null,\n onClose: null,\n onOpen: null,\n respondToPointerEvents: false,\n closeOnDocumentClick: true,\n transitionTimeout: 250,\n transitionClassName: 'menu-content',\n};\n\nexport { Menu, MenuTrigger, MenuContent };\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/index.js b/dist/Menu/index.js new file mode 100644 index 000000000..c2cc885ff --- /dev/null +++ b/dist/Menu/index.js @@ -0,0 +1,3 @@ +import { Menu, MenuTrigger, MenuContent } from './Menu'; +export { Menu, MenuTrigger, MenuContent }; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/Menu/index.js.map b/dist/Menu/index.js.map new file mode 100644 index 000000000..e765f2223 --- /dev/null +++ b/dist/Menu/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["Menu","MenuTrigger","MenuContent"],"sources":["../../src/Menu/index.jsx"],"sourcesContent":["import { Menu, MenuTrigger, MenuContent } from './Menu';\n\nexport { Menu, MenuTrigger, MenuContent };\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,QAAQ;AAEvD,SAASF,IAAI,EAAEC,WAAW,EAAEC,WAAW","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/menu.scss b/dist/Menu/menu.scss new file mode 100644 index 000000000..39c57ff06 --- /dev/null +++ b/dist/Menu/menu.scss @@ -0,0 +1,45 @@ +.menu { + position: relative; +} + +.menu-content { + position: absolute; + top: 100%; + z-index: 10; + background: var(--pgn-color-white); + min-width: 10rem; + + &.pin-left { + left: 0; + } + + &.pin-right { + right: 0; + } +} + +.menu-dropdown-enter { + opacity: 0; + transform-origin: 75% 0; + transform: scale3d(0.8, 0.8, 1); +} + +.menu-dropdown-enter-active { + transform-origin: 75% 0; + transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} + +.menu-dropdown-exit { + transform-origin: 75% 0; + transform: scale3d(1, 1, 1); + opacity: 1; +} + +.menu-dropdown-exit-active { + transform-origin: 75% 0; + transform: scale3d(0.8, 0.8, 1); + transition: all 250ms cubic-bezier(0.8, 0, 0.6, 1); + opacity: 0; +} diff --git a/dist/MobileHeader.js b/dist/MobileHeader.js new file mode 100644 index 000000000..9ca3421f9 --- /dev/null +++ b/dist/MobileHeader.js @@ -0,0 +1,250 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +import React from 'react'; +import PropTypes from 'prop-types'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { getConfig } from '@edx/frontend-platform'; + +// Local Components +import { Menu, MenuTrigger, MenuContent } from './Menu'; +import Avatar from './Avatar'; +import { LinkedLogo, Logo } from './Logo'; + +// i18n +import messages from './Header.messages'; + +// Assets +import { MenuIcon } from './Icons'; +var MobileHeader = /*#__PURE__*/function (_React$Component) { + function MobileHeader(props) { + _classCallCheck(this, MobileHeader); + // eslint-disable-line no-useless-constructor + return _callSuper(this, MobileHeader, [props]); + } + _inherits(MobileHeader, _React$Component); + return _createClass(MobileHeader, [{ + key: "renderMenu", + value: function renderMenu(menu) { + // Nodes are accepted as a prop + if (!Array.isArray(menu)) { + return menu; + } + return menu.map(function (menuItem) { + var type = menuItem.type, + href = menuItem.href, + content = menuItem.content, + submenuContent = menuItem.submenuContent, + disabled = menuItem.disabled, + isActive = menuItem.isActive, + onClick = menuItem.onClick; + if (type === 'item') { + return /*#__PURE__*/React.createElement("a", { + key: "".concat(type, "-").concat(content), + className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), + href: href, + onClick: onClick || null + }, content); + } + return /*#__PURE__*/React.createElement(Menu, { + key: "".concat(type, "-").concat(content), + tag: "div", + className: "nav-item" + }, /*#__PURE__*/React.createElement(MenuTrigger, { + onClick: onClick || null, + tag: "a", + role: "button", + tabIndex: "0", + className: "nav-link" + }, content), /*#__PURE__*/React.createElement(MenuContent, { + className: "position-static pin-left pin-right py-2" + }, submenuContent)); + }); + } + }, { + key: "renderMainMenu", + value: function renderMainMenu() { + var mainMenu = this.props.mainMenu; + return this.renderMenu(mainMenu); + } + }, { + key: "renderSecondaryMenu", + value: function renderSecondaryMenu() { + var secondaryMenu = this.props.secondaryMenu; + return this.renderMenu(secondaryMenu); + } + }, { + key: "renderUserMenuItems", + value: function renderUserMenuItems() { + var userMenu = this.props.userMenu; + return userMenu.map(function (group) { + return group.items.map(function (_ref) { + var type = _ref.type, + content = _ref.content, + href = _ref.href, + disabled = _ref.disabled, + isActive = _ref.isActive, + onClick = _ref.onClick; + return /*#__PURE__*/React.createElement("li", { + className: "nav-item", + key: "".concat(type, "-").concat(content) + }, /*#__PURE__*/React.createElement("a", { + className: "nav-link".concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), + href: href, + onClick: onClick || null + }, content)); + }); + }); + } + }, { + key: "renderLoggedOutItems", + value: function renderLoggedOutItems() { + var loggedOutItems = this.props.loggedOutItems; + return loggedOutItems.map(function (_ref2, i, arr) { + var type = _ref2.type, + href = _ref2.href, + content = _ref2.content; + return /*#__PURE__*/React.createElement("li", { + className: "nav-item px-3 my-2", + key: "".concat(type, "-").concat(content) + }, /*#__PURE__*/React.createElement("a", { + className: i < arr.length - 1 ? 'btn btn-block btn-outline-primary' : 'btn btn-block btn-primary', + href: href + }, content)); + }); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + logo = _this$props.logo, + logoAltText = _this$props.logoAltText, + logoDestination = _this$props.logoDestination, + loggedIn = _this$props.loggedIn, + avatar = _this$props.avatar, + username = _this$props.username, + stickyOnMobile = _this$props.stickyOnMobile, + intl = _this$props.intl, + mainMenu = _this$props.mainMenu, + userMenu = _this$props.userMenu, + loggedOutItems = _this$props.loggedOutItems; + var logoProps = { + src: logo, + alt: logoAltText, + href: logoDestination + }; + var stickyClassName = stickyOnMobile ? 'sticky-top' : ''; + var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center'; + return /*#__PURE__*/React.createElement("header", { + "aria-label": intl.formatMessage(messages['header.label.main.header']), + className: "site-header-mobile d-flex justify-content-between align-items-center shadow ".concat(stickyClassName) + }, /*#__PURE__*/React.createElement("a", { + className: "nav-skip sr-only sr-only-focusable", + href: "#main" + }, intl.formatMessage(messages['header.label.skip.nav'])), mainMenu.length > 0 ? /*#__PURE__*/React.createElement("div", { + className: "w-100 d-flex justify-content-start" + }, /*#__PURE__*/React.createElement(Menu, { + className: "position-static" + }, /*#__PURE__*/React.createElement(MenuTrigger, { + tag: "button", + className: "icon-button", + "aria-label": intl.formatMessage(messages['header.label.main.menu']), + title: intl.formatMessage(messages['header.label.main.menu']) + }, /*#__PURE__*/React.createElement(MenuIcon, { + role: "img", + "aria-hidden": true, + focusable: "false", + style: { + width: '1.5rem', + height: '1.5rem' + } + })), /*#__PURE__*/React.createElement(MenuContent, { + tag: "nav", + "aria-label": intl.formatMessage(messages['header.label.main.nav']), + className: "nav flex-column pin-left pin-right border-top shadow py-2" + }, this.renderMainMenu(), this.renderSecondaryMenu()))) : null, /*#__PURE__*/React.createElement("div", { + className: "w-100 d-flex ".concat(logoClasses) + }, logoDestination === null ? /*#__PURE__*/React.createElement(Logo, { + className: "logo", + src: logo, + alt: logoAltText + }) : /*#__PURE__*/React.createElement(LinkedLogo, _extends({ + className: "logo" + }, logoProps, { + itemType: "http://schema.org/Organization" + }))), userMenu.length > 0 || loggedOutItems.length > 0 ? /*#__PURE__*/React.createElement("div", { + className: "w-100 d-flex justify-content-end align-items-center" + }, /*#__PURE__*/React.createElement(Menu, { + tag: "nav", + "aria-label": intl.formatMessage(messages['header.label.secondary.nav']), + className: "position-static" + }, /*#__PURE__*/React.createElement(MenuTrigger, { + tag: "button", + className: "icon-button", + "aria-label": intl.formatMessage(messages['header.label.account.menu']), + title: intl.formatMessage(messages['header.label.account.menu']) + }, /*#__PURE__*/React.createElement(Avatar, { + size: "1.5rem", + src: avatar, + alt: username + })), /*#__PURE__*/React.createElement(MenuContent, { + tag: "ul", + className: "nav flex-column pin-left pin-right border-top shadow py-2" + }, loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()))) : null); + } + }]); +}(React.Component); +MobileHeader.propTypes = { + mainMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), + secondaryMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), + userMenu: PropTypes.arrayOf(PropTypes.shape({ + heading: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string, + isActive: PropTypes.bool, + onClick: PropTypes.func + })) + })), + loggedOutItems: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string + })), + logo: PropTypes.string, + logoAltText: PropTypes.string, + logoDestination: PropTypes.string, + avatar: PropTypes.string, + username: PropTypes.string, + loggedIn: PropTypes.bool, + stickyOnMobile: PropTypes.bool, + // i18n + intl: intlShape.isRequired +}; +MobileHeader.defaultProps = { + mainMenu: [], + secondaryMenu: [], + userMenu: [], + loggedOutItems: [], + logo: null, + logoAltText: null, + logoDestination: null, + avatar: null, + username: null, + loggedIn: false, + stickyOnMobile: true +}; +export default injectIntl(MobileHeader); +//# sourceMappingURL=MobileHeader.js.map \ No newline at end of file diff --git a/dist/MobileHeader.js.map b/dist/MobileHeader.js.map new file mode 100644 index 000000000..9571b85f0 --- /dev/null +++ b/dist/MobileHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LinkedLogo","Logo","messages","MenuIcon","MobileHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMenu","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","concat","className","tag","role","tabIndex","renderMainMenu","mainMenu","renderSecondaryMenu","secondaryMenu","renderUserMenuItems","userMenu","group","items","_ref","renderLoggedOutItems","loggedOutItems","_ref2","i","arr","length","render","_this$props","logo","logoAltText","logoDestination","loggedIn","avatar","username","stickyOnMobile","intl","logoProps","src","alt","stickyClassName","logoClasses","AUTHN_MINIMAL_HEADER","formatMessage","title","focusable","style","width","height","_extends","itemType","size","Component","propTypes","oneOfType","node","array","arrayOf","shape","heading","string","oneOf","bool","func","isRequired","defaultProps"],"sources":["../src/MobileHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from './Menu';\nimport Avatar from './Avatar';\nimport { LinkedLogo, Logo } from './Logo';\n\n// i18n\nimport messages from './Header.messages';\n\n// Assets\nimport { MenuIcon } from './Icons';\n\nclass MobileHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMenu(menu) {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content}\n \n \n {submenuContent}\n \n \n );\n });\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return this.renderMenu(mainMenu);\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return this.renderMenu(secondaryMenu);\n }\n\n renderUserMenuItems() {\n const { userMenu } = this.props;\n\n return userMenu.map((group) => (\n group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n
  • \n \n {content}\n \n
  • \n ))\n ));\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n\n return loggedOutItems.map(({ type, href, content }, i, arr) => (\n
  • \n \n {content}\n \n
  • \n ));\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n avatar,\n username,\n stickyOnMobile,\n intl,\n mainMenu,\n userMenu,\n loggedOutItems,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const stickyClassName = stickyOnMobile ? 'sticky-top' : '';\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center';\n\n return (\n \n {intl.formatMessage(messages['header.label.skip.nav'])}\n {mainMenu.length > 0 ? (\n
    \n\n \n \n \n \n \n {this.renderMainMenu()}\n {this.renderSecondaryMenu()}\n \n \n
    \n ) : null}\n
    \n { logoDestination === null ? : }\n
    \n {userMenu.length > 0 || loggedOutItems.length > 0 ? (\n
    \n \n \n \n \n \n {loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()}\n \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nMobileHeader.propTypes = {\n mainMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenu: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n })),\n loggedOutItems: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n })),\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n stickyOnMobile: PropTypes.bool,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nMobileHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n stickyOnMobile: true,\n\n};\n\nexport default injectIntl(MobileHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/__snapshots__/Header.test.jsx.snap b/dist/__snapshots__/Header.test.jsx.snap new file mode 100644 index 000000000..781e7f729 --- /dev/null +++ b/dist/__snapshots__/Header.test.jsx.snap @@ -0,0 +1,445 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`
    renders correctly for anonymous desktop 1`] = ` +
    + + Skip to main content + + +
    +`; + +exports[`
    renders correctly for anonymous mobile 1`] = ` +
    + + Skip to main content + +
    +
    + +
    +
    +
    + + edX + +
    +
    + +
    +
    +`; + +exports[`
    renders correctly for authenticated desktop 1`] = ` +
    + + Skip to main content + +
    +
    + + edX + + + +
    +
    +
    +`; + +exports[`
    renders correctly for authenticated mobile 1`] = ` +
    + + Skip to main content + +
    +
    + +
    +
    +
    + + edX + +
    +
    + +
    +
    +`; diff --git a/dist/generic/messages.js b/dist/generic/messages.js new file mode 100644 index 000000000..c64807d2e --- /dev/null +++ b/dist/generic/messages.js @@ -0,0 +1,15 @@ +import { defineMessages } from '@edx/frontend-platform/i18n'; +var messages = defineMessages({ + registerSentenceCase: { + id: 'general.register.sentenceCase', + defaultMessage: 'Register', + description: 'Text in a button, prompting the user to register.' + }, + signInSentenceCase: { + id: 'general.signIn.sentenceCase', + defaultMessage: 'Sign in', + description: 'Text in a button, prompting the user to log in.' + } +}); +export default messages; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/dist/generic/messages.js.map b/dist/generic/messages.js.map new file mode 100644 index 000000000..bc5b0340c --- /dev/null +++ b/dist/generic/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","names":["defineMessages","messages","registerSentenceCase","id","defaultMessage","description","signInSentenceCase"],"sources":["../../src/generic/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n registerSentenceCase: {\n id: 'general.register.sentenceCase',\n defaultMessage: 'Register',\n description: 'Text in a button, prompting the user to register.',\n },\n signInSentenceCase: {\n id: 'general.signIn.sentenceCase',\n defaultMessage: 'Sign in',\n description: 'Text in a button, prompting the user to log in.',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9BE,oBAAoB,EAAE;IACpBC,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf,CAAC;EACDC,kBAAkB,EAAE;IAClBH,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeJ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/i18n/index.js b/dist/i18n/index.js new file mode 100644 index 000000000..2fe05b263 --- /dev/null +++ b/dist/i18n/index.js @@ -0,0 +1,2 @@ +export default {}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/i18n/index.js.map b/dist/i18n/index.js.map new file mode 100644 index 000000000..e86f6ffbd --- /dev/null +++ b/dist/i18n/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":[],"sources":["../../src/i18n/index.js"],"sourcesContent":["export default {};\n"],"mappings":"AAAA,eAAe,CAAC,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 000000000..d392a8f7d --- /dev/null +++ b/dist/index.js @@ -0,0 +1,7 @@ +import Header from './Header'; +import LearningHeader from './learning-header/LearningHeader'; +import messages from './i18n/index'; +import StudioHeader from './studio-header'; +export { LearningHeader, messages, StudioHeader }; +export default Header; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 000000000..5a16ee9f7 --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["Header","LearningHeader","messages","StudioHeader"],"sources":["../src/index.jsx"],"sourcesContent":["import Header from './Header';\nimport LearningHeader from './learning-header/LearningHeader';\nimport messages from './i18n/index';\nimport StudioHeader from './studio-header';\n\nexport { LearningHeader, messages, StudioHeader };\n\nexport default Header;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,UAAU;AAC7B,OAAOC,cAAc,MAAM,kCAAkC;AAC7D,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,YAAY,MAAM,iBAAiB;AAE1C,SAASF,cAAc,EAAEC,QAAQ,EAAEC,YAAY;AAE/C,eAAeH,MAAM","ignoreList":[]} \ No newline at end of file diff --git a/dist/index.scss b/dist/index.scss new file mode 100644 index 000000000..f468c8a04 --- /dev/null +++ b/dist/index.scss @@ -0,0 +1,134 @@ +@import './Menu/menu.scss'; +@import './studio-header/StudioHeader.scss'; + +.dropdown-item a { + text-decoration: none; +} + +.icon-button { + display: inline-flex; + line-height: 3rem; + background: transparent; + vertical-align: middle; + text-align: center; + border: none; + height: 3rem; + width: 3rem; + padding: .75rem; + justify-content: center; + align-items:center; + + &:hover, &:focus { + background: rgba(0, 0, 0, .1); + } +} + +.learning-header { + min-width: 0; + + .course-title-lockup { + min-width: 0; + + span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding-bottom: calc(var(--pgn-spacing-spacer-base)* 0.1); + } + } + + .user-dropdown .btn { + height: 3rem; + + @media (--max-pgn-size-breakpoint-xs) { + padding: 0 .5rem; + } + } +} + +.site-header-mobile, +.site-header-desktop { + position: relative; + z-index: 1000; +} + +.site-header-mobile { + height: 3rem; + + .nav-link { + text-decoration: none; + cursor: pointer; + } + + img { + height: 1.5rem; + } +} + + +.site-header-desktop { + box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1); + background: var(--pgn-color-white); + + .nav-link { + text-decoration: none; + } + + .logo { + display: block; + box-sizing: content-box; + position: relative; + top: -.05em; + height: 1.75rem; + padding: var(--pgn-spacing-spacer-base) 0; + margin-right: var(--pgn-spacing-spacer-base); + + img { + display: block; + height: 100%; + } + } + .secondary-menu-container { + .nav-link:hover, + .nav-link:focus, + .nav-link.active, + .expanded .nav-link { + background: var(--pgn-color-bg-active); + color: var(--pgn-color-active); + } + } + .main-nav { + .nav-link { + padding: 1.125rem var(--pgn-spacing-spacer-base); + text-decoration: none; + font-weight: 500; + letter-spacing: .01em; + } + + .nav-link:hover, + .nav-link:focus, + .nav-link.active, + .expanded .nav-link { + background: var(--pgn-color-bg-active); + color: var(--pgn-color-active); + } + + .menu { + position: static; + + .menu-content { + border-top: solid 2px var(--pgn-color-bg-active); + left: 0; + right: 0; + box-shadow: var(--pgn-elevation-box-shadow-down-1); + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + padding: var(--pgn-spacing-spacer-base); + } + } + } + + .search-input { + border-radius: var(--pgn-size-rounded-pill); + } +} diff --git a/dist/learning-header/AnonymousUserMenu.js b/dist/learning-header/AnonymousUserMenu.js new file mode 100644 index 000000000..a4a1ad0e1 --- /dev/null +++ b/dist/learning-header/AnonymousUserMenu.js @@ -0,0 +1,22 @@ +import React from 'react'; +import { getConfig } from '@edx/frontend-platform'; +import { getLoginRedirectUrl } from '@edx/frontend-platform/auth'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { Button } from '@openedx/paragon'; +import genericMessages from '../generic/messages'; +var AnonymousUserMenu = function AnonymousUserMenu(_ref) { + var intl = _ref.intl; + return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, { + className: "mr-3", + variant: "outline-primary", + href: "".concat(getConfig().LMS_BASE_URL, "/register?next=").concat(encodeURIComponent(global.location.href)) + }, intl.formatMessage(genericMessages.registerSentenceCase)), /*#__PURE__*/React.createElement(Button, { + variant: "primary", + href: "".concat(getLoginRedirectUrl(global.location.href)) + }, intl.formatMessage(genericMessages.signInSentenceCase))); +}; +AnonymousUserMenu.propTypes = { + intl: intlShape.isRequired +}; +export default injectIntl(AnonymousUserMenu); +//# sourceMappingURL=AnonymousUserMenu.js.map \ No newline at end of file diff --git a/dist/learning-header/AnonymousUserMenu.js.map b/dist/learning-header/AnonymousUserMenu.js.map new file mode 100644 index 000000000..4244c916f --- /dev/null +++ b/dist/learning-header/AnonymousUserMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","Button","genericMessages","AnonymousUserMenu","_ref","intl","createElement","className","variant","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","formatMessage","registerSentenceCase","signInSentenceCase","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => (\n
    \n \n {intl.formatMessage(genericMessages.registerSentenceCase)}\n \n \n {intl.formatMessage(genericMessages.signInSentenceCase)}\n \n
    \n);\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAC/BT,KAAA,CAAAU,aAAA,2BACEV,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLM,SAAS,EAAC,MAAM;IAChBC,OAAO,EAAC,iBAAiB;IACzBC,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAACc,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAE7FJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACc,oBAAoB,CAClD,CAAC,eACTpB,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLO,OAAO,EAAC,SAAS;IACjBC,IAAI,KAAAC,MAAA,CAAKZ,mBAAmB,CAACe,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAEpDJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACe,kBAAkB,CAChD,CACL,CAAC;AAAA,CACP;AAEDd,iBAAiB,CAACe,SAAS,GAAG;EAC5Bb,IAAI,EAAEL,SAAS,CAACmB;AAClB,CAAC;AAED,eAAepB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/AuthenticatedUserDropdown.js b/dist/learning-header/AuthenticatedUserDropdown.js new file mode 100644 index 000000000..a3ab0bc33 --- /dev/null +++ b/dist/learning-header/AuthenticatedUserDropdown.js @@ -0,0 +1,46 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faUserCircle } from '@fortawesome/free-solid-svg-icons'; +import { getConfig } from '@edx/frontend-platform'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { Dropdown } from '@openedx/paragon'; +import messages from './messages'; +var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) { + var intl = _ref.intl, + username = _ref.username; + var dashboardMenuItem = /*#__PURE__*/React.createElement(Dropdown.Item, { + href: "".concat(getConfig().LMS_BASE_URL, "/dashboard") + }, intl.formatMessage(messages.dashboard)); + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", { + className: "text-gray-700", + href: "".concat(getConfig().SUPPORT_URL) + }, intl.formatMessage(messages.help)), /*#__PURE__*/React.createElement(Dropdown, { + className: "user-dropdown ml-3" + }, /*#__PURE__*/React.createElement(Dropdown.Toggle, { + variant: "outline-primary" + }, /*#__PURE__*/React.createElement(FontAwesomeIcon, { + icon: faUserCircle, + className: "d-md-none", + size: "lg" + }), /*#__PURE__*/React.createElement("span", { + "data-hj-suppress": true, + className: "d-none d-md-inline" + }, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, { + className: "dropdown-menu-right" + }, dashboardMenuItem, /*#__PURE__*/React.createElement(Dropdown.Item, { + href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username) + }, intl.formatMessage(messages.profile)), /*#__PURE__*/React.createElement(Dropdown.Item, { + href: getConfig().ACCOUNT_SETTINGS_URL + }, intl.formatMessage(messages.account)), getConfig().ORDER_HISTORY_URL && /*#__PURE__*/React.createElement(Dropdown.Item, { + href: getConfig().ORDER_HISTORY_URL + }, intl.formatMessage(messages.orderHistory)), /*#__PURE__*/React.createElement(Dropdown.Item, { + href: getConfig().LOGOUT_URL + }, intl.formatMessage(messages.signOut))))); +}; +AuthenticatedUserDropdown.propTypes = { + intl: intlShape.isRequired, + username: PropTypes.string.isRequired +}; +export default injectIntl(AuthenticatedUserDropdown); +//# sourceMappingURL=AuthenticatedUserDropdown.js.map \ No newline at end of file diff --git a/dist/learning-header/AuthenticatedUserDropdown.js.map b/dist/learning-header/AuthenticatedUserDropdown.js.map new file mode 100644 index 000000000..905f28157 --- /dev/null +++ b/dist/learning-header/AuthenticatedUserDropdown.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","messages","AuthenticatedUserDropdown","_ref","intl","username","dashboardMenuItem","createElement","Item","href","concat","LMS_BASE_URL","formatMessage","dashboard","Fragment","className","SUPPORT_URL","help","Toggle","variant","icon","size","Menu","ACCOUNT_PROFILE_URL","profile","ACCOUNT_SETTINGS_URL","account","ORDER_HISTORY_URL","orderHistory","LOGOUT_URL","signOut","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dashboardMenuItem = (\n \n {intl.formatMessage(messages.dashboard)}\n \n );\n\n return (\n <>\n {intl.formatMessage(messages.help)}\n \n \n \n \n {username}\n \n \n \n {dashboardMenuItem}\n \n {intl.formatMessage(messages.profile)}\n \n \n {intl.formatMessage(messages.account)}\n \n { getConfig().ORDER_HISTORY_URL && (\n \n {intl.formatMessage(messages.orderHistory)}\n \n )}\n \n {intl.formatMessage(messages.signOut)}\n \n \n \n \n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,YAAY,QAAQ,mCAAmC;AAChE,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACjD,IAAMC,iBAAiB,gBACrBb,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACQ,IAAI;IAACC,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAACc,YAAY;EAAa,GAC1DP,IAAI,CAACQ,aAAa,CAACX,QAAQ,CAACY,SAAS,CACzB,CAChB;EAED,oBACEpB,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAqB,QAAA,qBACErB,KAAA,CAAAc,aAAA;IAAGQ,SAAS,EAAC,eAAe;IAACN,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAACmB,WAAW;EAAG,GAAEZ,IAAI,CAACQ,aAAa,CAACX,QAAQ,CAACgB,IAAI,CAAK,CAAC,eACxGxB,KAAA,CAAAc,aAAA,CAACP,QAAQ;IAACe,SAAS,EAAC;EAAoB,gBACtCtB,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACkB,MAAM;IAACC,OAAO,EAAC;EAAiB,gBACxC1B,KAAA,CAAAc,aAAA,CAACZ,eAAe;IAACyB,IAAI,EAAExB,YAAa;IAACmB,SAAS,EAAC,WAAW;IAACM,IAAI,EAAC;EAAI,CAAE,CAAC,eACvE5B,KAAA,CAAAc,aAAA;IAAM,wBAAgB;IAACQ,SAAS,EAAC;EAAoB,GAClDV,QACG,CACS,CAAC,eAClBZ,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACsB,IAAI;IAACP,SAAS,EAAC;EAAqB,GAC3CT,iBAAiB,eAClBb,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACQ,IAAI;IAACC,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAAC0B,mBAAmB,SAAAb,MAAA,CAAML,QAAQ;EAAG,GACrED,IAAI,CAACQ,aAAa,CAACX,QAAQ,CAACuB,OAAO,CACvB,CAAC,eAChB/B,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACQ,IAAI;IAACC,IAAI,EAAEZ,SAAS,CAAC,CAAC,CAAC4B;EAAqB,GACnDrB,IAAI,CAACQ,aAAa,CAACX,QAAQ,CAACyB,OAAO,CACvB,CAAC,EACd7B,SAAS,CAAC,CAAC,CAAC8B,iBAAiB,iBAC7BlC,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACQ,IAAI;IAACC,IAAI,EAAEZ,SAAS,CAAC,CAAC,CAAC8B;EAAkB,GAChDvB,IAAI,CAACQ,aAAa,CAACX,QAAQ,CAAC2B,YAAY,CAC5B,CAChB,eACDnC,KAAA,CAAAc,aAAA,CAACP,QAAQ,CAACQ,IAAI;IAACC,IAAI,EAAEZ,SAAS,CAAC,CAAC,CAACgC;EAAW,GACzCzB,IAAI,CAACQ,aAAa,CAACX,QAAQ,CAAC6B,OAAO,CACvB,CACF,CACP,CACV,CAAC;AAEP,CAAC;AAED5B,yBAAyB,CAAC6B,SAAS,GAAG;EACpC3B,IAAI,EAAEL,SAAS,CAACiC,UAAU;EAC1B3B,QAAQ,EAAEX,SAAS,CAACuC,MAAM,CAACD;AAC7B,CAAC;AAED,eAAelC,UAAU,CAACI,yBAAyB,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeader.js b/dist/learning-header/LearningHeader.js new file mode 100644 index 000000000..8335e6861 --- /dev/null +++ b/dist/learning-header/LearningHeader.js @@ -0,0 +1,79 @@ +var _excluded = ["href", "src", "alt"]; +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +import React, { useContext } from 'react'; +import PropTypes from 'prop-types'; +import { getConfig } from '@edx/frontend-platform'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { AppContext } from '@edx/frontend-platform/react'; +import AnonymousUserMenu from './AnonymousUserMenu'; +import AuthenticatedUserDropdown from './AuthenticatedUserDropdown'; +import messages from './messages'; +var LinkedLogo = function LinkedLogo(_ref) { + var href = _ref.href, + src = _ref.src, + alt = _ref.alt, + attributes = _objectWithoutProperties(_ref, _excluded); + return /*#__PURE__*/React.createElement("a", _extends({ + href: href + }, attributes), /*#__PURE__*/React.createElement("img", { + className: "d-block", + src: src, + alt: alt + })); +}; +LinkedLogo.propTypes = { + href: PropTypes.string.isRequired, + src: PropTypes.string.isRequired, + alt: PropTypes.string.isRequired +}; +var LearningHeader = function LearningHeader(_ref2) { + var courseOrg = _ref2.courseOrg, + courseNumber = _ref2.courseNumber, + courseTitle = _ref2.courseTitle, + intl = _ref2.intl, + showUserDropdown = _ref2.showUserDropdown; + var _useContext = useContext(AppContext), + authenticatedUser = _useContext.authenticatedUser; + var headerLogo = /*#__PURE__*/React.createElement(LinkedLogo, { + className: "logo", + href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"), + src: getConfig().LOGO_URL, + alt: getConfig().SITE_NAME + }); + return /*#__PURE__*/React.createElement("header", { + className: "learning-header" + }, /*#__PURE__*/React.createElement("a", { + className: "sr-only sr-only-focusable", + href: "#main-content" + }, intl.formatMessage(messages.skipNavLink)), /*#__PURE__*/React.createElement("div", { + className: "container-xl py-2 d-flex align-items-center" + }, headerLogo, /*#__PURE__*/React.createElement("div", { + className: "flex-grow-1 course-title-lockup", + style: { + lineHeight: 1 + } + }, /*#__PURE__*/React.createElement("span", { + className: "d-block small m-0" + }, courseOrg, " ", courseNumber), /*#__PURE__*/React.createElement("span", { + className: "d-block m-0 font-weight-bold course-title" + }, courseTitle)), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, { + username: authenticatedUser.username + }), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null))); +}; +LearningHeader.propTypes = { + courseOrg: PropTypes.string, + courseNumber: PropTypes.string, + courseTitle: PropTypes.string, + intl: intlShape.isRequired, + showUserDropdown: PropTypes.bool +}; +LearningHeader.defaultProps = { + courseOrg: null, + courseNumber: null, + courseTitle: null, + showUserDropdown: true +}; +export default injectIntl(LearningHeader); +//# sourceMappingURL=LearningHeader.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeader.js.map b/dist/learning-header/LearningHeader.js.map new file mode 100644 index 000000000..0a59c3b53 --- /dev/null +++ b/dist/learning-header/LearningHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LearningHeader.js","names":["React","useContext","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","messages","LinkedLogo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","string","isRequired","LearningHeader","_ref2","courseOrg","courseNumber","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","headerLogo","concat","LMS_BASE_URL","LOGO_URL","SITE_NAME","formatMessage","skipNavLink","style","lineHeight","username","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport messages from './messages';\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n \n {alt}\n \n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nconst LearningHeader = ({\n courseOrg, courseNumber, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n\n const headerLogo = (\n \n );\n\n return (\n
    \n {intl.formatMessage(messages.skipNavLink)}\n
    \n {headerLogo}\n
    \n {courseOrg} {courseNumber}\n {courseTitle}\n
    \n {showUserDropdown && authenticatedUser && (\n \n )}\n {showUserDropdown && !authenticatedUser && (\n \n )}\n
    \n
    \n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: PropTypes.string,\n courseNumber: PropTypes.string,\n courseTitle: PropTypes.string,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseNumber: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/messages.js b/dist/learning-header/messages.js new file mode 100644 index 000000000..f9b0d5e06 --- /dev/null +++ b/dist/learning-header/messages.js @@ -0,0 +1,40 @@ +import { defineMessages } from '@edx/frontend-platform/i18n'; +var messages = defineMessages({ + dashboard: { + id: 'header.menu.dashboard.label', + defaultMessage: 'Dashboard', + description: 'The text for the user menu Dashboard navigation link.' + }, + help: { + id: 'header.help.label', + defaultMessage: 'Help', + description: 'The text for the link to the Help Center' + }, + profile: { + id: 'header.menu.profile.label', + defaultMessage: 'Profile', + description: 'The text for the user menu Profile navigation link.' + }, + account: { + id: 'header.menu.account.label', + defaultMessage: 'Account', + description: 'The text for the user menu Account navigation link.' + }, + orderHistory: { + id: 'header.menu.orderHistory.label', + defaultMessage: 'Order History', + description: 'The text for the user menu Order History navigation link.' + }, + skipNavLink: { + id: 'header.navigation.skipNavLink', + defaultMessage: 'Skip to main content.', + description: 'A link used by screen readers to allow users to skip to the main content of the page.' + }, + signOut: { + id: 'header.menu.signOut.label', + defaultMessage: 'Sign Out', + description: 'The label for the user menu Sign Out action.' + } +}); +export default messages; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/dist/learning-header/messages.js.map b/dist/learning-header/messages.js.map new file mode 100644 index 000000000..f10eb72a7 --- /dev/null +++ b/dist/learning-header/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","names":["defineMessages","messages","dashboard","id","defaultMessage","description","help","profile","account","orderHistory","skipNavLink","signOut"],"sources":["../../src/learning-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n dashboard: {\n id: 'header.menu.dashboard.label',\n defaultMessage: 'Dashboard',\n description: 'The text for the user menu Dashboard navigation link.',\n },\n help: {\n id: 'header.help.label',\n defaultMessage: 'Help',\n description: 'The text for the link to the Help Center',\n },\n profile: {\n id: 'header.menu.profile.label',\n defaultMessage: 'Profile',\n description: 'The text for the user menu Profile navigation link.',\n },\n account: {\n id: 'header.menu.account.label',\n defaultMessage: 'Account',\n description: 'The text for the user menu Account navigation link.',\n },\n orderHistory: {\n id: 'header.menu.orderHistory.label',\n defaultMessage: 'Order History',\n description: 'The text for the user menu Order History navigation link.',\n },\n skipNavLink: {\n id: 'header.navigation.skipNavLink',\n defaultMessage: 'Skip to main content.',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n signOut: {\n id: 'header.menu.signOut.label',\n defaultMessage: 'Sign Out',\n description: 'The label for the user menu Sign Out action.',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9BE,SAAS,EAAE;IACTC,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACDC,IAAI,EAAE;IACJH,EAAE,EAAE,mBAAmB;IACvBC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACDE,OAAO,EAAE;IACPJ,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACDG,OAAO,EAAE;IACPL,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACDI,YAAY,EAAE;IACZN,EAAE,EAAE,gCAAgC;IACpCC,cAAc,EAAE,eAAe;IAC/BC,WAAW,EAAE;EACf,CAAC;EACDK,WAAW,EAAE;IACXP,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,uBAAuB;IACvCC,WAAW,EAAE;EACf,CAAC;EACDM,OAAO,EAAE;IACPR,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeJ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/setupTest.js b/dist/setupTest.js new file mode 100644 index 000000000..95e0e5866 --- /dev/null +++ b/dist/setupTest.js @@ -0,0 +1,125 @@ +/* eslint-disable import/no-extraneous-dependencies */ + +import React from 'react'; +import PropTypes from 'prop-types'; +import '@testing-library/jest-dom'; +import '@testing-library/jest-dom/extend-expect'; +import 'babel-polyfill'; +import 'jest-chain'; +import { getConfig, mergeConfig } from '@edx/frontend-platform'; +import { configure as configureLogging } from '@edx/frontend-platform/logging'; +import { configure as configureI18n } from '@edx/frontend-platform/i18n'; +import { configure as configureAuth, MockAuthService } from '@edx/frontend-platform/auth'; +import { render as rtlRender } from '@testing-library/react'; +import { IntlProvider } from 'react-intl'; +import AppProvider from '@edx/frontend-platform/react/AppProvider'; +import appMessages from './i18n'; + +// These configuration values are usually set in webpack's EnvironmentPlugin however +// Jest does not use webpack so we need to set these so for testing +process.env.ACCESS_TOKEN_COOKIE_NAME = 'edx-jwt-cookie-header-payload'; +process.env.ACCOUNT_PROFILE_URL = 'http://localhost:1995'; +process.env.ACCOUNT_SETTINGS_URL = 'http://localhost:1997'; +process.env.BASE_URL = 'localhost:1995'; +process.env.CREDENTIALS_BASE_URL = 'http://localhost:18150'; +process.env.CSRF_TOKEN_API_PATH = '/csrf/api/v1/token'; +process.env.ECOMMERCE_BASE_URL = 'http://localhost:18130'; +process.env.LANGUAGE_PREFERENCE_COOKIE_NAME = 'openedx-language-preference'; +process.env.LMS_BASE_URL = 'http://localhost:18000'; +process.env.LOGIN_URL = 'http://localhost:18000/login'; +process.env.LOGOUT_URL = 'http://localhost:18000/logout'; +process.env.MARKETING_SITE_BASE_URL = 'http://localhost:18000'; +process.env.ORDER_HISTORY_URL = 'localhost:1996/orders'; +process.env.REFRESH_ACCESS_TOKEN_ENDPOINT = 'http://localhost:18000/login_refresh'; +process.env.SEGMENT_KEY = 'segment_whoa'; +process.env.SITE_NAME = 'edX'; +process.env.USER_INFO_COOKIE_NAME = 'edx-user-info'; +process.env.LOGO_URL = 'https://edx-cdn.org/v3/default/logo.svg'; +process.env.LOGO_TRADEMARK_URL = 'https://edx-cdn.org/v3/default/logo-trademark.svg'; +process.env.LOGO_WHITE_URL = 'https://edx-cdn.org/v3/default/logo-white.svg'; +process.env.FAVICON_URL = 'https://edx-cdn.org/v3/default/favicon.ico'; + +class MockLoggingService { + logInfo = jest.fn(); + + logError = jest.fn(); +} + +export const authenticatedUser = { + userId: 'abc123', + username: 'Mock User', + roles: [], + administrator: false, +}; + +export function initializeMockApp() { + mergeConfig({ + INSIGHTS_BASE_URL: process.env.INSIGHTS_BASE_URL || null, + STUDIO_BASE_URL: process.env.STUDIO_BASE_URL || null, + TWITTER_URL: process.env.TWITTER_URL || null, + BASE_URL: process.env.BASE_URL || null, + LMS_BASE_URL: process.env.LMS_BASE_URL || null, + LOGIN_URL: process.env.LOGIN_URL || null, + LOGOUT_URL: process.env.LOGOUT_URL || null, + REFRESH_ACCESS_TOKEN_ENDPOINT: process.env.REFRESH_ACCESS_TOKEN_ENDPOINT || null, + ACCESS_TOKEN_COOKIE_NAME: process.env.ACCESS_TOKEN_COOKIE_NAME || null, + CSRF_TOKEN_API_PATH: process.env.CSRF_TOKEN_API_PATH || null, + LOGO_URL: process.env.LOGO_URL || null, + SITE_NAME: process.env.SITE_NAME || null, + + authenticatedUser: { + userId: 'abc123', + username: 'Mock User', + roles: [], + administrator: false, + }, + }); + + const loggingService = configureLogging(MockLoggingService, { + config: getConfig(), + }); + const authService = configureAuth(MockAuthService, { + config: getConfig(), + loggingService, + }); + + // i18n doesn't have a service class to return. + configureI18n({ + config: getConfig(), + loggingService, + messages: [appMessages], + }); + + return { loggingService, authService }; +} + +function render( + ui, + { + store = null, + ...renderOptions + } = {}, +) { + const Wrapper = ({ children }) => ( + // eslint-disable-next-line react/jsx-filename-extension + + + {children} + + + ); + + Wrapper.propTypes = { + children: PropTypes.node.isRequired, + }; + + return rtlRender(ui, { wrapper: Wrapper, ...renderOptions }); +} + +// Re-export everything. +export * from '@testing-library/react'; + +// Override `render` method. +export { + render, +}; diff --git a/dist/studio-header/BrandNav.js b/dist/studio-header/BrandNav.js new file mode 100644 index 000000000..14cb1cce6 --- /dev/null +++ b/dist/studio-header/BrandNav.js @@ -0,0 +1,21 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +var BrandNav = function BrandNav(_ref) { + var studioBaseUrl = _ref.studioBaseUrl, + logo = _ref.logo, + logoAltText = _ref.logoAltText; + return /*#__PURE__*/React.createElement("a", { + href: studioBaseUrl + }, /*#__PURE__*/React.createElement("img", { + src: logo, + alt: logoAltText, + className: "d-block logo" + })); +}; +BrandNav.propTypes = { + studioBaseUrl: PropTypes.string.isRequired, + logo: PropTypes.string.isRequired, + logoAltText: PropTypes.string.isRequired +}; +export default BrandNav; +//# sourceMappingURL=BrandNav.js.map \ No newline at end of file diff --git a/dist/studio-header/BrandNav.js.map b/dist/studio-header/BrandNav.js.map new file mode 100644 index 000000000..5a8a21991 --- /dev/null +++ b/dist/studio-header/BrandNav.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BrandNav.js","names":["React","PropTypes","BrandNav","_ref","studioBaseUrl","logo","logoAltText","createElement","href","src","alt","className","propTypes","string","isRequired"],"sources":["../../src/studio-header/BrandNav.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BrandNav = ({\n studioBaseUrl,\n logo,\n logoAltText,\n}) => (\n \n \n \n);\n\nBrandNav.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n logoAltText: PropTypes.string.isRequired,\n};\n\nexport default BrandNav;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA;IAAGC,IAAI,EAAEJ;EAAc,gBACrBJ,KAAA,CAAAO,aAAA;IACEE,GAAG,EAAEJ,IAAK;IACVK,GAAG,EAAEJ,WAAY;IACjBK,SAAS,EAAC;EAAc,CACzB,CACA,CAAC;AAAA,CACL;AAEDT,QAAQ,CAACU,SAAS,GAAG;EACnBR,aAAa,EAAEH,SAAS,CAACY,MAAM,CAACC,UAAU;EAC1CT,IAAI,EAAEJ,SAAS,CAACY,MAAM,CAACC,UAAU;EACjCR,WAAW,EAAEL,SAAS,CAACY,MAAM,CAACC;AAChC,CAAC;AAED,eAAeZ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/CourseLockUp.js b/dist/studio-header/CourseLockUp.js new file mode 100644 index 000000000..0cc10f1e3 --- /dev/null +++ b/dist/studio-header/CourseLockUp.js @@ -0,0 +1,45 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { OverlayTrigger, Tooltip } from '@openedx/paragon'; +import messages from './messages'; +var CourseLockUp = function CourseLockUp(_ref) { + var outlineLink = _ref.outlineLink, + org = _ref.org, + number = _ref.number, + title = _ref.title, + intl = _ref.intl; + return /*#__PURE__*/React.createElement(OverlayTrigger, { + placement: "bottom", + overlay: /*#__PURE__*/React.createElement(Tooltip, { + id: "course-lock-up" + }, title) + }, /*#__PURE__*/React.createElement("a", { + className: "course-title-lockup mr-2", + href: outlineLink, + "aria-label": intl.formatMessage(messages['header.label.courseOutline']), + "data-testid": "course-lock-up-block" + }, /*#__PURE__*/React.createElement("span", { + className: "d-block small m-0 text-gray-800", + "data-testid": "course-org-number" + }, org, " ", number), /*#__PURE__*/React.createElement("span", { + className: "d-block m-0 font-weight-bold text-gray-800", + "data-testid": "course-title" + }, title))); +}; +CourseLockUp.propTypes = { + number: PropTypes.string, + org: PropTypes.string, + title: PropTypes.string, + outlineLink: PropTypes.string, + // injected + intl: intlShape.isRequired +}; +CourseLockUp.defaultProps = { + number: null, + org: null, + title: null, + outlineLink: null +}; +export default injectIntl(CourseLockUp); +//# sourceMappingURL=CourseLockUp.js.map \ No newline at end of file diff --git a/dist/studio-header/CourseLockUp.js.map b/dist/studio-header/CourseLockUp.js.map new file mode 100644 index 000000000..114365aca --- /dev/null +++ b/dist/studio-header/CourseLockUp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CourseLockUp.js","names":["React","PropTypes","injectIntl","intlShape","OverlayTrigger","Tooltip","messages","CourseLockUp","_ref","outlineLink","org","number","title","intl","createElement","placement","overlay","id","className","href","formatMessage","propTypes","string","isRequired","defaultProps"],"sources":["../../src/studio-header/CourseLockUp.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n OverlayTrigger,\n Tooltip,\n} from '@openedx/paragon';\nimport messages from './messages';\n\nconst CourseLockUp = ({\n outlineLink,\n org,\n number,\n title,\n // injected\n intl,\n}) => (\n \n {title}\n \n )}\n >\n \n {org} {number}\n {title}\n \n \n);\n\nCourseLockUp.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n outlineLink: PropTypes.string,\n // injected\n intl: intlShape.isRequired,\n};\n\nCourseLockUp.defaultProps = {\n number: null,\n org: null,\n title: null,\n outlineLink: null,\n};\n\nexport default injectIntl(CourseLockUp);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SACEC,cAAc,EACdC,OAAO,QACF,kBAAkB;AACzB,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAChBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAELC,IAAI,GAAAL,IAAA,CAAJK,IAAI;EAAA,oBAEJb,KAAA,CAAAc,aAAA,CAACV,cAAc;IACbW,SAAS,EAAC,QAAQ;IAClBC,OAAO,eACLhB,KAAA,CAAAc,aAAA,CAACT,OAAO;MAACY,EAAE,EAAC;IAAgB,GACzBL,KACM;EACT,gBAEFZ,KAAA,CAAAc,aAAA;IACEI,SAAS,EAAC,0BAA0B;IACpCC,IAAI,EAAEV,WAAY;IAClB,cAAYI,IAAI,CAACO,aAAa,CAACd,QAAQ,CAAC,4BAA4B,CAAC,CAAE;IACvE,eAAY;EAAsB,gBAElCN,KAAA,CAAAc,aAAA;IAAMI,SAAS,EAAC,iCAAiC;IAAC,eAAY;EAAmB,GAAER,GAAG,EAAC,GAAC,EAACC,MAAa,CAAC,eACvGX,KAAA,CAAAc,aAAA;IAAMI,SAAS,EAAC,4CAA4C;IAAC,eAAY;EAAc,GAAEN,KAAY,CACpG,CACW,CAAC;AAAA,CAClB;AAEDL,YAAY,CAACc,SAAS,GAAG;EACvBV,MAAM,EAAEV,SAAS,CAACqB,MAAM;EACxBZ,GAAG,EAAET,SAAS,CAACqB,MAAM;EACrBV,KAAK,EAAEX,SAAS,CAACqB,MAAM;EACvBb,WAAW,EAAER,SAAS,CAACqB,MAAM;EAC7B;EACAT,IAAI,EAAEV,SAAS,CAACoB;AAClB,CAAC;AAEDhB,YAAY,CAACiB,YAAY,GAAG;EAC1Bb,MAAM,EAAE,IAAI;EACZD,GAAG,EAAE,IAAI;EACTE,KAAK,EAAE,IAAI;EACXH,WAAW,EAAE;AACf,CAAC;AAED,eAAeP,UAAU,CAACK,YAAY,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/HeaderBody.js b/dist/studio-header/HeaderBody.js new file mode 100644 index 000000000..0a83bb20c --- /dev/null +++ b/dist/studio-header/HeaderBody.js @@ -0,0 +1,131 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { useIntl } from '@edx/frontend-platform/i18n'; +import { ActionRow, Button, Container, Icon, IconButton, Nav, Row } from '@openedx/paragon'; +import { Close, MenuIcon, Search } from '@openedx/paragon/icons'; +import CourseLockUp from './CourseLockUp'; +import UserMenu from './UserMenu'; +import BrandNav from './BrandNav'; +import NavDropdownMenu from './NavDropdownMenu'; +import messages from './messages'; +var HeaderBody = function HeaderBody(_ref) { + var logo = _ref.logo, + logoAltText = _ref.logoAltText, + number = _ref.number, + org = _ref.org, + title = _ref.title, + username = _ref.username, + isAdmin = _ref.isAdmin, + studioBaseUrl = _ref.studioBaseUrl, + logoutUrl = _ref.logoutUrl, + authenticatedUserAvatar = _ref.authenticatedUserAvatar, + isMobile = _ref.isMobile, + setModalPopupTarget = _ref.setModalPopupTarget, + toggleModalPopup = _ref.toggleModalPopup, + isModalPopupOpen = _ref.isModalPopupOpen, + isHiddenMainMenu = _ref.isHiddenMainMenu, + mainMenuDropdowns = _ref.mainMenuDropdowns, + outlineLink = _ref.outlineLink, + searchButtonAction = _ref.searchButtonAction; + var intl = useIntl(); + var renderBrandNav = /*#__PURE__*/React.createElement(BrandNav, { + studioBaseUrl: studioBaseUrl, + logo: logo, + logoAltText: logoAltText + }); + return /*#__PURE__*/React.createElement(Container, { + size: "xl", + className: "px-2.5" + }, /*#__PURE__*/React.createElement(ActionRow, { + as: "header" + }, isHiddenMainMenu ? /*#__PURE__*/React.createElement(Row, { + className: "flex-nowrap ml-4" + }, renderBrandNav) : /*#__PURE__*/React.createElement(React.Fragment, null, isMobile ? /*#__PURE__*/React.createElement(Button, { + ref: setModalPopupTarget, + className: "d-inline-flex align-items-center", + variant: "tertiary", + onClick: toggleModalPopup, + iconBefore: isModalPopupOpen ? Close : MenuIcon, + "data-testid": "mobile-menu-button" + }, "Menu") : /*#__PURE__*/React.createElement("div", { + className: "w-25" + }, /*#__PURE__*/React.createElement(Row, { + className: "m-0 flex-nowrap" + }, renderBrandNav, /*#__PURE__*/React.createElement(CourseLockUp, { + outlineLink: outlineLink, + number: number, + org: org, + title: title + }))), isMobile ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActionRow.Spacer, null), renderBrandNav) : /*#__PURE__*/React.createElement(Nav, { + "data-testid": "desktop-menu", + className: "ml-2" + }, mainMenuDropdowns.map(function (dropdown) { + var id = dropdown.id, + buttonTitle = dropdown.buttonTitle, + items = dropdown.items; + return /*#__PURE__*/React.createElement(NavDropdownMenu, { + key: id, + id: id, + buttonTitle: buttonTitle, + items: items + }); + }))), /*#__PURE__*/React.createElement(ActionRow.Spacer, null), searchButtonAction && /*#__PURE__*/React.createElement(Nav, null, /*#__PURE__*/React.createElement(IconButton, { + src: Search, + iconAs: Icon, + onClick: searchButtonAction, + "aria-label": intl.formatMessage(messages['header.label.search.nav']) + })), /*#__PURE__*/React.createElement(Nav, null, /*#__PURE__*/React.createElement(UserMenu, { + username: username, + studioBaseUrl: studioBaseUrl, + logoutUrl: logoutUrl, + authenticatedUserAvatar: authenticatedUserAvatar, + isAdmin: isAdmin + })))); +}; +HeaderBody.propTypes = { + studioBaseUrl: PropTypes.string.isRequired, + logoutUrl: PropTypes.string.isRequired, + setModalPopupTarget: PropTypes.func, + toggleModalPopup: PropTypes.func, + isModalPopupOpen: PropTypes.bool, + number: PropTypes.string, + org: PropTypes.string, + title: PropTypes.string, + logo: PropTypes.string, + logoAltText: PropTypes.string, + authenticatedUserAvatar: PropTypes.string, + username: PropTypes.string, + isAdmin: PropTypes.bool, + isMobile: PropTypes.bool, + isHiddenMainMenu: PropTypes.bool, + mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ + id: PropTypes.string, + buttonTitle: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + href: PropTypes.string, + title: PropTypes.string + })) + })), + outlineLink: PropTypes.string, + searchButtonAction: PropTypes.func +}; +HeaderBody.defaultProps = { + setModalPopupTarget: null, + toggleModalPopup: null, + isModalPopupOpen: false, + logo: null, + logoAltText: null, + number: '', + org: '', + title: '', + authenticatedUserAvatar: null, + username: null, + isAdmin: false, + isMobile: false, + isHiddenMainMenu: false, + mainMenuDropdowns: [], + outlineLink: null, + searchButtonAction: null +}; +export default HeaderBody; +//# sourceMappingURL=HeaderBody.js.map \ No newline at end of file diff --git a/dist/studio-header/HeaderBody.js.map b/dist/studio-header/HeaderBody.js.map new file mode 100644 index 000000000..266074cfe --- /dev/null +++ b/dist/studio-header/HeaderBody.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HeaderBody.js","names":["React","PropTypes","useIntl","ActionRow","Button","Container","Icon","IconButton","Nav","Row","Close","MenuIcon","Search","CourseLockUp","UserMenu","BrandNav","NavDropdownMenu","messages","HeaderBody","_ref","logo","logoAltText","number","org","title","username","isAdmin","studioBaseUrl","logoutUrl","authenticatedUserAvatar","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","intl","renderBrandNav","createElement","size","className","as","Fragment","ref","variant","onClick","iconBefore","Spacer","map","dropdown","id","buttonTitle","items","key","src","iconAs","formatMessage","propTypes","string","isRequired","func","bool","arrayOf","shape","href","defaultProps"],"sources":["../../src/studio-header/HeaderBody.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n ActionRow,\n Button,\n Container,\n Icon,\n IconButton,\n Nav,\n Row,\n} from '@openedx/paragon';\nimport { Close, MenuIcon, Search } from '@openedx/paragon/icons';\n\nimport CourseLockUp from './CourseLockUp';\nimport UserMenu from './UserMenu';\nimport BrandNav from './BrandNav';\nimport NavDropdownMenu from './NavDropdownMenu';\nimport messages from './messages';\n\nconst HeaderBody = ({\n logo,\n logoAltText,\n number,\n org,\n title,\n username,\n isAdmin,\n studioBaseUrl,\n logoutUrl,\n authenticatedUserAvatar,\n isMobile,\n setModalPopupTarget,\n toggleModalPopup,\n isModalPopupOpen,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n}) => {\n const intl = useIntl();\n\n const renderBrandNav = (\n \n );\n\n return (\n \n \n {isHiddenMainMenu ? (\n \n {renderBrandNav}\n \n ) : (\n <>\n {isMobile ? (\n \n Menu\n \n ) : (\n
    \n \n {renderBrandNav}\n \n \n
    \n )}\n {isMobile ? (\n <>\n \n {renderBrandNav}\n \n ) : (\n \n )}\n \n )}\n \n {searchButtonAction && (\n \n )}\n \n
    \n
    \n );\n};\n\nHeaderBody.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n setModalPopupTarget: PropTypes.func,\n toggleModalPopup: PropTypes.func,\n isModalPopupOpen: PropTypes.bool,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n isMobile: PropTypes.bool,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n};\n\nHeaderBody.defaultProps = {\n setModalPopupTarget: null,\n toggleModalPopup: null,\n isModalPopupOpen: false,\n logo: null,\n logoAltText: null,\n number: '',\n org: '',\n title: '',\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n isMobile: false,\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n};\n\nexport default HeaderBody;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/MobileHeader.js b/dist/studio-header/MobileHeader.js new file mode 100644 index 000000000..7fc50680c --- /dev/null +++ b/dist/studio-header/MobileHeader.js @@ -0,0 +1,79 @@ +var _excluded = ["mainMenuDropdowns"]; +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } +function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +import React, { useState } from 'react'; +import PropTypes from 'prop-types'; +import { useToggle, ModalPopup } from '@openedx/paragon'; +import HeaderBody from './HeaderBody'; +import MobileMenu from './MobileMenu'; +var MobileHeader = function MobileHeader(_ref) { + var mainMenuDropdowns = _ref.mainMenuDropdowns, + props = _objectWithoutProperties(_ref, _excluded); + var _useToggle = useToggle(false), + _useToggle2 = _slicedToArray(_useToggle, 4), + isOpen = _useToggle2[0], + close = _useToggle2[2], + toggle = _useToggle2[3]; + var _useState = useState(null), + _useState2 = _slicedToArray(_useState, 2), + target = _useState2[0], + setTarget = _useState2[1]; + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderBody, _extends({}, props, { + isMobile: true, + setModalPopupTarget: setTarget, + toggleModalPopup: toggle, + isModalPopupOpen: isOpen + })), /*#__PURE__*/React.createElement(ModalPopup, { + hasArrow: true, + placement: "bottom", + positionRef: target, + isOpen: isOpen, + onClose: close, + onEscapeKey: close, + className: "mobile-menu-container" + }, /*#__PURE__*/React.createElement(MobileMenu, { + mainMenuDropdowns: mainMenuDropdowns + }))); +}; +MobileHeader.propTypes = { + studioBaseUrl: PropTypes.string.isRequired, + logoutUrl: PropTypes.string.isRequired, + number: PropTypes.string, + org: PropTypes.string, + title: PropTypes.string, + logo: PropTypes.string, + logoAltText: PropTypes.string, + authenticatedUserAvatar: PropTypes.string, + username: PropTypes.string, + isAdmin: PropTypes.bool, + mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ + id: PropTypes.string, + buttonTitle: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + href: PropTypes.string, + title: PropTypes.string + })) + })), + outlineLink: PropTypes.string +}; +MobileHeader.defaultProps = { + logo: null, + logoAltText: null, + number: null, + org: null, + title: null, + authenticatedUserAvatar: null, + username: null, + isAdmin: false, + mainMenuDropdowns: [], + outlineLink: null +}; +export default MobileHeader; +//# sourceMappingURL=MobileHeader.js.map \ No newline at end of file diff --git a/dist/studio-header/MobileHeader.js.map b/dist/studio-header/MobileHeader.js.map new file mode 100644 index 000000000..959d344d0 --- /dev/null +++ b/dist/studio-header/MobileHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileHeader.js","names":["React","useState","PropTypes","useToggle","ModalPopup","HeaderBody","MobileMenu","MobileHeader","_ref","mainMenuDropdowns","props","_objectWithoutProperties","_excluded","_useToggle","_useToggle2","_slicedToArray","isOpen","close","toggle","_useState","_useState2","target","setTarget","createElement","Fragment","_extends","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","hasArrow","placement","positionRef","onClose","onEscapeKey","className","propTypes","studioBaseUrl","string","isRequired","logoutUrl","number","org","title","logo","logoAltText","authenticatedUserAvatar","username","isAdmin","bool","arrayOf","shape","id","buttonTitle","items","href","outlineLink","defaultProps"],"sources":["../../src/studio-header/MobileHeader.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useToggle, ModalPopup } from '@openedx/paragon';\nimport HeaderBody from './HeaderBody';\nimport MobileMenu from './MobileMenu';\n\nconst MobileHeader = ({\n mainMenuDropdowns,\n ...props\n}) => {\n const [isOpen, , close, toggle] = useToggle(false);\n const [target, setTarget] = useState(null);\n\n return (\n <>\n \n \n \n \n \n );\n};\n\nMobileHeader.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n outlineLink: PropTypes.string,\n};\n\nMobileHeader.defaultProps = {\n logo: null,\n logoAltText: null,\n number: null,\n org: null,\n title: null,\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n};\n\nexport default MobileHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/MobileMenu.js b/dist/studio-header/MobileMenu.js new file mode 100644 index 000000000..a1f618c13 --- /dev/null +++ b/dist/studio-header/MobileMenu.js @@ -0,0 +1,45 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Collapsible } from '@openedx/paragon'; +var MobileMenu = function MobileMenu(_ref) { + var mainMenuDropdowns = _ref.mainMenuDropdowns; + return /*#__PURE__*/React.createElement("div", { + className: "ml-4 p-2 bg-light-100 border border-gray-200 small rounded", + "data-testid": "mobile-menu" + }, /*#__PURE__*/React.createElement("div", null, mainMenuDropdowns.map(function (dropdown) { + var id = dropdown.id, + buttonTitle = dropdown.buttonTitle, + items = dropdown.items; + return /*#__PURE__*/React.createElement(Collapsible, { + className: "border-light-100", + title: buttonTitle, + key: id + }, /*#__PURE__*/React.createElement("ul", { + className: "p-0", + style: { + listStyleType: 'none' + } + }, items.map(function (item) { + return /*#__PURE__*/React.createElement("li", { + className: "mobile-menu-item" + }, /*#__PURE__*/React.createElement("a", { + href: item.href + }, item.title)); + }))); + }))); +}; +MobileMenu.propTypes = { + mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ + id: PropTypes.string, + buttonTitle: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + href: PropTypes.string, + title: PropTypes.string + })) + })) +}; +MobileMenu.defaultProps = { + mainMenuDropdowns: [] +}; +export default MobileMenu; +//# sourceMappingURL=MobileMenu.js.map \ No newline at end of file diff --git a/dist/studio-header/MobileMenu.js.map b/dist/studio-header/MobileMenu.js.map new file mode 100644 index 000000000..7717a6f0d --- /dev/null +++ b/dist/studio-header/MobileMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileMenu.js","names":["React","PropTypes","Collapsible","MobileMenu","_ref","mainMenuDropdowns","createElement","className","map","dropdown","id","buttonTitle","items","title","key","style","listStyleType","item","href","propTypes","arrayOf","shape","string","defaultProps"],"sources":["../../src/studio-header/MobileMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Collapsible } from '@openedx/paragon';\n\nconst MobileMenu = ({\n mainMenuDropdowns,\n}) => (\n \n
    \n {mainMenuDropdowns.map(dropdown => {\n const { id, buttonTitle, items } = dropdown;\n return (\n \n \n \n );\n })}\n
    \n \n);\n\nMobileMenu.propTypes = {\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n};\nMobileMenu.defaultProps = {\n mainMenuDropdowns: [],\n};\n\nexport default MobileMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IACdC,iBAAiB,GAAAD,IAAA,CAAjBC,iBAAiB;EAAA,oBAEjBL,KAAA,CAAAM,aAAA;IACEC,SAAS,EAAC,4DAA4D;IACtE,eAAY;EAAa,gBAEzBP,KAAA,CAAAM,aAAA,cACGD,iBAAiB,CAACG,GAAG,CAAC,UAAAC,QAAQ,EAAI;IACjC,IAAQC,EAAE,GAAyBD,QAAQ,CAAnCC,EAAE;MAAEC,WAAW,GAAYF,QAAQ,CAA/BE,WAAW;MAAEC,KAAK,GAAKH,QAAQ,CAAlBG,KAAK;IAC9B,oBACEZ,KAAA,CAAAM,aAAA,CAACJ,WAAW;MACVK,SAAS,EAAC,kBAAkB;MAC5BM,KAAK,EAAEF,WAAY;MACnBG,GAAG,EAAEJ;IAAG,gBAERV,KAAA,CAAAM,aAAA;MAAIC,SAAS,EAAC,KAAK;MAACQ,KAAK,EAAE;QAAEC,aAAa,EAAE;MAAO;IAAE,GAClDJ,KAAK,CAACJ,GAAG,CAAC,UAAAS,IAAI;MAAA,oBACbjB,KAAA,CAAAM,aAAA;QAAIC,SAAS,EAAC;MAAkB,gBAC9BP,KAAA,CAAAM,aAAA;QAAGY,IAAI,EAAED,IAAI,CAACC;MAAK,GAChBD,IAAI,CAACJ,KACL,CACD,CAAC;IAAA,CACN,CACC,CACO,CAAC;EAElB,CAAC,CACE,CACF,CAAC;AAAA,CACP;AAEDV,UAAU,CAACgB,SAAS,GAAG;EACrBd,iBAAiB,EAAEJ,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;IACnDX,EAAE,EAAET,SAAS,CAACqB,MAAM;IACpBX,WAAW,EAAEV,SAAS,CAACqB,MAAM;IAC7BV,KAAK,EAAEX,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;MACvCH,IAAI,EAAEjB,SAAS,CAACqB,MAAM;MACtBT,KAAK,EAAEZ,SAAS,CAACqB;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AACDnB,UAAU,CAACoB,YAAY,GAAG;EACxBlB,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAeF,UAAU","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/NavDropdownMenu.js b/dist/studio-header/NavDropdownMenu.js new file mode 100644 index 000000000..0367ada5a --- /dev/null +++ b/dist/studio-header/NavDropdownMenu.js @@ -0,0 +1,30 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Dropdown, DropdownButton } from '@openedx/paragon'; +var NavDropdownMenu = function NavDropdownMenu(_ref) { + var id = _ref.id, + buttonTitle = _ref.buttonTitle, + items = _ref.items; + return /*#__PURE__*/React.createElement(DropdownButton, { + id: id, + title: buttonTitle, + variant: "outline-primary", + className: "mr-2" + }, items.map(function (item) { + return /*#__PURE__*/React.createElement(Dropdown.Item, { + key: "".concat(item.title, "-dropdown-item"), + href: item.href, + className: "small" + }, item.title); + })); +}; +NavDropdownMenu.propTypes = { + id: PropTypes.string.isRequired, + buttonTitle: PropTypes.string.isRequired, + items: PropTypes.arrayOf(PropTypes.shape({ + href: PropTypes.string, + title: PropTypes.string + })).isRequired +}; +export default NavDropdownMenu; +//# sourceMappingURL=NavDropdownMenu.js.map \ No newline at end of file diff --git a/dist/studio-header/NavDropdownMenu.js.map b/dist/studio-header/NavDropdownMenu.js.map new file mode 100644 index 000000000..7f6eff489 --- /dev/null +++ b/dist/studio-header/NavDropdownMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NavDropdownMenu.js","names":["React","PropTypes","Dropdown","DropdownButton","NavDropdownMenu","_ref","id","buttonTitle","items","createElement","title","variant","className","map","item","Item","key","concat","href","propTypes","string","isRequired","arrayOf","shape"],"sources":["../../src/studio-header/NavDropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dropdown,\n DropdownButton,\n} from '@openedx/paragon';\n\nconst NavDropdownMenu = ({\n id,\n buttonTitle,\n items,\n}) => (\n \n {items.map(item => (\n \n {item.title}\n \n ))}\n \n);\n\nNavDropdownMenu.propTypes = {\n id: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })).isRequired,\n};\n\nexport default NavDropdownMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,QAAQ,EACRC,cAAc,QACT,kBAAkB;AAEzB,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA;EAAA,IACnBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAAA,oBAELR,KAAA,CAAAS,aAAA,CAACN,cAAc;IACbG,EAAE,EAAEA,EAAG;IACPI,KAAK,EAAEH,WAAY;IACnBI,OAAO,EAAC,iBAAiB;IACzBC,SAAS,EAAC;EAAM,GAEfJ,KAAK,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,oBACbd,KAAA,CAAAS,aAAA,CAACP,QAAQ,CAACa,IAAI;MACZC,GAAG,KAAAC,MAAA,CAAKH,IAAI,CAACJ,KAAK,mBAAiB;MACnCQ,IAAI,EAAEJ,IAAI,CAACI,IAAK;MAChBN,SAAS,EAAC;IAAO,GAEhBE,IAAI,CAACJ,KACO,CAAC;EAAA,CACjB,CACa,CAAC;AAAA,CAClB;AAEDN,eAAe,CAACe,SAAS,GAAG;EAC1Bb,EAAE,EAAEL,SAAS,CAACmB,MAAM,CAACC,UAAU;EAC/Bd,WAAW,EAAEN,SAAS,CAACmB,MAAM,CAACC,UAAU;EACxCb,KAAK,EAAEP,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACsB,KAAK,CAAC;IACvCL,IAAI,EAAEjB,SAAS,CAACmB,MAAM;IACtBV,KAAK,EAAET,SAAS,CAACmB;EACnB,CAAC,CAAC,CAAC,CAACC;AACN,CAAC;AAED,eAAejB,eAAe","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.js b/dist/studio-header/StudioHeader.js new file mode 100644 index 000000000..57366e66b --- /dev/null +++ b/dist/studio-header/StudioHeader.js @@ -0,0 +1,72 @@ +import React, { useContext } from 'react'; +import PropTypes from 'prop-types'; +import Responsive from 'react-responsive'; +import { AppContext } from '@edx/frontend-platform/react'; +import { ensureConfig } from '@edx/frontend-platform'; +import MobileHeader from './MobileHeader'; +import HeaderBody from './HeaderBody'; +ensureConfig(['STUDIO_BASE_URL', 'SITE_NAME', 'LOGOUT_URL', 'LOGIN_URL', 'LOGO_URL'], 'Studio Header component'); +var StudioHeader = function StudioHeader(_ref) { + var number = _ref.number, + org = _ref.org, + title = _ref.title, + isHiddenMainMenu = _ref.isHiddenMainMenu, + mainMenuDropdowns = _ref.mainMenuDropdowns, + outlineLink = _ref.outlineLink, + searchButtonAction = _ref.searchButtonAction; + var _useContext = useContext(AppContext), + authenticatedUser = _useContext.authenticatedUser, + config = _useContext.config; + var props = { + logo: config.LOGO_URL, + logoAltText: "Studio ".concat(config.SITE_NAME), + number: number, + org: org, + title: title, + username: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.username, + isAdmin: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.administrator, + authenticatedUserAvatar: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.avatar, + studioBaseUrl: config.STUDIO_BASE_URL, + logoutUrl: config.LOGOUT_URL, + isHiddenMainMenu: isHiddenMainMenu, + mainMenuDropdowns: mainMenuDropdowns, + outlineLink: outlineLink, + searchButtonAction: searchButtonAction + }; + return /*#__PURE__*/React.createElement("div", { + className: "studio-header" + }, /*#__PURE__*/React.createElement("a", { + className: "nav-skip sr-only sr-only-focusable", + href: "#main" + }, "Skip to content"), /*#__PURE__*/React.createElement(Responsive, { + maxWidth: 841 + }, /*#__PURE__*/React.createElement(MobileHeader, props)), /*#__PURE__*/React.createElement(Responsive, { + minWidth: 842 + }, /*#__PURE__*/React.createElement(HeaderBody, props))); +}; +StudioHeader.propTypes = { + number: PropTypes.string, + org: PropTypes.string, + title: PropTypes.string.isRequired, + isHiddenMainMenu: PropTypes.bool, + mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ + id: PropTypes.string, + buttonTitle: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + href: PropTypes.string, + title: PropTypes.string + })) + })), + outlineLink: PropTypes.string, + searchButtonAction: PropTypes.func +}; +StudioHeader.defaultProps = { + number: '', + org: '', + isHiddenMainMenu: false, + mainMenuDropdowns: [], + outlineLink: null, + searchButtonAction: null +}; +export default StudioHeader; +//# sourceMappingURL=StudioHeader.js.map \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.js.map b/dist/studio-header/StudioHeader.js.map new file mode 100644 index 000000000..923c99af1 --- /dev/null +++ b/dist/studio-header/StudioHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"StudioHeader.js","names":["React","useContext","PropTypes","Responsive","AppContext","ensureConfig","MobileHeader","HeaderBody","StudioHeader","_ref","number","org","title","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","_useContext","authenticatedUser","config","props","logo","LOGO_URL","logoAltText","concat","SITE_NAME","username","isAdmin","administrator","authenticatedUserAvatar","avatar","studioBaseUrl","STUDIO_BASE_URL","logoutUrl","LOGOUT_URL","createElement","className","href","maxWidth","minWidth","propTypes","string","isRequired","bool","arrayOf","shape","id","buttonTitle","items","func","defaultProps"],"sources":["../../src/studio-header/StudioHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Responsive from 'react-responsive';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport { ensureConfig } from '@edx/frontend-platform';\n\nimport MobileHeader from './MobileHeader';\nimport HeaderBody from './HeaderBody';\n\nensureConfig([\n 'STUDIO_BASE_URL',\n 'SITE_NAME',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'LOGO_URL',\n], 'Studio Header component');\n\nconst StudioHeader = ({\n number, org, title, isHiddenMainMenu, mainMenuDropdowns, outlineLink, searchButtonAction,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n const props = {\n logo: config.LOGO_URL,\n logoAltText: `Studio ${config.SITE_NAME}`,\n number,\n org,\n title,\n username: authenticatedUser?.username,\n isAdmin: authenticatedUser?.administrator,\n authenticatedUserAvatar: authenticatedUser?.avatar,\n studioBaseUrl: config.STUDIO_BASE_URL,\n logoutUrl: config.LOGOUT_URL,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n };\n\n return (\n
    \n Skip to content\n \n \n \n \n \n \n
    \n );\n};\n\nStudioHeader.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string.isRequired,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n};\n\nStudioHeader.defaultProps = {\n number: '',\n org: '',\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n};\n\nexport default StudioHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.scss b/dist/studio-header/StudioHeader.scss new file mode 100644 index 000000000..58b597bfa --- /dev/null +++ b/dist/studio-header/StudioHeader.scss @@ -0,0 +1,46 @@ +.studio-header { + position: relative; + z-index: 1000; + + height: 3.75rem; + box-shadow: 0 1px 0 0 rgb(0 0 0 / .1); + background: var(--pgn-color-white); + + .btn-outline-primary { + border-color: var(--pgn-color-white); + } + + .logo { + display: block; + box-sizing: content-box; + position: relative; + top: -.05em; + height: 1.75rem; + padding: var(--pgn-spacing-spacer-base) 0; + margin-right: var(--pgn-spacing-spacer-base); + + img { + display: block; + height: 100%; + } + } + + .course-title-lockup { + @media only screen and (min-width: 769px) { + padding: .5rem; + padding-right: var(--pgn-spacing-spacer-base); + border-right: 1px solid #E5E5E5; + width: 70%; + } + + overflow: hidden; + + span { + color: var(--pgn-color-gray-800); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + line-height: 1.375rem; + } + } +} diff --git a/dist/studio-header/UserMenu.js b/dist/studio-header/UserMenu.js new file mode 100644 index 000000000..e439b972c --- /dev/null +++ b/dist/studio-header/UserMenu.js @@ -0,0 +1,55 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { Avatar } from '@openedx/paragon'; +import NavDropdownMenu from './NavDropdownMenu'; +import getUserMenuItems from './utils'; +var UserMenu = function UserMenu(_ref) { + var username = _ref.username, + studioBaseUrl = _ref.studioBaseUrl, + logoutUrl = _ref.logoutUrl, + authenticatedUserAvatar = _ref.authenticatedUserAvatar, + isMobile = _ref.isMobile, + isAdmin = _ref.isAdmin, + intl = _ref.intl; + var avatar = authenticatedUserAvatar ? /*#__PURE__*/React.createElement("img", { + className: "d-block w-100 h-100", + src: authenticatedUserAvatar, + alt: username, + "data-testid": "avatar-image" + }) : /*#__PURE__*/React.createElement(Avatar, { + size: "sm", + className: "mr-2", + alt: username, + "data-testid": "avatar-icon" + }); + var title = isMobile ? avatar : /*#__PURE__*/React.createElement(React.Fragment, null, avatar, username); + return /*#__PURE__*/React.createElement(NavDropdownMenu, { + buttonTitle: title, + id: "user-dropdown-menu", + items: getUserMenuItems({ + studioBaseUrl: studioBaseUrl, + logoutUrl: logoutUrl, + intl: intl, + isAdmin: isAdmin + }) + }); +}; +UserMenu.propTypes = { + username: PropTypes.string, + studioBaseUrl: PropTypes.string.isRequired, + logoutUrl: PropTypes.string.isRequired, + authenticatedUserAvatar: PropTypes.string, + isMobile: PropTypes.bool, + isAdmin: PropTypes.bool, + // injected + intl: intlShape.isRequired +}; +UserMenu.defaultProps = { + isMobile: false, + isAdmin: false, + authenticatedUserAvatar: null, + username: null +}; +export default injectIntl(UserMenu); +//# sourceMappingURL=UserMenu.js.map \ No newline at end of file diff --git a/dist/studio-header/UserMenu.js.map b/dist/studio-header/UserMenu.js.map new file mode 100644 index 000000000..3a2b62e0a --- /dev/null +++ b/dist/studio-header/UserMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UserMenu.js","names":["React","PropTypes","injectIntl","intlShape","Avatar","NavDropdownMenu","getUserMenuItems","UserMenu","_ref","username","studioBaseUrl","logoutUrl","authenticatedUserAvatar","isMobile","isAdmin","intl","avatar","createElement","className","src","alt","size","title","Fragment","buttonTitle","id","items","propTypes","string","isRequired","bool","defaultProps"],"sources":["../../src/studio-header/UserMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n Avatar,\n} from '@openedx/paragon';\nimport NavDropdownMenu from './NavDropdownMenu';\nimport getUserMenuItems from './utils';\n\nconst UserMenu = ({\n username,\n studioBaseUrl,\n logoutUrl,\n authenticatedUserAvatar,\n isMobile,\n isAdmin,\n // injected\n intl,\n}) => {\n const avatar = authenticatedUserAvatar ? (\n \n ) : (\n \n );\n const title = isMobile ? avatar : <>{avatar}{username};\n\n return (\n \n );\n};\n\nUserMenu.propTypes = {\n username: PropTypes.string,\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n authenticatedUserAvatar: PropTypes.string,\n isMobile: PropTypes.bool,\n isAdmin: PropTypes.bool,\n // injected\n intl: intlShape.isRequired,\n};\n\nUserMenu.defaultProps = {\n isMobile: false,\n isAdmin: false,\n authenticatedUserAvatar: null,\n username: null,\n};\n\nexport default injectIntl(UserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SACEC,MAAM,QACD,kBAAkB;AACzB,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,SAAS;AAEtC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EASR;EAAA,IARJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,uBAAuB,GAAAJ,IAAA,CAAvBI,uBAAuB;IACvBC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAEPC,IAAI,GAAAP,IAAA,CAAJO,IAAI;EAEJ,IAAMC,MAAM,GAAGJ,uBAAuB,gBACpCZ,KAAA,CAAAiB,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/BC,GAAG,EAAEP,uBAAwB;IAC7BQ,GAAG,EAAEX,QAAS;IACd,eAAY;EAAc,CAC3B,CAAC,gBAEFT,KAAA,CAAAiB,aAAA,CAACb,MAAM;IACLiB,IAAI,EAAC,IAAI;IACTH,SAAS,EAAC,MAAM;IAChBE,GAAG,EAAEX,QAAS;IACd,eAAY;EAAa,CAC1B,CACF;EACD,IAAMa,KAAK,GAAGT,QAAQ,GAAGG,MAAM,gBAAGhB,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAuB,QAAA,QAAGP,MAAM,EAAEP,QAAW,CAAC;EAEzD,oBACET,KAAA,CAAAiB,aAAA,CAACZ,eAAe;IACdmB,WAAW,EAAEF,KAAM;IACnBG,EAAE,EAAC,oBAAoB;IACvBC,KAAK,EAAEpB,gBAAgB,CAAC;MACtBI,aAAa,EAAbA,aAAa;MACbC,SAAS,EAATA,SAAS;MACTI,IAAI,EAAJA,IAAI;MACJD,OAAO,EAAPA;IACF,CAAC;EAAE,CACJ,CAAC;AAEN,CAAC;AAEDP,QAAQ,CAACoB,SAAS,GAAG;EACnBlB,QAAQ,EAAER,SAAS,CAAC2B,MAAM;EAC1BlB,aAAa,EAAET,SAAS,CAAC2B,MAAM,CAACC,UAAU;EAC1ClB,SAAS,EAAEV,SAAS,CAAC2B,MAAM,CAACC,UAAU;EACtCjB,uBAAuB,EAAEX,SAAS,CAAC2B,MAAM;EACzCf,QAAQ,EAAEZ,SAAS,CAAC6B,IAAI;EACxBhB,OAAO,EAAEb,SAAS,CAAC6B,IAAI;EACvB;EACAf,IAAI,EAAEZ,SAAS,CAAC0B;AAClB,CAAC;AAEDtB,QAAQ,CAACwB,YAAY,GAAG;EACtBlB,QAAQ,EAAE,KAAK;EACfC,OAAO,EAAE,KAAK;EACdF,uBAAuB,EAAE,IAAI;EAC7BH,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeP,UAAU,CAACK,QAAQ,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/index.js b/dist/studio-header/index.js new file mode 100644 index 000000000..29914496a --- /dev/null +++ b/dist/studio-header/index.js @@ -0,0 +1,3 @@ +import StudioHeader from './StudioHeader'; +export default StudioHeader; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/studio-header/index.js.map b/dist/studio-header/index.js.map new file mode 100644 index 000000000..eaf732fbb --- /dev/null +++ b/dist/studio-header/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["StudioHeader"],"sources":["../../src/studio-header/index.js"],"sourcesContent":["import StudioHeader from './StudioHeader';\n\nexport default StudioHeader;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,gBAAgB;AAEzC,eAAeA,YAAY","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/messages.js b/dist/studio-header/messages.js new file mode 100644 index 000000000..667f9c10c --- /dev/null +++ b/dist/studio-header/messages.js @@ -0,0 +1,60 @@ +import { defineMessages } from '@edx/frontend-platform/i18n'; +var messages = defineMessages({ + 'header.user.menu.studio': { + id: 'header.user.menu.studio', + defaultMessage: 'Studio Home', + description: 'Link to Studio Home' + }, + 'header.user.menu.maintenance': { + id: 'header.user.menu.maintenance', + defaultMessage: 'Maintenance', + description: 'Link to the Studio maintenance page' + }, + 'header.user.menu.logout': { + id: 'header.user.menu.logout', + defaultMessage: 'Logout', + description: 'Logout link' + }, + 'header.label.account.menu': { + id: 'header.label.account.menu', + defaultMessage: 'Account Menu', + description: 'The aria label for the account menu trigger' + }, + 'header.label.account.menu.for': { + id: 'header.label.account.menu.for', + defaultMessage: 'Account menu for {username}', + description: 'The aria label for the account menu trigger when the username is displayed in it' + }, + 'header.label.main.nav': { + id: 'header.label.main.nav', + defaultMessage: 'Main', + description: 'The aria label for the main menu nav' + }, + 'header.label.main.menu': { + id: 'header.label.main.menu', + defaultMessage: 'Main Menu', + description: 'The aria label for the main menu trigger' + }, + 'header.label.main.header': { + id: 'header.label.main.header', + defaultMessage: 'Main', + description: 'The aria label for the main header' + }, + 'header.label.secondary.nav': { + id: 'header.label.secondary.nav', + defaultMessage: 'Secondary', + description: 'The aria label for the seconary nav' + }, + 'header.label.courseOutline': { + id: 'header.label.courseOutline', + defaultMessage: 'Back to course outline in Studio', + description: 'The aria label for the link back to the Studio Course Outline' + }, + 'header.label.search.nav': { + id: 'header.label.search.nav', + defaultMessage: 'Search content', + description: 'The aria label for the search content button nav' + } +}); +export default messages; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/dist/studio-header/messages.js.map b/dist/studio-header/messages.js.map new file mode 100644 index 000000000..05f2a0626 --- /dev/null +++ b/dist/studio-header/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../../src/studio-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.user.menu.studio': {\n id: 'header.user.menu.studio',\n defaultMessage: 'Studio Home',\n description: 'Link to Studio Home',\n },\n 'header.user.menu.maintenance': {\n id: 'header.user.menu.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio maintenance page',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.courseOutline': {\n id: 'header.label.courseOutline',\n defaultMessage: 'Back to course outline in Studio',\n description: 'The aria label for the link back to the Studio Course Outline',\n },\n 'header.label.search.nav': {\n id: 'header.label.search.nav',\n defaultMessage: 'Search content',\n description: 'The aria label for the search content button nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,yBAAyB,EAAE;IACzBE,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,8BAA8B,EAAE;IAC9BF,EAAE,EAAE,8BAA8B;IAClCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,kCAAkC;IAClDC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/utils.js b/dist/studio-header/utils.js new file mode 100644 index 000000000..1abaf7aba --- /dev/null +++ b/dist/studio-header/utils.js @@ -0,0 +1,29 @@ +import messages from './messages'; +var getUserMenuItems = function getUserMenuItems(_ref) { + var studioBaseUrl = _ref.studioBaseUrl, + logoutUrl = _ref.logoutUrl, + intl = _ref.intl, + isAdmin = _ref.isAdmin; + var items = [{ + href: "".concat(studioBaseUrl), + title: intl.formatMessage(messages['header.user.menu.studio']) + }, { + href: "".concat(logoutUrl), + title: intl.formatMessage(messages['header.user.menu.logout']) + }]; + if (isAdmin) { + items = [{ + href: "".concat(studioBaseUrl), + title: intl.formatMessage(messages['header.user.menu.studio']) + }, { + href: "".concat(studioBaseUrl, "/maintenance"), + title: intl.formatMessage(messages['header.user.menu.maintenance']) + }, { + href: "".concat(logoutUrl), + title: intl.formatMessage(messages['header.user.menu.logout']) + }]; + } + return items; +}; +export default getUserMenuItems; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/dist/studio-header/utils.js.map b/dist/studio-header/utils.js.map new file mode 100644 index 000000000..db2dfd8ee --- /dev/null +++ b/dist/studio-header/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","names":["messages","getUserMenuItems","_ref","studioBaseUrl","logoutUrl","intl","isAdmin","items","href","concat","title","formatMessage"],"sources":["../../src/studio-header/utils.js"],"sourcesContent":["import messages from './messages';\n\nconst getUserMenuItems = ({\n studioBaseUrl,\n logoutUrl,\n intl,\n isAdmin,\n}) => {\n let items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n if (isAdmin) {\n items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${studioBaseUrl}/maintenance`,\n title: intl.formatMessage(messages['header.user.menu.maintenance']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n }\n\n return items;\n};\n\nexport default getUserMenuItems;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,YAAY;AAEjC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;EAAA,IAJJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAIC,KAAK,GAAG,CACV;IACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;IACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,EAAE;IACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;IACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,CACF;EACD,IAAIM,OAAO,EAAE;IACXC,KAAK,GAAG,CACN;MACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;MACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKN,aAAa,iBAAc;MACpCO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,8BAA8B,CAAC;IACpE,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;MACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,CACF;EACH;EAEA,OAAOO,KAAK;AACd,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/test-utils.js b/dist/test-utils.js new file mode 100644 index 000000000..a0948f725 --- /dev/null +++ b/dist/test-utils.js @@ -0,0 +1,26 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +var executeThunk = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(thunk, dispatch, getState) { + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return thunk(dispatch, getState); + case 2: + _context.next = 4; + return new Promise(setImmediate); + case 4: + case "end": + return _context.stop(); + } + }, _callee); + })); + return function executeThunk(_x, _x2, _x3) { + return _ref.apply(this, arguments); + }; +}(); +export default executeThunk; +//# sourceMappingURL=test-utils.js.map \ No newline at end of file diff --git a/dist/test-utils.js.map b/dist/test-utils.js.map new file mode 100644 index 000000000..6de925b6e --- /dev/null +++ b/dist/test-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test-utils.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","executeThunk","_ref","_callee","thunk","dispatch","getState","_callee$","_context","setImmediate","_x","_x2","_x3"],"sources":["../src/test-utils.js"],"sourcesContent":["const executeThunk = async (thunk, dispatch, getState) => {\n await thunk(dispatch, getState);\n await new Promise(setImmediate);\n};\n\nexport default executeThunk;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file From d066c8587137c903f698da04b5c2bb89f8c1196d Mon Sep 17 00:00:00 2001 From: Diana Olarte Date: Tue, 28 Jan 2025 17:23:25 +1100 Subject: [PATCH 09/15] chore: update peerDeps --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b32e43397..b8c69b4e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": ">= 21.5.7 < 24.0.0", + "@openedx/paragon": ">= 23.0.0", "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", diff --git a/package.json b/package.json index 8aa93aa0f..150b9df9a 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": ">= 21.5.7 < 24.0.0", + "@openedx/paragon": ">= 23.0.0", "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", From 534ed7a404bf824100c80847a1167324a8e64873 Mon Sep 17 00:00:00 2001 From: Diana Olarte Date: Tue, 28 Jan 2025 17:23:51 +1100 Subject: [PATCH 10/15] test: update dist folder --- dist/DesktopHeader.js.map | 1 - dist/Header.js | 12 +- dist/Header.js.map | 2 +- dist/Header.messages.js | 5 - dist/Header.messages.js.map | 2 +- dist/Logo.js | 31 +-- dist/Logo.js.map | 2 +- dist/Menu/Menu.js | 4 +- dist/Menu/Menu.js.map | 2 +- dist/MobileHeader.js.map | 1 - dist/{ => desktop-header}/DesktopHeader.js | 151 ++++----------- dist/desktop-header/DesktopHeader.js.map | 1 + .../DesktopHeaderMainOrSecondaryMenu.js | 51 +++++ .../DesktopHeaderMainOrSecondaryMenu.js.map | 1 + dist/desktop-header/DesktopHeaderUserMenu.js | 49 +++++ .../DesktopHeaderUserMenu.js.map | 1 + dist/desktop-header/DesktopLoggedOutItems.js | 22 +++ .../DesktopLoggedOutItems.js.map | 1 + dist/learning-header/AnonymousUserMenu.js | 19 +- dist/learning-header/AnonymousUserMenu.js.map | 2 +- .../AuthenticatedUserDropdown.js | 41 ++-- .../AuthenticatedUserDropdown.js.map | 2 +- dist/learning-header/LearningHeader.js | 61 +++--- dist/learning-header/LearningHeader.js.map | 2 +- .../LearningHeaderCourseInfo.js | 24 +++ .../LearningHeaderCourseInfo.js.map | 1 + .../learning-header/LearningHeaderHelpLink.js | 13 ++ .../LearningHeaderHelpLink.js.map | 1 + .../LearningHeaderUserMenuItems.js | 20 ++ .../LearningHeaderUserMenuItems.js.map | 1 + .../LearningLoggedOutButtons.js | 24 +++ .../LearningLoggedOutButtons.js.map | 1 + dist/{ => mobile-header}/MobileHeader.js | 178 ++++++------------ dist/mobile-header/MobileHeader.js.map | 1 + dist/mobile-header/MobileHeaderMainMenu.js | 46 +++++ .../mobile-header/MobileHeaderMainMenu.js.map | 1 + dist/mobile-header/MobileHeaderUserMenu.js | 38 ++++ .../mobile-header/MobileHeaderUserMenu.js.map | 1 + dist/mobile-header/MobileLoggedOutItems.js | 27 +++ .../mobile-header/MobileLoggedOutItems.js.map | 1 + dist/plugin-slots/CourseInfoSlot/README.md | 125 ++++++++++++ ...omponents_before_and_after_course_info.png | Bin 0 -> 17506 bytes ...lace_course_info_with_custom_component.png | Bin 0 -> 13292 bytes .../images/replace_course_title.png | Bin 0 -> 14889 bytes dist/plugin-slots/CourseInfoSlot/index.js | 31 +++ dist/plugin-slots/CourseInfoSlot/index.js.map | 1 + dist/plugin-slots/DesktopHeaderSlot/README.md | 41 ++++ .../desktop_header_custom_component.png | Bin 0 -> 27763 bytes dist/plugin-slots/DesktopHeaderSlot/index.js | 15 ++ .../DesktopHeaderSlot/index.js.map | 1 + .../DesktopLoggedOutItemsSlot/README.md | 134 +++++++++++++ ...ktop_logged_out_items_custom_component.png | Bin 0 -> 10817 bytes ...t_items_custom_components_before_after.png | Bin 0 -> 14297 bytes .../desktop_logged_out_items_modify_items.png | Bin 0 -> 12915 bytes .../DesktopLoggedOutItemsSlot/index.js | 19 ++ .../DesktopLoggedOutItemsSlot/index.js.map | 1 + .../DesktopMainMenuSlot/README.md | 134 +++++++++++++ .../desktop_main_menu_custom_component.png | Bin 0 -> 9023 bytes ...in_menu_custom_components_before_after.png | Bin 0 -> 15401 bytes .../images/desktop_main_menu_modify_items.png | Bin 0 -> 10583 bytes .../plugin-slots/DesktopMainMenuSlot/index.js | 19 ++ .../DesktopMainMenuSlot/index.js.map | 1 + .../DesktopSecondaryMenuSlot/README.md | 129 +++++++++++++ ...esktop_secondary_menu_custom_component.png | Bin 0 -> 14173 bytes ...ry_menu_custom_components_before_after.png | Bin 0 -> 15494 bytes .../desktop_secondary_menu_modify_items.png | Bin 0 -> 16145 bytes .../DesktopSecondaryMenuSlot/index.js | 19 ++ .../DesktopSecondaryMenuSlot/index.js.map | 1 + .../DesktopUserMenuSlot/README.md | 141 ++++++++++++++ .../desktop_user_menu_custom_component.png | Bin 0 -> 9245 bytes ...er_menu_custom_components_before_after.png | Bin 0 -> 17714 bytes .../images/desktop_user_menu_modify_items.png | Bin 0 -> 11521 bytes .../plugin-slots/DesktopUserMenuSlot/index.js | 19 ++ .../DesktopUserMenuSlot/index.js.map | 1 + dist/plugin-slots/LearningHelpSlot/README.md | 41 ++++ .../images/learning_help_custom_component.png | Bin 0 -> 18483 bytes dist/plugin-slots/LearningHelpSlot/index.js | 10 + .../LearningHelpSlot/index.js.map | 1 + .../LearningLoggedOutItemsSlot/README.md | 132 +++++++++++++ ...ning_logged_out_items_custom_component.png | Bin 0 -> 16286 bytes ...t_items_custom_components_before_after.png | Bin 0 -> 20319 bytes ...arning_logged_out_items_modified_items.png | Bin 0 -> 18555 bytes .../LearningLoggedOutItemsSlot/index.js | 17 ++ .../LearningLoggedOutItemsSlot/index.js.map | 1 + .../LearningUserMenuSlot/README.md | 130 +++++++++++++ .../learning_user_menu_custom_component.png | Bin 0 -> 7642 bytes ...er_menu_custom_components_before_after.png | Bin 0 -> 20360 bytes .../learning_user_menu_modified_items.png | Bin 0 -> 9626 bytes .../LearningUserMenuSlot/index.js | 17 ++ .../LearningUserMenuSlot/index.js.map | 1 + dist/plugin-slots/LogoSlot/README.md | 69 +++++++ dist/plugin-slots/LogoSlot/index.js | 26 +++ dist/plugin-slots/LogoSlot/index.js.map | 1 + dist/plugin-slots/MobileHeaderSlot/README.md | 41 ++++ .../images/mobile_header_custom_component.png | Bin 0 -> 15830 bytes dist/plugin-slots/MobileHeaderSlot/index.js | 15 ++ .../MobileHeaderSlot/index.js.map | 1 + .../MobileLoggedOutItemsSlot/README.md | 134 +++++++++++++ ...bile_logged_out_items_custom_component.png | Bin 0 -> 5701 bytes ...t_items_custom_components_before_after.png | Bin 0 -> 12654 bytes .../mobile_logged_out_items_modify_items.png | Bin 0 -> 10042 bytes .../MobileLoggedOutItemsSlot/index.js | 19 ++ .../MobileLoggedOutItemsSlot/index.js.map | 1 + .../plugin-slots/MobileMainMenuSlot/README.md | 134 +++++++++++++ .../mobile_main_menu_custom_component.png | Bin 0 -> 8549 bytes ...in_menu_custom_components_before_after.png | Bin 0 -> 17362 bytes .../images/mobile_main_menu_modify_items.png | Bin 0 -> 9200 bytes dist/plugin-slots/MobileMainMenuSlot/index.js | 19 ++ .../MobileMainMenuSlot/index.js.map | 1 + .../plugin-slots/MobileUserMenuSlot/README.md | 142 ++++++++++++++ .../mobile_user_menu_custom_component.png | Bin 0 -> 7939 bytes ...er_menu_custom_components_before_after.png | Bin 0 -> 13713 bytes .../images/mobile_user_menu_modify_items.png | Bin 0 -> 9173 bytes dist/plugin-slots/MobileUserMenuSlot/index.js | 19 ++ .../MobileUserMenuSlot/index.js.map | 1 + dist/plugin-slots/README.md | 15 ++ dist/studio-header/BrandNav.js | 5 +- dist/studio-header/BrandNav.js.map | 2 +- dist/studio-header/CourseLockUp.js | 5 +- dist/studio-header/CourseLockUp.js.map | 2 +- dist/studio-header/HeaderBody.js | 30 ++- dist/studio-header/HeaderBody.js.map | 2 +- dist/studio-header/MobileHeader.js | 8 +- dist/studio-header/MobileHeader.js.map | 2 +- dist/studio-header/MobileMenu.js | 9 +- dist/studio-header/MobileMenu.js.map | 2 +- dist/studio-header/NavDropdownMenu.js | 10 +- dist/studio-header/NavDropdownMenu.js.map | 2 +- dist/studio-header/StudioHeader.js | 16 +- dist/studio-header/StudioHeader.js.map | 2 +- dist/studio-header/StudioHeader.scss | 4 +- dist/studio-header/messages.js | 5 - dist/studio-header/messages.js.map | 2 +- dist/studio-header/utils.js | 3 - dist/studio-header/utils.js.map | 2 +- dist/test-utils.js | 2 +- dist/test-utils.js.map | 2 +- 137 files changed, 2397 insertions(+), 384 deletions(-) delete mode 100644 dist/DesktopHeader.js.map delete mode 100644 dist/MobileHeader.js.map rename dist/{ => desktop-header}/DesktopHeader.js (60%) create mode 100644 dist/desktop-header/DesktopHeader.js.map create mode 100644 dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js create mode 100644 dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map create mode 100644 dist/desktop-header/DesktopHeaderUserMenu.js create mode 100644 dist/desktop-header/DesktopHeaderUserMenu.js.map create mode 100644 dist/desktop-header/DesktopLoggedOutItems.js create mode 100644 dist/desktop-header/DesktopLoggedOutItems.js.map create mode 100644 dist/learning-header/LearningHeaderCourseInfo.js create mode 100644 dist/learning-header/LearningHeaderCourseInfo.js.map create mode 100644 dist/learning-header/LearningHeaderHelpLink.js create mode 100644 dist/learning-header/LearningHeaderHelpLink.js.map create mode 100644 dist/learning-header/LearningHeaderUserMenuItems.js create mode 100644 dist/learning-header/LearningHeaderUserMenuItems.js.map create mode 100644 dist/learning-header/LearningLoggedOutButtons.js create mode 100644 dist/learning-header/LearningLoggedOutButtons.js.map rename dist/{ => mobile-header}/MobileHeader.js (62%) create mode 100644 dist/mobile-header/MobileHeader.js.map create mode 100644 dist/mobile-header/MobileHeaderMainMenu.js create mode 100644 dist/mobile-header/MobileHeaderMainMenu.js.map create mode 100644 dist/mobile-header/MobileHeaderUserMenu.js create mode 100644 dist/mobile-header/MobileHeaderUserMenu.js.map create mode 100644 dist/mobile-header/MobileLoggedOutItems.js create mode 100644 dist/mobile-header/MobileLoggedOutItems.js.map create mode 100644 dist/plugin-slots/CourseInfoSlot/README.md create mode 100644 dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png create mode 100644 dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png create mode 100644 dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png create mode 100644 dist/plugin-slots/CourseInfoSlot/index.js create mode 100644 dist/plugin-slots/CourseInfoSlot/index.js.map create mode 100644 dist/plugin-slots/DesktopHeaderSlot/README.md create mode 100644 dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png create mode 100644 dist/plugin-slots/DesktopHeaderSlot/index.js create mode 100644 dist/plugin-slots/DesktopHeaderSlot/index.js.map create mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md create mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png create mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png create mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png create mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js create mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map create mode 100644 dist/plugin-slots/DesktopMainMenuSlot/README.md create mode 100644 dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png create mode 100644 dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png create mode 100644 dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png create mode 100644 dist/plugin-slots/DesktopMainMenuSlot/index.js create mode 100644 dist/plugin-slots/DesktopMainMenuSlot/index.js.map create mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/README.md create mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png create mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png create mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png create mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/index.js create mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map create mode 100644 dist/plugin-slots/DesktopUserMenuSlot/README.md create mode 100644 dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png create mode 100644 dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png create mode 100644 dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png create mode 100644 dist/plugin-slots/DesktopUserMenuSlot/index.js create mode 100644 dist/plugin-slots/DesktopUserMenuSlot/index.js.map create mode 100644 dist/plugin-slots/LearningHelpSlot/README.md create mode 100644 dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png create mode 100644 dist/plugin-slots/LearningHelpSlot/index.js create mode 100644 dist/plugin-slots/LearningHelpSlot/index.js.map create mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/README.md create mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png create mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png create mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png create mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/index.js create mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map create mode 100644 dist/plugin-slots/LearningUserMenuSlot/README.md create mode 100644 dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png create mode 100644 dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png create mode 100644 dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png create mode 100644 dist/plugin-slots/LearningUserMenuSlot/index.js create mode 100644 dist/plugin-slots/LearningUserMenuSlot/index.js.map create mode 100644 dist/plugin-slots/LogoSlot/README.md create mode 100644 dist/plugin-slots/LogoSlot/index.js create mode 100644 dist/plugin-slots/LogoSlot/index.js.map create mode 100644 dist/plugin-slots/MobileHeaderSlot/README.md create mode 100644 dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png create mode 100644 dist/plugin-slots/MobileHeaderSlot/index.js create mode 100644 dist/plugin-slots/MobileHeaderSlot/index.js.map create mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/README.md create mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png create mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png create mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png create mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/index.js create mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map create mode 100644 dist/plugin-slots/MobileMainMenuSlot/README.md create mode 100644 dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png create mode 100644 dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png create mode 100644 dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png create mode 100644 dist/plugin-slots/MobileMainMenuSlot/index.js create mode 100644 dist/plugin-slots/MobileMainMenuSlot/index.js.map create mode 100644 dist/plugin-slots/MobileUserMenuSlot/README.md create mode 100644 dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png create mode 100644 dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png create mode 100644 dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png create mode 100644 dist/plugin-slots/MobileUserMenuSlot/index.js create mode 100644 dist/plugin-slots/MobileUserMenuSlot/index.js.map create mode 100644 dist/plugin-slots/README.md diff --git a/dist/DesktopHeader.js.map b/dist/DesktopHeader.js.map deleted file mode 100644 index 8d728e965..000000000 --- a/dist/DesktopHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DesktopHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LinkedLogo","Logo","messages","CaretIcon","DesktopHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMenu","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","concat","className","tag","respondToPointerEvents","role","focusable","renderMainMenu","mainMenu","renderSecondaryMenu","secondaryMenu","renderUserMenu","_this$props","userMenu","avatar","username","intl","transitionClassName","transitionTimeout","formatMessage","size","src","alt","group","index","Fragment","heading","items","_ref","length","renderLoggedOutItems","loggedOutItems","item","i","arr","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","logoProps","logoClasses","AUTHN_MINIMAL_HEADER","_extends","Component","propTypes","oneOfType","node","array","arrayOf","shape","string","oneOf","bool","func","isRequired","defaultProps"],"sources":["../src/DesktopHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from './Menu';\nimport Avatar from './Avatar';\nimport { LinkedLogo, Logo } from './Logo';\n\n// i18n\nimport messages from './Header.messages';\n\n// Assets\nimport { CaretIcon } from './Icons';\n\nclass DesktopHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMenu(menu) {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content} \n \n \n {submenuContent}\n \n \n );\n });\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return this.renderMenu(mainMenu);\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return this.renderMenu(secondaryMenu);\n }\n\n renderUserMenu() {\n const {\n userMenu,\n avatar,\n username,\n intl,\n } = this.props;\n\n return (\n \n \n \n {username} \n \n \n {userMenu.map((group, index) => (\n // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key\n \n {group.heading &&
    {group.heading}
    }\n {group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n \n {content}\n \n ))}\n {index < userMenu.length - 1 &&
    }\n \n ))}\n \n
    \n );\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n\n return loggedOutItems.map((item, i, arr) => (\n \n {item.content}\n \n ));\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n intl,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;\n\n return (\n
    \n {intl.formatMessage(messages['header.label.skip.nav'])}\n
    \n
    \n {logoDestination === null ? : }\n \n {this.renderMainMenu()}\n \n \n {loggedIn\n ? (\n <>\n {this.renderSecondaryMenu()}\n {this.renderUserMenu()}\n \n ) : this.renderLoggedOutItems()}\n \n
    \n
    \n
    \n );\n }\n}\n\nDesktopHeader.propTypes = {\n mainMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenu: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n })),\n loggedOutItems: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n })),\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nDesktopHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n};\n\nexport default injectIntl(DesktopHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.js b/dist/Header.js index e6ef09eab..4a1ad7cb2 100644 --- a/dist/Header.js +++ b/dist/Header.js @@ -10,8 +10,8 @@ import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { AppContext } from '@edx/frontend-platform/react'; import { APP_CONFIG_INITIALIZED, ensureConfig, mergeConfig, getConfig, subscribe } from '@edx/frontend-platform'; import PropTypes from 'prop-types'; -import DesktopHeader from './DesktopHeader'; -import MobileHeader from './MobileHeader'; +import DesktopHeaderSlot from './plugin-slots/DesktopHeaderSlot'; +import MobileHeaderSlot from './plugin-slots/MobileHeaderSlot'; import messages from './Header.messages'; ensureConfig(['LMS_BASE_URL', 'LOGOUT_URL', 'LOGIN_URL', 'SITE_NAME', 'LOGO_URL', 'ORDER_HISTORY_URL'], 'Header component'); subscribe(APP_CONFIG_INITIALIZED, function () { @@ -98,9 +98,13 @@ var Header = function Header(_ref) { }; return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, { maxWidth: 769 - }, /*#__PURE__*/React.createElement(MobileHeader, props)), /*#__PURE__*/React.createElement(Responsive, { + }, /*#__PURE__*/React.createElement(MobileHeaderSlot, { + props: props + })), /*#__PURE__*/React.createElement(Responsive, { minWidth: 769 - }, /*#__PURE__*/React.createElement(DesktopHeader, props))); + }, /*#__PURE__*/React.createElement(DesktopHeaderSlot, { + props: props + }))); }; Header.defaultProps = { mainMenuItems: null, diff --git a/dist/Header.js.map b/dist/Header.js.map index 849ee5ea2..151d5cdca 100644 --- a/dist/Header.js.map +++ b/dist/Header.js.map @@ -1 +1 @@ -{"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_CONFIG_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","PropTypes","DesktopHeader","MobileHeader","messages","AUTHN_MINIMAL_HEADER","process","env","Header","_ref","intl","mainMenuItems","secondaryMenuItems","userMenuItems","_useContext","authenticatedUser","config","defaultMainMenu","type","href","concat","LMS_BASE_URL","content","formatMessage","defaultUserMenu","heading","items","ACCOUNT_PROFILE_URL","username","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","LOGOUT_URL","mainMenu","secondaryMenu","userMenu","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","createElement","Fragment","maxWidth","minWidth","defaultProps","propTypes","isRequired","oneOfType","node","array","arrayOf","shape","string","oneOf","isActive","bool"],"sources":["../src/Header.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport Responsive from 'react-responsive';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport {\n APP_CONFIG_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\nimport PropTypes from 'prop-types';\nimport DesktopHeader from './DesktopHeader';\nimport MobileHeader from './MobileHeader';\n\nimport messages from './Header.messages';\n\nensureConfig([\n 'LMS_BASE_URL',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'SITE_NAME',\n 'LOGO_URL',\n 'ORDER_HISTORY_URL',\n], 'Header component');\n\nsubscribe(APP_CONFIG_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n }, 'Header additional config');\n});\n\n/**\n * Header component for the application.\n * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.\n * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default\n * items are displayed.\n * For more details on how to use this component, please refer to this document:\n * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst\n *\n * @param {list} mainMenuItems - The list of main menu items to display.\n * See the documentation for the structure of main menu item.\n * @param {list} secondaryMenuItems - The list of secondary menu items to display.\n * See the documentation for the structure of secondary menu item.\n * @param {list} userMenuItems - The list of user menu items to display.\n * See the documentation for the structure of user menu item.\n */\nconst Header = ({\n intl, mainMenuItems, secondaryMenuItems, userMenuItems,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const defaultMainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n const defaultUserMenu = authenticatedUser === null ? [] : [{\n heading: '',\n items: [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.user.menu.dashboard']),\n },\n {\n type: 'item',\n href: `${config.ACCOUNT_PROFILE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: config.ACCOUNT_SETTINGS_URL,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n ...(config.ORDER_HISTORY_URL ? [{\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n }] : []),\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ],\n }];\n\n const mainMenu = mainMenuItems || defaultMainMenu;\n const secondaryMenu = secondaryMenuItems || [];\n const userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;\n\n const loggedOutItems = [\n {\n type: 'item',\n href: config.LOGIN_URL,\n content: intl.formatMessage(messages['header.user.menu.login']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/register`,\n content: intl.formatMessage(messages['header.user.menu.register']),\n },\n ];\n\n const props = {\n logo: config.LOGO_URL,\n logoAltText: config.SITE_NAME,\n logoDestination: `${config.LMS_BASE_URL}/dashboard`,\n loggedIn: authenticatedUser !== null,\n username: authenticatedUser !== null ? authenticatedUser.username : null,\n avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,\n mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,\n secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,\n userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n\nHeader.defaultProps = {\n mainMenuItems: null,\n secondaryMenuItems: null,\n userMenuItems: null,\n};\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n mainMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenuItems: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n })),\n })),\n};\n\nexport default injectIntl(Header);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_CONFIG_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","PropTypes","DesktopHeaderSlot","MobileHeaderSlot","messages","AUTHN_MINIMAL_HEADER","process","env","Header","_ref","intl","mainMenuItems","secondaryMenuItems","userMenuItems","_useContext","authenticatedUser","config","defaultMainMenu","type","href","concat","LMS_BASE_URL","content","formatMessage","defaultUserMenu","heading","items","ACCOUNT_PROFILE_URL","username","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","LOGOUT_URL","mainMenu","secondaryMenu","userMenu","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","createElement","Fragment","maxWidth","minWidth","defaultProps","propTypes","isRequired","oneOfType","node","array","arrayOf","shape","string","oneOf","isActive","bool"],"sources":["../src/Header.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport Responsive from 'react-responsive';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport {\n APP_CONFIG_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\nimport PropTypes from 'prop-types';\nimport DesktopHeaderSlot from './plugin-slots/DesktopHeaderSlot';\nimport MobileHeaderSlot from './plugin-slots/MobileHeaderSlot';\n\nimport messages from './Header.messages';\n\nensureConfig([\n 'LMS_BASE_URL',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'SITE_NAME',\n 'LOGO_URL',\n 'ORDER_HISTORY_URL',\n], 'Header component');\n\nsubscribe(APP_CONFIG_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n }, 'Header additional config');\n});\n\n/**\n * Header component for the application.\n * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.\n * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default\n * items are displayed.\n * For more details on how to use this component, please refer to this document:\n * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst\n *\n * @param {list} mainMenuItems - The list of main menu items to display.\n * See the documentation for the structure of main menu item.\n * @param {list} secondaryMenuItems - The list of secondary menu items to display.\n * See the documentation for the structure of secondary menu item.\n * @param {list} userMenuItems - The list of user menu items to display.\n * See the documentation for the structure of user menu item.\n */\nconst Header = ({\n intl, mainMenuItems, secondaryMenuItems, userMenuItems,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const defaultMainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n const defaultUserMenu = authenticatedUser === null ? [] : [{\n heading: '',\n items: [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.user.menu.dashboard']),\n },\n {\n type: 'item',\n href: `${config.ACCOUNT_PROFILE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: config.ACCOUNT_SETTINGS_URL,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n ...(config.ORDER_HISTORY_URL ? [{\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n }] : []),\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ],\n }];\n\n const mainMenu = mainMenuItems || defaultMainMenu;\n const secondaryMenu = secondaryMenuItems || [];\n const userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;\n\n const loggedOutItems = [\n {\n type: 'item',\n href: config.LOGIN_URL,\n content: intl.formatMessage(messages['header.user.menu.login']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/register`,\n content: intl.formatMessage(messages['header.user.menu.register']),\n },\n ];\n\n const props = {\n logo: config.LOGO_URL,\n logoAltText: config.SITE_NAME,\n logoDestination: `${config.LMS_BASE_URL}/dashboard`,\n loggedIn: authenticatedUser !== null,\n username: authenticatedUser !== null ? authenticatedUser.username : null,\n avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,\n mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,\n secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,\n userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n\nHeader.defaultProps = {\n mainMenuItems: null,\n secondaryMenuItems: null,\n userMenuItems: null,\n};\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n mainMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenuItems: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n })),\n })),\n};\n\nexport default injectIntl(Header);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.messages.js b/dist/Header.messages.js index 4aac3e8fd..3fc99ceea 100644 --- a/dist/Header.messages.js +++ b/dist/Header.messages.js @@ -60,11 +60,6 @@ var messages = defineMessages({ defaultMessage: 'Studio Home', description: 'Link to the Studio Home' }, - 'header.user.menu.studio.maintenance': { - id: 'header.user.menu.studio.maintenance', - defaultMessage: 'Maintenance', - description: 'Link to the Studio Maintenance' - }, 'header.label.account.nav': { id: 'header.label.account.nav', defaultMessage: 'Account', diff --git a/dist/Header.messages.js.map b/dist/Header.messages.js.map index 1dd150c4c..931563ca2 100644 --- a/dist/Header.messages.js.map +++ b/dist/Header.messages.js.map @@ -1 +1 @@ -{"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.user.menu.studio.maintenance': {\n id: 'header.user.menu.studio.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio Maintenance',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,sBAAsB,EAAE;IACtBE,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf,CAAC;EACD,6BAA6B,EAAE;IAC7BF,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,sBAAsB,EAAE;IACtBF,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,oBAAoB;IACpCC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,mCAAmC,EAAE;IACnCF,EAAE,EAAE,mCAAmC;IACvCC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,gCAAgC,EAAE;IAChCF,EAAE,EAAE,gCAAgC;IACpCC,cAAc,EAAE,eAAe;IAC/BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,OAAO;IACvBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,8BAA8B,EAAE;IAC9BF,EAAE,EAAE,8BAA8B;IAClCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,sBAAsB;IACtCC,WAAW,EAAE;EACf,CAAC;EACD,sBAAsB,EAAE;IACtBF,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,KAAK;IACrBC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/Logo.js b/dist/Logo.js index 8b8d820ce..5615f46b7 100644 --- a/dist/Logo.js +++ b/dist/Logo.js @@ -1,41 +1,28 @@ -var _excluded = ["src", "alt"], - _excluded2 = ["href", "src", "alt"]; +var _excluded = ["href", "src", "alt"]; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } import React from 'react'; import PropTypes from 'prop-types'; var Logo = function Logo(_ref) { - var src = _ref.src, + var href = _ref.href, + src = _ref.src, alt = _ref.alt, attributes = _objectWithoutProperties(_ref, _excluded); - return /*#__PURE__*/React.createElement("img", _extends({ - src: src, - alt: alt - }, attributes)); -}; -Logo.propTypes = { - src: PropTypes.string.isRequired, - alt: PropTypes.string.isRequired -}; -var LinkedLogo = function LinkedLogo(_ref2) { - var href = _ref2.href, - src = _ref2.src, - alt = _ref2.alt, - attributes = _objectWithoutProperties(_ref2, _excluded2); return /*#__PURE__*/React.createElement("a", _extends({ - href: href + href: href, + className: "logo" }, attributes), /*#__PURE__*/React.createElement("img", { className: "d-block", src: src, alt: alt })); }; -LinkedLogo.propTypes = { +export var logoDataShape = { href: PropTypes.string.isRequired, src: PropTypes.string.isRequired, alt: PropTypes.string.isRequired }; -export { LinkedLogo, Logo }; +Logo.propTypes = logoDataShape; export default Logo; //# sourceMappingURL=Logo.js.map \ No newline at end of file diff --git a/dist/Logo.js.map b/dist/Logo.js.map index 8ab0a7fc2..b977ed4c7 100644 --- a/dist/Logo.js.map +++ b/dist/Logo.js.map @@ -1 +1 @@ -{"version":3,"file":"Logo.js","names":["React","PropTypes","Logo","_ref","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","propTypes","string","isRequired","LinkedLogo","_ref2","href","_excluded2","className"],"sources":["../src/Logo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Logo = ({ src, alt, ...attributes }) => (\n {alt}\n);\n\nLogo.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n \n {alt}\n \n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nexport { LinkedLogo, Logo };\nexport default Logo;\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA;EAAA,IAAMC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAKC,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBACrCR,KAAA,CAAAS,aAAA,QAAAC,QAAA;IAAKN,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,GAAKC,UAAU,CAAG,CAAC;AAAA,CAC5C;AAEDJ,IAAI,CAACS,SAAS,GAAG;EACfP,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,GAAG,EAAEJ,SAAS,CAACW,MAAM,CAACC;AACxB,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA;EAAA,IACdC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IACJZ,GAAG,GAAAW,KAAA,CAAHX,GAAG;IACHC,GAAG,GAAAU,KAAA,CAAHV,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAQ,KAAA,EAAAE,UAAA;EAAA,oBAEbjB,KAAA,CAAAS,aAAA,MAAAC,QAAA;IAAGM,IAAI,EAAEA;EAAK,GAAKV,UAAU,gBAC3BN,KAAA,CAAAS,aAAA;IAAKS,SAAS,EAAC,SAAS;IAACd,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAEDS,UAAU,CAACH,SAAS,GAAG;EACrBK,IAAI,EAAEf,SAAS,CAACW,MAAM,CAACC,UAAU;EACjCT,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,GAAG,EAAEJ,SAAS,CAACW,MAAM,CAACC;AACxB,CAAC;AAED,SAASC,UAAU,EAAEZ,IAAI;AACzB,eAAeA,IAAI","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"Logo.js","names":["React","PropTypes","Logo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","logoDataShape","string","isRequired","propTypes"],"sources":["../src/Logo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Logo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n \n {alt}\n \n);\n\nexport const logoDataShape = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nLogo.propTypes = logoDataShape;\n\nexport default Logo;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA;EAAA,IACRC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAEbT,KAAA,CAAAU,aAAA,MAAAC,QAAA;IAAGP,IAAI,EAAEA,IAAK;IAACQ,SAAS,EAAC;EAAM,GAAKL,UAAU,gBAC5CP,KAAA,CAAAU,aAAA;IAAKE,SAAS,EAAC,SAAS;IAACP,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAED,OAAO,IAAMO,aAAa,GAAG;EAC3BT,IAAI,EAAEH,SAAS,CAACa,MAAM,CAACC,UAAU;EACjCV,GAAG,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EAChCT,GAAG,EAAEL,SAAS,CAACa,MAAM,CAACC;AACxB,CAAC;AAEDb,IAAI,CAACc,SAAS,GAAGH,aAAa;AAE9B,eAAeX,IAAI","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/Menu.js b/dist/Menu/Menu.js index ce30608b4..80acdf925 100644 --- a/dist/Menu/Menu.js +++ b/dist/Menu/Menu.js @@ -16,8 +16,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } import React from 'react'; import { CSSTransition } from 'react-transition-group'; import PropTypes from 'prop-types'; diff --git a/dist/Menu/Menu.js.map b/dist/Menu/Menu.js.map index 1f8d151eb..f4c67cc0a 100644 --- a/dist/Menu/Menu.js.map +++ b/dist/Menu/Menu.js.map @@ -1 +1 @@ -{"version":3,"file":"Menu.js","names":["React","CSSTransition","PropTypes","MenuTrigger","_ref","tag","className","attributes","_objectWithoutProperties","_excluded","createElement","_objectSpread","concat","propTypes","string","defaultProps","MenuTriggerComp","MenuTriggerType","type","MenuContent","_ref2","_excluded2","join","menuPropTypes","onClose","func","onOpen","closeOnDocumentClick","bool","respondToPointerEvents","transitionTimeout","number","transitionClassName","children","arrayOf","node","isRequired","Menu","_React$Component","props","_this","_classCallCheck","_callSuper","menu","createRef","state","expanded","onTriggerClick","bind","onCloseClick","onKeyDown","onDocumentClick","onMouseEnter","onMouseLeave","_inherits","_createClass","key","value","componentWillUnmount","document","removeEventListener","e","clickIsInMenu","current","target","contains","close","getAttribute","preventDefault","toggle","getFocusableElements","focus","stopPropagation","activeElement","shiftKey","focusPrevious","focusNext","open","querySelectorAll","getAttributesFromProps","_this2","Object","keys","filter","property","undefined","forEach","focusableElements","Array","from","activeIndex","indexOf","nextIndex","length","previousIndex","setState","addEventListener","renderTrigger","cloneElement","onClick","renderMenuContent","timeout","classNames","unmountOnExit","render","_this3","wrappedChildren","Children","map","child","rootClassName","ref","Component"],"sources":["../../src/Menu/Menu.jsx"],"sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\n\nconst MenuTrigger = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: `menu-trigger ${className}`,\n ...attributes,\n});\nMenuTrigger.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuTrigger.defaultProps = {\n tag: 'div',\n className: null,\n};\nconst MenuTriggerComp = ;\nconst MenuTriggerType = MenuTriggerComp.type;\n\nconst MenuContent = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: ['menu-content', className].join(' '),\n ...attributes,\n});\nMenuContent.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuContent.defaultProps = {\n tag: 'div',\n className: null,\n};\n\nconst menuPropTypes = {\n tag: PropTypes.string,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n closeOnDocumentClick: PropTypes.bool,\n respondToPointerEvents: PropTypes.bool,\n className: PropTypes.string,\n transitionTimeout: PropTypes.number,\n transitionClassName: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node).isRequired,\n};\n\nclass Menu extends React.Component {\n constructor(props) {\n super(props);\n\n this.menu = React.createRef();\n this.state = {\n expanded: false,\n };\n\n this.onTriggerClick = this.onTriggerClick.bind(this);\n this.onCloseClick = this.onCloseClick.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onDocumentClick = this.onDocumentClick.bind(this);\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n }\n\n // Lifecycle Events\n componentWillUnmount() {\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n\n // Call onClose callback when unmounting and open\n if (this.state.expanded && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n // Event handlers\n onDocumentClick(e) {\n if (!this.props.closeOnDocumentClick) {\n return;\n }\n\n const clickIsInMenu = this.menu.current === e.target || this.menu.current.contains(e.target);\n if (clickIsInMenu) {\n return;\n }\n\n this.close();\n }\n\n onTriggerClick(e) {\n // Let the browser follow the link of the trigger if the menu\n // is already expanded and the trigger has an href attribute\n if (this.state.expanded && e.target.getAttribute('href')) {\n return;\n }\n\n e.preventDefault();\n this.toggle();\n }\n\n onCloseClick() {\n this.getFocusableElements()[0].focus();\n this.close();\n }\n\n onKeyDown(e) {\n if (!this.state.expanded) {\n return;\n }\n switch (e.key) {\n case 'Escape': {\n e.preventDefault();\n e.stopPropagation();\n this.getFocusableElements()[0].focus();\n this.close();\n break;\n }\n case 'Enter': {\n // Using focusable elements instead of a ref to the trigger\n // because Hyperlink and Button can handle refs as functional components\n if (document.activeElement === this.getFocusableElements()[0]) {\n e.preventDefault();\n this.toggle();\n }\n break;\n }\n case 'Tab': {\n e.preventDefault();\n if (e.shiftKey) {\n this.focusPrevious();\n } else {\n this.focusNext();\n }\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.focusNext();\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.focusPrevious();\n break;\n }\n default:\n }\n }\n\n onMouseEnter() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.open();\n }\n\n onMouseLeave() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.close();\n }\n\n // Internal functions\n\n getFocusableElements() {\n return this.menu.current.querySelectorAll('button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])');\n }\n\n getAttributesFromProps() {\n // Any extra props are attributes for the menu\n const attributes = {};\n Object.keys(this.props)\n .filter(property => menuPropTypes[property] === undefined)\n .forEach((property) => {\n attributes[property] = this.props[property];\n });\n return attributes;\n }\n\n focusNext() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (activeIndex + 1) % focusableElements.length;\n focusableElements[nextIndex].focus();\n }\n\n focusPrevious() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (activeIndex || focusableElements.length) - 1;\n focusableElements[previousIndex].focus();\n }\n\n open() {\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n this.setState({ expanded: true });\n // Listen to touchend and click events to ensure the menu\n // can be closed on mobile, pointer, and mixed input devices\n document.addEventListener('touchend', this.onDocumentClick, true);\n document.addEventListener('click', this.onDocumentClick, true);\n }\n\n close() {\n if (this.props.onClose) {\n this.props.onClose();\n }\n this.setState({ expanded: false });\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n }\n\n toggle() {\n if (this.state.expanded) {\n this.close();\n } else {\n this.open();\n }\n }\n\n renderTrigger(node) {\n return React.cloneElement(node, {\n onClick: this.onTriggerClick,\n 'aria-haspopup': 'menu',\n 'aria-expanded': this.state.expanded,\n });\n }\n\n renderMenuContent(node) {\n return (\n \n {node}\n \n );\n }\n\n render() {\n const { className } = this.props;\n\n const wrappedChildren = React.Children.map(this.props.children, (child) => {\n if (child.type === MenuTriggerType) {\n return this.renderTrigger(child);\n }\n return this.renderMenuContent(child);\n });\n\n const rootClassName = this.state.expanded ? 'menu expanded' : 'menu';\n\n return React.createElement(this.props.tag, {\n className: `${rootClassName} ${className}`,\n ref: this.menu,\n onKeyDown: this.onKeyDown,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n ...this.getAttributesFromProps(),\n }, wrappedChildren);\n }\n}\n\nMenu.propTypes = menuPropTypes;\nMenu.defaultProps = {\n tag: 'div',\n className: null,\n onClose: null,\n onOpen: null,\n respondToPointerEvents: false,\n closeOnDocumentClick: true,\n transitionTimeout: 250,\n transitionClassName: 'menu-content',\n};\n\nexport { Menu, MenuTrigger, MenuContent };\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"Menu.js","names":["React","CSSTransition","PropTypes","MenuTrigger","_ref","tag","className","attributes","_objectWithoutProperties","_excluded","createElement","_objectSpread","concat","propTypes","string","defaultProps","MenuTriggerComp","MenuTriggerType","type","MenuContent","_ref2","_excluded2","join","menuPropTypes","onClose","func","onOpen","closeOnDocumentClick","bool","respondToPointerEvents","transitionTimeout","number","transitionClassName","children","arrayOf","node","isRequired","Menu","_React$Component","props","_this","_classCallCheck","_callSuper","menu","createRef","state","expanded","onTriggerClick","bind","onCloseClick","onKeyDown","onDocumentClick","onMouseEnter","onMouseLeave","_inherits","_createClass","key","value","componentWillUnmount","document","removeEventListener","e","clickIsInMenu","current","target","contains","close","getAttribute","preventDefault","toggle","getFocusableElements","focus","stopPropagation","activeElement","shiftKey","focusPrevious","focusNext","open","querySelectorAll","getAttributesFromProps","_this2","Object","keys","filter","property","undefined","forEach","focusableElements","Array","from","activeIndex","indexOf","nextIndex","length","previousIndex","setState","addEventListener","renderTrigger","cloneElement","onClick","renderMenuContent","timeout","classNames","unmountOnExit","render","_this3","wrappedChildren","Children","map","child","rootClassName","ref","Component"],"sources":["../../src/Menu/Menu.jsx"],"sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\n\nconst MenuTrigger = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: `menu-trigger ${className}`,\n ...attributes,\n});\nMenuTrigger.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuTrigger.defaultProps = {\n tag: 'div',\n className: null,\n};\nconst MenuTriggerComp = ;\nconst MenuTriggerType = MenuTriggerComp.type;\n\nconst MenuContent = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: ['menu-content', className].join(' '),\n ...attributes,\n});\nMenuContent.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuContent.defaultProps = {\n tag: 'div',\n className: null,\n};\n\nconst menuPropTypes = {\n tag: PropTypes.string,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n closeOnDocumentClick: PropTypes.bool,\n respondToPointerEvents: PropTypes.bool,\n className: PropTypes.string,\n transitionTimeout: PropTypes.number,\n transitionClassName: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node).isRequired,\n};\n\nclass Menu extends React.Component {\n constructor(props) {\n super(props);\n\n this.menu = React.createRef();\n this.state = {\n expanded: false,\n };\n\n this.onTriggerClick = this.onTriggerClick.bind(this);\n this.onCloseClick = this.onCloseClick.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onDocumentClick = this.onDocumentClick.bind(this);\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n }\n\n // Lifecycle Events\n componentWillUnmount() {\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n\n // Call onClose callback when unmounting and open\n if (this.state.expanded && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n // Event handlers\n onDocumentClick(e) {\n if (!this.props.closeOnDocumentClick) {\n return;\n }\n\n const clickIsInMenu = this.menu.current === e.target || this.menu.current.contains(e.target);\n if (clickIsInMenu) {\n return;\n }\n\n this.close();\n }\n\n onTriggerClick(e) {\n // Let the browser follow the link of the trigger if the menu\n // is already expanded and the trigger has an href attribute\n if (this.state.expanded && e.target.getAttribute('href')) {\n return;\n }\n\n e.preventDefault();\n this.toggle();\n }\n\n onCloseClick() {\n this.getFocusableElements()[0].focus();\n this.close();\n }\n\n onKeyDown(e) {\n if (!this.state.expanded) {\n return;\n }\n switch (e.key) {\n case 'Escape': {\n e.preventDefault();\n e.stopPropagation();\n this.getFocusableElements()[0].focus();\n this.close();\n break;\n }\n case 'Enter': {\n // Using focusable elements instead of a ref to the trigger\n // because Hyperlink and Button can handle refs as functional components\n if (document.activeElement === this.getFocusableElements()[0]) {\n e.preventDefault();\n this.toggle();\n }\n break;\n }\n case 'Tab': {\n e.preventDefault();\n if (e.shiftKey) {\n this.focusPrevious();\n } else {\n this.focusNext();\n }\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.focusNext();\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.focusPrevious();\n break;\n }\n default:\n }\n }\n\n onMouseEnter() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.open();\n }\n\n onMouseLeave() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.close();\n }\n\n // Internal functions\n\n getFocusableElements() {\n return this.menu.current.querySelectorAll('button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])');\n }\n\n getAttributesFromProps() {\n // Any extra props are attributes for the menu\n const attributes = {};\n Object.keys(this.props)\n .filter(property => menuPropTypes[property] === undefined)\n .forEach((property) => {\n attributes[property] = this.props[property];\n });\n return attributes;\n }\n\n focusNext() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (activeIndex + 1) % focusableElements.length;\n focusableElements[nextIndex].focus();\n }\n\n focusPrevious() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (activeIndex || focusableElements.length) - 1;\n focusableElements[previousIndex].focus();\n }\n\n open() {\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n this.setState({ expanded: true });\n // Listen to touchend and click events to ensure the menu\n // can be closed on mobile, pointer, and mixed input devices\n document.addEventListener('touchend', this.onDocumentClick, true);\n document.addEventListener('click', this.onDocumentClick, true);\n }\n\n close() {\n if (this.props.onClose) {\n this.props.onClose();\n }\n this.setState({ expanded: false });\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n }\n\n toggle() {\n if (this.state.expanded) {\n this.close();\n } else {\n this.open();\n }\n }\n\n renderTrigger(node) {\n return React.cloneElement(node, {\n onClick: this.onTriggerClick,\n 'aria-haspopup': 'menu',\n 'aria-expanded': this.state.expanded,\n });\n }\n\n renderMenuContent(node) {\n return (\n \n {node}\n \n );\n }\n\n render() {\n const { className } = this.props;\n\n const wrappedChildren = React.Children.map(this.props.children, (child) => {\n if (child.type === MenuTriggerType) {\n return this.renderTrigger(child);\n }\n return this.renderMenuContent(child);\n });\n\n const rootClassName = this.state.expanded ? 'menu expanded' : 'menu';\n\n return React.createElement(this.props.tag, {\n className: `${rootClassName} ${className}`,\n ref: this.menu,\n onKeyDown: this.onKeyDown,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n ...this.getAttributesFromProps(),\n }, wrappedChildren);\n }\n}\n\nMenu.propTypes = menuPropTypes;\nMenu.defaultProps = {\n tag: 'div',\n className: null,\n onClose: null,\n onOpen: null,\n respondToPointerEvents: false,\n closeOnDocumentClick: true,\n transitionTimeout: 250,\n transitionClassName: 'menu-content',\n};\n\nexport { Menu, MenuTrigger, MenuContent };\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/MobileHeader.js.map b/dist/MobileHeader.js.map deleted file mode 100644 index 9571b85f0..000000000 --- a/dist/MobileHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LinkedLogo","Logo","messages","MenuIcon","MobileHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMenu","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","concat","className","tag","role","tabIndex","renderMainMenu","mainMenu","renderSecondaryMenu","secondaryMenu","renderUserMenuItems","userMenu","group","items","_ref","renderLoggedOutItems","loggedOutItems","_ref2","i","arr","length","render","_this$props","logo","logoAltText","logoDestination","loggedIn","avatar","username","stickyOnMobile","intl","logoProps","src","alt","stickyClassName","logoClasses","AUTHN_MINIMAL_HEADER","formatMessage","title","focusable","style","width","height","_extends","itemType","size","Component","propTypes","oneOfType","node","array","arrayOf","shape","heading","string","oneOf","bool","func","isRequired","defaultProps"],"sources":["../src/MobileHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from './Menu';\nimport Avatar from './Avatar';\nimport { LinkedLogo, Logo } from './Logo';\n\n// i18n\nimport messages from './Header.messages';\n\n// Assets\nimport { MenuIcon } from './Icons';\n\nclass MobileHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMenu(menu) {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content}\n \n \n {submenuContent}\n \n \n );\n });\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return this.renderMenu(mainMenu);\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return this.renderMenu(secondaryMenu);\n }\n\n renderUserMenuItems() {\n const { userMenu } = this.props;\n\n return userMenu.map((group) => (\n group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n
  • \n \n {content}\n \n
  • \n ))\n ));\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n\n return loggedOutItems.map(({ type, href, content }, i, arr) => (\n
  • \n \n {content}\n \n
  • \n ));\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n avatar,\n username,\n stickyOnMobile,\n intl,\n mainMenu,\n userMenu,\n loggedOutItems,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const stickyClassName = stickyOnMobile ? 'sticky-top' : '';\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center';\n\n return (\n \n {intl.formatMessage(messages['header.label.skip.nav'])}\n {mainMenu.length > 0 ? (\n
    \n\n \n \n \n \n \n {this.renderMainMenu()}\n {this.renderSecondaryMenu()}\n \n \n
    \n ) : null}\n
    \n { logoDestination === null ? : }\n
    \n {userMenu.length > 0 || loggedOutItems.length > 0 ? (\n
    \n \n \n \n \n \n {loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()}\n \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nMobileHeader.propTypes = {\n mainMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenu: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n })),\n loggedOutItems: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n })),\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n stickyOnMobile: PropTypes.bool,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nMobileHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n stickyOnMobile: true,\n\n};\n\nexport default injectIntl(MobileHeader);\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,SAAS,QAAQ,wBAAwB;;AAElD;AACA,SAASC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,QAAQ;AACvD,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,UAAU,EAAEC,IAAI,QAAQ,QAAQ;;AAEzC;AACA,OAAOC,QAAQ,MAAM,mBAAmB;;AAExC;AACA,SAASC,QAAQ,QAAQ,SAAS;AAAC,IAE7BC,YAAY,0BAAAC,gBAAA;EAChB,SAAAD,aAAYE,KAAK,EAAE;IAAAC,eAAA,OAAAH,YAAA;IAAE;IAAA,OAAAI,UAAA,OAAAJ,YAAA,GACbE,KAAK;EACb;EAACG,SAAA,CAAAL,YAAA,EAAAC,gBAAA;EAAA,OAAAK,YAAA,CAAAN,YAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,WAAWC,IAAI,EAAE;MACf;MACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;QACxB,OAAOA,IAAI;MACb;MAEA,OAAOA,IAAI,CAACG,GAAG,CAAC,UAACC,QAAQ,EAAK;QAC5B,IACEC,IAAI,GAOFD,QAAQ,CAPVC,IAAI;UACJC,IAAI,GAMFF,QAAQ,CANVE,IAAI;UACJC,OAAO,GAKLH,QAAQ,CALVG,OAAO;UACPC,cAAc,GAIZJ,QAAQ,CAJVI,cAAc;UACdC,QAAQ,GAGNL,QAAQ,CAHVK,QAAQ;UACRC,QAAQ,GAENN,QAAQ,CAFVM,QAAQ;UACRC,OAAO,GACLP,QAAQ,CADVO,OAAO;QAGT,IAAIN,IAAI,KAAK,MAAM,EAAE;UACnB,oBACE5B,KAAA,CAAAmC,aAAA;YACEf,GAAG,KAAAgB,MAAA,CAAKR,IAAI,OAAAQ,MAAA,CAAIN,OAAO,CAAG;YAC1BO,SAAS,aAAAD,MAAA,CAAaJ,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAAI,MAAA,CAAGH,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAG;YAChFJ,IAAI,EAAEA,IAAK;YACXK,OAAO,EAAEA,OAAO,IAAI;UAAK,GAExBJ,OACA,CAAC;QAER;QAEA,oBACE9B,KAAA,CAAAmC,aAAA,CAAC9B,IAAI;UAACe,GAAG,KAAAgB,MAAA,CAAKR,IAAI,OAAAQ,MAAA,CAAIN,OAAO,CAAG;UAACQ,GAAG,EAAC,KAAK;UAACD,SAAS,EAAC;QAAU,gBAC7DrC,KAAA,CAAAmC,aAAA,CAAC7B,WAAW;UAAC4B,OAAO,EAAEA,OAAO,IAAI,IAAK;UAACI,GAAG,EAAC,GAAG;UAACC,IAAI,EAAC,QAAQ;UAACC,QAAQ,EAAC,GAAG;UAACH,SAAS,EAAC;QAAU,GAC3FP,OACU,CAAC,eACd9B,KAAA,CAAAmC,aAAA,CAAC5B,WAAW;UAAC8B,SAAS,EAAC;QAAyC,GAC7DN,cACU,CACT,CAAC;MAEX,CAAC,CAAC;IACJ;EAAC;IAAAX,GAAA;IAAAC,KAAA,EAED,SAAAoB,eAAA,EAAiB;MACf,IAAQC,QAAQ,GAAK,IAAI,CAAC3B,KAAK,CAAvB2B,QAAQ;MAChB,OAAO,IAAI,CAACpB,UAAU,CAACoB,QAAQ,CAAC;IAClC;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAAsB,oBAAA,EAAsB;MACpB,IAAQC,aAAa,GAAK,IAAI,CAAC7B,KAAK,CAA5B6B,aAAa;MACrB,OAAO,IAAI,CAACtB,UAAU,CAACsB,aAAa,CAAC;IACvC;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAwB,oBAAA,EAAsB;MACpB,IAAQC,QAAQ,GAAK,IAAI,CAAC/B,KAAK,CAAvB+B,QAAQ;MAEhB,OAAOA,QAAQ,CAACpB,GAAG,CAAC,UAACqB,KAAK;QAAA,OACxBA,KAAK,CAACC,KAAK,CAACtB,GAAG,CAAC,UAAAuB,IAAA;UAAA,IACdrB,IAAI,GAAAqB,IAAA,CAAJrB,IAAI;YAAEE,OAAO,GAAAmB,IAAA,CAAPnB,OAAO;YAAED,IAAI,GAAAoB,IAAA,CAAJpB,IAAI;YAAEG,QAAQ,GAAAiB,IAAA,CAARjB,QAAQ;YAAEC,QAAQ,GAAAgB,IAAA,CAARhB,QAAQ;YAAEC,OAAO,GAAAe,IAAA,CAAPf,OAAO;UAAA,oBAEhDlC,KAAA,CAAAmC,aAAA;YAAIE,SAAS,EAAC,UAAU;YAACjB,GAAG,KAAAgB,MAAA,CAAKR,IAAI,OAAAQ,MAAA,CAAIN,OAAO;UAAG,gBACjD9B,KAAA,CAAAmC,aAAA;YACEE,SAAS,aAAAD,MAAA,CAAaH,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAAG,MAAA,CAAGJ,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAG;YAChFH,IAAI,EAAEA,IAAK;YACXK,OAAO,EAAEA,OAAO,IAAI;UAAK,GAExBJ,OACA,CACD,CAAC;QAAA,CACN,CAAC;MAAA,CACH,CAAC;IACJ;EAAC;IAAAV,GAAA;IAAAC,KAAA,EAED,SAAA6B,qBAAA,EAAuB;MACrB,IAAQC,cAAc,GAAK,IAAI,CAACpC,KAAK,CAA7BoC,cAAc;MAEtB,OAAOA,cAAc,CAACzB,GAAG,CAAC,UAAA0B,KAAA,EAA0BC,CAAC,EAAEC,GAAG;QAAA,IAA7B1B,IAAI,GAAAwB,KAAA,CAAJxB,IAAI;UAAEC,IAAI,GAAAuB,KAAA,CAAJvB,IAAI;UAAEC,OAAO,GAAAsB,KAAA,CAAPtB,OAAO;QAAA,oBAC9C9B,KAAA,CAAAmC,aAAA;UAAIE,SAAS,EAAC,oBAAoB;UAACjB,GAAG,KAAAgB,MAAA,CAAKR,IAAI,OAAAQ,MAAA,CAAIN,OAAO;QAAG,gBAC3D9B,KAAA,CAAAmC,aAAA;UACEE,SAAS,EAAEgB,CAAC,GAAGC,GAAG,CAACC,MAAM,GAAG,CAAC,GAAG,mCAAmC,GAAG,2BAA4B;UAClG1B,IAAI,EAAEA;QAAK,GAEVC,OACA,CACD,CAAC;MAAA,CACN,CAAC;IACJ;EAAC;IAAAV,GAAA;IAAAC,KAAA,EAED,SAAAmC,OAAA,EAAS;MACP,IAAAC,WAAA,GAYI,IAAI,CAAC1C,KAAK;QAXZ2C,IAAI,GAAAD,WAAA,CAAJC,IAAI;QACJC,WAAW,GAAAF,WAAA,CAAXE,WAAW;QACXC,eAAe,GAAAH,WAAA,CAAfG,eAAe;QACfC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;QACRC,MAAM,GAAAL,WAAA,CAANK,MAAM;QACNC,QAAQ,GAAAN,WAAA,CAARM,QAAQ;QACRC,cAAc,GAAAP,WAAA,CAAdO,cAAc;QACdC,IAAI,GAAAR,WAAA,CAAJQ,IAAI;QACJvB,QAAQ,GAAAe,WAAA,CAARf,QAAQ;QACRI,QAAQ,GAAAW,WAAA,CAARX,QAAQ;QACRK,cAAc,GAAAM,WAAA,CAAdN,cAAc;MAEhB,IAAMe,SAAS,GAAG;QAAEC,GAAG,EAAET,IAAI;QAAEU,GAAG,EAAET,WAAW;QAAE9B,IAAI,EAAE+B;MAAgB,CAAC;MACxE,IAAMS,eAAe,GAAGL,cAAc,GAAG,YAAY,GAAG,EAAE;MAC1D,IAAMM,WAAW,GAAGlE,SAAS,CAAC,CAAC,CAACmE,oBAAoB,GAAG,2BAA2B,GAAG,wBAAwB;MAE7G,oBACEvE,KAAA,CAAAmC,aAAA;QACE,cAAY8B,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,0BAA0B,CAAC,CAAE;QACrE0B,SAAS,iFAAAD,MAAA,CAAiFiC,eAAe;MAAG,gBAE5GrE,KAAA,CAAAmC,aAAA;QAAGE,SAAS,EAAC,oCAAoC;QAACR,IAAI,EAAC;MAAO,GAAEoC,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,uBAAuB,CAAC,CAAK,CAAC,EACzH+B,QAAQ,CAACa,MAAM,GAAG,CAAC,gBAClBvD,KAAA,CAAAmC,aAAA;QAAKE,SAAS,EAAC;MAAoC,gBAEjDrC,KAAA,CAAAmC,aAAA,CAAC9B,IAAI;QAACgC,SAAS,EAAC;MAAiB,gBAC/BrC,KAAA,CAAAmC,aAAA,CAAC7B,WAAW;QACVgC,GAAG,EAAC,QAAQ;QACZD,SAAS,EAAC,aAAa;QACvB,cAAY4B,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,wBAAwB,CAAC,CAAE;QACnE8D,KAAK,EAAER,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,wBAAwB,CAAC;MAAE,gBAE9DX,KAAA,CAAAmC,aAAA,CAACvB,QAAQ;QAAC2B,IAAI,EAAC,KAAK;QAAC,mBAAW;QAACmC,SAAS,EAAC,OAAO;QAACC,KAAK,EAAE;UAAEC,KAAK,EAAE,QAAQ;UAAEC,MAAM,EAAE;QAAS;MAAE,CAAE,CACvF,CAAC,eACd7E,KAAA,CAAAmC,aAAA,CAAC5B,WAAW;QACV+B,GAAG,EAAC,KAAK;QACT,cAAY2B,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,uBAAuB,CAAC,CAAE;QAClE0B,SAAS,EAAC;MAA2D,GAEpE,IAAI,CAACI,cAAc,CAAC,CAAC,EACrB,IAAI,CAACE,mBAAmB,CAAC,CACf,CACT,CACH,CAAC,GACJ,IAAI,eACR3C,KAAA,CAAAmC,aAAA;QAAKE,SAAS,kBAAAD,MAAA,CAAkBkC,WAAW;MAAG,GAC1CV,eAAe,KAAK,IAAI,gBAAG5D,KAAA,CAAAmC,aAAA,CAACzB,IAAI;QAAC2B,SAAS,EAAC,MAAM;QAAC8B,GAAG,EAAET,IAAK;QAACU,GAAG,EAAET;MAAY,CAAE,CAAC,gBAAG3D,KAAA,CAAAmC,aAAA,CAAC1B,UAAU,EAAAqE,QAAA;QAACzC,SAAS,EAAC;MAAM,GAAK6B,SAAS;QAAEa,QAAQ,EAAC;MAAgC,EAAE,CAC1K,CAAC,EACLjC,QAAQ,CAACS,MAAM,GAAG,CAAC,IAAIJ,cAAc,CAACI,MAAM,GAAG,CAAC,gBAC/CvD,KAAA,CAAAmC,aAAA;QAAKE,SAAS,EAAC;MAAqD,gBAClErC,KAAA,CAAAmC,aAAA,CAAC9B,IAAI;QAACiC,GAAG,EAAC,KAAK;QAAC,cAAY2B,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,4BAA4B,CAAC,CAAE;QAAC0B,SAAS,EAAC;MAAiB,gBACjHrC,KAAA,CAAAmC,aAAA,CAAC7B,WAAW;QACVgC,GAAG,EAAC,QAAQ;QACZD,SAAS,EAAC,aAAa;QACvB,cAAY4B,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,2BAA2B,CAAC,CAAE;QACtE8D,KAAK,EAAER,IAAI,CAACO,aAAa,CAAC7D,QAAQ,CAAC,2BAA2B,CAAC;MAAE,gBAEjEX,KAAA,CAAAmC,aAAA,CAAC3B,MAAM;QAACwE,IAAI,EAAC,QAAQ;QAACb,GAAG,EAAEL,MAAO;QAACM,GAAG,EAAEL;MAAS,CAAE,CACxC,CAAC,eACd/D,KAAA,CAAAmC,aAAA,CAAC5B,WAAW;QAAC+B,GAAG,EAAC,IAAI;QAACD,SAAS,EAAC;MAA2D,GACxFwB,QAAQ,GAAG,IAAI,CAAChB,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAACK,oBAAoB,CAAC,CACxD,CACT,CACH,CAAC,GACJ,IACE,CAAC;IAEb;EAAC;AAAA,EAlKwBlD,KAAK,CAACiF,SAAS;AAqK1CpE,YAAY,CAACqE,SAAS,GAAG;EACvBxC,QAAQ,EAAEzC,SAAS,CAACkF,SAAS,CAAC,CAC5BlF,SAAS,CAACmF,IAAI,EACdnF,SAAS,CAACoF,KAAK,CAChB,CAAC;EACFzC,aAAa,EAAE3C,SAAS,CAACkF,SAAS,CAAC,CACjClF,SAAS,CAACmF,IAAI,EACdnF,SAAS,CAACoF,KAAK,CAChB,CAAC;EACFvC,QAAQ,EAAE7C,SAAS,CAACqF,OAAO,CAACrF,SAAS,CAACsF,KAAK,CAAC;IAC1CC,OAAO,EAAEvF,SAAS,CAACwF,MAAM;IACzBzC,KAAK,EAAE/C,SAAS,CAACqF,OAAO,CAACrF,SAAS,CAACsF,KAAK,CAAC;MACvC3D,IAAI,EAAE3B,SAAS,CAACyF,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;MACvC7D,IAAI,EAAE5B,SAAS,CAACwF,MAAM;MACtB3D,OAAO,EAAE7B,SAAS,CAACwF,MAAM;MACzBxD,QAAQ,EAAEhC,SAAS,CAAC0F,IAAI;MACxBzD,OAAO,EAAEjC,SAAS,CAAC2F;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC;EACHzC,cAAc,EAAElD,SAAS,CAACqF,OAAO,CAACrF,SAAS,CAACsF,KAAK,CAAC;IAChD3D,IAAI,EAAE3B,SAAS,CAACyF,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC7D,IAAI,EAAE5B,SAAS,CAACwF,MAAM;IACtB3D,OAAO,EAAE7B,SAAS,CAACwF;EACrB,CAAC,CAAC,CAAC;EACH/B,IAAI,EAAEzD,SAAS,CAACwF,MAAM;EACtB9B,WAAW,EAAE1D,SAAS,CAACwF,MAAM;EAC7B7B,eAAe,EAAE3D,SAAS,CAACwF,MAAM;EACjC3B,MAAM,EAAE7D,SAAS,CAACwF,MAAM;EACxB1B,QAAQ,EAAE9D,SAAS,CAACwF,MAAM;EAC1B5B,QAAQ,EAAE5D,SAAS,CAAC0F,IAAI;EACxB3B,cAAc,EAAE/D,SAAS,CAAC0F,IAAI;EAE9B;EACA1B,IAAI,EAAE9D,SAAS,CAAC0F;AAClB,CAAC;AAEDhF,YAAY,CAACiF,YAAY,GAAG;EAC1BpD,QAAQ,EAAE,EAAE;EACZE,aAAa,EAAE,EAAE;EACjBE,QAAQ,EAAE,EAAE;EACZK,cAAc,EAAE,EAAE;EAClBO,IAAI,EAAE,IAAI;EACVC,WAAW,EAAE,IAAI;EACjBC,eAAe,EAAE,IAAI;EACrBE,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,IAAI;EACdF,QAAQ,EAAE,KAAK;EACfG,cAAc,EAAE;AAElB,CAAC;AAED,eAAe9D,UAAU,CAACW,YAAY,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/DesktopHeader.js b/dist/desktop-header/DesktopHeader.js similarity index 60% rename from dist/DesktopHeader.js rename to dist/desktop-header/DesktopHeader.js index 63c67160f..d1acc91f7 100644 --- a/dist/DesktopHeader.js +++ b/dist/desktop-header/DesktopHeader.js @@ -1,5 +1,4 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } @@ -18,15 +17,22 @@ import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { getConfig } from '@edx/frontend-platform'; // Local Components -import { Menu, MenuTrigger, MenuContent } from './Menu'; -import Avatar from './Avatar'; -import { LinkedLogo, Logo } from './Logo'; +import { Menu, MenuTrigger, MenuContent } from '../Menu'; +import Avatar from '../Avatar'; +import LogoSlot from '../plugin-slots/LogoSlot'; +import DesktopLoggedOutItemsSlot from '../plugin-slots/DesktopLoggedOutItemsSlot'; +import { desktopLoggedOutItemsDataShape } from './DesktopLoggedOutItems'; +import DesktopMainMenuSlot from '../plugin-slots/DesktopMainMenuSlot'; +import { desktopHeaderMainOrSecondaryMenuDataShape } from './DesktopHeaderMainOrSecondaryMenu'; +import DesktopSecondaryMenuSlot from '../plugin-slots/DesktopSecondaryMenuSlot'; +import DesktopUserMenuSlot from '../plugin-slots/DesktopUserMenuSlot'; +import { desktopUserMenuDataShape } from './DesktopHeaderUserMenu'; // i18n -import messages from './Header.messages'; +import messages from '../Header.messages'; // Assets -import { CaretIcon } from './Icons'; +import { CaretIcon } from '../Icons'; var DesktopHeader = /*#__PURE__*/function (_React$Component) { function DesktopHeader(props) { _classCallCheck(this, DesktopHeader); @@ -35,58 +41,20 @@ var DesktopHeader = /*#__PURE__*/function (_React$Component) { } _inherits(DesktopHeader, _React$Component); return _createClass(DesktopHeader, [{ - key: "renderMenu", - value: function renderMenu(menu) { - // Nodes are accepted as a prop - if (!Array.isArray(menu)) { - return menu; - } - return menu.map(function (menuItem) { - var type = menuItem.type, - href = menuItem.href, - content = menuItem.content, - submenuContent = menuItem.submenuContent, - disabled = menuItem.disabled, - isActive = menuItem.isActive, - onClick = menuItem.onClick; - if (type === 'item') { - return /*#__PURE__*/React.createElement("a", { - key: "".concat(type, "-").concat(content), - className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), - href: href, - onClick: onClick || null - }, content); - } - return /*#__PURE__*/React.createElement(Menu, { - key: "".concat(type, "-").concat(content), - tag: "div", - className: "nav-item", - respondToPointerEvents: true - }, /*#__PURE__*/React.createElement(MenuTrigger, { - onClick: onClick || null, - tag: "a", - className: "nav-link d-inline-flex align-items-center", - href: href - }, content, " ", /*#__PURE__*/React.createElement(CaretIcon, { - role: "img", - "aria-hidden": true, - focusable: "false" - })), /*#__PURE__*/React.createElement(MenuContent, { - className: "pin-left pin-right shadow py-2" - }, submenuContent)); - }); - } - }, { key: "renderMainMenu", value: function renderMainMenu() { var mainMenu = this.props.mainMenu; - return this.renderMenu(mainMenu); + return /*#__PURE__*/React.createElement(DesktopMainMenuSlot, { + menu: mainMenu + }); } }, { key: "renderSecondaryMenu", value: function renderSecondaryMenu() { var secondaryMenu = this.props.secondaryMenu; - return this.renderMenu(secondaryMenu); + return /*#__PURE__*/React.createElement(DesktopSecondaryMenuSlot, { + menu: secondaryMenu + }); } }, { key: "renderUserMenu", @@ -116,46 +84,16 @@ var DesktopHeader = /*#__PURE__*/function (_React$Component) { focusable: "false" })), /*#__PURE__*/React.createElement(MenuContent, { className: "mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2" - }, userMenu.map(function (group, index) { - return ( - /*#__PURE__*/ - // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key - React.createElement(React.Fragment, { - key: index - }, group.heading && /*#__PURE__*/React.createElement("div", { - className: "dropdown-header", - role: "heading", - "aria-level": "1" - }, group.heading), group.items.map(function (_ref) { - var type = _ref.type, - content = _ref.content, - href = _ref.href, - disabled = _ref.disabled, - isActive = _ref.isActive, - onClick = _ref.onClick; - return /*#__PURE__*/React.createElement("a", { - className: "dropdown-".concat(type).concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), - key: "".concat(type, "-").concat(content), - href: href, - onClick: onClick || null - }, content); - }), index < userMenu.length - 1 && /*#__PURE__*/React.createElement("div", { - className: "dropdown-divider", - role: "separator" - })) - ); + }, /*#__PURE__*/React.createElement(DesktopUserMenuSlot, { + menu: userMenu }))); } }, { key: "renderLoggedOutItems", value: function renderLoggedOutItems() { var loggedOutItems = this.props.loggedOutItems; - return loggedOutItems.map(function (item, i, arr) { - return /*#__PURE__*/React.createElement("a", { - key: "".concat(item.type, "-").concat(item.content), - className: i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary', - href: item.href - }, item.content); + return /*#__PURE__*/React.createElement(DesktopLoggedOutItemsSlot, { + items: loggedOutItems }); } }, { @@ -182,13 +120,7 @@ var DesktopHeader = /*#__PURE__*/function (_React$Component) { className: "container-fluid ".concat(logoClasses) }, /*#__PURE__*/React.createElement("div", { className: "nav-container position-relative d-flex align-items-center" - }, logoDestination === null ? /*#__PURE__*/React.createElement(Logo, { - className: "logo", - src: logo, - alt: logoAltText - }) : /*#__PURE__*/React.createElement(LinkedLogo, _extends({ - className: "logo" - }, logoProps)), /*#__PURE__*/React.createElement("nav", { + }, /*#__PURE__*/React.createElement(LogoSlot, logoProps), /*#__PURE__*/React.createElement("nav", { "aria-label": intl.formatMessage(messages['header.label.main.nav']), className: "nav main-nav" }, this.renderMainMenu()), /*#__PURE__*/React.createElement("nav", { @@ -198,30 +130,29 @@ var DesktopHeader = /*#__PURE__*/function (_React$Component) { } }]); }(React.Component); -DesktopHeader.propTypes = { - mainMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), - secondaryMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), - userMenu: PropTypes.arrayOf(PropTypes.shape({ - heading: PropTypes.string, - items: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string, - isActive: PropTypes.bool, - onClick: PropTypes.func - })) - })), - loggedOutItems: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string - })), +export var desktopHeaderDataShape = { + mainMenu: desktopHeaderMainOrSecondaryMenuDataShape, + secondaryMenu: desktopHeaderMainOrSecondaryMenuDataShape, + userMenu: desktopUserMenuDataShape, + loggedOutItems: desktopLoggedOutItemsDataShape, logo: PropTypes.string, logoAltText: PropTypes.string, logoDestination: PropTypes.string, avatar: PropTypes.string, username: PropTypes.string, - loggedIn: PropTypes.bool, + loggedIn: PropTypes.bool +}; +DesktopHeader.propTypes = { + mainMenu: desktopHeaderDataShape.mainMenu, + secondaryMenu: desktopHeaderDataShape.secondaryMenumainMenu, + userMenu: desktopHeaderDataShape.userMenumainMenu, + loggedOutItems: desktopHeaderDataShape.loggedOutItemsmainMenu, + logo: desktopHeaderDataShape.logomainMenu, + logoAltText: desktopHeaderDataShape.logoAltTextmainMenu, + logoDestination: desktopHeaderDataShape.logoDestinationmainMenu, + avatar: desktopHeaderDataShape.avatarmainMenu, + username: desktopHeaderDataShape.usernamemainMenu, + loggedIn: desktopHeaderDataShape.loggedInmainMenu, // i18n intl: intlShape.isRequired }; diff --git a/dist/desktop-header/DesktopHeader.js.map b/dist/desktop-header/DesktopHeader.js.map new file mode 100644 index 000000000..a6803f58f --- /dev/null +++ b/dist/desktop-header/DesktopHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DesktopHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LogoSlot","DesktopLoggedOutItemsSlot","desktopLoggedOutItemsDataShape","DesktopMainMenuSlot","desktopHeaderMainOrSecondaryMenuDataShape","DesktopSecondaryMenuSlot","DesktopUserMenuSlot","desktopUserMenuDataShape","messages","CaretIcon","DesktopHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMainMenu","mainMenu","createElement","menu","renderSecondaryMenu","secondaryMenu","renderUserMenu","_this$props","userMenu","avatar","username","intl","transitionClassName","transitionTimeout","tag","formatMessage","className","size","src","alt","role","focusable","renderLoggedOutItems","loggedOutItems","items","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","logoProps","href","logoClasses","AUTHN_MINIMAL_HEADER","concat","Fragment","Component","desktopHeaderDataShape","string","bool","propTypes","secondaryMenumainMenu","userMenumainMenu","loggedOutItemsmainMenu","logomainMenu","logoAltTextmainMenu","logoDestinationmainMenu","avatarmainMenu","usernamemainMenu","loggedInmainMenu","isRequired","defaultProps"],"sources":["../../src/desktop-header/DesktopHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport Avatar from '../Avatar';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport DesktopLoggedOutItemsSlot from '../plugin-slots/DesktopLoggedOutItemsSlot';\nimport { desktopLoggedOutItemsDataShape } from './DesktopLoggedOutItems';\nimport DesktopMainMenuSlot from '../plugin-slots/DesktopMainMenuSlot';\nimport { desktopHeaderMainOrSecondaryMenuDataShape } from './DesktopHeaderMainOrSecondaryMenu';\nimport DesktopSecondaryMenuSlot from '../plugin-slots/DesktopSecondaryMenuSlot';\nimport DesktopUserMenuSlot from '../plugin-slots/DesktopUserMenuSlot';\nimport { desktopUserMenuDataShape } from './DesktopHeaderUserMenu';\n\n// i18n\nimport messages from '../Header.messages';\n\n// Assets\nimport { CaretIcon } from '../Icons';\n\nclass DesktopHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return ;\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return ;\n }\n\n renderUserMenu() {\n const {\n userMenu,\n avatar,\n username,\n intl,\n } = this.props;\n\n return (\n \n \n \n {username} \n \n \n \n \n \n );\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n return ;\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n intl,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;\n\n return (\n
    \n {intl.formatMessage(messages['header.label.skip.nav'])}\n
    \n
    \n \n \n {this.renderMainMenu()}\n \n \n {loggedIn\n ? (\n <>\n {this.renderSecondaryMenu()}\n {this.renderUserMenu()}\n \n ) : this.renderLoggedOutItems()}\n \n
    \n
    \n
    \n );\n }\n}\n\nexport const desktopHeaderDataShape = {\n mainMenu: desktopHeaderMainOrSecondaryMenuDataShape,\n secondaryMenu: desktopHeaderMainOrSecondaryMenuDataShape,\n userMenu: desktopUserMenuDataShape,\n loggedOutItems: desktopLoggedOutItemsDataShape,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n};\n\nDesktopHeader.propTypes = {\n mainMenu: desktopHeaderDataShape.mainMenu,\n secondaryMenu: desktopHeaderDataShape.secondaryMenumainMenu,\n userMenu: desktopHeaderDataShape.userMenumainMenu,\n loggedOutItems: desktopHeaderDataShape.loggedOutItemsmainMenu,\n logo: desktopHeaderDataShape.logomainMenu,\n logoAltText: desktopHeaderDataShape.logoAltTextmainMenu,\n logoDestination: desktopHeaderDataShape.logoDestinationmainMenu,\n avatar: desktopHeaderDataShape.avatarmainMenu,\n username: desktopHeaderDataShape.usernamemainMenu,\n loggedIn: desktopHeaderDataShape.loggedInmainMenu,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nDesktopHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n};\n\nexport default injectIntl(DesktopHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js b/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js new file mode 100644 index 000000000..8fe7415c6 --- /dev/null +++ b/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js @@ -0,0 +1,51 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Menu, MenuTrigger, MenuContent } from '../Menu'; +import { CaretIcon } from '../Icons'; +var DesktopHeaderMainOrSecondaryMenu = function DesktopHeaderMainOrSecondaryMenu(_ref) { + var menu = _ref.menu; + // Nodes are accepted as a prop + if (!Array.isArray(menu)) { + return menu; + } + return menu.map(function (menuItem) { + var type = menuItem.type, + href = menuItem.href, + content = menuItem.content, + submenuContent = menuItem.submenuContent, + disabled = menuItem.disabled, + isActive = menuItem.isActive, + onClick = menuItem.onClick; + if (type === 'item') { + return /*#__PURE__*/React.createElement("a", { + key: "".concat(type, "-").concat(content), + className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), + href: href, + onClick: onClick || null + }, content); + } + return /*#__PURE__*/React.createElement(Menu, { + key: "".concat(type, "-").concat(content), + tag: "div", + className: "nav-item", + respondToPointerEvents: true + }, /*#__PURE__*/React.createElement(MenuTrigger, { + onClick: onClick || null, + tag: "a", + className: "nav-link d-inline-flex align-items-center", + href: href + }, content, " ", /*#__PURE__*/React.createElement(CaretIcon, { + role: "img", + "aria-hidden": true, + focusable: "false" + })), /*#__PURE__*/React.createElement(MenuContent, { + className: "pin-left pin-right shadow py-2" + }, submenuContent)); + }); +}; +export var desktopHeaderMainOrSecondaryMenuDataShape = PropTypes.oneOfType([PropTypes.node, PropTypes.array]); +DesktopHeaderMainOrSecondaryMenu.propTypes = { + menu: desktopHeaderMainOrSecondaryMenuDataShape +}; +export default DesktopHeaderMainOrSecondaryMenu; +//# sourceMappingURL=DesktopHeaderMainOrSecondaryMenu.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map b/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map new file mode 100644 index 000000000..025541fe3 --- /dev/null +++ b/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DesktopHeaderMainOrSecondaryMenu.js","names":["React","PropTypes","Menu","MenuTrigger","MenuContent","CaretIcon","DesktopHeaderMainOrSecondaryMenu","_ref","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","key","concat","className","tag","respondToPointerEvents","role","focusable","desktopHeaderMainOrSecondaryMenuDataShape","oneOfType","node","array","propTypes"],"sources":["../../src/desktop-header/DesktopHeaderMainOrSecondaryMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport { CaretIcon } from '../Icons';\n\nconst DesktopHeaderMainOrSecondaryMenu = ({ menu }) => {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content} \n \n \n {submenuContent}\n \n \n );\n });\n};\n\nexport const desktopHeaderMainOrSecondaryMenuDataShape = PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n]);\n\nDesktopHeaderMainOrSecondaryMenu.propTypes = {\n menu: desktopHeaderMainOrSecondaryMenuDataShape,\n};\n\nexport default DesktopHeaderMainOrSecondaryMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,SAAS;AACxD,SAASC,SAAS,QAAQ,UAAU;AAEpC,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAC9C;EACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,OAAOA,IAAI;EACb;EAEA,OAAOA,IAAI,CAACG,GAAG,CAAC,UAACC,QAAQ,EAAK;IAC5B,IACEC,IAAI,GAOFD,QAAQ,CAPVC,IAAI;MACJC,IAAI,GAMFF,QAAQ,CANVE,IAAI;MACJC,OAAO,GAKLH,QAAQ,CALVG,OAAO;MACPC,cAAc,GAIZJ,QAAQ,CAJVI,cAAc;MACdC,QAAQ,GAGNL,QAAQ,CAHVK,QAAQ;MACRC,QAAQ,GAENN,QAAQ,CAFVM,QAAQ;MACRC,OAAO,GACLP,QAAQ,CADVO,OAAO;IAGT,IAAIN,IAAI,KAAK,MAAM,EAAE;MACnB,oBACEb,KAAA,CAAAoB,aAAA;QACEC,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;QAC1BQ,SAAS,aAAAD,MAAA,CAAaL,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAAK,MAAA,CAAGJ,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAG;QAChFJ,IAAI,EAAEA,IAAK;QACXK,OAAO,EAAEA,OAAO,IAAI;MAAK,GAExBJ,OACA,CAAC;IAER;IAEA,oBACEf,KAAA,CAAAoB,aAAA,CAAClB,IAAI;MAACmB,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;MAACS,GAAG,EAAC,KAAK;MAACD,SAAS,EAAC,UAAU;MAACE,sBAAsB;IAAA,gBACpFzB,KAAA,CAAAoB,aAAA,CAACjB,WAAW;MAACgB,OAAO,EAAEA,OAAO,IAAI,IAAK;MAACK,GAAG,EAAC,GAAG;MAACD,SAAS,EAAC,2CAA2C;MAACT,IAAI,EAAEA;IAAK,GAC7GC,OAAO,EAAC,GAAC,eAAAf,KAAA,CAAAoB,aAAA,CAACf,SAAS;MAACqB,IAAI,EAAC,KAAK;MAAC,mBAAW;MAACC,SAAS,EAAC;IAAO,CAAE,CACpD,CAAC,eACd3B,KAAA,CAAAoB,aAAA,CAAChB,WAAW;MAACmB,SAAS,EAAC;IAAgC,GACpDP,cACU,CACT,CAAC;EAEX,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,IAAMY,yCAAyC,GAAG3B,SAAS,CAAC4B,SAAS,CAAC,CAC3E5B,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,KAAK,CAChB,CAAC;AAEFzB,gCAAgC,CAAC0B,SAAS,GAAG;EAC3CxB,IAAI,EAAEoB;AACR,CAAC;AAED,eAAetB,gCAAgC","ignoreList":[]} \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderUserMenu.js b/dist/desktop-header/DesktopHeaderUserMenu.js new file mode 100644 index 000000000..704200bb2 --- /dev/null +++ b/dist/desktop-header/DesktopHeaderUserMenu.js @@ -0,0 +1,49 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +var DesktopHeaderUserMenu = function DesktopHeaderUserMenu(_ref) { + var menu = _ref.menu; + return menu.map(function (group, index) { + return ( + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key + React.createElement(React.Fragment, { + key: index + }, group.heading && /*#__PURE__*/React.createElement("div", { + className: "dropdown-header", + role: "heading", + "aria-level": "1" + }, group.heading), group.items.map(function (_ref2) { + var type = _ref2.type, + content = _ref2.content, + href = _ref2.href, + disabled = _ref2.disabled, + isActive = _ref2.isActive, + onClick = _ref2.onClick; + return /*#__PURE__*/React.createElement("a", { + className: "dropdown-".concat(type).concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), + key: "".concat(type, "-").concat(content), + href: href, + onClick: onClick || null + }, content); + }), index < menu.length - 1 && /*#__PURE__*/React.createElement("div", { + className: "dropdown-divider", + role: "separator" + })) + ); + }); +}; +export var desktopUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({ + heading: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string, + isActive: PropTypes.bool, + onClick: PropTypes.func + })) +})); +DesktopHeaderUserMenu.propTypes = { + menu: desktopUserMenuDataShape +}; +export default DesktopHeaderUserMenu; +//# sourceMappingURL=DesktopHeaderUserMenu.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderUserMenu.js.map b/dist/desktop-header/DesktopHeaderUserMenu.js.map new file mode 100644 index 000000000..7c9c6ae11 --- /dev/null +++ b/dist/desktop-header/DesktopHeaderUserMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DesktopHeaderUserMenu.js","names":["React","PropTypes","DesktopHeaderUserMenu","_ref","menu","map","group","index","createElement","Fragment","key","heading","className","role","items","_ref2","type","content","href","disabled","isActive","onClick","concat","length","desktopUserMenuDataShape","arrayOf","shape","string","oneOf","bool","func","propTypes"],"sources":["../../src/desktop-header/DesktopHeaderUserMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DesktopHeaderUserMenu = ({ menu }) => menu.map((group, index) => (\n // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key\n \n {group.heading &&
    {group.heading}
    }\n {group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n \n {content}\n \n ))}\n {index < menu.length - 1 &&
    }\n \n));\n\nexport const desktopUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n}));\n\nDesktopHeaderUserMenu.propTypes = {\n menu: desktopUserMenuDataShape,\n};\n\nexport default DesktopHeaderUserMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,OAAOA,IAAI,CAACC,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK;IAAA;MAAA;MAChE;MACAP,KAAA,CAAAQ,aAAA,CAACR,KAAK,CAACS,QAAQ;QAACC,GAAG,EAAEH;MAAM,GACxBD,KAAK,CAACK,OAAO,iBAAIX,KAAA,CAAAQ,aAAA;QAAKI,SAAS,EAAC,iBAAiB;QAACC,IAAI,EAAC,SAAS;QAAC,cAAW;MAAG,GAAEP,KAAK,CAACK,OAAa,CAAC,EACrGL,KAAK,CAACQ,KAAK,CAACT,GAAG,CAAC,UAAAU,KAAA;QAAA,IACfC,IAAI,GAAAD,KAAA,CAAJC,IAAI;UAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;UAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;UAAEC,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;UAAEC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;UAAEC,OAAO,GAAAN,KAAA,CAAPM,OAAO;QAAA,oBAEhDrB,KAAA,CAAAQ,aAAA;UACEI,SAAS,cAAAU,MAAA,CAAcN,IAAI,EAAAM,MAAA,CAAGF,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAAE,MAAA,CAAGH,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAG;UACxFT,GAAG,KAAAY,MAAA,CAAKN,IAAI,OAAAM,MAAA,CAAIL,OAAO,CAAG;UAC1BC,IAAI,EAAEA,IAAK;UACXG,OAAO,EAAEA,OAAO,IAAI;QAAK,GAExBJ,OACA,CAAC;MAAA,CACL,CAAC,EACDV,KAAK,GAAGH,IAAI,CAACmB,MAAM,GAAG,CAAC,iBAAIvB,KAAA,CAAAQ,aAAA;QAAKI,SAAS,EAAC,kBAAkB;QAACC,IAAI,EAAC;MAAW,CAAE,CAClE;IAAC;EAAA,CAClB,CAAC;AAAA;AAEF,OAAO,IAAMW,wBAAwB,GAAGvB,SAAS,CAACwB,OAAO,CAACxB,SAAS,CAACyB,KAAK,CAAC;EACxEf,OAAO,EAAEV,SAAS,CAAC0B,MAAM;EACzBb,KAAK,EAAEb,SAAS,CAACwB,OAAO,CAACxB,SAAS,CAACyB,KAAK,CAAC;IACvCV,IAAI,EAAEf,SAAS,CAAC2B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvCV,IAAI,EAAEjB,SAAS,CAAC0B,MAAM;IACtBV,OAAO,EAAEhB,SAAS,CAAC0B,MAAM;IACzBP,QAAQ,EAAEnB,SAAS,CAAC4B,IAAI;IACxBR,OAAO,EAAEpB,SAAS,CAAC6B;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH5B,qBAAqB,CAAC6B,SAAS,GAAG;EAChC3B,IAAI,EAAEoB;AACR,CAAC;AAED,eAAetB,qBAAqB","ignoreList":[]} \ No newline at end of file diff --git a/dist/desktop-header/DesktopLoggedOutItems.js b/dist/desktop-header/DesktopLoggedOutItems.js new file mode 100644 index 000000000..f6d249836 --- /dev/null +++ b/dist/desktop-header/DesktopLoggedOutItems.js @@ -0,0 +1,22 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +var DesktopLoggedOutItems = function DesktopLoggedOutItems(_ref) { + var items = _ref.items; + return items.map(function (item, i, arr) { + return /*#__PURE__*/React.createElement("a", { + key: "".concat(item.type, "-").concat(item.content), + className: i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary', + href: item.href + }, item.content); + }); +}; +export var desktopLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string +})); +DesktopLoggedOutItems.propTypes = { + items: desktopLoggedOutItemsDataShape +}; +export default DesktopLoggedOutItems; +//# sourceMappingURL=DesktopLoggedOutItems.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopLoggedOutItems.js.map b/dist/desktop-header/DesktopLoggedOutItems.js.map new file mode 100644 index 000000000..366bfe1cd --- /dev/null +++ b/dist/desktop-header/DesktopLoggedOutItems.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DesktopLoggedOutItems.js","names":["React","PropTypes","DesktopLoggedOutItems","_ref","items","map","item","i","arr","createElement","key","concat","type","content","className","length","href","desktopLoggedOutItemsDataShape","arrayOf","shape","oneOf","string","propTypes"],"sources":["../../src/desktop-header/DesktopLoggedOutItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DesktopLoggedOutItems = ({ items }) => items.map((item, i, arr) => (\n \n {item.content}\n \n));\n\nexport const desktopLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n}));\n\nDesktopLoggedOutItems.propTypes = {\n items: desktopLoggedOutItemsDataShape,\n};\n\nexport default DesktopLoggedOutItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACC,IAAI,EAAEC,CAAC,EAAEC,GAAG;IAAA,oBAClER,KAAA,CAAAS,aAAA;MACEC,GAAG,KAAAC,MAAA,CAAKL,IAAI,CAACM,IAAI,OAAAD,MAAA,CAAIL,IAAI,CAACO,OAAO,CAAG;MACpCC,SAAS,EAAEP,CAAC,GAAGC,GAAG,CAACO,MAAM,GAAG,CAAC,GAAG,mBAAmB,GAAG,8BAA+B;MACrFC,IAAI,EAAEV,IAAI,CAACU;IAAK,GAEfV,IAAI,CAACO,OACL,CAAC;EAAA,CACL,CAAC;AAAA;AAEF,OAAO,IAAMI,8BAA8B,GAAGhB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,KAAK,CAAC;EAC9EP,IAAI,EAAEX,SAAS,CAACmB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EACvCJ,IAAI,EAAEf,SAAS,CAACoB,MAAM;EACtBR,OAAO,EAAEZ,SAAS,CAACoB;AACrB,CAAC,CAAC,CAAC;AAEHnB,qBAAqB,CAACoB,SAAS,GAAG;EAChClB,KAAK,EAAEa;AACT,CAAC;AAED,eAAef,qBAAqB","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/AnonymousUserMenu.js b/dist/learning-header/AnonymousUserMenu.js index a4a1ad0e1..62d690e0f 100644 --- a/dist/learning-header/AnonymousUserMenu.js +++ b/dist/learning-header/AnonymousUserMenu.js @@ -2,18 +2,21 @@ import React from 'react'; import { getConfig } from '@edx/frontend-platform'; import { getLoginRedirectUrl } from '@edx/frontend-platform/auth'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { Button } from '@openedx/paragon'; +import LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot'; import genericMessages from '../generic/messages'; var AnonymousUserMenu = function AnonymousUserMenu(_ref) { var intl = _ref.intl; - return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, { - className: "mr-3", - variant: "outline-primary", + var buttonsInfo = [{ + message: intl.formatMessage(genericMessages.registerSentenceCase), href: "".concat(getConfig().LMS_BASE_URL, "/register?next=").concat(encodeURIComponent(global.location.href)) - }, intl.formatMessage(genericMessages.registerSentenceCase)), /*#__PURE__*/React.createElement(Button, { - variant: "primary", - href: "".concat(getLoginRedirectUrl(global.location.href)) - }, intl.formatMessage(genericMessages.signInSentenceCase))); + }, { + message: intl.formatMessage(genericMessages.signInSentenceCase), + href: getLoginRedirectUrl(global.location.href), + variant: 'primary' + }]; + return /*#__PURE__*/React.createElement(LearningLoggedOutItemsSlot, { + buttonsInfo: buttonsInfo + }); }; AnonymousUserMenu.propTypes = { intl: intlShape.isRequired diff --git a/dist/learning-header/AnonymousUserMenu.js.map b/dist/learning-header/AnonymousUserMenu.js.map index 4244c916f..490272c3f 100644 --- a/dist/learning-header/AnonymousUserMenu.js.map +++ b/dist/learning-header/AnonymousUserMenu.js.map @@ -1 +1 @@ -{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","Button","genericMessages","AnonymousUserMenu","_ref","intl","createElement","className","variant","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","formatMessage","registerSentenceCase","signInSentenceCase","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => (\n
    \n \n {intl.formatMessage(genericMessages.registerSentenceCase)}\n \n \n {intl.formatMessage(genericMessages.signInSentenceCase)}\n \n
    \n);\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAC/BT,KAAA,CAAAU,aAAA,2BACEV,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLM,SAAS,EAAC,MAAM;IAChBC,OAAO,EAAC,iBAAiB;IACzBC,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAACc,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAE7FJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACc,oBAAoB,CAClD,CAAC,eACTpB,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLO,OAAO,EAAC,SAAS;IACjBC,IAAI,KAAAC,MAAA,CAAKZ,mBAAmB,CAACe,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAEpDJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACe,kBAAkB,CAChD,CACL,CAAC;AAAA,CACP;AAEDd,iBAAiB,CAACe,SAAS,GAAG;EAC5Bb,IAAI,EAAEL,SAAS,CAACmB;AAClB,CAAC;AAED,eAAepB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","LearningLoggedOutItemsSlot","genericMessages","AnonymousUserMenu","_ref","intl","buttonsInfo","message","formatMessage","registerSentenceCase","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","signInSentenceCase","variant","createElement","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => {\n const buttonsInfo = [\n {\n message: intl.formatMessage(genericMessages.registerSentenceCase),\n href: `${getConfig().LMS_BASE_URL}/register?next=${encodeURIComponent(global.location.href)}`,\n },\n {\n message: intl.formatMessage(genericMessages.signInSentenceCase),\n href: getLoginRedirectUrl(global.location.href),\n variant: 'primary',\n },\n ];\n\n return ;\n};\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,OAAOC,0BAA0B,MAAM,4CAA4C;AAEnF,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAC/B,IAAMC,WAAW,GAAG,CAClB;IACEC,OAAO,EAAEF,IAAI,CAACG,aAAa,CAACN,eAAe,CAACO,oBAAoB,CAAC;IACjEC,IAAI,KAAAC,MAAA,CAAKd,SAAS,CAAC,CAAC,CAACe,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAC7F,CAAC,EACD;IACEH,OAAO,EAAEF,IAAI,CAACG,aAAa,CAACN,eAAe,CAACc,kBAAkB,CAAC;IAC/DN,IAAI,EAAEZ,mBAAmB,CAACgB,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;IAC/CO,OAAO,EAAE;EACX,CAAC,CACF;EAED,oBAAOrB,KAAA,CAAAsB,aAAA,CAACjB,0BAA0B;IAACK,WAAW,EAAEA;EAAY,CAAE,CAAC;AACjE,CAAC;AAEDH,iBAAiB,CAACgB,SAAS,GAAG;EAC5Bd,IAAI,EAAEL,SAAS,CAACoB;AAClB,CAAC;AAED,eAAerB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/AuthenticatedUserDropdown.js b/dist/learning-header/AuthenticatedUserDropdown.js index a3ab0bc33..dff503a9a 100644 --- a/dist/learning-header/AuthenticatedUserDropdown.js +++ b/dist/learning-header/AuthenticatedUserDropdown.js @@ -1,3 +1,9 @@ +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } import React from 'react'; import PropTypes from 'prop-types'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; @@ -5,17 +11,28 @@ import { faUserCircle } from '@fortawesome/free-solid-svg-icons'; import { getConfig } from '@edx/frontend-platform'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { Dropdown } from '@openedx/paragon'; +import LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot'; import messages from './messages'; var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) { var intl = _ref.intl, username = _ref.username; - var dashboardMenuItem = /*#__PURE__*/React.createElement(Dropdown.Item, { + var dropdownItems = [{ + message: intl.formatMessage(messages.dashboard), href: "".concat(getConfig().LMS_BASE_URL, "/dashboard") - }, intl.formatMessage(messages.dashboard)); - return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", { - className: "text-gray-700", - href: "".concat(getConfig().SUPPORT_URL) - }, intl.formatMessage(messages.help)), /*#__PURE__*/React.createElement(Dropdown, { + }, { + message: intl.formatMessage(messages.profile), + href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username) + }, { + message: intl.formatMessage(messages.account), + href: getConfig().ACCOUNT_SETTINGS_URL + }].concat(_toConsumableArray(getConfig().ORDER_HISTORY_URL ? [{ + message: intl.formatMessage(messages.orderHistory), + href: getConfig().ORDER_HISTORY_URL + }] : []), [{ + message: intl.formatMessage(messages.signOut), + href: getConfig().LOGOUT_URL + }]); + return /*#__PURE__*/React.createElement(Dropdown, { className: "user-dropdown ml-3" }, /*#__PURE__*/React.createElement(Dropdown.Toggle, { variant: "outline-primary" @@ -28,15 +45,9 @@ var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) { className: "d-none d-md-inline" }, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, { className: "dropdown-menu-right" - }, dashboardMenuItem, /*#__PURE__*/React.createElement(Dropdown.Item, { - href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username) - }, intl.formatMessage(messages.profile)), /*#__PURE__*/React.createElement(Dropdown.Item, { - href: getConfig().ACCOUNT_SETTINGS_URL - }, intl.formatMessage(messages.account)), getConfig().ORDER_HISTORY_URL && /*#__PURE__*/React.createElement(Dropdown.Item, { - href: getConfig().ORDER_HISTORY_URL - }, intl.formatMessage(messages.orderHistory)), /*#__PURE__*/React.createElement(Dropdown.Item, { - href: getConfig().LOGOUT_URL - }, intl.formatMessage(messages.signOut))))); + }, /*#__PURE__*/React.createElement(LearningUserMenuSlot, { + items: dropdownItems + }))); }; AuthenticatedUserDropdown.propTypes = { intl: intlShape.isRequired, diff --git a/dist/learning-header/AuthenticatedUserDropdown.js.map b/dist/learning-header/AuthenticatedUserDropdown.js.map index 905f28157..c94cc404e 100644 --- a/dist/learning-header/AuthenticatedUserDropdown.js.map +++ b/dist/learning-header/AuthenticatedUserDropdown.js.map @@ -1 +1 @@ -{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","messages","AuthenticatedUserDropdown","_ref","intl","username","dashboardMenuItem","createElement","Item","href","concat","LMS_BASE_URL","formatMessage","dashboard","Fragment","className","SUPPORT_URL","help","Toggle","variant","icon","size","Menu","ACCOUNT_PROFILE_URL","profile","ACCOUNT_SETTINGS_URL","account","ORDER_HISTORY_URL","orderHistory","LOGOUT_URL","signOut","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dashboardMenuItem = (\n \n {intl.formatMessage(messages.dashboard)}\n \n );\n\n return (\n <>\n {intl.formatMessage(messages.help)}\n \n \n \n \n {username}\n \n \n \n {dashboardMenuItem}\n \n {intl.formatMessage(messages.profile)}\n \n \n {intl.formatMessage(messages.account)}\n \n { getConfig().ORDER_HISTORY_URL && (\n \n {intl.formatMessage(messages.orderHistory)}\n \n )}\n \n {intl.formatMessage(messages.signOut)}\n \n \n \n \n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","LearningUserMenuSlot","messages","AuthenticatedUserDropdown","_ref","intl","username","dropdownItems","message","formatMessage","dashboard","href","concat","LMS_BASE_URL","profile","ACCOUNT_PROFILE_URL","account","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","orderHistory","signOut","LOGOUT_URL","createElement","className","Toggle","variant","icon","size","Menu","items","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dropdownItems = [\n {\n message: intl.formatMessage(messages.dashboard),\n href: `${getConfig().LMS_BASE_URL}/dashboard`,\n },\n {\n message: intl.formatMessage(messages.profile),\n href: `${getConfig().ACCOUNT_PROFILE_URL}/u/${username}`,\n },\n {\n message: intl.formatMessage(messages.account),\n href: getConfig().ACCOUNT_SETTINGS_URL,\n },\n ...(getConfig().ORDER_HISTORY_URL ? [{\n message: intl.formatMessage(messages.orderHistory),\n href: getConfig().ORDER_HISTORY_URL,\n }] : []),\n {\n message: intl.formatMessage(messages.signOut),\n href: getConfig().LOGOUT_URL,\n },\n ];\n\n return (\n \n \n \n \n {username}\n \n \n \n \n \n \n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,YAAY,QAAQ,mCAAmC;AAChE,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,OAAOC,oBAAoB,MAAM,sCAAsC;AAEvE,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACjD,IAAMC,aAAa,IACjB;IACEC,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACQ,SAAS,CAAC;IAC/CC,IAAI,KAAAC,MAAA,CAAKf,SAAS,CAAC,CAAC,CAACgB,YAAY;EACnC,CAAC,EACD;IACEL,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACY,OAAO,CAAC;IAC7CH,IAAI,KAAAC,MAAA,CAAKf,SAAS,CAAC,CAAC,CAACkB,mBAAmB,SAAAH,MAAA,CAAMN,QAAQ;EACxD,CAAC,EACD;IACEE,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACc,OAAO,CAAC;IAC7CL,IAAI,EAAEd,SAAS,CAAC,CAAC,CAACoB;EACpB,CAAC,EAAAL,MAAA,CAAAM,kBAAA,CACGrB,SAAS,CAAC,CAAC,CAACsB,iBAAiB,GAAG,CAAC;IACnCX,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACkB,YAAY,CAAC;IAClDT,IAAI,EAAEd,SAAS,CAAC,CAAC,CAACsB;EACpB,CAAC,CAAC,GAAG,EAAE,IACP;IACEX,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACmB,OAAO,CAAC;IAC7CV,IAAI,EAAEd,SAAS,CAAC,CAAC,CAACyB;EACpB,CAAC,EACF;EAED,oBACE7B,KAAA,CAAA8B,aAAA,CAACvB,QAAQ;IAACwB,SAAS,EAAC;EAAoB,gBACtC/B,KAAA,CAAA8B,aAAA,CAACvB,QAAQ,CAACyB,MAAM;IAACC,OAAO,EAAC;EAAiB,gBACxCjC,KAAA,CAAA8B,aAAA,CAAC5B,eAAe;IAACgC,IAAI,EAAE/B,YAAa;IAAC4B,SAAS,EAAC,WAAW;IAACI,IAAI,EAAC;EAAI,CAAE,CAAC,eACvEnC,KAAA,CAAA8B,aAAA;IAAM,wBAAgB;IAACC,SAAS,EAAC;EAAoB,GAClDlB,QACG,CACS,CAAC,eAClBb,KAAA,CAAA8B,aAAA,CAACvB,QAAQ,CAAC6B,IAAI;IAACL,SAAS,EAAC;EAAqB,gBAC5C/B,KAAA,CAAA8B,aAAA,CAACtB,oBAAoB;IAAC6B,KAAK,EAAEvB;EAAc,CAAE,CAChC,CACP,CAAC;AAEf,CAAC;AAEDJ,yBAAyB,CAAC4B,SAAS,GAAG;EACpC1B,IAAI,EAAEN,SAAS,CAACiC,UAAU;EAC1B1B,QAAQ,EAAEZ,SAAS,CAACuC,MAAM,CAACD;AAC7B,CAAC;AAED,eAAelC,UAAU,CAACK,yBAAyB,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeader.js b/dist/learning-header/LearningHeader.js index 8335e6861..489266b3b 100644 --- a/dist/learning-header/LearningHeader.js +++ b/dist/learning-header/LearningHeader.js @@ -1,7 +1,3 @@ -var _excluded = ["href", "src", "alt"]; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } import React, { useContext } from 'react'; import PropTypes from 'prop-types'; import { getConfig } from '@edx/frontend-platform'; @@ -9,35 +5,20 @@ import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { AppContext } from '@edx/frontend-platform/react'; import AnonymousUserMenu from './AnonymousUserMenu'; import AuthenticatedUserDropdown from './AuthenticatedUserDropdown'; +import LogoSlot from '../plugin-slots/LogoSlot'; +import CourseInfoSlot from '../plugin-slots/CourseInfoSlot'; +import { courseInfoDataShape } from './LearningHeaderCourseInfo'; import messages from './messages'; -var LinkedLogo = function LinkedLogo(_ref) { - var href = _ref.href, - src = _ref.src, - alt = _ref.alt, - attributes = _objectWithoutProperties(_ref, _excluded); - return /*#__PURE__*/React.createElement("a", _extends({ - href: href - }, attributes), /*#__PURE__*/React.createElement("img", { - className: "d-block", - src: src, - alt: alt - })); -}; -LinkedLogo.propTypes = { - href: PropTypes.string.isRequired, - src: PropTypes.string.isRequired, - alt: PropTypes.string.isRequired -}; -var LearningHeader = function LearningHeader(_ref2) { - var courseOrg = _ref2.courseOrg, - courseNumber = _ref2.courseNumber, - courseTitle = _ref2.courseTitle, - intl = _ref2.intl, - showUserDropdown = _ref2.showUserDropdown; +import LearningHelpSlot from '../plugin-slots/LearningHelpSlot'; +var LearningHeader = function LearningHeader(_ref) { + var courseOrg = _ref.courseOrg, + courseNumber = _ref.courseNumber, + courseTitle = _ref.courseTitle, + intl = _ref.intl, + showUserDropdown = _ref.showUserDropdown; var _useContext = useContext(AppContext), authenticatedUser = _useContext.authenticatedUser; - var headerLogo = /*#__PURE__*/React.createElement(LinkedLogo, { - className: "logo", + var headerLogo = /*#__PURE__*/React.createElement(LogoSlot, { href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"), src: getConfig().LOGO_URL, alt: getConfig().SITE_NAME @@ -50,22 +31,22 @@ var LearningHeader = function LearningHeader(_ref2) { }, intl.formatMessage(messages.skipNavLink)), /*#__PURE__*/React.createElement("div", { className: "container-xl py-2 d-flex align-items-center" }, headerLogo, /*#__PURE__*/React.createElement("div", { - className: "flex-grow-1 course-title-lockup", + className: "flex-grow-1 course-title-lockup d-flex", style: { lineHeight: 1 } - }, /*#__PURE__*/React.createElement("span", { - className: "d-block small m-0" - }, courseOrg, " ", courseNumber), /*#__PURE__*/React.createElement("span", { - className: "d-block m-0 font-weight-bold course-title" - }, courseTitle)), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, { + }, /*#__PURE__*/React.createElement(CourseInfoSlot, { + courseOrg: courseOrg, + courseNumber: courseNumber, + courseTitle: courseTitle + })), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LearningHelpSlot, null), /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, { username: authenticatedUser.username - }), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null))); + })), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null))); }; LearningHeader.propTypes = { - courseOrg: PropTypes.string, - courseNumber: PropTypes.string, - courseTitle: PropTypes.string, + courseOrg: courseInfoDataShape.courseOrg, + courseNumber: courseInfoDataShape.courseNumber, + courseTitle: courseInfoDataShape.courseTitle, intl: intlShape.isRequired, showUserDropdown: PropTypes.bool }; diff --git a/dist/learning-header/LearningHeader.js.map b/dist/learning-header/LearningHeader.js.map index 0a59c3b53..1c5a685aa 100644 --- a/dist/learning-header/LearningHeader.js.map +++ b/dist/learning-header/LearningHeader.js.map @@ -1 +1 @@ -{"version":3,"file":"LearningHeader.js","names":["React","useContext","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","messages","LinkedLogo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","string","isRequired","LearningHeader","_ref2","courseOrg","courseNumber","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","headerLogo","concat","LMS_BASE_URL","LOGO_URL","SITE_NAME","formatMessage","skipNavLink","style","lineHeight","username","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport messages from './messages';\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n \n {alt}\n \n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nconst LearningHeader = ({\n courseOrg, courseNumber, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n\n const headerLogo = (\n \n );\n\n return (\n
    \n {intl.formatMessage(messages.skipNavLink)}\n
    \n {headerLogo}\n
    \n {courseOrg} {courseNumber}\n {courseTitle}\n
    \n {showUserDropdown && authenticatedUser && (\n \n )}\n {showUserDropdown && !authenticatedUser && (\n \n )}\n
    \n
    \n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: PropTypes.string,\n courseNumber: PropTypes.string,\n courseTitle: PropTypes.string,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseNumber: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,yBAAyB,MAAM,6BAA6B;AACnE,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IACdC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAEbjB,KAAA,CAAAkB,aAAA,MAAAC,QAAA;IAAGP,IAAI,EAAEA;EAAK,GAAKG,UAAU,gBAC3Bf,KAAA,CAAAkB,aAAA;IAAKE,SAAS,EAAC,SAAS;IAACP,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAEDJ,UAAU,CAACW,SAAS,GAAG;EACrBT,IAAI,EAAEV,SAAS,CAACoB,MAAM,CAACC,UAAU;EACjCV,GAAG,EAAEX,SAAS,CAACoB,MAAM,CAACC,UAAU;EAChCT,GAAG,EAAEZ,SAAS,CAACoB,MAAM,CAACC;AACxB,CAAC;AAED,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAEd;EAAA,IADJC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAEC,YAAY,GAAAF,KAAA,CAAZE,YAAY;IAAEC,WAAW,GAAAH,KAAA,CAAXG,WAAW;IAAEC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;IAAEC,gBAAgB,GAAAL,KAAA,CAAhBK,gBAAgB;EAE5D,IAAAC,WAAA,GAA8B9B,UAAU,CAACK,UAAU,CAAC;IAA5C0B,iBAAiB,GAAAD,WAAA,CAAjBC,iBAAiB;EAEzB,IAAMC,UAAU,gBACdjC,KAAA,CAAAkB,aAAA,CAACR,UAAU;IACTU,SAAS,EAAC,MAAM;IAChBR,IAAI,KAAAsB,MAAA,CAAK/B,SAAS,CAAC,CAAC,CAACgC,YAAY,eAAa;IAC9CtB,GAAG,EAAEV,SAAS,CAAC,CAAC,CAACiC,QAAS;IAC1BtB,GAAG,EAAEX,SAAS,CAAC,CAAC,CAACkC;EAAU,CAC5B,CACF;EAED,oBACErC,KAAA,CAAAkB,aAAA;IAAQE,SAAS,EAAC;EAAiB,gBACjCpB,KAAA,CAAAkB,aAAA;IAAGE,SAAS,EAAC,2BAA2B;IAACR,IAAI,EAAC;EAAe,GAAEiB,IAAI,CAACS,aAAa,CAAC7B,QAAQ,CAAC8B,WAAW,CAAK,CAAC,eAC5GvC,KAAA,CAAAkB,aAAA;IAAKE,SAAS,EAAC;EAA6C,GACzDa,UAAU,eACXjC,KAAA,CAAAkB,aAAA;IAAKE,SAAS,EAAC,iCAAiC;IAACoB,KAAK,EAAE;MAAEC,UAAU,EAAE;IAAE;EAAE,gBACxEzC,KAAA,CAAAkB,aAAA;IAAME,SAAS,EAAC;EAAmB,GAAEM,SAAS,EAAC,GAAC,EAACC,YAAmB,CAAC,eACrE3B,KAAA,CAAAkB,aAAA;IAAME,SAAS,EAAC;EAA2C,GAAEQ,WAAkB,CAC5E,CAAC,EACLE,gBAAgB,IAAIE,iBAAiB,iBACtChC,KAAA,CAAAkB,aAAA,CAACV,yBAAyB;IACxBkC,QAAQ,EAAEV,iBAAiB,CAACU;EAAS,CACtC,CACA,EACAZ,gBAAgB,IAAI,CAACE,iBAAiB,iBACvChC,KAAA,CAAAkB,aAAA,CAACX,iBAAiB,MAAE,CAEjB,CACC,CAAC;AAEb,CAAC;AAEDiB,cAAc,CAACH,SAAS,GAAG;EACzBK,SAAS,EAAExB,SAAS,CAACoB,MAAM;EAC3BK,YAAY,EAAEzB,SAAS,CAACoB,MAAM;EAC9BM,WAAW,EAAE1B,SAAS,CAACoB,MAAM;EAC7BO,IAAI,EAAExB,SAAS,CAACkB,UAAU;EAC1BO,gBAAgB,EAAE5B,SAAS,CAACyC;AAC9B,CAAC;AAEDnB,cAAc,CAACoB,YAAY,GAAG;EAC5BlB,SAAS,EAAE,IAAI;EACfC,YAAY,EAAE,IAAI;EAClBC,WAAW,EAAE,IAAI;EACjBE,gBAAgB,EAAE;AACpB,CAAC;AAED,eAAe1B,UAAU,CAACoB,cAAc,CAAC","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"LearningHeader.js","names":["React","useContext","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","LogoSlot","CourseInfoSlot","courseInfoDataShape","messages","LearningHelpSlot","LearningHeader","_ref","courseOrg","courseNumber","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","headerLogo","createElement","href","concat","LMS_BASE_URL","src","LOGO_URL","alt","SITE_NAME","className","formatMessage","skipNavLink","style","lineHeight","Fragment","username","propTypes","isRequired","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport CourseInfoSlot from '../plugin-slots/CourseInfoSlot';\nimport { courseInfoDataShape } from './LearningHeaderCourseInfo';\nimport messages from './messages';\nimport LearningHelpSlot from '../plugin-slots/LearningHelpSlot';\n\nconst LearningHeader = ({\n courseOrg, courseNumber, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n\n const headerLogo = (\n \n );\n\n return (\n
    \n {intl.formatMessage(messages.skipNavLink)}\n
    \n {headerLogo}\n
    \n \n
    \n {showUserDropdown && authenticatedUser && (\n <>\n \n \n \n )}\n {showUserDropdown && !authenticatedUser && (\n \n )}\n
    \n
    \n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: courseInfoDataShape.courseOrg,\n courseNumber: courseInfoDataShape.courseNumber,\n courseTitle: courseInfoDataShape.courseTitle,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseNumber: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderCourseInfo.js b/dist/learning-header/LearningHeaderCourseInfo.js new file mode 100644 index 000000000..23e75724d --- /dev/null +++ b/dist/learning-header/LearningHeaderCourseInfo.js @@ -0,0 +1,24 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +var LearningHeaderCourseInfo = function LearningHeaderCourseInfo(_ref) { + var courseOrg = _ref.courseOrg, + courseNumber = _ref.courseNumber, + courseTitle = _ref.courseTitle; + return /*#__PURE__*/React.createElement("div", { + style: { + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("span", { + className: "d-block small m-0" + }, courseOrg, " ", courseNumber), /*#__PURE__*/React.createElement("span", { + className: "d-block m-0 font-weight-bold course-title" + }, courseTitle)); +}; +export var courseInfoDataShape = { + courseOrg: PropTypes.string, + courseNumber: PropTypes.string, + courseTitle: PropTypes.string +}; +LearningHeaderCourseInfo.propTypes = courseInfoDataShape; +export default LearningHeaderCourseInfo; +//# sourceMappingURL=LearningHeaderCourseInfo.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderCourseInfo.js.map b/dist/learning-header/LearningHeaderCourseInfo.js.map new file mode 100644 index 000000000..d63db47ca --- /dev/null +++ b/dist/learning-header/LearningHeaderCourseInfo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LearningHeaderCourseInfo.js","names":["React","PropTypes","LearningHeaderCourseInfo","_ref","courseOrg","courseNumber","courseTitle","createElement","style","minWidth","className","courseInfoDataShape","string","propTypes"],"sources":["../../src/learning-header/LearningHeaderCourseInfo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst LearningHeaderCourseInfo = ({\n courseOrg,\n courseNumber,\n courseTitle,\n}) => (\n
    \n {courseOrg} {courseNumber}\n {courseTitle}\n
    \n);\n\nexport const courseInfoDataShape = {\n courseOrg: PropTypes.string,\n courseNumber: PropTypes.string,\n courseTitle: PropTypes.string,\n};\n\nLearningHeaderCourseInfo.propTypes = courseInfoDataShape;\n\nexport default LearningHeaderCourseInfo;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA;IAAKC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAE;EAAE,gBAC1BT,KAAA,CAAAO,aAAA;IAAMG,SAAS,EAAC;EAAmB,GAAEN,SAAS,EAAC,GAAC,EAACC,YAAmB,CAAC,eACrEL,KAAA,CAAAO,aAAA;IAAMG,SAAS,EAAC;EAA2C,GAAEJ,WAAkB,CAC5E,CAAC;AAAA,CACP;AAED,OAAO,IAAMK,mBAAmB,GAAG;EACjCP,SAAS,EAAEH,SAAS,CAACW,MAAM;EAC3BP,YAAY,EAAEJ,SAAS,CAACW,MAAM;EAC9BN,WAAW,EAAEL,SAAS,CAACW;AACzB,CAAC;AAEDV,wBAAwB,CAACW,SAAS,GAAGF,mBAAmB;AAExD,eAAeT,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderHelpLink.js b/dist/learning-header/LearningHeaderHelpLink.js new file mode 100644 index 000000000..3f1dc2c6f --- /dev/null +++ b/dist/learning-header/LearningHeaderHelpLink.js @@ -0,0 +1,13 @@ +import React from 'react'; +import { getConfig } from '@edx/frontend-platform'; +import { useIntl } from '@edx/frontend-platform/i18n'; +import messages from './messages'; +var LearningHeaderHelpLink = function LearningHeaderHelpLink() { + var intl = useIntl(); + return /*#__PURE__*/React.createElement("a", { + className: "text-gray-700", + href: "".concat(getConfig().SUPPORT_URL) + }, intl.formatMessage(messages.help)); +}; +export default LearningHeaderHelpLink; +//# sourceMappingURL=LearningHeaderHelpLink.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderHelpLink.js.map b/dist/learning-header/LearningHeaderHelpLink.js.map new file mode 100644 index 000000000..e2cbba031 --- /dev/null +++ b/dist/learning-header/LearningHeaderHelpLink.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LearningHeaderHelpLink.js","names":["React","getConfig","useIntl","messages","LearningHeaderHelpLink","intl","createElement","className","href","concat","SUPPORT_URL","formatMessage","help"],"sources":["../../src/learning-header/LearningHeaderHelpLink.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport messages from './messages';\n\nconst LearningHeaderHelpLink = () => {\n const intl = useIntl();\n return (\n {intl.formatMessage(messages.help)}\n );\n};\n\nexport default LearningHeaderHelpLink;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,OAAO,QAAQ,6BAA6B;AACrD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAS;EACnC,IAAMC,IAAI,GAAGH,OAAO,CAAC,CAAC;EACtB,oBACEF,KAAA,CAAAM,aAAA;IAAGC,SAAS,EAAC,eAAe;IAACC,IAAI,KAAAC,MAAA,CAAKR,SAAS,CAAC,CAAC,CAACS,WAAW;EAAG,GAAEL,IAAI,CAACM,aAAa,CAACR,QAAQ,CAACS,IAAI,CAAK,CAAC;AAE5G,CAAC;AAED,eAAeR,sBAAsB","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderUserMenuItems.js b/dist/learning-header/LearningHeaderUserMenuItems.js new file mode 100644 index 000000000..130552051 --- /dev/null +++ b/dist/learning-header/LearningHeaderUserMenuItems.js @@ -0,0 +1,20 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Dropdown } from '@openedx/paragon'; +var LearningHeaderUserMenuItems = function LearningHeaderUserMenuItems(_ref) { + var items = _ref.items; + return items.map(function (item) { + return /*#__PURE__*/React.createElement(Dropdown.Item, { + href: item.href + }, item.message); + }); +}; +export var learningHeaderUserMenuDataShape = { + items: PropTypes.arrayOf(PropTypes.shape({ + message: PropTypes.string, + href: PropTypes.string + })) +}; +LearningHeaderUserMenuItems.propTypes = learningHeaderUserMenuDataShape; +export default LearningHeaderUserMenuItems; +//# sourceMappingURL=LearningHeaderUserMenuItems.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderUserMenuItems.js.map b/dist/learning-header/LearningHeaderUserMenuItems.js.map new file mode 100644 index 000000000..d902bde5a --- /dev/null +++ b/dist/learning-header/LearningHeaderUserMenuItems.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LearningHeaderUserMenuItems.js","names":["React","PropTypes","Dropdown","LearningHeaderUserMenuItems","_ref","items","map","item","createElement","Item","href","message","learningHeaderUserMenuDataShape","arrayOf","shape","string","propTypes"],"sources":["../../src/learning-header/LearningHeaderUserMenuItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Dropdown } from '@openedx/paragon';\n\nconst LearningHeaderUserMenuItems = ({ items }) => items.map((item) => (\n \n {item.message}\n \n));\n\nexport const learningHeaderUserMenuDataShape = {\n items: PropTypes.arrayOf(PropTypes.shape({\n message: PropTypes.string,\n href: PropTypes.string,\n })),\n};\n\nLearningHeaderUserMenuItems.propTypes = learningHeaderUserMenuDataShape;\n\nexport default LearningHeaderUserMenuItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACC,IAAI;IAAA,oBAChEP,KAAA,CAAAQ,aAAA,CAACN,QAAQ,CAACO,IAAI;MAACC,IAAI,EAAEH,IAAI,CAACG;IAAK,GAC5BH,IAAI,CAACI,OACO,CAAC;EAAA,CACjB,CAAC;AAAA;AAEF,OAAO,IAAMC,+BAA+B,GAAG;EAC7CP,KAAK,EAAEJ,SAAS,CAACY,OAAO,CAACZ,SAAS,CAACa,KAAK,CAAC;IACvCH,OAAO,EAAEV,SAAS,CAACc,MAAM;IACzBL,IAAI,EAAET,SAAS,CAACc;EAClB,CAAC,CAAC;AACJ,CAAC;AAEDZ,2BAA2B,CAACa,SAAS,GAAGJ,+BAA+B;AAEvE,eAAeT,2BAA2B","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningLoggedOutButtons.js b/dist/learning-header/LearningLoggedOutButtons.js new file mode 100644 index 000000000..5d4d5f96c --- /dev/null +++ b/dist/learning-header/LearningLoggedOutButtons.js @@ -0,0 +1,24 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Button } from '@openedx/paragon'; +var LearningLoggedOutButtons = function LearningLoggedOutButtons(_ref) { + var buttonsInfo = _ref.buttonsInfo; + return buttonsInfo.map(function (buttonInfo) { + var _buttonInfo$variant; + return /*#__PURE__*/React.createElement(Button, { + className: "ml-3", + variant: (_buttonInfo$variant = buttonInfo.variant) !== null && _buttonInfo$variant !== void 0 ? _buttonInfo$variant : 'outline-primary', + href: buttonInfo.href + }, buttonInfo.message); + }); +}; +export var learningHeaderLoggedOutItemsDataShape = { + buttonsInfo: PropTypes.arrayOf(PropTypes.shape({ + message: PropTypes.string, + href: PropTypes.string, + variant: PropTypes.string + })) +}; +LearningLoggedOutButtons.propTypes = learningHeaderLoggedOutItemsDataShape; +export default LearningLoggedOutButtons; +//# sourceMappingURL=LearningLoggedOutButtons.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningLoggedOutButtons.js.map b/dist/learning-header/LearningLoggedOutButtons.js.map new file mode 100644 index 000000000..09911d3f9 --- /dev/null +++ b/dist/learning-header/LearningLoggedOutButtons.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LearningLoggedOutButtons.js","names":["React","PropTypes","Button","LearningLoggedOutButtons","_ref","buttonsInfo","map","buttonInfo","_buttonInfo$variant","createElement","className","variant","href","message","learningHeaderLoggedOutItemsDataShape","arrayOf","shape","string","propTypes"],"sources":["../../src/learning-header/LearningLoggedOutButtons.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '@openedx/paragon';\n\nconst LearningLoggedOutButtons = ({ buttonsInfo }) => buttonsInfo.map(buttonInfo => (\n \n {buttonInfo.message}\n \n));\n\nexport const learningHeaderLoggedOutItemsDataShape = {\n buttonsInfo: PropTypes.arrayOf(PropTypes.shape({\n message: PropTypes.string,\n href: PropTypes.string,\n variant: PropTypes.string,\n })),\n};\n\nLearningLoggedOutButtons.propTypes = learningHeaderLoggedOutItemsDataShape;\n\nexport default LearningLoggedOutButtons;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAAMC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EAAA,OAAOA,WAAW,CAACC,GAAG,CAAC,UAAAC,UAAU;IAAA,IAAAC,mBAAA;IAAA,oBAC9ER,KAAA,CAAAS,aAAA,CAACP,MAAM;MACLQ,SAAS,EAAC,MAAM;MAChBC,OAAO,GAAAH,mBAAA,GAAED,UAAU,CAACI,OAAO,cAAAH,mBAAA,cAAAA,mBAAA,GAAI,iBAAkB;MACjDI,IAAI,EAAEL,UAAU,CAACK;IAAK,GAErBL,UAAU,CAACM,OACN,CAAC;EAAA,CACV,CAAC;AAAA;AAEF,OAAO,IAAMC,qCAAqC,GAAG;EACnDT,WAAW,EAAEJ,SAAS,CAACc,OAAO,CAACd,SAAS,CAACe,KAAK,CAAC;IAC7CH,OAAO,EAAEZ,SAAS,CAACgB,MAAM;IACzBL,IAAI,EAAEX,SAAS,CAACgB,MAAM;IACtBN,OAAO,EAAEV,SAAS,CAACgB;EACrB,CAAC,CAAC;AACJ,CAAC;AAEDd,wBAAwB,CAACe,SAAS,GAAGJ,qCAAqC;AAE1E,eAAeX,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/MobileHeader.js b/dist/mobile-header/MobileHeader.js similarity index 62% rename from dist/MobileHeader.js rename to dist/mobile-header/MobileHeader.js index 9ca3421f9..0ff5d9116 100644 --- a/dist/MobileHeader.js +++ b/dist/mobile-header/MobileHeader.js @@ -1,5 +1,11 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } @@ -18,15 +24,21 @@ import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { getConfig } from '@edx/frontend-platform'; // Local Components -import { Menu, MenuTrigger, MenuContent } from './Menu'; -import Avatar from './Avatar'; -import { LinkedLogo, Logo } from './Logo'; +import { Menu, MenuTrigger, MenuContent } from '../Menu'; +import Avatar from '../Avatar'; +import LogoSlot from '../plugin-slots/LogoSlot'; +import MobileLoggedOutItemsSlot from '../plugin-slots/MobileLoggedOutItemsSlot'; +import { mobileHeaderLoggedOutItemsDataShape } from './MobileLoggedOutItems'; +import MobileMainMenuSlot from '../plugin-slots/MobileMainMenuSlot'; +import { mobileHeaderMainMenuDataShape } from './MobileHeaderMainMenu'; +import MobileUserMenuSlot from '../plugin-slots/MobileUserMenuSlot'; +import { mobileHeaderUserMenuDataShape } from './MobileHeaderUserMenu'; // i18n -import messages from './Header.messages'; +import messages from '../Header.messages'; // Assets -import { MenuIcon } from './Icons'; +import { MenuIcon } from '../Icons'; var MobileHeader = /*#__PURE__*/function (_React$Component) { function MobileHeader(props) { _classCallCheck(this, MobileHeader); @@ -35,110 +47,46 @@ var MobileHeader = /*#__PURE__*/function (_React$Component) { } _inherits(MobileHeader, _React$Component); return _createClass(MobileHeader, [{ - key: "renderMenu", - value: function renderMenu(menu) { - // Nodes are accepted as a prop - if (!Array.isArray(menu)) { - return menu; - } - return menu.map(function (menuItem) { - var type = menuItem.type, - href = menuItem.href, - content = menuItem.content, - submenuContent = menuItem.submenuContent, - disabled = menuItem.disabled, - isActive = menuItem.isActive, - onClick = menuItem.onClick; - if (type === 'item') { - return /*#__PURE__*/React.createElement("a", { - key: "".concat(type, "-").concat(content), - className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), - href: href, - onClick: onClick || null - }, content); - } - return /*#__PURE__*/React.createElement(Menu, { - key: "".concat(type, "-").concat(content), - tag: "div", - className: "nav-item" - }, /*#__PURE__*/React.createElement(MenuTrigger, { - onClick: onClick || null, - tag: "a", - role: "button", - tabIndex: "0", - className: "nav-link" - }, content), /*#__PURE__*/React.createElement(MenuContent, { - className: "position-static pin-left pin-right py-2" - }, submenuContent)); - }); - } - }, { key: "renderMainMenu", value: function renderMainMenu() { - var mainMenu = this.props.mainMenu; - return this.renderMenu(mainMenu); - } - }, { - key: "renderSecondaryMenu", - value: function renderSecondaryMenu() { - var secondaryMenu = this.props.secondaryMenu; - return this.renderMenu(secondaryMenu); + var _this$props = this.props, + mainMenu = _this$props.mainMenu, + secondaryMenu = _this$props.secondaryMenu; + return /*#__PURE__*/React.createElement(MobileMainMenuSlot, { + menu: [].concat(_toConsumableArray(mainMenu), _toConsumableArray(secondaryMenu)) + }); } }, { key: "renderUserMenuItems", value: function renderUserMenuItems() { var userMenu = this.props.userMenu; - return userMenu.map(function (group) { - return group.items.map(function (_ref) { - var type = _ref.type, - content = _ref.content, - href = _ref.href, - disabled = _ref.disabled, - isActive = _ref.isActive, - onClick = _ref.onClick; - return /*#__PURE__*/React.createElement("li", { - className: "nav-item", - key: "".concat(type, "-").concat(content) - }, /*#__PURE__*/React.createElement("a", { - className: "nav-link".concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), - href: href, - onClick: onClick || null - }, content)); - }); + return /*#__PURE__*/React.createElement(MobileUserMenuSlot, { + menu: userMenu }); } }, { key: "renderLoggedOutItems", value: function renderLoggedOutItems() { var loggedOutItems = this.props.loggedOutItems; - return loggedOutItems.map(function (_ref2, i, arr) { - var type = _ref2.type, - href = _ref2.href, - content = _ref2.content; - return /*#__PURE__*/React.createElement("li", { - className: "nav-item px-3 my-2", - key: "".concat(type, "-").concat(content) - }, /*#__PURE__*/React.createElement("a", { - className: i < arr.length - 1 ? 'btn btn-block btn-outline-primary' : 'btn btn-block btn-primary', - href: href - }, content)); + return /*#__PURE__*/React.createElement(MobileLoggedOutItemsSlot, { + items: loggedOutItems }); } }, { key: "render", value: function render() { - var _this$props = this.props, - logo = _this$props.logo, - logoAltText = _this$props.logoAltText, - logoDestination = _this$props.logoDestination, - loggedIn = _this$props.loggedIn, - avatar = _this$props.avatar, - username = _this$props.username, - stickyOnMobile = _this$props.stickyOnMobile, - intl = _this$props.intl, - mainMenu = _this$props.mainMenu, - userMenu = _this$props.userMenu, - loggedOutItems = _this$props.loggedOutItems; + var _this$props2 = this.props, + logo = _this$props2.logo, + logoAltText = _this$props2.logoAltText, + logoDestination = _this$props2.logoDestination, + loggedIn = _this$props2.loggedIn, + avatar = _this$props2.avatar, + username = _this$props2.username, + stickyOnMobile = _this$props2.stickyOnMobile, + intl = _this$props2.intl, + mainMenu = _this$props2.mainMenu, + userMenu = _this$props2.userMenu, + loggedOutItems = _this$props2.loggedOutItems; var logoProps = { src: logo, alt: logoAltText, @@ -173,15 +121,9 @@ var MobileHeader = /*#__PURE__*/function (_React$Component) { tag: "nav", "aria-label": intl.formatMessage(messages['header.label.main.nav']), className: "nav flex-column pin-left pin-right border-top shadow py-2" - }, this.renderMainMenu(), this.renderSecondaryMenu()))) : null, /*#__PURE__*/React.createElement("div", { + }, this.renderMainMenu()))) : null, /*#__PURE__*/React.createElement("div", { className: "w-100 d-flex ".concat(logoClasses) - }, logoDestination === null ? /*#__PURE__*/React.createElement(Logo, { - className: "logo", - src: logo, - alt: logoAltText - }) : /*#__PURE__*/React.createElement(LinkedLogo, _extends({ - className: "logo" - }, logoProps, { + }, /*#__PURE__*/React.createElement(LogoSlot, _extends({}, logoProps, { itemType: "http://schema.org/Organization" }))), userMenu.length > 0 || loggedOutItems.length > 0 ? /*#__PURE__*/React.createElement("div", { className: "w-100 d-flex justify-content-end align-items-center" @@ -205,31 +147,31 @@ var MobileHeader = /*#__PURE__*/function (_React$Component) { } }]); }(React.Component); -MobileHeader.propTypes = { - mainMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), - secondaryMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), - userMenu: PropTypes.arrayOf(PropTypes.shape({ - heading: PropTypes.string, - items: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string, - isActive: PropTypes.bool, - onClick: PropTypes.func - })) - })), - loggedOutItems: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string - })), +export var mobileHeaderDataShape = { + mainMenu: mobileHeaderMainMenuDataShape, + secondaryMenu: mobileHeaderMainMenuDataShape, + userMenu: mobileHeaderUserMenuDataShape, + loggedOutItems: mobileHeaderLoggedOutItemsDataShape, logo: PropTypes.string, logoAltText: PropTypes.string, logoDestination: PropTypes.string, avatar: PropTypes.string, username: PropTypes.string, loggedIn: PropTypes.bool, - stickyOnMobile: PropTypes.bool, + stickyOnMobile: PropTypes.bool +}; +MobileHeader.propTypes = { + mainMenu: mobileHeaderDataShape.mainMenu, + secondaryMenu: mobileHeaderDataShape.secondaryMenu, + userMenu: mobileHeaderDataShape.userMenu, + loggedOutItems: mobileHeaderDataShape.loggedOutItems, + logo: mobileHeaderDataShape.logo, + logoAltText: mobileHeaderDataShape.logoAltText, + logoDestination: mobileHeaderDataShape.logoDestination, + avatar: mobileHeaderDataShape.avatar, + username: mobileHeaderDataShape.username, + loggedIn: mobileHeaderDataShape.loggedIn, + stickyOnMobile: mobileHeaderDataShape.stickyOnMobile, // i18n intl: intlShape.isRequired }; diff --git a/dist/mobile-header/MobileHeader.js.map b/dist/mobile-header/MobileHeader.js.map new file mode 100644 index 000000000..e609de6b8 --- /dev/null +++ b/dist/mobile-header/MobileHeader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LogoSlot","MobileLoggedOutItemsSlot","mobileHeaderLoggedOutItemsDataShape","MobileMainMenuSlot","mobileHeaderMainMenuDataShape","MobileUserMenuSlot","mobileHeaderUserMenuDataShape","messages","MenuIcon","MobileHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMainMenu","_this$props","mainMenu","secondaryMenu","createElement","menu","concat","_toConsumableArray","renderUserMenuItems","userMenu","renderLoggedOutItems","loggedOutItems","items","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","avatar","username","stickyOnMobile","intl","logoProps","src","alt","href","stickyClassName","logoClasses","AUTHN_MINIMAL_HEADER","formatMessage","className","length","tag","title","role","focusable","style","width","height","_extends","itemType","size","Component","mobileHeaderDataShape","string","bool","propTypes","isRequired","defaultProps"],"sources":["../../src/mobile-header/MobileHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport Avatar from '../Avatar';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport MobileLoggedOutItemsSlot from '../plugin-slots/MobileLoggedOutItemsSlot';\nimport { mobileHeaderLoggedOutItemsDataShape } from './MobileLoggedOutItems';\nimport MobileMainMenuSlot from '../plugin-slots/MobileMainMenuSlot';\nimport { mobileHeaderMainMenuDataShape } from './MobileHeaderMainMenu';\nimport MobileUserMenuSlot from '../plugin-slots/MobileUserMenuSlot';\nimport { mobileHeaderUserMenuDataShape } from './MobileHeaderUserMenu';\n\n// i18n\nimport messages from '../Header.messages';\n\n// Assets\nimport { MenuIcon } from '../Icons';\n\nclass MobileHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMainMenu() {\n const { mainMenu, secondaryMenu } = this.props;\n return ;\n }\n\n renderUserMenuItems() {\n const { userMenu } = this.props;\n return ;\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n return ;\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n avatar,\n username,\n stickyOnMobile,\n intl,\n mainMenu,\n userMenu,\n loggedOutItems,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const stickyClassName = stickyOnMobile ? 'sticky-top' : '';\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center';\n\n return (\n \n {intl.formatMessage(messages['header.label.skip.nav'])}\n {mainMenu.length > 0 ? (\n
    \n\n \n \n \n \n \n {this.renderMainMenu()}\n \n \n
    \n ) : null}\n
    \n \n
    \n {userMenu.length > 0 || loggedOutItems.length > 0 ? (\n
    \n \n \n \n \n \n {loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()}\n \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nexport const mobileHeaderDataShape = {\n mainMenu: mobileHeaderMainMenuDataShape,\n secondaryMenu: mobileHeaderMainMenuDataShape,\n userMenu: mobileHeaderUserMenuDataShape,\n loggedOutItems: mobileHeaderLoggedOutItemsDataShape,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n stickyOnMobile: PropTypes.bool,\n};\n\nMobileHeader.propTypes = {\n mainMenu: mobileHeaderDataShape.mainMenu,\n secondaryMenu: mobileHeaderDataShape.secondaryMenu,\n userMenu: mobileHeaderDataShape.userMenu,\n loggedOutItems: mobileHeaderDataShape.loggedOutItems,\n logo: mobileHeaderDataShape.logo,\n logoAltText: mobileHeaderDataShape.logoAltText,\n logoDestination: mobileHeaderDataShape.logoDestination,\n avatar: mobileHeaderDataShape.avatar,\n username: mobileHeaderDataShape.username,\n loggedIn: mobileHeaderDataShape.loggedIn,\n stickyOnMobile: mobileHeaderDataShape.stickyOnMobile,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nMobileHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n stickyOnMobile: true,\n\n};\n\nexport default injectIntl(MobileHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderMainMenu.js b/dist/mobile-header/MobileHeaderMainMenu.js new file mode 100644 index 000000000..c37c50f08 --- /dev/null +++ b/dist/mobile-header/MobileHeaderMainMenu.js @@ -0,0 +1,46 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Menu, MenuTrigger, MenuContent } from '../Menu'; +var MobileHeaderMainMenu = function MobileHeaderMainMenu(_ref) { + var menu = _ref.menu; + // Nodes are accepted as a prop + if (!Array.isArray(menu)) { + return menu; + } + return menu.map(function (menuItem) { + var type = menuItem.type, + href = menuItem.href, + content = menuItem.content, + submenuContent = menuItem.submenuContent, + disabled = menuItem.disabled, + isActive = menuItem.isActive, + onClick = menuItem.onClick; + if (type === 'item') { + return /*#__PURE__*/React.createElement("a", { + key: "".concat(type, "-").concat(content), + className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), + href: href, + onClick: onClick || null + }, content); + } + return /*#__PURE__*/React.createElement(Menu, { + key: "".concat(type, "-").concat(content), + tag: "div", + className: "nav-item" + }, /*#__PURE__*/React.createElement(MenuTrigger, { + onClick: onClick || null, + tag: "a", + role: "button", + tabIndex: "0", + className: "nav-link" + }, content), /*#__PURE__*/React.createElement(MenuContent, { + className: "position-static pin-left pin-right py-2" + }, submenuContent)); + }); +}; +export var mobileHeaderMainMenuDataShape = PropTypes.oneOfType([PropTypes.node, PropTypes.array]); +MobileHeaderMainMenu.propTypes = { + menu: mobileHeaderMainMenuDataShape +}; +export default MobileHeaderMainMenu; +//# sourceMappingURL=MobileHeaderMainMenu.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderMainMenu.js.map b/dist/mobile-header/MobileHeaderMainMenu.js.map new file mode 100644 index 000000000..bd25a5545 --- /dev/null +++ b/dist/mobile-header/MobileHeaderMainMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileHeaderMainMenu.js","names":["React","PropTypes","Menu","MenuTrigger","MenuContent","MobileHeaderMainMenu","_ref","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","key","concat","className","tag","role","tabIndex","mobileHeaderMainMenuDataShape","oneOfType","node","array","propTypes"],"sources":["../../src/mobile-header/MobileHeaderMainMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\n\nconst MobileHeaderMainMenu = ({ menu }) => {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content}\n \n \n {submenuContent}\n \n \n );\n });\n};\n\nexport const mobileHeaderMainMenuDataShape = PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n]);\n\nMobileHeaderMainMenu.propTypes = {\n menu: mobileHeaderMainMenuDataShape,\n};\n\nexport default MobileHeaderMainMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,SAAS;AAExD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAClC;EACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,OAAOA,IAAI;EACb;EAEA,OAAOA,IAAI,CAACG,GAAG,CAAC,UAACC,QAAQ,EAAK;IAC5B,IACEC,IAAI,GAOFD,QAAQ,CAPVC,IAAI;MACJC,IAAI,GAMFF,QAAQ,CANVE,IAAI;MACJC,OAAO,GAKLH,QAAQ,CALVG,OAAO;MACPC,cAAc,GAIZJ,QAAQ,CAJVI,cAAc;MACdC,QAAQ,GAGNL,QAAQ,CAHVK,QAAQ;MACRC,QAAQ,GAENN,QAAQ,CAFVM,QAAQ;MACRC,OAAO,GACLP,QAAQ,CADVO,OAAO;IAGT,IAAIN,IAAI,KAAK,MAAM,EAAE;MACnB,oBACEZ,KAAA,CAAAmB,aAAA;QACEC,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;QAC1BQ,SAAS,aAAAD,MAAA,CAAaL,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAAK,MAAA,CAAGJ,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAG;QAChFJ,IAAI,EAAEA,IAAK;QACXK,OAAO,EAAEA,OAAO,IAAI;MAAK,GAExBJ,OACA,CAAC;IAER;IAEA,oBACEd,KAAA,CAAAmB,aAAA,CAACjB,IAAI;MAACkB,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;MAACS,GAAG,EAAC,KAAK;MAACD,SAAS,EAAC;IAAU,gBAC7DtB,KAAA,CAAAmB,aAAA,CAAChB,WAAW;MAACe,OAAO,EAAEA,OAAO,IAAI,IAAK;MAACK,GAAG,EAAC,GAAG;MAACC,IAAI,EAAC,QAAQ;MAACC,QAAQ,EAAC,GAAG;MAACH,SAAS,EAAC;IAAU,GAC3FR,OACU,CAAC,eACdd,KAAA,CAAAmB,aAAA,CAACf,WAAW;MAACkB,SAAS,EAAC;IAAyC,GAC7DP,cACU,CACT,CAAC;EAEX,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,IAAMW,6BAA6B,GAAGzB,SAAS,CAAC0B,SAAS,CAAC,CAC/D1B,SAAS,CAAC2B,IAAI,EACd3B,SAAS,CAAC4B,KAAK,CAChB,CAAC;AAEFxB,oBAAoB,CAACyB,SAAS,GAAG;EAC/BvB,IAAI,EAAEmB;AACR,CAAC;AAED,eAAerB,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderUserMenu.js b/dist/mobile-header/MobileHeaderUserMenu.js new file mode 100644 index 000000000..e14699c3b --- /dev/null +++ b/dist/mobile-header/MobileHeaderUserMenu.js @@ -0,0 +1,38 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +var MobileHeaderUserMenu = function MobileHeaderUserMenu(_ref) { + var menu = _ref.menu; + return menu.map(function (group) { + return group.items.map(function (_ref2) { + var type = _ref2.type, + content = _ref2.content, + href = _ref2.href, + disabled = _ref2.disabled, + isActive = _ref2.isActive, + onClick = _ref2.onClick; + return /*#__PURE__*/React.createElement("li", { + className: "nav-item", + key: "".concat(type, "-").concat(content) + }, /*#__PURE__*/React.createElement("a", { + className: "nav-link".concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), + href: href, + onClick: onClick || null + }, content)); + }); + }); +}; +export var mobileHeaderUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({ + heading: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string, + isActive: PropTypes.bool, + onClick: PropTypes.func + })) +})); +MobileHeaderUserMenu.propTypes = { + menu: mobileHeaderUserMenuDataShape +}; +export default MobileHeaderUserMenu; +//# sourceMappingURL=MobileHeaderUserMenu.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderUserMenu.js.map b/dist/mobile-header/MobileHeaderUserMenu.js.map new file mode 100644 index 000000000..5592a5395 --- /dev/null +++ b/dist/mobile-header/MobileHeaderUserMenu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileHeaderUserMenu.js","names":["React","PropTypes","MobileHeaderUserMenu","_ref","menu","map","group","items","_ref2","type","content","href","disabled","isActive","onClick","createElement","className","key","concat","mobileHeaderUserMenuDataShape","arrayOf","shape","heading","string","oneOf","bool","func","propTypes"],"sources":["../../src/mobile-header/MobileHeaderUserMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst MobileHeaderUserMenu = ({ menu }) => menu.map((group) => (\n group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n
  • \n \n {content}\n \n
  • \n ))\n));\n\nexport const mobileHeaderUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n}));\n\nMobileHeaderUserMenu.propTypes = {\n menu: mobileHeaderUserMenuDataShape,\n};\n\nexport default MobileHeaderUserMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,OAAOA,IAAI,CAACC,GAAG,CAAC,UAACC,KAAK;IAAA,OACxDA,KAAK,CAACC,KAAK,CAACF,GAAG,CAAC,UAAAG,KAAA;MAAA,IACdC,IAAI,GAAAD,KAAA,CAAJC,IAAI;QAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;QAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;QAAEC,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;QAAEC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;QAAEC,OAAO,GAAAN,KAAA,CAAPM,OAAO;MAAA,oBAEhDd,KAAA,CAAAe,aAAA;QAAIC,SAAS,EAAC,UAAU;QAACC,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIR,OAAO;MAAG,gBACjDV,KAAA,CAAAe,aAAA;QACEC,SAAS,aAAAE,MAAA,CAAaL,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAAK,MAAA,CAAGN,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAG;QAChFD,IAAI,EAAEA,IAAK;QACXG,OAAO,EAAEA,OAAO,IAAI;MAAK,GAExBJ,OACA,CACD,CAAC;IAAA,CACN,CAAC;EAAA,CACH,CAAC;AAAA;AAEF,OAAO,IAAMS,6BAA6B,GAAGlB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;EAC7EC,OAAO,EAAErB,SAAS,CAACsB,MAAM;EACzBhB,KAAK,EAAEN,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;IACvCZ,IAAI,EAAER,SAAS,CAACuB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvCb,IAAI,EAAEV,SAAS,CAACsB,MAAM;IACtBb,OAAO,EAAET,SAAS,CAACsB,MAAM;IACzBV,QAAQ,EAAEZ,SAAS,CAACwB,IAAI;IACxBX,OAAO,EAAEb,SAAS,CAACyB;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEHxB,oBAAoB,CAACyB,SAAS,GAAG;EAC/BvB,IAAI,EAAEe;AACR,CAAC;AAED,eAAejB,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileLoggedOutItems.js b/dist/mobile-header/MobileLoggedOutItems.js new file mode 100644 index 000000000..f3db67727 --- /dev/null +++ b/dist/mobile-header/MobileLoggedOutItems.js @@ -0,0 +1,27 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +var MobileLoggedOutItems = function MobileLoggedOutItems(_ref) { + var items = _ref.items; + return items.map(function (_ref2, i, arr) { + var type = _ref2.type, + href = _ref2.href, + content = _ref2.content; + return /*#__PURE__*/React.createElement("li", { + className: "nav-item px-3 my-2", + key: "".concat(type, "-").concat(content) + }, /*#__PURE__*/React.createElement("a", { + className: i < arr.length - 1 ? 'btn btn-block btn-outline-primary' : 'btn btn-block btn-primary', + href: href + }, content)); + }); +}; +export var mobileHeaderLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({ + type: PropTypes.oneOf(['item', 'menu']), + href: PropTypes.string, + content: PropTypes.string +})); +MobileLoggedOutItems.propTypes = { + menu: mobileHeaderLoggedOutItemsDataShape +}; +export default MobileLoggedOutItems; +//# sourceMappingURL=MobileLoggedOutItems.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileLoggedOutItems.js.map b/dist/mobile-header/MobileLoggedOutItems.js.map new file mode 100644 index 000000000..e3cdf2bbc --- /dev/null +++ b/dist/mobile-header/MobileLoggedOutItems.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MobileLoggedOutItems.js","names":["React","PropTypes","MobileLoggedOutItems","_ref","items","map","_ref2","i","arr","type","href","content","createElement","className","key","concat","length","mobileHeaderLoggedOutItemsDataShape","arrayOf","shape","oneOf","string","propTypes","menu"],"sources":["../../src/mobile-header/MobileLoggedOutItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst MobileLoggedOutItems = ({ items }) => items.map(({ type, href, content }, i, arr) => (\n
  • \n \n {content}\n \n
  • \n));\n\nexport const mobileHeaderLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n}));\n\nMobileLoggedOutItems.propTypes = {\n menu: mobileHeaderLoggedOutItemsDataShape,\n};\n\nexport default MobileLoggedOutItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAAAC,KAAA,EAA0BC,CAAC,EAAEC,GAAG;IAAA,IAA7BC,IAAI,GAAAH,KAAA,CAAJG,IAAI;MAAEC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;MAAEC,OAAO,GAAAL,KAAA,CAAPK,OAAO;IAAA,oBAC1EX,KAAA,CAAAY,aAAA;MAAIC,SAAS,EAAC,oBAAoB;MAACC,GAAG,KAAAC,MAAA,CAAKN,IAAI,OAAAM,MAAA,CAAIJ,OAAO;IAAG,gBAC3DX,KAAA,CAAAY,aAAA;MACEC,SAAS,EAAEN,CAAC,GAAGC,GAAG,CAACQ,MAAM,GAAG,CAAC,GAAG,mCAAmC,GAAG,2BAA4B;MAClGN,IAAI,EAAEA;IAAK,GAEVC,OACA,CACD,CAAC;EAAA,CACN,CAAC;AAAA;AAEF,OAAO,IAAMM,mCAAmC,GAAGhB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,KAAK,CAAC;EACnFV,IAAI,EAAER,SAAS,CAACmB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EACvCV,IAAI,EAAET,SAAS,CAACoB,MAAM;EACtBV,OAAO,EAAEV,SAAS,CAACoB;AACrB,CAAC,CAAC,CAAC;AAEHnB,oBAAoB,CAACoB,SAAS,GAAG;EAC/BC,IAAI,EAAEN;AACR,CAAC;AAED,eAAef,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/CourseInfoSlot/README.md b/dist/plugin-slots/CourseInfoSlot/README.md new file mode 100644 index 000000000..574de5500 --- /dev/null +++ b/dist/plugin-slots/CourseInfoSlot/README.md @@ -0,0 +1,125 @@ +# Course Info Slot + +### Slot ID: `course_info_slot` + +## Description + +This slot is used to replace/modify/hide the course info. + +## Examples + +### Replace Course Title + +The following `env.config.jsx` will replace the course title. + +![Screenshot of replaced course title](./images/replace_course_title.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const replaceCourseTitle = ( widget ) => { + widget.content.courseTitle = "Custom Course Title"; + return widget; +}; + +const config = { + pluginSlots: { + course_info_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: replaceCourseTitle, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Course Info with Custom Component + +The following `env.config.jsx` will replace the course info entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of replaced course info with custom component](./images/replace_course_info_with_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + course_info_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_course_info_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + } + }, +} + +export default config; +``` + +### Add Custom Components before and after Course Info + +The following `env.config.jsx` will place custom components before and after the course info (in this case centered `h1`s with 🌜 and 🌛). + +![Screenshot of added custom components before and after course info](./images/add_custom_components_before_and_after_course_info.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + course_info_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_course_info_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌜

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_course_info_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌛

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` diff --git a/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png b/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0ec695de0cdfd1b5e84bbb11a4a6947bdaab85 GIT binary patch literal 17506 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png b/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png new file mode 100644 index 0000000000000000000000000000000000000000..5358afde51b5afe585609d0ed3812186bfb5cd41 GIT binary patch literal 14889 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 PCqm-6%(HBf*WUjJA-VJ{ literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/CourseInfoSlot/index.js b/dist/plugin-slots/CourseInfoSlot/index.js new file mode 100644 index 000000000..5431c0586 --- /dev/null +++ b/dist/plugin-slots/CourseInfoSlot/index.js @@ -0,0 +1,31 @@ +var _excluded = ["courseOrg", "courseNumber", "courseTitle"]; +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import LearningHeaderCourseInfo, { courseInfoDataShape } from '../../learning-header/LearningHeaderCourseInfo'; +var CourseInfoSlot = function CourseInfoSlot(_ref) { + var courseOrg = _ref.courseOrg, + courseNumber = _ref.courseNumber, + courseTitle = _ref.courseTitle, + attributes = _objectWithoutProperties(_ref, _excluded); + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "course_info_slot", + slotOptions: { + mergeProps: true + }, + pluginProps: { + courseOrg: courseOrg, + courseNumber: courseNumber, + courseTitle: courseTitle + } + }, /*#__PURE__*/React.createElement(LearningHeaderCourseInfo, _extends({ + courseOrg: courseOrg, + courseNumber: courseNumber, + courseTitle: courseTitle + }, attributes))); +}; +CourseInfoSlot.propTypes = courseInfoDataShape; +export default CourseInfoSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/CourseInfoSlot/index.js.map b/dist/plugin-slots/CourseInfoSlot/index.js.map new file mode 100644 index 000000000..2e209b99a --- /dev/null +++ b/dist/plugin-slots/CourseInfoSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","LearningHeaderCourseInfo","courseInfoDataShape","CourseInfoSlot","_ref","courseOrg","courseNumber","courseTitle","attributes","_objectWithoutProperties","_excluded","createElement","id","slotOptions","mergeProps","pluginProps","_extends","propTypes"],"sources":["../../../src/plugin-slots/CourseInfoSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport LearningHeaderCourseInfo, { courseInfoDataShape } from '../../learning-header/LearningHeaderCourseInfo';\n\nconst CourseInfoSlot = ({\n courseOrg,\n courseNumber,\n courseTitle,\n ...attributes\n}) => (\n \n \n \n);\n\nCourseInfoSlot.propTypes = courseInfoDataShape;\n\nexport default CourseInfoSlot;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,wBAAwB,IAAIC,mBAAmB,QAAQ,gDAAgD;AAE9G,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA;EAAA,IAClBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACRC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAEbX,KAAA,CAAAY,aAAA,CAACX,UAAU;IACTY,EAAE,EAAC,kBAAkB;IACrBC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd,CAAE;IACFC,WAAW,EAAE;MACXV,SAAS,EAATA,SAAS;MACTC,YAAY,EAAZA,YAAY;MACZC,WAAW,EAAXA;IACF;EAAE,gBAEFR,KAAA,CAAAY,aAAA,CAACV,wBAAwB,EAAAe,QAAA;IACvBX,SAAS,EAAEA,SAAU;IACrBC,YAAY,EAAEA,YAAa;IAC3BC,WAAW,EAAEA;EAAY,GACrBC,UAAU,CACf,CACS,CAAC;AAAA,CACd;AAEDL,cAAc,CAACc,SAAS,GAAGf,mBAAmB;AAE9C,eAAeC,cAAc","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopHeaderSlot/README.md b/dist/plugin-slots/DesktopHeaderSlot/README.md new file mode 100644 index 000000000..eb40189d9 --- /dev/null +++ b/dist/plugin-slots/DesktopHeaderSlot/README.md @@ -0,0 +1,41 @@ +# Desktop Header Slot + +### Slot ID: `desktop_header_slot` + +## Description + +This slot is used to replace/modify/hide the entire desktop header. + +## Examples + +### Custom Component + +The following `env.config.jsx` will replace the desktop header entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/desktop_header_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_header_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_desktop_header_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + } + }, +} + +export default config; +``` \ No newline at end of file diff --git a/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png b/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..3d663f719c506d00bd211773280579d1671ff2b0 GIT binary patch literal 27763 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopHeaderSlot/index.js b/dist/plugin-slots/DesktopHeaderSlot/index.js new file mode 100644 index 000000000..d5e373ca6 --- /dev/null +++ b/dist/plugin-slots/DesktopHeaderSlot/index.js @@ -0,0 +1,15 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import DesktopHeader, { desktopHeaderDataShape } from '../../desktop-header/DesktopHeader'; +var DesktopHeaderSlot = function DesktopHeaderSlot(_ref) { + var props = _ref.props; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "desktop_header_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(DesktopHeader, props)); +}; +DesktopHeaderSlot.propTypes = desktopHeaderDataShape; +export default DesktopHeaderSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/DesktopHeaderSlot/index.js.map b/dist/plugin-slots/DesktopHeaderSlot/index.js.map new file mode 100644 index 000000000..ac639cf1e --- /dev/null +++ b/dist/plugin-slots/DesktopHeaderSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","DesktopHeader","desktopHeaderDataShape","DesktopHeaderSlot","_ref","props","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/DesktopHeaderSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport DesktopHeader, { desktopHeaderDataShape } from '../../desktop-header/DesktopHeader';\n\nconst DesktopHeaderSlot = ({\n props,\n}) => (\n \n \n \n);\n\nDesktopHeaderSlot.propTypes = desktopHeaderDataShape;\n\nexport default DesktopHeaderSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,aAAa,IAAIC,sBAAsB,QAAQ,oCAAoC;AAE1F,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA;EAAA,IACrBC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,qBAAqB;IACxBC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,aAAa,EAAKI,KAAQ,CACjB,CAAC;AAAA,CACd;AAEDF,iBAAiB,CAACO,SAAS,GAAGR,sBAAsB;AAEpD,eAAeC,iBAAiB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md b/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md new file mode 100644 index 000000000..8d8249e2f --- /dev/null +++ b/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md @@ -0,0 +1,134 @@ +# Desktop Logged Out Items Slot + +### Slot ID: `desktop_logged_out_items_slot` + +## Description + +This slot is used to replace/modify/hide the items shown on desktop when the user is logged out. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items shown on desktop when the user is logged out. + +![Screenshot of modified items](./images/desktop_logged_out_items_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyLoggedOutItems = ( widget ) => { + widget.content.items = [ + { + type: 'item', + href: 'https://openedx.org/', + content: 'openedx.org', + }, + { + type: 'item', + href: 'https://docs.openedx.org/en/latest/', + content: 'Documentation', + }, + { + type: 'item', + href: 'https://discuss.openedx.org/', + content: 'Forums', + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + desktop_logged_out_items_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyLoggedOutItems, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace with Custom Component + +The following `env.config.jsx` will replace the items shown on desktop when the user is logged out entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/desktop_logged_out_items_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_logged_out_items_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_logged_out_items_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after + +The following `env.config.jsx` will place custom components before and after the items shown on desktop when the user is logged out (in this case centered `h1`s with 🌜 and 🌛). + +![Screenshot of custom components before and after](./images/desktop_logged_out_items_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_logged_out_items_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_logged_out_items_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌜

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_logged_out_items_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌛

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png b/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..62282e08ccfe19ae7310aa30a3d56604ed3baf0e GIT binary patch literal 10817 zcmcJ#by!th_ce?lDF{k8A`Mc~sUY2P=tjD`K^ml#knZk~knT=7(jeX44e#Q)@8@@Y z@&56Ce|%gV;+(biUVHB~#~fqK87eO;hK53b0s{ksCL#Vw5e5cM8T>7QgaCf>w3`Hi zU(X$cB$ScBmnYKa5b!^~qllWLl8v#Wi@v=PjES|4mC-u~Lwh45YX?&s$3wVQ0WgT_ zX^^nJk-npujWwCFnUxWY4ERIN(2G%4S8T{b@A2i(e9~XqXRrYzUy)^)QEK61b4%f0kY8zj^o6LxJ1vm^aB8plSsRy? z@nx?8mO~AL*6;h5Z(qnV#gW0+cHQvMVU!eO0L8cGY$e{hqcLI*hxPBNIdKz4Qyf~v z@K2`2sDzN-1Ym$4J2EUXO0X07ela%YdyFB_SS#)MY3-*^0x+^f%?({X{5$YLRU+f{ zKeIv*qCZgnXLbMv8ilXqzat35VdMUpD8%;dIo&_U4=^P|R{r;7zdyV#_;*^CFNHkv zKO;WD{m+5#O7Mex&5{!G+}fk8>X*c@{yiTLvrJ5M^lLVmPV*XrN;Ub3Q_|DlPQ>wp zfrIN=O-(5$C-&eoK8W|a-aM}4)Rk1edFzJ-zYEKncD`8REGD09v2V}q@dWk5T|NaOv zbt?JayTFDbqQHy_S2q_iB|jzuU##d?^d;+Rj*IA}pT9pc8X6@R7hdu(4qo?(dvk1T zth~JZ2MLM({z9*eq>pa72nfJ?dAzTITl1rW-@9#kHfTNuPD-CC_*eY$SBO9 z%fB(Mo0AY1Cu3zjDG~Jl?=Ah5ZO4=PYr(p9Be;r#ItZ^ZOgvaNrBkE?DyG>TIOvqJ z+8YI@SE*Jpx9>})f}izuo-SC5;WKXWoqUdcfm$ascG7b~&)TV=cN9bx@>l&olLFM7 z$gN1o_XQ00tUD}uzB`jDaNx#w#dh=?ricAsPRm6E3AygOBhLJc zt+9o-UREi%FC3;@s?kIFX~+u>*tmx(sr$E(pu!__jr}*`3fM`(SHJ2V@Z;-jmn#ya?--K& zDJSXnXM^ft{wF#fUpY5|fa?CTk$aby9cKInq4MK;b=aAmh!khhN}fnT6!oOo$;2z( zw>-)zD9V(Ze`D)J3P#EsLq&h9FwJFP=_vqER21&UuC5} z)uuL?qMjj9R~V$d1N3jhg)*fwx2h98^f~-B8{&VKPxtOLx6|YWVifmx=`bQVxv2DG z%Z7a{pA_4k7h3lH`~4G_^aZZjR`+^A(bowLr?nyuLCK8SMi(Yt=e>-K44Cq%u+dFn z1uO=f7aYkE)6;4VE{C$7o_sLa*w|Ru*zh}js*@h75Nr{JiW$p*z`$3pU!NE{s{Vs` zze6lJ2w@tVZn+Ew-+VNSBt%z`y|bi$@`%Oi9u={ zQ4QXwLD{3NKDwi#r=EYru1`j)8%F*U-9y7rzQrsDwJ{Q&OhctQ=thKvY6b>(6twR!-g#bNj|qW!igx zo0DT>v0h_hj^anpTXS-Aa|Z+mV`5^y&HN{sgrxfpe8Ap#(GwhrPAolbLXzR+Na%-+ z*vS(+#&E;zqc!nefroL7}}yk56<@s8xxv}&o8cpu6V#mdseVk_~5 zS!h|Mic&Ot$#j`=Gsq%qgHk_Xm#FN5h5dM^+4KFa*v@=QRu*jelrGM1HkolKl$L=Z z$K~*^le?FK!Yh&}YG$J&gUKRwhSo+ynyItK034a@V|OnizNFsq3A3hpS9mvgk%)zE z-GFzRwMTt#qm(`7t?Qr-P8LCEggrG=I&(<;m`=xSaOf3=y^(E~NqMgb2qeMXsJ}ZI zyq+lchFGPY=19bhu|>q|dSB-sSZ70>Qr`#%Wze87H66ifH#infZZu#1H9VNFXV7io zJBmsG5AwGf9sT`GIP^hAkxaEeS9_eG1IaK#VZ?WgD2x1U|1fVHT**gj)95>!mcMi9 zOBuF8NuMWNUkbBW@VEA^t~K)ae^T?$JZE8(DRv+ZK1ERu(yuV+{^}k`8`X=6q?A8b zXG5Bqnd!Lmr%<-Hu%Lj9lQaI;uU}!#IXgSv{H}-fh?N>_0$TNv-xSvgSF{92OByo-Eyd%ZEV9l z==W*p>Z!sQ`-p(OplX6j7~6z-f}4c!mcJcq^v)^Pu<*-bVj!WlVqn z3Ilo71PH0|wk~`fY0T$I9b?_hcyyKV=kvq;K(-dAK9ABNLBA2L_Am3jRm++BcqtFZwMt~p zv1}zmA-~kmr1X0ICWNjV5$H!ZvcwL0>DGKa%LviDbs`F6tGA@C))&E^Cr0iWGM+J} z4}4~9aJP<>RIK40D~c*Mvm>Os?olas9i;2`&EME$4BNgu8%pC(=J&YxmXac^p+OKO z_`vnvcxdVVa*_J&TYp?#&+jjZdGzoQ!f=_4yT4+ut*zRpv*B{IHIPY=T3?rS$8W<9SRMvDNspE6+#N)iz7b7Qt z+%}TRt6rh^Y|-bDpD{kncsPm0a+*2lB{2b)+`3~Ah@C3qVS<*s6Ddb+YHsetU=sI` z@Nm?Pp+sS4XO7_{_SJ*N!!p)p=kvYMZlZ zl@S#M`FpI=P^>3{P<7o!Q%h@TzTRP`+6P{xe|_hAQA9PI9}~_n6s*5ao$sd`N60?P-QgOH!{)#5VP6C1sqgNNJwbO$>cWW zPoBk8SwYc2liMjCmo3?=SFcR0bQKiZc@LX9XKO3~N>h-N`+48ruvpJ?fl07lt&b14 z^#={Ru;m_mmA%tVZtuax8N_V|f*YTylrKB+7Y-eEj|0`gt$Who5odS@(6-NN9OZ;#m7ahRF6icvP-3 zk5p|9nYLNvA?LTVcGYB&G>|t#+vxV^i7ywIKGcAv|BU2FEj)SoSPz5+Y~7spW<<54 zc7AnrY(+%{&*geP^V-)mq7m+q&E2}m*^TCPU6pHrN+TteQMYKrz-~S+Lk_W1l=_?T z1L@mVg=%Y(UhSw>#c}~5yoUoC2NuHfd`?+W{vZ11qa;4~jG z|9+Lp$71m&*dYqq;6@ZB`^)!n$UR)j#`~9!mo-WtmUlY%1%IVTC8 zKZ4Lv0z3Pc-D*fg1SK_f@b&5D>9k?g@y%{I+_&W9K{#~257N@8m{ihj%eF`5KKEgT zO8F-zgG@2szI_?pGz3}mvx$iVI9qf=LSMT-Vj{l>2d~S)8sGz++m7S;a-`$q<3$k^ zrP_@+M{*L+6Ts&nN)5n0lulv`&B`L*7)>7qkTbel-b!*cKXJj$O;|oP*cFP2FX+u@ z(|nGDE~s^zF4oC>)k*r$_P5yspVygTf3{||%@=McnKKGx-BS>Hzq3SMtgNhnl!p48 zPJ3#m(hzZZdD(KYg&(89-oc@NczFF{&PLEgFc3p1WPsKuFH_N#?fZNaRkc~Oe@e>p zmKk?=opLnoI+zJWZNDt^*9&Ke8UZ+%Qtp!*lmttOC?dy~DrF6qJ+` z*VF6k>$s4NDpLY0O}6D#CeEo{C-ex?P^j7F4Pm~+ktqp`Zl2NWwQ7gatv7u4HwG8P zBc-Rup6=`3Iw+VAcTsJto#h8o;uSH}#_v9_)-^tR44FB&7eji1j8g4!^DsB#K$cAC zeOcEgK3xSwZnSWq^%t;}H9{YYZoo|E-KeAdt6dI888nswIm-naVNTwL$!Xc-0-pEV%x1#Wa&+6aI{)7d|QQ?B6sp%m_zk`jgn zr(IEZcOIOuz}tgHCT6<%Mi(0pbzTaxxur7V;z%;d9P3BRo$La-ii#a+{2sqfM|g{| zNX@3oh{3YE*X@^Wxzw6mS*+`l@!uO`;Nv5Ih$7*~dvAeKfV9aAA!Yo=>u4^7+6ERj=R}X3P8VHFuvMyCfd&rR^Vz0E(jIB zga2|K(-d0oU;uVo?Zs zw-@^`Abi0KJB8L>UhXNQ#N^t_3b?{%j`<>{g?egR%tqV`?mx&$)^wA>;KN<|?`S!+_ z$r?V4v%|1Ogyu*!{_w1|et{#?t^aeSLLIPh70YSKc;|Pap{Us<^WC8ZFgMgL zC|a>Lb2aI>o9~*pI%0uSR!~551mSMBxW75q@;aaRBqpY6wpeGgNVjM+SBnN^+g@z- ziR;bI$}$D;fRB&=PY`$f39~zRhO9SN7?S#?i4!EGFM+iLdaNHzT33k z*A8%--=zHMM&q3S05pDi%Z<6->e>6;{QPVh6mZD0@pzz0l_6+nfb<8Zq@=WY`val& z7R)B$cdq~!(&o|Vb?dBAV-DGD^Z@3h_Y6?4BvHW(`{(3@J~u+4j7T82T%m7=bN zd5>*(sJ&JszpOjpWW2dBf~r@o&#Xh)K$C4+`oT+modp8HXEVi!p_VI~d^oFNhv|(X zMJzZbXW`-Dk5ILkrB?Cr`}gk?0`Rg;L@3+wwI`d!WXUYc z2vP0?TWL@4(x3Exg=|r~wZ2z4j9PtJB4Jz8m2UyM7#%IOPuzG{($mqQNJsI;bQ>%` zK|?=v`r2jdBR}AaPXrc-I~C;N>+5UC*O`LA&DLAd zNFw#sQKKZPY|)6KW4yTZd$4=3MD%+jiBa*GzwFP|K}$6`qobpNa54dDuG(TMGCVxo zoRb1*wUAk0FJru;BTphFDH=29aPxh>#R)I31U5LPBhKaeokt&GHKcsmW5 z4!8a-hE$o_@V%S{<(-h6{GQX&$#wqUM;Be(0Z+QG21nZ7m@Ol+WFzXL`rU;-Hc{Iu z7p_*-b?!7YG+diEhNgNMbaX|FeeK!_dObf%(~@#(sEaT8e4M|FpOVzUe(zyBcpm?sG|cDlvYhEI ze89T7a?1h7yQ#Kk^?)}P?t?}TNrRSP;xn%Xd#gt&JbMw8?DEzWpVH|*VyKR(e7XUrWwPr^D+CK;GwChdOk4C++@`DyM&J@;XZqBAoy;31FY z%cX0~IUdX>x-5Fd11R`m({dg3L<}LtDlB?!U+6?I`AA09M{{W;BU*hjW+PJR%bTLX zhm}@y9EysHYK_kC;NLqfFX^Gf+c|6`WMpoeXx(sOnO@x^=dDGQV}{h40z%D5SKf7b zb92K$l5px#Y6*(kmi-F53{es;gr)vAIwD|te(0|=tzl!Xf;`F4037jE4qrgOK0Fo< z4ubX9v|;#}X;tMqM<)WMM;k0o-FN~uO~*WBPV|+Y_ISHpe;?}0E96KbdNKjV293rI zyN9syJ;Mjy#UM9xE3AB@nqONDamnS%iYo1h={8ILqnu0Cb5~2bW_)goR!udo@WBrE zE+aBfig$*i+)?XLCl#yt9snDzYlo*#UV!v{t3nfxk6WtFqmtQ76(!(EXx?6ymJBd% zZf+A7(u1R;=;2zBNL1j&{st=XL-O9<9#6Uj$Q6Ju!cUGV)6vsg$S;mkF)~K#cLqHP z<&%?>1Xd%I)6LP%M3c1orOg`_&#UEN7~k*dv!+R+qiOuxGe4<;RQ(LRw5H3y9^nM+ zUxDPtBqY>absXsE5K@Lv^6{l4B;fIppm%q7LquV;8F4{%2$C0(my?5mgVO_CJ=5_V zWWX?1+Yw1o`E=`TROIC`Qh8kj((5v0sbo|7v|Sdu0i6*6xucj5myj@QYL`+#;336A zQAts8y2?l@gL2(6iS1G`{#wv+3# zVIjE%<%gDxb+dO^-ZYWzrJAt5MQzy9p_hNcU&}y_cX${VI;u)2lAg!wO*!&(ue~;Q zS!QQroA{hQHS%gfh`w9Q+uOVJy&fIADH=rkGPLN=H(I*$h2VUFY<0mv^+PWqZ+(_g z8RA|e+6ksugj}lAHLtqNU4&kgySLuOoL2dOayXi5J84Xh`8G47#yBOrz}jX_`+W3r z|57zql9TtxicSCQJpT03Y_*tAW%;7QY|h$`$T>xpw>J{E(s1;nsP-Ise)Eop$0Bj- zM%wR(`!DWJR=rIohtz!4JAZPR#_x8;v)(eL8N9(20`yWI!Y*G}s_5-4psud&>m(K$ z8roJEcpWG3cz4Q^UYut@pUi2q0Vu7ndBCQ{ND4Rb3rhwJD=RCzdV8llC>km~FJ?>_ zv>Rf98!kEH@AXf$)o~BcK;&yytP-tr&(@IQ z_31pT1?vY+&B>x^V%>>|n9z;IS7b#U`!Y1OUN$EaXBnQcNMqGDq$K1$Qr*-W&#{{Z z3>g1Rb$WJ{xIJA6|p2~zv~$&v$u=Yzh$xJHLHpczm zzQwoaOLK=84!za5aIHC;n|Hy<2)aG3x^4max{qI)I>-@n^K7TkrcP!%b@0T||c6|yuK8z!zEw=q#DD&c= z*$C=Nr8{E11IfFb>-$Xns*V$f!SK5p{ag zF$(MDs<+2{g7S5`V!e@co7kF&g@px`R3HUi@a`Kh*KRKMrS$dRyue`qBHb2Pad2aW zO4PH}W}SZUFTleDs-w#7)HsraUt`nZeCxOWQ$E0^R~ZA689bOPpfKPjR$IX1KTV6? zJa>27ubJu_9i^tFMTWA?)LIcHCMJdxavn5AdS%uxSPR^rDYZSu+kjJ=nVETBF1P?; zw_QTno}HaN1I(x>fg766AhfqUJV~HH`_uK&TxWPYh#&MHAjduR z0<1;}jtp}yN&{da^*Vc1RD{6MBO@b|3vx%(aStIV{ytsC!~Ja{rwz%I=m%>pw?BBw zS#ko`0qcYD&?jEM3rYcR>z9KF)qoQ+DsamHhxoE<^R&|Q+P>Cik))v3<;{ZYYD9@z zr60S+q_SI+&*OvR_IP03qIdH6xFXPDk{}3Q;4+YaV_w2w{ z)q3U1M@t(DV3WggT7Fl9;mKZe1Zb(Oto$usvv0zp^+6RIE^H?~H%^sgs8?MZsgMI( zM}N2Sc~bR=o}4~W_rcG_=`eKukG)%bj>7F-6w@1-ntKYhYt^6AM@1_O4V)Tj-@Pk! zazje#jcvWUa=kcM(A>NLCizI*129e1%D*^ntQ>`Pt7^LZzRU|w;Bsf4LI>r(=IAk} z)DnMgzOy>+p?h0w>;t7;cJIEC)gs=U~S7a}WIlb3wv4kh5*WeAx;4A}Eh`)7pA89YE*? z?1)gL7gXgLAplHI_B5qv7)v#sVjn3%Zh8{Ka)S4JQd6ZCkVV6H+=bb6 zGC&W!9VTX07OPn{Yp@k~yjrMbk^;(hn=WQ8Xub;B+p|LRpGt%2fN%hlt6fQs-$_Ss z(8lLhv!kN}AQLvgy*EWg<4tZ3dD4j;KsEd5^tOx*3=X<22P#>d2nh?D0T)gwPg)-^ zY?EeWP?qa-80GJ6JZu>he7u$e)C;hd46!JZdFMGR-*3VGa`4S;0TbkE}I`F4E5lKBi0Am>te=U#w8W1;Svpo3+3yqk>#KXU{#p;1~QG9L% z+=i~Mt_rY0C(E?MI+ruRq3-r=e2QzjuCFUJN`X06IBVQkRCF@c`Vi-Kx&dHV66c-9 zCp9&^Cw``9xG3q|n98W#Pywo;bkLh5;4&m|%oMAZzxe9{_NSmANb7h(AJeSSlrM`V zzD)?nW)sEB8GbZodKvdA`n6{By$k$1l)Xoz>WZl_#>j9jPM?Q`}XYvNU(&BVPFjb7!d>e&a3wI)611gj*;7L*Vyet z3zNaH@jj~y4uRQ8rcOh6+x7WhwJnQ~Ht2H0LD@kg9zRue<_ug4v`m}#Vy{qB-4b;1 z%mqX6tT)-J-#xGW{w+9~N)@alPd7m)dsC z5(lJ>LTkb-(@mn<9SQ1a@2O(%_yQ&4nd}6a&?#=m6U&zYJK1h&v#D%H8So; z*80BlH1`<)%-nUaiC_WrQPWB{{U_-5*(^b3`eaz8Q3_m;G*CiGZ>)TJMqNzOMi~u5 z3bG!>!HUAU)5^4*SOcgLua$C#B-!+{F7odJ$$xctN3Mw@25Wu6#PE+14Je=1D=_2JOqX zptxqoMf4mV9=@f#A0AnGseC0qE=~lvjX>5rxyzhx44ci>?yC=Cq>cQy+u22cBj$^NUFg2bjj0p12Ah3RcsBYUmUpc*&$D$m&{(rTNEIT(A zHz~x$J+tB<)YsQn9G3e}!$?RvvWS8$7tutm6f5fL8cobAB*lCmANQ@3YtISMdb-Y- zVPnw6mT5+il$Tj#9#{TiT}&N6Jt0Bdz`$S$kqs42L_r=49s((*6wHT)Lbp+y@Z%mK zSnyD`+^_%k3bkUyO+6&#>DOow)^l!NWd9&2wxRqvVCI=Gw|UEwfAMeAUDx%uOj5AB zpB~Tumkz!E-&+6vPY!Gk8u*~Q=YC~|&y+=;#r7P;|7ZOeLRx3BD_P`FW52usz5li# z{s}f`mqu3l4~l?x378@gC_y9ozyBT!N(ANobM+Yi`&PvN+j`C(5%@>yGs-xEKzk>Q Ngox~?G9f*`{{`L&7-9eb literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png b/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png new file mode 100644 index 0000000000000000000000000000000000000000..36b431aca1e0e810377ecb71e5e2dd527d204d1b GIT binary patch literal 14297 zcmb8WWmr{F*Dg#Wtw>0VNJxitDH2L|cXxNENGsjl2uOEHH%JTYO^3v$JI>^J-uL_Y zUFUFZcCNMNoNJD_$34aflb4miLMKLtgM-8R@>x_74h~Tny#MkH1w8Y0nT3ECBqxzC z%Fn=`_cP;f;4_i4n7Xr)ovE{%fujkWnXR3T36qnNqlt;FlewKU46#E997OYU&?iR| z17{06+tkd)4#vkZ#hqrJkQeM>K>t0X41O*G zp6EEm=3LN<$JPm_T5=;^pA0TlWrNrM{3!ZkI-J@6KZiXR(Jp_Rjr(-QbCGZCvHp_( zbAh4H2=xDZDJrz$|D5+$BI$W<B@f3$(H(GyYchH1SVp5(rl0;^~!+(Dv(ncK8&Mikx_kD zEY~kZ5ju!mK`+o|p@mO)nqGyECqZL$kP%_y%a3mGd^@}=JeZcxf(2A33-CnZL%+ZH z&W=wS+Nnv1hp&zH{knY8$i%|dTV;RKkvHYjf5x>+a}qYL3{0^AZdxfvxKnKfV!Z{sJ|AzDQqxWsPG(|zfw`{EY3t~L;b z+KZI@VYKYVoY|g~drRSZ8C%GPp|&{JyN%z9Ey8!c=kQ*_fky{lC*3M`#*n62SH{zI zw^J$TuykiFT>=?O(pg1VJ?nppG*29qI+v8cCoboriZGuVRHvfbsltUTj|T4Q+TXl_ z4`bp~tHFj`U+?r0#Nf${9^&_cCmHbP8*-%>h6cNgXo+|{anG$(*2~RMCYvn;t!Jy% z;>C^~$z*+_pyRb-47>Aom{~D?seC^Y7@F0Qk+G1r4b~0N5v-Wj$^E~w$;%=4+u9ce zj-O|v#P70)S4d?}oL={yRqVX^=FRTLSiJKF2ti}2`IqnKROW;J_{uN)ScTU5@fegIcjrz9*&(E_&V`^@q;xs|;^gG;XYX{SicDY$`q73ze~DfhF>Fjzds6J($Se{g=jm6t#{@SD*6kLSVt<4i zq5(~d_l@zfNXkzV-N>~gJD`bmsPsyOlp2w89$1$9>+cu0h21;Utd90jB)}xUyouUtJ8yNW~Rk|asL+~agV&>iCU=5#6n=rrl;=J~Pe|i* zC?WUNo?HN%n&fbPr{G6k7E;GMi;)gSLQI4CL+f z-`ieLIVI7$pLl1f8T{ewL_Wk@zpUR%w<;hI(VoJ?_cjD;926Hp*Xi~epQvj^N%oFO zAI;uQ+&TLnVJt1&CWr6ua!Pn>CpP#}dDG}9NIXqQW?Xi?&SO^F((pi|JKR7iA#W4=}2k??ZLW!vHvWGblOtBQ6& z$n&JE)CTcHS%^Vw^2zoVShTQbmVCdpC@S_qQ&pqxHE_#(~DO)1;iI2 zZ06|YI0=HEzHM_0u?HY(IANhyqYcFmfACEAPxOk`y9MmZ0b#yDj2SBVTW z1vieQqxGrHm@Z+w4?R|KOK-7T>3cD&na< zEme(b8Ew}pCl=a-{=@BuZ13l!pW7-fc%$=$H}FN2ZnRg+ngJn%BHCQd*iDO3uo*b2 zZ*TlQMHap2Q*htW>!WclrwG^dMj3R(D1I+v^!RXZy;vWWpP&Ec(t$4nvSI6zUO3S?F3t`9xqbO)a96)6N9$KP-ZYoVIC#3m9i{MQ4$`8lwNX$ zdb4}=sYg@?4_eiOH)>@)`No+ZUMO?R_iuA-ZePwG!lycubbVs+>8udOCY*0D>R@vw zzgjb4f*MuI_OcXmm+Yp9JqU3MzU)Yb2weP|9@ea2h(pn^g5xfJ*h#i;A>BD_UG>$h zIHqH*975xPCrn=Y?y?f7MwdihN-dT6{rh+MwfmZy8gQ5W+3YMA>uuiB(oQwI?BSAS zrKW~=uO49&wZ_i;Bp!Q-*y3b$yZ7xUZur#h+D_OMqi$P>9Kp|(vjyOi*Mxsx94r!X zm`djyfGyFivvio#adTL-X;AqvDEdX<{%mR=(zbY8Gidzg^=p5yj}s+Iv=8T%eg;)| z`{5L9hDbDVVV4jum?L4s@1|wjX4ix8TsrC0_hB?Lsd#_Q4wsrn(s|>ElG#Rqv zMeck&$Iw_eWmwhXTgmC=VDVqs;6;p}kg5GJIZ6(yq@fuEiz()KxU5$Hp(1>BOO+Kp zhx6UJQks990*X7+Daw2oB%f5HgD5YTB~MWllBH=b$OZb$B2<4Fj}j#MU7)i?MNQwf zwYZ9^R4#9?mu}DFETny`icMYZW)XfI+>PT!LP`#^B^O!teCWlzAIA78&F6Vof>EJ) z*?>SVGo@Z-C{_~qPR=p>luW?=yT3miF{h<+?y0evnbXO}mp5H6@Gu4a0C$ zMbO~S?>{sn$S=hL_we$^0wu?T=&>-U&tYlA%FZvCOEjQAw|aJs6TQ!Hxf`r>SKNGB zTyi(t&&XQ6$-;XzF#wHT;>Z$fU>ZiP8>DY zTI+-b!Y33ZNur9O&V}%Qcu@V|a&=^I0fXwT-E+!NaW`Dyhpw-$muS|}fBg87norNu zlkef-;p+N2p%F7lDvI8~n{5@EZ(=-YGjDb0(WpPM&?Lh_&~{160dWt+_Q~q@A*v=y zJ&E;hWd3e(tVu{lCNo!|gJHclS4j~g{J^8)mvMUW zO(dk}RIlY@5K5K9x;Vsr9qZvV>yZ`QKA4p=)aOz~l#L}VwpEVLb$utW|_xsFr;$e;jeHVBU zh!XS;AzsQatMVCiUvlMu;!%I@7|)q3RT*t#H;s6rLq!HAWGl1130q64+k7^tfvq`% zX>j7hc4wv`ATe%QcRQZELsE*Qmb=PsF=?X)%{? z-Rph7ZBujRl#-buocUz2YYud#Tp?sxN;q56{hOOszpoK%n#|98Z&Em08KeF9Yws#! zrgs)8J>qjFziV(#{z_n6?TO-cFebxwGU2pGc4XnO2>%V;rWrHbhI~Roy_sB3tZ#jo zMx3|VB-vGp&>FhkCv*4aHXg;#HgA&quKwEGB_#L!-V{E*D0=K(eSfmu!C^|*edA17Jadm6 zn0GubH1N&W&Aq{G_f@wVOn98EyN}&-M^Kw$F*psit>;1z)qF0Ok_B_`ON4mc@nwzE z-LwV)(_UjP7 zWSAu^B4T~n4O#%i)I7B>5E%p5Amp&Huz71PVs6`!?2kd_^S^Q~Ti?BV=Y6#rdUvx| zxzjA0#%1Gvcid0Jst>2r?7UjlPmZX+G4KNk71e15|Kwjx)@+f^&o;-QjmI+E1O9M3=qURo50U?rMrzCM7d-G;j;{ zcUKOjs^vpeF#?ME?gv8&4A)y}cAr0g{xIkAhKj0bJJYN2e7210R;53hjEKkn^;D6Z z*=Q;!#4$^FgXP`3FmR1uM*Y}|N=j(Yo@JX1Ct{NE#Y-m8dyKmQ8&N2eCa$eb8lF4x z%it3V4!QP9os5)}(bh-vOun>@{ z`R&iMeZ?da0Vsp$z4>#v2tpRq!B}ciVPDd;QSsBQQ6d3%Rs{tG$U5_x&^y_wLKy{> z1dSTg$tEYWz@Q+OMn6|qt}MR?USLRQd3jS-R`mZi*p07r1sz{rUMAj`6lJbO^B*3O zU;f5m`Q@^w3h}vIM(D;s#eDT4Pdo};5LG0e!R_HZ|9xI!Fm@xa`|BW6CWJ6sf=)9E zir!t;f3H>3EJsp4aBnH`UUn~h(YL~!_0+FG+ZwQ2I(rfDmA>)EJY>3r|1t+ zlR2v0(n93d7x3O~3<0zR2d}5chZuD7Smv@cnGN&y5Li9eq#<6%FYfm15jrY$dCvm- zJJ?((Ul#evKy5R2yd-F`$@mBF^Jvy!X8o2zYUf;O%Gjhb#?y;a9xfaA(=nxeYn)o{ zTL(nS=;$lGt8GK)uxibb{RO{xpc(`GMqd><1%i>GcE0gXKXU%vX`dHV!!}M)LS**`@JhMm1p=`gN%^xDHY}6)wEr{%7VfaZ&8lD^6cNT3K2rsg^B)%Zaw>Qi86DBnXQNkpTR>(v6njQem-~qv!1zCkXt$!UF?y!jw!@X|tpM*tULTUR~d?dj6J%dvNi=jDUDW&!oAr znUAzIE)#z`Y)L?l6Q6>mJXX7(6TofBc_vP*!0BeN#~9I$%a>^)jpOVMax3X(>tvZp zsceNC)(~+^$(ep}f?(MJJR~YAdNjf@F5gsL_4^|JosxRBF&gkX+y{T_s00Nwc%8Ob zEvM;(u2v9%q9S+BR~aqTnBgFzU}ih4_dVfjHC>O8^mJ0#wcwnjtnAh>ONa4FXMm`< zID&ZZEl^1+diwBw3O`Z`3X0hZonbFnTj+xI*2SV7>e0o3H?SGbyMIF3eQv9LZe0ON z>mjjg4VcGzQc{?oJD@*$uSmM>uDkc$ou$=IHyjd30!)dVvF-!Z^o2OuEBKzZXnOaPD zC=Q3!EaSt~Iu4CornIr~+ZQih^z`?8A<{Q2jvg+zprNB10`LLx{|ABj18m+?DC>=oTDN%hqSLLL&u}PhZ>r8grNYY#*(eESV1E18ym>5?VgL|r4{If%mgu=>7iuA*!JZeRm?fa$3)*SM_249 zu0UJO4lQ5QEM3nea>Q|MiL!0$b3E&@fSa`m>z}h-pKRA5;&y>YjnVP0GsQ_-tjSFJ z{p;~|qNS~$$p-lK(|_?EcXx{v{*y)*{W(Yo_dad6QC|PxFUW*s$7vxK7s2H>9<*uO zax0q>x4(dXiv->Qryr_TG_oE+E$-ilePsiqw6$Es6mE$c*^fnq;P+0ED74f&1RW#2 z1Na=Mw)-W&%RfA+B<2FExe5q5jlbz=>TxF`&M*Bg1o0U1(XJrWu$Y)4J81hE3`*fY zKd=5IYd{$StkR@uTw##Wp0Jl~r!8;~H+w7~{OB3@K~oyj1ymo&fp9(_|et@`S17Fp9q1+F*Z zAb!uwwHgXl%Qe+DU3V z`g%8jB?F_QCU;lI!NIQ*LJ62OS@k>Nz-4;BQ+`r!ab-fqAvYdLW`krGi$xFw2M4pd z?yCdy1MY&(&QcQx3754#2vcjV=El56&-dn(I(&UBr;EFQZPRG9r_^b2-JF!5I6s_f zbT9%)U?f*8;uVN4+`i1FEjXD-q6r|&ER+QjJXBK2ZYMbd$UoEjXXCO2N<0dIxTSK z3)LoJL-e94>LQfG3g$Hxdn=BA8Y@W7l#e($tkqxfyP3QsHZAy4tEY>j0y+8sL!8jr zNk#1Mg8lj`0DqAhGUmt0o0{GmkdG<8ywph|9qI0V@>!t$JKxlsC@5=E6Srz;z2eL_0&jD+}`niDHAIsT+&=(&q z0fP+jCeAfv?t3LL7o+p>#T;<@DJ`uZnX zS=k>QHH!y8m1-O}CD+#1+b)wl&;L!9sj=9_T!C>)^g7zPlM&WE?hadEuh@;B`Ew_m zL)(1>;xn`{t?#a}e8}u4p2kvA8Sv=j(Kf*YkE$9GF|STxYh8r9Bi)(dj&whQc2;W) zmSxX3){q+gF6YCDN)_K zZ{8N$I|gBt5GaIQ`ADGK2s`{u4ppZ9d3AV!!RtppRlkhtZn#v`dJPNM*SsUYjZW9^ zmE%voKOkOvcweE{R{bJOm~)3Ylh|3UYEwp1c0IEnsy`O&SL1l2E}JD|GBe(yUTgRg zS_xI%aKPVAZ;Y#?)-@-%qFIQ&UqH46H{; zom1fAD(>8uSrA7MFc|^_`Id%e&7Nn%g$&TFGo>L~-^XADoGH>`wn0u=gFtYTf`gHO zo$Lqj&SL%-C6Jg+01R1_FBo(zElb_pm#zVgyxteJUN@(^4xkw~5V~6Hh1jtSe!^#| zaj~)JBU<#5ii)_tzP|GZ7YK_sTqJnhl~SL+&3_99p%RZ=0f%lc+I4JZdL6zyf&FpG05fbDaB_#-0rVWW*-r`OxNh{w*ScVfr&wlAsKj=wBPP%gsjapetep9X z9G;u5hQ_p`Df>eg7sR5)vTvjQiJr)hFE%<|SxGz{=ExVTxkN?gtWRNb(`MPTmrU=nz!k)YB@Gj1m(tEmn2PXMvM)v z=3V#8e8=X{3ITot6s2vZOUQGf%tyr2b}hXP51faDXPt?SKJRxgc)05=hHS_x^7gQ* z&JJe79?P#%0>)+Nl~Py|ybha+K2VRF)+p4N${-*hgfDe8GFpliJd9IJ6JBPr9GWKh z$tLut^ExF1qzzEW3Lqe;UcZJ@Q6Uoc71-U~tofD)hz}4#=jwI%K85o@){c7#^?sR8 zzR~r&KYugF(u_+c?3-R=HvR_?0fv_rOO0&c!&U>-cO66*n?Pg?W=d6-+}ER!V`+Fu z3CS~a=_G$t3dNIBSZ7MO0;yj90%Z7mrO% zba=2QWApc{FPEkJ>iFQyz!ZlIW5H2zO0cq#*7<9Gq9$>jRcG<8AJl*goJf)W7n)S@ z;?m|}-&9YO~V7FTA`Y3P0vXH+*@ zQL$Q$_t)u}F%kp34%oB0@SW?w$G0Eh{z>37LXVZqFb=%f2hFAObgJRt2$`O00g$5U zavSz74J-cOXSq(<@4pI3%n13XbtPEVvfL-w38*F=IB6QZ2;>n0))Y!;xRRzPU-%$) zy9;^-Lk9x`Cxp}Z_#aa+3hKmmbad|_$4@yz)lu)Lp&W5;!`~$}$}x25yoH*<3fCvz z&)(lJEfwFr5s|w5_<4N9bQMRKZU0dy|6`Jb#-)`&rQiZZT&d%J{-k5Y9-r3Q1^)HG z0N7wrUtN(*%}oLQRDo)qIF_N2QCrN;&W>SFNp5f` zNw;t~v13wv{Ki4k$r)w_^a`+5$GCb{n?nhr5)w~=U@Di5Bml{rmea2}YIam6AEUp0 zdv@5o$E@pfu3|ct9yViX0_^IhZ-&(7US$W$(ZwBJzcKq{wTaYM9E!0>B90wEG4IWm zuU|s_P$TCWis!g^c^7UqzlMaY+Vh}e{y;L~u`o3?4KT<977Galuddu(5B`QMSTi4MvrrC69+w2JY2j3}PYOmQg&UqpYS_>bkc5w-_L_40 z*5ABhn(WOS$AOya{8H^`nx8!=lQI64A)bJEWvYfCd)cH*Co`u(>=%gg0$vnlv4mtx z!hdw6`5qY-@VMv^S(~0q@}okGDodY#9-h6^-clZ0##j5U~%?}3X zuWlC>e!0j696;}`Fm?;l(H$u-A+y+NGrt>4Ffe4;czw7M=7iE?Ix2B4A*%N7H!1PX z^*sj+zidWXTAo$ni7MCq4p>kT<1{LPAbZtlDeQ-YHWHs~eOd69_XdxBIxhZsYdTei z@S-C02_5FMpO{Bwp@uC-PD+I>VqfOMPUxfv4K3zY-^tj`ZnByjvd6|wCG&W)&h>LK zpWQN(8Mz+}J^-Gk=%jD40@4}*pyoujYL{*AVTM+YMe}8MO021J@hPf2S6N7O74@FX z&SLq?M<3hI0X7Rw*j%tXL_G=;5Lg0+eW49T2Nu^p!S_rKyERVYmUs`o&Qdc*!%k48 zxW!|Xz=-^d`9MM(W4=JG`6PmhN?Xcbf!NsC`3}DhH;BS=v-pt8c#n4sh3{2P&m2Ad z!q9BF7O(4mGB?R8loJFqiHsVG`daSpJWoR4BIhio(eBL)Xv{(YNPGGSY-Ny)WEVj| z)9TbOU}$Iv*V?5ZEsZG=O}aXf^9ka^&d&Y{@V^{pV@PA85&VyWzdTM&opmlVUq+G_ zfSB$C2z9l^6wOan1~UFkD`N|gh64Gz1O_z%o}@yH*2jli>t)U69xlR{FJ5%rUqZ)A zRm#xIDR(>$$5^C*mw&v6`C+`h`xX_o2?l(!;=nH2sbr_ zM%}w4^xPLRSXzWM))1kUEI8k~Q$hR4w)b?drgvM3hwwPB3udQZv7_w2z;_8VZk(?3*y!-x*wp_VC;6$c1`-{6UXJ*vpmj;Kh?q28g z!1zV>eIB>2-GsK=7Nm&IFPsezeNsDc&cA+eaQ`-H* zmY5@Gx1Q$#jkEt_{!XKTI&+(1cW^l7Vl^s;5O-yJIHKF@M{>OM%o`e#Oco}p2m_zy z=LEO|Y7Blf9Q>i;byObv4;6Qf7DWvO>%y>clhu~-G{jB7aimv zK=#B4#5Rz9hYmoOK*?jbo%ybJ@?t(qO1|OaBi5N)XmX-GK0d}I7r3&^XldQt+ByM} zjwn8E;poV&Rd2ltY$E-AsLhi$B!Q$0SEF$QqmC8>H*Rs9Dq!PwF8XYZOv6< zy})kUxQYV1*x50Ujf=b9Ey@bdh@b{YS;Q{j6D+5wz+X^rQ$YbZ{jV4J-%|19@w8<# zU`Yiph%9nsbtnP@@$kebsl|+7Fn;xp3o~+03;G0lJ@?}Agq3rO@CUtH1(ha$Q={IPb0@k{Fav*e*bM|X16E(Q6oH{ea>NJq~ze!jOhre&1}m5Yjs@3Bb- zHbn#D_`Q&b0umR{3x8h*pYHCK=wnNuwOt)S*>MKIe((XdnC|$2E3LdI=Z!e#g`{?uP`V8Xokmu;=Zic}{Xmu)X7WHwS7%vewNRE)PX(<&V{t}JYQk4&C; zQdlHWV9e;yYH(aDs|6QqT;t!eU3a};q^B1j)s34`{~XM5e}f2;a?I2f;M?=QBB)pU zu9eB(WUqemal!4?^#?bhyK#GKE(|o<@uP*@1nKmLD7Ow^6{d`Ocrv}NgoLif?cuOV z1-pPh=KwSCePtOze2fQGN(2M{gYXxfQw`b=8QkS6k$QXcj@B8z);!?>v%b8caj&FhT-fC?# z+i7TMNT)j6%Ibdj00#s-l9V?V#D@2QQLF|A2GZ#~KLAyDx?q;|BQsOh-kz07vo_oB z@d5I>$Z>P1^>mD1I*ls|=tfQ{J zR=PsAcscDL=@S$3vgtfsPZ`c)YmjK91XLr?&}!d%Pr%5UPh`V`Nw`+M8+*hCal^M4 zROn3gWu^3>B7>&Jbkq=l&5Ucc@PUarV)>RR=WS0?Q0 zGQF!sULl1`#E|=3NmuD+H?+4b<(k!4W5Ic7t$7f5JI_Q@cwsR(Erh%+oH;g7pjzP6 z^>5Y;qvEpRB5X`7v$F9(EvV1MiuJlTRH_!%*JOu(wP0Iw0*Sx@KBS+Px=4Wo%G$M= z)uy;{9lod=kIfdfBOlH<(OfZAV)Al!+@q$aU;8*+;&^V`;m)0AN=Sx^Za#7by%b?# zfp2%$HrH~Yu|@(iP+@q8cD>8HutQ`~tZ*+c-HSybATc={%ZBhRCgv$0ObyYSde6?m z!IGLSqM~vLwo4HUKkVB#x;dBPJ44T;#ikx;Qj^g~F~XdsbUv4GRC0I!07TTGz#@@n z3bJQs%Z+ZrXqxDS#4h2|JPPqsMLLX{-$%0iHom8oFSNeW$c}f z2{O^w`xCAbPThtVbF^}My<2pn(C*pZdZbmnlnv4|#fT646dL!b9n zP8Gj()T?|R_(_s$>Wf>8J%u3L*0YgOp;mJd^eYlUh>f}{hazRQz ziC!yf(3pP0k-jGZq~4#>1@7*RZU%b(Wc;ph+gs|OlK1Ksufwz0fIEkJL_$hdq#Q5P z&S88lBs7ia!u(ZO7_(yRa^v#KUXfy3GcpB*97g@i>e-JMeuh zb4%uCazVo(n&*1@l@7;2S0wNWAhS8EWoH7Id}`T$oPAJYMv)dbjLQVdVzn^magr!Zn{+Kx|hyb*^+ z62~kH1NbT`#j2wsb)_CExoiJkHzSgwMup}YZk!M4Jq~C+O1iCU(5Vm4$|Fb$k(T9R zSt?=31P$(8Oqy+tC*y^<)_qFh_%$j_W8>+uSKja;LY1y9B5j^xE+g@b^%ER_CY9p4 zHewWwSm~&TcjdPz{q!-{wE#r8y*OyO8uMVTrLzZAAb?LB+?k+w4b-a*2~vh&Ubj?h zqb*;WtUB|h2zqe=27DDD8&HBZStvvD6`Ra+hAEW+)Po`lns6L0j|V0OXj0?O%)xS< zsF}a;I+InC?X(Ljl%2Qi&pj43D}KGZk4re`oQNJ39n`>dwF-HgI^{wp$bopU!G`C= zY8mII5Lm%*d~BjejcfD@de8us1x260_)_!rS=Oz&wqP(tYJfT)MPwz{mJCoMe0SRKIsBO$jf5fLOixJYRwf+!opo! zmigr*74S6ct#@@63*H6>1{SLx{7$ia>Nq&Y$xD{E#1un=Au!Ya9W>fmNa9}nnV1-O z_%l?|hb~;RnUgc*s$Y?j?nn1Tby-e<4#b7^91!Ml{aptlB}<5$)n{M2A5?J?LVFE! z0F$p=q8I|;?T`3)=Sd@LE)oE03uQC-AYznKj?$k$KLb3f+ETO9Q{i#3d${Gt@<)Nx z!D!zTt=i!39ZG}ZkCgiL+SNBfiE$yBiP(t*$^SZ#Xi}Wsik2h?v2uE2*+8utG)wE>y93o=9&QWedt(*NUFG)e3AoT&+ea^}PxU;8h_y2$Ca9=a_ z!oos+VPR}qT124*Bw|>DV*OOQF;$U4KKwS{>n4XVq9qNHlxTA zHggaP(vnnjL{&Cp*V8{C3*`f3AwOZ3ZfdOmHqg+g8peo}+#^ZW>F&_Bi%8v3c&ZW` zo8*?!7t`czE-HOIjf|XhvFDr2Xv($#$m0MdjzzL3gHFXO?`8)6{Ljeg^8%x~;&ZSXd4@|kEquD79=8AOJSozQ>MR|bqWcjv5vQ6&AOu} z!c~LO#1ojrTtS*t6SBUczNUiB>v)aqlVnZV1xof^dU3}o+{oElck%}c#V;Ci)tZre zag`6n;{V$>@JJV4hbvhpBwt6%Bb#UT7;?xHv?htT98l3Dugt+m!-|@t{;8{oKD^wr zsm?s&WUfXEwU9~k9lQ#1O1(L?V2g8OEn$@kCvJx*w&=JZJa5>FK+vHy@-lMs;?+LA zDmee|?+KsMJoWA<6MSZcD!k=5coFyiZG$nMar%!Ki-Ho)otbmbOj3I@F~Us>laqaF z#=8evt}&mo+z3U={Lue4OliLqqIi6dC?U7j0L5Vgtt7R!nsQspI&YeQ3+scK{mo6- z=l4z@?-vH{t(5i8Cl#dKoaXA!IREK$l3ZWbh)I1RRs+mVdyq zp0ZV9ghe7>KByp}6<09+cfUlwF(mv<243PnT@og5|JyP3q8K0cf|>Az!&XdlPdPAe~$27O5w`~RB7ux4_1 zaiyPnnZU$EiHc3*N^*z)+jj;$8uf1K|7EjTFlaSQQv)X+5w0y1YXJju%{Avb*E##MKYQ=-la&_3!6d~*Lqo$6|M)>34eg#Hcr5<# z0r<(=0QUyJ&=Er7iVwk;+e3qI;BOK;5mh?{D7c5-792~qXY%kbY*x37~K0(pY zUZ9D8c(3RbzcuCTBsoI%dvB-HV8&6;pZewN4|=o?uuXMXp2&r8pS)R4UP`HmhD4cq zS>*7Kl*}?YKAfW0MNM_DLqkMfhPp4GwEkuJ!SX0Vai-_saBZO*wURiAf*@vGyPbny z&Nj|)Jf!;iSP1-}WA_$K4fR}SjjSsma>Q?XB`=fDuub#N)1l0UHeB!id+2rE>z_|= zU-DS!+shxGu>b!1`^UTV|DNmRqs)KK`Z(p=|Ixt#->dKZ_tdm;)q0T6e0YfEejK)v zV*hF$W*mI|S2dFiy{TIIqIjF~zj*&WcgokQrz9Pok7i`c^hoN6xk6l~x1(c;i5yF` zNl9YV$g%31e*B&~J&9>*SJThb%vVfamo;W5?Sc;0A>T^OjQCeSntzf-J3{D)|DSPx z_eLg(A7UH-alPUra#YZEIq;bNbH3%vecD0fJub5>`{+McDtEU_t0*R$u;U}k(U+Q$ zdWaH3r0(|jE^x@da{>GLJHeNvKh?s9YXNHbF}NIkn_n~2{eK3I&Wl)ka8xtpUrloJ z2K?qhtcfNchyHg~zdfacFlaoLti^EXh{2(Za$-V4plIs*JmpkbI$1gbx(Jvey;9v0VuZN+s$MAhU25M?Mc5?m zKQEzkz6J|mf2kv$2jTPeD|&Hp@!#%l(PUX21B0)Aevi7ly9cwC{EH1c?uJB0iptAB zB_Scn95Nj=tiCKD65#< zTt=;3yS0Am_V72tOYIRw<>lQKZqm}YKeyJZkT-(q>FJ{r6Z$45enQDk+EPUSb1J4g zO3KR5#Dd7@4%Y@A?1Y7eHk=)-_v?j$r(r?pT)5de#d=U?$SsJr6HH9^QCtT}K!?Kttf9n(ZNH~B5;sb$quU_ZL zXBC#0r`s;Ivs;XZt7tpl*Vn)D#uE!5{tQdgyS_YQu0l04(bD>QdZH0v-k)(hz~L|* z{Hw4W^~po`Y=6mos)`UFKTOX!?ePu80H2G(cnfx!sIZVJjaWf5M1O>*ZVKslb}9F7SC6>o}Ax;{q{OAv1+Zw{)kbdr?=w#-_C6q-;H+qkeX{hClJmPx+jo z&GE7v*#<=;qjaWdm%#`I6)@D6fq{XaF8%%e-vR@ho14>`jup!+7aN%oEqdm^^cJ>L z8Luq3Xj)p>GnX2ERk*SgYA{p<#Ou_ zNS`q~qiUh2Hx?1hmQpUo&>)AE!^OFv?|E6roEi-2(io%BW_LM**nvla+_cn<@2akjy$GoB|*M)2$_xajri)DdmhJnq=D zKg6~PrxzE9-P!k?R@0IdmQ&iY9oo`7rZ^>DFIBHkIPzOE^ej_SbVbC{?RQh^;_jh| zo2ZRSO*REcPiKZ>)8ffit@SsaMBaWN%Hn?$Jo8^@T|K%L+QPAb(fGYy{py6 z?6Rq)IQr@?y%m=CwPMZ@U#yEbmjZbSosbJ})~k66myp+snH+AHV%!X03c{SAVO4~i zF(|*VnZni{xL9YtPMB)c#me z>%%QO84}Y@YYg*DjUI0BXC;%iVcTaqenwNXt`MoFWu|MHo6=Qr@vzF846V6(!$hT)ozI8s zzK-Fp{j<&bzupsXz+I}*vWOmU@Q+j~!|TT!=c=bd`ow<{9=~9l*dJl7(=PYh_2=p} zW_MC%YR&YZSQ|>t%9kwhpq$;*>DbtcW7*4z7(8;IwVwX4eoXA2P<9{56qm08Z`58W zDrOn5u)11qRaJ{+HPRuX=~Qb-+o+&hnEy??bNKS78bwQ&dP`(|P_iQZLt}McD?#Ef z5#A(daz%TRT9rPv4RcM@H2PNhA~`-~(bw9PFut++O8ldDq4%;kH_fjv4`j5yBZMdG zkvD!z2wU5SxVY(3ahwmJYIW`xoR*fB)Z1$tnb!%0zy+ zL=V?~PE2>tMB!iw{%q_uktFUw)i)fgv=vMC2;gjinT$ZipdO_T8xWMyFa;sKtelond>VtwH;@>C()dz_3~zzqU7< zJf!Wd2Od;3Ona0(^*v#*v=rxqWk#*4aDO7^`Hc+;Yikxt_roV8MqTqGpODmyi~%Ub z%KY5iXZ1XzsVaK_t^NS^B&DRXv}<|6_Wq?_W?JO}fThE6#=W&jzZKlf!Gcdop|8aH z>ygOuGP72`otk^UGv!hXOG;7=J0cm?OTU>8WwW|h9d|5mj+NwU*T!NIF@+>12Ib^1 zXjR!ID`ZGlEiB@~;{{wfT~D?RXX@M+7Z+zYHaaS879L_@>5ml~eh?E|SYL0yxjuo` z&XrX=?idZEOMMU#N$xYIQ^_X>u#^FA7xOBG6X*5yH8wGeXPQLRKDeZ{@vGC2`pQb~ z$hR6TZDF+HFxa2*@mOB_bryrakIBi&?T)mn9RjH(A|F3{<|CB+6I>uRDf`ErS}AF1 zBT%}?1zf_x`|0WH3xf$E;df%e#l`)VmbQ1kQ7}-bD@-Gkm^(84_wUCCc+Vxl&`G$h zU!cWtSs8Uiz6GP!2URssy^NUM_%T>TRac322?R|O6J%-fZQltQjQdjVJ2;%-9sG@m zjBII-U>K`MLjC;wM#skbGUZ-9z#;t_5fPEUl`0mTF6@h2btQPYD;z`#?Vdy-j(muY zcV;MMWP12lW@n5QXT@)^P_AooZBxtV>qU&@jC17j!HKQ8rWx3ktj@iS#fyKH))fok z6D(VSt>G4Mr;U+?%JJB~WFH1JO3OzJ{?MKS%Y*DrWLFeG$Mh|3i7=Eax4<4D09_WB z-Rkn~MXB})jopnnoFWd$^1v3Hxab<412)l{l3mhpbmvgrA^a+8nqlo_n9_k z3`H}fnL9>I+Fbpa)~1wwZUBwhV^zx+0PF$$1EcSZm3LswadO}K0vB;5eKgm)q7KZJ zxxWMveFR6pGebGs^tF7D&O%|fE*NrnN!mXhr8L{!h#k)!#Tn?XdVE$*Oh!^<-k5}) zSmSxv$@sv*?7pX8(UXdWu;?;_SClx&gls}hEPL`-5kDkGtXSb|G#>H1cOeS;KGJ7F zx=9`~B~{vX=5kSZzQ+b9a|$(F`mC0Q@n^=T8)%25khs(8lUrC@g7MhCJ?BiidHk{B z352K0;TQp>mATURUbO)DaMI|+VdW(4r3~U^TMO_I76=5AIUOHQE-x=%SXAWfGDk!Q zAo`{L{Fw8u!DmB{u_~FJ8Kw3pqn_fmNoh%=&D^xfs<4k60Gv;Ua}*gD{)7ZSBgn=< z-5G77DzJsn1l_n7hivp!*w~k^oOn~(?oSemx*xx4dt)+~v)29V=ID3-pMXatQTKLX z_@C~s$QbnW$v%*dm5>gKZ73+yo#Mh@g={l$?mT*+v&FSwQ(9uQ{)gj3ON&BL02U?o zRztcsWq;wwsZbfJGCJ0j_Wp`dBs*Kb2fN4F5|O5+CNY;Kc^b^b>g6*g&A$LjR)_P* zaL70p0mI5wFZ&LFaDS^}M!rZ-1P#=Uma!7}+DtukC`X0%_3N)P(5vvnLp!Z2R4YtU zauJ}C;cw47;S4Icz0*!I@!U_ixVS`v$o*nsNN({D&}m{4lD;~3S2V5QPCV%4yK0B6 z)v0POz%ys#tm<@^J7WwC4Ow;npa%p7#sJhD$dG|=jh98o#T}f?AR(^D=Dc>Rzrmr8 zet*7)5zS%tYJVQD`wcMNp^fYf+9>=p8Vz#xl0myp@hr{*s^i<1C z2`N2Jsr;Y4z59ZbGm=%mWp;6~sW(}e6#`kPnDNm6^Yu|@5|k1Qy11kyhDG;oUteF% z*>ap>mb^C^mt~>dntXSnKnEB}Fbc(Uv@t@<&CM+%(|>(+ac3*!!!0rwJ8Y>}*>ALb zd-Ccd45l}ftrYNFAXdcx*;;<}m;5l=w)S?t(L!D9=ls#l{zMQDw}vFKGWD*-wlI|2 z85^iWO;b||fcqBdHDkVf`7)Zz>N#lY8k?KFcXzF|-bI9kHO4^Tg=J;b?Cgp}vdt|m zPszw6>OHO!$Gd-Qi_W`0qp0fC2&8AN_bsq=ML5FgCC|LnkfMdfNOxPxd($0%mshTF z?1V>^j|+Ob5v*>=T{a5S%BNxR-J3rjPFpI*pb7-z(WVPiUOgYEfWT$Yv0P4nTxjko z+w%Ihmj2mnz}XLw=1?PXOMt%8Gm#q_n>`0iu4v_t1x;yI%U8~E4D`1-RXV1>77Z4) zYU`cf<9#~Ttn8|k%1|4t7fj`f|I^U_TE=R4fyN3aBi5e-iG3uNHh6vK&X88t)e;lH z=8L~w*6fnI?TkbTfD+lBqQu zgwKU9F4@u4@TX}O!R;);EoitodRbn-t!`7!X81c>=eo*CgQ$i~DB08OQP!qQ2FZ5! zxE$%LI22@dMF%z!z2-vid#0kREQ^l81SMDJnmdurMyZwh&2I!Z~tv08l`$ayvH{y=P#JCc3SN5GF z`-5cD@bU(;WoZvSLh-<34$R3D8=u5m@>m>uzEz-@r|JW^(z~PChHeHa(}BVfbio@c zSt41IEJbo2vWB1}!8DVE8iaik&=0Hy&T-@FZ@$qlN!(+}b#$FRU)6x|jO{tdSOgzx z2#oJ{?a%Po$;Zu7v%c{TTghiJ{9twNV2S$<@v|IGeSOXsFj$Js*!9W0IO-*aBA4YP zo#Gjg5WMcvgH^cH5w*9^b}3Ygyz%hE%nVSZr;lQ2ro0FuGOf4qs@Au(gtaCPRDxC; z?cz&g5et{0(+-*uqk3z^UsbP-j_x+C9*KtDH#2MHjuumB3=)WRCe6lBg(sfnt&H=g z1f0sxs%#;mCkyjs#x6A%Y5BB_tA9;`@)NpR8(oW>Wmt~Ol~0umItRVYRBJ`ZUToi! zPN;`uc^ zBO@akNGjruIj;K1_pHnGu4j4 zfTr#*$62jYQ`$H>u7J1tm64%uWYhu%{`c=+o#9-y(FrrFX*V~wRe-ne-@m_wj9S+d zpi~gjNX7ob`VO8dtf+vGmzr!&RYy5&jrXO9VBwN;zx(*{Awcj!3Iu5H74y_1fD9ED z67m~N%cF-6bxwEZs@MR2!+U?eM}P2uO|R+U&)JPdaWJ3K($YW+@&(-X$>YbK6%~$k zhIkabADo=HDcyGOywx!Ey#oLZ3+O>cozV?*jlL%1rElu$>Rd>)m^CZk0m+7f&*3$o z+F-u#Jtif^e3!s$k8NruUVbu9!A`oWu7I3=Z$buH53d-hMxk5$JX&>ofzT(krys?) z6`s()8EKv{$lQnIelGDT?r5b0+heGzg zx{554v0nxTWOlfLN|@cvG?1)3+F;z(wKa{P#5x(|=#M1%VWTP?%-=(zt_f!<4*d)& zEyMBECgWy105|6?3DYSYxa{2UP$sLKkG_R8b=4;Bjwx#Zzhfp(NOT5aF5={aNvT4q! zR%=LkZExC}>A(R*EzpbY?hR6^U!@S7k!7>^(Rm6T8Hs%OAe$++C-{`33VPIuCR=VvLxAm8~+Iz-}8)})J^dse0w1?LeB&k<>lzf?F_$#@y z`(4DK)Z-g7uaa&r#Q+srl%85N7`trLe)V-KhC@T!w9jJr#iW#Un$^lOIW|uRKntK+ zNGH{|uN|mhO${T}U0is@#ql5vG&D3%2?&}RyfAO-I}28DBvbTVJLD%A3=<7#v<7f^iQAd2w(Azhl$W2%CwC5+E9wNm zX4cl$&gzUTErTK=2tf~ZE2%j-J15K1SvxwmPEBd4Y&ZGggT1E&ZqhNo;CbTG1N`86 zE`Tb+$+Dmy69wZk?)`ZOuorTECxG=LqN2Au+Xsg%J%<6vjR1&3W6pLl#=EyZTl6CP-3@)-dE!*QeE#0wKf=QuC9^t&_gtP-{gY(z z@xh)`?Dpk2)_5|q_Ocy<7~y%qk$c*d?13hSH!j!R{j$dlg>bQ?&RDZlmQagZzkjbn zfo zGZHDJoho8sB|dzeCxhko*5!sR#mbDbCj9ME$cnuR(Uz6I3!ewx#Fl$O8^#(UhXYOf79v{E*%=ajokTD*fi{g* zW78(1yR7!PoD1N6$E;!<4-Zcj<=&53ZBx=1wXxBOWhu+u*M^$p59^%-dX6<5OFtEg zBp95W@~4MDqMRLD^aPPewB)!I#NPQ^2MXS{p86Y+(feC_2dfR6Duf>AybaepFiIg6QGQMs{slx*Z>Rbv5s`D z3$>;65%e<_yStFH^_+sIgoMptH>p-Tyag2@^}W}FQmYw3nF)z1Akt6mR<;5=1Mq9? zbeW{?i=F!5gaiuv^}%GogI(SuG&SR=Ytk;8nwxcjErCK^ca>#jy-`+He*M}Q86YVs z3HCB8An{bRv=|YvX27oH=m<)U`-D`8ez#I0<9CXl?@)K{@Ungl4Sn)TG+@>XPjD8H z@(kCLnze5W^YcKux&L4QHBy(9M2YGB1ql7UHO>ejVc{&b5*lr7Z6Jmvbwn{QY;Q}e zs;VYpJiSpy!TDeDS?#~rsv){M`HNY-IT>v&Go$Gd|T~o<-U?(ofdPdT3v)J#4k2*;Ny>y3FC$wa9k= zDC^!5Bs8QjdT_xO%XMbaUbT30VQHe9esKYTlpNF~UOaI>#3msllG(AjidEvdXsy`9 z!i9rY*L()~g#$@GTc$!D ztsm3qS#lDEl6(2MNCRnR?7~o=RAcWVag!Js7)}fZ*ZKm87o(`;18s) zJkXGl3CvA=7jDk`?+Ji(WkcZrXG90xvAWSw3=LKGn{ZjgK2h7z4eR-2)rJ!!qo z0;E!LZ|c?Eq)j4E4I>l6gnL5=B+pIn3u?{i56h4_ZAFMOUw-k31*~~tWhLXHr=uh1 zw+=nDyL+5z`_gA}3HS3C-&&DisN1)oAkI@&Q2tvwI{X0;&2DW4#>J6=E{c|eV`!Ea zaIkryC?>6FUVC}~H?2)gUx9fhaI$czz-c-8@aM+an{Pn3mQLWsCgThMth+BmhVpo8 zq7{W0_sa+Lpjqnel?@08z)svy>MuLAexIgTcpZLCUJI1X_{x}%8?Da_ zuQui_O(4*0i+`PGp zUF)LZ`x$3h^9FupSx+vQ){qa7d=%ogF4uUh*Ii!?-hP*1 zJat`9lKZHB5DPKR;HFloNf+`&_eXrq~96JVSCbKw`gCY-1hR+=H;tb z_G1r|hCqyAwAj#pniH(A_FD}xado~}zZLh^4h7c2-oZgfh2)11=n$jM-Y$xcrH!1f z(MU4#v-5M?t8@E&ZFlY)W@>70Q0Q;j_Uv3uWoyA_fa)oI#&-5!%Ej7dW|H(rKDX8n0IGtNrX$8G6kINz5t!d%=6m>@lGz)+eJb;_MU27kYg%ro|naNBV0N24G z(O(yMfa*-6{%KiH@F&(~5}7RYMdPea@SW&?%rvH~Rj$4u8RH2sO;0FLX&(J(;xFlfqRrCz@xynj)n21a)6P%0Rce#DPEM+{Hx<~Vn9`5LwliWvE={bVWcwZX zK6>!lMkEDk8al|L-}(l?UHz#@H+t%TPtN%Kx*JphxZN=gFHc}O)=3fDDeug7ebekv z>#l8Ca);MZlDZ2wf?6=b8-wXdM0m@zzaw!K%_8df*nJvB<0#K&ENI1C?=z{>iXy(X zpiiZee;Gczu4o@>2{_CpuNy~v?$YgZs#IMt)o=N8FKWz&$)}cRhsE6DVW{Ik=Db03 zXwDva9cj`|-I;Tw*9Y~4Q4QZXJ~G&ndu2jlaHumEwJ%xt6_D(HLH8x)14$}*!meC-B+vWV_Hgb zFh(BPnf3al(gVr(9J1%fN5xV#({+!?o=NJpq#R9(OQs~$QwqD3E?sa;_OHsuc zKr-qLngMcNn{7(o#^y#)HS)Epi)|J}H#awLyG>9`fJsRTEDV>U_4}R~8MG1fN_wCv zjgF3%O@k5M`fng0f-M*s9E^v&x#9v{YKkVx7BH3~K<~AVE5R-lI0&f$iecT&wJT^W zclY=EX$W}SV}U#kOua)%d#DxQ{^m1v6urmsw>>*Kc_(mQcMlKU^kCLvVq&*%f}ufPbsy}j?(-(2&7n^M7&UtbS>{`~pn zZX+Jh&}6gZsq?jK+kw*vI_?b6>$M_r9~z4zH~h5O6uv0S1EG zUNaHsAie-cyxejMW^A0vG%+-jtB%Tn78*^;VOnU=_7r$KyPy^_F$Doh z59G62fJb0&Xf~Yd2O19W7O83_Mpat?G+xut*n+eS(oipq_N=NJ&(NYv&32IiEwdBLhZ5Sb~1dRpmg3-J?J+FFkHu9d9i*@hx*T@nGyf3)}Ju#rE zfAAac($*QmpoCv-2wT_Koow2)^Y0Pu*?9pLo#!(pts3S+e62hCJV^UGlq@-%9$PdgxeP=Mb6Av{^`_Oan?VRBfzv!-|e!x z7-+j#<5DQ89(t*fXSC%Pmy2B|9o8OX?o!Qqg~Yv9p}l*08tgl!^;Rk%bJe(^i8C?4 zd|7&}^@lYmvehH>9X?cnF-05X!XrMbZ#T{MULa<_4ku2Ex9PNWBLXG}V0moiZU?3o zMw|R%n(GH`zbE=SA}AW;_Q$#rHCH(f+jdHDhG+G1Q5DZMI>#U1n90ZF!7caN%B@M2 z?0!jfv0ZZhV%@oN_^yKF4XE{gWHtDv=kj?SBadx_U%hX?)zXaSCHIRNcgmC8kyYgT zDCHxylP+{4=CR*#Vaq^;$yCaFxv?V6Lbui!%~kz4D!MZ_iF0>ugkkU4dZEMSUd++J zgZUl7i*Ro?Cfv=-H3g&V!o)U&iVYVJAsj;^b~x`gJGE+<>mf%Fn<8m_x7=c)1@Jl? zrlinNUF&qHmDP?=npBTe%w>)0dENEox~+XVTy^Kz&RjccKffEe{MKut*!7lEJ^O+0 ze;Ka!jAUx3@hgbcz8~P_V1aPVsVg#eaBb^0Waqgo$oU>w_I#_OcysZhd1<7>qqV!` z2TAJ1++ZQ42}ull-bQm!v%)IZwHfENv*Hf7mIjxOV!gCtfhMkkf_{qL!kNIT)iUGM z2ix|>y~8}xVZHf@f;o*^Hnb?K$@$yntd8}gO1g5{cM!aw#W8i(f$O&=e0>ezvV+L~ z9?EHI7cJ!lh-?ZVC{X@0br;*!F8=e+7C{FTKnYC@hF){`;1r9dQn9dvY)w?)0KOLnUOK!d@o;l23|MJoo;C|Dq2b|8^UeN8LHLxEJ(p(( zk8p5Al4Wn>54&@XpeF0D4`u;@;b07&6q=ZrXr<8_NG1k@eYXru6T8X3^%h$K$$+$X zt17=yZ9A%xVDFUFn?s7WN-+yZxVBkG}O+|GFaCgvIcKv+s zwg38(80x{FA(LdZzu4x2C_X>l>PX;oJl(F|Ib@@|Ci(?m(h+pHr?276k}(lBV)oQq z!Fin%81}_*#pyGoP)#SJ`zIvR$@>&*OxJ0Da#?R*-veOAl4xq@DT8j|d=Q-wmi7Zo z1CeRwH-G;QgqH8R^8>~Cv0BMbuPdx((m&OEfN05Vn(D6N!@Ur6#h&erdM4{lm%H`Y z=9y$ZPJ7ariAh_twa=8!&fj2RVeJ)%dS*Kj9M=%>7>0v7;)_SgSvew}rMTQ?8b!&+ zS1n|?p^&BMocIt+ZW1^P2g_ZJV`FL+h0MP}ROPcTA{XRj`4^2%{>0*Qwe=Yj%ND$R zbOO1>6r&cH&qc>c`r{M>dfRt~1_mF%JsmB#h-)zEd&|g}I4Y4QpOpy)oa{q_s;peB z{+RZ-Sv*-bBq5;-tN>uJ{sHaStzB!o1e=_k%v34Rw&9X{NCk`ke8iBVYzC=3QujcQ z5PIJT3(6&xy-AadWBTgE!#`lENywml>%RhThE!2IOHt3%R9%M+>vppnJ}w2>%RlqY zGW_^|9`DqiJO^PJ^!xXVET?!G-@e@gQo!F3s-Dus5HM~wh;nkwOi5+jUIAC8t_V;; zRVTYZ+Sp5AKr2B$>zDh*@vQ`vnMvn$%*x6NbS~PSKhYrH3BsKvp0)dITwFa6arJLM znnp*Xf#3~s+MUfHdiI~_?hUNRFjsS>J7I5+)h#6xg+f^-hJ$nu=pw7iw6Jx}%p_vi zoE3C2{|S&c`5$VwP>_(3E$r;bfCTKLM~|qOn6|SnqGMy_K@p`_$qz7XxmJio-%b~+Zt)%$`(OF62?86bdH8ZS%$m!+){%dBWZ#DE*T* ze<()`(=QYK^5)+Ox| (\n \n \n \n);\n\nDesktopLoggedOutItemsSlot.propTypes = {\n items: desktopLoggedOutItemsDataShape,\n};\n\nexport default DesktopLoggedOutItemsSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,qBAAqB,IAAIC,8BAA8B,QAAQ,4CAA4C;AAElH,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA;EAAA,IAC7BC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,+BAA+B;IAClCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,qBAAqB;IAACI,KAAK,EAAEA;EAAM,CAAE,CAC5B,CAAC;AAAA,CACd;AAEDF,yBAAyB,CAACO,SAAS,GAAG;EACpCL,KAAK,EAAEH;AACT,CAAC;AAED,eAAeC,yBAAyB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopMainMenuSlot/README.md b/dist/plugin-slots/DesktopMainMenuSlot/README.md new file mode 100644 index 000000000..969179170 --- /dev/null +++ b/dist/plugin-slots/DesktopMainMenuSlot/README.md @@ -0,0 +1,134 @@ +# Desktop Main Menu Slot + +### Slot ID: `desktop_main_menu_slot` + +## Description + +This slot is used to replace/modify/hide the desktop main menu. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in the desktop main menu. + +![Screenshot of modified items](./images/desktop_main_menu_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyMainMenu = ( widget ) => { + widget.content.menu = [ + { + type: 'item', + href: 'https://openedx.org/', + content: 'openedx.org', + }, + { + type: 'item', + href: 'https://docs.openedx.org/en/latest/', + content: 'Documentation', + }, + { + type: 'item', + href: 'https://discuss.openedx.org/', + content: 'Forums', + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + desktop_main_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyMainMenu, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Menu with Custom Component + +The following `env.config.jsx` will replace the desktop main menu entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/desktop_main_menu_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_main_menu_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_main_menu_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Menu + +The following `env.config.jsx` will place custom components before and after the desktop main menu (in this case centered `h1`s with 🌜 and 🌛). + +![Screenshot of custom components before and after](./images/desktop_main_menu_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_main_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_main_menu_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌜

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_main_menu_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌛

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png b/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..ec29483f04b5c477135c8bfb4f7f197f98c88901 GIT binary patch literal 9023 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png b/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png new file mode 100644 index 0000000000000000000000000000000000000000..52c0cc7f522ddf8536c74b4a316e92dfe361a667 GIT binary patch literal 15401 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
    sQ^mQ*XFceL!zs-TQDgYZWNM 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 (\n \n \n \n);\n\nDesktopMainMenuSlot.propTypes = {\n menu: desktopHeaderMainOrSecondaryMenuDataShape,\n};\n\nexport default DesktopMainMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,gCAAgC,IAAIC,yCAAyC,QAAQ,uDAAuD;AAEnJ,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA;EAAA,IACvBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,wBAAwB;IAC3BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,gCAAgC;IAACI,IAAI,EAAEA;EAAK,CAAE,CACrC,CAAC;AAAA,CACd;AAEDF,mBAAmB,CAACO,SAAS,GAAG;EAC9BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,mBAAmB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md b/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md new file mode 100644 index 000000000..3351b07e1 --- /dev/null +++ b/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md @@ -0,0 +1,129 @@ +# Desktop Secondary Menu Slot + +### Slot ID: `desktop_secondary_menu_slot` + +## Description + +This slot is used to replace/modify/hide the desktop secondary menu. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in the desktop secondary menu. + +![Screenshot of modified items](./images/desktop_secondary_menu_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifySecondaryMenu = ( widget ) => { + widget.content.menu = [ + { + type: 'item', + href: 'https://www.youtube.com/c/openedx', + content: 'Open edX on YouTube', + }, + { + type: 'item', + href: 'https://github.com/openedx/', + content: 'Open edX on GitHub', + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + desktop_secondary_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifySecondaryMenu, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Menu with Custom Component + +The following `env.config.jsx` will replace the desktop secondary menu entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/desktop_secondary_menu_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_secondary_menu_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_secondary_menu_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Menu + +The following `env.config.jsx` will place custom components before and after the desktop secondary menu (in this case centered `h1`s with 🌜 and 🌛). + +![Screenshot of custom components before and after](./images/desktop_secondary_menu_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_secondary_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_secondary_menu_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌜

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_secondary_menu_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌛

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png b/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..cbfb69ebaf7bd730fc2a11b6b429ce0a580ae913 GIT binary patch literal 14173 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png b/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png new file mode 100644 index 0000000000000000000000000000000000000000..baaa9e2c8d2cdf44edbc68c146dff8d457a42411 GIT binary patch literal 15494 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png b/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png new file mode 100644 index 0000000000000000000000000000000000000000..18d858d2ccdb501d50d5300e6400ed7e77f4aadb GIT binary patch literal 16145 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js b/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js new file mode 100644 index 000000000..8bc35a9b1 --- /dev/null +++ b/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import DesktopHeaderMainOrSecondaryMenu, { desktopHeaderMainOrSecondaryMenuDataShape } from '../../desktop-header/DesktopHeaderMainOrSecondaryMenu'; +var DesktopSecondaryMenuSlot = function DesktopSecondaryMenuSlot(_ref) { + var menu = _ref.menu; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "desktop_secondary_menu_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(DesktopHeaderMainOrSecondaryMenu, { + menu: menu + })); +}; +DesktopSecondaryMenuSlot.propTypes = { + menu: desktopHeaderMainOrSecondaryMenuDataShape +}; +export default DesktopSecondaryMenuSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map b/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map new file mode 100644 index 000000000..263beb797 --- /dev/null +++ b/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","DesktopHeaderMainOrSecondaryMenu","desktopHeaderMainOrSecondaryMenuDataShape","DesktopSecondaryMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/DesktopSecondaryMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport DesktopHeaderMainOrSecondaryMenu, { desktopHeaderMainOrSecondaryMenuDataShape } from '../../desktop-header/DesktopHeaderMainOrSecondaryMenu';\n\nconst DesktopSecondaryMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nDesktopSecondaryMenuSlot.propTypes = {\n menu: desktopHeaderMainOrSecondaryMenuDataShape,\n};\n\nexport default DesktopSecondaryMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,gCAAgC,IAAIC,yCAAyC,QAAQ,uDAAuD;AAEnJ,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,6BAA6B;IAChCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,gCAAgC;IAACI,IAAI,EAAEA;EAAK,CAAE,CACrC,CAAC;AAAA,CACd;AAEDF,wBAAwB,CAACO,SAAS,GAAG;EACnCL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopUserMenuSlot/README.md b/dist/plugin-slots/DesktopUserMenuSlot/README.md new file mode 100644 index 000000000..e98b33d63 --- /dev/null +++ b/dist/plugin-slots/DesktopUserMenuSlot/README.md @@ -0,0 +1,141 @@ +# Desktop User Menu Slot + +### Slot ID: `desktop_user_menu_slot` + +## Description + +This slot is used to replace/modify/hide the desktop user menu. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in the desktop user menu. + +![Screenshot of modified items](./images/desktop_user_menu_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyUserMenu = ( widget ) => { + widget.content.menu = [ + { + items: [ + { + type: 'item', + href: 'https://openedx.org/', + content: 'openedx.org', + }, + { + type: 'item', + href: 'https://docs.openedx.org/en/latest/', + content: 'Documentation', + }, + ] + }, + { + items: [ + { + type: 'item', + href: 'https://discuss.openedx.org/', + content: 'Forums', + } + ] + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + desktop_user_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyUserMenu, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Menu with Custom Component + +The following `env.config.jsx` will replace the desktop user menu entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/desktop_user_menu_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_user_menu_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_user_menu_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Menu + +The following `env.config.jsx` will place custom components before and after the desktop user menu (in this case centered `h1`s with 🌞 and 🌚). + +![Screenshot of custom components before and after](./images/desktop_user_menu_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + desktop_user_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_user_menu_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌞

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_user_menu_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌚

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` diff --git a/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png b/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..05034c484bed8ebbe929c73c08eaab1842946941 GIT binary patch literal 9245 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 CCbDt> literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/DesktopUserMenuSlot/index.js b/dist/plugin-slots/DesktopUserMenuSlot/index.js new file mode 100644 index 000000000..7f0e5b2f0 --- /dev/null +++ b/dist/plugin-slots/DesktopUserMenuSlot/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import DesktopHeaderUserMenu, { desktopUserMenuDataShape } from '../../desktop-header/DesktopHeaderUserMenu'; +var DesktopUserMenuSlot = function DesktopUserMenuSlot(_ref) { + var menu = _ref.menu; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "desktop_user_menu_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(DesktopHeaderUserMenu, { + menu: menu + })); +}; +DesktopUserMenuSlot.propTypes = { + menu: desktopUserMenuDataShape +}; +export default DesktopUserMenuSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/DesktopUserMenuSlot/index.js.map b/dist/plugin-slots/DesktopUserMenuSlot/index.js.map new file mode 100644 index 000000000..f6eaec222 --- /dev/null +++ b/dist/plugin-slots/DesktopUserMenuSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","DesktopHeaderUserMenu","desktopUserMenuDataShape","DesktopUserMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/DesktopUserMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport DesktopHeaderUserMenu, { desktopUserMenuDataShape } from '../../desktop-header/DesktopHeaderUserMenu';\n\nconst DesktopUserMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nDesktopUserMenuSlot.propTypes = {\n menu: desktopUserMenuDataShape,\n};\n\nexport default DesktopUserMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,qBAAqB,IAAIC,wBAAwB,QAAQ,4CAA4C;AAE5G,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA;EAAA,IACvBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,wBAAwB;IAC3BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,qBAAqB;IAACI,IAAI,EAAEA;EAAK,CAAE,CAC1B,CAAC;AAAA,CACd;AAEDF,mBAAmB,CAACO,SAAS,GAAG;EAC9BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,mBAAmB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LearningHelpSlot/README.md b/dist/plugin-slots/LearningHelpSlot/README.md new file mode 100644 index 000000000..0f28edf38 --- /dev/null +++ b/dist/plugin-slots/LearningHelpSlot/README.md @@ -0,0 +1,41 @@ +# Learning Help Slot + +### Slot ID: `learning_help_slot` + +## Description + +This slot is used to replace/modify/hide the learning help link. + +## Examples + +### Custom Component + +The following `env.config.jsx` will replace the help link entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of replaced learning help with custom component](./images/learning_help_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + learning_help_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_learning_help_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + } + }, +} + +export default config; +``` diff --git a/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png b/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..52eb9b30503a046fbe1444f947a388d80cffae34 GIT binary patch literal 18483 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 JzNDVd{{^$2*!Tbd literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/LearningHelpSlot/index.js b/dist/plugin-slots/LearningHelpSlot/index.js new file mode 100644 index 000000000..d985a51e0 --- /dev/null +++ b/dist/plugin-slots/LearningHelpSlot/index.js @@ -0,0 +1,10 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import LearningHeaderHelpLink from '../../learning-header/LearningHeaderHelpLink'; +var LearningHelpSlot = function LearningHelpSlot() { + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "learning_help_slot" + }, /*#__PURE__*/React.createElement(LearningHeaderHelpLink, null)); +}; +export default LearningHelpSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/LearningHelpSlot/index.js.map b/dist/plugin-slots/LearningHelpSlot/index.js.map new file mode 100644 index 000000000..9d35b8162 --- /dev/null +++ b/dist/plugin-slots/LearningHelpSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","LearningHeaderHelpLink","LearningHelpSlot","createElement","id"],"sources":["../../../src/plugin-slots/LearningHelpSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport LearningHeaderHelpLink from '../../learning-header/LearningHeaderHelpLink';\n\nconst LearningHelpSlot = () => (\n \n \n \n);\n\nexport default LearningHelpSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,sBAAsB,MAAM,8CAA8C;AAEjF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA;EAAA,oBACpBH,KAAA,CAAAI,aAAA,CAACH,UAAU;IAACI,EAAE,EAAC;EAAoB,gBACjCL,KAAA,CAAAI,aAAA,CAACF,sBAAsB,MAAE,CACf,CAAC;AAAA,CACd;AAED,eAAeC,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md b/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md new file mode 100644 index 000000000..a803d0181 --- /dev/null +++ b/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md @@ -0,0 +1,132 @@ +# Learning Logged Out Items Slot + +### Slot ID: `learning_logged_out_items_slot` + +## Description + +This slot is used to replace/modify/hide the items shown on the learning header when the user is logged out. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items shown on the learning header when the user is logged out. + +![Screenshot of modified items](./images/learning_logged_out_items_modified_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyLoggedOutItems = ( widget ) => { + widget.content.buttonsInfo = [ + { + href: 'https://docs.openedx.org/en/latest/', + message: 'Documentation', + }, + { + href: 'https://discuss.openedx.org/', + message: 'Forums', + }, + { + href: 'https://openedx.org/', + message: 'openedx.org', + variant: 'primary', + }, + ]; + return widget; +}; + +const config = { + pluginSlots: { + learning_logged_out_items_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyLoggedOutItems, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace with Custom Component + +The following `env.config.jsx` will replace the items shown in the learning header when the user is logged out entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of replaced with custom component](./images/learning_logged_out_items_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + learning_logged_out_items_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_logged_out_items_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after + +The following `env.config.jsx` will place custom components before and after the items shown in the learning header when the user is logged out (in this case centered `h1`s with 🌜 and 🌛). + +![Screenshot of added custom components before and after](./images/learning_logged_out_items_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + learning_logged_out_items_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_logged_out_items_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌜

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_logged_out_items_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌛

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png b/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..bce54d3e3744b64a199eb24d942fac238e1c60be GIT binary patch literal 16286 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 literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png b/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png new file mode 100644 index 0000000000000000000000000000000000000000..b4cc6110c13a27e32f99d0539ad9ccf597197785 GIT binary patch literal 20319 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%0AK->4(qwPsDrusYP+R2 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 z PX=HmgolH&*b5@x~Y!3V0>#un3*Zsrw`druR{rcRW>%On+bAPV)=aVTwRVH|1 zb%Eg7>({>k`Ehl1b*p&-_i;76D6s>0_1?AOf2Zf^c6XXcAlh*`DA6oNHLoohY~VS& zarlOS6ZeM0i4tB!dO8SN{cE{x&;8uDHhN!@3GoU`PgW<_Z*lg751AU}XgEE-+4p0{ zX4l9GnuMX}3x<65#6>_1l+B7sL56WLPaYYqM7r?P4vyZ?J|KdZ0CA+RTVE+~5}Ygyl2lZwLt3)hj! z)0J`jFy5EGD-9xqhe!39l1n?nKHvJq3AM}Lqu4$Zv26f7zdC?!N)DzH-@k`)iSWMG zwWw=LZ_DpwJ0V@lb)2gt^XFrIb4%4MavGnpO)b8P7gZjsFW<8tqV4PLp*w`HF_F?&;7_5RX1Sace{U<|xWAl-&IRkG#+Qgy{P}k}p7`+NrrlIra?xjNc`(VGJNFM`L(_&!KbDZtg`#vjVKOBOrbpKQRmYSY zY*$xB}ZRM{`pTIy91YA5o4qW?%IS}2L*U1`XHN#=}kOWf3T z63HLO=A@TeY|G0P6rMDXnEFK%M$>A8r|oP@gf){6xV9^1{DrX=y}VQ35$)|LRYk>G zU|Mk^4~0_O%cyh#z%&)~E5`V()zZj;wBqUM|7adhN-Hhp$^Ds!$0(_O>AO8-4gK1k zDdv!nK~{|+Jf)n&mIWuIFNi?onkrmK*czC{JOa29z7+4ySk1!jUhU*E5%1hh>WmG# zuzSL@!S8<%p?pHkjn|@&^NsF)aanHklFUqqWvg>w_vg9!1+=%FB@R}@q(BsY`0yX)gKoIvC0 zWW&937niKLOa~?8U_!-=?w8Pm2I?P>pV`81FaAL+C(@2t-KZXm16-Lv0O(8{c4bCG zzBy^%gy2*FzHx(Z~6;G7KRKG6DFQTYrj7@UIy1jH$11J9J_#c*#(vzvJTU znokhj%J;abwz*18q8*#XqTqi2sW)B}Lt$O;aWGo!9ivR(9`q% ziU-lu7C*qb+EpmuV-9?-fLm&6V~n#cQvdn5BEj|6<_YraNE!-SM!0PMcB(-Bp{+KM z!n(iWn&B~Z03{#IT)2KNnw2_^rFbe4^w_k$5051cKM2(Vu&!Di0#?Y1b};y>Cd%I# zMIQ~n?OGy(P8vw)n7Cei&O0epnd=6yk)97gJAP`_NPn&|spT61Bsz{dU;| zZ8?51DOg43*m|4k?^RZ=A(3{`M^yvefBR`W0$~}<2SO(_|N2{|L9ns0ee&U{mI|jz zxa#p8pBIM#ucY45PBxSg!+;*;o1`wUGlmE?n&m28%#4SPNT;8D#wWt$2%?-6M7FU; zt2ZYV!&Lx^0)fHRk0F8OFXu0H)k0L7Wa_%ah@`mjjF$BIgjk^Xot&$ar(>giNZS7a DfZg8( literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png b/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb0f59cce98cf3d8fdd488966b5b09d3d13a396 GIT binary patch literal 18555 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 (\n \n \n \n);\n\nLearningLoggedOutItemsSlot.propTypes = learningHeaderLoggedOutItemsDataShape;\n\nexport default LearningLoggedOutItemsSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,wBAAwB,IAAIC,qCAAqC,QAAQ,gDAAgD;AAEhI,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA;EAAA,IAC9BC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,gCAAgC;IACnCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,wBAAwB;IAACI,WAAW,EAAEA;EAAY,CAAE,CAC3C,CAAC;AAAA,CACd;AAEDF,0BAA0B,CAACO,SAAS,GAAGR,qCAAqC;AAE5E,eAAeC,0BAA0B","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LearningUserMenuSlot/README.md b/dist/plugin-slots/LearningUserMenuSlot/README.md new file mode 100644 index 000000000..97fa467fe --- /dev/null +++ b/dist/plugin-slots/LearningUserMenuSlot/README.md @@ -0,0 +1,130 @@ +# Learning User Menu Slot + +### Slot ID: `learning_user_menu_slot` + +## Description + +This slot is used to replace/modify/hide the learning user menu. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in the learning user menu. + +![Screenshot of modified items](./images/learning_user_menu_modified_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyUserMenu = ( widget ) => { + widget.content.items = [ + { + href: 'https://openedx.org/', + message: 'openedx.org', + }, + { + href: 'https://docs.openedx.org/en/latest/', + message: 'Documentation', + }, + { + href: 'https://discuss.openedx.org/', + message: 'Forums', + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + learning_user_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyUserMenu, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Menu with Custom Component + +The following `env.config.jsx` will replace the items in the learning user menu entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of replaced with custom component](./images/learning_user_menu_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + learning_user_menu_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_user_menu_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Menu + +The following `env.config.jsx` will place custom components before and after the learning user menu (in this case centered `h1`s with 🌞 and 🌚). + +![Screenshot of custom components before and after](./images/learning_user_menu_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + learning_user_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_user_menu_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌞

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_user_menu_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌚

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` diff --git a/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png b/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..09bfd24e2b1451438d8981ec8239b36d6059ff0c GIT binary patch literal 7642 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 KKUaw8eg7Y2*%EaC literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/LearningUserMenuSlot/index.js b/dist/plugin-slots/LearningUserMenuSlot/index.js new file mode 100644 index 000000000..22c85c245 --- /dev/null +++ b/dist/plugin-slots/LearningUserMenuSlot/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import LearningHeaderUserMenuItems, { learningHeaderUserMenuDataShape } from '../../learning-header/LearningHeaderUserMenuItems'; +var LearningUserMenuSlot = function LearningUserMenuSlot(_ref) { + var items = _ref.items; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "learning_user_menu_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(LearningHeaderUserMenuItems, { + items: items + })); +}; +LearningUserMenuSlot.propTypes = learningHeaderUserMenuDataShape; +export default LearningUserMenuSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/LearningUserMenuSlot/index.js.map b/dist/plugin-slots/LearningUserMenuSlot/index.js.map new file mode 100644 index 000000000..412eb925c --- /dev/null +++ b/dist/plugin-slots/LearningUserMenuSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","LearningHeaderUserMenuItems","learningHeaderUserMenuDataShape","LearningUserMenuSlot","_ref","items","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/LearningUserMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport LearningHeaderUserMenuItems, { learningHeaderUserMenuDataShape } from '../../learning-header/LearningHeaderUserMenuItems';\n\nconst LearningUserMenuSlot = ({\n items,\n}) => (\n \n \n \n);\n\nLearningUserMenuSlot.propTypes = learningHeaderUserMenuDataShape;\n\nexport default LearningUserMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,2BAA2B,IAAIC,+BAA+B,QAAQ,mDAAmD;AAEhI,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA;EAAA,IACxBC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,yBAAyB;IAC5BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,2BAA2B;IAACI,KAAK,EAAEA;EAAM,CAAE,CAClC,CAAC;AAAA,CACd;AAEDF,oBAAoB,CAACO,SAAS,GAAGR,+BAA+B;AAEhE,eAAeC,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LogoSlot/README.md b/dist/plugin-slots/LogoSlot/README.md new file mode 100644 index 000000000..3fb0e15bf --- /dev/null +++ b/dist/plugin-slots/LogoSlot/README.md @@ -0,0 +1,69 @@ +# Logo Slot + +### Slot ID: `logo_slot` + +## Description + +This slot is used to replace/modify/hide the logo. + +## Examples + +### Modify URL + +The following `env.config.jsx` will modify the link href for the logo. + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyLogoHref = ( widget ) => { + widget.content.href = "https://openedx.org/"; + return widget; +}; + +const config = { + pluginSlots: { + logo_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyLogoHref, + }, + ] + }, + }, +} + +export default config; +``` + +### Custom Component + +The following `env.config.jsx` will replace the logo entirely (in this case with a centered 🗺️ `h1`) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + logo_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_logo_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + } + }, +} + +export default config; +``` \ No newline at end of file diff --git a/dist/plugin-slots/LogoSlot/index.js b/dist/plugin-slots/LogoSlot/index.js new file mode 100644 index 000000000..4732c62ea --- /dev/null +++ b/dist/plugin-slots/LogoSlot/index.js @@ -0,0 +1,26 @@ +var _excluded = ["href", "src", "alt"]; +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import Logo, { logoDataShape } from '../../Logo'; +var LogoSlot = function LogoSlot(_ref) { + var href = _ref.href, + src = _ref.src, + alt = _ref.alt, + attributes = _objectWithoutProperties(_ref, _excluded); + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "logo_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(Logo, _extends({ + href: href, + src: src, + alt: alt + }, attributes))); +}; +LogoSlot.propTypes = logoDataShape; +export default LogoSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/LogoSlot/index.js.map b/dist/plugin-slots/LogoSlot/index.js.map new file mode 100644 index 000000000..56226a2d9 --- /dev/null +++ b/dist/plugin-slots/LogoSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","Logo","logoDataShape","LogoSlot","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","id","slotOptions","mergeProps","_extends","propTypes"],"sources":["../../../src/plugin-slots/LogoSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport Logo, { logoDataShape } from '../../Logo';\n\nconst LogoSlot = ({\n href, src, alt, ...attributes\n}) => (\n \n \n \n);\n\nLogoSlot.propTypes = logoDataShape;\n\nexport default LogoSlot;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,IAAI,IAAIC,aAAa,QAAQ,YAAY;AAEhD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAEC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IAAKC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAE7BX,KAAA,CAAAY,aAAA,CAACX,UAAU;IACTY,EAAE,EAAC,WAAW;IACdC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFf,KAAA,CAAAY,aAAA,CAACV,IAAI,EAAAc,QAAA;IAACV,IAAI,EAAEA,IAAK;IAACC,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,GAAKC,UAAU,CAAG,CAC7C,CAAC;AAAA,CACd;AAEDL,QAAQ,CAACa,SAAS,GAAGd,aAAa;AAElC,eAAeC,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileHeaderSlot/README.md b/dist/plugin-slots/MobileHeaderSlot/README.md new file mode 100644 index 000000000..566f47081 --- /dev/null +++ b/dist/plugin-slots/MobileHeaderSlot/README.md @@ -0,0 +1,41 @@ +# Mobile Header Slot + +### Slot ID: `mobile_header_slot` + +## Description + +This slot is used to replace/modify/hide the entire mobile header. + +## Examples + +### Custom Component + +The following `env.config.jsx` will replace the mobile header entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/mobile_header_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_header_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_mobile_header_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + } + }, +} + +export default config; +``` \ No newline at end of file diff --git a/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png b/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..df026339c70a1463407ef9940214be506077a405 GIT binary patch literal 15830 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileHeaderSlot/index.js b/dist/plugin-slots/MobileHeaderSlot/index.js new file mode 100644 index 000000000..6d6fed01f --- /dev/null +++ b/dist/plugin-slots/MobileHeaderSlot/index.js @@ -0,0 +1,15 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import MobileHeader, { mobileHeaderDataShape } from '../../mobile-header/MobileHeader'; +var MobileHeaderSlot = function MobileHeaderSlot(_ref) { + var props = _ref.props; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "mobile_header_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(MobileHeader, props)); +}; +MobileHeaderSlot.propTypes = mobileHeaderDataShape; +export default MobileHeaderSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileHeaderSlot/index.js.map b/dist/plugin-slots/MobileHeaderSlot/index.js.map new file mode 100644 index 000000000..cf73f2d93 --- /dev/null +++ b/dist/plugin-slots/MobileHeaderSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","MobileHeader","mobileHeaderDataShape","MobileHeaderSlot","_ref","props","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileHeaderSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileHeader, { mobileHeaderDataShape } from '../../mobile-header/MobileHeader';\n\nconst MobileHeaderSlot = ({\n props,\n}) => (\n \n \n \n);\n\nMobileHeaderSlot.propTypes = mobileHeaderDataShape;\n\nexport default MobileHeaderSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,YAAY,IAAIC,qBAAqB,QAAQ,kCAAkC;AAEtF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA;EAAA,IACpBC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,oBAAoB;IACvBC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,YAAY,EAAKI,KAAQ,CAChB,CAAC;AAAA,CACd;AAEDF,gBAAgB,CAACO,SAAS,GAAGR,qBAAqB;AAElD,eAAeC,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md b/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md new file mode 100644 index 000000000..ffa8dd619 --- /dev/null +++ b/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md @@ -0,0 +1,134 @@ +# Mobile Logged Out Items Slot + +### Slot ID: `mobile_logged_out_items_slot` + +## Description + +This slot is used to replace/modify/hide the mobile user menu when logged out. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in mobile user menu when logged out. + +![Screenshot of modified items](./images/mobile_logged_out_items_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyLoggedOutItems = ( widget ) => { + widget.content.items = [ + { + type: 'item', + href: 'https://openedx.org/', + content: 'openedx.org', + }, + { + type: 'item', + href: 'https://docs.openedx.org/en/latest/', + content: 'Documentation', + }, + { + type: 'item', + href: 'https://discuss.openedx.org/', + content: 'Forums', + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + mobile_logged_out_items_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyLoggedOutItems, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Items with Custom Component + +The following `env.config.jsx` will replace the items in mobile user menu when logged out entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/mobile_logged_out_items_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_logged_out_items_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_logged_out_items_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Items + +The following `env.config.jsx` will place custom components before and after the items in mobile user menu when logged out (in this case centered `h1`s with 🌞 and 🌚). + +![Screenshot of custom components before and after](./images/mobile_logged_out_items_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_logged_out_items_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_logged_out_items_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌞

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_logged_out_items_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌚

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png b/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..a6f3ba1bc7e8cf23b3b6cfde3f630f30a51fb9c0 GIT binary patch literal 5701 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 LP=Lvqe*C`xQdUfe literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png b/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png new file mode 100644 index 0000000000000000000000000000000000000000..36b0527f878daa562be6609abbdc8c97df069f72 GIT binary patch literal 10042 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 Vn@&E?lwe;QBqON+FA>-G`#)e%DZBsx literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js b/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js new file mode 100644 index 000000000..9f8d83b70 --- /dev/null +++ b/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import MobileLoggedOutItems, { mobileHeaderLoggedOutItemsDataShape } from '../../mobile-header/MobileLoggedOutItems'; +var MobileLoggedOutItemsSlot = function MobileLoggedOutItemsSlot(_ref) { + var items = _ref.items; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "mobile_logged_out_items_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(MobileLoggedOutItems, { + items: items + })); +}; +MobileLoggedOutItemsSlot.propTypes = { + items: mobileHeaderLoggedOutItemsDataShape +}; +export default MobileLoggedOutItemsSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map b/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map new file mode 100644 index 000000000..51d127e7b --- /dev/null +++ b/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","MobileLoggedOutItems","mobileHeaderLoggedOutItemsDataShape","MobileLoggedOutItemsSlot","_ref","items","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileLoggedOutItemsSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileLoggedOutItems, { mobileHeaderLoggedOutItemsDataShape } from '../../mobile-header/MobileLoggedOutItems';\n\nconst MobileLoggedOutItemsSlot = ({\n items,\n}) => (\n \n \n \n);\n\nMobileLoggedOutItemsSlot.propTypes = {\n items: mobileHeaderLoggedOutItemsDataShape,\n};\n\nexport default MobileLoggedOutItemsSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,oBAAoB,IAAIC,mCAAmC,QAAQ,0CAA0C;AAEpH,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,8BAA8B;IACjCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,oBAAoB;IAACI,KAAK,EAAEA;EAAM,CAAE,CAC3B,CAAC;AAAA,CACd;AAEDF,wBAAwB,CAACO,SAAS,GAAG;EACnCL,KAAK,EAAEH;AACT,CAAC;AAED,eAAeC,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileMainMenuSlot/README.md b/dist/plugin-slots/MobileMainMenuSlot/README.md new file mode 100644 index 000000000..5eebd7bb7 --- /dev/null +++ b/dist/plugin-slots/MobileMainMenuSlot/README.md @@ -0,0 +1,134 @@ +# Mobile Main Menu Slot + +### Slot ID: `mobile_main_menu_slot` + +## Description + +This slot is used to replace/modify/hide the mobile main menu. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in the mobile main menu. + +![Screenshot of modified items](./images/mobile_main_menu_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyMainMenu = ( widget ) => { + widget.content.menu = [ + { + type: 'item', + href: 'https://openedx.org/', + content: 'openedx.org', + }, + { + type: 'item', + href: 'https://docs.openedx.org/en/latest/', + content: 'Documentation', + }, + { + type: 'item', + href: 'https://discuss.openedx.org/', + content: 'Forums', + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + mobile_main_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyMainMenu, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Menu with Custom Component + +The following `env.config.jsx` will replace the mobile main menu entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/mobile_main_menu_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_main_menu_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_main_menu_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Menu + +The following `env.config.jsx` will place custom components before and after the mobile main menu (in this case centered `h1`s with 🌞 and 🌚). + +![Screenshot of custom components before and after](./images/mobile_main_menu_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_main_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_main_menu_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌞

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_main_menu_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌚

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png b/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..00c82a7871c5deb32111eca891ee1af46633d2dc GIT binary patch literal 8549 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 ND9WkI7Rs2s{9nrjhqwR$ literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png b/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2e75bad71812831aa3c644aa6b9dadeb8786b9 GIT binary patch literal 9200 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 S z$84ms12eE|FqkC|1#9210-=i+Ew+{?#>dAOfgBQEyr6>eIoL`$VAoUbM>hiN#A>Qz;UUtEmuP>wjsl+`D%#w0LCtIgg^3%C*cQ_e{F{T;-w0D8VJK3hr!f zU@inTBTowumfWDJ9bmLUF^V1dbL!akPT#X?6iHV8vsVSh^E5J7$ zl9wYB6I%pRe7aKi{>fVW0s;ZRm9ZekOH1{<(sp{fy4BrTdRxt=`xKH|9};DpQVsqS z%R9BVdvb?HvFr|8_f#{w3ne0RAS zQnPpEtR01Cz7`g~-QD$hZ*#8!Bvt6b z1zWLH$9&oofG|`ZYrpgbX4i%sq|?-1n?W!vwt;TGg!^LE%3;->tOblgPJ|ehHc#s) zuAL<93~wMxAY&y*abz+6@%(TYr*t?u04`gYPF1YrH!}|GXR#JZJNbXH7Ez&;m4@om zr%$Jqlq&nbHR!#J(aHGuQB|AEU5X$HNQQ{NKkPd01Xu|M<_yS#_!|Z)3b0=MXMv-z^>+589u;pN)t`oeR+eZ-$W7FzIOE^t&XNyyu>bD~%Krx6$o>mx6wMPJ z*92nY;|Dr}jx%G=yU7faFbBTmK7%SQCQgcS^j@&9L!hDg~1aT#{Z;b^?6U zpTegR_x}x2xE5gdAZ-B+frvZu3#YxS&^nbII;R!=W3Q#vw#Bugv=XGgLY_eeU^6p* z0|Ntc^uQMA#1I|{$8kvnat1y2A&95i0q3%});so8=0Szm<@~CBIY^f2*+dckMRvWA z$9cjHKjr7wJK!j_J|sm(cJL4C=Ni83oqdf0o2}Tf%HN4cJN~oLTS5@787~Oxq&%AJCseILqIPiKcv?fO(t?KX#M0<8*&vM;qmy*#Vy2)4VTRvF}Z!) z-zFZM8t5y7P?8VqnBTXiA|$E^hgJHY$As0+OMXaBA8SxPVMeU_cajbOgC*nX!4l zY(`9sj5M8{opUx`LpBA!gP@`sjz$E2F#Kn?1ZYZwZke8b26Sj)gS?g9d&kzi;0z&T zu&t$q>UZ=*hac0f6u`C9L>v-MiYQOB(No+uG`t1&Mxyf%`W#XG?A`+i5=wJ$qBqbCu zq-b!3aK>lblW*D%bFv8n4<{d^!`=&)qd!Bqvu~=58_8O`%qx1YQ@scFtM&c$>lXsf zY{tTT;q=lb{!(#@g6FsEX}bhVIAn~AYb1{ZvO~}9>C8A-HYh&wVIP6#hDv%)VnH(_ zkXjJ%0URzyo!YSP|Mn7&UG8V1w1LUUfmMM$u-`bOT}irQa7^@|(#Nv^%~avNVKvj8 z6`Ror5wiS*lZr~&fb3Cpjc7x2a~jCx*2SwyW$XCokb!SKF>BBp=Y}S z_zDeZ49JJvB0x~VMaqAy1J;3(+#Fi)s|Tge%FoX%FHfuuWgT;s6VSMvm?6q}`&sSC^L=cm+B*kuL29!jo=trK?xa#iJnt@b!& zj1qVS+u}Vin1r(@RmPt`j?L9FLw|iFs;;VfIPh^~aeSaYE8LbZLvo^v=Dit5{yq*KN}sqBn6@E9=vvyu$iUJU6|} z7MpZ0M{;G@4)b^Zc;&ZnZh190_tefjkoLhYHrCg>9uGPZ9D7Zx1Pw#4I2)UJ0?Xf$5TgrF2d{j>io~CXEuQ}Y*IWqMI!}5zwi*o>7rv6-%YG+!E=62 zyPDyM=5!lRiHm=RCY%qMhQlG~?Sk78QonVMp$U>dIvOf+%GpIr2rSjZhqu9uo_OUs&SS-~bYUzZF1=8Q@>B}IJy+AaNgi(|p?~PCkEJXZ zL!!1dKEqPmZN@KLFG}hD2y<1dRgG1_2hw*Di|V%bjrDvDGtc!n$BfUt^b43_(@#Ca zG)kL)lQH2Yc*Wk$V+rH>$Sc1fe0!GcfPv>WW?L=~GZlT& S4gMMjaZ^=WCGXm!=l=nbrcQ?d literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileMainMenuSlot/index.js b/dist/plugin-slots/MobileMainMenuSlot/index.js new file mode 100644 index 000000000..c8c879412 --- /dev/null +++ b/dist/plugin-slots/MobileMainMenuSlot/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import MobileHeaderMainMenu, { mobileHeaderMainMenuDataShape } from '../../mobile-header/MobileHeaderMainMenu'; +var MobileMainMenuSlot = function MobileMainMenuSlot(_ref) { + var menu = _ref.menu; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "mobile_main_menu_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(MobileHeaderMainMenu, { + menu: menu + })); +}; +MobileMainMenuSlot.propTypes = { + menu: mobileHeaderMainMenuDataShape +}; +export default MobileMainMenuSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileMainMenuSlot/index.js.map b/dist/plugin-slots/MobileMainMenuSlot/index.js.map new file mode 100644 index 000000000..d00b2e510 --- /dev/null +++ b/dist/plugin-slots/MobileMainMenuSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","MobileHeaderMainMenu","mobileHeaderMainMenuDataShape","MobileMainMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileMainMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileHeaderMainMenu, { mobileHeaderMainMenuDataShape } from '../../mobile-header/MobileHeaderMainMenu';\n\nconst MobileMainMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nMobileMainMenuSlot.propTypes = {\n menu: mobileHeaderMainMenuDataShape,\n};\n\nexport default MobileMainMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,oBAAoB,IAAIC,6BAA6B,QAAQ,0CAA0C;AAE9G,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA;EAAA,IACtBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,uBAAuB;IAC1BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,oBAAoB;IAACI,IAAI,EAAEA;EAAK,CAAE,CACzB,CAAC;AAAA,CACd;AAEDF,kBAAkB,CAACO,SAAS,GAAG;EAC7BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,kBAAkB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileUserMenuSlot/README.md b/dist/plugin-slots/MobileUserMenuSlot/README.md new file mode 100644 index 000000000..d75e08e85 --- /dev/null +++ b/dist/plugin-slots/MobileUserMenuSlot/README.md @@ -0,0 +1,142 @@ +# Mobile User Menu Slot + +### Slot ID: `mobile_user_menu_slot` + +## Description + +This slot is used to replace/modify/hide the mobile user menu. + +## Examples + +### Modify Items + +The following `env.config.jsx` will modify the items in the mobile user menu. + +![Screenshot of modified items](./images/mobile_user_menu_modify_items.png) + +```jsx +import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const modifyUserMenu = ( widget ) => { + widget.content.menu = [ + { + items: [ + { + type: 'item', + href: 'https://openedx.org/', + content: 'openedx.org', + }, + { + type: 'item', + href: 'https://docs.openedx.org/en/latest/', + content: 'Documentation', + }, + ] + }, + { + items: [ + { + type: 'item', + href: 'https://discuss.openedx.org/', + content: 'Forums', + } + ] + } + ]; + return widget; +}; + +const config = { + pluginSlots: { + mobile_user_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Modify, + widgetId: 'default_contents', + fn: modifyUserMenu, + }, + ] + }, + }, +} + +export default config; +``` + +### Replace Menu with Custom Component + +The following `env.config.jsx` will replace the mobile main user entirely (in this case with a centered 🗺️ `h1`) + +![Screenshot of custom component](./images/mobile_user_menu_custom_component.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_user_menu_slot: { + keepDefault: false, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_user_menu_component', + type: DIRECT_PLUGIN, + RenderWidget: () => ( +

    🗺️

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + +### Add Custom Components before and after Menu + +The following `env.config.jsx` will place custom components before and after the mobile user menu (in this case centered `h1`s with 🌞 and 🌚). + +![Screenshot of custom components before and after](./images/mobile_user_menu_custom_components_before_after.png) + +```jsx +import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; + +const config = { + pluginSlots: { + mobile_user_menu_slot: { + keepDefault: true, + plugins: [ + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_before_user_menu_component', + type: DIRECT_PLUGIN, + priority: 10, + RenderWidget: () => ( +

    🌞

    + ), + }, + }, + { + op: PLUGIN_OPERATIONS.Insert, + widget: { + id: 'custom_after_user_menu_component', + type: DIRECT_PLUGIN, + priority: 90, + RenderWidget: () => ( +

    🌚

    + ), + }, + }, + ] + }, + }, +} + +export default config; +``` + diff --git a/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png b/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c302ab1231e79c9fc4787f7935a342ca33cc5c GIT binary patch literal 7939 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 L8VY4{uS5R}6(++y literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png b/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png new file mode 100644 index 0000000000000000000000000000000000000000..d635fb75bb1da1943c53a196b57b225e7885b9f5 GIT binary patch literal 13713 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 QT?+E>p0;}FU5hvW1^TH?#sB~S literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png b/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png new file mode 100644 index 0000000000000000000000000000000000000000..33d068fafad375711b1e0af0472c448bf07f464d GIT binary patch literal 9173 zcmb`NcTg1EmhBr60|J7AfFx}ML?ma4Dp3gnl5+;3$vLY?7DQCCC|M9ta&8q#lEfxA zL2_(zj&fa_d);b;jNJXBM_$o01fgn{>kWoh<2t48E zu5)ML|72XT@C(Fg*L#YO&%u9w=PbhD-?VPBI&K<{R&JiAE|v&u2S=18r>nV(rKN+b zjicKNAzBh1#EO5=eHTkpH(N)CYmaSFmI!6|LDk&t8Xxa99+5kOymth6uJQ5k3CJTU z^$>__2t}E@kG)cGBffr*r&F8Px)Kk9rO%!JNG?NaC_}RUgqcbp>vZhmDfI!$1w9T; zud*l3YW?LCmWJ*e+fN8T=c}V?7SdZ7PM!LbF3Vi$f|ffUa*n{|sX;>f^b(V^)#Xbj ztcm0z0b|@0GwrVL_nZ^_W)o+{U7K2}ZA%sJXP*xtNEkm^a8yTs8fW?;{8E9Cg2I*^ z^I5g`MD=k-w`2C+G*iP#nx|aG5LNfU@g-4@6JKjVBfUM+EPi^ z`p8NEb!f(x`Lde1E7h`#Gso@Q7PFnHZ{EHg-#Ivc`V>vb(}wYH(=Od*cG`t?+j@U6 z7=qk_f~?}=OKDy5Hz|>n!~`ZKgYfS0ZL&EksR~L;_Fd?A22*-;%V#e#TFm|axa%jG zqQYk06m^}AEi}KVK8d5S@|g)w%WPU;XJ@LIE;>LWU#kE~e(qI5LQA##;@n_~bv~o< zI2U!+qnkgU5}q9>w!F|B!xZx*jZwnqRc!3t=4ghDCo3K`iYhAE_e06{i)n4s1;^_x z+paXdq&xeqLwKy6zf0V8^b6OmTNBn&2eg3)*fE4oosVE*Vj^eZU3h5*^jKH6a`Hg6 zyIs!#tk6%ADa3TO!!aOkw9Z$aVL(w)F*7^+*59nycOeHK?}yR|*pMUmtvjclo@EU4 zF~$gZFMP_`?K(MBwHKlzA|i5I8Lg9bkGh(SE$-zT7wz&ox^!N@++J7dyOF+rWY;X= zLZC>w{os$8j^vC{baCl3pxRU)TP5rmL25P!RWQKIL@z{7_R_r6~YkhZd7g@q1# z&!(n`I3r!qrZnRFa~Z?_J0rpOt~=E4Sv~u161mtt$WnC^ezCr>A?mm5)N|0&+bigs zzJO7cdihx)Ob&(Ol#gMQbu`NoH1eLNdSYisE9ob)GZq+_aq!^bLt0+5(~Ert8MU=3 z>+3FkpLH8rVwpeX=GydZcgr(PhtN5EC@y~e;sSMf?z<~RuENUvg=iTvM)4Lnk#q+p z;ulEf?U|*4ug`z|`jvYi=Dt8FC@82_L2cWzva_)}858&F)whx^N$k{d&U>GTKY#wP zVjn(uup4u-8zYBZ@(}Bi*r6v2eICl_liQf#`EodGgy`pGTZ*s-DQ`>FLEC2s;dW_4)S~8IM`$!|u}x+0#6g4)Q

    }S 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 J;XRXQ{|0T4L`eVu literal 0 HcmV?d00001 diff --git a/dist/plugin-slots/MobileUserMenuSlot/index.js b/dist/plugin-slots/MobileUserMenuSlot/index.js new file mode 100644 index 000000000..095834c16 --- /dev/null +++ b/dist/plugin-slots/MobileUserMenuSlot/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { PluginSlot } from '@openedx/frontend-plugin-framework'; +import MobileHeaderUserMenu, { mobileHeaderUserMenuDataShape } from '../../mobile-header/MobileHeaderUserMenu'; +var MobileUserMenuSlot = function MobileUserMenuSlot(_ref) { + var menu = _ref.menu; + return /*#__PURE__*/React.createElement(PluginSlot, { + id: "mobile_user_menu_slot", + slotOptions: { + mergeProps: true + } + }, /*#__PURE__*/React.createElement(MobileHeaderUserMenu, { + menu: menu + })); +}; +MobileUserMenuSlot.propTypes = { + menu: mobileHeaderUserMenuDataShape +}; +export default MobileUserMenuSlot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileUserMenuSlot/index.js.map b/dist/plugin-slots/MobileUserMenuSlot/index.js.map new file mode 100644 index 000000000..1b705984e --- /dev/null +++ b/dist/plugin-slots/MobileUserMenuSlot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["React","PluginSlot","MobileHeaderUserMenu","mobileHeaderUserMenuDataShape","MobileUserMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileUserMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileHeaderUserMenu, { mobileHeaderUserMenuDataShape } from '../../mobile-header/MobileHeaderUserMenu';\n\nconst MobileUserMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nMobileUserMenuSlot.propTypes = {\n menu: mobileHeaderUserMenuDataShape,\n};\n\nexport default MobileUserMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,oBAAoB,IAAIC,6BAA6B,QAAQ,0CAA0C;AAE9G,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA;EAAA,IACtBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,uBAAuB;IAC1BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,oBAAoB;IAACI,IAAI,EAAEA;EAAK,CAAE,CACzB,CAAC;AAAA,CACd;AAEDF,kBAAkB,CAACO,SAAS,GAAG;EAC7BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,kBAAkB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/README.md b/dist/plugin-slots/README.md new file mode 100644 index 000000000..12071fb4c --- /dev/null +++ b/dist/plugin-slots/README.md @@ -0,0 +1,15 @@ +# `frontend-component-header` Plugin Slots + +* [`logo_slot`](./LogoSlot/) +* [`desktop_main_menu_slot`](./DesktopMainMenuSlot/) +* [`desktop_secondary_menu_slot`](./DesktopSecondaryMenuSlot/) +* [`mobile_main_menu_slot`](./MobileMainMenuSlot/) +* [`course_info_slot`](./CourseInfoSlot/) +* [`learning_help_slot`](./LearningHelpSlot/) +* [`desktop_logged_out_items_slot`](./DesktopLoggedOutItemsSlot/) +* [`mobile_logged_out_items_slot`](./MobileLoggedOutItemsSlot/) +* [`mobile_user_menu_slot`](./MobileUserMenuSlot/) +* [`desktop_user_menu_slot`](./DesktopUserMenuSlot/) +* [`learning_user_menu_slot`](./LearningUserMenuSlot/) +* [`learning_logged_out_items_slot`](./LearningLoggedOutItemsSlot/) +* [`desktop_header_slot`](./DesktopHeaderSlot/) diff --git a/dist/studio-header/BrandNav.js b/dist/studio-header/BrandNav.js index 14cb1cce6..13ce73788 100644 --- a/dist/studio-header/BrandNav.js +++ b/dist/studio-header/BrandNav.js @@ -1,11 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; +import { Link } from 'react-router-dom'; var BrandNav = function BrandNav(_ref) { var studioBaseUrl = _ref.studioBaseUrl, logo = _ref.logo, logoAltText = _ref.logoAltText; - return /*#__PURE__*/React.createElement("a", { - href: studioBaseUrl + return /*#__PURE__*/React.createElement(Link, { + to: studioBaseUrl }, /*#__PURE__*/React.createElement("img", { src: logo, alt: logoAltText, diff --git a/dist/studio-header/BrandNav.js.map b/dist/studio-header/BrandNav.js.map index 5a8a21991..56267d675 100644 --- a/dist/studio-header/BrandNav.js.map +++ b/dist/studio-header/BrandNav.js.map @@ -1 +1 @@ -{"version":3,"file":"BrandNav.js","names":["React","PropTypes","BrandNav","_ref","studioBaseUrl","logo","logoAltText","createElement","href","src","alt","className","propTypes","string","isRequired"],"sources":["../../src/studio-header/BrandNav.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BrandNav = ({\n studioBaseUrl,\n logo,\n logoAltText,\n}) => (\n \n \n \n);\n\nBrandNav.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n logoAltText: PropTypes.string.isRequired,\n};\n\nexport default BrandNav;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA;IAAGC,IAAI,EAAEJ;EAAc,gBACrBJ,KAAA,CAAAO,aAAA;IACEE,GAAG,EAAEJ,IAAK;IACVK,GAAG,EAAEJ,WAAY;IACjBK,SAAS,EAAC;EAAc,CACzB,CACA,CAAC;AAAA,CACL;AAEDT,QAAQ,CAACU,SAAS,GAAG;EACnBR,aAAa,EAAEH,SAAS,CAACY,MAAM,CAACC,UAAU;EAC1CT,IAAI,EAAEJ,SAAS,CAACY,MAAM,CAACC,UAAU;EACjCR,WAAW,EAAEL,SAAS,CAACY,MAAM,CAACC;AAChC,CAAC;AAED,eAAeZ,QAAQ","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"BrandNav.js","names":["React","PropTypes","Link","BrandNav","_ref","studioBaseUrl","logo","logoAltText","createElement","to","src","alt","className","propTypes","string","isRequired"],"sources":["../../src/studio-header/BrandNav.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\n\nconst BrandNav = ({\n studioBaseUrl,\n logo,\n logoAltText,\n}) => (\n \n \n \n);\n\nBrandNav.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n logoAltText: PropTypes.string.isRequired,\n};\n\nexport default BrandNav;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXP,KAAA,CAAAQ,aAAA,CAACN,IAAI;IAACO,EAAE,EAAEJ;EAAc,gBACtBL,KAAA,CAAAQ,aAAA;IACEE,GAAG,EAAEJ,IAAK;IACVK,GAAG,EAAEJ,WAAY;IACjBK,SAAS,EAAC;EAAc,CACzB,CACG,CAAC;AAAA,CACR;AAEDT,QAAQ,CAACU,SAAS,GAAG;EACnBR,aAAa,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EAC1CT,IAAI,EAAEL,SAAS,CAACa,MAAM,CAACC,UAAU;EACjCR,WAAW,EAAEN,SAAS,CAACa,MAAM,CAACC;AAChC,CAAC;AAED,eAAeZ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/CourseLockUp.js b/dist/studio-header/CourseLockUp.js index 0cc10f1e3..42d9a65b6 100644 --- a/dist/studio-header/CourseLockUp.js +++ b/dist/studio-header/CourseLockUp.js @@ -2,6 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { OverlayTrigger, Tooltip } from '@openedx/paragon'; +import { Link } from 'react-router-dom'; import messages from './messages'; var CourseLockUp = function CourseLockUp(_ref) { var outlineLink = _ref.outlineLink, @@ -14,9 +15,9 @@ var CourseLockUp = function CourseLockUp(_ref) { overlay: /*#__PURE__*/React.createElement(Tooltip, { id: "course-lock-up" }, title) - }, /*#__PURE__*/React.createElement("a", { + }, /*#__PURE__*/React.createElement(Link, { className: "course-title-lockup mr-2", - href: outlineLink, + to: outlineLink, "aria-label": intl.formatMessage(messages['header.label.courseOutline']), "data-testid": "course-lock-up-block" }, /*#__PURE__*/React.createElement("span", { diff --git a/dist/studio-header/CourseLockUp.js.map b/dist/studio-header/CourseLockUp.js.map index 114365aca..88d3ee8be 100644 --- a/dist/studio-header/CourseLockUp.js.map +++ b/dist/studio-header/CourseLockUp.js.map @@ -1 +1 @@ -{"version":3,"file":"CourseLockUp.js","names":["React","PropTypes","injectIntl","intlShape","OverlayTrigger","Tooltip","messages","CourseLockUp","_ref","outlineLink","org","number","title","intl","createElement","placement","overlay","id","className","href","formatMessage","propTypes","string","isRequired","defaultProps"],"sources":["../../src/studio-header/CourseLockUp.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n OverlayTrigger,\n Tooltip,\n} from '@openedx/paragon';\nimport messages from './messages';\n\nconst CourseLockUp = ({\n outlineLink,\n org,\n number,\n title,\n // injected\n intl,\n}) => (\n \n {title}\n \n )}\n >\n \n {org} {number}\n {title}\n \n \n);\n\nCourseLockUp.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n outlineLink: PropTypes.string,\n // injected\n intl: intlShape.isRequired,\n};\n\nCourseLockUp.defaultProps = {\n number: null,\n org: null,\n title: null,\n outlineLink: null,\n};\n\nexport default injectIntl(CourseLockUp);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SACEC,cAAc,EACdC,OAAO,QACF,kBAAkB;AACzB,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAChBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAELC,IAAI,GAAAL,IAAA,CAAJK,IAAI;EAAA,oBAEJb,KAAA,CAAAc,aAAA,CAACV,cAAc;IACbW,SAAS,EAAC,QAAQ;IAClBC,OAAO,eACLhB,KAAA,CAAAc,aAAA,CAACT,OAAO;MAACY,EAAE,EAAC;IAAgB,GACzBL,KACM;EACT,gBAEFZ,KAAA,CAAAc,aAAA;IACEI,SAAS,EAAC,0BAA0B;IACpCC,IAAI,EAAEV,WAAY;IAClB,cAAYI,IAAI,CAACO,aAAa,CAACd,QAAQ,CAAC,4BAA4B,CAAC,CAAE;IACvE,eAAY;EAAsB,gBAElCN,KAAA,CAAAc,aAAA;IAAMI,SAAS,EAAC,iCAAiC;IAAC,eAAY;EAAmB,GAAER,GAAG,EAAC,GAAC,EAACC,MAAa,CAAC,eACvGX,KAAA,CAAAc,aAAA;IAAMI,SAAS,EAAC,4CAA4C;IAAC,eAAY;EAAc,GAAEN,KAAY,CACpG,CACW,CAAC;AAAA,CAClB;AAEDL,YAAY,CAACc,SAAS,GAAG;EACvBV,MAAM,EAAEV,SAAS,CAACqB,MAAM;EACxBZ,GAAG,EAAET,SAAS,CAACqB,MAAM;EACrBV,KAAK,EAAEX,SAAS,CAACqB,MAAM;EACvBb,WAAW,EAAER,SAAS,CAACqB,MAAM;EAC7B;EACAT,IAAI,EAAEV,SAAS,CAACoB;AAClB,CAAC;AAEDhB,YAAY,CAACiB,YAAY,GAAG;EAC1Bb,MAAM,EAAE,IAAI;EACZD,GAAG,EAAE,IAAI;EACTE,KAAK,EAAE,IAAI;EACXH,WAAW,EAAE;AACf,CAAC;AAED,eAAeP,UAAU,CAACK,YAAY,CAAC","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"CourseLockUp.js","names":["React","PropTypes","injectIntl","intlShape","OverlayTrigger","Tooltip","Link","messages","CourseLockUp","_ref","outlineLink","org","number","title","intl","createElement","placement","overlay","id","className","to","formatMessage","propTypes","string","isRequired","defaultProps"],"sources":["../../src/studio-header/CourseLockUp.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n OverlayTrigger,\n Tooltip,\n} from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nimport messages from './messages';\n\nconst CourseLockUp = ({\n outlineLink,\n org,\n number,\n title,\n // injected\n intl,\n}) => (\n \n {title}\n \n )}\n >\n \n {org} {number}\n {title}\n \n \n);\n\nCourseLockUp.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n outlineLink: PropTypes.string,\n // injected\n intl: intlShape.isRequired,\n};\n\nCourseLockUp.defaultProps = {\n number: null,\n org: null,\n title: null,\n outlineLink: null,\n};\n\nexport default injectIntl(CourseLockUp);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SACEC,cAAc,EACdC,OAAO,QACF,kBAAkB;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAChBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAELC,IAAI,GAAAL,IAAA,CAAJK,IAAI;EAAA,oBAEJd,KAAA,CAAAe,aAAA,CAACX,cAAc;IACbY,SAAS,EAAC,QAAQ;IAClBC,OAAO,eACLjB,KAAA,CAAAe,aAAA,CAACV,OAAO;MAACa,EAAE,EAAC;IAAgB,GACzBL,KACM;EACT,gBAEFb,KAAA,CAAAe,aAAA,CAACT,IAAI;IACHa,SAAS,EAAC,0BAA0B;IACpCC,EAAE,EAAEV,WAAY;IAChB,cAAYI,IAAI,CAACO,aAAa,CAACd,QAAQ,CAAC,4BAA4B,CAAC,CAAE;IACvE,eAAY;EAAsB,gBAElCP,KAAA,CAAAe,aAAA;IAAMI,SAAS,EAAC,iCAAiC;IAAC,eAAY;EAAmB,GAAER,GAAG,EAAC,GAAC,EAACC,MAAa,CAAC,eACvGZ,KAAA,CAAAe,aAAA;IAAMI,SAAS,EAAC,4CAA4C;IAAC,eAAY;EAAc,GAAEN,KAAY,CACjG,CACQ,CAAC;AAAA,CAClB;AAEDL,YAAY,CAACc,SAAS,GAAG;EACvBV,MAAM,EAAEX,SAAS,CAACsB,MAAM;EACxBZ,GAAG,EAAEV,SAAS,CAACsB,MAAM;EACrBV,KAAK,EAAEZ,SAAS,CAACsB,MAAM;EACvBb,WAAW,EAAET,SAAS,CAACsB,MAAM;EAC7B;EACAT,IAAI,EAAEX,SAAS,CAACqB;AAClB,CAAC;AAEDhB,YAAY,CAACiB,YAAY,GAAG;EAC1Bb,MAAM,EAAE,IAAI;EACZD,GAAG,EAAE,IAAI;EACTE,KAAK,EAAE,IAAI;EACXH,WAAW,EAAE;AACf,CAAC;AAED,eAAeR,UAAU,CAACM,YAAY,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/HeaderBody.js b/dist/studio-header/HeaderBody.js index 0a83bb20c..ccc7580a7 100644 --- a/dist/studio-header/HeaderBody.js +++ b/dist/studio-header/HeaderBody.js @@ -1,6 +1,11 @@ +var _excluded = ["className"]; +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } import React from 'react'; import PropTypes from 'prop-types'; import { useIntl } from '@edx/frontend-platform/i18n'; +import classNames from 'classnames'; import { ActionRow, Button, Container, Icon, IconButton, Nav, Row } from '@openedx/paragon'; import { Close, MenuIcon, Search } from '@openedx/paragon/icons'; import CourseLockUp from './CourseLockUp'; @@ -26,17 +31,21 @@ var HeaderBody = function HeaderBody(_ref) { isHiddenMainMenu = _ref.isHiddenMainMenu, mainMenuDropdowns = _ref.mainMenuDropdowns, outlineLink = _ref.outlineLink, - searchButtonAction = _ref.searchButtonAction; + searchButtonAction = _ref.searchButtonAction, + containerProps = _ref.containerProps; var intl = useIntl(); var renderBrandNav = /*#__PURE__*/React.createElement(BrandNav, { studioBaseUrl: studioBaseUrl, logo: logo, logoAltText: logoAltText }); - return /*#__PURE__*/React.createElement(Container, { + var _ref2 = containerProps || {}, + containerClassName = _ref2.className, + restContainerProps = _objectWithoutProperties(_ref2, _excluded); + return /*#__PURE__*/React.createElement(Container, _extends({ size: "xl", - className: "px-2.5" - }, /*#__PURE__*/React.createElement(ActionRow, { + className: classNames('px-2.5', containerClassName) + }, restContainerProps), /*#__PURE__*/React.createElement(ActionRow, { as: "header" }, isHiddenMainMenu ? /*#__PURE__*/React.createElement(Row, { className: "flex-nowrap ml-4" @@ -73,7 +82,8 @@ var HeaderBody = function HeaderBody(_ref) { src: Search, iconAs: Icon, onClick: searchButtonAction, - "aria-label": intl.formatMessage(messages['header.label.search.nav']) + "aria-label": intl.formatMessage(messages['header.label.search.nav']), + alt: intl.formatMessage(messages['header.label.search.nav']) })), /*#__PURE__*/React.createElement(Nav, null, /*#__PURE__*/React.createElement(UserMenu, { username: username, studioBaseUrl: studioBaseUrl, @@ -100,14 +110,15 @@ HeaderBody.propTypes = { isHiddenMainMenu: PropTypes.bool, mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string, - buttonTitle: PropTypes.string, + buttonTitle: PropTypes.node, items: PropTypes.arrayOf(PropTypes.shape({ href: PropTypes.string, - title: PropTypes.string + title: PropTypes.node })) })), outlineLink: PropTypes.string, - searchButtonAction: PropTypes.func + searchButtonAction: PropTypes.func, + containerProps: PropTypes.shape(Container.propTypes) }; HeaderBody.defaultProps = { setModalPopupTarget: null, @@ -125,7 +136,8 @@ HeaderBody.defaultProps = { isHiddenMainMenu: false, mainMenuDropdowns: [], outlineLink: null, - searchButtonAction: null + searchButtonAction: null, + containerProps: {} }; export default HeaderBody; //# sourceMappingURL=HeaderBody.js.map \ No newline at end of file diff --git a/dist/studio-header/HeaderBody.js.map b/dist/studio-header/HeaderBody.js.map index 266074cfe..aa99d8775 100644 --- a/dist/studio-header/HeaderBody.js.map +++ b/dist/studio-header/HeaderBody.js.map @@ -1 +1 @@ -{"version":3,"file":"HeaderBody.js","names":["React","PropTypes","useIntl","ActionRow","Button","Container","Icon","IconButton","Nav","Row","Close","MenuIcon","Search","CourseLockUp","UserMenu","BrandNav","NavDropdownMenu","messages","HeaderBody","_ref","logo","logoAltText","number","org","title","username","isAdmin","studioBaseUrl","logoutUrl","authenticatedUserAvatar","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","intl","renderBrandNav","createElement","size","className","as","Fragment","ref","variant","onClick","iconBefore","Spacer","map","dropdown","id","buttonTitle","items","key","src","iconAs","formatMessage","propTypes","string","isRequired","func","bool","arrayOf","shape","href","defaultProps"],"sources":["../../src/studio-header/HeaderBody.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n ActionRow,\n Button,\n Container,\n Icon,\n IconButton,\n Nav,\n Row,\n} from '@openedx/paragon';\nimport { Close, MenuIcon, Search } from '@openedx/paragon/icons';\n\nimport CourseLockUp from './CourseLockUp';\nimport UserMenu from './UserMenu';\nimport BrandNav from './BrandNav';\nimport NavDropdownMenu from './NavDropdownMenu';\nimport messages from './messages';\n\nconst HeaderBody = ({\n logo,\n logoAltText,\n number,\n org,\n title,\n username,\n isAdmin,\n studioBaseUrl,\n logoutUrl,\n authenticatedUserAvatar,\n isMobile,\n setModalPopupTarget,\n toggleModalPopup,\n isModalPopupOpen,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n}) => {\n const intl = useIntl();\n\n const renderBrandNav = (\n \n );\n\n return (\n \n \n {isHiddenMainMenu ? (\n \n {renderBrandNav}\n \n ) : (\n <>\n {isMobile ? (\n \n Menu\n \n ) : (\n

    \n \n {renderBrandNav}\n \n \n
    \n )}\n {isMobile ? (\n <>\n \n {renderBrandNav}\n \n ) : (\n \n )}\n \n )}\n \n {searchButtonAction && (\n \n )}\n \n \n \n );\n};\n\nHeaderBody.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n setModalPopupTarget: PropTypes.func,\n toggleModalPopup: PropTypes.func,\n isModalPopupOpen: PropTypes.bool,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n isMobile: PropTypes.bool,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n};\n\nHeaderBody.defaultProps = {\n setModalPopupTarget: null,\n toggleModalPopup: null,\n isModalPopupOpen: false,\n logo: null,\n logoAltText: null,\n number: '',\n org: '',\n title: '',\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n isMobile: false,\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n};\n\nexport default HeaderBody;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"HeaderBody.js","names":["React","PropTypes","useIntl","classNames","ActionRow","Button","Container","Icon","IconButton","Nav","Row","Close","MenuIcon","Search","CourseLockUp","UserMenu","BrandNav","NavDropdownMenu","messages","HeaderBody","_ref","logo","logoAltText","number","org","title","username","isAdmin","studioBaseUrl","logoutUrl","authenticatedUserAvatar","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","containerProps","intl","renderBrandNav","createElement","_ref2","containerClassName","className","restContainerProps","_objectWithoutProperties","_excluded","_extends","size","as","Fragment","ref","variant","onClick","iconBefore","Spacer","map","dropdown","id","buttonTitle","items","key","src","iconAs","formatMessage","alt","propTypes","string","isRequired","func","bool","arrayOf","shape","node","href","defaultProps"],"sources":["../../src/studio-header/HeaderBody.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport classNames from 'classnames';\nimport {\n ActionRow,\n Button,\n Container,\n Icon,\n IconButton,\n Nav,\n Row,\n} from '@openedx/paragon';\nimport { Close, MenuIcon, Search } from '@openedx/paragon/icons';\n\nimport CourseLockUp from './CourseLockUp';\nimport UserMenu from './UserMenu';\nimport BrandNav from './BrandNav';\nimport NavDropdownMenu from './NavDropdownMenu';\nimport messages from './messages';\n\nconst HeaderBody = ({\n logo,\n logoAltText,\n number,\n org,\n title,\n username,\n isAdmin,\n studioBaseUrl,\n logoutUrl,\n authenticatedUserAvatar,\n isMobile,\n setModalPopupTarget,\n toggleModalPopup,\n isModalPopupOpen,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n containerProps,\n}) => {\n const intl = useIntl();\n\n const renderBrandNav = (\n \n );\n\n const { className: containerClassName, ...restContainerProps } = containerProps || {};\n\n return (\n \n \n {isHiddenMainMenu ? (\n \n {renderBrandNav}\n \n ) : (\n <>\n {isMobile ? (\n \n Menu\n \n ) : (\n
    \n \n {renderBrandNav}\n \n \n
    \n )}\n {isMobile ? (\n <>\n \n {renderBrandNav}\n \n ) : (\n \n )}\n \n )}\n \n {searchButtonAction && (\n \n )}\n \n
    \n \n );\n};\n\nHeaderBody.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n setModalPopupTarget: PropTypes.func,\n toggleModalPopup: PropTypes.func,\n isModalPopupOpen: PropTypes.bool,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n isMobile: PropTypes.bool,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n containerProps: PropTypes.shape(Container.propTypes),\n};\n\nHeaderBody.defaultProps = {\n setModalPopupTarget: null,\n toggleModalPopup: null,\n isModalPopupOpen: false,\n logo: null,\n logoAltText: null,\n number: '',\n org: '',\n title: '',\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n isMobile: false,\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n containerProps: {},\n};\n\nexport default HeaderBody;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/MobileHeader.js b/dist/studio-header/MobileHeader.js index 7fc50680c..0f42e01f1 100644 --- a/dist/studio-header/MobileHeader.js +++ b/dist/studio-header/MobileHeader.js @@ -6,8 +6,8 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } +function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { useToggle, ModalPopup } from '@openedx/paragon'; @@ -55,10 +55,10 @@ MobileHeader.propTypes = { isAdmin: PropTypes.bool, mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string, - buttonTitle: PropTypes.string, + buttonTitle: PropTypes.node, items: PropTypes.arrayOf(PropTypes.shape({ href: PropTypes.string, - title: PropTypes.string + title: PropTypes.node })) })), outlineLink: PropTypes.string diff --git a/dist/studio-header/MobileHeader.js.map b/dist/studio-header/MobileHeader.js.map index 959d344d0..802d501d4 100644 --- a/dist/studio-header/MobileHeader.js.map +++ b/dist/studio-header/MobileHeader.js.map @@ -1 +1 @@ -{"version":3,"file":"MobileHeader.js","names":["React","useState","PropTypes","useToggle","ModalPopup","HeaderBody","MobileMenu","MobileHeader","_ref","mainMenuDropdowns","props","_objectWithoutProperties","_excluded","_useToggle","_useToggle2","_slicedToArray","isOpen","close","toggle","_useState","_useState2","target","setTarget","createElement","Fragment","_extends","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","hasArrow","placement","positionRef","onClose","onEscapeKey","className","propTypes","studioBaseUrl","string","isRequired","logoutUrl","number","org","title","logo","logoAltText","authenticatedUserAvatar","username","isAdmin","bool","arrayOf","shape","id","buttonTitle","items","href","outlineLink","defaultProps"],"sources":["../../src/studio-header/MobileHeader.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useToggle, ModalPopup } from '@openedx/paragon';\nimport HeaderBody from './HeaderBody';\nimport MobileMenu from './MobileMenu';\n\nconst MobileHeader = ({\n mainMenuDropdowns,\n ...props\n}) => {\n const [isOpen, , close, toggle] = useToggle(false);\n const [target, setTarget] = useState(null);\n\n return (\n <>\n \n \n \n \n \n );\n};\n\nMobileHeader.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n outlineLink: PropTypes.string,\n};\n\nMobileHeader.defaultProps = {\n logo: null,\n logoAltText: null,\n number: null,\n org: null,\n title: null,\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n};\n\nexport default MobileHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"MobileHeader.js","names":["React","useState","PropTypes","useToggle","ModalPopup","HeaderBody","MobileMenu","MobileHeader","_ref","mainMenuDropdowns","props","_objectWithoutProperties","_excluded","_useToggle","_useToggle2","_slicedToArray","isOpen","close","toggle","_useState","_useState2","target","setTarget","createElement","Fragment","_extends","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","hasArrow","placement","positionRef","onClose","onEscapeKey","className","propTypes","studioBaseUrl","string","isRequired","logoutUrl","number","org","title","logo","logoAltText","authenticatedUserAvatar","username","isAdmin","bool","arrayOf","shape","id","buttonTitle","node","items","href","outlineLink","defaultProps"],"sources":["../../src/studio-header/MobileHeader.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useToggle, ModalPopup } from '@openedx/paragon';\nimport HeaderBody from './HeaderBody';\nimport MobileMenu from './MobileMenu';\n\nconst MobileHeader = ({\n mainMenuDropdowns,\n ...props\n}) => {\n const [isOpen, , close, toggle] = useToggle(false);\n const [target, setTarget] = useState(null);\n\n return (\n <>\n \n \n \n \n \n );\n};\n\nMobileHeader.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n outlineLink: PropTypes.string,\n};\n\nMobileHeader.defaultProps = {\n logo: null,\n logoAltText: null,\n number: null,\n org: null,\n title: null,\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n};\n\nexport default MobileHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/MobileMenu.js b/dist/studio-header/MobileMenu.js index a1f618c13..715ca5342 100644 --- a/dist/studio-header/MobileMenu.js +++ b/dist/studio-header/MobileMenu.js @@ -1,6 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Collapsible } from '@openedx/paragon'; +import { Link } from 'react-router-dom'; var MobileMenu = function MobileMenu(_ref) { var mainMenuDropdowns = _ref.mainMenuDropdowns; return /*#__PURE__*/React.createElement("div", { @@ -22,8 +23,8 @@ var MobileMenu = function MobileMenu(_ref) { }, items.map(function (item) { return /*#__PURE__*/React.createElement("li", { className: "mobile-menu-item" - }, /*#__PURE__*/React.createElement("a", { - href: item.href + }, /*#__PURE__*/React.createElement(Link, { + to: item.href }, item.title)); }))); }))); @@ -31,10 +32,10 @@ var MobileMenu = function MobileMenu(_ref) { MobileMenu.propTypes = { mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string, - buttonTitle: PropTypes.string, + buttonTitle: PropTypes.node, items: PropTypes.arrayOf(PropTypes.shape({ href: PropTypes.string, - title: PropTypes.string + title: PropTypes.node })) })) }; diff --git a/dist/studio-header/MobileMenu.js.map b/dist/studio-header/MobileMenu.js.map index 7717a6f0d..112b03d22 100644 --- a/dist/studio-header/MobileMenu.js.map +++ b/dist/studio-header/MobileMenu.js.map @@ -1 +1 @@ -{"version":3,"file":"MobileMenu.js","names":["React","PropTypes","Collapsible","MobileMenu","_ref","mainMenuDropdowns","createElement","className","map","dropdown","id","buttonTitle","items","title","key","style","listStyleType","item","href","propTypes","arrayOf","shape","string","defaultProps"],"sources":["../../src/studio-header/MobileMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Collapsible } from '@openedx/paragon';\n\nconst MobileMenu = ({\n mainMenuDropdowns,\n}) => (\n \n
    \n {mainMenuDropdowns.map(dropdown => {\n const { id, buttonTitle, items } = dropdown;\n return (\n \n \n \n );\n })}\n
    \n \n);\n\nMobileMenu.propTypes = {\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n};\nMobileMenu.defaultProps = {\n mainMenuDropdowns: [],\n};\n\nexport default MobileMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IACdC,iBAAiB,GAAAD,IAAA,CAAjBC,iBAAiB;EAAA,oBAEjBL,KAAA,CAAAM,aAAA;IACEC,SAAS,EAAC,4DAA4D;IACtE,eAAY;EAAa,gBAEzBP,KAAA,CAAAM,aAAA,cACGD,iBAAiB,CAACG,GAAG,CAAC,UAAAC,QAAQ,EAAI;IACjC,IAAQC,EAAE,GAAyBD,QAAQ,CAAnCC,EAAE;MAAEC,WAAW,GAAYF,QAAQ,CAA/BE,WAAW;MAAEC,KAAK,GAAKH,QAAQ,CAAlBG,KAAK;IAC9B,oBACEZ,KAAA,CAAAM,aAAA,CAACJ,WAAW;MACVK,SAAS,EAAC,kBAAkB;MAC5BM,KAAK,EAAEF,WAAY;MACnBG,GAAG,EAAEJ;IAAG,gBAERV,KAAA,CAAAM,aAAA;MAAIC,SAAS,EAAC,KAAK;MAACQ,KAAK,EAAE;QAAEC,aAAa,EAAE;MAAO;IAAE,GAClDJ,KAAK,CAACJ,GAAG,CAAC,UAAAS,IAAI;MAAA,oBACbjB,KAAA,CAAAM,aAAA;QAAIC,SAAS,EAAC;MAAkB,gBAC9BP,KAAA,CAAAM,aAAA;QAAGY,IAAI,EAAED,IAAI,CAACC;MAAK,GAChBD,IAAI,CAACJ,KACL,CACD,CAAC;IAAA,CACN,CACC,CACO,CAAC;EAElB,CAAC,CACE,CACF,CAAC;AAAA,CACP;AAEDV,UAAU,CAACgB,SAAS,GAAG;EACrBd,iBAAiB,EAAEJ,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;IACnDX,EAAE,EAAET,SAAS,CAACqB,MAAM;IACpBX,WAAW,EAAEV,SAAS,CAACqB,MAAM;IAC7BV,KAAK,EAAEX,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;MACvCH,IAAI,EAAEjB,SAAS,CAACqB,MAAM;MACtBT,KAAK,EAAEZ,SAAS,CAACqB;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AACDnB,UAAU,CAACoB,YAAY,GAAG;EACxBlB,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAeF,UAAU","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"MobileMenu.js","names":["React","PropTypes","Collapsible","Link","MobileMenu","_ref","mainMenuDropdowns","createElement","className","map","dropdown","id","buttonTitle","items","title","key","style","listStyleType","item","to","href","propTypes","arrayOf","shape","string","node","defaultProps"],"sources":["../../src/studio-header/MobileMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Collapsible } from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nconst MobileMenu = ({ mainMenuDropdowns }) => (\n \n
    \n {mainMenuDropdowns.map(dropdown => {\n const { id, buttonTitle, items } = dropdown;\n return (\n \n
      \n {items.map(item => (\n
    • \n \n {item.title}\n \n
    • \n ))}\n
    \n \n );\n })}\n
    \n \n);\n\nMobileMenu.propTypes = {\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n};\nMobileMenu.defaultProps = {\n mainMenuDropdowns: [],\n};\n\nexport default MobileMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,iBAAiB,GAAAD,IAAA,CAAjBC,iBAAiB;EAAA,oBACrCN,KAAA,CAAAO,aAAA;IACEC,SAAS,EAAC,4DAA4D;IACtE,eAAY;EAAa,gBAEzBR,KAAA,CAAAO,aAAA,cACGD,iBAAiB,CAACG,GAAG,CAAC,UAAAC,QAAQ,EAAI;IACjC,IAAQC,EAAE,GAAyBD,QAAQ,CAAnCC,EAAE;MAAEC,WAAW,GAAYF,QAAQ,CAA/BE,WAAW;MAAEC,KAAK,GAAKH,QAAQ,CAAlBG,KAAK;IAC9B,oBACEb,KAAA,CAAAO,aAAA,CAACL,WAAW;MACVM,SAAS,EAAC,kBAAkB;MAC5BM,KAAK,EAAEF,WAAY;MACnBG,GAAG,EAAEJ;IAAG,gBAERX,KAAA,CAAAO,aAAA;MAAIC,SAAS,EAAC,KAAK;MAACQ,KAAK,EAAE;QAAEC,aAAa,EAAE;MAAO;IAAE,GAClDJ,KAAK,CAACJ,GAAG,CAAC,UAAAS,IAAI;MAAA,oBACblB,KAAA,CAAAO,aAAA;QAAIC,SAAS,EAAC;MAAkB,gBAC9BR,KAAA,CAAAO,aAAA,CAACJ,IAAI;QAACgB,EAAE,EAAED,IAAI,CAACE;MAAK,GACjBF,IAAI,CAACJ,KACF,CACJ,CAAC;IAAA,CACN,CACC,CACO,CAAC;EAElB,CAAC,CACE,CACF,CAAC;AAAA,CACP;AAEDV,UAAU,CAACiB,SAAS,GAAG;EACrBf,iBAAiB,EAAEL,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACsB,KAAK,CAAC;IACnDZ,EAAE,EAAEV,SAAS,CAACuB,MAAM;IACpBZ,WAAW,EAAEX,SAAS,CAACwB,IAAI;IAC3BZ,KAAK,EAAEZ,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACsB,KAAK,CAAC;MACvCH,IAAI,EAAEnB,SAAS,CAACuB,MAAM;MACtBV,KAAK,EAAEb,SAAS,CAACwB;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AACDrB,UAAU,CAACsB,YAAY,GAAG;EACxBpB,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAeF,UAAU","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/NavDropdownMenu.js b/dist/studio-header/NavDropdownMenu.js index 0367ada5a..6307b0a29 100644 --- a/dist/studio-header/NavDropdownMenu.js +++ b/dist/studio-header/NavDropdownMenu.js @@ -1,6 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Dropdown, DropdownButton } from '@openedx/paragon'; +import { Link } from 'react-router-dom'; var NavDropdownMenu = function NavDropdownMenu(_ref) { var id = _ref.id, buttonTitle = _ref.buttonTitle, @@ -12,18 +13,19 @@ var NavDropdownMenu = function NavDropdownMenu(_ref) { className: "mr-2" }, items.map(function (item) { return /*#__PURE__*/React.createElement(Dropdown.Item, { + as: Link, key: "".concat(item.title, "-dropdown-item"), - href: item.href, + to: item.href, className: "small" }, item.title); })); }; NavDropdownMenu.propTypes = { id: PropTypes.string.isRequired, - buttonTitle: PropTypes.string.isRequired, + buttonTitle: PropTypes.node.isRequired, items: PropTypes.arrayOf(PropTypes.shape({ - href: PropTypes.string, - title: PropTypes.string + href: PropTypes.string.isRequired, + title: PropTypes.node.isRequired })).isRequired }; export default NavDropdownMenu; diff --git a/dist/studio-header/NavDropdownMenu.js.map b/dist/studio-header/NavDropdownMenu.js.map index 7f6eff489..84174e12e 100644 --- a/dist/studio-header/NavDropdownMenu.js.map +++ b/dist/studio-header/NavDropdownMenu.js.map @@ -1 +1 @@ -{"version":3,"file":"NavDropdownMenu.js","names":["React","PropTypes","Dropdown","DropdownButton","NavDropdownMenu","_ref","id","buttonTitle","items","createElement","title","variant","className","map","item","Item","key","concat","href","propTypes","string","isRequired","arrayOf","shape"],"sources":["../../src/studio-header/NavDropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dropdown,\n DropdownButton,\n} from '@openedx/paragon';\n\nconst NavDropdownMenu = ({\n id,\n buttonTitle,\n items,\n}) => (\n \n {items.map(item => (\n \n {item.title}\n \n ))}\n \n);\n\nNavDropdownMenu.propTypes = {\n id: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })).isRequired,\n};\n\nexport default NavDropdownMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,QAAQ,EACRC,cAAc,QACT,kBAAkB;AAEzB,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA;EAAA,IACnBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAAA,oBAELR,KAAA,CAAAS,aAAA,CAACN,cAAc;IACbG,EAAE,EAAEA,EAAG;IACPI,KAAK,EAAEH,WAAY;IACnBI,OAAO,EAAC,iBAAiB;IACzBC,SAAS,EAAC;EAAM,GAEfJ,KAAK,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,oBACbd,KAAA,CAAAS,aAAA,CAACP,QAAQ,CAACa,IAAI;MACZC,GAAG,KAAAC,MAAA,CAAKH,IAAI,CAACJ,KAAK,mBAAiB;MACnCQ,IAAI,EAAEJ,IAAI,CAACI,IAAK;MAChBN,SAAS,EAAC;IAAO,GAEhBE,IAAI,CAACJ,KACO,CAAC;EAAA,CACjB,CACa,CAAC;AAAA,CAClB;AAEDN,eAAe,CAACe,SAAS,GAAG;EAC1Bb,EAAE,EAAEL,SAAS,CAACmB,MAAM,CAACC,UAAU;EAC/Bd,WAAW,EAAEN,SAAS,CAACmB,MAAM,CAACC,UAAU;EACxCb,KAAK,EAAEP,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACsB,KAAK,CAAC;IACvCL,IAAI,EAAEjB,SAAS,CAACmB,MAAM;IACtBV,KAAK,EAAET,SAAS,CAACmB;EACnB,CAAC,CAAC,CAAC,CAACC;AACN,CAAC;AAED,eAAejB,eAAe","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"NavDropdownMenu.js","names":["React","PropTypes","Dropdown","DropdownButton","Link","NavDropdownMenu","_ref","id","buttonTitle","items","createElement","title","variant","className","map","item","Item","as","key","concat","to","href","propTypes","string","isRequired","node","arrayOf","shape"],"sources":["../../src/studio-header/NavDropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dropdown,\n DropdownButton,\n} from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nconst NavDropdownMenu = ({\n id,\n buttonTitle,\n items,\n}) => (\n \n {items.map(item => (\n \n {item.title}\n \n ))}\n \n);\n\nNavDropdownMenu.propTypes = {\n id: PropTypes.string.isRequired,\n buttonTitle: PropTypes.node.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string.isRequired,\n title: PropTypes.node.isRequired,\n })).isRequired,\n};\n\nexport default NavDropdownMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,QAAQ,EACRC,cAAc,QACT,kBAAkB;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA;EAAA,IACnBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAAA,oBAELT,KAAA,CAAAU,aAAA,CAACP,cAAc;IACbI,EAAE,EAAEA,EAAG;IACPI,KAAK,EAAEH,WAAY;IACnBI,OAAO,EAAC,iBAAiB;IACzBC,SAAS,EAAC;EAAM,GAEfJ,KAAK,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,oBACbf,KAAA,CAAAU,aAAA,CAACR,QAAQ,CAACc,IAAI;MACZC,EAAE,EAAEb,IAAK;MACTc,GAAG,KAAAC,MAAA,CAAKJ,IAAI,CAACJ,KAAK,mBAAiB;MACnCS,EAAE,EAAEL,IAAI,CAACM,IAAK;MACdR,SAAS,EAAC;IAAO,GAEhBE,IAAI,CAACJ,KACO,CAAC;EAAA,CACjB,CACa,CAAC;AAAA,CAClB;AAEDN,eAAe,CAACiB,SAAS,GAAG;EAC1Bf,EAAE,EAAEN,SAAS,CAACsB,MAAM,CAACC,UAAU;EAC/BhB,WAAW,EAAEP,SAAS,CAACwB,IAAI,CAACD,UAAU;EACtCf,KAAK,EAAER,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAAC0B,KAAK,CAAC;IACvCN,IAAI,EAAEpB,SAAS,CAACsB,MAAM,CAACC,UAAU;IACjCb,KAAK,EAAEV,SAAS,CAACwB,IAAI,CAACD;EACxB,CAAC,CAAC,CAAC,CAACA;AACN,CAAC;AAED,eAAenB,eAAe","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.js b/dist/studio-header/StudioHeader.js index 57366e66b..025d5b3bf 100644 --- a/dist/studio-header/StudioHeader.js +++ b/dist/studio-header/StudioHeader.js @@ -10,10 +10,12 @@ var StudioHeader = function StudioHeader(_ref) { var number = _ref.number, org = _ref.org, title = _ref.title, + containerProps = _ref.containerProps, isHiddenMainMenu = _ref.isHiddenMainMenu, mainMenuDropdowns = _ref.mainMenuDropdowns, outlineLink = _ref.outlineLink, - searchButtonAction = _ref.searchButtonAction; + searchButtonAction = _ref.searchButtonAction, + isNewHomePage = _ref.isNewHomePage; var _useContext = useContext(AppContext), authenticatedUser = _useContext.authenticatedUser, config = _useContext.config; @@ -23,10 +25,11 @@ var StudioHeader = function StudioHeader(_ref) { number: number, org: org, title: title, + containerProps: containerProps, username: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.username, isAdmin: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.administrator, authenticatedUserAvatar: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.avatar, - studioBaseUrl: config.STUDIO_BASE_URL, + studioBaseUrl: isNewHomePage ? '/home' : config.STUDIO_BASE_URL, logoutUrl: config.LOGOUT_URL, isHiddenMainMenu: isHiddenMainMenu, mainMenuDropdowns: mainMenuDropdowns, @@ -48,21 +51,24 @@ StudioHeader.propTypes = { number: PropTypes.string, org: PropTypes.string, title: PropTypes.string.isRequired, + containerProps: HeaderBody.propTypes.containerProps, isHiddenMainMenu: PropTypes.bool, mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string, - buttonTitle: PropTypes.string, + buttonTitle: PropTypes.node, items: PropTypes.arrayOf(PropTypes.shape({ href: PropTypes.string, - title: PropTypes.string + title: PropTypes.node })) })), outlineLink: PropTypes.string, - searchButtonAction: PropTypes.func + searchButtonAction: PropTypes.func, + isNewHomePage: PropTypes.bool.isRequired }; StudioHeader.defaultProps = { number: '', org: '', + containerProps: {}, isHiddenMainMenu: false, mainMenuDropdowns: [], outlineLink: null, diff --git a/dist/studio-header/StudioHeader.js.map b/dist/studio-header/StudioHeader.js.map index 923c99af1..25b0af90c 100644 --- a/dist/studio-header/StudioHeader.js.map +++ b/dist/studio-header/StudioHeader.js.map @@ -1 +1 @@ -{"version":3,"file":"StudioHeader.js","names":["React","useContext","PropTypes","Responsive","AppContext","ensureConfig","MobileHeader","HeaderBody","StudioHeader","_ref","number","org","title","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","_useContext","authenticatedUser","config","props","logo","LOGO_URL","logoAltText","concat","SITE_NAME","username","isAdmin","administrator","authenticatedUserAvatar","avatar","studioBaseUrl","STUDIO_BASE_URL","logoutUrl","LOGOUT_URL","createElement","className","href","maxWidth","minWidth","propTypes","string","isRequired","bool","arrayOf","shape","id","buttonTitle","items","func","defaultProps"],"sources":["../../src/studio-header/StudioHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Responsive from 'react-responsive';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport { ensureConfig } from '@edx/frontend-platform';\n\nimport MobileHeader from './MobileHeader';\nimport HeaderBody from './HeaderBody';\n\nensureConfig([\n 'STUDIO_BASE_URL',\n 'SITE_NAME',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'LOGO_URL',\n], 'Studio Header component');\n\nconst StudioHeader = ({\n number, org, title, isHiddenMainMenu, mainMenuDropdowns, outlineLink, searchButtonAction,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n const props = {\n logo: config.LOGO_URL,\n logoAltText: `Studio ${config.SITE_NAME}`,\n number,\n org,\n title,\n username: authenticatedUser?.username,\n isAdmin: authenticatedUser?.administrator,\n authenticatedUserAvatar: authenticatedUser?.avatar,\n studioBaseUrl: config.STUDIO_BASE_URL,\n logoutUrl: config.LOGOUT_URL,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n };\n\n return (\n
    \n Skip to content\n \n \n \n \n \n \n
    \n );\n};\n\nStudioHeader.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string.isRequired,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.string,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n};\n\nStudioHeader.defaultProps = {\n number: '',\n org: '',\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n};\n\nexport default StudioHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"StudioHeader.js","names":["React","useContext","PropTypes","Responsive","AppContext","ensureConfig","MobileHeader","HeaderBody","StudioHeader","_ref","number","org","title","containerProps","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","isNewHomePage","_useContext","authenticatedUser","config","props","logo","LOGO_URL","logoAltText","concat","SITE_NAME","username","isAdmin","administrator","authenticatedUserAvatar","avatar","studioBaseUrl","STUDIO_BASE_URL","logoutUrl","LOGOUT_URL","createElement","className","href","maxWidth","minWidth","propTypes","string","isRequired","bool","arrayOf","shape","id","buttonTitle","node","items","func","defaultProps"],"sources":["../../src/studio-header/StudioHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Responsive from 'react-responsive';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport { ensureConfig } from '@edx/frontend-platform';\n\nimport MobileHeader from './MobileHeader';\nimport HeaderBody from './HeaderBody';\n\nensureConfig([\n 'STUDIO_BASE_URL',\n 'SITE_NAME',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'LOGO_URL',\n], 'Studio Header component');\n\nconst StudioHeader = ({\n number, org, title, containerProps, isHiddenMainMenu, mainMenuDropdowns,\n outlineLink, searchButtonAction, isNewHomePage,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n const props = {\n logo: config.LOGO_URL,\n logoAltText: `Studio ${config.SITE_NAME}`,\n number,\n org,\n title,\n containerProps,\n username: authenticatedUser?.username,\n isAdmin: authenticatedUser?.administrator,\n authenticatedUserAvatar: authenticatedUser?.avatar,\n studioBaseUrl: isNewHomePage ? '/home' : config.STUDIO_BASE_URL,\n logoutUrl: config.LOGOUT_URL,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n };\n\n return (\n
    \n Skip to content\n \n \n \n \n \n \n
    \n );\n};\n\nStudioHeader.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string.isRequired,\n containerProps: HeaderBody.propTypes.containerProps,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n isNewHomePage: PropTypes.bool.isRequired,\n};\n\nStudioHeader.defaultProps = {\n number: '',\n org: '',\n containerProps: {},\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n};\n\nexport default StudioHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.scss b/dist/studio-header/StudioHeader.scss index 58b597bfa..ff056dbed 100644 --- a/dist/studio-header/StudioHeader.scss +++ b/dist/studio-header/StudioHeader.scss @@ -26,6 +26,8 @@ } .course-title-lockup { + overflow: hidden; + @media only screen and (min-width: 769px) { padding: .5rem; padding-right: var(--pgn-spacing-spacer-base); @@ -33,8 +35,6 @@ width: 70%; } - overflow: hidden; - span { color: var(--pgn-color-gray-800); white-space: nowrap; diff --git a/dist/studio-header/messages.js b/dist/studio-header/messages.js index 667f9c10c..8253ee7cc 100644 --- a/dist/studio-header/messages.js +++ b/dist/studio-header/messages.js @@ -5,11 +5,6 @@ var messages = defineMessages({ defaultMessage: 'Studio Home', description: 'Link to Studio Home' }, - 'header.user.menu.maintenance': { - id: 'header.user.menu.maintenance', - defaultMessage: 'Maintenance', - description: 'Link to the Studio maintenance page' - }, 'header.user.menu.logout': { id: 'header.user.menu.logout', defaultMessage: 'Logout', diff --git a/dist/studio-header/messages.js.map b/dist/studio-header/messages.js.map index 05f2a0626..73390796f 100644 --- a/dist/studio-header/messages.js.map +++ b/dist/studio-header/messages.js.map @@ -1 +1 @@ -{"version":3,"file":"messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../../src/studio-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.user.menu.studio': {\n id: 'header.user.menu.studio',\n defaultMessage: 'Studio Home',\n description: 'Link to Studio Home',\n },\n 'header.user.menu.maintenance': {\n id: 'header.user.menu.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio maintenance page',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.courseOutline': {\n id: 'header.label.courseOutline',\n defaultMessage: 'Back to course outline in Studio',\n description: 'The aria label for the link back to the Studio Course Outline',\n },\n 'header.label.search.nav': {\n id: 'header.label.search.nav',\n defaultMessage: 'Search content',\n description: 'The aria label for the search content button nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,yBAAyB,EAAE;IACzBE,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,8BAA8B,EAAE;IAC9BF,EAAE,EAAE,8BAA8B;IAClCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,kCAAkC;IAClDC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../../src/studio-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.user.menu.studio': {\n id: 'header.user.menu.studio',\n defaultMessage: 'Studio Home',\n description: 'Link to Studio Home',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.courseOutline': {\n id: 'header.label.courseOutline',\n defaultMessage: 'Back to course outline in Studio',\n description: 'The aria label for the link back to the Studio Course Outline',\n },\n 'header.label.search.nav': {\n id: 'header.label.search.nav',\n defaultMessage: 'Search content',\n description: 'The aria label for the search content button nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,yBAAyB,EAAE;IACzBE,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,kCAAkC;IAClDC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/utils.js b/dist/studio-header/utils.js index 1abaf7aba..10930f95b 100644 --- a/dist/studio-header/utils.js +++ b/dist/studio-header/utils.js @@ -15,9 +15,6 @@ var getUserMenuItems = function getUserMenuItems(_ref) { items = [{ href: "".concat(studioBaseUrl), title: intl.formatMessage(messages['header.user.menu.studio']) - }, { - href: "".concat(studioBaseUrl, "/maintenance"), - title: intl.formatMessage(messages['header.user.menu.maintenance']) }, { href: "".concat(logoutUrl), title: intl.formatMessage(messages['header.user.menu.logout']) diff --git a/dist/studio-header/utils.js.map b/dist/studio-header/utils.js.map index db2dfd8ee..488b58b82 100644 --- a/dist/studio-header/utils.js.map +++ b/dist/studio-header/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","names":["messages","getUserMenuItems","_ref","studioBaseUrl","logoutUrl","intl","isAdmin","items","href","concat","title","formatMessage"],"sources":["../../src/studio-header/utils.js"],"sourcesContent":["import messages from './messages';\n\nconst getUserMenuItems = ({\n studioBaseUrl,\n logoutUrl,\n intl,\n isAdmin,\n}) => {\n let items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n if (isAdmin) {\n items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${studioBaseUrl}/maintenance`,\n title: intl.formatMessage(messages['header.user.menu.maintenance']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n }\n\n return items;\n};\n\nexport default getUserMenuItems;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,YAAY;AAEjC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;EAAA,IAJJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAIC,KAAK,GAAG,CACV;IACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;IACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,EAAE;IACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;IACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,CACF;EACD,IAAIM,OAAO,EAAE;IACXC,KAAK,GAAG,CACN;MACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;MACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKN,aAAa,iBAAc;MACpCO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,8BAA8B,CAAC;IACpE,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;MACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,CACF;EACH;EAEA,OAAOO,KAAK;AACd,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"utils.js","names":["messages","getUserMenuItems","_ref","studioBaseUrl","logoutUrl","intl","isAdmin","items","href","concat","title","formatMessage"],"sources":["../../src/studio-header/utils.js"],"sourcesContent":["import messages from './messages';\n\nconst getUserMenuItems = ({\n studioBaseUrl,\n logoutUrl,\n intl,\n isAdmin,\n}) => {\n let items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n if (isAdmin) {\n items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n }\n\n return items;\n};\n\nexport default getUserMenuItems;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,YAAY;AAEjC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;EAAA,IAJJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAIC,KAAK,GAAG,CACV;IACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;IACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,EAAE;IACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;IACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,CACF;EACD,IAAIM,OAAO,EAAE;IACXC,KAAK,GAAG,CACN;MACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;MACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;MACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,CACF;EACH;EAEA,OAAOO,KAAK;AACd,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/test-utils.js b/dist/test-utils.js index a0948f725..243cb3a1d 100644 --- a/dist/test-utils.js +++ b/dist/test-utils.js @@ -3,7 +3,7 @@ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyri function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var executeThunk = /*#__PURE__*/function () { - var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(thunk, dispatch, getState) { + var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(thunk, dispatch, getState) { return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: diff --git a/dist/test-utils.js.map b/dist/test-utils.js.map index 6de925b6e..e53b630dc 100644 --- a/dist/test-utils.js.map +++ b/dist/test-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"test-utils.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","executeThunk","_ref","_callee","thunk","dispatch","getState","_callee$","_context","setImmediate","_x","_x2","_x3"],"sources":["../src/test-utils.js"],"sourcesContent":["const executeThunk = async (thunk, dispatch, getState) => {\n await thunk(dispatch, getState);\n await new Promise(setImmediate);\n};\n\nexport default executeThunk;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"test-utils.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","executeThunk","_ref","_callee","thunk","dispatch","getState","_callee$","_context","setImmediate","_x","_x2","_x3"],"sources":["../src/test-utils.js"],"sourcesContent":["const executeThunk = async (thunk, dispatch, getState) => {\n await thunk(dispatch, getState);\n await new Promise(setImmediate);\n};\n\nexport default executeThunk;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file From 83e0fbb9d81356447b5700c2aac5f52cc6bcdd49 Mon Sep 17 00:00:00 2001 From: PKulkoRaccoonGang Date: Thu, 27 Feb 2025 16:45:55 +0200 Subject: [PATCH 11/15] chore: updated dist after rebase --- dist/Header.messages.js | 5 +++++ dist/Header.messages.js.map | 2 +- dist/studio-header/messages.js | 5 +++++ dist/studio-header/messages.js.map | 2 +- dist/studio-header/utils.js | 4 ++++ dist/studio-header/utils.js.map | 2 +- 6 files changed, 17 insertions(+), 3 deletions(-) diff --git a/dist/Header.messages.js b/dist/Header.messages.js index 3fc99ceea..4aac3e8fd 100644 --- a/dist/Header.messages.js +++ b/dist/Header.messages.js @@ -60,6 +60,11 @@ var messages = defineMessages({ defaultMessage: 'Studio Home', description: 'Link to the Studio Home' }, + 'header.user.menu.studio.maintenance': { + id: 'header.user.menu.studio.maintenance', + defaultMessage: 'Maintenance', + description: 'Link to the Studio Maintenance' + }, 'header.label.account.nav': { id: 'header.label.account.nav', defaultMessage: 'Account', diff --git a/dist/Header.messages.js.map b/dist/Header.messages.js.map index 931563ca2..1dd150c4c 100644 --- a/dist/Header.messages.js.map +++ b/dist/Header.messages.js.map @@ -1 +1 @@ -{"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,sBAAsB,EAAE;IACtBE,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf,CAAC;EACD,6BAA6B,EAAE;IAC7BF,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,sBAAsB,EAAE;IACtBF,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,oBAAoB;IACpCC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,mCAAmC,EAAE;IACnCF,EAAE,EAAE,mCAAmC;IACvCC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,gCAAgC,EAAE;IAChCF,EAAE,EAAE,gCAAgC;IACpCC,cAAc,EAAE,eAAe;IAC/BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,OAAO;IACvBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,8BAA8B,EAAE;IAC9BF,EAAE,EAAE,8BAA8B;IAClCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,sBAAsB;IACtCC,WAAW,EAAE;EACf,CAAC;EACD,sBAAsB,EAAE;IACtBF,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,KAAK;IACrBC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.user.menu.studio.maintenance': {\n id: 'header.user.menu.studio.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio Maintenance',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/messages.js b/dist/studio-header/messages.js index 8253ee7cc..667f9c10c 100644 --- a/dist/studio-header/messages.js +++ b/dist/studio-header/messages.js @@ -5,6 +5,11 @@ var messages = defineMessages({ defaultMessage: 'Studio Home', description: 'Link to Studio Home' }, + 'header.user.menu.maintenance': { + id: 'header.user.menu.maintenance', + defaultMessage: 'Maintenance', + description: 'Link to the Studio maintenance page' + }, 'header.user.menu.logout': { id: 'header.user.menu.logout', defaultMessage: 'Logout', diff --git a/dist/studio-header/messages.js.map b/dist/studio-header/messages.js.map index 73390796f..05f2a0626 100644 --- a/dist/studio-header/messages.js.map +++ b/dist/studio-header/messages.js.map @@ -1 +1 @@ -{"version":3,"file":"messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../../src/studio-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.user.menu.studio': {\n id: 'header.user.menu.studio',\n defaultMessage: 'Studio Home',\n description: 'Link to Studio Home',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.courseOutline': {\n id: 'header.label.courseOutline',\n defaultMessage: 'Back to course outline in Studio',\n description: 'The aria label for the link back to the Studio Course Outline',\n },\n 'header.label.search.nav': {\n id: 'header.label.search.nav',\n defaultMessage: 'Search content',\n description: 'The aria label for the search content button nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,yBAAyB,EAAE;IACzBE,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,kCAAkC;IAClDC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../../src/studio-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.user.menu.studio': {\n id: 'header.user.menu.studio',\n defaultMessage: 'Studio Home',\n description: 'Link to Studio Home',\n },\n 'header.user.menu.maintenance': {\n id: 'header.user.menu.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio maintenance page',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.courseOutline': {\n id: 'header.label.courseOutline',\n defaultMessage: 'Back to course outline in Studio',\n description: 'The aria label for the link back to the Studio Course Outline',\n },\n 'header.label.search.nav': {\n id: 'header.label.search.nav',\n defaultMessage: 'Search content',\n description: 'The aria label for the search content button nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,yBAAyB,EAAE;IACzBE,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,8BAA8B,EAAE;IAC9BF,EAAE,EAAE,8BAA8B;IAClCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,kCAAkC;IAClDC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/utils.js b/dist/studio-header/utils.js index 10930f95b..16e3d326c 100644 --- a/dist/studio-header/utils.js +++ b/dist/studio-header/utils.js @@ -1,3 +1,4 @@ +import { getConfig } from '@edx/frontend-platform'; import messages from './messages'; var getUserMenuItems = function getUserMenuItems(_ref) { var studioBaseUrl = _ref.studioBaseUrl, @@ -15,6 +16,9 @@ var getUserMenuItems = function getUserMenuItems(_ref) { items = [{ href: "".concat(studioBaseUrl), title: intl.formatMessage(messages['header.user.menu.studio']) + }, { + href: "".concat(getConfig().STUDIO_BASE_URL, "/maintenance"), + title: intl.formatMessage(messages['header.user.menu.maintenance']) }, { href: "".concat(logoutUrl), title: intl.formatMessage(messages['header.user.menu.logout']) diff --git a/dist/studio-header/utils.js.map b/dist/studio-header/utils.js.map index 488b58b82..6c4b79872 100644 --- a/dist/studio-header/utils.js.map +++ b/dist/studio-header/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","names":["messages","getUserMenuItems","_ref","studioBaseUrl","logoutUrl","intl","isAdmin","items","href","concat","title","formatMessage"],"sources":["../../src/studio-header/utils.js"],"sourcesContent":["import messages from './messages';\n\nconst getUserMenuItems = ({\n studioBaseUrl,\n logoutUrl,\n intl,\n isAdmin,\n}) => {\n let items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n if (isAdmin) {\n items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n }\n\n return items;\n};\n\nexport default getUserMenuItems;\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,YAAY;AAEjC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;EAAA,IAJJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAIC,KAAK,GAAG,CACV;IACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;IACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,EAAE;IACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;IACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,CACF;EACD,IAAIM,OAAO,EAAE;IACXC,KAAK,GAAG,CACN;MACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;MACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;MACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,CACF;EACH;EAEA,OAAOO,KAAK;AACd,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]} \ No newline at end of file +{"version":3,"file":"utils.js","names":["getConfig","messages","getUserMenuItems","_ref","studioBaseUrl","logoutUrl","intl","isAdmin","items","href","concat","title","formatMessage","STUDIO_BASE_URL"],"sources":["../../src/studio-header/utils.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport messages from './messages';\n\nconst getUserMenuItems = ({\n studioBaseUrl,\n logoutUrl,\n intl,\n isAdmin,\n}) => {\n let items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n if (isAdmin) {\n items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${getConfig().STUDIO_BASE_URL}/maintenance`,\n title: intl.formatMessage(messages['header.user.menu.maintenance']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n }\n\n return items;\n};\n\nexport default getUserMenuItems;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,wBAAwB;AAClD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;EAAA,IAJJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAIC,KAAK,GAAG,CACV;IACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;IACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,EAAE;IACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;IACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,CACF;EACD,IAAIM,OAAO,EAAE;IACXC,KAAK,GAAG,CACN;MACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;MACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKV,SAAS,CAAC,CAAC,CAACa,eAAe,iBAAc;MAClDF,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,8BAA8B,CAAC;IACpE,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;MACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,CACF;EACH;EAEA,OAAOO,KAAK;AACd,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]} \ No newline at end of file From 11ce8965d92e138c8a674c20719d45219921d54a Mon Sep 17 00:00:00 2001 From: Diana Olarte Date: Tue, 11 Mar 2025 12:47:55 +1100 Subject: [PATCH 12/15] chore: update frontend-platform and frontend-plugin-framework --- package-lock.json | 14 +++++++------- package.json | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8c69b4e6..537862773 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@fortawesome/free-regular-svg-icons": "6.6.0", "@fortawesome/free-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "^0.2.0", - "@openedx/frontend-plugin-framework": "^1.3.0", + "@openedx/frontend-plugin-framework": "^1.6.0", "axios-mock-adapter": "1.22.0", "babel-polyfill": "6.26.0", "classnames": "^2.5.1", @@ -25,10 +25,10 @@ "devDependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", "@edx/browserslist-config": "^1.1.1", - "@edx/frontend-platform": "8.3.1", + "@edx/frontend-platform": "^8.3.0", "@edx/reactifex": "^2.1.1", "@openedx/frontend-build": "14.2.2", - "@openedx/paragon": "23.3.0", + "@openedx/paragon": "^23.3.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "10.4.9", @@ -3866,9 +3866,9 @@ } }, "node_modules/@openedx/paragon": { - "version": "23.3.0", - "resolved": "https://registry.npmjs.org/@openedx/paragon/-/paragon-23.3.0.tgz", - "integrity": "sha512-QHOWw3v0OQiLdaqT5JWjusQKKZ1ueigb5Ng6xqhDSsSOiGMJJvOmhv+lwoBJrR6zXkGTWCe1XumgXRvOUZIw0Q==", + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/@openedx/paragon/-/paragon-23.4.0.tgz", + "integrity": "sha512-fy7jmi4KaKIIVP8MDtqhOcKI8tvMkeYhYGI3iSjqWUWRUtdjKGbSMZuxhCt037zeSwJoecaxQ3z/nL3UrOkfLw==", "license": "Apache-2.0", "workspaces": [ "example", @@ -3917,7 +3917,7 @@ "react-table": "^7.7.0", "react-transition-group": "^4.4.2", "sass": "^1.58.3", - "style-dictionary": "^4.0.1", + "style-dictionary": "^4.3.2", "tabbable": "^5.3.3", "uncontrollable": "^7.2.1", "uuid": "^9.0.0" diff --git a/package.json b/package.json index 150b9df9a..d23351c8c 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,10 @@ "devDependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", "@edx/browserslist-config": "^1.1.1", - "@edx/frontend-platform": "8.3.1", + "@edx/frontend-platform": "^8.3.0", "@edx/reactifex": "^2.1.1", "@openedx/frontend-build": "14.2.2", - "@openedx/paragon": "23.3.0", + "@openedx/paragon": "^23.3.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "10.4.9", @@ -60,7 +60,7 @@ "@fortawesome/free-regular-svg-icons": "6.6.0", "@fortawesome/free-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "^0.2.0", - "@openedx/frontend-plugin-framework": "^1.3.0", + "@openedx/frontend-plugin-framework": "^1.6.0", "axios-mock-adapter": "1.22.0", "babel-polyfill": "6.26.0", "classnames": "^2.5.1", From 0ab32165127ef571a03f6048f7a2f32202459373 Mon Sep 17 00:00:00 2001 From: Diana Olarte Date: Fri, 14 Mar 2025 22:09:14 +1100 Subject: [PATCH 13/15] fix: update to no breaking change --- dist/Menu/menu.scss | 2 +- dist/index.scss | 32 ++++++++++++++-------------- dist/studio-header/StudioHeader.scss | 12 +++++------ src/Menu/menu.scss | 2 +- src/index.scss | 32 ++++++++++++++-------------- src/studio-header/StudioHeader.scss | 12 +++++------ 6 files changed, 46 insertions(+), 46 deletions(-) diff --git a/dist/Menu/menu.scss b/dist/Menu/menu.scss index 39c57ff06..c99ef8933 100644 --- a/dist/Menu/menu.scss +++ b/dist/Menu/menu.scss @@ -6,7 +6,7 @@ position: absolute; top: 100%; z-index: 10; - background: var(--pgn-color-white); + background: var(--pgn-color-white, $white); min-width: 10rem; &.pin-left { diff --git a/dist/index.scss b/dist/index.scss index f468c8a04..e291acadc 100644 --- a/dist/index.scss +++ b/dist/index.scss @@ -1,3 +1,7 @@ + +$spacer: 1rem; +$white: #fff; + @import './Menu/menu.scss'; @import './studio-header/StudioHeader.scss'; @@ -33,16 +37,12 @@ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - padding-bottom: calc(var(--pgn-spacing-spacer-base)* 0.1); + padding-bottom: calc(var(--pgn-spacing-spacer-base, $spacer)* 0.1); } } .user-dropdown .btn { height: 3rem; - - @media (--max-pgn-size-breakpoint-xs) { - padding: 0 .5rem; - } } } @@ -68,7 +68,7 @@ .site-header-desktop { box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1); - background: var(--pgn-color-white); + background: var(--pgn-color-white, $white); .nav-link { text-decoration: none; @@ -80,8 +80,8 @@ position: relative; top: -.05em; height: 1.75rem; - padding: var(--pgn-spacing-spacer-base) 0; - margin-right: var(--pgn-spacing-spacer-base); + padding: var(--pgn-spacing-spacer-base, $spacer) 0; + margin-right: var(--pgn-spacing-spacer-base, $spacer); img { display: block; @@ -93,13 +93,13 @@ .nav-link:focus, .nav-link.active, .expanded .nav-link { - background: var(--pgn-color-bg-active); - color: var(--pgn-color-active); + background: var(--pgn-color-bg-active, $component-active-bg); + color: var(--pgn-color-active, $component-active-color); } } .main-nav { .nav-link { - padding: 1.125rem var(--pgn-spacing-spacer-base); + padding: 1.125rem var(--pgn-spacing-spacer-base, $spacer); text-decoration: none; font-weight: 500; letter-spacing: .01em; @@ -109,8 +109,8 @@ .nav-link:focus, .nav-link.active, .expanded .nav-link { - background: var(--pgn-color-bg-active); - color: var(--pgn-color-active); + background: var(--pgn-color-bg-active, $component-active-bg); + color: var(--pgn-color-active, $component-active-color); } .menu { @@ -120,15 +120,15 @@ border-top: solid 2px var(--pgn-color-bg-active); left: 0; right: 0; - box-shadow: var(--pgn-elevation-box-shadow-down-1); + box-shadow: var(--pgn-elevation-box-shadow-down-1, 0 1px 2px rgba(0,0,0,.25)); border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; - padding: var(--pgn-spacing-spacer-base); + padding: var(--pgn-spacing-spacer-base, $spacer); } } } .search-input { - border-radius: var(--pgn-size-rounded-pill); + border-radius: var(--pgn-size-rounded-pill, $rounded-pill); } } diff --git a/dist/studio-header/StudioHeader.scss b/dist/studio-header/StudioHeader.scss index ff056dbed..34cfef2da 100644 --- a/dist/studio-header/StudioHeader.scss +++ b/dist/studio-header/StudioHeader.scss @@ -4,10 +4,10 @@ height: 3.75rem; box-shadow: 0 1px 0 0 rgb(0 0 0 / .1); - background: var(--pgn-color-white); + background: var(--pgn-color-white, $white); .btn-outline-primary { - border-color: var(--pgn-color-white); + border-color: var(--pgn-color-white, $white); } .logo { @@ -16,8 +16,8 @@ position: relative; top: -.05em; height: 1.75rem; - padding: var(--pgn-spacing-spacer-base) 0; - margin-right: var(--pgn-spacing-spacer-base); + padding: var(--pgn-spacing-spacer-base, $spacer) 0; + margin-right: var(--pgn-spacing-spacer-base, $spacer); img { display: block; @@ -30,13 +30,13 @@ @media only screen and (min-width: 769px) { padding: .5rem; - padding-right: var(--pgn-spacing-spacer-base); + padding-right: var(--pgn-spacing-spacer-base, $spacer); border-right: 1px solid #E5E5E5; width: 70%; } span { - color: var(--pgn-color-gray-800); + color: var(--pgn-color-gray-800, #333333); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/src/Menu/menu.scss b/src/Menu/menu.scss index 39c57ff06..c99ef8933 100644 --- a/src/Menu/menu.scss +++ b/src/Menu/menu.scss @@ -6,7 +6,7 @@ position: absolute; top: 100%; z-index: 10; - background: var(--pgn-color-white); + background: var(--pgn-color-white, $white); min-width: 10rem; &.pin-left { diff --git a/src/index.scss b/src/index.scss index f468c8a04..e291acadc 100644 --- a/src/index.scss +++ b/src/index.scss @@ -1,3 +1,7 @@ + +$spacer: 1rem; +$white: #fff; + @import './Menu/menu.scss'; @import './studio-header/StudioHeader.scss'; @@ -33,16 +37,12 @@ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - padding-bottom: calc(var(--pgn-spacing-spacer-base)* 0.1); + padding-bottom: calc(var(--pgn-spacing-spacer-base, $spacer)* 0.1); } } .user-dropdown .btn { height: 3rem; - - @media (--max-pgn-size-breakpoint-xs) { - padding: 0 .5rem; - } } } @@ -68,7 +68,7 @@ .site-header-desktop { box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1); - background: var(--pgn-color-white); + background: var(--pgn-color-white, $white); .nav-link { text-decoration: none; @@ -80,8 +80,8 @@ position: relative; top: -.05em; height: 1.75rem; - padding: var(--pgn-spacing-spacer-base) 0; - margin-right: var(--pgn-spacing-spacer-base); + padding: var(--pgn-spacing-spacer-base, $spacer) 0; + margin-right: var(--pgn-spacing-spacer-base, $spacer); img { display: block; @@ -93,13 +93,13 @@ .nav-link:focus, .nav-link.active, .expanded .nav-link { - background: var(--pgn-color-bg-active); - color: var(--pgn-color-active); + background: var(--pgn-color-bg-active, $component-active-bg); + color: var(--pgn-color-active, $component-active-color); } } .main-nav { .nav-link { - padding: 1.125rem var(--pgn-spacing-spacer-base); + padding: 1.125rem var(--pgn-spacing-spacer-base, $spacer); text-decoration: none; font-weight: 500; letter-spacing: .01em; @@ -109,8 +109,8 @@ .nav-link:focus, .nav-link.active, .expanded .nav-link { - background: var(--pgn-color-bg-active); - color: var(--pgn-color-active); + background: var(--pgn-color-bg-active, $component-active-bg); + color: var(--pgn-color-active, $component-active-color); } .menu { @@ -120,15 +120,15 @@ border-top: solid 2px var(--pgn-color-bg-active); left: 0; right: 0; - box-shadow: var(--pgn-elevation-box-shadow-down-1); + box-shadow: var(--pgn-elevation-box-shadow-down-1, 0 1px 2px rgba(0,0,0,.25)); border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; - padding: var(--pgn-spacing-spacer-base); + padding: var(--pgn-spacing-spacer-base, $spacer); } } } .search-input { - border-radius: var(--pgn-size-rounded-pill); + border-radius: var(--pgn-size-rounded-pill, $rounded-pill); } } diff --git a/src/studio-header/StudioHeader.scss b/src/studio-header/StudioHeader.scss index ff056dbed..34cfef2da 100644 --- a/src/studio-header/StudioHeader.scss +++ b/src/studio-header/StudioHeader.scss @@ -4,10 +4,10 @@ height: 3.75rem; box-shadow: 0 1px 0 0 rgb(0 0 0 / .1); - background: var(--pgn-color-white); + background: var(--pgn-color-white, $white); .btn-outline-primary { - border-color: var(--pgn-color-white); + border-color: var(--pgn-color-white, $white); } .logo { @@ -16,8 +16,8 @@ position: relative; top: -.05em; height: 1.75rem; - padding: var(--pgn-spacing-spacer-base) 0; - margin-right: var(--pgn-spacing-spacer-base); + padding: var(--pgn-spacing-spacer-base, $spacer) 0; + margin-right: var(--pgn-spacing-spacer-base, $spacer); img { display: block; @@ -30,13 +30,13 @@ @media only screen and (min-width: 769px) { padding: .5rem; - padding-right: var(--pgn-spacing-spacer-base); + padding-right: var(--pgn-spacing-spacer-base, $spacer); border-right: 1px solid #E5E5E5; width: 70%; } span { - color: var(--pgn-color-gray-800); + color: var(--pgn-color-gray-800, #333333); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; From 27b8411d50de493b2fe64e9588ae5ef75e4b425f Mon Sep 17 00:00:00 2001 From: Diana Olarte Date: Sat, 15 Mar 2025 11:03:31 +1100 Subject: [PATCH 14/15] fix: implement feedback --- dist/Menu/menu.scss | 2 +- dist/index.scss | 5 ++++- dist/studio-header/StudioHeader.scss | 3 +++ package-lock.json | 6 +++--- package.json | 6 +++--- src/Menu/menu.scss | 2 +- src/index.scss | 5 ++++- src/studio-header/StudioHeader.scss | 3 +++ 8 files changed, 22 insertions(+), 10 deletions(-) diff --git a/dist/Menu/menu.scss b/dist/Menu/menu.scss index c99ef8933..5be38512a 100644 --- a/dist/Menu/menu.scss +++ b/dist/Menu/menu.scss @@ -6,7 +6,7 @@ position: absolute; top: 100%; z-index: 10; - background: var(--pgn-color-white, $white); + background: var(--pgn-color-white, #fff); min-width: 10rem; &.pin-left { diff --git a/dist/index.scss b/dist/index.scss index e291acadc..799ad9bd7 100644 --- a/dist/index.scss +++ b/dist/index.scss @@ -1,6 +1,9 @@ - $spacer: 1rem; +$blue: #007db8; $white: #fff; +$component-active-bg: #0A3055FF !default; +$component-active-color: $white !default; +$rounded-pill: 50rem; @import './Menu/menu.scss'; @import './studio-header/StudioHeader.scss'; diff --git a/dist/studio-header/StudioHeader.scss b/dist/studio-header/StudioHeader.scss index 34cfef2da..ee2cb212b 100644 --- a/dist/studio-header/StudioHeader.scss +++ b/dist/studio-header/StudioHeader.scss @@ -1,3 +1,6 @@ +$spacer: 1rem; +$white: #FFFFFF; + .studio-header { position: relative; z-index: 1000; diff --git a/package-lock.json b/package-lock.json index 537862773..c59d93f73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,10 +25,10 @@ "devDependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", "@edx/browserslist-config": "^1.1.1", - "@edx/frontend-platform": "^8.3.0", + "@edx/frontend-platform": "^8.3.1", "@edx/reactifex": "^2.1.1", "@openedx/frontend-build": "14.2.2", - "@openedx/paragon": "^23.3.0", + "@openedx/paragon": "^23.0.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "10.4.9", @@ -46,7 +46,7 @@ }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": ">= 23.0.0", + "@openedx/paragon": ">= 22.0.0 < 24.0.0", "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", diff --git a/package.json b/package.json index d23351c8c..38fd1b056 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,10 @@ "devDependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", "@edx/browserslist-config": "^1.1.1", - "@edx/frontend-platform": "^8.3.0", + "@edx/frontend-platform": "^8.3.1", "@edx/reactifex": "^2.1.1", "@openedx/frontend-build": "14.2.2", - "@openedx/paragon": "^23.3.0", + "@openedx/paragon": "^23.0.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "10.4.9", @@ -70,7 +70,7 @@ }, "peerDependencies": { "@edx/frontend-platform": "^7.0.0 || ^8.0.0", - "@openedx/paragon": ">= 23.0.0", + "@openedx/paragon": ">= 22.0.0 < 24.0.0", "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", diff --git a/src/Menu/menu.scss b/src/Menu/menu.scss index c99ef8933..5be38512a 100644 --- a/src/Menu/menu.scss +++ b/src/Menu/menu.scss @@ -6,7 +6,7 @@ position: absolute; top: 100%; z-index: 10; - background: var(--pgn-color-white, $white); + background: var(--pgn-color-white, #fff); min-width: 10rem; &.pin-left { diff --git a/src/index.scss b/src/index.scss index e291acadc..1094eb87c 100644 --- a/src/index.scss +++ b/src/index.scss @@ -1,6 +1,9 @@ - $spacer: 1rem; +$blue: #007db8; $white: #fff; +$component-active-bg: #0A3055FF !default; +$component-active-color: $white !default; +$rounded-pill: 50rem !default; @import './Menu/menu.scss'; @import './studio-header/StudioHeader.scss'; diff --git a/src/studio-header/StudioHeader.scss b/src/studio-header/StudioHeader.scss index 34cfef2da..ee2cb212b 100644 --- a/src/studio-header/StudioHeader.scss +++ b/src/studio-header/StudioHeader.scss @@ -1,3 +1,6 @@ +$spacer: 1rem; +$white: #FFFFFF; + .studio-header { position: relative; z-index: 1000; From 57ae6a21d4d1ac8e58c1d8bace73f0e3e3e7d32e Mon Sep 17 00:00:00 2001 From: Diana Olarte Date: Tue, 18 Mar 2025 12:03:33 +1100 Subject: [PATCH 15/15] revert: remove dist forlder --- .gitignore | 2 +- dist/Avatar.js | 43 -- dist/Avatar.js.map | 1 - dist/Header.js | 129 ----- dist/Header.js.map | 1 - dist/Header.messages.js | 115 ----- dist/Header.messages.js.map | 1 - dist/Header.test.jsx | 104 ---- dist/Icons.js | 52 -- dist/Icons.js.map | 1 - dist/Logo.js | 28 -- dist/Logo.js.map | 1 - dist/Menu/Menu.js | 321 ------------- dist/Menu/Menu.js.map | 1 - dist/Menu/index.js | 3 - dist/Menu/index.js.map | 1 - dist/Menu/menu.scss | 45 -- dist/__snapshots__/Header.test.jsx.snap | 445 ------------------ dist/desktop-header/DesktopHeader.js | 172 ------- dist/desktop-header/DesktopHeader.js.map | 1 - .../DesktopHeaderMainOrSecondaryMenu.js | 51 -- .../DesktopHeaderMainOrSecondaryMenu.js.map | 1 - dist/desktop-header/DesktopHeaderUserMenu.js | 49 -- .../DesktopHeaderUserMenu.js.map | 1 - dist/desktop-header/DesktopLoggedOutItems.js | 22 - .../DesktopLoggedOutItems.js.map | 1 - dist/generic/messages.js | 15 - dist/generic/messages.js.map | 1 - dist/i18n/index.js | 2 - dist/i18n/index.js.map | 1 - dist/index.js | 7 - dist/index.js.map | 1 - dist/index.scss | 137 ------ dist/learning-header/AnonymousUserMenu.js | 25 - dist/learning-header/AnonymousUserMenu.js.map | 1 - .../AuthenticatedUserDropdown.js | 57 --- .../AuthenticatedUserDropdown.js.map | 1 - dist/learning-header/LearningHeader.js | 60 --- dist/learning-header/LearningHeader.js.map | 1 - .../LearningHeaderCourseInfo.js | 24 - .../LearningHeaderCourseInfo.js.map | 1 - .../learning-header/LearningHeaderHelpLink.js | 13 - .../LearningHeaderHelpLink.js.map | 1 - .../LearningHeaderUserMenuItems.js | 20 - .../LearningHeaderUserMenuItems.js.map | 1 - .../LearningLoggedOutButtons.js | 24 - .../LearningLoggedOutButtons.js.map | 1 - dist/learning-header/messages.js | 40 -- dist/learning-header/messages.js.map | 1 - dist/mobile-header/MobileHeader.js | 192 -------- dist/mobile-header/MobileHeader.js.map | 1 - dist/mobile-header/MobileHeaderMainMenu.js | 46 -- .../mobile-header/MobileHeaderMainMenu.js.map | 1 - dist/mobile-header/MobileHeaderUserMenu.js | 38 -- .../mobile-header/MobileHeaderUserMenu.js.map | 1 - dist/mobile-header/MobileLoggedOutItems.js | 27 -- .../mobile-header/MobileLoggedOutItems.js.map | 1 - dist/plugin-slots/CourseInfoSlot/README.md | 125 ----- ...omponents_before_and_after_course_info.png | Bin 17506 -> 0 bytes ...lace_course_info_with_custom_component.png | Bin 13292 -> 0 bytes .../images/replace_course_title.png | Bin 14889 -> 0 bytes dist/plugin-slots/CourseInfoSlot/index.js | 31 -- dist/plugin-slots/CourseInfoSlot/index.js.map | 1 - dist/plugin-slots/DesktopHeaderSlot/README.md | 41 -- .../desktop_header_custom_component.png | Bin 27763 -> 0 bytes dist/plugin-slots/DesktopHeaderSlot/index.js | 15 - .../DesktopHeaderSlot/index.js.map | 1 - .../DesktopLoggedOutItemsSlot/README.md | 134 ------ ...ktop_logged_out_items_custom_component.png | Bin 10817 -> 0 bytes ...t_items_custom_components_before_after.png | Bin 14297 -> 0 bytes .../desktop_logged_out_items_modify_items.png | Bin 12915 -> 0 bytes .../DesktopLoggedOutItemsSlot/index.js | 19 - .../DesktopLoggedOutItemsSlot/index.js.map | 1 - .../DesktopMainMenuSlot/README.md | 134 ------ .../desktop_main_menu_custom_component.png | Bin 9023 -> 0 bytes ...in_menu_custom_components_before_after.png | Bin 15401 -> 0 bytes .../images/desktop_main_menu_modify_items.png | Bin 10583 -> 0 bytes .../plugin-slots/DesktopMainMenuSlot/index.js | 19 - .../DesktopMainMenuSlot/index.js.map | 1 - .../DesktopSecondaryMenuSlot/README.md | 129 ----- ...esktop_secondary_menu_custom_component.png | Bin 14173 -> 0 bytes ...ry_menu_custom_components_before_after.png | Bin 15494 -> 0 bytes .../desktop_secondary_menu_modify_items.png | Bin 16145 -> 0 bytes .../DesktopSecondaryMenuSlot/index.js | 19 - .../DesktopSecondaryMenuSlot/index.js.map | 1 - .../DesktopUserMenuSlot/README.md | 141 ------ .../desktop_user_menu_custom_component.png | Bin 9245 -> 0 bytes ...er_menu_custom_components_before_after.png | Bin 17714 -> 0 bytes .../images/desktop_user_menu_modify_items.png | Bin 11521 -> 0 bytes .../plugin-slots/DesktopUserMenuSlot/index.js | 19 - .../DesktopUserMenuSlot/index.js.map | 1 - dist/plugin-slots/LearningHelpSlot/README.md | 41 -- .../images/learning_help_custom_component.png | Bin 18483 -> 0 bytes dist/plugin-slots/LearningHelpSlot/index.js | 10 - .../LearningHelpSlot/index.js.map | 1 - .../LearningLoggedOutItemsSlot/README.md | 132 ------ ...ning_logged_out_items_custom_component.png | Bin 16286 -> 0 bytes ...t_items_custom_components_before_after.png | Bin 20319 -> 0 bytes ...arning_logged_out_items_modified_items.png | Bin 18555 -> 0 bytes .../LearningLoggedOutItemsSlot/index.js | 17 - .../LearningLoggedOutItemsSlot/index.js.map | 1 - .../LearningUserMenuSlot/README.md | 130 ----- .../learning_user_menu_custom_component.png | Bin 7642 -> 0 bytes ...er_menu_custom_components_before_after.png | Bin 20360 -> 0 bytes .../learning_user_menu_modified_items.png | Bin 9626 -> 0 bytes .../LearningUserMenuSlot/index.js | 17 - .../LearningUserMenuSlot/index.js.map | 1 - dist/plugin-slots/LogoSlot/README.md | 69 --- dist/plugin-slots/LogoSlot/index.js | 26 - dist/plugin-slots/LogoSlot/index.js.map | 1 - dist/plugin-slots/MobileHeaderSlot/README.md | 41 -- .../images/mobile_header_custom_component.png | Bin 15830 -> 0 bytes dist/plugin-slots/MobileHeaderSlot/index.js | 15 - .../MobileHeaderSlot/index.js.map | 1 - .../MobileLoggedOutItemsSlot/README.md | 134 ------ ...bile_logged_out_items_custom_component.png | Bin 5701 -> 0 bytes ...t_items_custom_components_before_after.png | Bin 12654 -> 0 bytes .../mobile_logged_out_items_modify_items.png | Bin 10042 -> 0 bytes .../MobileLoggedOutItemsSlot/index.js | 19 - .../MobileLoggedOutItemsSlot/index.js.map | 1 - .../plugin-slots/MobileMainMenuSlot/README.md | 134 ------ .../mobile_main_menu_custom_component.png | Bin 8549 -> 0 bytes ...in_menu_custom_components_before_after.png | Bin 17362 -> 0 bytes .../images/mobile_main_menu_modify_items.png | Bin 9200 -> 0 bytes dist/plugin-slots/MobileMainMenuSlot/index.js | 19 - .../MobileMainMenuSlot/index.js.map | 1 - .../plugin-slots/MobileUserMenuSlot/README.md | 142 ------ .../mobile_user_menu_custom_component.png | Bin 7939 -> 0 bytes ...er_menu_custom_components_before_after.png | Bin 13713 -> 0 bytes .../images/mobile_user_menu_modify_items.png | Bin 9173 -> 0 bytes dist/plugin-slots/MobileUserMenuSlot/index.js | 19 - .../MobileUserMenuSlot/index.js.map | 1 - dist/plugin-slots/README.md | 15 - dist/setupTest.js | 125 ----- dist/studio-header/BrandNav.js | 22 - dist/studio-header/BrandNav.js.map | 1 - dist/studio-header/CourseLockUp.js | 46 -- dist/studio-header/CourseLockUp.js.map | 1 - dist/studio-header/HeaderBody.js | 143 ------ dist/studio-header/HeaderBody.js.map | 1 - dist/studio-header/MobileHeader.js | 79 ---- dist/studio-header/MobileHeader.js.map | 1 - dist/studio-header/MobileMenu.js | 46 -- dist/studio-header/MobileMenu.js.map | 1 - dist/studio-header/NavDropdownMenu.js | 32 -- dist/studio-header/NavDropdownMenu.js.map | 1 - dist/studio-header/StudioHeader.js | 78 --- dist/studio-header/StudioHeader.js.map | 1 - dist/studio-header/StudioHeader.scss | 49 -- dist/studio-header/UserMenu.js | 55 --- dist/studio-header/UserMenu.js.map | 1 - dist/studio-header/index.js | 3 - dist/studio-header/index.js.map | 1 - dist/studio-header/messages.js | 60 --- dist/studio-header/messages.js.map | 1 - dist/studio-header/utils.js | 30 -- dist/studio-header/utils.js.map | 1 - dist/test-utils.js | 26 - dist/test-utils.js.map | 1 - 159 files changed, 1 insertion(+), 4959 deletions(-) delete mode 100644 dist/Avatar.js delete mode 100644 dist/Avatar.js.map delete mode 100644 dist/Header.js delete mode 100644 dist/Header.js.map delete mode 100644 dist/Header.messages.js delete mode 100644 dist/Header.messages.js.map delete mode 100644 dist/Header.test.jsx delete mode 100644 dist/Icons.js delete mode 100644 dist/Icons.js.map delete mode 100644 dist/Logo.js delete mode 100644 dist/Logo.js.map delete mode 100644 dist/Menu/Menu.js delete mode 100644 dist/Menu/Menu.js.map delete mode 100644 dist/Menu/index.js delete mode 100644 dist/Menu/index.js.map delete mode 100644 dist/Menu/menu.scss delete mode 100644 dist/__snapshots__/Header.test.jsx.snap delete mode 100644 dist/desktop-header/DesktopHeader.js delete mode 100644 dist/desktop-header/DesktopHeader.js.map delete mode 100644 dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js delete mode 100644 dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map delete mode 100644 dist/desktop-header/DesktopHeaderUserMenu.js delete mode 100644 dist/desktop-header/DesktopHeaderUserMenu.js.map delete mode 100644 dist/desktop-header/DesktopLoggedOutItems.js delete mode 100644 dist/desktop-header/DesktopLoggedOutItems.js.map delete mode 100644 dist/generic/messages.js delete mode 100644 dist/generic/messages.js.map delete mode 100644 dist/i18n/index.js delete mode 100644 dist/i18n/index.js.map delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 dist/index.scss delete mode 100644 dist/learning-header/AnonymousUserMenu.js delete mode 100644 dist/learning-header/AnonymousUserMenu.js.map delete mode 100644 dist/learning-header/AuthenticatedUserDropdown.js delete mode 100644 dist/learning-header/AuthenticatedUserDropdown.js.map delete mode 100644 dist/learning-header/LearningHeader.js delete mode 100644 dist/learning-header/LearningHeader.js.map delete mode 100644 dist/learning-header/LearningHeaderCourseInfo.js delete mode 100644 dist/learning-header/LearningHeaderCourseInfo.js.map delete mode 100644 dist/learning-header/LearningHeaderHelpLink.js delete mode 100644 dist/learning-header/LearningHeaderHelpLink.js.map delete mode 100644 dist/learning-header/LearningHeaderUserMenuItems.js delete mode 100644 dist/learning-header/LearningHeaderUserMenuItems.js.map delete mode 100644 dist/learning-header/LearningLoggedOutButtons.js delete mode 100644 dist/learning-header/LearningLoggedOutButtons.js.map delete mode 100644 dist/learning-header/messages.js delete mode 100644 dist/learning-header/messages.js.map delete mode 100644 dist/mobile-header/MobileHeader.js delete mode 100644 dist/mobile-header/MobileHeader.js.map delete mode 100644 dist/mobile-header/MobileHeaderMainMenu.js delete mode 100644 dist/mobile-header/MobileHeaderMainMenu.js.map delete mode 100644 dist/mobile-header/MobileHeaderUserMenu.js delete mode 100644 dist/mobile-header/MobileHeaderUserMenu.js.map delete mode 100644 dist/mobile-header/MobileLoggedOutItems.js delete mode 100644 dist/mobile-header/MobileLoggedOutItems.js.map delete mode 100644 dist/plugin-slots/CourseInfoSlot/README.md delete mode 100644 dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png delete mode 100644 dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png delete mode 100644 dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png delete mode 100644 dist/plugin-slots/CourseInfoSlot/index.js delete mode 100644 dist/plugin-slots/CourseInfoSlot/index.js.map delete mode 100644 dist/plugin-slots/DesktopHeaderSlot/README.md delete mode 100644 dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png delete mode 100644 dist/plugin-slots/DesktopHeaderSlot/index.js delete mode 100644 dist/plugin-slots/DesktopHeaderSlot/index.js.map delete mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md delete mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png delete mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png delete mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png delete mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js delete mode 100644 dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map delete mode 100644 dist/plugin-slots/DesktopMainMenuSlot/README.md delete mode 100644 dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png delete mode 100644 dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png delete mode 100644 dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png delete mode 100644 dist/plugin-slots/DesktopMainMenuSlot/index.js delete mode 100644 dist/plugin-slots/DesktopMainMenuSlot/index.js.map delete mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/README.md delete mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png delete mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png delete mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png delete mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/index.js delete mode 100644 dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map delete mode 100644 dist/plugin-slots/DesktopUserMenuSlot/README.md delete mode 100644 dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png delete mode 100644 dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png delete mode 100644 dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png delete mode 100644 dist/plugin-slots/DesktopUserMenuSlot/index.js delete mode 100644 dist/plugin-slots/DesktopUserMenuSlot/index.js.map delete mode 100644 dist/plugin-slots/LearningHelpSlot/README.md delete mode 100644 dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png delete mode 100644 dist/plugin-slots/LearningHelpSlot/index.js delete mode 100644 dist/plugin-slots/LearningHelpSlot/index.js.map delete mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/README.md delete mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png delete mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png delete mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png delete mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/index.js delete mode 100644 dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map delete mode 100644 dist/plugin-slots/LearningUserMenuSlot/README.md delete mode 100644 dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png delete mode 100644 dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png delete mode 100644 dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png delete mode 100644 dist/plugin-slots/LearningUserMenuSlot/index.js delete mode 100644 dist/plugin-slots/LearningUserMenuSlot/index.js.map delete mode 100644 dist/plugin-slots/LogoSlot/README.md delete mode 100644 dist/plugin-slots/LogoSlot/index.js delete mode 100644 dist/plugin-slots/LogoSlot/index.js.map delete mode 100644 dist/plugin-slots/MobileHeaderSlot/README.md delete mode 100644 dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png delete mode 100644 dist/plugin-slots/MobileHeaderSlot/index.js delete mode 100644 dist/plugin-slots/MobileHeaderSlot/index.js.map delete mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/README.md delete mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png delete mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png delete mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png delete mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/index.js delete mode 100644 dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map delete mode 100644 dist/plugin-slots/MobileMainMenuSlot/README.md delete mode 100644 dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png delete mode 100644 dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png delete mode 100644 dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png delete mode 100644 dist/plugin-slots/MobileMainMenuSlot/index.js delete mode 100644 dist/plugin-slots/MobileMainMenuSlot/index.js.map delete mode 100644 dist/plugin-slots/MobileUserMenuSlot/README.md delete mode 100644 dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png delete mode 100644 dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png delete mode 100644 dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png delete mode 100644 dist/plugin-slots/MobileUserMenuSlot/index.js delete mode 100644 dist/plugin-slots/MobileUserMenuSlot/index.js.map delete mode 100644 dist/plugin-slots/README.md delete mode 100644 dist/setupTest.js delete mode 100644 dist/studio-header/BrandNav.js delete mode 100644 dist/studio-header/BrandNav.js.map delete mode 100644 dist/studio-header/CourseLockUp.js delete mode 100644 dist/studio-header/CourseLockUp.js.map delete mode 100644 dist/studio-header/HeaderBody.js delete mode 100644 dist/studio-header/HeaderBody.js.map delete mode 100644 dist/studio-header/MobileHeader.js delete mode 100644 dist/studio-header/MobileHeader.js.map delete mode 100644 dist/studio-header/MobileMenu.js delete mode 100644 dist/studio-header/MobileMenu.js.map delete mode 100644 dist/studio-header/NavDropdownMenu.js delete mode 100644 dist/studio-header/NavDropdownMenu.js.map delete mode 100644 dist/studio-header/StudioHeader.js delete mode 100644 dist/studio-header/StudioHeader.js.map delete mode 100644 dist/studio-header/StudioHeader.scss delete mode 100644 dist/studio-header/UserMenu.js delete mode 100644 dist/studio-header/UserMenu.js.map delete mode 100644 dist/studio-header/index.js delete mode 100644 dist/studio-header/index.js.map delete mode 100644 dist/studio-header/messages.js delete mode 100644 dist/studio-header/messages.js.map delete mode 100644 dist/studio-header/utils.js delete mode 100644 dist/studio-header/utils.js.map delete mode 100644 dist/test-utils.js delete mode 100644 dist/test-utils.js.map diff --git a/.gitignore b/.gitignore index eab69194a..018d9b2c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ .cache .DS_Store coverage -# dist +dist node_modules temp src/i18n/transifex_input.json diff --git a/dist/Avatar.js b/dist/Avatar.js deleted file mode 100644 index eecef4191..000000000 --- a/dist/Avatar.js +++ /dev/null @@ -1,43 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { AvatarIcon } from './Icons'; -var Avatar = function Avatar(_ref) { - var size = _ref.size, - src = _ref.src, - alt = _ref.alt, - className = _ref.className; - var avatar = src ? /*#__PURE__*/React.createElement("img", { - className: "d-block w-100 h-100", - src: src, - alt: alt - }) : /*#__PURE__*/React.createElement(AvatarIcon, { - style: { - width: size, - height: size - }, - role: "img", - "aria-hidden": true, - focusable: "false" - }); - return /*#__PURE__*/React.createElement("span", { - style: { - height: size, - width: size - }, - className: "avatar overflow-hidden d-inline-flex rounded-circle ".concat(className) - }, avatar); -}; -Avatar.propTypes = { - src: PropTypes.string, - size: PropTypes.string, - alt: PropTypes.string, - className: PropTypes.string -}; -Avatar.defaultProps = { - src: null, - size: '2rem', - alt: null, - className: null -}; -export default Avatar; -//# sourceMappingURL=Avatar.js.map \ No newline at end of file diff --git a/dist/Avatar.js.map b/dist/Avatar.js.map deleted file mode 100644 index 667a29fa8..000000000 --- a/dist/Avatar.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Avatar.js","names":["React","PropTypes","AvatarIcon","Avatar","_ref","size","src","alt","className","avatar","createElement","style","width","height","role","focusable","concat","propTypes","string","defaultProps"],"sources":["../src/Avatar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { AvatarIcon } from './Icons';\n\nconst Avatar = ({\n size,\n src,\n alt,\n className,\n}) => {\n const avatar = src ? (\n {alt}\n ) : (\n \n );\n\n return (\n \n {avatar}\n \n );\n};\n\nAvatar.propTypes = {\n src: PropTypes.string,\n size: PropTypes.string,\n alt: PropTypes.string,\n className: PropTypes.string,\n};\n\nAvatar.defaultProps = {\n src: null,\n size: '2rem',\n alt: null,\n className: null,\n};\n\nexport default Avatar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,UAAU,QAAQ,SAAS;AAEpC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAKN;EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACHC,SAAS,GAAAJ,IAAA,CAATI,SAAS;EAET,IAAMC,MAAM,GAAGH,GAAG,gBAChBN,KAAA,CAAAU,aAAA;IAAKF,SAAS,EAAC,qBAAqB;IAACF,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAAC,gBAE3DP,KAAA,CAAAU,aAAA,CAACR,UAAU;IAACS,KAAK,EAAE;MAAEC,KAAK,EAAEP,IAAI;MAAEQ,MAAM,EAAER;IAAK,CAAE;IAACS,IAAI,EAAC,KAAK;IAAC,mBAAW;IAACC,SAAS,EAAC;EAAO,CAAE,CAC7F;EAED,oBACEf,KAAA,CAAAU,aAAA;IACEC,KAAK,EAAE;MAAEE,MAAM,EAAER,IAAI;MAAEO,KAAK,EAAEP;IAAK,CAAE;IACrCG,SAAS,yDAAAQ,MAAA,CAAyDR,SAAS;EAAG,GAE7EC,MACG,CAAC;AAEX,CAAC;AAEDN,MAAM,CAACc,SAAS,GAAG;EACjBX,GAAG,EAAEL,SAAS,CAACiB,MAAM;EACrBb,IAAI,EAAEJ,SAAS,CAACiB,MAAM;EACtBX,GAAG,EAAEN,SAAS,CAACiB,MAAM;EACrBV,SAAS,EAAEP,SAAS,CAACiB;AACvB,CAAC;AAEDf,MAAM,CAACgB,YAAY,GAAG;EACpBb,GAAG,EAAE,IAAI;EACTD,IAAI,EAAE,MAAM;EACZE,GAAG,EAAE,IAAI;EACTC,SAAS,EAAE;AACb,CAAC;AAED,eAAeL,MAAM","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.js b/dist/Header.js deleted file mode 100644 index 4a1ad7cb2..000000000 --- a/dist/Header.js +++ /dev/null @@ -1,129 +0,0 @@ -function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } -function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } -import React, { useContext } from 'react'; -import Responsive from 'react-responsive'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { AppContext } from '@edx/frontend-platform/react'; -import { APP_CONFIG_INITIALIZED, ensureConfig, mergeConfig, getConfig, subscribe } from '@edx/frontend-platform'; -import PropTypes from 'prop-types'; -import DesktopHeaderSlot from './plugin-slots/DesktopHeaderSlot'; -import MobileHeaderSlot from './plugin-slots/MobileHeaderSlot'; -import messages from './Header.messages'; -ensureConfig(['LMS_BASE_URL', 'LOGOUT_URL', 'LOGIN_URL', 'SITE_NAME', 'LOGO_URL', 'ORDER_HISTORY_URL'], 'Header component'); -subscribe(APP_CONFIG_INITIALIZED, function () { - mergeConfig({ - AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER - }, 'Header additional config'); -}); - -/** - * Header component for the application. - * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated. - * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default - * items are displayed. - * For more details on how to use this component, please refer to this document: - * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst - * - * @param {list} mainMenuItems - The list of main menu items to display. - * See the documentation for the structure of main menu item. - * @param {list} secondaryMenuItems - The list of secondary menu items to display. - * See the documentation for the structure of secondary menu item. - * @param {list} userMenuItems - The list of user menu items to display. - * See the documentation for the structure of user menu item. - */ -var Header = function Header(_ref) { - var intl = _ref.intl, - mainMenuItems = _ref.mainMenuItems, - secondaryMenuItems = _ref.secondaryMenuItems, - userMenuItems = _ref.userMenuItems; - var _useContext = useContext(AppContext), - authenticatedUser = _useContext.authenticatedUser, - config = _useContext.config; - var defaultMainMenu = [{ - type: 'item', - href: "".concat(config.LMS_BASE_URL, "/dashboard"), - content: intl.formatMessage(messages['header.links.courses']) - }]; - var defaultUserMenu = authenticatedUser === null ? [] : [{ - heading: '', - items: [{ - type: 'item', - href: "".concat(config.LMS_BASE_URL, "/dashboard"), - content: intl.formatMessage(messages['header.user.menu.dashboard']) - }, { - type: 'item', - href: "".concat(config.ACCOUNT_PROFILE_URL, "/u/").concat(authenticatedUser.username), - content: intl.formatMessage(messages['header.user.menu.profile']) - }, { - type: 'item', - href: config.ACCOUNT_SETTINGS_URL, - content: intl.formatMessage(messages['header.user.menu.account.settings']) - }].concat(_toConsumableArray(config.ORDER_HISTORY_URL ? [{ - type: 'item', - href: config.ORDER_HISTORY_URL, - content: intl.formatMessage(messages['header.user.menu.order.history']) - }] : []), [{ - type: 'item', - href: config.LOGOUT_URL, - content: intl.formatMessage(messages['header.user.menu.logout']) - }]) - }]; - var mainMenu = mainMenuItems || defaultMainMenu; - var secondaryMenu = secondaryMenuItems || []; - var userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu; - var loggedOutItems = [{ - type: 'item', - href: config.LOGIN_URL, - content: intl.formatMessage(messages['header.user.menu.login']) - }, { - type: 'item', - href: "".concat(config.LMS_BASE_URL, "/register"), - content: intl.formatMessage(messages['header.user.menu.register']) - }]; - var props = { - logo: config.LOGO_URL, - logoAltText: config.SITE_NAME, - logoDestination: "".concat(config.LMS_BASE_URL, "/dashboard"), - loggedIn: authenticatedUser !== null, - username: authenticatedUser !== null ? authenticatedUser.username : null, - avatar: authenticatedUser !== null ? authenticatedUser.avatar : null, - mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu, - secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu, - userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu, - loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems - }; - return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, { - maxWidth: 769 - }, /*#__PURE__*/React.createElement(MobileHeaderSlot, { - props: props - })), /*#__PURE__*/React.createElement(Responsive, { - minWidth: 769 - }, /*#__PURE__*/React.createElement(DesktopHeaderSlot, { - props: props - }))); -}; -Header.defaultProps = { - mainMenuItems: null, - secondaryMenuItems: null, - userMenuItems: null -}; -Header.propTypes = { - intl: intlShape.isRequired, - mainMenuItems: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), - secondaryMenuItems: PropTypes.oneOfType([PropTypes.node, PropTypes.array]), - userMenuItems: PropTypes.arrayOf(PropTypes.shape({ - heading: PropTypes.string, - items: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string, - isActive: PropTypes.bool - })) - })) -}; -export default injectIntl(Header); -//# sourceMappingURL=Header.js.map \ No newline at end of file diff --git a/dist/Header.js.map b/dist/Header.js.map deleted file mode 100644 index 151d5cdca..000000000 --- a/dist/Header.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_CONFIG_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","PropTypes","DesktopHeaderSlot","MobileHeaderSlot","messages","AUTHN_MINIMAL_HEADER","process","env","Header","_ref","intl","mainMenuItems","secondaryMenuItems","userMenuItems","_useContext","authenticatedUser","config","defaultMainMenu","type","href","concat","LMS_BASE_URL","content","formatMessage","defaultUserMenu","heading","items","ACCOUNT_PROFILE_URL","username","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","LOGOUT_URL","mainMenu","secondaryMenu","userMenu","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","createElement","Fragment","maxWidth","minWidth","defaultProps","propTypes","isRequired","oneOfType","node","array","arrayOf","shape","string","oneOf","isActive","bool"],"sources":["../src/Header.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport Responsive from 'react-responsive';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport {\n APP_CONFIG_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\nimport PropTypes from 'prop-types';\nimport DesktopHeaderSlot from './plugin-slots/DesktopHeaderSlot';\nimport MobileHeaderSlot from './plugin-slots/MobileHeaderSlot';\n\nimport messages from './Header.messages';\n\nensureConfig([\n 'LMS_BASE_URL',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'SITE_NAME',\n 'LOGO_URL',\n 'ORDER_HISTORY_URL',\n], 'Header component');\n\nsubscribe(APP_CONFIG_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n }, 'Header additional config');\n});\n\n/**\n * Header component for the application.\n * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.\n * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default\n * items are displayed.\n * For more details on how to use this component, please refer to this document:\n * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst\n *\n * @param {list} mainMenuItems - The list of main menu items to display.\n * See the documentation for the structure of main menu item.\n * @param {list} secondaryMenuItems - The list of secondary menu items to display.\n * See the documentation for the structure of secondary menu item.\n * @param {list} userMenuItems - The list of user menu items to display.\n * See the documentation for the structure of user menu item.\n */\nconst Header = ({\n intl, mainMenuItems, secondaryMenuItems, userMenuItems,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const defaultMainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n const defaultUserMenu = authenticatedUser === null ? [] : [{\n heading: '',\n items: [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.user.menu.dashboard']),\n },\n {\n type: 'item',\n href: `${config.ACCOUNT_PROFILE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: config.ACCOUNT_SETTINGS_URL,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n ...(config.ORDER_HISTORY_URL ? [{\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n }] : []),\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ],\n }];\n\n const mainMenu = mainMenuItems || defaultMainMenu;\n const secondaryMenu = secondaryMenuItems || [];\n const userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;\n\n const loggedOutItems = [\n {\n type: 'item',\n href: config.LOGIN_URL,\n content: intl.formatMessage(messages['header.user.menu.login']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/register`,\n content: intl.formatMessage(messages['header.user.menu.register']),\n },\n ];\n\n const props = {\n logo: config.LOGO_URL,\n logoAltText: config.SITE_NAME,\n logoDestination: `${config.LMS_BASE_URL}/dashboard`,\n loggedIn: authenticatedUser !== null,\n username: authenticatedUser !== null ? authenticatedUser.username : null,\n avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,\n mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,\n secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,\n userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n\nHeader.defaultProps = {\n mainMenuItems: null,\n secondaryMenuItems: null,\n userMenuItems: null,\n};\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n mainMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenuItems: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n })),\n })),\n};\n\nexport default injectIntl(Header);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.messages.js b/dist/Header.messages.js deleted file mode 100644 index 4aac3e8fd..000000000 --- a/dist/Header.messages.js +++ /dev/null @@ -1,115 +0,0 @@ -import { defineMessages } from '@edx/frontend-platform/i18n'; -var messages = defineMessages({ - 'header.links.courses': { - id: 'header.links.courses', - defaultMessage: 'Courses', - description: 'Link to the learner course dashboard' - }, - 'header.links.programs': { - id: 'header.links.programs', - defaultMessage: 'Programs', - description: 'Link to the learner program dashboard' - }, - 'header.links.content.search': { - id: 'header.links.content.search', - defaultMessage: 'Discover New', - description: 'Link to the content search page' - }, - 'header.links.schools': { - id: 'header.links.schools', - defaultMessage: 'Schools & Partners', - description: 'Link to the schools and partners landing page' - }, - 'header.user.menu.dashboard': { - id: 'header.user.menu.dashboard', - defaultMessage: 'Dashboard', - description: 'Link to the user dashboard' - }, - 'header.user.menu.profile': { - id: 'header.user.menu.profile', - defaultMessage: 'Profile', - description: 'Link to the user profile' - }, - 'header.user.menu.account.settings': { - id: 'header.user.menu.account.settings', - defaultMessage: 'Account', - description: 'Link to account settings' - }, - 'header.user.menu.order.history': { - id: 'header.user.menu.order.history', - defaultMessage: 'Order History', - description: 'Link to order history' - }, - 'header.user.menu.logout': { - id: 'header.user.menu.logout', - defaultMessage: 'Logout', - description: 'Logout link' - }, - 'header.user.menu.login': { - id: 'header.user.menu.login', - defaultMessage: 'Login', - description: 'Login link' - }, - 'header.user.menu.register': { - id: 'header.user.menu.register', - defaultMessage: 'Sign Up', - description: 'Link to registration' - }, - 'header.user.menu.studio.home': { - id: 'header.user.menu.studio.home', - defaultMessage: 'Studio Home', - description: 'Link to the Studio Home' - }, - 'header.user.menu.studio.maintenance': { - id: 'header.user.menu.studio.maintenance', - defaultMessage: 'Maintenance', - description: 'Link to the Studio Maintenance' - }, - 'header.label.account.nav': { - id: 'header.label.account.nav', - defaultMessage: 'Account', - description: 'The aria label for the account menu nav' - }, - 'header.label.account.menu': { - id: 'header.label.account.menu', - defaultMessage: 'Account Menu', - description: 'The aria label for the account menu trigger' - }, - 'header.label.account.menu.for': { - id: 'header.label.account.menu.for', - defaultMessage: 'Account menu for {username}', - description: 'The aria label for the account menu trigger when the username is displayed in it' - }, - 'header.label.main.nav': { - id: 'header.label.main.nav', - defaultMessage: 'Main', - description: 'The aria label for the main menu nav' - }, - 'header.label.main.menu': { - id: 'header.label.main.menu', - defaultMessage: 'Main Menu', - description: 'The aria label for the main menu trigger' - }, - 'header.label.main.header': { - id: 'header.label.main.header', - defaultMessage: 'Main', - description: 'The aria label for the main header' - }, - 'header.label.secondary.nav': { - id: 'header.label.secondary.nav', - defaultMessage: 'Secondary', - description: 'The aria label for the seconary nav' - }, - 'header.label.skip.nav': { - id: 'header.label.skip.nav', - defaultMessage: 'Skip to main content', - description: 'A link used by screen readers to allow users to skip to the main content of the page.' - }, - 'header.label.app.nav': { - id: 'header.label.app.nav', - defaultMessage: 'App', - description: 'The aria label for the app Nav' - } -}); -export default messages; -//# sourceMappingURL=Header.messages.js.map \ No newline at end of file diff --git a/dist/Header.messages.js.map b/dist/Header.messages.js.map deleted file mode 100644 index 1dd150c4c..000000000 --- a/dist/Header.messages.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.user.menu.studio.maintenance': {\n id: 'header.user.menu.studio.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio Maintenance',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Header.test.jsx b/dist/Header.test.jsx deleted file mode 100644 index 51fef2089..000000000 --- a/dist/Header.test.jsx +++ /dev/null @@ -1,104 +0,0 @@ -/* eslint-disable react/prop-types */ -import React from 'react'; -import { IntlProvider } from '@edx/frontend-platform/i18n'; -import TestRenderer from 'react-test-renderer'; -import { AppContext } from '@edx/frontend-platform/react'; -import { Context as ResponsiveContext } from 'react-responsive'; - -import Header from './index'; - -const HeaderComponent = ({ width, contextValue }) => ( - - - -
    - - - -); - -describe('
    ', () => { - it('renders correctly for anonymous desktop', () => { - const contextValue = { - authenticatedUser: null, - config: { - LMS_BASE_URL: process.env.LMS_BASE_URL, - SITE_NAME: process.env.SITE_NAME, - LOGIN_URL: process.env.LOGIN_URL, - LOGOUT_URL: process.env.LOGOUT_URL, - LOGO_URL: process.env.LOGO_URL, - }, - }; - const component = ; - - const wrapper = TestRenderer.create(component); - - expect(wrapper.toJSON()).toMatchSnapshot(); - }); - - it('renders correctly for authenticated desktop', () => { - const contextValue = { - authenticatedUser: { - userId: 'abc123', - username: 'edX', - roles: [], - administrator: false, - }, - config: { - LMS_BASE_URL: process.env.LMS_BASE_URL, - SITE_NAME: process.env.SITE_NAME, - LOGIN_URL: process.env.LOGIN_URL, - LOGOUT_URL: process.env.LOGOUT_URL, - LOGO_URL: process.env.LOGO_URL, - }, - }; - const component = ; - - const wrapper = TestRenderer.create(component); - - expect(wrapper.toJSON()).toMatchSnapshot(); - }); - - it('renders correctly for anonymous mobile', () => { - const contextValue = { - authenticatedUser: null, - config: { - LMS_BASE_URL: process.env.LMS_BASE_URL, - SITE_NAME: process.env.SITE_NAME, - LOGIN_URL: process.env.LOGIN_URL, - LOGOUT_URL: process.env.LOGOUT_URL, - LOGO_URL: process.env.LOGO_URL, - }, - }; - const component = ; - - const wrapper = TestRenderer.create(component); - - expect(wrapper.toJSON()).toMatchSnapshot(); - }); - - it('renders correctly for authenticated mobile', () => { - const contextValue = { - authenticatedUser: { - userId: 'abc123', - username: 'edX', - roles: [], - administrator: false, - }, - config: { - LMS_BASE_URL: process.env.LMS_BASE_URL, - SITE_NAME: process.env.SITE_NAME, - LOGIN_URL: process.env.LOGIN_URL, - LOGOUT_URL: process.env.LOGOUT_URL, - LOGO_URL: process.env.LOGO_URL, - }, - }; - const component = ; - - const wrapper = TestRenderer.create(component); - - expect(wrapper.toJSON()).toMatchSnapshot(); - }); -}); diff --git a/dist/Icons.js b/dist/Icons.js deleted file mode 100644 index 1c19cb8f9..000000000 --- a/dist/Icons.js +++ /dev/null @@ -1,52 +0,0 @@ -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -import React from 'react'; -export var MenuIcon = function MenuIcon(props) { - return /*#__PURE__*/React.createElement("svg", _extends({ - width: "24px", - height: "24px", - viewBox: "0 0 24 24", - version: "1.1" - }, props), /*#__PURE__*/React.createElement("rect", { - fill: "currentColor", - x: "2", - y: "5", - width: "20", - height: "2" - }), /*#__PURE__*/React.createElement("rect", { - fill: "currentColor", - x: "2", - y: "11", - width: "20", - height: "2" - }), /*#__PURE__*/React.createElement("rect", { - fill: "currentColor", - x: "2", - y: "17", - width: "20", - height: "2" - })); -}; -export var AvatarIcon = function AvatarIcon(props) { - return /*#__PURE__*/React.createElement("svg", _extends({ - width: "24px", - height: "24px", - viewBox: "0 0 24 24", - version: "1.1" - }, props), /*#__PURE__*/React.createElement("path", { - d: "M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z", - fill: "currentColor" - })); -}; -export var CaretIcon = function CaretIcon(props) { - return /*#__PURE__*/React.createElement("svg", _extends({ - width: "16px", - height: "16px", - viewBox: "0 0 16 16", - version: "1.1" - }, props), /*#__PURE__*/React.createElement("path", { - d: "M7,4 L7,8 L11,8 L11,10 L5,10 L5,4 L7,4 Z", - fill: "currentColor", - transform: "translate(8.000000, 7.000000) rotate(-45.000000) translate(-8.000000, -7.000000) " - })); -}; -//# sourceMappingURL=Icons.js.map \ No newline at end of file diff --git a/dist/Icons.js.map b/dist/Icons.js.map deleted file mode 100644 index a0c108b12..000000000 --- a/dist/Icons.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Icons.js","names":["React","MenuIcon","props","createElement","_extends","width","height","viewBox","version","fill","x","y","AvatarIcon","d","CaretIcon","transform"],"sources":["../src/Icons.jsx"],"sourcesContent":["import React from 'react';\n\nexport const MenuIcon = (props) => (\n \n \n \n \n \n);\n\nexport const AvatarIcon = (props) => (\n \n \n \n);\n\nexport const CaretIcon = (props) => (\n \n \n \n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAK;EAAA,oBAC5BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAAC,eAC9DN,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,IAAI;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAAC,eAC/DN,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,IAAI;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAC3D,CAAC;AAAA,CACP;AAED,OAAO,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAIV,KAAK;EAAA,oBAC9BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IACEU,CAAC,EAAC,6jBAA6jB;IAC/jBJ,IAAI,EAAC;EAAc,CACpB,CACE,CAAC;AAAA,CACP;AAED,OAAO,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAIZ,KAAK;EAAA,oBAC7BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IACEU,CAAC,EAAC,0CAA0C;IAC5CJ,IAAI,EAAC,cAAc;IACnBM,SAAS,EAAC;EAAmF,CAC9F,CACE,CAAC;AAAA,CACP","ignoreList":[]} \ No newline at end of file diff --git a/dist/Logo.js b/dist/Logo.js deleted file mode 100644 index 5615f46b7..000000000 --- a/dist/Logo.js +++ /dev/null @@ -1,28 +0,0 @@ -var _excluded = ["href", "src", "alt"]; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } -import React from 'react'; -import PropTypes from 'prop-types'; -var Logo = function Logo(_ref) { - var href = _ref.href, - src = _ref.src, - alt = _ref.alt, - attributes = _objectWithoutProperties(_ref, _excluded); - return /*#__PURE__*/React.createElement("a", _extends({ - href: href, - className: "logo" - }, attributes), /*#__PURE__*/React.createElement("img", { - className: "d-block", - src: src, - alt: alt - })); -}; -export var logoDataShape = { - href: PropTypes.string.isRequired, - src: PropTypes.string.isRequired, - alt: PropTypes.string.isRequired -}; -Logo.propTypes = logoDataShape; -export default Logo; -//# sourceMappingURL=Logo.js.map \ No newline at end of file diff --git a/dist/Logo.js.map b/dist/Logo.js.map deleted file mode 100644 index b977ed4c7..000000000 --- a/dist/Logo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Logo.js","names":["React","PropTypes","Logo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","logoDataShape","string","isRequired","propTypes"],"sources":["../src/Logo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Logo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n \n {alt}\n \n);\n\nexport const logoDataShape = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nLogo.propTypes = logoDataShape;\n\nexport default Logo;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA;EAAA,IACRC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAEbT,KAAA,CAAAU,aAAA,MAAAC,QAAA;IAAGP,IAAI,EAAEA,IAAK;IAACQ,SAAS,EAAC;EAAM,GAAKL,UAAU,gBAC5CP,KAAA,CAAAU,aAAA;IAAKE,SAAS,EAAC,SAAS;IAACP,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAED,OAAO,IAAMO,aAAa,GAAG;EAC3BT,IAAI,EAAEH,SAAS,CAACa,MAAM,CAACC,UAAU;EACjCV,GAAG,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EAChCT,GAAG,EAAEL,SAAS,CAACa,MAAM,CAACC;AACxB,CAAC;AAEDb,IAAI,CAACc,SAAS,GAAGH,aAAa;AAE9B,eAAeX,IAAI","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/Menu.js b/dist/Menu/Menu.js deleted file mode 100644 index 80acdf925..000000000 --- a/dist/Menu/Menu.js +++ /dev/null @@ -1,321 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -var _excluded = ["tag", "className"], - _excluded2 = ["tag", "className"]; -function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } -function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } -function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } -function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } -function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } -function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } -function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } -function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } -function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } -function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } -function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } -import React from 'react'; -import { CSSTransition } from 'react-transition-group'; -import PropTypes from 'prop-types'; -var MenuTrigger = function MenuTrigger(_ref) { - var tag = _ref.tag, - className = _ref.className, - attributes = _objectWithoutProperties(_ref, _excluded); - return /*#__PURE__*/React.createElement(tag, _objectSpread({ - className: "menu-trigger ".concat(className) - }, attributes)); -}; -MenuTrigger.propTypes = { - tag: PropTypes.string, - className: PropTypes.string -}; -MenuTrigger.defaultProps = { - tag: 'div', - className: null -}; -var MenuTriggerComp = /*#__PURE__*/React.createElement(MenuTrigger, null); -var MenuTriggerType = MenuTriggerComp.type; -var MenuContent = function MenuContent(_ref2) { - var tag = _ref2.tag, - className = _ref2.className, - attributes = _objectWithoutProperties(_ref2, _excluded2); - return /*#__PURE__*/React.createElement(tag, _objectSpread({ - className: ['menu-content', className].join(' ') - }, attributes)); -}; -MenuContent.propTypes = { - tag: PropTypes.string, - className: PropTypes.string -}; -MenuContent.defaultProps = { - tag: 'div', - className: null -}; -var menuPropTypes = { - tag: PropTypes.string, - onClose: PropTypes.func, - onOpen: PropTypes.func, - closeOnDocumentClick: PropTypes.bool, - respondToPointerEvents: PropTypes.bool, - className: PropTypes.string, - transitionTimeout: PropTypes.number, - transitionClassName: PropTypes.string, - children: PropTypes.arrayOf(PropTypes.node).isRequired -}; -var Menu = /*#__PURE__*/function (_React$Component) { - function Menu(props) { - var _this; - _classCallCheck(this, Menu); - _this = _callSuper(this, Menu, [props]); - _this.menu = /*#__PURE__*/React.createRef(); - _this.state = { - expanded: false - }; - _this.onTriggerClick = _this.onTriggerClick.bind(_this); - _this.onCloseClick = _this.onCloseClick.bind(_this); - _this.onKeyDown = _this.onKeyDown.bind(_this); - _this.onDocumentClick = _this.onDocumentClick.bind(_this); - _this.onMouseEnter = _this.onMouseEnter.bind(_this); - _this.onMouseLeave = _this.onMouseLeave.bind(_this); - return _this; - } - - // Lifecycle Events - _inherits(Menu, _React$Component); - return _createClass(Menu, [{ - key: "componentWillUnmount", - value: function componentWillUnmount() { - document.removeEventListener('touchend', this.onDocumentClick, true); - document.removeEventListener('click', this.onDocumentClick, true); - - // Call onClose callback when unmounting and open - if (this.state.expanded && this.props.onClose) { - this.props.onClose(); - } - } - - // Event handlers - }, { - key: "onDocumentClick", - value: function onDocumentClick(e) { - if (!this.props.closeOnDocumentClick) { - return; - } - var clickIsInMenu = this.menu.current === e.target || this.menu.current.contains(e.target); - if (clickIsInMenu) { - return; - } - this.close(); - } - }, { - key: "onTriggerClick", - value: function onTriggerClick(e) { - // Let the browser follow the link of the trigger if the menu - // is already expanded and the trigger has an href attribute - if (this.state.expanded && e.target.getAttribute('href')) { - return; - } - e.preventDefault(); - this.toggle(); - } - }, { - key: "onCloseClick", - value: function onCloseClick() { - this.getFocusableElements()[0].focus(); - this.close(); - } - }, { - key: "onKeyDown", - value: function onKeyDown(e) { - if (!this.state.expanded) { - return; - } - switch (e.key) { - case 'Escape': - { - e.preventDefault(); - e.stopPropagation(); - this.getFocusableElements()[0].focus(); - this.close(); - break; - } - case 'Enter': - { - // Using focusable elements instead of a ref to the trigger - // because Hyperlink and Button can handle refs as functional components - if (document.activeElement === this.getFocusableElements()[0]) { - e.preventDefault(); - this.toggle(); - } - break; - } - case 'Tab': - { - e.preventDefault(); - if (e.shiftKey) { - this.focusPrevious(); - } else { - this.focusNext(); - } - break; - } - case 'ArrowDown': - { - e.preventDefault(); - this.focusNext(); - break; - } - case 'ArrowUp': - { - e.preventDefault(); - this.focusPrevious(); - break; - } - default: - } - } - }, { - key: "onMouseEnter", - value: function onMouseEnter() { - if (!this.props.respondToPointerEvents) { - return; - } - this.open(); - } - }, { - key: "onMouseLeave", - value: function onMouseLeave() { - if (!this.props.respondToPointerEvents) { - return; - } - this.close(); - } - - // Internal functions - }, { - key: "getFocusableElements", - value: function getFocusableElements() { - return this.menu.current.querySelectorAll('button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled])'); - } - }, { - key: "getAttributesFromProps", - value: function getAttributesFromProps() { - var _this2 = this; - // Any extra props are attributes for the menu - var attributes = {}; - Object.keys(this.props).filter(function (property) { - return menuPropTypes[property] === undefined; - }).forEach(function (property) { - attributes[property] = _this2.props[property]; - }); - return attributes; - } - }, { - key: "focusNext", - value: function focusNext() { - var focusableElements = Array.from(this.getFocusableElements()); - var activeIndex = focusableElements.indexOf(document.activeElement); - var nextIndex = (activeIndex + 1) % focusableElements.length; - focusableElements[nextIndex].focus(); - } - }, { - key: "focusPrevious", - value: function focusPrevious() { - var focusableElements = Array.from(this.getFocusableElements()); - var activeIndex = focusableElements.indexOf(document.activeElement); - var previousIndex = (activeIndex || focusableElements.length) - 1; - focusableElements[previousIndex].focus(); - } - }, { - key: "open", - value: function open() { - if (this.props.onOpen) { - this.props.onOpen(); - } - this.setState({ - expanded: true - }); - // Listen to touchend and click events to ensure the menu - // can be closed on mobile, pointer, and mixed input devices - document.addEventListener('touchend', this.onDocumentClick, true); - document.addEventListener('click', this.onDocumentClick, true); - } - }, { - key: "close", - value: function close() { - if (this.props.onClose) { - this.props.onClose(); - } - this.setState({ - expanded: false - }); - document.removeEventListener('touchend', this.onDocumentClick, true); - document.removeEventListener('click', this.onDocumentClick, true); - } - }, { - key: "toggle", - value: function toggle() { - if (this.state.expanded) { - this.close(); - } else { - this.open(); - } - } - }, { - key: "renderTrigger", - value: function renderTrigger(node) { - return /*#__PURE__*/React.cloneElement(node, { - onClick: this.onTriggerClick, - 'aria-haspopup': 'menu', - 'aria-expanded': this.state.expanded - }); - } - }, { - key: "renderMenuContent", - value: function renderMenuContent(node) { - return /*#__PURE__*/React.createElement(CSSTransition, { - "in": this.state.expanded, - timeout: this.props.transitionTimeout, - classNames: this.props.transitionClassName, - unmountOnExit: true - }, node); - } - }, { - key: "render", - value: function render() { - var _this3 = this; - var className = this.props.className; - var wrappedChildren = React.Children.map(this.props.children, function (child) { - if (child.type === MenuTriggerType) { - return _this3.renderTrigger(child); - } - return _this3.renderMenuContent(child); - }); - var rootClassName = this.state.expanded ? 'menu expanded' : 'menu'; - return /*#__PURE__*/React.createElement(this.props.tag, _objectSpread({ - className: "".concat(rootClassName, " ").concat(className), - ref: this.menu, - onKeyDown: this.onKeyDown, - onMouseEnter: this.onMouseEnter, - onMouseLeave: this.onMouseLeave - }, this.getAttributesFromProps()), wrappedChildren); - } - }]); -}(React.Component); -Menu.propTypes = menuPropTypes; -Menu.defaultProps = { - tag: 'div', - className: null, - onClose: null, - onOpen: null, - respondToPointerEvents: false, - closeOnDocumentClick: true, - transitionTimeout: 250, - transitionClassName: 'menu-content' -}; -export { Menu, MenuTrigger, MenuContent }; -//# sourceMappingURL=Menu.js.map \ No newline at end of file diff --git a/dist/Menu/Menu.js.map b/dist/Menu/Menu.js.map deleted file mode 100644 index f4c67cc0a..000000000 --- a/dist/Menu/Menu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Menu.js","names":["React","CSSTransition","PropTypes","MenuTrigger","_ref","tag","className","attributes","_objectWithoutProperties","_excluded","createElement","_objectSpread","concat","propTypes","string","defaultProps","MenuTriggerComp","MenuTriggerType","type","MenuContent","_ref2","_excluded2","join","menuPropTypes","onClose","func","onOpen","closeOnDocumentClick","bool","respondToPointerEvents","transitionTimeout","number","transitionClassName","children","arrayOf","node","isRequired","Menu","_React$Component","props","_this","_classCallCheck","_callSuper","menu","createRef","state","expanded","onTriggerClick","bind","onCloseClick","onKeyDown","onDocumentClick","onMouseEnter","onMouseLeave","_inherits","_createClass","key","value","componentWillUnmount","document","removeEventListener","e","clickIsInMenu","current","target","contains","close","getAttribute","preventDefault","toggle","getFocusableElements","focus","stopPropagation","activeElement","shiftKey","focusPrevious","focusNext","open","querySelectorAll","getAttributesFromProps","_this2","Object","keys","filter","property","undefined","forEach","focusableElements","Array","from","activeIndex","indexOf","nextIndex","length","previousIndex","setState","addEventListener","renderTrigger","cloneElement","onClick","renderMenuContent","timeout","classNames","unmountOnExit","render","_this3","wrappedChildren","Children","map","child","rootClassName","ref","Component"],"sources":["../../src/Menu/Menu.jsx"],"sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\n\nconst MenuTrigger = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: `menu-trigger ${className}`,\n ...attributes,\n});\nMenuTrigger.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuTrigger.defaultProps = {\n tag: 'div',\n className: null,\n};\nconst MenuTriggerComp = ;\nconst MenuTriggerType = MenuTriggerComp.type;\n\nconst MenuContent = ({ tag, className, ...attributes }) => React.createElement(tag, {\n className: ['menu-content', className].join(' '),\n ...attributes,\n});\nMenuContent.propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n};\nMenuContent.defaultProps = {\n tag: 'div',\n className: null,\n};\n\nconst menuPropTypes = {\n tag: PropTypes.string,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n closeOnDocumentClick: PropTypes.bool,\n respondToPointerEvents: PropTypes.bool,\n className: PropTypes.string,\n transitionTimeout: PropTypes.number,\n transitionClassName: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node).isRequired,\n};\n\nclass Menu extends React.Component {\n constructor(props) {\n super(props);\n\n this.menu = React.createRef();\n this.state = {\n expanded: false,\n };\n\n this.onTriggerClick = this.onTriggerClick.bind(this);\n this.onCloseClick = this.onCloseClick.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onDocumentClick = this.onDocumentClick.bind(this);\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n }\n\n // Lifecycle Events\n componentWillUnmount() {\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n\n // Call onClose callback when unmounting and open\n if (this.state.expanded && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n // Event handlers\n onDocumentClick(e) {\n if (!this.props.closeOnDocumentClick) {\n return;\n }\n\n const clickIsInMenu = this.menu.current === e.target || this.menu.current.contains(e.target);\n if (clickIsInMenu) {\n return;\n }\n\n this.close();\n }\n\n onTriggerClick(e) {\n // Let the browser follow the link of the trigger if the menu\n // is already expanded and the trigger has an href attribute\n if (this.state.expanded && e.target.getAttribute('href')) {\n return;\n }\n\n e.preventDefault();\n this.toggle();\n }\n\n onCloseClick() {\n this.getFocusableElements()[0].focus();\n this.close();\n }\n\n onKeyDown(e) {\n if (!this.state.expanded) {\n return;\n }\n switch (e.key) {\n case 'Escape': {\n e.preventDefault();\n e.stopPropagation();\n this.getFocusableElements()[0].focus();\n this.close();\n break;\n }\n case 'Enter': {\n // Using focusable elements instead of a ref to the trigger\n // because Hyperlink and Button can handle refs as functional components\n if (document.activeElement === this.getFocusableElements()[0]) {\n e.preventDefault();\n this.toggle();\n }\n break;\n }\n case 'Tab': {\n e.preventDefault();\n if (e.shiftKey) {\n this.focusPrevious();\n } else {\n this.focusNext();\n }\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.focusNext();\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.focusPrevious();\n break;\n }\n default:\n }\n }\n\n onMouseEnter() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.open();\n }\n\n onMouseLeave() {\n if (!this.props.respondToPointerEvents) {\n return;\n }\n this.close();\n }\n\n // Internal functions\n\n getFocusableElements() {\n return this.menu.current.querySelectorAll('button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])');\n }\n\n getAttributesFromProps() {\n // Any extra props are attributes for the menu\n const attributes = {};\n Object.keys(this.props)\n .filter(property => menuPropTypes[property] === undefined)\n .forEach((property) => {\n attributes[property] = this.props[property];\n });\n return attributes;\n }\n\n focusNext() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (activeIndex + 1) % focusableElements.length;\n focusableElements[nextIndex].focus();\n }\n\n focusPrevious() {\n const focusableElements = Array.from(this.getFocusableElements());\n const activeIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (activeIndex || focusableElements.length) - 1;\n focusableElements[previousIndex].focus();\n }\n\n open() {\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n this.setState({ expanded: true });\n // Listen to touchend and click events to ensure the menu\n // can be closed on mobile, pointer, and mixed input devices\n document.addEventListener('touchend', this.onDocumentClick, true);\n document.addEventListener('click', this.onDocumentClick, true);\n }\n\n close() {\n if (this.props.onClose) {\n this.props.onClose();\n }\n this.setState({ expanded: false });\n document.removeEventListener('touchend', this.onDocumentClick, true);\n document.removeEventListener('click', this.onDocumentClick, true);\n }\n\n toggle() {\n if (this.state.expanded) {\n this.close();\n } else {\n this.open();\n }\n }\n\n renderTrigger(node) {\n return React.cloneElement(node, {\n onClick: this.onTriggerClick,\n 'aria-haspopup': 'menu',\n 'aria-expanded': this.state.expanded,\n });\n }\n\n renderMenuContent(node) {\n return (\n \n {node}\n \n );\n }\n\n render() {\n const { className } = this.props;\n\n const wrappedChildren = React.Children.map(this.props.children, (child) => {\n if (child.type === MenuTriggerType) {\n return this.renderTrigger(child);\n }\n return this.renderMenuContent(child);\n });\n\n const rootClassName = this.state.expanded ? 'menu expanded' : 'menu';\n\n return React.createElement(this.props.tag, {\n className: `${rootClassName} ${className}`,\n ref: this.menu,\n onKeyDown: this.onKeyDown,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n ...this.getAttributesFromProps(),\n }, wrappedChildren);\n }\n}\n\nMenu.propTypes = menuPropTypes;\nMenu.defaultProps = {\n tag: 'div',\n className: null,\n onClose: null,\n onOpen: null,\n respondToPointerEvents: false,\n closeOnDocumentClick: true,\n transitionTimeout: 250,\n transitionClassName: 'menu-content',\n};\n\nexport { Menu, MenuTrigger, MenuContent };\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/index.js b/dist/Menu/index.js deleted file mode 100644 index c2cc885ff..000000000 --- a/dist/Menu/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Menu, MenuTrigger, MenuContent } from './Menu'; -export { Menu, MenuTrigger, MenuContent }; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/Menu/index.js.map b/dist/Menu/index.js.map deleted file mode 100644 index e765f2223..000000000 --- a/dist/Menu/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["Menu","MenuTrigger","MenuContent"],"sources":["../../src/Menu/index.jsx"],"sourcesContent":["import { Menu, MenuTrigger, MenuContent } from './Menu';\n\nexport { Menu, MenuTrigger, MenuContent };\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,QAAQ;AAEvD,SAASF,IAAI,EAAEC,WAAW,EAAEC,WAAW","ignoreList":[]} \ No newline at end of file diff --git a/dist/Menu/menu.scss b/dist/Menu/menu.scss deleted file mode 100644 index 5be38512a..000000000 --- a/dist/Menu/menu.scss +++ /dev/null @@ -1,45 +0,0 @@ -.menu { - position: relative; -} - -.menu-content { - position: absolute; - top: 100%; - z-index: 10; - background: var(--pgn-color-white, #fff); - min-width: 10rem; - - &.pin-left { - left: 0; - } - - &.pin-right { - right: 0; - } -} - -.menu-dropdown-enter { - opacity: 0; - transform-origin: 75% 0; - transform: scale3d(0.8, 0.8, 1); -} - -.menu-dropdown-enter-active { - transform-origin: 75% 0; - transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); - transform: scale3d(1, 1, 1); - opacity: 1; -} - -.menu-dropdown-exit { - transform-origin: 75% 0; - transform: scale3d(1, 1, 1); - opacity: 1; -} - -.menu-dropdown-exit-active { - transform-origin: 75% 0; - transform: scale3d(0.8, 0.8, 1); - transition: all 250ms cubic-bezier(0.8, 0, 0.6, 1); - opacity: 0; -} diff --git a/dist/__snapshots__/Header.test.jsx.snap b/dist/__snapshots__/Header.test.jsx.snap deleted file mode 100644 index 781e7f729..000000000 --- a/dist/__snapshots__/Header.test.jsx.snap +++ /dev/null @@ -1,445 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`
    renders correctly for anonymous desktop 1`] = ` -
    - - Skip to main content - - -
    -`; - -exports[`
    renders correctly for anonymous mobile 1`] = ` -
    - - Skip to main content - -
    -
    - -
    -
    -
    - - edX - -
    -
    - -
    -
    -`; - -exports[`
    renders correctly for authenticated desktop 1`] = ` -
    - - Skip to main content - -
    -
    - - edX - - - -
    -
    -
    -`; - -exports[`
    renders correctly for authenticated mobile 1`] = ` -
    - - Skip to main content - -
    -
    - -
    -
    -
    - - edX - -
    -
    - -
    -
    -`; diff --git a/dist/desktop-header/DesktopHeader.js b/dist/desktop-header/DesktopHeader.js deleted file mode 100644 index d1acc91f7..000000000 --- a/dist/desktop-header/DesktopHeader.js +++ /dev/null @@ -1,172 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } -function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } -function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } -function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } -function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } -function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } -function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } -function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } -function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } -import React from 'react'; -import PropTypes from 'prop-types'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { getConfig } from '@edx/frontend-platform'; - -// Local Components -import { Menu, MenuTrigger, MenuContent } from '../Menu'; -import Avatar from '../Avatar'; -import LogoSlot from '../plugin-slots/LogoSlot'; -import DesktopLoggedOutItemsSlot from '../plugin-slots/DesktopLoggedOutItemsSlot'; -import { desktopLoggedOutItemsDataShape } from './DesktopLoggedOutItems'; -import DesktopMainMenuSlot from '../plugin-slots/DesktopMainMenuSlot'; -import { desktopHeaderMainOrSecondaryMenuDataShape } from './DesktopHeaderMainOrSecondaryMenu'; -import DesktopSecondaryMenuSlot from '../plugin-slots/DesktopSecondaryMenuSlot'; -import DesktopUserMenuSlot from '../plugin-slots/DesktopUserMenuSlot'; -import { desktopUserMenuDataShape } from './DesktopHeaderUserMenu'; - -// i18n -import messages from '../Header.messages'; - -// Assets -import { CaretIcon } from '../Icons'; -var DesktopHeader = /*#__PURE__*/function (_React$Component) { - function DesktopHeader(props) { - _classCallCheck(this, DesktopHeader); - // eslint-disable-line no-useless-constructor - return _callSuper(this, DesktopHeader, [props]); - } - _inherits(DesktopHeader, _React$Component); - return _createClass(DesktopHeader, [{ - key: "renderMainMenu", - value: function renderMainMenu() { - var mainMenu = this.props.mainMenu; - return /*#__PURE__*/React.createElement(DesktopMainMenuSlot, { - menu: mainMenu - }); - } - }, { - key: "renderSecondaryMenu", - value: function renderSecondaryMenu() { - var secondaryMenu = this.props.secondaryMenu; - return /*#__PURE__*/React.createElement(DesktopSecondaryMenuSlot, { - menu: secondaryMenu - }); - } - }, { - key: "renderUserMenu", - value: function renderUserMenu() { - var _this$props = this.props, - userMenu = _this$props.userMenu, - avatar = _this$props.avatar, - username = _this$props.username, - intl = _this$props.intl; - return /*#__PURE__*/React.createElement(Menu, { - transitionClassName: "menu-dropdown", - transitionTimeout: 250 - }, /*#__PURE__*/React.createElement(MenuTrigger, { - tag: "button", - "aria-label": intl.formatMessage(messages['header.label.account.menu.for'], { - username: username - }), - className: "btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3" - }, /*#__PURE__*/React.createElement(Avatar, { - size: "1.5em", - src: avatar, - alt: "", - className: "mr-2" - }), username, " ", /*#__PURE__*/React.createElement(CaretIcon, { - role: "img", - "aria-hidden": true, - focusable: "false" - })), /*#__PURE__*/React.createElement(MenuContent, { - className: "mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2" - }, /*#__PURE__*/React.createElement(DesktopUserMenuSlot, { - menu: userMenu - }))); - } - }, { - key: "renderLoggedOutItems", - value: function renderLoggedOutItems() { - var loggedOutItems = this.props.loggedOutItems; - return /*#__PURE__*/React.createElement(DesktopLoggedOutItemsSlot, { - items: loggedOutItems - }); - } - }, { - key: "render", - value: function render() { - var _this$props2 = this.props, - logo = _this$props2.logo, - logoAltText = _this$props2.logoAltText, - logoDestination = _this$props2.logoDestination, - loggedIn = _this$props2.loggedIn, - intl = _this$props2.intl; - var logoProps = { - src: logo, - alt: logoAltText, - href: logoDestination - }; - var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null; - return /*#__PURE__*/React.createElement("header", { - className: "site-header-desktop" - }, /*#__PURE__*/React.createElement("a", { - className: "nav-skip sr-only sr-only-focusable", - href: "#main" - }, intl.formatMessage(messages['header.label.skip.nav'])), /*#__PURE__*/React.createElement("div", { - className: "container-fluid ".concat(logoClasses) - }, /*#__PURE__*/React.createElement("div", { - className: "nav-container position-relative d-flex align-items-center" - }, /*#__PURE__*/React.createElement(LogoSlot, logoProps), /*#__PURE__*/React.createElement("nav", { - "aria-label": intl.formatMessage(messages['header.label.main.nav']), - className: "nav main-nav" - }, this.renderMainMenu()), /*#__PURE__*/React.createElement("nav", { - "aria-label": intl.formatMessage(messages['header.label.secondary.nav']), - className: "nav secondary-menu-container align-items-center ml-auto" - }, loggedIn ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderSecondaryMenu(), this.renderUserMenu()) : this.renderLoggedOutItems())))); - } - }]); -}(React.Component); -export var desktopHeaderDataShape = { - mainMenu: desktopHeaderMainOrSecondaryMenuDataShape, - secondaryMenu: desktopHeaderMainOrSecondaryMenuDataShape, - userMenu: desktopUserMenuDataShape, - loggedOutItems: desktopLoggedOutItemsDataShape, - logo: PropTypes.string, - logoAltText: PropTypes.string, - logoDestination: PropTypes.string, - avatar: PropTypes.string, - username: PropTypes.string, - loggedIn: PropTypes.bool -}; -DesktopHeader.propTypes = { - mainMenu: desktopHeaderDataShape.mainMenu, - secondaryMenu: desktopHeaderDataShape.secondaryMenumainMenu, - userMenu: desktopHeaderDataShape.userMenumainMenu, - loggedOutItems: desktopHeaderDataShape.loggedOutItemsmainMenu, - logo: desktopHeaderDataShape.logomainMenu, - logoAltText: desktopHeaderDataShape.logoAltTextmainMenu, - logoDestination: desktopHeaderDataShape.logoDestinationmainMenu, - avatar: desktopHeaderDataShape.avatarmainMenu, - username: desktopHeaderDataShape.usernamemainMenu, - loggedIn: desktopHeaderDataShape.loggedInmainMenu, - // i18n - intl: intlShape.isRequired -}; -DesktopHeader.defaultProps = { - mainMenu: [], - secondaryMenu: [], - userMenu: [], - loggedOutItems: [], - logo: null, - logoAltText: null, - logoDestination: null, - avatar: null, - username: null, - loggedIn: false -}; -export default injectIntl(DesktopHeader); -//# sourceMappingURL=DesktopHeader.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeader.js.map b/dist/desktop-header/DesktopHeader.js.map deleted file mode 100644 index a6803f58f..000000000 --- a/dist/desktop-header/DesktopHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DesktopHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LogoSlot","DesktopLoggedOutItemsSlot","desktopLoggedOutItemsDataShape","DesktopMainMenuSlot","desktopHeaderMainOrSecondaryMenuDataShape","DesktopSecondaryMenuSlot","DesktopUserMenuSlot","desktopUserMenuDataShape","messages","CaretIcon","DesktopHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMainMenu","mainMenu","createElement","menu","renderSecondaryMenu","secondaryMenu","renderUserMenu","_this$props","userMenu","avatar","username","intl","transitionClassName","transitionTimeout","tag","formatMessage","className","size","src","alt","role","focusable","renderLoggedOutItems","loggedOutItems","items","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","logoProps","href","logoClasses","AUTHN_MINIMAL_HEADER","concat","Fragment","Component","desktopHeaderDataShape","string","bool","propTypes","secondaryMenumainMenu","userMenumainMenu","loggedOutItemsmainMenu","logomainMenu","logoAltTextmainMenu","logoDestinationmainMenu","avatarmainMenu","usernamemainMenu","loggedInmainMenu","isRequired","defaultProps"],"sources":["../../src/desktop-header/DesktopHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport Avatar from '../Avatar';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport DesktopLoggedOutItemsSlot from '../plugin-slots/DesktopLoggedOutItemsSlot';\nimport { desktopLoggedOutItemsDataShape } from './DesktopLoggedOutItems';\nimport DesktopMainMenuSlot from '../plugin-slots/DesktopMainMenuSlot';\nimport { desktopHeaderMainOrSecondaryMenuDataShape } from './DesktopHeaderMainOrSecondaryMenu';\nimport DesktopSecondaryMenuSlot from '../plugin-slots/DesktopSecondaryMenuSlot';\nimport DesktopUserMenuSlot from '../plugin-slots/DesktopUserMenuSlot';\nimport { desktopUserMenuDataShape } from './DesktopHeaderUserMenu';\n\n// i18n\nimport messages from '../Header.messages';\n\n// Assets\nimport { CaretIcon } from '../Icons';\n\nclass DesktopHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return ;\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return ;\n }\n\n renderUserMenu() {\n const {\n userMenu,\n avatar,\n username,\n intl,\n } = this.props;\n\n return (\n \n \n \n {username} \n \n \n \n \n \n );\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n return ;\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n intl,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;\n\n return (\n
    \n {intl.formatMessage(messages['header.label.skip.nav'])}\n
    \n
    \n \n \n {this.renderMainMenu()}\n \n \n {loggedIn\n ? (\n <>\n {this.renderSecondaryMenu()}\n {this.renderUserMenu()}\n \n ) : this.renderLoggedOutItems()}\n \n
    \n
    \n
    \n );\n }\n}\n\nexport const desktopHeaderDataShape = {\n mainMenu: desktopHeaderMainOrSecondaryMenuDataShape,\n secondaryMenu: desktopHeaderMainOrSecondaryMenuDataShape,\n userMenu: desktopUserMenuDataShape,\n loggedOutItems: desktopLoggedOutItemsDataShape,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n};\n\nDesktopHeader.propTypes = {\n mainMenu: desktopHeaderDataShape.mainMenu,\n secondaryMenu: desktopHeaderDataShape.secondaryMenumainMenu,\n userMenu: desktopHeaderDataShape.userMenumainMenu,\n loggedOutItems: desktopHeaderDataShape.loggedOutItemsmainMenu,\n logo: desktopHeaderDataShape.logomainMenu,\n logoAltText: desktopHeaderDataShape.logoAltTextmainMenu,\n logoDestination: desktopHeaderDataShape.logoDestinationmainMenu,\n avatar: desktopHeaderDataShape.avatarmainMenu,\n username: desktopHeaderDataShape.usernamemainMenu,\n loggedIn: desktopHeaderDataShape.loggedInmainMenu,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nDesktopHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n};\n\nexport default injectIntl(DesktopHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js b/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js deleted file mode 100644 index 8fe7415c6..000000000 --- a/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Menu, MenuTrigger, MenuContent } from '../Menu'; -import { CaretIcon } from '../Icons'; -var DesktopHeaderMainOrSecondaryMenu = function DesktopHeaderMainOrSecondaryMenu(_ref) { - var menu = _ref.menu; - // Nodes are accepted as a prop - if (!Array.isArray(menu)) { - return menu; - } - return menu.map(function (menuItem) { - var type = menuItem.type, - href = menuItem.href, - content = menuItem.content, - submenuContent = menuItem.submenuContent, - disabled = menuItem.disabled, - isActive = menuItem.isActive, - onClick = menuItem.onClick; - if (type === 'item') { - return /*#__PURE__*/React.createElement("a", { - key: "".concat(type, "-").concat(content), - className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), - href: href, - onClick: onClick || null - }, content); - } - return /*#__PURE__*/React.createElement(Menu, { - key: "".concat(type, "-").concat(content), - tag: "div", - className: "nav-item", - respondToPointerEvents: true - }, /*#__PURE__*/React.createElement(MenuTrigger, { - onClick: onClick || null, - tag: "a", - className: "nav-link d-inline-flex align-items-center", - href: href - }, content, " ", /*#__PURE__*/React.createElement(CaretIcon, { - role: "img", - "aria-hidden": true, - focusable: "false" - })), /*#__PURE__*/React.createElement(MenuContent, { - className: "pin-left pin-right shadow py-2" - }, submenuContent)); - }); -}; -export var desktopHeaderMainOrSecondaryMenuDataShape = PropTypes.oneOfType([PropTypes.node, PropTypes.array]); -DesktopHeaderMainOrSecondaryMenu.propTypes = { - menu: desktopHeaderMainOrSecondaryMenuDataShape -}; -export default DesktopHeaderMainOrSecondaryMenu; -//# sourceMappingURL=DesktopHeaderMainOrSecondaryMenu.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map b/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map deleted file mode 100644 index 025541fe3..000000000 --- a/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DesktopHeaderMainOrSecondaryMenu.js","names":["React","PropTypes","Menu","MenuTrigger","MenuContent","CaretIcon","DesktopHeaderMainOrSecondaryMenu","_ref","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","key","concat","className","tag","respondToPointerEvents","role","focusable","desktopHeaderMainOrSecondaryMenuDataShape","oneOfType","node","array","propTypes"],"sources":["../../src/desktop-header/DesktopHeaderMainOrSecondaryMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport { CaretIcon } from '../Icons';\n\nconst DesktopHeaderMainOrSecondaryMenu = ({ menu }) => {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content} \n \n \n {submenuContent}\n \n \n );\n });\n};\n\nexport const desktopHeaderMainOrSecondaryMenuDataShape = PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n]);\n\nDesktopHeaderMainOrSecondaryMenu.propTypes = {\n menu: desktopHeaderMainOrSecondaryMenuDataShape,\n};\n\nexport default DesktopHeaderMainOrSecondaryMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,SAAS;AACxD,SAASC,SAAS,QAAQ,UAAU;AAEpC,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAC9C;EACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,OAAOA,IAAI;EACb;EAEA,OAAOA,IAAI,CAACG,GAAG,CAAC,UAACC,QAAQ,EAAK;IAC5B,IACEC,IAAI,GAOFD,QAAQ,CAPVC,IAAI;MACJC,IAAI,GAMFF,QAAQ,CANVE,IAAI;MACJC,OAAO,GAKLH,QAAQ,CALVG,OAAO;MACPC,cAAc,GAIZJ,QAAQ,CAJVI,cAAc;MACdC,QAAQ,GAGNL,QAAQ,CAHVK,QAAQ;MACRC,QAAQ,GAENN,QAAQ,CAFVM,QAAQ;MACRC,OAAO,GACLP,QAAQ,CADVO,OAAO;IAGT,IAAIN,IAAI,KAAK,MAAM,EAAE;MACnB,oBACEb,KAAA,CAAAoB,aAAA;QACEC,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;QAC1BQ,SAAS,aAAAD,MAAA,CAAaL,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAAK,MAAA,CAAGJ,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAG;QAChFJ,IAAI,EAAEA,IAAK;QACXK,OAAO,EAAEA,OAAO,IAAI;MAAK,GAExBJ,OACA,CAAC;IAER;IAEA,oBACEf,KAAA,CAAAoB,aAAA,CAAClB,IAAI;MAACmB,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;MAACS,GAAG,EAAC,KAAK;MAACD,SAAS,EAAC,UAAU;MAACE,sBAAsB;IAAA,gBACpFzB,KAAA,CAAAoB,aAAA,CAACjB,WAAW;MAACgB,OAAO,EAAEA,OAAO,IAAI,IAAK;MAACK,GAAG,EAAC,GAAG;MAACD,SAAS,EAAC,2CAA2C;MAACT,IAAI,EAAEA;IAAK,GAC7GC,OAAO,EAAC,GAAC,eAAAf,KAAA,CAAAoB,aAAA,CAACf,SAAS;MAACqB,IAAI,EAAC,KAAK;MAAC,mBAAW;MAACC,SAAS,EAAC;IAAO,CAAE,CACpD,CAAC,eACd3B,KAAA,CAAAoB,aAAA,CAAChB,WAAW;MAACmB,SAAS,EAAC;IAAgC,GACpDP,cACU,CACT,CAAC;EAEX,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,IAAMY,yCAAyC,GAAG3B,SAAS,CAAC4B,SAAS,CAAC,CAC3E5B,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,KAAK,CAChB,CAAC;AAEFzB,gCAAgC,CAAC0B,SAAS,GAAG;EAC3CxB,IAAI,EAAEoB;AACR,CAAC;AAED,eAAetB,gCAAgC","ignoreList":[]} \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderUserMenu.js b/dist/desktop-header/DesktopHeaderUserMenu.js deleted file mode 100644 index 704200bb2..000000000 --- a/dist/desktop-header/DesktopHeaderUserMenu.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -var DesktopHeaderUserMenu = function DesktopHeaderUserMenu(_ref) { - var menu = _ref.menu; - return menu.map(function (group, index) { - return ( - /*#__PURE__*/ - // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key - React.createElement(React.Fragment, { - key: index - }, group.heading && /*#__PURE__*/React.createElement("div", { - className: "dropdown-header", - role: "heading", - "aria-level": "1" - }, group.heading), group.items.map(function (_ref2) { - var type = _ref2.type, - content = _ref2.content, - href = _ref2.href, - disabled = _ref2.disabled, - isActive = _ref2.isActive, - onClick = _ref2.onClick; - return /*#__PURE__*/React.createElement("a", { - className: "dropdown-".concat(type).concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), - key: "".concat(type, "-").concat(content), - href: href, - onClick: onClick || null - }, content); - }), index < menu.length - 1 && /*#__PURE__*/React.createElement("div", { - className: "dropdown-divider", - role: "separator" - })) - ); - }); -}; -export var desktopUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({ - heading: PropTypes.string, - items: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string, - isActive: PropTypes.bool, - onClick: PropTypes.func - })) -})); -DesktopHeaderUserMenu.propTypes = { - menu: desktopUserMenuDataShape -}; -export default DesktopHeaderUserMenu; -//# sourceMappingURL=DesktopHeaderUserMenu.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopHeaderUserMenu.js.map b/dist/desktop-header/DesktopHeaderUserMenu.js.map deleted file mode 100644 index 7c9c6ae11..000000000 --- a/dist/desktop-header/DesktopHeaderUserMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DesktopHeaderUserMenu.js","names":["React","PropTypes","DesktopHeaderUserMenu","_ref","menu","map","group","index","createElement","Fragment","key","heading","className","role","items","_ref2","type","content","href","disabled","isActive","onClick","concat","length","desktopUserMenuDataShape","arrayOf","shape","string","oneOf","bool","func","propTypes"],"sources":["../../src/desktop-header/DesktopHeaderUserMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DesktopHeaderUserMenu = ({ menu }) => menu.map((group, index) => (\n // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key\n \n {group.heading &&
    {group.heading}
    }\n {group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n \n {content}\n \n ))}\n {index < menu.length - 1 &&
    }\n \n));\n\nexport const desktopUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n}));\n\nDesktopHeaderUserMenu.propTypes = {\n menu: desktopUserMenuDataShape,\n};\n\nexport default DesktopHeaderUserMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,OAAOA,IAAI,CAACC,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK;IAAA;MAAA;MAChE;MACAP,KAAA,CAAAQ,aAAA,CAACR,KAAK,CAACS,QAAQ;QAACC,GAAG,EAAEH;MAAM,GACxBD,KAAK,CAACK,OAAO,iBAAIX,KAAA,CAAAQ,aAAA;QAAKI,SAAS,EAAC,iBAAiB;QAACC,IAAI,EAAC,SAAS;QAAC,cAAW;MAAG,GAAEP,KAAK,CAACK,OAAa,CAAC,EACrGL,KAAK,CAACQ,KAAK,CAACT,GAAG,CAAC,UAAAU,KAAA;QAAA,IACfC,IAAI,GAAAD,KAAA,CAAJC,IAAI;UAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;UAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;UAAEC,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;UAAEC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;UAAEC,OAAO,GAAAN,KAAA,CAAPM,OAAO;QAAA,oBAEhDrB,KAAA,CAAAQ,aAAA;UACEI,SAAS,cAAAU,MAAA,CAAcN,IAAI,EAAAM,MAAA,CAAGF,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAAE,MAAA,CAAGH,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAG;UACxFT,GAAG,KAAAY,MAAA,CAAKN,IAAI,OAAAM,MAAA,CAAIL,OAAO,CAAG;UAC1BC,IAAI,EAAEA,IAAK;UACXG,OAAO,EAAEA,OAAO,IAAI;QAAK,GAExBJ,OACA,CAAC;MAAA,CACL,CAAC,EACDV,KAAK,GAAGH,IAAI,CAACmB,MAAM,GAAG,CAAC,iBAAIvB,KAAA,CAAAQ,aAAA;QAAKI,SAAS,EAAC,kBAAkB;QAACC,IAAI,EAAC;MAAW,CAAE,CAClE;IAAC;EAAA,CAClB,CAAC;AAAA;AAEF,OAAO,IAAMW,wBAAwB,GAAGvB,SAAS,CAACwB,OAAO,CAACxB,SAAS,CAACyB,KAAK,CAAC;EACxEf,OAAO,EAAEV,SAAS,CAAC0B,MAAM;EACzBb,KAAK,EAAEb,SAAS,CAACwB,OAAO,CAACxB,SAAS,CAACyB,KAAK,CAAC;IACvCV,IAAI,EAAEf,SAAS,CAAC2B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvCV,IAAI,EAAEjB,SAAS,CAAC0B,MAAM;IACtBV,OAAO,EAAEhB,SAAS,CAAC0B,MAAM;IACzBP,QAAQ,EAAEnB,SAAS,CAAC4B,IAAI;IACxBR,OAAO,EAAEpB,SAAS,CAAC6B;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH5B,qBAAqB,CAAC6B,SAAS,GAAG;EAChC3B,IAAI,EAAEoB;AACR,CAAC;AAED,eAAetB,qBAAqB","ignoreList":[]} \ No newline at end of file diff --git a/dist/desktop-header/DesktopLoggedOutItems.js b/dist/desktop-header/DesktopLoggedOutItems.js deleted file mode 100644 index f6d249836..000000000 --- a/dist/desktop-header/DesktopLoggedOutItems.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -var DesktopLoggedOutItems = function DesktopLoggedOutItems(_ref) { - var items = _ref.items; - return items.map(function (item, i, arr) { - return /*#__PURE__*/React.createElement("a", { - key: "".concat(item.type, "-").concat(item.content), - className: i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary', - href: item.href - }, item.content); - }); -}; -export var desktopLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string -})); -DesktopLoggedOutItems.propTypes = { - items: desktopLoggedOutItemsDataShape -}; -export default DesktopLoggedOutItems; -//# sourceMappingURL=DesktopLoggedOutItems.js.map \ No newline at end of file diff --git a/dist/desktop-header/DesktopLoggedOutItems.js.map b/dist/desktop-header/DesktopLoggedOutItems.js.map deleted file mode 100644 index 366bfe1cd..000000000 --- a/dist/desktop-header/DesktopLoggedOutItems.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DesktopLoggedOutItems.js","names":["React","PropTypes","DesktopLoggedOutItems","_ref","items","map","item","i","arr","createElement","key","concat","type","content","className","length","href","desktopLoggedOutItemsDataShape","arrayOf","shape","oneOf","string","propTypes"],"sources":["../../src/desktop-header/DesktopLoggedOutItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DesktopLoggedOutItems = ({ items }) => items.map((item, i, arr) => (\n \n {item.content}\n \n));\n\nexport const desktopLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n}));\n\nDesktopLoggedOutItems.propTypes = {\n items: desktopLoggedOutItemsDataShape,\n};\n\nexport default DesktopLoggedOutItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACC,IAAI,EAAEC,CAAC,EAAEC,GAAG;IAAA,oBAClER,KAAA,CAAAS,aAAA;MACEC,GAAG,KAAAC,MAAA,CAAKL,IAAI,CAACM,IAAI,OAAAD,MAAA,CAAIL,IAAI,CAACO,OAAO,CAAG;MACpCC,SAAS,EAAEP,CAAC,GAAGC,GAAG,CAACO,MAAM,GAAG,CAAC,GAAG,mBAAmB,GAAG,8BAA+B;MACrFC,IAAI,EAAEV,IAAI,CAACU;IAAK,GAEfV,IAAI,CAACO,OACL,CAAC;EAAA,CACL,CAAC;AAAA;AAEF,OAAO,IAAMI,8BAA8B,GAAGhB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,KAAK,CAAC;EAC9EP,IAAI,EAAEX,SAAS,CAACmB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EACvCJ,IAAI,EAAEf,SAAS,CAACoB,MAAM;EACtBR,OAAO,EAAEZ,SAAS,CAACoB;AACrB,CAAC,CAAC,CAAC;AAEHnB,qBAAqB,CAACoB,SAAS,GAAG;EAChClB,KAAK,EAAEa;AACT,CAAC;AAED,eAAef,qBAAqB","ignoreList":[]} \ No newline at end of file diff --git a/dist/generic/messages.js b/dist/generic/messages.js deleted file mode 100644 index c64807d2e..000000000 --- a/dist/generic/messages.js +++ /dev/null @@ -1,15 +0,0 @@ -import { defineMessages } from '@edx/frontend-platform/i18n'; -var messages = defineMessages({ - registerSentenceCase: { - id: 'general.register.sentenceCase', - defaultMessage: 'Register', - description: 'Text in a button, prompting the user to register.' - }, - signInSentenceCase: { - id: 'general.signIn.sentenceCase', - defaultMessage: 'Sign in', - description: 'Text in a button, prompting the user to log in.' - } -}); -export default messages; -//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/dist/generic/messages.js.map b/dist/generic/messages.js.map deleted file mode 100644 index bc5b0340c..000000000 --- a/dist/generic/messages.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"messages.js","names":["defineMessages","messages","registerSentenceCase","id","defaultMessage","description","signInSentenceCase"],"sources":["../../src/generic/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n registerSentenceCase: {\n id: 'general.register.sentenceCase',\n defaultMessage: 'Register',\n description: 'Text in a button, prompting the user to register.',\n },\n signInSentenceCase: {\n id: 'general.signIn.sentenceCase',\n defaultMessage: 'Sign in',\n description: 'Text in a button, prompting the user to log in.',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9BE,oBAAoB,EAAE;IACpBC,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf,CAAC;EACDC,kBAAkB,EAAE;IAClBH,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeJ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/i18n/index.js b/dist/i18n/index.js deleted file mode 100644 index 2fe05b263..000000000 --- a/dist/i18n/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export default {}; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/i18n/index.js.map b/dist/i18n/index.js.map deleted file mode 100644 index e86f6ffbd..000000000 --- a/dist/i18n/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":[],"sources":["../../src/i18n/index.js"],"sourcesContent":["export default {};\n"],"mappings":"AAAA,eAAe,CAAC,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index d392a8f7d..000000000 --- a/dist/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import Header from './Header'; -import LearningHeader from './learning-header/LearningHeader'; -import messages from './i18n/index'; -import StudioHeader from './studio-header'; -export { LearningHeader, messages, StudioHeader }; -export default Header; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map deleted file mode 100644 index 5a16ee9f7..000000000 --- a/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["Header","LearningHeader","messages","StudioHeader"],"sources":["../src/index.jsx"],"sourcesContent":["import Header from './Header';\nimport LearningHeader from './learning-header/LearningHeader';\nimport messages from './i18n/index';\nimport StudioHeader from './studio-header';\n\nexport { LearningHeader, messages, StudioHeader };\n\nexport default Header;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,UAAU;AAC7B,OAAOC,cAAc,MAAM,kCAAkC;AAC7D,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,YAAY,MAAM,iBAAiB;AAE1C,SAASF,cAAc,EAAEC,QAAQ,EAAEC,YAAY;AAE/C,eAAeH,MAAM","ignoreList":[]} \ No newline at end of file diff --git a/dist/index.scss b/dist/index.scss deleted file mode 100644 index 799ad9bd7..000000000 --- a/dist/index.scss +++ /dev/null @@ -1,137 +0,0 @@ -$spacer: 1rem; -$blue: #007db8; -$white: #fff; -$component-active-bg: #0A3055FF !default; -$component-active-color: $white !default; -$rounded-pill: 50rem; - -@import './Menu/menu.scss'; -@import './studio-header/StudioHeader.scss'; - -.dropdown-item a { - text-decoration: none; -} - -.icon-button { - display: inline-flex; - line-height: 3rem; - background: transparent; - vertical-align: middle; - text-align: center; - border: none; - height: 3rem; - width: 3rem; - padding: .75rem; - justify-content: center; - align-items:center; - - &:hover, &:focus { - background: rgba(0, 0, 0, .1); - } -} - -.learning-header { - min-width: 0; - - .course-title-lockup { - min-width: 0; - - span { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - padding-bottom: calc(var(--pgn-spacing-spacer-base, $spacer)* 0.1); - } - } - - .user-dropdown .btn { - height: 3rem; - } -} - -.site-header-mobile, -.site-header-desktop { - position: relative; - z-index: 1000; -} - -.site-header-mobile { - height: 3rem; - - .nav-link { - text-decoration: none; - cursor: pointer; - } - - img { - height: 1.5rem; - } -} - - -.site-header-desktop { - box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1); - background: var(--pgn-color-white, $white); - - .nav-link { - text-decoration: none; - } - - .logo { - display: block; - box-sizing: content-box; - position: relative; - top: -.05em; - height: 1.75rem; - padding: var(--pgn-spacing-spacer-base, $spacer) 0; - margin-right: var(--pgn-spacing-spacer-base, $spacer); - - img { - display: block; - height: 100%; - } - } - .secondary-menu-container { - .nav-link:hover, - .nav-link:focus, - .nav-link.active, - .expanded .nav-link { - background: var(--pgn-color-bg-active, $component-active-bg); - color: var(--pgn-color-active, $component-active-color); - } - } - .main-nav { - .nav-link { - padding: 1.125rem var(--pgn-spacing-spacer-base, $spacer); - text-decoration: none; - font-weight: 500; - letter-spacing: .01em; - } - - .nav-link:hover, - .nav-link:focus, - .nav-link.active, - .expanded .nav-link { - background: var(--pgn-color-bg-active, $component-active-bg); - color: var(--pgn-color-active, $component-active-color); - } - - .menu { - position: static; - - .menu-content { - border-top: solid 2px var(--pgn-color-bg-active); - left: 0; - right: 0; - box-shadow: var(--pgn-elevation-box-shadow-down-1, 0 1px 2px rgba(0,0,0,.25)); - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - padding: var(--pgn-spacing-spacer-base, $spacer); - } - } - } - - .search-input { - border-radius: var(--pgn-size-rounded-pill, $rounded-pill); - } -} diff --git a/dist/learning-header/AnonymousUserMenu.js b/dist/learning-header/AnonymousUserMenu.js deleted file mode 100644 index 62d690e0f..000000000 --- a/dist/learning-header/AnonymousUserMenu.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -import { getConfig } from '@edx/frontend-platform'; -import { getLoginRedirectUrl } from '@edx/frontend-platform/auth'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot'; -import genericMessages from '../generic/messages'; -var AnonymousUserMenu = function AnonymousUserMenu(_ref) { - var intl = _ref.intl; - var buttonsInfo = [{ - message: intl.formatMessage(genericMessages.registerSentenceCase), - href: "".concat(getConfig().LMS_BASE_URL, "/register?next=").concat(encodeURIComponent(global.location.href)) - }, { - message: intl.formatMessage(genericMessages.signInSentenceCase), - href: getLoginRedirectUrl(global.location.href), - variant: 'primary' - }]; - return /*#__PURE__*/React.createElement(LearningLoggedOutItemsSlot, { - buttonsInfo: buttonsInfo - }); -}; -AnonymousUserMenu.propTypes = { - intl: intlShape.isRequired -}; -export default injectIntl(AnonymousUserMenu); -//# sourceMappingURL=AnonymousUserMenu.js.map \ No newline at end of file diff --git a/dist/learning-header/AnonymousUserMenu.js.map b/dist/learning-header/AnonymousUserMenu.js.map deleted file mode 100644 index 490272c3f..000000000 --- a/dist/learning-header/AnonymousUserMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","LearningLoggedOutItemsSlot","genericMessages","AnonymousUserMenu","_ref","intl","buttonsInfo","message","formatMessage","registerSentenceCase","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","signInSentenceCase","variant","createElement","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => {\n const buttonsInfo = [\n {\n message: intl.formatMessage(genericMessages.registerSentenceCase),\n href: `${getConfig().LMS_BASE_URL}/register?next=${encodeURIComponent(global.location.href)}`,\n },\n {\n message: intl.formatMessage(genericMessages.signInSentenceCase),\n href: getLoginRedirectUrl(global.location.href),\n variant: 'primary',\n },\n ];\n\n return ;\n};\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,OAAOC,0BAA0B,MAAM,4CAA4C;AAEnF,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAC/B,IAAMC,WAAW,GAAG,CAClB;IACEC,OAAO,EAAEF,IAAI,CAACG,aAAa,CAACN,eAAe,CAACO,oBAAoB,CAAC;IACjEC,IAAI,KAAAC,MAAA,CAAKd,SAAS,CAAC,CAAC,CAACe,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAC7F,CAAC,EACD;IACEH,OAAO,EAAEF,IAAI,CAACG,aAAa,CAACN,eAAe,CAACc,kBAAkB,CAAC;IAC/DN,IAAI,EAAEZ,mBAAmB,CAACgB,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;IAC/CO,OAAO,EAAE;EACX,CAAC,CACF;EAED,oBAAOrB,KAAA,CAAAsB,aAAA,CAACjB,0BAA0B;IAACK,WAAW,EAAEA;EAAY,CAAE,CAAC;AACjE,CAAC;AAEDH,iBAAiB,CAACgB,SAAS,GAAG;EAC5Bd,IAAI,EAAEL,SAAS,CAACoB;AAClB,CAAC;AAED,eAAerB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/AuthenticatedUserDropdown.js b/dist/learning-header/AuthenticatedUserDropdown.js deleted file mode 100644 index dff503a9a..000000000 --- a/dist/learning-header/AuthenticatedUserDropdown.js +++ /dev/null @@ -1,57 +0,0 @@ -function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } -function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } -import React from 'react'; -import PropTypes from 'prop-types'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faUserCircle } from '@fortawesome/free-solid-svg-icons'; -import { getConfig } from '@edx/frontend-platform'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { Dropdown } from '@openedx/paragon'; -import LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot'; -import messages from './messages'; -var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) { - var intl = _ref.intl, - username = _ref.username; - var dropdownItems = [{ - message: intl.formatMessage(messages.dashboard), - href: "".concat(getConfig().LMS_BASE_URL, "/dashboard") - }, { - message: intl.formatMessage(messages.profile), - href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username) - }, { - message: intl.formatMessage(messages.account), - href: getConfig().ACCOUNT_SETTINGS_URL - }].concat(_toConsumableArray(getConfig().ORDER_HISTORY_URL ? [{ - message: intl.formatMessage(messages.orderHistory), - href: getConfig().ORDER_HISTORY_URL - }] : []), [{ - message: intl.formatMessage(messages.signOut), - href: getConfig().LOGOUT_URL - }]); - return /*#__PURE__*/React.createElement(Dropdown, { - className: "user-dropdown ml-3" - }, /*#__PURE__*/React.createElement(Dropdown.Toggle, { - variant: "outline-primary" - }, /*#__PURE__*/React.createElement(FontAwesomeIcon, { - icon: faUserCircle, - className: "d-md-none", - size: "lg" - }), /*#__PURE__*/React.createElement("span", { - "data-hj-suppress": true, - className: "d-none d-md-inline" - }, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, { - className: "dropdown-menu-right" - }, /*#__PURE__*/React.createElement(LearningUserMenuSlot, { - items: dropdownItems - }))); -}; -AuthenticatedUserDropdown.propTypes = { - intl: intlShape.isRequired, - username: PropTypes.string.isRequired -}; -export default injectIntl(AuthenticatedUserDropdown); -//# sourceMappingURL=AuthenticatedUserDropdown.js.map \ No newline at end of file diff --git a/dist/learning-header/AuthenticatedUserDropdown.js.map b/dist/learning-header/AuthenticatedUserDropdown.js.map deleted file mode 100644 index c94cc404e..000000000 --- a/dist/learning-header/AuthenticatedUserDropdown.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","LearningUserMenuSlot","messages","AuthenticatedUserDropdown","_ref","intl","username","dropdownItems","message","formatMessage","dashboard","href","concat","LMS_BASE_URL","profile","ACCOUNT_PROFILE_URL","account","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","orderHistory","signOut","LOGOUT_URL","createElement","className","Toggle","variant","icon","size","Menu","items","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dropdownItems = [\n {\n message: intl.formatMessage(messages.dashboard),\n href: `${getConfig().LMS_BASE_URL}/dashboard`,\n },\n {\n message: intl.formatMessage(messages.profile),\n href: `${getConfig().ACCOUNT_PROFILE_URL}/u/${username}`,\n },\n {\n message: intl.formatMessage(messages.account),\n href: getConfig().ACCOUNT_SETTINGS_URL,\n },\n ...(getConfig().ORDER_HISTORY_URL ? [{\n message: intl.formatMessage(messages.orderHistory),\n href: getConfig().ORDER_HISTORY_URL,\n }] : []),\n {\n message: intl.formatMessage(messages.signOut),\n href: getConfig().LOGOUT_URL,\n },\n ];\n\n return (\n \n \n \n \n {username}\n \n \n \n \n \n \n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,YAAY,QAAQ,mCAAmC;AAChE,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,OAAOC,oBAAoB,MAAM,sCAAsC;AAEvE,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACjD,IAAMC,aAAa,IACjB;IACEC,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACQ,SAAS,CAAC;IAC/CC,IAAI,KAAAC,MAAA,CAAKf,SAAS,CAAC,CAAC,CAACgB,YAAY;EACnC,CAAC,EACD;IACEL,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACY,OAAO,CAAC;IAC7CH,IAAI,KAAAC,MAAA,CAAKf,SAAS,CAAC,CAAC,CAACkB,mBAAmB,SAAAH,MAAA,CAAMN,QAAQ;EACxD,CAAC,EACD;IACEE,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACc,OAAO,CAAC;IAC7CL,IAAI,EAAEd,SAAS,CAAC,CAAC,CAACoB;EACpB,CAAC,EAAAL,MAAA,CAAAM,kBAAA,CACGrB,SAAS,CAAC,CAAC,CAACsB,iBAAiB,GAAG,CAAC;IACnCX,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACkB,YAAY,CAAC;IAClDT,IAAI,EAAEd,SAAS,CAAC,CAAC,CAACsB;EACpB,CAAC,CAAC,GAAG,EAAE,IACP;IACEX,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACmB,OAAO,CAAC;IAC7CV,IAAI,EAAEd,SAAS,CAAC,CAAC,CAACyB;EACpB,CAAC,EACF;EAED,oBACE7B,KAAA,CAAA8B,aAAA,CAACvB,QAAQ;IAACwB,SAAS,EAAC;EAAoB,gBACtC/B,KAAA,CAAA8B,aAAA,CAACvB,QAAQ,CAACyB,MAAM;IAACC,OAAO,EAAC;EAAiB,gBACxCjC,KAAA,CAAA8B,aAAA,CAAC5B,eAAe;IAACgC,IAAI,EAAE/B,YAAa;IAAC4B,SAAS,EAAC,WAAW;IAACI,IAAI,EAAC;EAAI,CAAE,CAAC,eACvEnC,KAAA,CAAA8B,aAAA;IAAM,wBAAgB;IAACC,SAAS,EAAC;EAAoB,GAClDlB,QACG,CACS,CAAC,eAClBb,KAAA,CAAA8B,aAAA,CAACvB,QAAQ,CAAC6B,IAAI;IAACL,SAAS,EAAC;EAAqB,gBAC5C/B,KAAA,CAAA8B,aAAA,CAACtB,oBAAoB;IAAC6B,KAAK,EAAEvB;EAAc,CAAE,CAChC,CACP,CAAC;AAEf,CAAC;AAEDJ,yBAAyB,CAAC4B,SAAS,GAAG;EACpC1B,IAAI,EAAEN,SAAS,CAACiC,UAAU;EAC1B1B,QAAQ,EAAEZ,SAAS,CAACuC,MAAM,CAACD;AAC7B,CAAC;AAED,eAAelC,UAAU,CAACK,yBAAyB,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeader.js b/dist/learning-header/LearningHeader.js deleted file mode 100644 index 489266b3b..000000000 --- a/dist/learning-header/LearningHeader.js +++ /dev/null @@ -1,60 +0,0 @@ -import React, { useContext } from 'react'; -import PropTypes from 'prop-types'; -import { getConfig } from '@edx/frontend-platform'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { AppContext } from '@edx/frontend-platform/react'; -import AnonymousUserMenu from './AnonymousUserMenu'; -import AuthenticatedUserDropdown from './AuthenticatedUserDropdown'; -import LogoSlot from '../plugin-slots/LogoSlot'; -import CourseInfoSlot from '../plugin-slots/CourseInfoSlot'; -import { courseInfoDataShape } from './LearningHeaderCourseInfo'; -import messages from './messages'; -import LearningHelpSlot from '../plugin-slots/LearningHelpSlot'; -var LearningHeader = function LearningHeader(_ref) { - var courseOrg = _ref.courseOrg, - courseNumber = _ref.courseNumber, - courseTitle = _ref.courseTitle, - intl = _ref.intl, - showUserDropdown = _ref.showUserDropdown; - var _useContext = useContext(AppContext), - authenticatedUser = _useContext.authenticatedUser; - var headerLogo = /*#__PURE__*/React.createElement(LogoSlot, { - href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"), - src: getConfig().LOGO_URL, - alt: getConfig().SITE_NAME - }); - return /*#__PURE__*/React.createElement("header", { - className: "learning-header" - }, /*#__PURE__*/React.createElement("a", { - className: "sr-only sr-only-focusable", - href: "#main-content" - }, intl.formatMessage(messages.skipNavLink)), /*#__PURE__*/React.createElement("div", { - className: "container-xl py-2 d-flex align-items-center" - }, headerLogo, /*#__PURE__*/React.createElement("div", { - className: "flex-grow-1 course-title-lockup d-flex", - style: { - lineHeight: 1 - } - }, /*#__PURE__*/React.createElement(CourseInfoSlot, { - courseOrg: courseOrg, - courseNumber: courseNumber, - courseTitle: courseTitle - })), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LearningHelpSlot, null), /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, { - username: authenticatedUser.username - })), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null))); -}; -LearningHeader.propTypes = { - courseOrg: courseInfoDataShape.courseOrg, - courseNumber: courseInfoDataShape.courseNumber, - courseTitle: courseInfoDataShape.courseTitle, - intl: intlShape.isRequired, - showUserDropdown: PropTypes.bool -}; -LearningHeader.defaultProps = { - courseOrg: null, - courseNumber: null, - courseTitle: null, - showUserDropdown: true -}; -export default injectIntl(LearningHeader); -//# sourceMappingURL=LearningHeader.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeader.js.map b/dist/learning-header/LearningHeader.js.map deleted file mode 100644 index 1c5a685aa..000000000 --- a/dist/learning-header/LearningHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LearningHeader.js","names":["React","useContext","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","LogoSlot","CourseInfoSlot","courseInfoDataShape","messages","LearningHelpSlot","LearningHeader","_ref","courseOrg","courseNumber","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","headerLogo","createElement","href","concat","LMS_BASE_URL","src","LOGO_URL","alt","SITE_NAME","className","formatMessage","skipNavLink","style","lineHeight","Fragment","username","propTypes","isRequired","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport CourseInfoSlot from '../plugin-slots/CourseInfoSlot';\nimport { courseInfoDataShape } from './LearningHeaderCourseInfo';\nimport messages from './messages';\nimport LearningHelpSlot from '../plugin-slots/LearningHelpSlot';\n\nconst LearningHeader = ({\n courseOrg, courseNumber, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n\n const headerLogo = (\n \n );\n\n return (\n
    \n {intl.formatMessage(messages.skipNavLink)}\n
    \n {headerLogo}\n
    \n \n
    \n {showUserDropdown && authenticatedUser && (\n <>\n \n \n \n )}\n {showUserDropdown && !authenticatedUser && (\n \n )}\n
    \n
    \n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: courseInfoDataShape.courseOrg,\n courseNumber: courseInfoDataShape.courseNumber,\n courseTitle: courseInfoDataShape.courseTitle,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseNumber: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderCourseInfo.js b/dist/learning-header/LearningHeaderCourseInfo.js deleted file mode 100644 index 23e75724d..000000000 --- a/dist/learning-header/LearningHeaderCourseInfo.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -var LearningHeaderCourseInfo = function LearningHeaderCourseInfo(_ref) { - var courseOrg = _ref.courseOrg, - courseNumber = _ref.courseNumber, - courseTitle = _ref.courseTitle; - return /*#__PURE__*/React.createElement("div", { - style: { - minWidth: 0 - } - }, /*#__PURE__*/React.createElement("span", { - className: "d-block small m-0" - }, courseOrg, " ", courseNumber), /*#__PURE__*/React.createElement("span", { - className: "d-block m-0 font-weight-bold course-title" - }, courseTitle)); -}; -export var courseInfoDataShape = { - courseOrg: PropTypes.string, - courseNumber: PropTypes.string, - courseTitle: PropTypes.string -}; -LearningHeaderCourseInfo.propTypes = courseInfoDataShape; -export default LearningHeaderCourseInfo; -//# sourceMappingURL=LearningHeaderCourseInfo.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderCourseInfo.js.map b/dist/learning-header/LearningHeaderCourseInfo.js.map deleted file mode 100644 index d63db47ca..000000000 --- a/dist/learning-header/LearningHeaderCourseInfo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LearningHeaderCourseInfo.js","names":["React","PropTypes","LearningHeaderCourseInfo","_ref","courseOrg","courseNumber","courseTitle","createElement","style","minWidth","className","courseInfoDataShape","string","propTypes"],"sources":["../../src/learning-header/LearningHeaderCourseInfo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst LearningHeaderCourseInfo = ({\n courseOrg,\n courseNumber,\n courseTitle,\n}) => (\n
    \n {courseOrg} {courseNumber}\n {courseTitle}\n
    \n);\n\nexport const courseInfoDataShape = {\n courseOrg: PropTypes.string,\n courseNumber: PropTypes.string,\n courseTitle: PropTypes.string,\n};\n\nLearningHeaderCourseInfo.propTypes = courseInfoDataShape;\n\nexport default LearningHeaderCourseInfo;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA;IAAKC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAE;EAAE,gBAC1BT,KAAA,CAAAO,aAAA;IAAMG,SAAS,EAAC;EAAmB,GAAEN,SAAS,EAAC,GAAC,EAACC,YAAmB,CAAC,eACrEL,KAAA,CAAAO,aAAA;IAAMG,SAAS,EAAC;EAA2C,GAAEJ,WAAkB,CAC5E,CAAC;AAAA,CACP;AAED,OAAO,IAAMK,mBAAmB,GAAG;EACjCP,SAAS,EAAEH,SAAS,CAACW,MAAM;EAC3BP,YAAY,EAAEJ,SAAS,CAACW,MAAM;EAC9BN,WAAW,EAAEL,SAAS,CAACW;AACzB,CAAC;AAEDV,wBAAwB,CAACW,SAAS,GAAGF,mBAAmB;AAExD,eAAeT,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderHelpLink.js b/dist/learning-header/LearningHeaderHelpLink.js deleted file mode 100644 index 3f1dc2c6f..000000000 --- a/dist/learning-header/LearningHeaderHelpLink.js +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; -import { getConfig } from '@edx/frontend-platform'; -import { useIntl } from '@edx/frontend-platform/i18n'; -import messages from './messages'; -var LearningHeaderHelpLink = function LearningHeaderHelpLink() { - var intl = useIntl(); - return /*#__PURE__*/React.createElement("a", { - className: "text-gray-700", - href: "".concat(getConfig().SUPPORT_URL) - }, intl.formatMessage(messages.help)); -}; -export default LearningHeaderHelpLink; -//# sourceMappingURL=LearningHeaderHelpLink.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderHelpLink.js.map b/dist/learning-header/LearningHeaderHelpLink.js.map deleted file mode 100644 index e2cbba031..000000000 --- a/dist/learning-header/LearningHeaderHelpLink.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LearningHeaderHelpLink.js","names":["React","getConfig","useIntl","messages","LearningHeaderHelpLink","intl","createElement","className","href","concat","SUPPORT_URL","formatMessage","help"],"sources":["../../src/learning-header/LearningHeaderHelpLink.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport messages from './messages';\n\nconst LearningHeaderHelpLink = () => {\n const intl = useIntl();\n return (\n {intl.formatMessage(messages.help)}\n );\n};\n\nexport default LearningHeaderHelpLink;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,OAAO,QAAQ,6BAA6B;AACrD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAS;EACnC,IAAMC,IAAI,GAAGH,OAAO,CAAC,CAAC;EACtB,oBACEF,KAAA,CAAAM,aAAA;IAAGC,SAAS,EAAC,eAAe;IAACC,IAAI,KAAAC,MAAA,CAAKR,SAAS,CAAC,CAAC,CAACS,WAAW;EAAG,GAAEL,IAAI,CAACM,aAAa,CAACR,QAAQ,CAACS,IAAI,CAAK,CAAC;AAE5G,CAAC;AAED,eAAeR,sBAAsB","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderUserMenuItems.js b/dist/learning-header/LearningHeaderUserMenuItems.js deleted file mode 100644 index 130552051..000000000 --- a/dist/learning-header/LearningHeaderUserMenuItems.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Dropdown } from '@openedx/paragon'; -var LearningHeaderUserMenuItems = function LearningHeaderUserMenuItems(_ref) { - var items = _ref.items; - return items.map(function (item) { - return /*#__PURE__*/React.createElement(Dropdown.Item, { - href: item.href - }, item.message); - }); -}; -export var learningHeaderUserMenuDataShape = { - items: PropTypes.arrayOf(PropTypes.shape({ - message: PropTypes.string, - href: PropTypes.string - })) -}; -LearningHeaderUserMenuItems.propTypes = learningHeaderUserMenuDataShape; -export default LearningHeaderUserMenuItems; -//# sourceMappingURL=LearningHeaderUserMenuItems.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningHeaderUserMenuItems.js.map b/dist/learning-header/LearningHeaderUserMenuItems.js.map deleted file mode 100644 index d902bde5a..000000000 --- a/dist/learning-header/LearningHeaderUserMenuItems.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LearningHeaderUserMenuItems.js","names":["React","PropTypes","Dropdown","LearningHeaderUserMenuItems","_ref","items","map","item","createElement","Item","href","message","learningHeaderUserMenuDataShape","arrayOf","shape","string","propTypes"],"sources":["../../src/learning-header/LearningHeaderUserMenuItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Dropdown } from '@openedx/paragon';\n\nconst LearningHeaderUserMenuItems = ({ items }) => items.map((item) => (\n \n {item.message}\n \n));\n\nexport const learningHeaderUserMenuDataShape = {\n items: PropTypes.arrayOf(PropTypes.shape({\n message: PropTypes.string,\n href: PropTypes.string,\n })),\n};\n\nLearningHeaderUserMenuItems.propTypes = learningHeaderUserMenuDataShape;\n\nexport default LearningHeaderUserMenuItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACC,IAAI;IAAA,oBAChEP,KAAA,CAAAQ,aAAA,CAACN,QAAQ,CAACO,IAAI;MAACC,IAAI,EAAEH,IAAI,CAACG;IAAK,GAC5BH,IAAI,CAACI,OACO,CAAC;EAAA,CACjB,CAAC;AAAA;AAEF,OAAO,IAAMC,+BAA+B,GAAG;EAC7CP,KAAK,EAAEJ,SAAS,CAACY,OAAO,CAACZ,SAAS,CAACa,KAAK,CAAC;IACvCH,OAAO,EAAEV,SAAS,CAACc,MAAM;IACzBL,IAAI,EAAET,SAAS,CAACc;EAClB,CAAC,CAAC;AACJ,CAAC;AAEDZ,2BAA2B,CAACa,SAAS,GAAGJ,+BAA+B;AAEvE,eAAeT,2BAA2B","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/LearningLoggedOutButtons.js b/dist/learning-header/LearningLoggedOutButtons.js deleted file mode 100644 index 5d4d5f96c..000000000 --- a/dist/learning-header/LearningLoggedOutButtons.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Button } from '@openedx/paragon'; -var LearningLoggedOutButtons = function LearningLoggedOutButtons(_ref) { - var buttonsInfo = _ref.buttonsInfo; - return buttonsInfo.map(function (buttonInfo) { - var _buttonInfo$variant; - return /*#__PURE__*/React.createElement(Button, { - className: "ml-3", - variant: (_buttonInfo$variant = buttonInfo.variant) !== null && _buttonInfo$variant !== void 0 ? _buttonInfo$variant : 'outline-primary', - href: buttonInfo.href - }, buttonInfo.message); - }); -}; -export var learningHeaderLoggedOutItemsDataShape = { - buttonsInfo: PropTypes.arrayOf(PropTypes.shape({ - message: PropTypes.string, - href: PropTypes.string, - variant: PropTypes.string - })) -}; -LearningLoggedOutButtons.propTypes = learningHeaderLoggedOutItemsDataShape; -export default LearningLoggedOutButtons; -//# sourceMappingURL=LearningLoggedOutButtons.js.map \ No newline at end of file diff --git a/dist/learning-header/LearningLoggedOutButtons.js.map b/dist/learning-header/LearningLoggedOutButtons.js.map deleted file mode 100644 index 09911d3f9..000000000 --- a/dist/learning-header/LearningLoggedOutButtons.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LearningLoggedOutButtons.js","names":["React","PropTypes","Button","LearningLoggedOutButtons","_ref","buttonsInfo","map","buttonInfo","_buttonInfo$variant","createElement","className","variant","href","message","learningHeaderLoggedOutItemsDataShape","arrayOf","shape","string","propTypes"],"sources":["../../src/learning-header/LearningLoggedOutButtons.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '@openedx/paragon';\n\nconst LearningLoggedOutButtons = ({ buttonsInfo }) => buttonsInfo.map(buttonInfo => (\n \n {buttonInfo.message}\n \n));\n\nexport const learningHeaderLoggedOutItemsDataShape = {\n buttonsInfo: PropTypes.arrayOf(PropTypes.shape({\n message: PropTypes.string,\n href: PropTypes.string,\n variant: PropTypes.string,\n })),\n};\n\nLearningLoggedOutButtons.propTypes = learningHeaderLoggedOutItemsDataShape;\n\nexport default LearningLoggedOutButtons;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAAMC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EAAA,OAAOA,WAAW,CAACC,GAAG,CAAC,UAAAC,UAAU;IAAA,IAAAC,mBAAA;IAAA,oBAC9ER,KAAA,CAAAS,aAAA,CAACP,MAAM;MACLQ,SAAS,EAAC,MAAM;MAChBC,OAAO,GAAAH,mBAAA,GAAED,UAAU,CAACI,OAAO,cAAAH,mBAAA,cAAAA,mBAAA,GAAI,iBAAkB;MACjDI,IAAI,EAAEL,UAAU,CAACK;IAAK,GAErBL,UAAU,CAACM,OACN,CAAC;EAAA,CACV,CAAC;AAAA;AAEF,OAAO,IAAMC,qCAAqC,GAAG;EACnDT,WAAW,EAAEJ,SAAS,CAACc,OAAO,CAACd,SAAS,CAACe,KAAK,CAAC;IAC7CH,OAAO,EAAEZ,SAAS,CAACgB,MAAM;IACzBL,IAAI,EAAEX,SAAS,CAACgB,MAAM;IACtBN,OAAO,EAAEV,SAAS,CAACgB;EACrB,CAAC,CAAC;AACJ,CAAC;AAEDd,wBAAwB,CAACe,SAAS,GAAGJ,qCAAqC;AAE1E,eAAeX,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/learning-header/messages.js b/dist/learning-header/messages.js deleted file mode 100644 index f9b0d5e06..000000000 --- a/dist/learning-header/messages.js +++ /dev/null @@ -1,40 +0,0 @@ -import { defineMessages } from '@edx/frontend-platform/i18n'; -var messages = defineMessages({ - dashboard: { - id: 'header.menu.dashboard.label', - defaultMessage: 'Dashboard', - description: 'The text for the user menu Dashboard navigation link.' - }, - help: { - id: 'header.help.label', - defaultMessage: 'Help', - description: 'The text for the link to the Help Center' - }, - profile: { - id: 'header.menu.profile.label', - defaultMessage: 'Profile', - description: 'The text for the user menu Profile navigation link.' - }, - account: { - id: 'header.menu.account.label', - defaultMessage: 'Account', - description: 'The text for the user menu Account navigation link.' - }, - orderHistory: { - id: 'header.menu.orderHistory.label', - defaultMessage: 'Order History', - description: 'The text for the user menu Order History navigation link.' - }, - skipNavLink: { - id: 'header.navigation.skipNavLink', - defaultMessage: 'Skip to main content.', - description: 'A link used by screen readers to allow users to skip to the main content of the page.' - }, - signOut: { - id: 'header.menu.signOut.label', - defaultMessage: 'Sign Out', - description: 'The label for the user menu Sign Out action.' - } -}); -export default messages; -//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/dist/learning-header/messages.js.map b/dist/learning-header/messages.js.map deleted file mode 100644 index f10eb72a7..000000000 --- a/dist/learning-header/messages.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"messages.js","names":["defineMessages","messages","dashboard","id","defaultMessage","description","help","profile","account","orderHistory","skipNavLink","signOut"],"sources":["../../src/learning-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n dashboard: {\n id: 'header.menu.dashboard.label',\n defaultMessage: 'Dashboard',\n description: 'The text for the user menu Dashboard navigation link.',\n },\n help: {\n id: 'header.help.label',\n defaultMessage: 'Help',\n description: 'The text for the link to the Help Center',\n },\n profile: {\n id: 'header.menu.profile.label',\n defaultMessage: 'Profile',\n description: 'The text for the user menu Profile navigation link.',\n },\n account: {\n id: 'header.menu.account.label',\n defaultMessage: 'Account',\n description: 'The text for the user menu Account navigation link.',\n },\n orderHistory: {\n id: 'header.menu.orderHistory.label',\n defaultMessage: 'Order History',\n description: 'The text for the user menu Order History navigation link.',\n },\n skipNavLink: {\n id: 'header.navigation.skipNavLink',\n defaultMessage: 'Skip to main content.',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n signOut: {\n id: 'header.menu.signOut.label',\n defaultMessage: 'Sign Out',\n description: 'The label for the user menu Sign Out action.',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9BE,SAAS,EAAE;IACTC,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACDC,IAAI,EAAE;IACJH,EAAE,EAAE,mBAAmB;IACvBC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACDE,OAAO,EAAE;IACPJ,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACDG,OAAO,EAAE;IACPL,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACDI,YAAY,EAAE;IACZN,EAAE,EAAE,gCAAgC;IACpCC,cAAc,EAAE,eAAe;IAC/BC,WAAW,EAAE;EACf,CAAC;EACDK,WAAW,EAAE;IACXP,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,uBAAuB;IACvCC,WAAW,EAAE;EACf,CAAC;EACDM,OAAO,EAAE;IACPR,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeJ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileHeader.js b/dist/mobile-header/MobileHeader.js deleted file mode 100644 index 0ff5d9116..000000000 --- a/dist/mobile-header/MobileHeader.js +++ /dev/null @@ -1,192 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } -function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } -function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } -function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } -function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } -function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } -function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } -function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } -function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } -function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } -function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } -import React from 'react'; -import PropTypes from 'prop-types'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { getConfig } from '@edx/frontend-platform'; - -// Local Components -import { Menu, MenuTrigger, MenuContent } from '../Menu'; -import Avatar from '../Avatar'; -import LogoSlot from '../plugin-slots/LogoSlot'; -import MobileLoggedOutItemsSlot from '../plugin-slots/MobileLoggedOutItemsSlot'; -import { mobileHeaderLoggedOutItemsDataShape } from './MobileLoggedOutItems'; -import MobileMainMenuSlot from '../plugin-slots/MobileMainMenuSlot'; -import { mobileHeaderMainMenuDataShape } from './MobileHeaderMainMenu'; -import MobileUserMenuSlot from '../plugin-slots/MobileUserMenuSlot'; -import { mobileHeaderUserMenuDataShape } from './MobileHeaderUserMenu'; - -// i18n -import messages from '../Header.messages'; - -// Assets -import { MenuIcon } from '../Icons'; -var MobileHeader = /*#__PURE__*/function (_React$Component) { - function MobileHeader(props) { - _classCallCheck(this, MobileHeader); - // eslint-disable-line no-useless-constructor - return _callSuper(this, MobileHeader, [props]); - } - _inherits(MobileHeader, _React$Component); - return _createClass(MobileHeader, [{ - key: "renderMainMenu", - value: function renderMainMenu() { - var _this$props = this.props, - mainMenu = _this$props.mainMenu, - secondaryMenu = _this$props.secondaryMenu; - return /*#__PURE__*/React.createElement(MobileMainMenuSlot, { - menu: [].concat(_toConsumableArray(mainMenu), _toConsumableArray(secondaryMenu)) - }); - } - }, { - key: "renderUserMenuItems", - value: function renderUserMenuItems() { - var userMenu = this.props.userMenu; - return /*#__PURE__*/React.createElement(MobileUserMenuSlot, { - menu: userMenu - }); - } - }, { - key: "renderLoggedOutItems", - value: function renderLoggedOutItems() { - var loggedOutItems = this.props.loggedOutItems; - return /*#__PURE__*/React.createElement(MobileLoggedOutItemsSlot, { - items: loggedOutItems - }); - } - }, { - key: "render", - value: function render() { - var _this$props2 = this.props, - logo = _this$props2.logo, - logoAltText = _this$props2.logoAltText, - logoDestination = _this$props2.logoDestination, - loggedIn = _this$props2.loggedIn, - avatar = _this$props2.avatar, - username = _this$props2.username, - stickyOnMobile = _this$props2.stickyOnMobile, - intl = _this$props2.intl, - mainMenu = _this$props2.mainMenu, - userMenu = _this$props2.userMenu, - loggedOutItems = _this$props2.loggedOutItems; - var logoProps = { - src: logo, - alt: logoAltText, - href: logoDestination - }; - var stickyClassName = stickyOnMobile ? 'sticky-top' : ''; - var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center'; - return /*#__PURE__*/React.createElement("header", { - "aria-label": intl.formatMessage(messages['header.label.main.header']), - className: "site-header-mobile d-flex justify-content-between align-items-center shadow ".concat(stickyClassName) - }, /*#__PURE__*/React.createElement("a", { - className: "nav-skip sr-only sr-only-focusable", - href: "#main" - }, intl.formatMessage(messages['header.label.skip.nav'])), mainMenu.length > 0 ? /*#__PURE__*/React.createElement("div", { - className: "w-100 d-flex justify-content-start" - }, /*#__PURE__*/React.createElement(Menu, { - className: "position-static" - }, /*#__PURE__*/React.createElement(MenuTrigger, { - tag: "button", - className: "icon-button", - "aria-label": intl.formatMessage(messages['header.label.main.menu']), - title: intl.formatMessage(messages['header.label.main.menu']) - }, /*#__PURE__*/React.createElement(MenuIcon, { - role: "img", - "aria-hidden": true, - focusable: "false", - style: { - width: '1.5rem', - height: '1.5rem' - } - })), /*#__PURE__*/React.createElement(MenuContent, { - tag: "nav", - "aria-label": intl.formatMessage(messages['header.label.main.nav']), - className: "nav flex-column pin-left pin-right border-top shadow py-2" - }, this.renderMainMenu()))) : null, /*#__PURE__*/React.createElement("div", { - className: "w-100 d-flex ".concat(logoClasses) - }, /*#__PURE__*/React.createElement(LogoSlot, _extends({}, logoProps, { - itemType: "http://schema.org/Organization" - }))), userMenu.length > 0 || loggedOutItems.length > 0 ? /*#__PURE__*/React.createElement("div", { - className: "w-100 d-flex justify-content-end align-items-center" - }, /*#__PURE__*/React.createElement(Menu, { - tag: "nav", - "aria-label": intl.formatMessage(messages['header.label.secondary.nav']), - className: "position-static" - }, /*#__PURE__*/React.createElement(MenuTrigger, { - tag: "button", - className: "icon-button", - "aria-label": intl.formatMessage(messages['header.label.account.menu']), - title: intl.formatMessage(messages['header.label.account.menu']) - }, /*#__PURE__*/React.createElement(Avatar, { - size: "1.5rem", - src: avatar, - alt: username - })), /*#__PURE__*/React.createElement(MenuContent, { - tag: "ul", - className: "nav flex-column pin-left pin-right border-top shadow py-2" - }, loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()))) : null); - } - }]); -}(React.Component); -export var mobileHeaderDataShape = { - mainMenu: mobileHeaderMainMenuDataShape, - secondaryMenu: mobileHeaderMainMenuDataShape, - userMenu: mobileHeaderUserMenuDataShape, - loggedOutItems: mobileHeaderLoggedOutItemsDataShape, - logo: PropTypes.string, - logoAltText: PropTypes.string, - logoDestination: PropTypes.string, - avatar: PropTypes.string, - username: PropTypes.string, - loggedIn: PropTypes.bool, - stickyOnMobile: PropTypes.bool -}; -MobileHeader.propTypes = { - mainMenu: mobileHeaderDataShape.mainMenu, - secondaryMenu: mobileHeaderDataShape.secondaryMenu, - userMenu: mobileHeaderDataShape.userMenu, - loggedOutItems: mobileHeaderDataShape.loggedOutItems, - logo: mobileHeaderDataShape.logo, - logoAltText: mobileHeaderDataShape.logoAltText, - logoDestination: mobileHeaderDataShape.logoDestination, - avatar: mobileHeaderDataShape.avatar, - username: mobileHeaderDataShape.username, - loggedIn: mobileHeaderDataShape.loggedIn, - stickyOnMobile: mobileHeaderDataShape.stickyOnMobile, - // i18n - intl: intlShape.isRequired -}; -MobileHeader.defaultProps = { - mainMenu: [], - secondaryMenu: [], - userMenu: [], - loggedOutItems: [], - logo: null, - logoAltText: null, - logoDestination: null, - avatar: null, - username: null, - loggedIn: false, - stickyOnMobile: true -}; -export default injectIntl(MobileHeader); -//# sourceMappingURL=MobileHeader.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileHeader.js.map b/dist/mobile-header/MobileHeader.js.map deleted file mode 100644 index e609de6b8..000000000 --- a/dist/mobile-header/MobileHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LogoSlot","MobileLoggedOutItemsSlot","mobileHeaderLoggedOutItemsDataShape","MobileMainMenuSlot","mobileHeaderMainMenuDataShape","MobileUserMenuSlot","mobileHeaderUserMenuDataShape","messages","MenuIcon","MobileHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMainMenu","_this$props","mainMenu","secondaryMenu","createElement","menu","concat","_toConsumableArray","renderUserMenuItems","userMenu","renderLoggedOutItems","loggedOutItems","items","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","avatar","username","stickyOnMobile","intl","logoProps","src","alt","href","stickyClassName","logoClasses","AUTHN_MINIMAL_HEADER","formatMessage","className","length","tag","title","role","focusable","style","width","height","_extends","itemType","size","Component","mobileHeaderDataShape","string","bool","propTypes","isRequired","defaultProps"],"sources":["../../src/mobile-header/MobileHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport Avatar from '../Avatar';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport MobileLoggedOutItemsSlot from '../plugin-slots/MobileLoggedOutItemsSlot';\nimport { mobileHeaderLoggedOutItemsDataShape } from './MobileLoggedOutItems';\nimport MobileMainMenuSlot from '../plugin-slots/MobileMainMenuSlot';\nimport { mobileHeaderMainMenuDataShape } from './MobileHeaderMainMenu';\nimport MobileUserMenuSlot from '../plugin-slots/MobileUserMenuSlot';\nimport { mobileHeaderUserMenuDataShape } from './MobileHeaderUserMenu';\n\n// i18n\nimport messages from '../Header.messages';\n\n// Assets\nimport { MenuIcon } from '../Icons';\n\nclass MobileHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMainMenu() {\n const { mainMenu, secondaryMenu } = this.props;\n return ;\n }\n\n renderUserMenuItems() {\n const { userMenu } = this.props;\n return ;\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n return ;\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n avatar,\n username,\n stickyOnMobile,\n intl,\n mainMenu,\n userMenu,\n loggedOutItems,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const stickyClassName = stickyOnMobile ? 'sticky-top' : '';\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center';\n\n return (\n \n {intl.formatMessage(messages['header.label.skip.nav'])}\n {mainMenu.length > 0 ? (\n
    \n\n \n \n \n \n \n {this.renderMainMenu()}\n \n \n
    \n ) : null}\n
    \n \n
    \n {userMenu.length > 0 || loggedOutItems.length > 0 ? (\n
    \n \n \n \n \n \n {loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()}\n \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nexport const mobileHeaderDataShape = {\n mainMenu: mobileHeaderMainMenuDataShape,\n secondaryMenu: mobileHeaderMainMenuDataShape,\n userMenu: mobileHeaderUserMenuDataShape,\n loggedOutItems: mobileHeaderLoggedOutItemsDataShape,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n stickyOnMobile: PropTypes.bool,\n};\n\nMobileHeader.propTypes = {\n mainMenu: mobileHeaderDataShape.mainMenu,\n secondaryMenu: mobileHeaderDataShape.secondaryMenu,\n userMenu: mobileHeaderDataShape.userMenu,\n loggedOutItems: mobileHeaderDataShape.loggedOutItems,\n logo: mobileHeaderDataShape.logo,\n logoAltText: mobileHeaderDataShape.logoAltText,\n logoDestination: mobileHeaderDataShape.logoDestination,\n avatar: mobileHeaderDataShape.avatar,\n username: mobileHeaderDataShape.username,\n loggedIn: mobileHeaderDataShape.loggedIn,\n stickyOnMobile: mobileHeaderDataShape.stickyOnMobile,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nMobileHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n stickyOnMobile: true,\n\n};\n\nexport default injectIntl(MobileHeader);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderMainMenu.js b/dist/mobile-header/MobileHeaderMainMenu.js deleted file mode 100644 index c37c50f08..000000000 --- a/dist/mobile-header/MobileHeaderMainMenu.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Menu, MenuTrigger, MenuContent } from '../Menu'; -var MobileHeaderMainMenu = function MobileHeaderMainMenu(_ref) { - var menu = _ref.menu; - // Nodes are accepted as a prop - if (!Array.isArray(menu)) { - return menu; - } - return menu.map(function (menuItem) { - var type = menuItem.type, - href = menuItem.href, - content = menuItem.content, - submenuContent = menuItem.submenuContent, - disabled = menuItem.disabled, - isActive = menuItem.isActive, - onClick = menuItem.onClick; - if (type === 'item') { - return /*#__PURE__*/React.createElement("a", { - key: "".concat(type, "-").concat(content), - className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''), - href: href, - onClick: onClick || null - }, content); - } - return /*#__PURE__*/React.createElement(Menu, { - key: "".concat(type, "-").concat(content), - tag: "div", - className: "nav-item" - }, /*#__PURE__*/React.createElement(MenuTrigger, { - onClick: onClick || null, - tag: "a", - role: "button", - tabIndex: "0", - className: "nav-link" - }, content), /*#__PURE__*/React.createElement(MenuContent, { - className: "position-static pin-left pin-right py-2" - }, submenuContent)); - }); -}; -export var mobileHeaderMainMenuDataShape = PropTypes.oneOfType([PropTypes.node, PropTypes.array]); -MobileHeaderMainMenu.propTypes = { - menu: mobileHeaderMainMenuDataShape -}; -export default MobileHeaderMainMenu; -//# sourceMappingURL=MobileHeaderMainMenu.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderMainMenu.js.map b/dist/mobile-header/MobileHeaderMainMenu.js.map deleted file mode 100644 index bd25a5545..000000000 --- a/dist/mobile-header/MobileHeaderMainMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileHeaderMainMenu.js","names":["React","PropTypes","Menu","MenuTrigger","MenuContent","MobileHeaderMainMenu","_ref","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","onClick","createElement","key","concat","className","tag","role","tabIndex","mobileHeaderMainMenuDataShape","oneOfType","node","array","propTypes"],"sources":["../../src/mobile-header/MobileHeaderMainMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\n\nconst MobileHeaderMainMenu = ({ menu }) => {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n onClick,\n } = menuItem;\n\n if (type === 'item') {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n \n {content}\n \n \n {submenuContent}\n \n \n );\n });\n};\n\nexport const mobileHeaderMainMenuDataShape = PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n]);\n\nMobileHeaderMainMenu.propTypes = {\n menu: mobileHeaderMainMenuDataShape,\n};\n\nexport default MobileHeaderMainMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,SAAS;AAExD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAClC;EACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,OAAOA,IAAI;EACb;EAEA,OAAOA,IAAI,CAACG,GAAG,CAAC,UAACC,QAAQ,EAAK;IAC5B,IACEC,IAAI,GAOFD,QAAQ,CAPVC,IAAI;MACJC,IAAI,GAMFF,QAAQ,CANVE,IAAI;MACJC,OAAO,GAKLH,QAAQ,CALVG,OAAO;MACPC,cAAc,GAIZJ,QAAQ,CAJVI,cAAc;MACdC,QAAQ,GAGNL,QAAQ,CAHVK,QAAQ;MACRC,QAAQ,GAENN,QAAQ,CAFVM,QAAQ;MACRC,OAAO,GACLP,QAAQ,CADVO,OAAO;IAGT,IAAIN,IAAI,KAAK,MAAM,EAAE;MACnB,oBACEZ,KAAA,CAAAmB,aAAA;QACEC,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;QAC1BQ,SAAS,aAAAD,MAAA,CAAaL,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAAK,MAAA,CAAGJ,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAG;QAChFJ,IAAI,EAAEA,IAAK;QACXK,OAAO,EAAEA,OAAO,IAAI;MAAK,GAExBJ,OACA,CAAC;IAER;IAEA,oBACEd,KAAA,CAAAmB,aAAA,CAACjB,IAAI;MAACkB,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIP,OAAO,CAAG;MAACS,GAAG,EAAC,KAAK;MAACD,SAAS,EAAC;IAAU,gBAC7DtB,KAAA,CAAAmB,aAAA,CAAChB,WAAW;MAACe,OAAO,EAAEA,OAAO,IAAI,IAAK;MAACK,GAAG,EAAC,GAAG;MAACC,IAAI,EAAC,QAAQ;MAACC,QAAQ,EAAC,GAAG;MAACH,SAAS,EAAC;IAAU,GAC3FR,OACU,CAAC,eACdd,KAAA,CAAAmB,aAAA,CAACf,WAAW;MAACkB,SAAS,EAAC;IAAyC,GAC7DP,cACU,CACT,CAAC;EAEX,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,IAAMW,6BAA6B,GAAGzB,SAAS,CAAC0B,SAAS,CAAC,CAC/D1B,SAAS,CAAC2B,IAAI,EACd3B,SAAS,CAAC4B,KAAK,CAChB,CAAC;AAEFxB,oBAAoB,CAACyB,SAAS,GAAG;EAC/BvB,IAAI,EAAEmB;AACR,CAAC;AAED,eAAerB,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderUserMenu.js b/dist/mobile-header/MobileHeaderUserMenu.js deleted file mode 100644 index e14699c3b..000000000 --- a/dist/mobile-header/MobileHeaderUserMenu.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -var MobileHeaderUserMenu = function MobileHeaderUserMenu(_ref) { - var menu = _ref.menu; - return menu.map(function (group) { - return group.items.map(function (_ref2) { - var type = _ref2.type, - content = _ref2.content, - href = _ref2.href, - disabled = _ref2.disabled, - isActive = _ref2.isActive, - onClick = _ref2.onClick; - return /*#__PURE__*/React.createElement("li", { - className: "nav-item", - key: "".concat(type, "-").concat(content) - }, /*#__PURE__*/React.createElement("a", { - className: "nav-link".concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''), - href: href, - onClick: onClick || null - }, content)); - }); - }); -}; -export var mobileHeaderUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({ - heading: PropTypes.string, - items: PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string, - isActive: PropTypes.bool, - onClick: PropTypes.func - })) -})); -MobileHeaderUserMenu.propTypes = { - menu: mobileHeaderUserMenuDataShape -}; -export default MobileHeaderUserMenu; -//# sourceMappingURL=MobileHeaderUserMenu.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileHeaderUserMenu.js.map b/dist/mobile-header/MobileHeaderUserMenu.js.map deleted file mode 100644 index 5592a5395..000000000 --- a/dist/mobile-header/MobileHeaderUserMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileHeaderUserMenu.js","names":["React","PropTypes","MobileHeaderUserMenu","_ref","menu","map","group","items","_ref2","type","content","href","disabled","isActive","onClick","createElement","className","key","concat","mobileHeaderUserMenuDataShape","arrayOf","shape","heading","string","oneOf","bool","func","propTypes"],"sources":["../../src/mobile-header/MobileHeaderUserMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst MobileHeaderUserMenu = ({ menu }) => menu.map((group) => (\n group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n
  • \n \n {content}\n \n
  • \n ))\n));\n\nexport const mobileHeaderUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })),\n}));\n\nMobileHeaderUserMenu.propTypes = {\n menu: mobileHeaderUserMenuDataShape,\n};\n\nexport default MobileHeaderUserMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,OAAOA,IAAI,CAACC,GAAG,CAAC,UAACC,KAAK;IAAA,OACxDA,KAAK,CAACC,KAAK,CAACF,GAAG,CAAC,UAAAG,KAAA;MAAA,IACdC,IAAI,GAAAD,KAAA,CAAJC,IAAI;QAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;QAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;QAAEC,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;QAAEC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;QAAEC,OAAO,GAAAN,KAAA,CAAPM,OAAO;MAAA,oBAEhDd,KAAA,CAAAe,aAAA;QAAIC,SAAS,EAAC,UAAU;QAACC,GAAG,KAAAC,MAAA,CAAKT,IAAI,OAAAS,MAAA,CAAIR,OAAO;MAAG,gBACjDV,KAAA,CAAAe,aAAA;QACEC,SAAS,aAAAE,MAAA,CAAaL,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAAK,MAAA,CAAGN,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAG;QAChFD,IAAI,EAAEA,IAAK;QACXG,OAAO,EAAEA,OAAO,IAAI;MAAK,GAExBJ,OACA,CACD,CAAC;IAAA,CACN,CAAC;EAAA,CACH,CAAC;AAAA;AAEF,OAAO,IAAMS,6BAA6B,GAAGlB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;EAC7EC,OAAO,EAAErB,SAAS,CAACsB,MAAM;EACzBhB,KAAK,EAAEN,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,KAAK,CAAC;IACvCZ,IAAI,EAAER,SAAS,CAACuB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvCb,IAAI,EAAEV,SAAS,CAACsB,MAAM;IACtBb,OAAO,EAAET,SAAS,CAACsB,MAAM;IACzBV,QAAQ,EAAEZ,SAAS,CAACwB,IAAI;IACxBX,OAAO,EAAEb,SAAS,CAACyB;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEHxB,oBAAoB,CAACyB,SAAS,GAAG;EAC/BvB,IAAI,EAAEe;AACR,CAAC;AAED,eAAejB,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/mobile-header/MobileLoggedOutItems.js b/dist/mobile-header/MobileLoggedOutItems.js deleted file mode 100644 index f3db67727..000000000 --- a/dist/mobile-header/MobileLoggedOutItems.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -var MobileLoggedOutItems = function MobileLoggedOutItems(_ref) { - var items = _ref.items; - return items.map(function (_ref2, i, arr) { - var type = _ref2.type, - href = _ref2.href, - content = _ref2.content; - return /*#__PURE__*/React.createElement("li", { - className: "nav-item px-3 my-2", - key: "".concat(type, "-").concat(content) - }, /*#__PURE__*/React.createElement("a", { - className: i < arr.length - 1 ? 'btn btn-block btn-outline-primary' : 'btn btn-block btn-primary', - href: href - }, content)); - }); -}; -export var mobileHeaderLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({ - type: PropTypes.oneOf(['item', 'menu']), - href: PropTypes.string, - content: PropTypes.string -})); -MobileLoggedOutItems.propTypes = { - menu: mobileHeaderLoggedOutItemsDataShape -}; -export default MobileLoggedOutItems; -//# sourceMappingURL=MobileLoggedOutItems.js.map \ No newline at end of file diff --git a/dist/mobile-header/MobileLoggedOutItems.js.map b/dist/mobile-header/MobileLoggedOutItems.js.map deleted file mode 100644 index e3cdf2bbc..000000000 --- a/dist/mobile-header/MobileLoggedOutItems.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileLoggedOutItems.js","names":["React","PropTypes","MobileLoggedOutItems","_ref","items","map","_ref2","i","arr","type","href","content","createElement","className","key","concat","length","mobileHeaderLoggedOutItemsDataShape","arrayOf","shape","oneOf","string","propTypes","menu"],"sources":["../../src/mobile-header/MobileLoggedOutItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst MobileLoggedOutItems = ({ items }) => items.map(({ type, href, content }, i, arr) => (\n
  • \n \n {content}\n \n
  • \n));\n\nexport const mobileHeaderLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n}));\n\nMobileLoggedOutItems.propTypes = {\n menu: mobileHeaderLoggedOutItemsDataShape,\n};\n\nexport default MobileLoggedOutItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAAAC,KAAA,EAA0BC,CAAC,EAAEC,GAAG;IAAA,IAA7BC,IAAI,GAAAH,KAAA,CAAJG,IAAI;MAAEC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;MAAEC,OAAO,GAAAL,KAAA,CAAPK,OAAO;IAAA,oBAC1EX,KAAA,CAAAY,aAAA;MAAIC,SAAS,EAAC,oBAAoB;MAACC,GAAG,KAAAC,MAAA,CAAKN,IAAI,OAAAM,MAAA,CAAIJ,OAAO;IAAG,gBAC3DX,KAAA,CAAAY,aAAA;MACEC,SAAS,EAAEN,CAAC,GAAGC,GAAG,CAACQ,MAAM,GAAG,CAAC,GAAG,mCAAmC,GAAG,2BAA4B;MAClGN,IAAI,EAAEA;IAAK,GAEVC,OACA,CACD,CAAC;EAAA,CACN,CAAC;AAAA;AAEF,OAAO,IAAMM,mCAAmC,GAAGhB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,KAAK,CAAC;EACnFV,IAAI,EAAER,SAAS,CAACmB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EACvCV,IAAI,EAAET,SAAS,CAACoB,MAAM;EACtBV,OAAO,EAAEV,SAAS,CAACoB;AACrB,CAAC,CAAC,CAAC;AAEHnB,oBAAoB,CAACoB,SAAS,GAAG;EAC/BC,IAAI,EAAEN;AACR,CAAC;AAED,eAAef,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/CourseInfoSlot/README.md b/dist/plugin-slots/CourseInfoSlot/README.md deleted file mode 100644 index 574de5500..000000000 --- a/dist/plugin-slots/CourseInfoSlot/README.md +++ /dev/null @@ -1,125 +0,0 @@ -# Course Info Slot - -### Slot ID: `course_info_slot` - -## Description - -This slot is used to replace/modify/hide the course info. - -## Examples - -### Replace Course Title - -The following `env.config.jsx` will replace the course title. - -![Screenshot of replaced course title](./images/replace_course_title.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const replaceCourseTitle = ( widget ) => { - widget.content.courseTitle = "Custom Course Title"; - return widget; -}; - -const config = { - pluginSlots: { - course_info_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: replaceCourseTitle, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Course Info with Custom Component - -The following `env.config.jsx` will replace the course info entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of replaced course info with custom component](./images/replace_course_info_with_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - course_info_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_course_info_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - } - }, -} - -export default config; -``` - -### Add Custom Components before and after Course Info - -The following `env.config.jsx` will place custom components before and after the course info (in this case centered `h1`s with 🌜 and 🌛). - -![Screenshot of added custom components before and after course info](./images/add_custom_components_before_and_after_course_info.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - course_info_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_course_info_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌜

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_course_info_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌛

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` diff --git a/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png b/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png deleted file mode 100644 index ed0ec695de0cdfd1b5e84bbb11a4a6947bdaab85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17506 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 diff --git a/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png b/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png deleted file mode 100644 index 5358afde51b5afe585609d0ed3812186bfb5cd41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14889 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 PCqm-6%(HBf*WUjJA-VJ{ diff --git a/dist/plugin-slots/CourseInfoSlot/index.js b/dist/plugin-slots/CourseInfoSlot/index.js deleted file mode 100644 index 5431c0586..000000000 --- a/dist/plugin-slots/CourseInfoSlot/index.js +++ /dev/null @@ -1,31 +0,0 @@ -var _excluded = ["courseOrg", "courseNumber", "courseTitle"]; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import LearningHeaderCourseInfo, { courseInfoDataShape } from '../../learning-header/LearningHeaderCourseInfo'; -var CourseInfoSlot = function CourseInfoSlot(_ref) { - var courseOrg = _ref.courseOrg, - courseNumber = _ref.courseNumber, - courseTitle = _ref.courseTitle, - attributes = _objectWithoutProperties(_ref, _excluded); - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "course_info_slot", - slotOptions: { - mergeProps: true - }, - pluginProps: { - courseOrg: courseOrg, - courseNumber: courseNumber, - courseTitle: courseTitle - } - }, /*#__PURE__*/React.createElement(LearningHeaderCourseInfo, _extends({ - courseOrg: courseOrg, - courseNumber: courseNumber, - courseTitle: courseTitle - }, attributes))); -}; -CourseInfoSlot.propTypes = courseInfoDataShape; -export default CourseInfoSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/CourseInfoSlot/index.js.map b/dist/plugin-slots/CourseInfoSlot/index.js.map deleted file mode 100644 index 2e209b99a..000000000 --- a/dist/plugin-slots/CourseInfoSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","LearningHeaderCourseInfo","courseInfoDataShape","CourseInfoSlot","_ref","courseOrg","courseNumber","courseTitle","attributes","_objectWithoutProperties","_excluded","createElement","id","slotOptions","mergeProps","pluginProps","_extends","propTypes"],"sources":["../../../src/plugin-slots/CourseInfoSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport LearningHeaderCourseInfo, { courseInfoDataShape } from '../../learning-header/LearningHeaderCourseInfo';\n\nconst CourseInfoSlot = ({\n courseOrg,\n courseNumber,\n courseTitle,\n ...attributes\n}) => (\n \n \n \n);\n\nCourseInfoSlot.propTypes = courseInfoDataShape;\n\nexport default CourseInfoSlot;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,wBAAwB,IAAIC,mBAAmB,QAAQ,gDAAgD;AAE9G,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA;EAAA,IAClBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACRC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAEbX,KAAA,CAAAY,aAAA,CAACX,UAAU;IACTY,EAAE,EAAC,kBAAkB;IACrBC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd,CAAE;IACFC,WAAW,EAAE;MACXV,SAAS,EAATA,SAAS;MACTC,YAAY,EAAZA,YAAY;MACZC,WAAW,EAAXA;IACF;EAAE,gBAEFR,KAAA,CAAAY,aAAA,CAACV,wBAAwB,EAAAe,QAAA;IACvBX,SAAS,EAAEA,SAAU;IACrBC,YAAY,EAAEA,YAAa;IAC3BC,WAAW,EAAEA;EAAY,GACrBC,UAAU,CACf,CACS,CAAC;AAAA,CACd;AAEDL,cAAc,CAACc,SAAS,GAAGf,mBAAmB;AAE9C,eAAeC,cAAc","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopHeaderSlot/README.md b/dist/plugin-slots/DesktopHeaderSlot/README.md deleted file mode 100644 index eb40189d9..000000000 --- a/dist/plugin-slots/DesktopHeaderSlot/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Desktop Header Slot - -### Slot ID: `desktop_header_slot` - -## Description - -This slot is used to replace/modify/hide the entire desktop header. - -## Examples - -### Custom Component - -The following `env.config.jsx` will replace the desktop header entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/desktop_header_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_header_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_desktop_header_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - } - }, -} - -export default config; -``` \ No newline at end of file diff --git a/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png b/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png deleted file mode 100644 index 3d663f719c506d00bd211773280579d1671ff2b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27763 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 diff --git a/dist/plugin-slots/DesktopHeaderSlot/index.js b/dist/plugin-slots/DesktopHeaderSlot/index.js deleted file mode 100644 index d5e373ca6..000000000 --- a/dist/plugin-slots/DesktopHeaderSlot/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import DesktopHeader, { desktopHeaderDataShape } from '../../desktop-header/DesktopHeader'; -var DesktopHeaderSlot = function DesktopHeaderSlot(_ref) { - var props = _ref.props; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "desktop_header_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(DesktopHeader, props)); -}; -DesktopHeaderSlot.propTypes = desktopHeaderDataShape; -export default DesktopHeaderSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/DesktopHeaderSlot/index.js.map b/dist/plugin-slots/DesktopHeaderSlot/index.js.map deleted file mode 100644 index ac639cf1e..000000000 --- a/dist/plugin-slots/DesktopHeaderSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","DesktopHeader","desktopHeaderDataShape","DesktopHeaderSlot","_ref","props","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/DesktopHeaderSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport DesktopHeader, { desktopHeaderDataShape } from '../../desktop-header/DesktopHeader';\n\nconst DesktopHeaderSlot = ({\n props,\n}) => (\n \n \n \n);\n\nDesktopHeaderSlot.propTypes = desktopHeaderDataShape;\n\nexport default DesktopHeaderSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,aAAa,IAAIC,sBAAsB,QAAQ,oCAAoC;AAE1F,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA;EAAA,IACrBC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,qBAAqB;IACxBC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,aAAa,EAAKI,KAAQ,CACjB,CAAC;AAAA,CACd;AAEDF,iBAAiB,CAACO,SAAS,GAAGR,sBAAsB;AAEpD,eAAeC,iBAAiB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md b/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md deleted file mode 100644 index 8d8249e2f..000000000 --- a/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Desktop Logged Out Items Slot - -### Slot ID: `desktop_logged_out_items_slot` - -## Description - -This slot is used to replace/modify/hide the items shown on desktop when the user is logged out. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items shown on desktop when the user is logged out. - -![Screenshot of modified items](./images/desktop_logged_out_items_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyLoggedOutItems = ( widget ) => { - widget.content.items = [ - { - type: 'item', - href: 'https://openedx.org/', - content: 'openedx.org', - }, - { - type: 'item', - href: 'https://docs.openedx.org/en/latest/', - content: 'Documentation', - }, - { - type: 'item', - href: 'https://discuss.openedx.org/', - content: 'Forums', - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - desktop_logged_out_items_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyLoggedOutItems, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace with Custom Component - -The following `env.config.jsx` will replace the items shown on desktop when the user is logged out entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/desktop_logged_out_items_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_logged_out_items_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_logged_out_items_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after - -The following `env.config.jsx` will place custom components before and after the items shown on desktop when the user is logged out (in this case centered `h1`s with 🌜 and 🌛). - -![Screenshot of custom components before and after](./images/desktop_logged_out_items_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_logged_out_items_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_logged_out_items_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌜

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_logged_out_items_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌛

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png b/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png deleted file mode 100644 index 62282e08ccfe19ae7310aa30a3d56604ed3baf0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10817 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 Ngox~?G9f*`{{`L&7-9eb diff --git a/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png b/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png deleted file mode 100644 index 36b431aca1e0e810377ecb71e5e2dd527d204d1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14297 zcmb8WWmr{F*Dg#Wtw>0VNJxitDH2L|cXxNENGsjl2uOEHH%JTYO^3v$JI>^J-uL_Y zUFUFZcCNMNoNJD_$34aflb4miLMKLtgM-8R@>x_74h~Tny#MkH1w8Y0nT3ECBqxzC z%Fn=`_cP;f;4_i4n7Xr)ovE{%fujkWnXR3T36qnNqlt;FlewKU46#E997OYU&?iR| z17{06+tkd)4#vkZ#hqrJkQeM>K>t0X41O*G zp6EEm=3LN<$JPm_T5=;^pA0TlWrNrM{3!ZkI-J@6KZiXR(Jp_Rjr(-QbCGZCvHp_( zbAh4H2=xDZDJrz$|D5+$BI$W<B@f3$(H(GyYchH1SVp5(rl0;^~!+(Dv(ncK8&Mikx_kD zEY~kZ5ju!mK`+o|p@mO)nqGyECqZL$kP%_y%a3mGd^@}=JeZcxf(2A33-CnZL%+ZH z&W=wS+Nnv1hp&zH{knY8$i%|dTV;RKkvHYjf5x>+a}qYL3{0^AZdxfvxKnKfV!Z{sJ|AzDQqxWsPG(|zfw`{EY3t~L;b z+KZI@VYKYVoY|g~drRSZ8C%GPp|&{JyN%z9Ey8!c=kQ*_fky{lC*3M`#*n62SH{zI zw^J$TuykiFT>=?O(pg1VJ?nppG*29qI+v8cCoboriZGuVRHvfbsltUTj|T4Q+TXl_ z4`bp~tHFj`U+?r0#Nf${9^&_cCmHbP8*-%>h6cNgXo+|{anG$(*2~RMCYvn;t!Jy% z;>C^~$z*+_pyRb-47>Aom{~D?seC^Y7@F0Qk+G1r4b~0N5v-Wj$^E~w$;%=4+u9ce zj-O|v#P70)S4d?}oL={yRqVX^=FRTLSiJKF2ti}2`IqnKROW;J_{uN)ScTU5@fegIcjrz9*&(E_&V`^@q;xs|;^gG;XYX{SicDY$`q73ze~DfhF>Fjzds6J($Se{g=jm6t#{@SD*6kLSVt<4i zq5(~d_l@zfNXkzV-N>~gJD`bmsPsyOlp2w89$1$9>+cu0h21;Utd90jB)}xUyouUtJ8yNW~Rk|asL+~agV&>iCU=5#6n=rrl;=J~Pe|i* zC?WUNo?HN%n&fbPr{G6k7E;GMi;)gSLQI4CL+f z-`ieLIVI7$pLl1f8T{ewL_Wk@zpUR%w<;hI(VoJ?_cjD;926Hp*Xi~epQvj^N%oFO zAI;uQ+&TLnVJt1&CWr6ua!Pn>CpP#}dDG}9NIXqQW?Xi?&SO^F((pi|JKR7iA#W4=}2k??ZLW!vHvWGblOtBQ6& z$n&JE)CTcHS%^Vw^2zoVShTQbmVCdpC@S_qQ&pqxHE_#(~DO)1;iI2 zZ06|YI0=HEzHM_0u?HY(IANhyqYcFmfACEAPxOk`y9MmZ0b#yDj2SBVTW z1vieQqxGrHm@Z+w4?R|KOK-7T>3cD&na< zEme(b8Ew}pCl=a-{=@BuZ13l!pW7-fc%$=$H}FN2ZnRg+ngJn%BHCQd*iDO3uo*b2 zZ*TlQMHap2Q*htW>!WclrwG^dMj3R(D1I+v^!RXZy;vWWpP&Ec(t$4nvSI6zUO3S?F3t`9xqbO)a96)6N9$KP-ZYoVIC#3m9i{MQ4$`8lwNX$ zdb4}=sYg@?4_eiOH)>@)`No+ZUMO?R_iuA-ZePwG!lycubbVs+>8udOCY*0D>R@vw zzgjb4f*MuI_OcXmm+Yp9JqU3MzU)Yb2weP|9@ea2h(pn^g5xfJ*h#i;A>BD_UG>$h zIHqH*975xPCrn=Y?y?f7MwdihN-dT6{rh+MwfmZy8gQ5W+3YMA>uuiB(oQwI?BSAS zrKW~=uO49&wZ_i;Bp!Q-*y3b$yZ7xUZur#h+D_OMqi$P>9Kp|(vjyOi*Mxsx94r!X zm`djyfGyFivvio#adTL-X;AqvDEdX<{%mR=(zbY8Gidzg^=p5yj}s+Iv=8T%eg;)| z`{5L9hDbDVVV4jum?L4s@1|wjX4ix8TsrC0_hB?Lsd#_Q4wsrn(s|>ElG#Rqv zMeck&$Iw_eWmwhXTgmC=VDVqs;6;p}kg5GJIZ6(yq@fuEiz()KxU5$Hp(1>BOO+Kp zhx6UJQks990*X7+Daw2oB%f5HgD5YTB~MWllBH=b$OZb$B2<4Fj}j#MU7)i?MNQwf zwYZ9^R4#9?mu}DFETny`icMYZW)XfI+>PT!LP`#^B^O!teCWlzAIA78&F6Vof>EJ) z*?>SVGo@Z-C{_~qPR=p>luW?=yT3miF{h<+?y0evnbXO}mp5H6@Gu4a0C$ zMbO~S?>{sn$S=hL_we$^0wu?T=&>-U&tYlA%FZvCOEjQAw|aJs6TQ!Hxf`r>SKNGB zTyi(t&&XQ6$-;XzF#wHT;>Z$fU>ZiP8>DY zTI+-b!Y33ZNur9O&V}%Qcu@V|a&=^I0fXwT-E+!NaW`Dyhpw-$muS|}fBg87norNu zlkef-;p+N2p%F7lDvI8~n{5@EZ(=-YGjDb0(WpPM&?Lh_&~{160dWt+_Q~q@A*v=y zJ&E;hWd3e(tVu{lCNo!|gJHclS4j~g{J^8)mvMUW zO(dk}RIlY@5K5K9x;Vsr9qZvV>yZ`QKA4p=)aOz~l#L}VwpEVLb$utW|_xsFr;$e;jeHVBU zh!XS;AzsQatMVCiUvlMu;!%I@7|)q3RT*t#H;s6rLq!HAWGl1130q64+k7^tfvq`% zX>j7hc4wv`ATe%QcRQZELsE*Qmb=PsF=?X)%{? z-Rph7ZBujRl#-buocUz2YYud#Tp?sxN;q56{hOOszpoK%n#|98Z&Em08KeF9Yws#! zrgs)8J>qjFziV(#{z_n6?TO-cFebxwGU2pGc4XnO2>%V;rWrHbhI~Roy_sB3tZ#jo zMx3|VB-vGp&>FhkCv*4aHXg;#HgA&quKwEGB_#L!-V{E*D0=K(eSfmu!C^|*edA17Jadm6 zn0GubH1N&W&Aq{G_f@wVOn98EyN}&-M^Kw$F*psit>;1z)qF0Ok_B_`ON4mc@nwzE z-LwV)(_UjP7 zWSAu^B4T~n4O#%i)I7B>5E%p5Amp&Huz71PVs6`!?2kd_^S^Q~Ti?BV=Y6#rdUvx| zxzjA0#%1Gvcid0Jst>2r?7UjlPmZX+G4KNk71e15|Kwjx)@+f^&o;-QjmI+E1O9M3=qURo50U?rMrzCM7d-G;j;{ zcUKOjs^vpeF#?ME?gv8&4A)y}cAr0g{xIkAhKj0bJJYN2e7210R;53hjEKkn^;D6Z z*=Q;!#4$^FgXP`3FmR1uM*Y}|N=j(Yo@JX1Ct{NE#Y-m8dyKmQ8&N2eCa$eb8lF4x z%it3V4!QP9os5)}(bh-vOun>@{ z`R&iMeZ?da0Vsp$z4>#v2tpRq!B}ciVPDd;QSsBQQ6d3%Rs{tG$U5_x&^y_wLKy{> z1dSTg$tEYWz@Q+OMn6|qt}MR?USLRQd3jS-R`mZi*p07r1sz{rUMAj`6lJbO^B*3O zU;f5m`Q@^w3h}vIM(D;s#eDT4Pdo};5LG0e!R_HZ|9xI!Fm@xa`|BW6CWJ6sf=)9E zir!t;f3H>3EJsp4aBnH`UUn~h(YL~!_0+FG+ZwQ2I(rfDmA>)EJY>3r|1t+ zlR2v0(n93d7x3O~3<0zR2d}5chZuD7Smv@cnGN&y5Li9eq#<6%FYfm15jrY$dCvm- zJJ?((Ul#evKy5R2yd-F`$@mBF^Jvy!X8o2zYUf;O%Gjhb#?y;a9xfaA(=nxeYn)o{ zTL(nS=;$lGt8GK)uxibb{RO{xpc(`GMqd><1%i>GcE0gXKXU%vX`dHV!!}M)LS**`@JhMm1p=`gN%^xDHY}6)wEr{%7VfaZ&8lD^6cNT3K2rsg^B)%Zaw>Qi86DBnXQNkpTR>(v6njQem-~qv!1zCkXt$!UF?y!jw!@X|tpM*tULTUR~d?dj6J%dvNi=jDUDW&!oAr znUAzIE)#z`Y)L?l6Q6>mJXX7(6TofBc_vP*!0BeN#~9I$%a>^)jpOVMax3X(>tvZp zsceNC)(~+^$(ep}f?(MJJR~YAdNjf@F5gsL_4^|JosxRBF&gkX+y{T_s00Nwc%8Ob zEvM;(u2v9%q9S+BR~aqTnBgFzU}ih4_dVfjHC>O8^mJ0#wcwnjtnAh>ONa4FXMm`< zID&ZZEl^1+diwBw3O`Z`3X0hZonbFnTj+xI*2SV7>e0o3H?SGbyMIF3eQv9LZe0ON z>mjjg4VcGzQc{?oJD@*$uSmM>uDkc$ou$=IHyjd30!)dVvF-!Z^o2OuEBKzZXnOaPD zC=Q3!EaSt~Iu4CornIr~+ZQih^z`?8A<{Q2jvg+zprNB10`LLx{|ABj18m+?DC>=oTDN%hqSLLL&u}PhZ>r8grNYY#*(eESV1E18ym>5?VgL|r4{If%mgu=>7iuA*!JZeRm?fa$3)*SM_249 zu0UJO4lQ5QEM3nea>Q|MiL!0$b3E&@fSa`m>z}h-pKRA5;&y>YjnVP0GsQ_-tjSFJ z{p;~|qNS~$$p-lK(|_?EcXx{v{*y)*{W(Yo_dad6QC|PxFUW*s$7vxK7s2H>9<*uO zax0q>x4(dXiv->Qryr_TG_oE+E$-ilePsiqw6$Es6mE$c*^fnq;P+0ED74f&1RW#2 z1Na=Mw)-W&%RfA+B<2FExe5q5jlbz=>TxF`&M*Bg1o0U1(XJrWu$Y)4J81hE3`*fY zKd=5IYd{$StkR@uTw##Wp0Jl~r!8;~H+w7~{OB3@K~oyj1ymo&fp9(_|et@`S17Fp9q1+F*Z zAb!uwwHgXl%Qe+DU3V z`g%8jB?F_QCU;lI!NIQ*LJ62OS@k>Nz-4;BQ+`r!ab-fqAvYdLW`krGi$xFw2M4pd z?yCdy1MY&(&QcQx3754#2vcjV=El56&-dn(I(&UBr;EFQZPRG9r_^b2-JF!5I6s_f zbT9%)U?f*8;uVN4+`i1FEjXD-q6r|&ER+QjJXBK2ZYMbd$UoEjXXCO2N<0dIxTSK z3)LoJL-e94>LQfG3g$Hxdn=BA8Y@W7l#e($tkqxfyP3QsHZAy4tEY>j0y+8sL!8jr zNk#1Mg8lj`0DqAhGUmt0o0{GmkdG<8ywph|9qI0V@>!t$JKxlsC@5=E6Srz;z2eL_0&jD+}`niDHAIsT+&=(&q z0fP+jCeAfv?t3LL7o+p>#T;<@DJ`uZnX zS=k>QHH!y8m1-O}CD+#1+b)wl&;L!9sj=9_T!C>)^g7zPlM&WE?hadEuh@;B`Ew_m zL)(1>;xn`{t?#a}e8}u4p2kvA8Sv=j(Kf*YkE$9GF|STxYh8r9Bi)(dj&whQc2;W) zmSxX3){q+gF6YCDN)_K zZ{8N$I|gBt5GaIQ`ADGK2s`{u4ppZ9d3AV!!RtppRlkhtZn#v`dJPNM*SsUYjZW9^ zmE%voKOkOvcweE{R{bJOm~)3Ylh|3UYEwp1c0IEnsy`O&SL1l2E}JD|GBe(yUTgRg zS_xI%aKPVAZ;Y#?)-@-%qFIQ&UqH46H{; zom1fAD(>8uSrA7MFc|^_`Id%e&7Nn%g$&TFGo>L~-^XADoGH>`wn0u=gFtYTf`gHO zo$Lqj&SL%-C6Jg+01R1_FBo(zElb_pm#zVgyxteJUN@(^4xkw~5V~6Hh1jtSe!^#| zaj~)JBU<#5ii)_tzP|GZ7YK_sTqJnhl~SL+&3_99p%RZ=0f%lc+I4JZdL6zyf&FpG05fbDaB_#-0rVWW*-r`OxNh{w*ScVfr&wlAsKj=wBPP%gsjapetep9X z9G;u5hQ_p`Df>eg7sR5)vTvjQiJr)hFE%<|SxGz{=ExVTxkN?gtWRNb(`MPTmrU=nz!k)YB@Gj1m(tEmn2PXMvM)v z=3V#8e8=X{3ITot6s2vZOUQGf%tyr2b}hXP51faDXPt?SKJRxgc)05=hHS_x^7gQ* z&JJe79?P#%0>)+Nl~Py|ybha+K2VRF)+p4N${-*hgfDe8GFpliJd9IJ6JBPr9GWKh z$tLut^ExF1qzzEW3Lqe;UcZJ@Q6Uoc71-U~tofD)hz}4#=jwI%K85o@){c7#^?sR8 zzR~r&KYugF(u_+c?3-R=HvR_?0fv_rOO0&c!&U>-cO66*n?Pg?W=d6-+}ER!V`+Fu z3CS~a=_G$t3dNIBSZ7MO0;yj90%Z7mrO% zba=2QWApc{FPEkJ>iFQyz!ZlIW5H2zO0cq#*7<9Gq9$>jRcG<8AJl*goJf)W7n)S@ z;?m|}-&9YO~V7FTA`Y3P0vXH+*@ zQL$Q$_t)u}F%kp34%oB0@SW?w$G0Eh{z>37LXVZqFb=%f2hFAObgJRt2$`O00g$5U zavSz74J-cOXSq(<@4pI3%n13XbtPEVvfL-w38*F=IB6QZ2;>n0))Y!;xRRzPU-%$) zy9;^-Lk9x`Cxp}Z_#aa+3hKmmbad|_$4@yz)lu)Lp&W5;!`~$}$}x25yoH*<3fCvz z&)(lJEfwFr5s|w5_<4N9bQMRKZU0dy|6`Jb#-)`&rQiZZT&d%J{-k5Y9-r3Q1^)HG z0N7wrUtN(*%}oLQRDo)qIF_N2QCrN;&W>SFNp5f` zNw;t~v13wv{Ki4k$r)w_^a`+5$GCb{n?nhr5)w~=U@Di5Bml{rmea2}YIam6AEUp0 zdv@5o$E@pfu3|ct9yViX0_^IhZ-&(7US$W$(ZwBJzcKq{wTaYM9E!0>B90wEG4IWm zuU|s_P$TCWis!g^c^7UqzlMaY+Vh}e{y;L~u`o3?4KT<977Galuddu(5B`QMSTi4MvrrC69+w2JY2j3}PYOmQg&UqpYS_>bkc5w-_L_40 z*5ABhn(WOS$AOya{8H^`nx8!=lQI64A)bJEWvYfCd)cH*Co`u(>=%gg0$vnlv4mtx z!hdw6`5qY-@VMv^S(~0q@}okGDodY#9-h6^-clZ0##j5U~%?}3X zuWlC>e!0j696;}`Fm?;l(H$u-A+y+NGrt>4Ffe4;czw7M=7iE?Ix2B4A*%N7H!1PX z^*sj+zidWXTAo$ni7MCq4p>kT<1{LPAbZtlDeQ-YHWHs~eOd69_XdxBIxhZsYdTei z@S-C02_5FMpO{Bwp@uC-PD+I>VqfOMPUxfv4K3zY-^tj`ZnByjvd6|wCG&W)&h>LK zpWQN(8Mz+}J^-Gk=%jD40@4}*pyoujYL{*AVTM+YMe}8MO021J@hPf2S6N7O74@FX z&SLq?M<3hI0X7Rw*j%tXL_G=;5Lg0+eW49T2Nu^p!S_rKyERVYmUs`o&Qdc*!%k48 zxW!|Xz=-^d`9MM(W4=JG`6PmhN?Xcbf!NsC`3}DhH;BS=v-pt8c#n4sh3{2P&m2Ad z!q9BF7O(4mGB?R8loJFqiHsVG`daSpJWoR4BIhio(eBL)Xv{(YNPGGSY-Ny)WEVj| z)9TbOU}$Iv*V?5ZEsZG=O}aXf^9ka^&d&Y{@V^{pV@PA85&VyWzdTM&opmlVUq+G_ zfSB$C2z9l^6wOan1~UFkD`N|gh64Gz1O_z%o}@yH*2jli>t)U69xlR{FJ5%rUqZ)A zRm#xIDR(>$$5^C*mw&v6`C+`h`xX_o2?l(!;=nH2sbr_ zM%}w4^xPLRSXzWM))1kUEI8k~Q$hR4w)b?drgvM3hwwPB3udQZv7_w2z;_8VZk(?3*y!-x*wp_VC;6$c1`-{6UXJ*vpmj;Kh?q28g z!1zV>eIB>2-GsK=7Nm&IFPsezeNsDc&cA+eaQ`-H* zmY5@Gx1Q$#jkEt_{!XKTI&+(1cW^l7Vl^s;5O-yJIHKF@M{>OM%o`e#Oco}p2m_zy z=LEO|Y7Blf9Q>i;byObv4;6Qf7DWvO>%y>clhu~-G{jB7aimv zK=#B4#5Rz9hYmoOK*?jbo%ybJ@?t(qO1|OaBi5N)XmX-GK0d}I7r3&^XldQt+ByM} zjwn8E;poV&Rd2ltY$E-AsLhi$B!Q$0SEF$QqmC8>H*Rs9Dq!PwF8XYZOv6< zy})kUxQYV1*x50Ujf=b9Ey@bdh@b{YS;Q{j6D+5wz+X^rQ$YbZ{jV4J-%|19@w8<# zU`Yiph%9nsbtnP@@$kebsl|+7Fn;xp3o~+03;G0lJ@?}Agq3rO@CUtH1(ha$Q={IPb0@k{Fav*e*bM|X16E(Q6oH{ea>NJq~ze!jOhre&1}m5Yjs@3Bb- zHbn#D_`Q&b0umR{3x8h*pYHCK=wnNuwOt)S*>MKIe((XdnC|$2E3LdI=Z!e#g`{?uP`V8Xokmu;=Zic}{Xmu)X7WHwS7%vewNRE)PX(<&V{t}JYQk4&C; zQdlHWV9e;yYH(aDs|6QqT;t!eU3a};q^B1j)s34`{~XM5e}f2;a?I2f;M?=QBB)pU zu9eB(WUqemal!4?^#?bhyK#GKE(|o<@uP*@1nKmLD7Ow^6{d`Ocrv}NgoLif?cuOV z1-pPh=KwSCePtOze2fQGN(2M{gYXxfQw`b=8QkS6k$QXcj@B8z);!?>v%b8caj&FhT-fC?# z+i7TMNT)j6%Ibdj00#s-l9V?V#D@2QQLF|A2GZ#~KLAyDx?q;|BQsOh-kz07vo_oB z@d5I>$Z>P1^>mD1I*ls|=tfQ{J zR=PsAcscDL=@S$3vgtfsPZ`c)YmjK91XLr?&}!d%Pr%5UPh`V`Nw`+M8+*hCal^M4 zROn3gWu^3>B7>&Jbkq=l&5Ucc@PUarV)>RR=WS0?Q0 zGQF!sULl1`#E|=3NmuD+H?+4b<(k!4W5Ic7t$7f5JI_Q@cwsR(Erh%+oH;g7pjzP6 z^>5Y;qvEpRB5X`7v$F9(EvV1MiuJlTRH_!%*JOu(wP0Iw0*Sx@KBS+Px=4Wo%G$M= z)uy;{9lod=kIfdfBOlH<(OfZAV)Al!+@q$aU;8*+;&^V`;m)0AN=Sx^Za#7by%b?# zfp2%$HrH~Yu|@(iP+@q8cD>8HutQ`~tZ*+c-HSybATc={%ZBhRCgv$0ObyYSde6?m z!IGLSqM~vLwo4HUKkVB#x;dBPJ44T;#ikx;Qj^g~F~XdsbUv4GRC0I!07TTGz#@@n z3bJQs%Z+ZrXqxDS#4h2|JPPqsMLLX{-$%0iHom8oFSNeW$c}f z2{O^w`xCAbPThtVbF^}My<2pn(C*pZdZbmnlnv4|#fT646dL!b9n zP8Gj()T?|R_(_s$>Wf>8J%u3L*0YgOp;mJd^eYlUh>f}{hazRQz ziC!yf(3pP0k-jGZq~4#>1@7*RZU%b(Wc;ph+gs|OlK1Ksufwz0fIEkJL_$hdq#Q5P z&S88lBs7ia!u(ZO7_(yRa^v#KUXfy3GcpB*97g@i>e-JMeuh zb4%uCazVo(n&*1@l@7;2S0wNWAhS8EWoH7Id}`T$oPAJYMv)dbjLQVdVzn^magr!Zn{+Kx|hyb*^+ z62~kH1NbT`#j2wsb)_CExoiJkHzSgwMup}YZk!M4Jq~C+O1iCU(5Vm4$|Fb$k(T9R zSt?=31P$(8Oqy+tC*y^<)_qFh_%$j_W8>+uSKja;LY1y9B5j^xE+g@b^%ER_CY9p4 zHewWwSm~&TcjdPz{q!-{wE#r8y*OyO8uMVTrLzZAAb?LB+?k+w4b-a*2~vh&Ubj?h zqb*;WtUB|h2zqe=27DDD8&HBZStvvD6`Ra+hAEW+)Po`lns6L0j|V0OXj0?O%)xS< zsF}a;I+InC?X(Ljl%2Qi&pj43D}KGZk4re`oQNJ39n`>dwF-HgI^{wp$bopU!G`C= zY8mII5Lm%*d~BjejcfD@de8us1x260_)_!rS=Oz&wqP(tYJfT)MPwz{mJCoMe0SRKIsBO$jf5fLOixJYRwf+!opo! zmigr*74S6ct#@@63*H6>1{SLx{7$ia>Nq&Y$xD{E#1un=Au!Ya9W>fmNa9}nnV1-O z_%l?|hb~;RnUgc*s$Y?j?nn1Tby-e<4#b7^91!Ml{aptlB}<5$)n{M2A5?J?LVFE! z0F$p=q8I|;?T`3)=Sd@LE)oE03uQC-AYznKj?$k$KLb3f+ETO9Q{i#3d${Gt@<)Nx z!D!zTt=i!39ZG}ZkCgiL+SNBfiE$yBiP(t*$^SZ#Xi}Wsik2h?v2uE2*+8utG)wE>y93o=9&QWedt(*NUFG)e3AoT&+ea^}PxU;8h_y2$Ca9=a_ z!oos+VPR}qT124*Bw|>DV*OOQF;$U4KKwS{>n4XVq9qNHlxTA zHggaP(vnnjL{&Cp*V8{C3*`f3AwOZ3ZfdOmHqg+g8peo}+#^ZW>F&_Bi%8v3c&ZW` zo8*?!7t`czE-HOIjf|XhvFDr2Xv($#$m0MdjzzL3gHFXO?`8)6{Ljeg^8%x~;&ZSXd4@|kEquD79=8AOJSozQ>MR|bqWcjv5vQ6&AOu} z!c~LO#1ojrTtS*t6SBUczNUiB>v)aqlVnZV1xof^dU3}o+{oElck%}c#V;Ci)tZre zag`6n;{V$>@JJV4hbvhpBwt6%Bb#UT7;?xHv?htT98l3Dugt+m!-|@t{;8{oKD^wr zsm?s&WUfXEwU9~k9lQ#1O1(L?V2g8OEn$@kCvJx*w&=JZJa5>FK+vHy@-lMs;?+LA zDmee|?+KsMJoWA<6MSZcD!k=5coFyiZG$nMar%!Ki-Ho)otbmbOj3I@F~Us>laqaF z#=8evt}&mo+z3U={Lue4OliLqqIi6dC?U7j0L5Vgtt7R!nsQspI&YeQ3+scK{mo6- z=l4z@?-vH{t(5i8Cl#dKoaXA!IREK$l3ZWbh)I1RRs+mVdyq zp0ZV9ghe7>KByp}6<09+cfUlwF(mv<243PnT@og5|JyP3q8K0cf|>Az!&XdlPdPAe~$27O5w`~RB7ux4_1 zaiyPnnZU$EiHc3*N^*z)+jj;$8uf1K|7EjTFlaSQQv)X+5w0y1YXJju%{Avb*E##MKYQ=-la&_3!6d~*Lqo$6|M)>34eg#Hcr5<# z0r<(=0QUyJ&=Er7iVwk;+e3qI;BOK;5mh?{D7c5-792~qXY%kbY*x37~K0(pY zUZ9D8c(3RbzcuCTBsoI%dvB-HV8&6;pZewN4|=o?uuXMXp2&r8pS)R4UP`HmhD4cq zS>*7Kl*}?YKAfW0MNM_DLqkMfhPp4GwEkuJ!SX0Vai-_saBZO*wURiAf*@vGyPbny z&Nj|)Jf!;iSP1-}WA_$K4fR}SjjSsma>Q?XB`=fDuub#N)1l0UHeB!id+2rE>z_|= zU-DS!+shxGu>b!1`^UTV|DNmRqs)KK`Z(p=|Ixt#->dKZ_tdm;)q0T6e0YfEejK)v zV*hF$W*mI|S2dFiy{TIIqIjF~zj*&WcgokQrz9Pok7i`c^hoN6xk6l~x1(c;i5yF` zNl9YV$g%31e*B&~J&9>*SJThb%vVfamo;W5?Sc;0A>T^OjQCeSntzf-J3{D)|DSPx z_eLg(A7UH-alPUra#YZEIq;bNbH3%vecD0fJub5>`{+McDtEU_t0*R$u;U}k(U+Q$ zdWaH3r0(|jE^x@da{>GLJHeNvKh?s9YXNHbF}NIkn_n~2{eK3I&Wl)ka8xtpUrloJ z2K?qhtcfNchyHg~zdfacFlaoLti^EXh{2(Za$-V4plIs*JmpkbI$1gbx(Jvey;9v0VuZN+s$MAhU25M?Mc5?m zKQEzkz6J|mf2kv$2jTPeD|&Hp@!#%l(PUX21B0)Aevi7ly9cwC{EH1c?uJB0iptAB zB_Scn95Nj=tiCKD65#< zTt=;3yS0Am_V72tOYIRw<>lQKZqm}YKeyJZkT-(q>FJ{r6Z$45enQDk+EPUSb1J4g zO3KR5#Dd7@4%Y@A?1Y7eHk=)-_v?j$r(r?pT)5de#d=U?$SsJr6HH9^QCtT}K!?Kttf9n(ZNH~B5;sb$quU_ZL zXBC#0r`s;Ivs;XZt7tpl*Vn)D#uE!5{tQdgyS_YQu0l04(bD>QdZH0v-k)(hz~L|* z{Hw4W^~po`Y=6mos)`UFKTOX!?ePu80H2G(cnfx!sIZVJjaWf5M1O>*ZVKslb}9F7SC6>o}Ax;{q{OAv1+Zw{)kbdr?=w#-_C6q-;H+qkeX{hClJmPx+jo z&GE7v*#<=;qjaWdm%#`I6)@D6fq{XaF8%%e-vR@ho14>`jup!+7aN%oEqdm^^cJ>L z8Luq3Xj)p>GnX2ERk*SgYA{p<#Ou_ zNS`q~qiUh2Hx?1hmQpUo&>)AE!^OFv?|E6roEi-2(io%BW_LM**nvla+_cn<@2akjy$GoB|*M)2$_xajri)DdmhJnq=D zKg6~PrxzE9-P!k?R@0IdmQ&iY9oo`7rZ^>DFIBHkIPzOE^ej_SbVbC{?RQh^;_jh| zo2ZRSO*REcPiKZ>)8ffit@SsaMBaWN%Hn?$Jo8^@T|K%L+QPAb(fGYy{py6 z?6Rq)IQr@?y%m=CwPMZ@U#yEbmjZbSosbJ})~k66myp+snH+AHV%!X03c{SAVO4~i zF(|*VnZni{xL9YtPMB)c#me z>%%QO84}Y@YYg*DjUI0BXC;%iVcTaqenwNXt`MoFWu|MHo6=Qr@vzF846V6(!$hT)ozI8s zzK-Fp{j<&bzupsXz+I}*vWOmU@Q+j~!|TT!=c=bd`ow<{9=~9l*dJl7(=PYh_2=p} zW_MC%YR&YZSQ|>t%9kwhpq$;*>DbtcW7*4z7(8;IwVwX4eoXA2P<9{56qm08Z`58W zDrOn5u)11qRaJ{+HPRuX=~Qb-+o+&hnEy??bNKS78bwQ&dP`(|P_iQZLt}McD?#Ef z5#A(daz%TRT9rPv4RcM@H2PNhA~`-~(bw9PFut++O8ldDq4%;kH_fjv4`j5yBZMdG zkvD!z2wU5SxVY(3ahwmJYIW`xoR*fB)Z1$tnb!%0zy+ zL=V?~PE2>tMB!iw{%q_uktFUw)i)fgv=vMC2;gjinT$ZipdO_T8xWMyFa;sKtelond>VtwH;@>C()dz_3~zzqU7< zJf!Wd2Od;3Ona0(^*v#*v=rxqWk#*4aDO7^`Hc+;Yikxt_roV8MqTqGpODmyi~%Ub z%KY5iXZ1XzsVaK_t^NS^B&DRXv}<|6_Wq?_W?JO}fThE6#=W&jzZKlf!Gcdop|8aH z>ygOuGP72`otk^UGv!hXOG;7=J0cm?OTU>8WwW|h9d|5mj+NwU*T!NIF@+>12Ib^1 zXjR!ID`ZGlEiB@~;{{wfT~D?RXX@M+7Z+zYHaaS879L_@>5ml~eh?E|SYL0yxjuo` z&XrX=?idZEOMMU#N$xYIQ^_X>u#^FA7xOBG6X*5yH8wGeXPQLRKDeZ{@vGC2`pQb~ z$hR6TZDF+HFxa2*@mOB_bryrakIBi&?T)mn9RjH(A|F3{<|CB+6I>uRDf`ErS}AF1 zBT%}?1zf_x`|0WH3xf$E;df%e#l`)VmbQ1kQ7}-bD@-Gkm^(84_wUCCc+Vxl&`G$h zU!cWtSs8Uiz6GP!2URssy^NUM_%T>TRac322?R|O6J%-fZQltQjQdjVJ2;%-9sG@m zjBII-U>K`MLjC;wM#skbGUZ-9z#;t_5fPEUl`0mTF6@h2btQPYD;z`#?Vdy-j(muY zcV;MMWP12lW@n5QXT@)^P_AooZBxtV>qU&@jC17j!HKQ8rWx3ktj@iS#fyKH))fok z6D(VSt>G4Mr;U+?%JJB~WFH1JO3OzJ{?MKS%Y*DrWLFeG$Mh|3i7=Eax4<4D09_WB z-Rkn~MXB})jopnnoFWd$^1v3Hxab<412)l{l3mhpbmvgrA^a+8nqlo_n9_k z3`H}fnL9>I+Fbpa)~1wwZUBwhV^zx+0PF$$1EcSZm3LswadO}K0vB;5eKgm)q7KZJ zxxWMveFR6pGebGs^tF7D&O%|fE*NrnN!mXhr8L{!h#k)!#Tn?XdVE$*Oh!^<-k5}) zSmSxv$@sv*?7pX8(UXdWu;?;_SClx&gls}hEPL`-5kDkGtXSb|G#>H1cOeS;KGJ7F zx=9`~B~{vX=5kSZzQ+b9a|$(F`mC0Q@n^=T8)%25khs(8lUrC@g7MhCJ?BiidHk{B z352K0;TQp>mATURUbO)DaMI|+VdW(4r3~U^TMO_I76=5AIUOHQE-x=%SXAWfGDk!Q zAo`{L{Fw8u!DmB{u_~FJ8Kw3pqn_fmNoh%=&D^xfs<4k60Gv;Ua}*gD{)7ZSBgn=< z-5G77DzJsn1l_n7hivp!*w~k^oOn~(?oSemx*xx4dt)+~v)29V=ID3-pMXatQTKLX z_@C~s$QbnW$v%*dm5>gKZ73+yo#Mh@g={l$?mT*+v&FSwQ(9uQ{)gj3ON&BL02U?o zRztcsWq;wwsZbfJGCJ0j_Wp`dBs*Kb2fN4F5|O5+CNY;Kc^b^b>g6*g&A$LjR)_P* zaL70p0mI5wFZ&LFaDS^}M!rZ-1P#=Uma!7}+DtukC`X0%_3N)P(5vvnLp!Z2R4YtU zauJ}C;cw47;S4Icz0*!I@!U_ixVS`v$o*nsNN({D&}m{4lD;~3S2V5QPCV%4yK0B6 z)v0POz%ys#tm<@^J7WwC4Ow;npa%p7#sJhD$dG|=jh98o#T}f?AR(^D=Dc>Rzrmr8 zet*7)5zS%tYJVQD`wcMNp^fYf+9>=p8Vz#xl0myp@hr{*s^i<1C z2`N2Jsr;Y4z59ZbGm=%mWp;6~sW(}e6#`kPnDNm6^Yu|@5|k1Qy11kyhDG;oUteF% z*>ap>mb^C^mt~>dntXSnKnEB}Fbc(Uv@t@<&CM+%(|>(+ac3*!!!0rwJ8Y>}*>ALb zd-Ccd45l}ftrYNFAXdcx*;;<}m;5l=w)S?t(L!D9=ls#l{zMQDw}vFKGWD*-wlI|2 z85^iWO;b||fcqBdHDkVf`7)Zz>N#lY8k?KFcXzF|-bI9kHO4^Tg=J;b?Cgp}vdt|m zPszw6>OHO!$Gd-Qi_W`0qp0fC2&8AN_bsq=ML5FgCC|LnkfMdfNOxPxd($0%mshTF z?1V>^j|+Ob5v*>=T{a5S%BNxR-J3rjPFpI*pb7-z(WVPiUOgYEfWT$Yv0P4nTxjko z+w%Ihmj2mnz}XLw=1?PXOMt%8Gm#q_n>`0iu4v_t1x;yI%U8~E4D`1-RXV1>77Z4) zYU`cf<9#~Ttn8|k%1|4t7fj`f|I^U_TE=R4fyN3aBi5e-iG3uNHh6vK&X88t)e;lH z=8L~w*6fnI?TkbTfD+lBqQu zgwKU9F4@u4@TX}O!R;);EoitodRbn-t!`7!X81c>=eo*CgQ$i~DB08OQP!qQ2FZ5! zxE$%LI22@dMF%z!z2-vid#0kREQ^l81SMDJnmdurMyZwh&2I!Z~tv08l`$ayvH{y=P#JCc3SN5GF z`-5cD@bU(;WoZvSLh-<34$R3D8=u5m@>m>uzEz-@r|JW^(z~PChHeHa(}BVfbio@c zSt41IEJbo2vWB1}!8DVE8iaik&=0Hy&T-@FZ@$qlN!(+}b#$FRU)6x|jO{tdSOgzx z2#oJ{?a%Po$;Zu7v%c{TTghiJ{9twNV2S$<@v|IGeSOXsFj$Js*!9W0IO-*aBA4YP zo#Gjg5WMcvgH^cH5w*9^b}3Ygyz%hE%nVSZr;lQ2ro0FuGOf4qs@Au(gtaCPRDxC; z?cz&g5et{0(+-*uqk3z^UsbP-j_x+C9*KtDH#2MHjuumB3=)WRCe6lBg(sfnt&H=g z1f0sxs%#;mCkyjs#x6A%Y5BB_tA9;`@)NpR8(oW>Wmt~Ol~0umItRVYRBJ`ZUToi! zPN;`uc^ zBO@akNGjruIj;K1_pHnGu4j4 zfTr#*$62jYQ`$H>u7J1tm64%uWYhu%{`c=+o#9-y(FrrFX*V~wRe-ne-@m_wj9S+d zpi~gjNX7ob`VO8dtf+vGmzr!&RYy5&jrXO9VBwN;zx(*{Awcj!3Iu5H74y_1fD9ED z67m~N%cF-6bxwEZs@MR2!+U?eM}P2uO|R+U&)JPdaWJ3K($YW+@&(-X$>YbK6%~$k zhIkabADo=HDcyGOywx!Ey#oLZ3+O>cozV?*jlL%1rElu$>Rd>)m^CZk0m+7f&*3$o z+F-u#Jtif^e3!s$k8NruUVbu9!A`oWu7I3=Z$buH53d-hMxk5$JX&>ofzT(krys?) z6`s()8EKv{$lQnIelGDT?r5b0+heGzg zx{554v0nxTWOlfLN|@cvG?1)3+F;z(wKa{P#5x(|=#M1%VWTP?%-=(zt_f!<4*d)& zEyMBECgWy105|6?3DYSYxa{2UP$sLKkG_R8b=4;Bjwx#Zzhfp(NOT5aF5={aNvT4q! zR%=LkZExC}>A(R*EzpbY?hR6^U!@S7k!7>^(Rm6T8Hs%OAe$++C-{`33VPIuCR=VvLxAm8~+Iz-}8)})J^dse0w1?LeB&k<>lzf?F_$#@y z`(4DK)Z-g7uaa&r#Q+srl%85N7`trLe)V-KhC@T!w9jJr#iW#Un$^lOIW|uRKntK+ zNGH{|uN|mhO${T}U0is@#ql5vG&D3%2?&}RyfAO-I}28DBvbTVJLD%A3=<7#v<7f^iQAd2w(Azhl$W2%CwC5+E9wNm zX4cl$&gzUTErTK=2tf~ZE2%j-J15K1SvxwmPEBd4Y&ZGggT1E&ZqhNo;CbTG1N`86 zE`Tb+$+Dmy69wZk?)`ZOuorTECxG=LqN2Au+Xsg%J%<6vjR1&3W6pLl#=EyZTl6CP-3@)-dE!*QeE#0wKf=QuC9^t&_gtP-{gY(z z@xh)`?Dpk2)_5|q_Ocy<7~y%qk$c*d?13hSH!j!R{j$dlg>bQ?&RDZlmQagZzkjbn zfo zGZHDJoho8sB|dzeCxhko*5!sR#mbDbCj9ME$cnuR(Uz6I3!ewx#Fl$O8^#(UhXYOf79v{E*%=ajokTD*fi{g* zW78(1yR7!PoD1N6$E;!<4-Zcj<=&53ZBx=1wXxBOWhu+u*M^$p59^%-dX6<5OFtEg zBp95W@~4MDqMRLD^aPPewB)!I#NPQ^2MXS{p86Y+(feC_2dfR6Duf>AybaepFiIg6QGQMs{slx*Z>Rbv5s`D z3$>;65%e<_yStFH^_+sIgoMptH>p-Tyag2@^}W}FQmYw3nF)z1Akt6mR<;5=1Mq9? zbeW{?i=F!5gaiuv^}%GogI(SuG&SR=Ytk;8nwxcjErCK^ca>#jy-`+He*M}Q86YVs z3HCB8An{bRv=|YvX27oH=m<)U`-D`8ez#I0<9CXl?@)K{@Ungl4Sn)TG+@>XPjD8H z@(kCLnze5W^YcKux&L4QHBy(9M2YGB1ql7UHO>ejVc{&b5*lr7Z6Jmvbwn{QY;Q}e zs;VYpJiSpy!TDeDS?#~rsv){M`HNY-IT>v&Go$Gd|T~o<-U?(ofdPdT3v)J#4k2*;Ny>y3FC$wa9k= zDC^!5Bs8QjdT_xO%XMbaUbT30VQHe9esKYTlpNF~UOaI>#3msllG(AjidEvdXsy`9 z!i9rY*L()~g#$@GTc$!D ztsm3qS#lDEl6(2MNCRnR?7~o=RAcWVag!Js7)}fZ*ZKm87o(`;18s) zJkXGl3CvA=7jDk`?+Ji(WkcZrXG90xvAWSw3=LKGn{ZjgK2h7z4eR-2)rJ!!qo z0;E!LZ|c?Eq)j4E4I>l6gnL5=B+pIn3u?{i56h4_ZAFMOUw-k31*~~tWhLXHr=uh1 zw+=nDyL+5z`_gA}3HS3C-&&DisN1)oAkI@&Q2tvwI{X0;&2DW4#>J6=E{c|eV`!Ea zaIkryC?>6FUVC}~H?2)gUx9fhaI$czz-c-8@aM+an{Pn3mQLWsCgThMth+BmhVpo8 zq7{W0_sa+Lpjqnel?@08z)svy>MuLAexIgTcpZLCUJI1X_{x}%8?Da_ zuQui_O(4*0i+`PGp zUF)LZ`x$3h^9FupSx+vQ){qa7d=%ogF4uUh*Ii!?-hP*1 zJat`9lKZHB5DPKR;HFloNf+`&_eXrq~96JVSCbKw`gCY-1hR+=H;tb z_G1r|hCqyAwAj#pniH(A_FD}xado~}zZLh^4h7c2-oZgfh2)11=n$jM-Y$xcrH!1f z(MU4#v-5M?t8@E&ZFlY)W@>70Q0Q;j_Uv3uWoyA_fa)oI#&-5!%Ej7dW|H(rKDX8n0IGtNrX$8G6kINz5t!d%=6m>@lGz)+eJb;_MU27kYg%ro|naNBV0N24G z(O(yMfa*-6{%KiH@F&(~5}7RYMdPea@SW&?%rvH~Rj$4u8RH2sO;0FLX&(J(;xFlfqRrCz@xynj)n21a)6P%0Rce#DPEM+{Hx<~Vn9`5LwliWvE={bVWcwZX zK6>!lMkEDk8al|L-}(l?UHz#@H+t%TPtN%Kx*JphxZN=gFHc}O)=3fDDeug7ebekv z>#l8Ca);MZlDZ2wf?6=b8-wXdM0m@zzaw!K%_8df*nJvB<0#K&ENI1C?=z{>iXy(X zpiiZee;Gczu4o@>2{_CpuNy~v?$YgZs#IMt)o=N8FKWz&$)}cRhsE6DVW{Ik=Db03 zXwDva9cj`|-I;Tw*9Y~4Q4QZXJ~G&ndu2jlaHumEwJ%xt6_D(HLH8x)14$}*!meC-B+vWV_Hgb zFh(BPnf3al(gVr(9J1%fN5xV#({+!?o=NJpq#R9(OQs~$QwqD3E?sa;_OHsuc zKr-qLngMcNn{7(o#^y#)HS)Epi)|J}H#awLyG>9`fJsRTEDV>U_4}R~8MG1fN_wCv zjgF3%O@k5M`fng0f-M*s9E^v&x#9v{YKkVx7BH3~K<~AVE5R-lI0&f$iecT&wJT^W zclY=EX$W}SV}U#kOua)%d#DxQ{^m1v6urmsw>>*Kc_(mQcMlKU^kCLvVq&*%f}ufPbsy}j?(-(2&7n^M7&UtbS>{`~pn zZX+Jh&}6gZsq?jK+kw*vI_?b6>$M_r9~z4zH~h5O6uv0S1EG zUNaHsAie-cyxejMW^A0vG%+-jtB%Tn78*^;VOnU=_7r$KyPy^_F$Doh z59G62fJb0&Xf~Yd2O19W7O83_Mpat?G+xut*n+eS(oipq_N=NJ&(NYv&32IiEwdBLhZ5Sb~1dRpmg3-J?J+FFkHu9d9i*@hx*T@nGyf3)}Ju#rE zfAAac($*QmpoCv-2wT_Koow2)^Y0Pu*?9pLo#!(pts3S+e62hCJV^UGlq@-%9$PdgxeP=Mb6Av{^`_Oan?VRBfzv!-|e!x z7-+j#<5DQ89(t*fXSC%Pmy2B|9o8OX?o!Qqg~Yv9p}l*08tgl!^;Rk%bJe(^i8C?4 zd|7&}^@lYmvehH>9X?cnF-05X!XrMbZ#T{MULa<_4ku2Ex9PNWBLXG}V0moiZU?3o zMw|R%n(GH`zbE=SA}AW;_Q$#rHCH(f+jdHDhG+G1Q5DZMI>#U1n90ZF!7caN%B@M2 z?0!jfv0ZZhV%@oN_^yKF4XE{gWHtDv=kj?SBadx_U%hX?)zXaSCHIRNcgmC8kyYgT zDCHxylP+{4=CR*#Vaq^;$yCaFxv?V6Lbui!%~kz4D!MZ_iF0>ugkkU4dZEMSUd++J zgZUl7i*Ro?Cfv=-H3g&V!o)U&iVYVJAsj;^b~x`gJGE+<>mf%Fn<8m_x7=c)1@Jl? zrlinNUF&qHmDP?=npBTe%w>)0dENEox~+XVTy^Kz&RjccKffEe{MKut*!7lEJ^O+0 ze;Ka!jAUx3@hgbcz8~P_V1aPVsVg#eaBb^0Waqgo$oU>w_I#_OcysZhd1<7>qqV!` z2TAJ1++ZQ42}ull-bQm!v%)IZwHfENv*Hf7mIjxOV!gCtfhMkkf_{qL!kNIT)iUGM z2ix|>y~8}xVZHf@f;o*^Hnb?K$@$yntd8}gO1g5{cM!aw#W8i(f$O&=e0>ezvV+L~ z9?EHI7cJ!lh-?ZVC{X@0br;*!F8=e+7C{FTKnYC@hF){`;1r9dQn9dvY)w?)0KOLnUOK!d@o;l23|MJoo;C|Dq2b|8^UeN8LHLxEJ(p(( zk8p5Al4Wn>54&@XpeF0D4`u;@;b07&6q=ZrXr<8_NG1k@eYXru6T8X3^%h$K$$+$X zt17=yZ9A%xVDFUFn?s7WN-+yZxVBkG}O+|GFaCgvIcKv+s zwg38(80x{FA(LdZzu4x2C_X>l>PX;oJl(F|Ib@@|Ci(?m(h+pHr?276k}(lBV)oQq z!Fin%81}_*#pyGoP)#SJ`zIvR$@>&*OxJ0Da#?R*-veOAl4xq@DT8j|d=Q-wmi7Zo z1CeRwH-G;QgqH8R^8>~Cv0BMbuPdx((m&OEfN05Vn(D6N!@Ur6#h&erdM4{lm%H`Y z=9y$ZPJ7ariAh_twa=8!&fj2RVeJ)%dS*Kj9M=%>7>0v7;)_SgSvew}rMTQ?8b!&+ zS1n|?p^&BMocIt+ZW1^P2g_ZJV`FL+h0MP}ROPcTA{XRj`4^2%{>0*Qwe=Yj%ND$R zbOO1>6r&cH&qc>c`r{M>dfRt~1_mF%JsmB#h-)zEd&|g}I4Y4QpOpy)oa{q_s;peB z{+RZ-Sv*-bBq5;-tN>uJ{sHaStzB!o1e=_k%v34Rw&9X{NCk`ke8iBVYzC=3QujcQ z5PIJT3(6&xy-AadWBTgE!#`lENywml>%RhThE!2IOHt3%R9%M+>vppnJ}w2>%RlqY zGW_^|9`DqiJO^PJ^!xXVET?!G-@e@gQo!F3s-Dus5HM~wh;nkwOi5+jUIAC8t_V;; zRVTYZ+Sp5AKr2B$>zDh*@vQ`vnMvn$%*x6NbS~PSKhYrH3BsKvp0)dITwFa6arJLM znnp*Xf#3~s+MUfHdiI~_?hUNRFjsS>J7I5+)h#6xg+f^-hJ$nu=pw7iw6Jx}%p_vi zoE3C2{|S&c`5$VwP>_(3E$r;bfCTKLM~|qOn6|SnqGMy_K@p`_$qz7XxmJio-%b~+Zt)%$`(OF62?86bdH8ZS%$m!+){%dBWZ#DE*T* ze<()`(=QYK^5)+Ox| (\n \n \n \n);\n\nDesktopLoggedOutItemsSlot.propTypes = {\n items: desktopLoggedOutItemsDataShape,\n};\n\nexport default DesktopLoggedOutItemsSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,qBAAqB,IAAIC,8BAA8B,QAAQ,4CAA4C;AAElH,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA;EAAA,IAC7BC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,+BAA+B;IAClCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,qBAAqB;IAACI,KAAK,EAAEA;EAAM,CAAE,CAC5B,CAAC;AAAA,CACd;AAEDF,yBAAyB,CAACO,SAAS,GAAG;EACpCL,KAAK,EAAEH;AACT,CAAC;AAED,eAAeC,yBAAyB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopMainMenuSlot/README.md b/dist/plugin-slots/DesktopMainMenuSlot/README.md deleted file mode 100644 index 969179170..000000000 --- a/dist/plugin-slots/DesktopMainMenuSlot/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Desktop Main Menu Slot - -### Slot ID: `desktop_main_menu_slot` - -## Description - -This slot is used to replace/modify/hide the desktop main menu. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in the desktop main menu. - -![Screenshot of modified items](./images/desktop_main_menu_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyMainMenu = ( widget ) => { - widget.content.menu = [ - { - type: 'item', - href: 'https://openedx.org/', - content: 'openedx.org', - }, - { - type: 'item', - href: 'https://docs.openedx.org/en/latest/', - content: 'Documentation', - }, - { - type: 'item', - href: 'https://discuss.openedx.org/', - content: 'Forums', - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - desktop_main_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyMainMenu, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Menu with Custom Component - -The following `env.config.jsx` will replace the desktop main menu entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/desktop_main_menu_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_main_menu_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_main_menu_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Menu - -The following `env.config.jsx` will place custom components before and after the desktop main menu (in this case centered `h1`s with 🌜 and 🌛). - -![Screenshot of custom components before and after](./images/desktop_main_menu_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_main_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_main_menu_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌜

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_main_menu_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌛

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png b/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png deleted file mode 100644 index ec29483f04b5c477135c8bfb4f7f197f98c88901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9023 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 diff --git a/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png b/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png deleted file mode 100644 index 52c0cc7f522ddf8536c74b4a316e92dfe361a667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15401 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
    sQ^mQ*XFceL!zs-TQDgYZWNM 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 (\n \n \n \n);\n\nDesktopMainMenuSlot.propTypes = {\n menu: desktopHeaderMainOrSecondaryMenuDataShape,\n};\n\nexport default DesktopMainMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,gCAAgC,IAAIC,yCAAyC,QAAQ,uDAAuD;AAEnJ,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA;EAAA,IACvBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,wBAAwB;IAC3BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,gCAAgC;IAACI,IAAI,EAAEA;EAAK,CAAE,CACrC,CAAC;AAAA,CACd;AAEDF,mBAAmB,CAACO,SAAS,GAAG;EAC9BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,mBAAmB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md b/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md deleted file mode 100644 index 3351b07e1..000000000 --- a/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +++ /dev/null @@ -1,129 +0,0 @@ -# Desktop Secondary Menu Slot - -### Slot ID: `desktop_secondary_menu_slot` - -## Description - -This slot is used to replace/modify/hide the desktop secondary menu. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in the desktop secondary menu. - -![Screenshot of modified items](./images/desktop_secondary_menu_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifySecondaryMenu = ( widget ) => { - widget.content.menu = [ - { - type: 'item', - href: 'https://www.youtube.com/c/openedx', - content: 'Open edX on YouTube', - }, - { - type: 'item', - href: 'https://github.com/openedx/', - content: 'Open edX on GitHub', - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - desktop_secondary_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifySecondaryMenu, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Menu with Custom Component - -The following `env.config.jsx` will replace the desktop secondary menu entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/desktop_secondary_menu_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_secondary_menu_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_secondary_menu_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Menu - -The following `env.config.jsx` will place custom components before and after the desktop secondary menu (in this case centered `h1`s with 🌜 and 🌛). - -![Screenshot of custom components before and after](./images/desktop_secondary_menu_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_secondary_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_secondary_menu_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌜

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_secondary_menu_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌛

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png b/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png deleted file mode 100644 index cbfb69ebaf7bd730fc2a11b6b429ce0a580ae913..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14173 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 diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png b/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png deleted file mode 100644 index baaa9e2c8d2cdf44edbc68c146dff8d457a42411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15494 zcmb_@Wmr{R7cC(mp$HNp4Tq2vkZuqpBt*KUySqcAySux)K|s1o8UzmAAsu(|e((1^ z&;51(TpxtZ3HCl~&pFnZW6T*SEB)yO%3Bl|7?>C0VjtyTVBlrIvG{XD@O>kkFbVv4 zW-BBv{~Y{td#)D%e#f&DQMUVPX<+C0%|;)_(8AJOpWas2Mql5;*2vQC2)>;UyomDY zMZz}v-|UPnElA{z&GliVz=4de9SJiN$$Jhi=J#BzEF{eDnLk7s=(xbZkidw46qI*L zIaqRZ!cxHfxweS0mDwS4J(3P~IqNgEzHTxPjkw#_|cd@LY)?nCmQ zuNW~o1qF!AjFshsk+VMuG}_up1pNH>`MwQ8um2u*@_UP=JrjKOpRW{>D60P+KcfnO zivRogvkqi3XUwP9tZri17d#WZ!kvtFg!$)mcU|vxw1Z*y^ecLNpm0R31Kc#Lij6nC z+KBG@2a-y7df}&G60a;!BYBXYUN4JCGs_@2LRz5?LxD7f*2f7S)hw3wFwD&6m4uKt zuQ~z27gRz}pEnM~l5_q<{k%Tp-|MqVOG5tr<~=cj8eM^+00Jxi(3Zdj!pdW;V@zi$ zlp95k5B^N${cl)tMAHv?cLjex;w71^P|Tc$$-lDT`uF622nOF(+#%O-$YKkWv!=wN zy-!Di9DAUJWNr`^TG1xH_1?;k;6fk5?a1ZpWAH-zO{=|t)+C{AhH~?k-OaHYr~KP= zc{8WOE}TK|-=1~chqDkw-fx+#+povHD}`O+cI*CKrcAvegrQqfDijD|20Ujya;9$OszXG_f%N-FghaKUHh7<32#%Br=M|}z>lu7VNb;$~7W*N$GMFf7 zjYh;D-Nagad>AZjw8ViGU3uP%@!fPIfqp-ntNTs?ADQ@lB*kQUzC*2cz6EVz5p}RF z{pDtOoa1vLK0JS=7{{kO{-_~=qIWbEBq+vJnvYBx5c$3 z>g~a)D=m9d4_We!|3s6>S4@&K+zQQS(8XWk=?lRbGn@PyDbMucKN-=I#sG70+H^dzg)~fDpadR0n2S|;`!gW zNr=i)Q24qw{(p%1uPbAmj~oL-pau>15*bH_|Y5 z@};Lb4`&~n@(PU~)RKiA2@Qf3u>4IT-N>4R7^`6;wry*R7Y;(MK!BRag||t!xo37%_!-u(uJn1?Et-= zAT{m3mjUCIWJ@$;c>1;2-xv+)Hp_b6XGw>UD~&SfC7D zL=aV|@gcv^6R+K*T%Uo+2jQs=P}+IRELTNfiENzv4c=9qy zgqW_bjCc@A+;%_Ef+f%A{L|U;)DUBHc|EA_gxgPu+LQJuC zFv8n-(|sWX?ZDq{gOsJ}jV4EpH8^)+)7BQ^h_aX-f<;`=JU{DGbu^71pD8KmyDCd{ zgMTb8tiCK#IHl?vO{NtuR1cEU>niKo=exsIOb(@@9NzSE#H}#jS(qwwu#M(iUD=3( z$mGkUZ_ZZgLMSM{RVr7gmWoAv*DUWf`hfZ7jo4(KRH14u4UCG4N={y0RCKg&7BzLF z60)9(XcQzwlw4C&)5*zcF~|zxX=7-Ys{J`#`e!R`M(vOCqWr|bm*Pe#MDg*u{zCyC zC;{xH>j0Be=3*fYlwiUmj<*(y%(^1WTkH^4xY^ltIpLU110Mm!XOwLFHuH^$=>8>) zsBc>2eKXU|2@$x*j5d$)Klq3I22b2-^a#%sElA$|rI8{c=wdw6%>G(jfgkqi%CX6~ zKRSy#h08w37YRKoB0?6*hZEc#Nu3HFp;0K3ZFVr{;SJVQ9yO?jRYg}cFrcK2M%L2O zT3lM{o|S*v_!?BI7+`iXl3)l6E)b;8+6m2qcZ}C`#zAEXzZ)8>MEKF*4%{vjvu{6gO!k8b*z-By9F1jJG zoc=y$9NzW4-GteNNLtRqSIY|H@elK?#h$`U$dA(O`aCJ!I^VWNQtxi|%DXA0X9oKF zSIgTUbnb8df=@NTB!A>m9~c@+K}ylEOf(?AE_s`zw)sQO0xwSsSDa|ZSsAXhD zQs@`0)b}nynmb53-R$%Xhf7q0!S5p~*sf3+E?}#6c=?WVKAzlofVaH@MsaM8Eh6nET9F=_d=rZbp?ga_vjAX=2^a0Iv$(TRA(Y;2fI)#@E~FA56_6NU|XE82rf zz(S-E-oaef%=FBw(kX(ZG92D?cdOKaKM^n7AYAk8%oO%d;IP)oJfMsYOky>is5X>2 zY`t8z3HWT)b2iF9TB+Mh(7tEK#ly>6sL{*@Ztq&#?O~TTH3w98s^H7E9T(rtcJ>0H zMPv1xncdMcp?FjRr!8gZTUMHyQT7$Lt}KyY<$4Q3(d$;gIg8Qg z)){eF@#HE*?v(D;@oFyDMfE6O@UVgI;bJ2@?P5@`8%ouMj~;||$#3QIPRdQ4 zEiKKZGwDW-YAQQn)wNMPMp|UJQEoG~6H6p_@J~E!L$UemWkU9bvF)7KhS_)@zESo{ zYg(C^{?5RWT*j9)3LOYDcS#Lv{3>b%P@tXoJ~?2u+#1?DCmrrEPwX5;M4o4(f2ow~ zLBMXKwtCT&2^If>#b!1uTlA~njEx&J|869O(>Fh#>c!g+R=XVFuKnun#=ydo|K@*e zZ@v;@xlHUYSiXK6>Z)?QBpQMUZ=U>HckQeDo71r+o)0(XVd+iE%b5>`b_esZc~Z%6 zs%vQp34Ip_3yDm+h?SLy6;t#5Aj1YnTEm{VKI$zl4xB-FXspDWR5jw}3{ zkBNl^oqarPJ}Rp?dQl%-R5X;x;@@by71YTs6eurQ#nz3?>ZsHHU3WIN#Qo7-h9`J4 zm4apRN0E;-V`Q3Yv}U+G{2sQL2AW5-08amv=MR$~HMy#*uiW3aKiI|nHD&l#T_}cG zqE)=rA8BtiHy`fPAKiK>jv$U;I>!ikY`AtTgXCduZw*iEFk-o^giC&2Eh8+A)E3`pelslu<)N9EKgoSfa|l!VyWA{zs-Cl?nEyG}~wn%!Mp z@Q#j`dq-}`3guWoXIL~z=y{{TojbW~^g%X=XOmL?JN^u(?VgVCMuxg7W^*`ikpAbl z;Z(^BEi4=y(aXanR5Sed+A!Il!Z#Nz+c#GIi5aTi2WC+h6sel!_9gf0RATLlVAN=K znx;3C3je6E-I8ARxHZrFoY=Y8XiGRcP9Dx9NAzu(Z6t+ib#--ru`!y}^!M?YF#1wn z-*-=lDb1VxbYY2QF5ZHS0`*3n&E)Q_u^q^McB+|TtnaPP&R;R?v1_jlG)O!8valfT zvx!pAcC3Lw6NCk9v1>TGt=cWET5G5_99wd$4fFQjinV0hsS^F4D>CUyb&J*>ut5rH z%Jp>L3TT9>h7tdiR>Gg0&@2+Ut*`3?_-XzQ{jhvvMlq@7lJ)a~M$qFk(OkTef#>j_ z!0Ldxw&SMC^EXVPrMG0TpwOYdv@_}nx22ja8s%`~S-LV`t%19(-@C*lvS7HYvr?_B zM^J9o=O<>k^Dc%@LzeP4$W} zz7O9vzS3R`3%TF;%Ej5ru{rOvs|8FfoEvOP5PF9DsBTNGkxf{_3Z45xaR5&^Og z_qkMWSpRtRUIZL(mZY%+-hTS5e|PM^Gn<9si0w5YV9-ZT`mk(my6M|>9)D&yJQ1`8R&S<%XldQ3PlRVJzePhL%f%FEJcQX{{AdZ$J#h_%0J`i)d;M$ zxXln7!vX^3bH#>K01~u zjLK7QY-~)YS`*OfdKncJCGh6ZP>iRk|HnuxEoKK?J;UIy>*~Z(6QKRWs z#kVe}yOUl#=8v?a%?877f0t=Ug6#-wo&cDc?Y3owgoFs{X?J+uNw4>WM(QVa2jfoW zO5(b?xk)VY)6xc0NXAvT-#P$>cXD!)>3(~GM#zPQj*k9mU$-}GK$9X9)TVJ;G=DRBdRLi;t_e7kGuTNBz7tDA&ikQ_hT#5UOzBpMQqCWp*kETOH-*O;Q$Yc22QTk$FY`5;9lDn{ z6AjZkdVBr-iChAnmhWUu1aP#*+rwsOaQDaeXpc{mix5i2wOe60sXFecW}|GjT8+C- zLwZ{362>7+=Y_iji}3?~wmVn1O&e-w@3hp$Oz3S*&!?^jl}p$_lD;|qnJRKvz5cV3 ztbXCXZc8k3A^mVBbY{~{a(5c7x3h^N@oabUvy&%=+J$J9^GUK(Q#02kiA2Lek(MKi z-WuKE&RB@w5l^sSx#8;W${RN4mvaWF!bDB@V>GCm;-B?z?v9){5~ zZX5tf`jvh*-IhtoY3odZ=fke~1w;C(o!iANhsQ3QrDt0dI@Qa3n+!(U-$#18RD#KGrKzg_G_N?FU+=h`J#e@zFXjD8ctjq!qq*NJZ6X9EX^&k~ zcVlN;tlla`O}=4whmBv4-kC3Z_d0D~YM4e4%~M~xP^W@Q?e&k#O&v2h8JWbv>jYZ) zm**S3jf}QeqbwoLXQ&es)kaH@m_V7!j-_G06BZm;E3Mwmk{ctqnF!#!dw;1v|JSupo+%zTy8jte z!Kud6%N;PSX9x%PcURVkFW!CxNW$rKOagc`7f5{sK9avKy#4+CZnp>ZXhb{-CeuZ*s^qSn-;uw6 z|Nh?P+(=zreYVM-me~Cq!=*LNVyOw1!$p-?!Zy|<46b|OT**Ct@BzS6%44bkS6nGdZ(vj!w9*T=RNPF zp0KCFYE=lZp|55Wm-D9Ok#TW7005BD&>(DVak-N5r>BFAXLE+>u&;1&djap25fFeO z7Y+H@-R*bOb{lrG-g`Fwi5LSD(`VX5|L*D}%=wl5?$m0hA1a-4h1Ys-_}NZ=`r7WU zL^7NCY`vvcCQ;VGLOuL^g^(8j;tIEG8zPr&Qqj=2A|@vPEa3iZrQ5}vVc1z&!&wdl zC)h8N{1da;?EB5(_-=QEWiF}D%+cL;~!{vLPkc^fa2($taYbwSo_RX8-6WS zW%cp#2?z?Zfyl5WhXV9iJvbO1&;CT%|5aU`z}ngxjez60$r=UQ*JK3t@^0EvVc+!B z$(i~b|CLvFiClgdt>=AWpeFiiYK!2oRN5F0U$+ZhNjwl}GK3Z2GbXs%bFu72Dm@=P zG~NFysMeYFL;IrvqNRJ>1kPx>hQ9lnhjqJLIJ3v;cu4RR6X)CGSGTv-`hz$)^s3*b z^VbXW)0&3Ee~A}i>rlZWLu2t~ymLlNOY%z*e%H0)ZjBgdR||IiIGidq%`y;!2}D-O zF!)MhTtz&uBTA!ddcJiq@3(m9SVwn}PaI_)f&a(UBEnxd>z7LZs69=nLZC zrs7}gQ)M_IWbmKK1!+S_azsy&zuGDsamvruOMvrYcU@p#_yqy1wKgyk64wegW zdEQ=`+VqLh@R5kMM_=L;Tq9<&W%xZoW>6m-X}koWfubSzCn?Lwj;)|`Ba zfTh@c>QaUI?6iwfN6azOIi2jJJEXg9&qX<^DzTKL@Wdd`8xNw(4wA>qRwO^)+BK3p z)6i_1>Kkl5RSv^%r)Vnf!}&+$$`!E})lsZq`%VGI};C+p= z>E?bvG&F<~%d=z8Wuk<-nQx9HVc(4F&l^%)97yDzZ?kH{0|OReb<<=m@nOk%uNph0 z5o_!Gq=fC(MFo>w^Y&L|tI|xJQ$zD<&!T=9Q=QtSh|QYW2TdZ2u>0k=+!4`RI@nPr?%-T` z$vjn*+bVE?99UG;aSx+J10>72+PZ3 zfjwvIq?Z^eLnIhyD2+F{pr8QmvUGBX!(smoNaHqLKAfLmzce1pfYt2@$pqN~Q)97| z)a8#}?R;kN=~NFF6H};MvlRxMg?liLe*I5}FP&yff<$Z$W@oF*Umbu9Pl^PkRFc*4 zAHj1M-cjDmly%>H`@P=)sj7uu`qPK``y<8DD6CE7N{T$(gL)EdiBVK(PFVuqBF4sK zf&Tj0!GVo|fuTgX(kCT_AWtSeth}5pCsU=`0MuClQps#gAWiEmmIe}83_GZg5QiZgQ`k00;TzN?Vj+NQB_D)0rBaPjXXu4R*aCfROY%~~fFlHO57!ISRy4fj2 z95XO5@Cl;9f(qbsc|iLxewS;F0`6oncziq|$IPh1d4}2(@gCAEM(o;XjXVa6>FD^E zgt~y)xKJ^P)xJyE6I-Eb?duEqViYd-RYPJ2hL|}N9 zG>|RF$12mClTrCJ58YZF@K@>a#~;FO#G*b{Bi2f|4N;t2p4dU89SGGvXz#U&jc7Lc zekhC&@DXo9VTo{QT*<&z}Fv4ruud=U4bN!8?>QlYd^m1 zHpwD^JCj=4#o@A+LT+7ktKUnSwzHCYF^nHW<6L#?e47c^t`#)R_q^wYdjRqg<0hz) zVLr)V3gp6Qz4cQx1nT~_J+q6(GO8nxBtr-%qG7ZcCni|L#RvbKAaPfp{jt8dvxZYp z;5?mC3A?keo2pzk0lRfh-lo)NDQRf~phZ3vr>=*MNS=>AOQ(RT(;wf0{RtFuF9BPf zJ>1&*wA5rD7&6sEm(Gz%kvqdiKu$(>1-3wx?v2e&(P&C36f@J6HeRp?GFC{%=>t;# z+0CuP_8IjQ^~Kp)mrf-ICe_cAtBJ`;*ym_yzf5YYjK;}`oS_)KA_2>-uDDztB3o-~ zLJkfNk)F2p_Mm$A4aH}ls4@Q9+1VKZ2?UY#2_CVAGy z&=U;GJ$v@d3WPbx2H|RhVdZuY-l8Hham-KQM7aRQz_T%2nyVMlXdcvwiSx3&w}$0K zKAcFbw6CY5;OA5df_%dJ{hGOM$Q$2`4@lukDVQlUq<6$wh%h5Ary<$EQ+~FxXcGaV z4j=*9mMd+uW^BCy2xH4gie>8JCMG78XZ5YEt*9+WUKbDUpa5dfYTK7DKRuvqex@tQ zq8rNX&(~nk_G}=H&NNgn8&&E)Lj@CUy8q0~U3^!a#)F1w;cE1gam1Xh-{!AeJkQ|vY* zNJ`8aBGd7}hcG`31mz=sk3?@q_rBJyyjR;>QZpA)JGNR#O)DyO!K$%v?x^NxXTM#F zUw@qtlN^1f4Wf2PwIy%1S6?QrER>U9CCbX4DKajt-@QvqcR|Tgw|1_<^2#(P*HC9{ zZ=jS~J~4`_dQRPpJeN9GBN~V=+Lg*F4C$uTa|Fb**d5a$bVE3_ZOeYB=rK7G5yW4p zMsepYvn-U$hyidqB$3A(;Ki=_>E|Zd{M47!B(rcpkQOesh$fd zDpD?0q)}qvVY`}NR!Wstg0l6wN?jZ-C2wyV0etN_-54y?YUcylm z#j@O)J?FjB`UE!fw~Q^vaD04xHD+^BAlk9SB3@%+q71RnNC*kR9UdMwG~p18S}-Rb zA0Lyv6Tkh*@;20Nd(4~H^+LOPZfwWSY^4q8x7!oB!RyK}ishUTaPl_KtaBh-TuXELev z9&6D}bqEd}@6ounwmf6vpVstxIV~neUb`Ruw!1i%R;kKnV}L9?7FZ8vr}9&-#rLgT z^rdEguPr#+a8#LKVDRUkdI3`LdklypYO~RQOg&TIttYGJ(Iqueq?E9MQyx~mwiZXK zVyJ)C*6J_kO8j-0vmof@T&|hqsJi$R!;c#$9DcdA$lLj9Ks0gO+Y855MERF}EmBpn zTo(o!`#b#-I&tYNS#Moi=gjEO*@5)&nD3n#K$O5HwQF;iA3j&d7!=z4sC|DSOm}OH z6uvlW#=8n+!YQ5tQ|P?H~W0J)>jqLp=Id-TL` zn|QCe*hEN4IYV!`*bKW%P7s3R7p3(j(oVG+9Ys}eYUrg-pQ#ENrq|11q%^*f9ITK% z=hCR0K7feR9JhZ_sO@78jk=f03#jZIsZd5~Ki({#?+g0Ny@Rvt6=H}ol@L=O>5tJTK_@iJg#$;D6i;bqm=I9ffdryk(uBlQRCla znk=9V0gc88>`s-pAIxSWKzs)AKV10&R(S>(PqpzRB^M}GGcp7pG~=_xqU51x=vYkw zwlf-zmEgHB0!|?ir?YMD+>VRZpE7$U8?4s}gjvp->-@JxDWmH_&Kw_G#nGt<0gy$# z*NB3kA;JS%>JeFAuatRyaghgD+DB1QOd_HY;EFi?@kV;eBM9U>U|B%l2?z|t5WaX2 zU)=RJ6Xrznrph4ig7?%Xh;*y;r=UBQ?qP0=d=ePx)DL9khw z0J;_0TwK=<_Do~B%ce?=@Zj;E19Pvpc{d5`4kmvXEiaWBH&RMlMdS2iqo@ImVm*Cd zs{OW$(AK+*HB0N6J5YyzHlPPcekSF*L~y6S4es)opfOoir##)z7kn6rb*gVpitHZH za;!X^(P&5tDM{h=HXh|2X~D*Cz{=OaP*R9>kEAMhr7Irp$>aSrTeJ22HNWx@5QbPD z`j_2W>{7qhw`&wBl}iWXP_(PWLEg*m5rv0`GuBWhy1#i1)e!kCB}ISy&F#S7N}SDN zQA}AmL3borLsWE}Ldo)@tn4cQn>mJ~X}@}VSqz5W#4%_L0AIj;@@P--3g~#S1iW0` zKvn`+Ji)}?(Z*qLwA^Y81XgcvZ;_XQpQWWmI`R%7H1)JUMXka2J%uo#ZKw^-!pT{+m3Yiw*BulP2;-e#HiBpJ9}Spmu5)4@Cf zJ}vmmKqVNkfAI3Wjr+)=Asy@26Ca@b(WmbB;KZ-E6OZFnwQM6*Fp(CcujnE6`jWl*d-l&cMy(4cp`C@EV7Q+5kgs67~ z3G1;XpnG6MGl-nB%_{prwY8}(S7~PA?~hNt6r6{>cu|mV)!6DTJu{Q3+on-r1<_l9 zlAkjj{{GRiRAZe@cVR8Aav1agM%}MSI_jW-n**dme7VM7C|*ce(oBXsTzpA)^4|6( zhbEKXceKhVnd&2cRG+{?^3?UUp#5-x<8dqDz<`nxizU%hAuF+Xp=i0-m8^@jW-_q% zEU{IOUNk$+@CH}i2I`_7f~Yu}`0f#eFr$CmM$R69BDpskuz42x!mBorB zM5V_6rgW;v*t{0zIx_J&YUX ziPT208!sQuXnES-v<1<8xB2rE7VrXj?U4IWTZNQa&LCLKsk^~)}UOf!RJ0H6exWfMWH**@GkgKoIw^7yp05g<$}*BD_$u!kSa z+iHUdFDTmOpfutYd2+Z`+S8Ys9d$pvMMg(=ylVv>04L9!c^0jR@UnvFIT{CCH~f%P&{QX8ZEk8~9W$E#geS65gG z*{YG$K|&6@U&PWv_lrod#RATLKM2Lu+IB&G^z1}ztfxotvQeW(B4+Rr3OH5f$J+j+ zVG($3ws5N%cXwY9JQUBmUwle~hBgjvb6@a+9ldG2_-OXhN%yb{bBpDGE2p-(sm9)- z%ovn#Rl_)ZHzuXoMzg7<__h~v1nG>Au?e)|`y5swOp|RS=SdTbB1;#cOyL-|6oJdS z%iorM-$PX^J9Y5hs3E9&#}Glv?f z)KK({r{;hZ9{+BBv(5UYPfjia>Mx17hx;CuYEW-}PBFoYiAj^|T$z?!>Eq%%K6aoU zjcjcsYDK1Moc4vSHN1J@b~*kFC6YrB&owPXR5viXx?Eu%+OPc{l&KRt1C|rY)|gR~ zPG*a@bhpP89`~pA9&^?K0F%e}>}pIE!+}b6(wlCG$MY>NyZNEZkN?=HJ`5OTk@b9P z;%+uH7_0PembWzdH0si}ISx#w>)gM5c4slM!o+PM*BNg+uZ%A>6NUBJ@ zUk+Q!zTXz+SaC6_bY(Wj81^QOcp~~LN8W+(raDLV!5R(@ZX5I+tav{1K5=XFg*Yfw zukGQ+6sXtRGv&lEz}C+I8S}(g-h_&R8nDY79;w0Yx@z)rx++H5FuYR)!!mkYfea!do&p=&UqeJ{D>=ib4H^6Pn?OAp;Y3Y}HGv!D% zMC0I$AWnPJJs-q<5no8qbsZcXje@fzd@#lY`_QkIm2^;SD3&ODgDot3wg(tj10YwO zf$jHni53 zOjX+z$o5841sG>rqg1@SK)=F|2C!76KiD@gpz|vLBg{SdgRzfh`PNpt=jI6aSx>FM zpI>B3%21g`^FyS_r-wbrW0}E!tM&*h4z;cyZw z&owlfVwnwWtC!2J;Scw>uV1}-G7&kf*Pa3Mv(U;MuNm4f>Gt=*iOYdmuHBnfQc;M6d^SDL?4X)t(YfdtHlIvcuBH@%J4ux1oWH%Ook>UVByN@Q(HEN`oZcz_ z^C2@FxB5tgVs_9yc0$hQvFs25cBVYR0~4Owc6cML9X;eRV0D>Ljp{9>C(4MCxv`ry8|OV zNU#3vbuTcY>6{Lgb2yyBX{K3(;NQGj_upz=aon5oA>NYSY;|5?aw)1q6H9#?o5-#I zOom7O{JoN)x+`frPptE-=5&z)r~CZ%E;(g%|4xwW-@O^eY5cz0*Y&hPOa6~p2ic6w zRi5lFb`~P}ir;{0A*~Ux(S3pW`zl&;^yz(H4wF|fSE#PV!{Xot%jB@Cy2J2L*IZC z6Gr5Z{F-tMxIOtJN1*rtcJ|fzq)a3v5M&;U{jNMFCgxMZ-<7te*J_dRdio-C9r{LEgVk7Yw?uupiPd&aC12G47k^-wI;yV`T-=TSf>sO5)v;E zzv)j!4`cgXRIyU|+WPvF*7RgY6Cz7lS-mIrxFQ89XZUb;-Bz+x9kP(*Ar4K zyB=YyDc*^`K|=&$mV(i$s!E*mR;r_NixU$*yM^BM>4uZDvvn__BL_}@Elc8OplSw? ze+t8TlY~n^u>a;}7VwK?qGl^oaTiDEA0ld8+{~M+En0$aE1BD(6BCMg zyH@tGvS!+B!V*Q;#KgRZ11J?}aKdva@bVvk?y-^TxV#FSSBDlxg;Ld6fF5ap6cEKh zf$;@e28LUl&z_(R2p#7~E9tQCh>KxklA|`T==OL_On5`-@jvRriLx>DkgKZX%QR~- zr{=ulI&1dRptfWZJG1)7uh+{z|~oU4KK}!Bc5yOepv=*I1NEssJ}vpY^BZ3m|hW zR4)uSb5;@R%F|eOn(7f6+HEBdkJN3l&VdDm+t_M+pG0?C0sYGccI6t>_*7Lko!bdV z37*ZRgCrZr<|u!2T--B$@0>X6I2~Z4sMVQSyLgIx>FeujILr|P_u{w%Ns@JuoSJ$& zuj~xEd^eu#K)2eXPoVi_nRM}kQknX;J0jo?$MDtw8FI$uM$HA;^MovbtW^Wcb+^b44>;Xc>xm2y_5_Yw8`AH5dm!%?-ZtafWY=AsDMQNSy2(Q>xCH{ zJUn4A)Q7E%@O1Md7@m-aM7dJi{M4WxAN&&aI^rJgtaRsV%TEDb@-$=;HqfeC^&rflao)dH5eD8Rdvg5~^er&OT-X8g{HmF&`>=yy;(-#Q!Al-93eg z@_bagMZdz8i&i98VKZ*^xG~8~u z&6coj#G;aj!o_=avs)sLl33ZQN=s< z7!KGJ9?!&P#C9Qd9Te7LL=23>#R%Tj_UxhlXt4RFxgM^96mn?#m6x2X7T7Aol^Vuo zJ|AP!rztBd8;Qz?BIFzeK`x#ih@z0JP^SCt=V!gziSQ(lh>1N1Mi;};E6^8<5-lZ0 zN=|x6H5CJq2RbtPmZ(Et)yG&G#3K0-b5*QMm9nG`H__WDy_$K2YyMu_nRq$#MtU0iWC_WjgWICsGG zcZoP~d%l!8>_^gmO6t@NXO%Wk1wB;f&6sD{Q^_mUElMG0UP5_oucn9bJ&0@w1- z;i0sX69=#!+cW>VfN2~HivB<04Ew@ny_!OS!LZ_@4z}%wJaH}XFj1y7s0uGdjsMmf?>74v?n{_R!#WsgEGn3mPUw4f*`DKZSx6R-bI@S+h;)aque zK6)W$-@J_0s(0k1#XOVe^{IV+kk!4CnZ~K2v%l=O80V3%9sunrxwz(c?yIY+Q0SRe zfGi-V5$b4fpKCI$#&RM*`fN`c!VWqjJz0)a6~0VP%C70clH2r&L3d@;FC9ik`1>s< z)5y>7Rzg`%Da3W|aldZIs3B@x9a&wZG{0M4B62$x1TDjx=MQCNWns=zQ4mg?QoFeN zddI+GN7Sc*4=Z>Gq1@k9F>eg*+KgWsLc>k1(_dq2u;eAF<)&B3ted_>!4}Rxk13&{ zHm-Mk!Oyy0^xN0CnhfDmsLWw6h~lX^mcK3CFI;I3^A~WjvVM%1oe)8@W)z zGvYJ#_*MnQuT0e;=}~(IR0{6b3$YyXYVdaUTCl0qDE42sTgRu<5$j~lPLyP;sx9U; z3X6hFMmlhagKe(K`pU$n5y@tVP$xon^Puo=t}NAK8sIdCjmiF`GCqb}37_ASo} zR9Ls;dZ_NsmSVoS&TzTkeCQ1$B!Bk~Ik+42kcdPYz2{z(vi>QKJuQ8yofuMZ1CDT(N`S)KP(vuCN$_sRZoVkr7x5{18gLb{IYM zqlsb5rkB$?g5u)e=}_gYh@o#~f`08NR^(`NKXO7!VA)?+g%d|TP+sg8(hN*v#Xvv4 z-|||9*C^eJpy8J*`c+8Rby1c}O_R^4Zg3yw3o6YN(6$*6CYfVW!7sJzHwMJtrj@xU zRR!N)BF-HvJ z?+W`}zet0Y>#%8*mkmv%w@9EuC%M!yEDXyp$|%yV&eD_;5toAPhu1jRiu57wD}7G2 zh*^ZaacUA{Ya7`oaC#wfdW@L*(q_Rlmn)^nCo5x9FALHm?0_TY0*R;D-ff3n9+4TY zXvPEMKrub^T3h{ixuw(wo|T)P<3Y5rPmw7509kS9lj0KzRSC4&Fzk~M2;>Wg?jn{Q zic#W1vXReSAca@KX+_;WCak{y7;~&F@DQaOFQPthvm0kxL&JCZB__y~oU!JLk?VrB zG9eb;F&}|z22o;{&qnUormOrUp@3bX{Dq#gU`{0>Hq%{6;k|;;%R_JZM#hE!&fU)T z;DUI%f93+eLS|m&sE(2;>;$_wvr6nc79<)+Bzn^flI+ziqq=r2@Y#G+=+FVOhF6xC z4t(+pI}0&EbTS1GthrXUzOs#5m`78dw^_xPG!mP-1x$lq);)z=T~u6O+NMkPYs0iM zSq9|k2-hlinEXx??#|=Qhe6bW(zr+Zx_TF41_%*%wnzML($8!vs$hPUTmj!FsRD!b z8>*hx$J#t!3RIhkFQ_Fe5N|WMR3L2-F8V~=HIpDLh3la()ccdca4G4HQp&a?PZ9WG zUcNS2bC5s7t}w_*vK45Q=;*e!pLfnU`^efr-u#0EX~}nY2D|^yolC0Eu?*zjvB!ar z%r~S8J4ms&UYta%dt^nN82w3zMR*F8Wc@Dkb{UtV%s0N0`jD^s1AMX#8S*MtygO{g+_H49pkK659tI+Icn+ZR9k(0Na{aBRX!x@pV9+f4r$d^wsgIEAO~)W82DZKfcC%RoS8y+ z+&NTKquuYp=-vil&@m%BI7s2a?V2U!O`X?5TX_AS2~e68Fi&WBe3f{2vZeClvN8U5 zsBkv{^=e)pliJf&To<$1fUY6QJpQ9|bITpF#z%Rb$i*NLx+nkyPqT*q*NkLsOBcoi z!vAI@J9dbuxFdP61tBun!T%jQ{T?JR^q<+%r+F4DpZ`7%uIK+fj{5(2i`e-1xK8T- wMq0n`y$XgtjbHuq#Uc2=PyPSlyvLr#!)JHWnCI(YMi@q1MEYZykhahN0VX-El>h($ diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png b/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png deleted file mode 100644 index 18d858d2ccdb501d50d5300e6400ed7e77f4aadb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16145 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 diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js b/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js deleted file mode 100644 index 8bc35a9b1..000000000 --- a/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import DesktopHeaderMainOrSecondaryMenu, { desktopHeaderMainOrSecondaryMenuDataShape } from '../../desktop-header/DesktopHeaderMainOrSecondaryMenu'; -var DesktopSecondaryMenuSlot = function DesktopSecondaryMenuSlot(_ref) { - var menu = _ref.menu; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "desktop_secondary_menu_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(DesktopHeaderMainOrSecondaryMenu, { - menu: menu - })); -}; -DesktopSecondaryMenuSlot.propTypes = { - menu: desktopHeaderMainOrSecondaryMenuDataShape -}; -export default DesktopSecondaryMenuSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map b/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map deleted file mode 100644 index 263beb797..000000000 --- a/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","DesktopHeaderMainOrSecondaryMenu","desktopHeaderMainOrSecondaryMenuDataShape","DesktopSecondaryMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/DesktopSecondaryMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport DesktopHeaderMainOrSecondaryMenu, { desktopHeaderMainOrSecondaryMenuDataShape } from '../../desktop-header/DesktopHeaderMainOrSecondaryMenu';\n\nconst DesktopSecondaryMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nDesktopSecondaryMenuSlot.propTypes = {\n menu: desktopHeaderMainOrSecondaryMenuDataShape,\n};\n\nexport default DesktopSecondaryMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,gCAAgC,IAAIC,yCAAyC,QAAQ,uDAAuD;AAEnJ,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,6BAA6B;IAChCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,gCAAgC;IAACI,IAAI,EAAEA;EAAK,CAAE,CACrC,CAAC;AAAA,CACd;AAEDF,wBAAwB,CAACO,SAAS,GAAG;EACnCL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/DesktopUserMenuSlot/README.md b/dist/plugin-slots/DesktopUserMenuSlot/README.md deleted file mode 100644 index e98b33d63..000000000 --- a/dist/plugin-slots/DesktopUserMenuSlot/README.md +++ /dev/null @@ -1,141 +0,0 @@ -# Desktop User Menu Slot - -### Slot ID: `desktop_user_menu_slot` - -## Description - -This slot is used to replace/modify/hide the desktop user menu. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in the desktop user menu. - -![Screenshot of modified items](./images/desktop_user_menu_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyUserMenu = ( widget ) => { - widget.content.menu = [ - { - items: [ - { - type: 'item', - href: 'https://openedx.org/', - content: 'openedx.org', - }, - { - type: 'item', - href: 'https://docs.openedx.org/en/latest/', - content: 'Documentation', - }, - ] - }, - { - items: [ - { - type: 'item', - href: 'https://discuss.openedx.org/', - content: 'Forums', - } - ] - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - desktop_user_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyUserMenu, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Menu with Custom Component - -The following `env.config.jsx` will replace the desktop user menu entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/desktop_user_menu_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_user_menu_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_user_menu_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Menu - -The following `env.config.jsx` will place custom components before and after the desktop user menu (in this case centered `h1`s with 🌞 and 🌚). - -![Screenshot of custom components before and after](./images/desktop_user_menu_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - desktop_user_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_user_menu_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌞

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_user_menu_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌚

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` diff --git a/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png b/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png deleted file mode 100644 index 05034c484bed8ebbe929c73c08eaab1842946941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9245 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 CCbDt> diff --git a/dist/plugin-slots/DesktopUserMenuSlot/index.js b/dist/plugin-slots/DesktopUserMenuSlot/index.js deleted file mode 100644 index 7f0e5b2f0..000000000 --- a/dist/plugin-slots/DesktopUserMenuSlot/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import DesktopHeaderUserMenu, { desktopUserMenuDataShape } from '../../desktop-header/DesktopHeaderUserMenu'; -var DesktopUserMenuSlot = function DesktopUserMenuSlot(_ref) { - var menu = _ref.menu; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "desktop_user_menu_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(DesktopHeaderUserMenu, { - menu: menu - })); -}; -DesktopUserMenuSlot.propTypes = { - menu: desktopUserMenuDataShape -}; -export default DesktopUserMenuSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/DesktopUserMenuSlot/index.js.map b/dist/plugin-slots/DesktopUserMenuSlot/index.js.map deleted file mode 100644 index f6eaec222..000000000 --- a/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","DesktopHeaderUserMenu","desktopUserMenuDataShape","DesktopUserMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/DesktopUserMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport DesktopHeaderUserMenu, { desktopUserMenuDataShape } from '../../desktop-header/DesktopHeaderUserMenu';\n\nconst DesktopUserMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nDesktopUserMenuSlot.propTypes = {\n menu: desktopUserMenuDataShape,\n};\n\nexport default DesktopUserMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,qBAAqB,IAAIC,wBAAwB,QAAQ,4CAA4C;AAE5G,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA;EAAA,IACvBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,wBAAwB;IAC3BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,qBAAqB;IAACI,IAAI,EAAEA;EAAK,CAAE,CAC1B,CAAC;AAAA,CACd;AAEDF,mBAAmB,CAACO,SAAS,GAAG;EAC9BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,mBAAmB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LearningHelpSlot/README.md b/dist/plugin-slots/LearningHelpSlot/README.md deleted file mode 100644 index 0f28edf38..000000000 --- a/dist/plugin-slots/LearningHelpSlot/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Learning Help Slot - -### Slot ID: `learning_help_slot` - -## Description - -This slot is used to replace/modify/hide the learning help link. - -## Examples - -### Custom Component - -The following `env.config.jsx` will replace the help link entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of replaced learning help with custom component](./images/learning_help_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - learning_help_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_learning_help_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - } - }, -} - -export default config; -``` diff --git a/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png b/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png deleted file mode 100644 index 52eb9b30503a046fbe1444f947a388d80cffae34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18483 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 JzNDVd{{^$2*!Tbd diff --git a/dist/plugin-slots/LearningHelpSlot/index.js b/dist/plugin-slots/LearningHelpSlot/index.js deleted file mode 100644 index d985a51e0..000000000 --- a/dist/plugin-slots/LearningHelpSlot/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import LearningHeaderHelpLink from '../../learning-header/LearningHeaderHelpLink'; -var LearningHelpSlot = function LearningHelpSlot() { - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "learning_help_slot" - }, /*#__PURE__*/React.createElement(LearningHeaderHelpLink, null)); -}; -export default LearningHelpSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/LearningHelpSlot/index.js.map b/dist/plugin-slots/LearningHelpSlot/index.js.map deleted file mode 100644 index 9d35b8162..000000000 --- a/dist/plugin-slots/LearningHelpSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","LearningHeaderHelpLink","LearningHelpSlot","createElement","id"],"sources":["../../../src/plugin-slots/LearningHelpSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport LearningHeaderHelpLink from '../../learning-header/LearningHeaderHelpLink';\n\nconst LearningHelpSlot = () => (\n \n \n \n);\n\nexport default LearningHelpSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,sBAAsB,MAAM,8CAA8C;AAEjF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA;EAAA,oBACpBH,KAAA,CAAAI,aAAA,CAACH,UAAU;IAACI,EAAE,EAAC;EAAoB,gBACjCL,KAAA,CAAAI,aAAA,CAACF,sBAAsB,MAAE,CACf,CAAC;AAAA,CACd;AAED,eAAeC,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md b/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md deleted file mode 100644 index a803d0181..000000000 --- a/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +++ /dev/null @@ -1,132 +0,0 @@ -# Learning Logged Out Items Slot - -### Slot ID: `learning_logged_out_items_slot` - -## Description - -This slot is used to replace/modify/hide the items shown on the learning header when the user is logged out. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items shown on the learning header when the user is logged out. - -![Screenshot of modified items](./images/learning_logged_out_items_modified_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyLoggedOutItems = ( widget ) => { - widget.content.buttonsInfo = [ - { - href: 'https://docs.openedx.org/en/latest/', - message: 'Documentation', - }, - { - href: 'https://discuss.openedx.org/', - message: 'Forums', - }, - { - href: 'https://openedx.org/', - message: 'openedx.org', - variant: 'primary', - }, - ]; - return widget; -}; - -const config = { - pluginSlots: { - learning_logged_out_items_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyLoggedOutItems, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace with Custom Component - -The following `env.config.jsx` will replace the items shown in the learning header when the user is logged out entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of replaced with custom component](./images/learning_logged_out_items_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - learning_logged_out_items_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_logged_out_items_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after - -The following `env.config.jsx` will place custom components before and after the items shown in the learning header when the user is logged out (in this case centered `h1`s with 🌜 and 🌛). - -![Screenshot of added custom components before and after](./images/learning_logged_out_items_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - learning_logged_out_items_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_logged_out_items_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌜

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_logged_out_items_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌛

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png b/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png deleted file mode 100644 index bce54d3e3744b64a199eb24d942fac238e1c60be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16286 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 diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png b/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png deleted file mode 100644 index b4cc6110c13a27e32f99d0539ad9ccf597197785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20319 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%0AK->4(qwPsDrusYP+R2 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 z PX=HmgolH&*b5@x~Y!3V0>#un3*Zsrw`druR{rcRW>%On+bAPV)=aVTwRVH|1 zb%Eg7>({>k`Ehl1b*p&-_i;76D6s>0_1?AOf2Zf^c6XXcAlh*`DA6oNHLoohY~VS& zarlOS6ZeM0i4tB!dO8SN{cE{x&;8uDHhN!@3GoU`PgW<_Z*lg751AU}XgEE-+4p0{ zX4l9GnuMX}3x<65#6>_1l+B7sL56WLPaYYqM7r?P4vyZ?J|KdZ0CA+RTVE+~5}Ygyl2lZwLt3)hj! z)0J`jFy5EGD-9xqhe!39l1n?nKHvJq3AM}Lqu4$Zv26f7zdC?!N)DzH-@k`)iSWMG zwWw=LZ_DpwJ0V@lb)2gt^XFrIb4%4MavGnpO)b8P7gZjsFW<8tqV4PLp*w`HF_F?&;7_5RX1Sace{U<|xWAl-&IRkG#+Qgy{P}k}p7`+NrrlIra?xjNc`(VGJNFM`L(_&!KbDZtg`#vjVKOBOrbpKQRmYSY zY*$xB}ZRM{`pTIy91YA5o4qW?%IS}2L*U1`XHN#=}kOWf3T z63HLO=A@TeY|G0P6rMDXnEFK%M$>A8r|oP@gf){6xV9^1{DrX=y}VQ35$)|LRYk>G zU|Mk^4~0_O%cyh#z%&)~E5`V()zZj;wBqUM|7adhN-Hhp$^Ds!$0(_O>AO8-4gK1k zDdv!nK~{|+Jf)n&mIWuIFNi?onkrmK*czC{JOa29z7+4ySk1!jUhU*E5%1hh>WmG# zuzSL@!S8<%p?pHkjn|@&^NsF)aanHklFUqqWvg>w_vg9!1+=%FB@R}@q(BsY`0yX)gKoIvC0 zWW&937niKLOa~?8U_!-=?w8Pm2I?P>pV`81FaAL+C(@2t-KZXm16-Lv0O(8{c4bCG zzBy^%gy2*FzHx(Z~6;G7KRKG6DFQTYrj7@UIy1jH$11J9J_#c*#(vzvJTU znokhj%J;abwz*18q8*#XqTqi2sW)B}Lt$O;aWGo!9ivR(9`q% ziU-lu7C*qb+EpmuV-9?-fLm&6V~n#cQvdn5BEj|6<_YraNE!-SM!0PMcB(-Bp{+KM z!n(iWn&B~Z03{#IT)2KNnw2_^rFbe4^w_k$5051cKM2(Vu&!Di0#?Y1b};y>Cd%I# zMIQ~n?OGy(P8vw)n7Cei&O0epnd=6yk)97gJAP`_NPn&|spT61Bsz{dU;| zZ8?51DOg43*m|4k?^RZ=A(3{`M^yvefBR`W0$~}<2SO(_|N2{|L9ns0ee&U{mI|jz zxa#p8pBIM#ucY45PBxSg!+;*;o1`wUGlmE?n&m28%#4SPNT;8D#wWt$2%?-6M7FU; zt2ZYV!&Lx^0)fHRk0F8OFXu0H)k0L7Wa_%ah@`mjjF$BIgjk^Xot&$ar(>giNZS7a DfZg8( diff --git a/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png b/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png deleted file mode 100644 index 7eb0f59cce98cf3d8fdd488966b5b09d3d13a396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18555 zcmdVCbx@UE94@*M1(i}nIz+m=Q$nOuIz_s>Qvqq|2I=nZ25DhScXxN6wZHE>GiUCc zd;hsJXXZGL?szw>^?QH$JkQ#Jax!8lFL7T&AP^MsPa+Bs2s}J^ocp* z61Fwavp2D_e5Yh$VE~Z^4`lW2-!U`2W8~mwW#ne#ddJMj%qrznLJfhugNTcKP;yS* zn|H9sP{C_kUX%!VMV$J}Z%J8GJ*$pKG+5FmpvD==@6VHNfjO$~V$SF%*%(35EA-+& z@Lmv4?;TwBvP-f*!TVI!G{VL8bDGELU@n35GNnGl_-aUoPv|-E_g6wcXvNYecge6{ z{qyual0wV=lYicLPP~Bn0s&kBp8d`s{ht>EN9qdx_dy9?IM`2kPFz9xzq?SO^`D>Q zou+*FWxz*Kv;O|4vvkKSeVDVXntC49K}rDoc_DL^S)~-0|6F0hs5o51s8 zJ zYHF%!|9zsxY>h>cdUcRiqvLBF9Pv`^<~+@MW|EH~jN(|>*q;s;noSm(xcJ;Iq}WQ2 zS9?zneM2+<$iKSeISK}XK|kPAKDuU)jgIWyUrD3&Z#E|x1CpKEf7 zD%PmA-J4=E9E|sgih|D4n>KK9axz*k3FgS8NbJv4Utg_;ho;e~mO-$vuv)HGg0VIt z7rS6?h0o^&E>y4~h*&#F$NW2nJEtj+0$G%YP{ zo?QBq`zT}_7$u@9^>`N!<{PJ5Jb2*X;HIXh<+CN; z-dyaPjd{>yj>y9@%Zl)OD+Gntz)R)iUVSc55@#8rNOSkqF5OJ?dVmuwR<^s?Q|svL zRI9foqfst;$IYFXub7K_nIPcB?{=}5Znf9~voHb*?$YXN=X9k}s0)Nvv+k!%3U|5P zri|;wUSA@cS)J!SH{{{rA%u_*S4>Q7V^yZ|hGw z?8C`ib`>7C7Z{sMYilB{p7&D?4m68ik9;rve6^cho0aE3=gGlUs}Hq4J|MMOwchuH z3p{)(R?qsE+A zr9^Wufu*-@q{ZV_wM-Wd+z!3#lXbAnL|{us{hkmh0kMA)H=5s5`26QcNbqg*eEZ$} z=mJP6D9;4b<$jHuZjTpYv9q(+H8w))?TjoJngUx}1?1)B@j0!%FZO2@Ge4s6^70x( zb5Pz=E9ve|6qCD5mS`n?=?+Slqs&vxMO9W-o@;PG@&?|jXJXQqC!hH{iG#rp3Cj@J zLlgK{p-Sl!>$TsnO(#pFhZ5O^rF?YL>cp99v&_j| zDxDTyB9F7zU^(s=(?-1RS3kc$6@Kgkze>K^^s{=ksb6j`1xN&$in%h$+z$QDdxPBn zSw}Pn0sh5{7sjl(D=RBM!o$TfM}cLaQl*o-qr2x@_T2W|DaVgi>ML(k3%H!K<&8ktnygpKPQF?V;~*w|Q7 zQc~;9VFHObdW#d6zDTmb(9m@dk3AMHCu>X(ixU%=-gEVKN#@Yqb6$^|=&LJdLVov8 z$1B~^Cv=*1jIPb8z;K2)TrXkn;QpN1V6ZKP$EnVC{iU9s9@sZJI=UPsM&7t7h({X- zhis*Mg|)$iH;jWH-++>!shQ053L-45kuIleViMTg%m+ecBxEILX>Si%5d29r@%2T9 zGS}DDVb_v*tt4{_veDBIUx~O~9W7I0jKn?s*|s;XR$qloX5D6QY(sN3>uvo&tS6aI z8ncRsh#c)rvp}MB;ZixuqLM&tT3TA3Z9@Z?^n2uTWeBK07esFy>yU%!&C8?I)YNpo z*uw!^0vWH|a0pjFvFkwU_3PI?7UJLXuq=QHx_WvtCU+I*&;l2GdlH9plSelxVco}Z z`tLGb!Ca`#?S;i~3Xj;QPoD}*SaCzkm%YF%O-)U|(*(Q{Psb=)M8R82V4bRJY7r!2 zsOAuV%G3 zT-ISm+Rmt^9Mk}*1m+$SzNm`I%Fh1&m)`O5*ij>qaVSe58*hT(*Ij6G!Jt+B+2F9t z>~x?ROQ&(suVn%pAW*wBSIF-rsMEics9|Zc+H6uLg5Bg@3?T?vN{p8onVHfx6sh`S zZ4@lS|7FAo;`#5axF{5|scWF+bHhxxaA$(cHT~TRW5(#9WRf1vZ!?t2Lb= ziUcgt3(`>R3X7MQ7rW)$rxb37vf5e>ORu9PpW{AW-Mx}X3R%LJ7?j@X#pKk~LBP}S zS}P0&{3|Ofr`x5MJN%9>FDZicsDTVc zr%{uo+wKcFJD5)bejnA|y#4ystG0sAg_J5K_#k%)XDi765`^>h^_A-1Sy>UPF`w41 zXRtsOH)&w02wX!*=`KAKjmzST=jZ4v-CY0 z5yVyqj)x1OX=!QG+xq(YqsGWy$!D&7pxTk}@+QB0OC4YB_4O<1@$qqw<;R3{o7JAX z(-DEIt1Ih=I~Qu@q91;K&p50WzV?O@IJ>%zfw~*zVQy|7&*#PtZ2F#@+#hsaiWwp= z=H})gc`BuZu$lzwkh7cH>Cv+A#&C*c4E5)&#nx7}bb?V+B4NznQ@Y&I5XYkR(b5N)mlJv2`6w55gZ>n35o{buKQ39s@8#PJ>*bCR92S3& zML>Je{yTysGz|@(^A!&d4<@auAlU8j@Gz`;fTpc`&(_7o1!N#(5RW~-K75m-j=`W- z`hmk@xU{qLQn1!?{zpj2*M~cp&znvZiG!P-z+puQ$(2c2nJU+pO5tYfp7M1)-?3S0 zgM;;79ezlm-}0jxy&m~9KZZU*hA)|)pEsE*BL*dkZTsSU+9)l3)Of1Ng=HX?u5)4{ z7PPHQu4h}54VLG-lN9{?so=u$uYKry`}_Hy3o-dz&wiKvV|jfG@!Hs&`Qx5TtKMM} zuhIQot}23+&OQ{Ve4&z6{`bRJfyeq(y<2tlyac9#S+iJ5GZV#DYQGbMVff}c=g^{9 z+65lvSWK&Zx)PyB+U4`9m-Ao-dbPr*r?Fx8h2GqC-+jlPXe31pZjPskb$rCAWUl>tJ)SDN!8-z6 z6-2>8=rMFht7zUK1kv+@s)m|ExzdN8OEa-+^o1S|2X4MfmBX*+7nxTG{wv#w-%vvf zSsGMmXzBib|Hw-`V#J3tU-CSxUEZYlpd>Z?u*>-~RiYncO2EL~O zqVjV*Xh`H|-822Z#ET58hhA1uoy0sI{H49W3F)MV^^X}4RU59~IT1b6)wk%&H3()h z(RB;LWaJf>aYaUp!@sNhf{1qa?f3e@VB2u$_Nj{pWN)BaEa_`aofV?fSCLE1E;ID_ z7JHgm)YJ}+cNmB~8U^l}@rVBQE18-HCI_>%TJUoM+Z{&-L)Vtp6qUP^b0;k&A$23n zJK8Btx+E;I7ONc>(}vIB8@+f2Kv>kd?-GNW_Ws(ADbG%ShONL*O0oHLvW}bU$mN?X zHj5p~x}wTkU{XAubQ6;-&>AVH+v_&z_L^V#Pm*&tuV)(JG z-4~%pN7f?kum~3Aird;s%9xk9$~3)urEZaYNz24hI=YlmSmtX}2?O81i$!$u^HfvE ztuzw*o82@p@5~rP=cIksb-u)mri@4Q6KX$iY#G$Jq-ovb(~~;g?7;yxt~lECkiwnv z5xQ>r5#-t5(@cRQU__AkeX~+xqDVEe^tL8lYV?j04>`_NDD@xCnR_@1AlHWw*|pXhuCi!m_ka-1d{ z2Uh&SWVOB1_z2n%tei>HYS7e^Yq=mid)6GYE#~)X#bdNkS_>?+mGE}9&Z6t=tyFxY z4|j}YrNe>BAl@WmYa8RvW%BRw+3=9r{5D^Erc1e*ctvpBqL=WQf( zrZLMSLkzbvw)Z6rZVwzj1gEXbsXFhPdq#3czWX5`P9(D=d1cAOj7cS5vhu&E`fFvqEl}5Ax$M7%7(-8c$E)1O{I)X(#a`VBXI_5 zSxOc+k$3)HJ*&^jQl_fEUt$s{nQD*hgXcW2L>mrsbmua8trLVo_pk-xp;AS9&G6NZ5DDP zW+>T(8opNRO`r^k(Q6FczMSby6Xn7TCM{oOF&|#SL44@9LrlvI`%~gU&GK&yvm77- zHnxYY>_?PC_C_P`DTbl0f9zw;x!anKJ&vti7A!1A$}7!hoFeo$d);4)EIK@8A2@)zx8W@r-4Rn+Ar3vE%%v0dp@G$Tugh^){zI z0+8@0LaH_EujbV!HhP)nL$?cJ7(Ol|+{ag&QVirElfENOezcgAZM{G_!ZE>igJw9A z36Z3h*&M#eLAmYNV1IVMFgCKBzsw!dB|?8l;yd}B z_Go<*M})mtO3)aV%CvDQPw&JXmfV+(cL}FjWkYn&!?sc>ksW{2Is`FX&sCz{noK7) zdTbVb?0aNModrnemHs!h^w%Rs+V}^RzIJbom@KZa&Tu)>a55WS6XFc1u%yYxJaC^! z{~A}wR@K8jOY91?^B2{Rk$48Hcsg;GV|H`A`l-tiqeY4Q-;pK{ayYd=Ic`QW*Sx$_&PEX_cEnMo`_i-;;iKHZrIzUok0Kh8qTv`D=35M4_@t9M{Q6 ztRG`&B>xeY2PCBrg;4oNXa)JUq1Sv=FNJbMC-J>ms}l9+-&1AqAzD-g(JuVjgV6CZ zx|2Y?ptZ#jZQ>7w+4ASMyup*$t(qzLl%F|?dWYkOX)na5GkW~1i3KRyju6@C!1&C@ z-+9Ha=B>zBilw`S`i0(Z_tK&Nwgm|}w2Og}b)2DDdnD8Q)xizISeZIk)U9Z`oZKUn znfK*$rk2-FIw3c*11&e-Us=ka_6R~!7vnw;#E0phf!nwCMmVXHJ&7&sqNZr^o+p=H zlcUB)0_*xmx>k~hoDc9FEPx6dEe6_=&#!?g08vK!U2Oo83$Iq_tT0I`HoT9BS8{9E zw-h>}b=%HPGQ{pCyUNEdm%r3x6S0`88tS^~$~H&gNEoNXp^{;nXfDDXnIS%c8NDC$ zIPWice$U;30A7v+xo;%#VYm)>Quwz{=^8(=k1Wpp3f!zE!&yEA#`2Bm_pSFtvR|Yo znO##{UD4kR^qr1)5xGZ02`CVG!cy5&-~he~r6T11nx*2&@-y{Ar(nav`?)%sZvdl7 z;A>;Oey<2HMk&AVq7jn=M`FJPels?z$~bLeZ1c`1Uv0JuGz4zXB@Yqxo-@mY<-m!o zcpGk#`iQQurwsq8J9#W6UNHP2Ti`NdG-7ztTo|>T^d)=js8-}M5>X+}icfcDg)X_- zJ?ZGTag{h`yA*9O*I@DDB;Da{(T7rT6VDAVcY{c7dx_)v+@$n$!dK{e=Bo8PJS`Jh z7~r?<5|BAA+uD9=(K2YF06m_0+9OJe*ieRL_zTea$Tdn(&HOEt=-gS?uBSbG&%n{? zaD;>`c|5)PPMBn-vwIZ#*E3QxRrv3sxTy_1JTrJ+h5?QiJ%37u#&``sIb%QohEByl zxqVLg*tijR**9=9U}$l!<0((YkM>+#ZG*3OxMIDH>f^b2-%LttbD5jm3RByi>r3QN zMi;r%DKaXTdotr{-XkQ}<#L@~nrHA}^dmprZk2NFr8Hy31<=7Xl8s5V`kAXo4!sEZ z_g9C7JmF8CBZvO_z}ETZp=&WFe@GK>CgKlCXVV(mx$nxGg2^v3Klwxlvs1GyIeEz$ zlZM`U1~eC=DEixH82ikrsuf({o>;hs>l{g}v(#yhqfxt+Qj_jWX?Y9$G$Zj+S{m6m)oRS04 z=gC*AaaGxI>hF@S>AYwg36PsJ1~z#@SPN-RE+VvgZk} z-90>}Yb@}v7_><_r(X5dH#8{Jn5)6yx41YJf1*<@FlA!XYt{(@(B$a&co`tP$k>dK zVr5A%^=wa;ritGGK)T!nN**mi27q=(`X{k--f-}B4!f~^>>3&x0F9*7sG$Y$AxFvR zQA>l(Dguw=-qOkXz;{1CJqwG_q$E6m3}u@@b2zzk_(y79;g~G@H+$>p;t9%dbiOfb z{lyqrday!-Vd&nle!duG(b^_QsrDzHoSi<2~NS{cWKkL<%5FD0vo7lk(I@r%Z0 zEp}>hDzT5;_B-#1m*tBR*}soa$FN$;K42{3Z%kMzD>u8BV-1r>V^dx|%ic?kxtdrq zIL}j}R`AGtgMn+3j6zA0_nF#Mg-Uv#Iy-?sqtK=&%O@r2>&*R4&NW#}zK!H{4b3q( zsdik}Y^3d@mA9pwDk)RBKVmczKwg|9q@TOw@VMcx z5JLjRF=PJ^j`@|%)6PZ?Sa%5>6lgw=)-?W}Zl*g%ub}%}>15r0^`f)a8o7}=h#+;r1wO=7qBaJl8vhJ^hwujatu#= zWb-eKWAK;A|2ps>AT{RE>dfMYcR|5Row!%So)<0Q+wop%44?mgWpaC4zS-U8FZJ79 zCnA>VlJRZqn|o%|G>OM@jF*2*(*%}-gP6|Xog~Jz#0#P2YjN;BkGa)WK_`i7t?wwLh zj1g+w5-Vfp{u0VV8sJ5i3zwPOMsLgH1at~T@|FISxpG%R?h5k#FHhdcvEc^UviR=v^X#3Bf=k;{?QMe+{9FgGU5xe z64T*a$o72Vwq#Ak;T4x*=}aGo$1H9xvy8OsE>*o-3!F%AmqKyVw%`?}1GS!!+3AXe zGfL^1;XA%v2&D9{M{mb_4ch@IPGX!$7W)G$VkH zi-?J>uC9KIi^F<`otFc|oT;^_2LAHbA@iEK#TfEkMV`O`ZpDypx)l|cdE zb)Hwth;58Xe-l`YR2v=Xn3$LVD7Lh``~hHtEc=?wFlt4u#vBK7aByIMxR3%W(=mX2 zSFip2{h1B=F=A=ePI?;a$Vf?le=#G9pE5cwn(=(f*u;#69J{a;^gd}TKDNmO**Xz?I_U=Rr7$k zwJ|_O+AJQqV$SA@VTSDvUsSQIG+7isajrixQS0Qa7C+@+E-;dOpYbKW))S45CU)(w z-|n7(O{#4-k{qd53C3+KrSZ&p+uY4t26h)YM9}ex7k+?l&6e(aFUXeMa9KKgd9H?1fFAJVs5`g0F9+TM~-r-cBpb8==T^c zW>}*r=D6%ONUau{Lh!jFzkh!UXiEKLapR>n9~hksI3mSLLuv4lApm!lS5{`KRT|oF z{b^t0jAPI-1f-{Ct0zI|M_~XnZ%vhxfC9pngTre43J}S^z@@Clf4l*uWxG2;2e??1 znJOwk$$4&H$J^n115CZrVwSz5qXR~KHM^cmR9n)~(cy60Q)Y^VZ-BxClHpS%B&6Xq z0W?8C2>u3$V$i)prV@2u>inw+fX1c(K19CB*#=OwABBXT0LE{L*~~93jR+8QtKdx$QPBuKH%EzB zT5*6!0$Sq{X~g8-wUdDm4-e09IN4-u9uQ{kFgCd_ibCJYN)`~PAUL_xbc|g(rP&i)Uc4>)9$om@*9i!X!&Mq#azdpbNuGG+W zf2cX2YxbCwJQi+|p4~GIz;4e@otbZUQ|&F}X}W`opknsj14DtIdBQ5(2Z+rp)f9_0 znaEN0bTxHpm{O7|;R|bt41j~I**h63{WEuW#2X&h!efJ}op45jCS=tXa z2|qx7e7`aja&JQLTAm5k(iXcjwd~B3ceh%-DcR# z4pabkTA0%Ml&|zlfjact15`scABMP@#zeB87mSsQqsZtq$u#P*00j4EpAGXEO{rj$ z)8T@>G+g3TcMm?9MD#Cbo6}9@;Z!~zLPA0YS>v3kDOL3v^FW#0Owjp-5DD;)+rwgE zr8^j`tj20FEGFhH2*gbg9Kd&86A(xPc;5MF39i;^5#g8D<3p9P-W3Vp-_^*a;=Pp% zvjK9?$-`p@bRwWut@eawsUAc7D^SwM>U@Tie=Z z0Kh((#|hO>=!2lQ-p{c=>B1&|^Iq$!YPog&c-__2rE6dy3c97^(^C?5c1%F>=E$a{ zZt&rP?Sr@lR5L8ifVM0*ksiE{m$X@WKV~-wn(M&JuYeq@x8FwRP6<=UmSFO@v4_bJ zO0*iwDk?HmnL5q-2I3epM~#gEM-GSq$Y5)L$j#Tk1tmgFzZPBGrg` zyG>>QBivjbhHIA^0ouC9KJeTTaAmHS2Saz)r=TTBI5xRy|27iWFB8hu3oKwhRR-q` zvSGRDI5j4{=I=7SPHoOm^E7@BVBq((v>{7Nx06NcfPx3-Th8CB+grSWw8`9u9%34{YS4H zcK)`*!~q~Puk7q3N(>_eRz8we)Yf|G-JE@zQS}6z9?f_{VVf88|n zvIYP;5vY?yik0ztkw_nk_NOZYfJWvOCgw-rzo0ur1rZDL&41Wv#G z_*+w12pSun-IZ6)u@;`kor@~x{Up!FP1(RE^neP@P~hz#&@O@I(j-SEUkNxElh*y? z{M?+>jf>IuE`LT{^LM%AtY_Chj@A@K$Pa6xt9{^jHNA#!H|A2!R%m*LppAf>zm-R>jzu5^SEsk->#P zeBfYf%Xn}2w8BnY-6+uG7;bMbm4Pto4F64SZ*MO=_M(vYGM%`Bcy1)h^XF|)mUY3Z zEV#BPij8wgk9qw>62OsDA)q+zO+~=eRr@n+t95ZeP#_0HHZxTw-$Fw}r!VEk{&69Z zn__@UNn}UD5#W{g7*TQ;hk-dTV{@uLfxUXmOqwDR$laQnn-vG&reS6)1jfXCPJ|Da zjHZkzNeF`J@tT5PVdLrpeGG_Lu#-f?20RW+h(E)Y;u9rW1EB9xV7(hE zb^_WJHN_!%{YA&u3vOmk4?Qr)6y-aI!usBbDs=1ODuehTtw)QG!Bn(Thegs10g_aB@y@aD3Kxcmel15PBvVLKmEPN?``gPm zn6b9iO+a;cJZt5jR}F-ToSd9LL6Zt7@@LoxJV}kZ@iMt2K;#2r%=g>3>+?yS1m0;z z^@W}ue*hrl?rLhs0c=M!7Y&9tSQw83zXk;QS*F^vT)(FlaX!Cx6}nPz1x?L~Jr>n}Jp?9rWQn zydZLbs4Yyqf#dTbNaWw0Pno}t6NBcR|Ncx7Ku?@b2gzzEu-wRhvqf^UIbt;ycWZFF z_B#SzLt|D-C#w%AC`wyyf`Cro6#)T^^jFLR^M*c9PUOp&0oX))V=$pJM>+|#8|>^Q zJPtcwrB2u5beL^cL@ej(J^)<-AlP9-NFd7smp_ahkZdqtasuw(0O+}{uCGUdjuZ?b zFOZQ*y&mp>Tx@bmi)?$4{TUKw7U|ABG;ckUjeDXhv8%{m$R+cHa0duhM1Br9MEF@2!?f- zAQLQG7-(MwfE|KZL7V4(Iq%d%FS*TSIN#vF<@LY|RHJ7*<49;|Xh6>fgXjRHz_G0! zjmf~kkjm@Q0lW*`m;jrN%p?x0C;rnFAba_6sQhc@N@nvH3fT(c=|X;#KpO|-=gT0y z07MT+A^;r=(<&+#mRD7E0qF~9fN&Z=0+AQ`KiV{W?v&xFpW?|rzd_M*bGt=OW7{$) zP$>-q8Ya-2t%FA6`}gm^6!NW|oL~Z5R*M-7qs_l@!cLBkhG0IVRjc?8&@Y(EalU~K zux}hW`9J{8&(9B<5g(8=t-;i1yE!cV4FP3r&**`AkWU5(m4AeW8UU##08D^Xs1uA~ zFo&&oyDYIO>IL=K8I)jv(t$Q1>8T-j@ZlQ*6ByovgoIRUEeV?4F4-H4fUpm!UFFNa zh=OK0A%kWrsh|?9mc?p;clC+x<-vR>(D3Yx7eawDvl8JLC~nd+M1w29ut~4o1gruZ zhk?*Yq1n|Tk=5jjt!(ZlVExA5v$945x%MkU!Z0960(n(`vBe`AxJ}x-Qx~7y)n|?NYH^C=h!BfgtEwqS}+h z$uP;bHIH4J`8$n}`lU$3!qz~>&ZqxF_WhN3pODOo^iR>=1)amy4E>e+pJy%oWgPJN z;{16R2Iy%*K8sfg%Wp;oW!Vd~kpOjGO7TTFA$68bJ7Ov7_R#@4lw(aSFr^=jK|7JhNCM zI}{bDJQ{eeHS8%uny@1a&XWFsPbj{900MvTOGVwiH;U$mz;opNnZ4@MNU+HMEwjy? zHNl)AOp*mW*S7IK;%<+a{K^+Ez^BU_TYT(s_>z3Do3^HN=-)~>>l>IH*94O-DB2w3 zg7pub&;`^vET*xs_(urD-3~ahego$lXevv!P9GFspa!prOPTwxQ7te4+7wKWWp>L` z7?&|m;enPB6~@AX^8np3vuJ^nq)q!PKQ5!Q{SsFeT#OZ4P5pU4%Y^tl1*arra#7W#n}uZ^Z&Oep=t_zV*?PY{z!@?^+cCRey{932ZQAT$QETAf@J z{h!4jqE@T>#Ar*J1AQ*!6Y}!~vP11a?RO@Z@AN0%1z+x9{C5}i^wLH0|NI&?mYOL) zjJ&KMD~4|WF=ka&Z_+4L``0|5`p1NPK4yaR7|r_`Sv$>02*?lGdIXNCse$UBOL-7E_n> z*q_emm2>{}rM~8Y{fSHV|BeX>H4*;rjs*QLj``nh_ime+JmS1?QdK zz#I(CR~x=v2j?MelSNLoY5wHj_|ZdfVfp#`eVq43$uf;?-zJHEIqd zqz0i%0*cfzdyBV{{zQsjo9gPE!|?fJGW{KxNn2TrMpoCiKa^-{m&T0jFXeWTZBZSV zBoVJm>>LKjJ9Dc>K-;N1Pd%Z7#ksl1+!HCMxw0{uR(W4xW)KaBPg_}9^3KjCqmFs$ zCj@faS5o*NI$}qR3J6cIYo4Kf(+ps_`x%UR2YeV_clyKu%-Jlzyuy(MhHpO=j%O(3 zFE}y{+OF?7c+R^~cKZ6HaaiVhG-8$#AUii2YI|$(hkN9#r%)bG_XK&)vW_eib>B03A z@`;NJu$j%4R8ebir$ZyUi6jXiLD`winBSyRu)u%z%#YFN0KG)J(Fe$`oy*@N6O3W0 zs2D*U4`zB}iyJ{>|6YZjp~1mIw)>?495^OmbR5Zc=Xr+#Fqsa&CY(R5Vu_*hIy#S! zVGdFFT=>SbIXFW}Y^<^R555MP&5myXw75RtF&O93sArZGs^9w99+_=6Rc2YvRC<^* z2<#H*spGim6|D05&1p1+Y(~BNI=2RU@lu+kifYqWws690KyON)n||K9G~oDa>d-K7 zKbc@ht5p-$8x9X(Tne3w{g2xU-8$-%UMXC?9ilYbGuZ@5?1!Z9-v{|FTwmW55^J{F z1lz3UrjMJNOk}VCp>1zxC*6=OpBtuFC1y$juL&}q*R+hWG4{oUV+bMF5BF16;^XE^-7D66Be-zV71L(`1aDw)* zl-sEmeXD})I9jc5nVEb7r8*rWyKz81Jot!N`UH7i#&e-A<;Cj93XfgW2KUi0tJb8z zRxb#oaPqF>9uZBg$(S6EgErk-&#Fh7k<~g19Bq)g_QWLeh>lB}WY{Pi6;^He!e{i@ z0(vx~yDk$js#O|}KfxSMYhU#i^t`fZQQIt1F1)^-6Xk!Xdn)-x7Z-MiN7Fqd*)23bb|O?KFxqfOM94D~n}NRE*q9S2+x13$ ziB#*|=`V?Rzdrh8M$;(&*FtU+GN25X$k!d{7Np*ASeltkvtAmo9lYCz!@5sxszRpr^PO&8G;)Ok zO8k;4(`<8fKzj01F?40%;B~dSsM6mzclYqHRlA(#xWBYYSEx9X6~L^b>j*;i*F88L zf0X+(Bd zfc%Rq9XZEY&UujJ9I9ucAs0Bu_hXP0B%tSMC@m}x3I1pUhX4^*7 ze@-S5lLej3^y%&g;3TLSOD{BQKDUHcw)9slx0|HwX?Ey+mqD_RDK)GerX5 z!+w|%1qB!=hwg8~x8`?|Dhw)##Zbk#tE{@yav#arFQz3&)c%>OOh%ht%gAs6l!n*s zB4lscLOx#!%tK6byu-&=ymVweOq}>Yi%2wy9#$5+*5)La`8VMEn)4;%LjQZbL%ZQ)J6Zckoe< zLpbf$UsUUbR{=34x51J5FdsSrfpEY@v9*K4$6}f54n;Vnq0Kg<1(~(qhV9b<5t?Tn z9U+E(Wz|Z{U(EWl{GX|M9WcG%ZdTh&UATFwYCRX%^4U(FzLw84+c&3MD_`v$;_fh? zOm#Ada}mQROQG$U1q9D4^Rh#PoxhC&U$bC|c6;5VVrXEX^Gb=gemG@@(dGnsIGIlt zsOj^xn_m*e(ZhK^u0p^|BQp+3QWrM%RTR9uzEe|1A-H^0qNzSU?Nl|_0;p{Z3t()0 zmM7PO3~43c0jH`6K+f$M;pLkHIQY}2PZJy##7BT+V6;++&@xPtPHYmy}5Z!=%!LVt7%9be|=@uyI%R zM^FS*_jw8y-14J7ci-mAP%gA_a`IR{j=VT+B{+$8E=DbUP1SpT^^uolckWGsMjE76 zIIZGRoiXZik!kwC(kQ|7-_Rg$7j(_8-Ie_k_dfh>f=Ui)WH<`wV@yzUXqAf?cPD69 z=B~XsJ#MVXrIKZUhi#2lvVf_X;np$p^FR;P1ri#EeSmt^QUHcWCG>qGP_pZ<1L9|l|=Nd2D zNIm4_o&(trXd%kW%QqH0pd*TI4XFOPb@KAE;LHiLC6CPs>n4L{#{l$OULJ*rDBq#c z!R}_bLVnl${9C}6vnD=0yyTvSKoC1&-wOb>eVW^xm!w?^{O}1Pq8skt((c-*)(n#< z*S$qA();xb`^{w%ohS>?EcT2X+BEFmh>mHLOuoG$MK!CA#3Y+nooM0QZH!*=^190T zw5ey**ZD&=%3{+aQz2`>oS{)n+pkuV{k{GhXN-p?8g;3r*d=4(rI=JZj#~aV;kTu& z+wnmG%Oii91z32&xNz0>iBY%aF$c-xvx$swqK)Zffq&YfJ}UlQD8Q;=Ijdc`H&3P3 zFsMqsIMx&XW2MUgJrE}a1_y86oNG9{;x=@%TBwJ^I;iPZ25>|OoDAdkxD8$Ef7>Yt zB@f*#U*5C;2r^Kqv>osvZgJ=;72Mw;VO@~xw9L_JSM>ZrdpL109Mb*{V;1$SUSj<2 z4T{105$f^r(SCMF;A0;_RauL`)zjbQ!IMW zM1iJo<>6ke=Tt(r-fXfUtkvrskK+Lu_0Egd1HLX0|7F!fu_X;Mp)oOJ%ge7pqyCzR zD6PacJ2maCrzf0<7#=t;ezPc1qAkru$@w8ScMvW2dU?wuwP*Lo_!g&!Ku4COR0g+S z3a0}@q%eojsIh|-k9&BY5f!4kQBB-DNoj_rr5p8{jqdN7-S2$kuW*vuyoV;Y%5Kng zAL?6+_$_FopNe$9Mt?KH5*q87w((`vuXnGN&{sKkvn%Df#1Ln9zFUMztV8c`GbmPf zF~f>rh;hc*CjVNJ$L25EGZx7iC8utMxbncZrnktpI&eWmk&7>dEfASKFu`o~z&tmn zx%Ic4EfjBDIzl;HfyrgX7?VM3=mtdtc3_HrZD>;8A0k&Sq~?0D)iviL`2s1pZGJxH z;oem)L*z9C*7ktZh)lpA25QbrjH@4qxgpZkHaT*X*q1}r8-p4hSXzinTgI}J^!p*J z2t6Jw$@QnPCoZ?CQ_}{y66-I|cBXM)hhN9iJ!pEQ<3EC`1M5phOg)2?lUy%Tnq2Id zzFHGu(yNOL3cg}zpHM1M3MMvfO@}+jjHf%Sjd!kVQe_wI=iP zL1G5IbCyQ<2X~I^U94Cjk%tQfdieDM6wL;EKk+wWl~#|ho0?A*i&XWZ>_G`hY34V) z3d3`EIzpw+_6>5upZY_#{>0@xxQ;R1)3f2OwYd>7A`^Lu^Db>ZWv+oKuQ&VkUDq$n zpdXZZKd{l|tIEsJX{*ZQ{>=1rpk+v#E6k`-`UdGPi={vR;u|mI`KW zYIBQl;l;;NCFy6As)luDkK1h)TyN*i7kJ}lEt{{aQggk&Mlbm5BmJ0l^ho8Y)r`)q z)pBVNE@~zx;(?eA5d6rUFJ(yPeHs}h);4vtnK{CCIX4r6qzn!`F1%T=)7=zX+|1{A zZ1&i49v|MHc3QG7nLRdHa9{H`Z*^rSa=$m@zuBnWt9#rU4-KMN)Ht=F=+j}akgnBi z1x`|WtymKYIwcQ-4I^7H_Ho9|w7_-yB7pmQ{UoXdIscR-}()6#5jYN($ z2LD~8NxP5UTzsS#xM%vkUOCU(ydT7C4-Gt=a4#`ADTgns*=b^ahoD^f*q+tebNJ+< zh61a#Xg+FW^cbL;inXoWqU~l=10v@g*e$qHFNk;jF2;B!?cn7B98c(GlT5 zhysBWnY*_%+~L>AfHxvDqoyru?VLT!7KGs--fsy~iL&M`Cz+o{Qib?rP>z{aE5sUX z+)8d=J_DOLhaRFaFX~9B#R3s@HL`Dhun%bzHqZ=nSs(p;2X>}>bN>MqpEp{&lq1lG zd#C6U@(^qz{Z=%hf)={($byf0y85tKSw7k4hh+|q+e@QlA^|gLekQwr5b}J~=RdvA zHV0y>c}orhH5q;ux!Q4`jDnoqMBdfqu#cI5=QCi${;H=(eD5jnt^Hkaa4=5jNAP!- z7kn8{A~-Q4?N~ZEIG8oLn?1X4XlO{DB4bp+ELV#iUl8N-)m?m)T2wv@x-G>o)uh+y zPfJg4$cazRg$Zn8of9g1GQ02CUy (\n \n \n \n);\n\nLearningLoggedOutItemsSlot.propTypes = learningHeaderLoggedOutItemsDataShape;\n\nexport default LearningLoggedOutItemsSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,wBAAwB,IAAIC,qCAAqC,QAAQ,gDAAgD;AAEhI,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA;EAAA,IAC9BC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,gCAAgC;IACnCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,wBAAwB;IAACI,WAAW,EAAEA;EAAY,CAAE,CAC3C,CAAC;AAAA,CACd;AAEDF,0BAA0B,CAACO,SAAS,GAAGR,qCAAqC;AAE5E,eAAeC,0BAA0B","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LearningUserMenuSlot/README.md b/dist/plugin-slots/LearningUserMenuSlot/README.md deleted file mode 100644 index 97fa467fe..000000000 --- a/dist/plugin-slots/LearningUserMenuSlot/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# Learning User Menu Slot - -### Slot ID: `learning_user_menu_slot` - -## Description - -This slot is used to replace/modify/hide the learning user menu. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in the learning user menu. - -![Screenshot of modified items](./images/learning_user_menu_modified_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyUserMenu = ( widget ) => { - widget.content.items = [ - { - href: 'https://openedx.org/', - message: 'openedx.org', - }, - { - href: 'https://docs.openedx.org/en/latest/', - message: 'Documentation', - }, - { - href: 'https://discuss.openedx.org/', - message: 'Forums', - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - learning_user_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyUserMenu, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Menu with Custom Component - -The following `env.config.jsx` will replace the items in the learning user menu entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of replaced with custom component](./images/learning_user_menu_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - learning_user_menu_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_user_menu_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Menu - -The following `env.config.jsx` will place custom components before and after the learning user menu (in this case centered `h1`s with 🌞 and 🌚). - -![Screenshot of custom components before and after](./images/learning_user_menu_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - learning_user_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_user_menu_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌞

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_user_menu_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌚

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` diff --git a/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png b/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png deleted file mode 100644 index 09bfd24e2b1451438d8981ec8239b36d6059ff0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7642 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 KKUaw8eg7Y2*%EaC diff --git a/dist/plugin-slots/LearningUserMenuSlot/index.js b/dist/plugin-slots/LearningUserMenuSlot/index.js deleted file mode 100644 index 22c85c245..000000000 --- a/dist/plugin-slots/LearningUserMenuSlot/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import LearningHeaderUserMenuItems, { learningHeaderUserMenuDataShape } from '../../learning-header/LearningHeaderUserMenuItems'; -var LearningUserMenuSlot = function LearningUserMenuSlot(_ref) { - var items = _ref.items; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "learning_user_menu_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(LearningHeaderUserMenuItems, { - items: items - })); -}; -LearningUserMenuSlot.propTypes = learningHeaderUserMenuDataShape; -export default LearningUserMenuSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/LearningUserMenuSlot/index.js.map b/dist/plugin-slots/LearningUserMenuSlot/index.js.map deleted file mode 100644 index 412eb925c..000000000 --- a/dist/plugin-slots/LearningUserMenuSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","LearningHeaderUserMenuItems","learningHeaderUserMenuDataShape","LearningUserMenuSlot","_ref","items","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/LearningUserMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport LearningHeaderUserMenuItems, { learningHeaderUserMenuDataShape } from '../../learning-header/LearningHeaderUserMenuItems';\n\nconst LearningUserMenuSlot = ({\n items,\n}) => (\n \n \n \n);\n\nLearningUserMenuSlot.propTypes = learningHeaderUserMenuDataShape;\n\nexport default LearningUserMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,2BAA2B,IAAIC,+BAA+B,QAAQ,mDAAmD;AAEhI,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA;EAAA,IACxBC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,yBAAyB;IAC5BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,2BAA2B;IAACI,KAAK,EAAEA;EAAM,CAAE,CAClC,CAAC;AAAA,CACd;AAEDF,oBAAoB,CAACO,SAAS,GAAGR,+BAA+B;AAEhE,eAAeC,oBAAoB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/LogoSlot/README.md b/dist/plugin-slots/LogoSlot/README.md deleted file mode 100644 index 3fb0e15bf..000000000 --- a/dist/plugin-slots/LogoSlot/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# Logo Slot - -### Slot ID: `logo_slot` - -## Description - -This slot is used to replace/modify/hide the logo. - -## Examples - -### Modify URL - -The following `env.config.jsx` will modify the link href for the logo. - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyLogoHref = ( widget ) => { - widget.content.href = "https://openedx.org/"; - return widget; -}; - -const config = { - pluginSlots: { - logo_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyLogoHref, - }, - ] - }, - }, -} - -export default config; -``` - -### Custom Component - -The following `env.config.jsx` will replace the logo entirely (in this case with a centered 🗺️ `h1`) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - logo_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_logo_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - } - }, -} - -export default config; -``` \ No newline at end of file diff --git a/dist/plugin-slots/LogoSlot/index.js b/dist/plugin-slots/LogoSlot/index.js deleted file mode 100644 index 4732c62ea..000000000 --- a/dist/plugin-slots/LogoSlot/index.js +++ /dev/null @@ -1,26 +0,0 @@ -var _excluded = ["href", "src", "alt"]; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import Logo, { logoDataShape } from '../../Logo'; -var LogoSlot = function LogoSlot(_ref) { - var href = _ref.href, - src = _ref.src, - alt = _ref.alt, - attributes = _objectWithoutProperties(_ref, _excluded); - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "logo_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(Logo, _extends({ - href: href, - src: src, - alt: alt - }, attributes))); -}; -LogoSlot.propTypes = logoDataShape; -export default LogoSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/LogoSlot/index.js.map b/dist/plugin-slots/LogoSlot/index.js.map deleted file mode 100644 index 56226a2d9..000000000 --- a/dist/plugin-slots/LogoSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","Logo","logoDataShape","LogoSlot","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","id","slotOptions","mergeProps","_extends","propTypes"],"sources":["../../../src/plugin-slots/LogoSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport Logo, { logoDataShape } from '../../Logo';\n\nconst LogoSlot = ({\n href, src, alt, ...attributes\n}) => (\n \n \n \n);\n\nLogoSlot.propTypes = logoDataShape;\n\nexport default LogoSlot;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,IAAI,IAAIC,aAAa,QAAQ,YAAY;AAEhD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAEC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IAAKC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAE7BX,KAAA,CAAAY,aAAA,CAACX,UAAU;IACTY,EAAE,EAAC,WAAW;IACdC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFf,KAAA,CAAAY,aAAA,CAACV,IAAI,EAAAc,QAAA;IAACV,IAAI,EAAEA,IAAK;IAACC,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,GAAKC,UAAU,CAAG,CAC7C,CAAC;AAAA,CACd;AAEDL,QAAQ,CAACa,SAAS,GAAGd,aAAa;AAElC,eAAeC,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileHeaderSlot/README.md b/dist/plugin-slots/MobileHeaderSlot/README.md deleted file mode 100644 index 566f47081..000000000 --- a/dist/plugin-slots/MobileHeaderSlot/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Mobile Header Slot - -### Slot ID: `mobile_header_slot` - -## Description - -This slot is used to replace/modify/hide the entire mobile header. - -## Examples - -### Custom Component - -The following `env.config.jsx` will replace the mobile header entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/mobile_header_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_header_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_mobile_header_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - } - }, -} - -export default config; -``` \ No newline at end of file diff --git a/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png b/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png deleted file mode 100644 index df026339c70a1463407ef9940214be506077a405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15830 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 Aq5uE@ diff --git a/dist/plugin-slots/MobileHeaderSlot/index.js b/dist/plugin-slots/MobileHeaderSlot/index.js deleted file mode 100644 index 6d6fed01f..000000000 --- a/dist/plugin-slots/MobileHeaderSlot/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import MobileHeader, { mobileHeaderDataShape } from '../../mobile-header/MobileHeader'; -var MobileHeaderSlot = function MobileHeaderSlot(_ref) { - var props = _ref.props; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "mobile_header_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(MobileHeader, props)); -}; -MobileHeaderSlot.propTypes = mobileHeaderDataShape; -export default MobileHeaderSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileHeaderSlot/index.js.map b/dist/plugin-slots/MobileHeaderSlot/index.js.map deleted file mode 100644 index cf73f2d93..000000000 --- a/dist/plugin-slots/MobileHeaderSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","MobileHeader","mobileHeaderDataShape","MobileHeaderSlot","_ref","props","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileHeaderSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileHeader, { mobileHeaderDataShape } from '../../mobile-header/MobileHeader';\n\nconst MobileHeaderSlot = ({\n props,\n}) => (\n \n \n \n);\n\nMobileHeaderSlot.propTypes = mobileHeaderDataShape;\n\nexport default MobileHeaderSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,YAAY,IAAIC,qBAAqB,QAAQ,kCAAkC;AAEtF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA;EAAA,IACpBC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,oBAAoB;IACvBC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,YAAY,EAAKI,KAAQ,CAChB,CAAC;AAAA,CACd;AAEDF,gBAAgB,CAACO,SAAS,GAAGR,qBAAqB;AAElD,eAAeC,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md b/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md deleted file mode 100644 index ffa8dd619..000000000 --- a/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Mobile Logged Out Items Slot - -### Slot ID: `mobile_logged_out_items_slot` - -## Description - -This slot is used to replace/modify/hide the mobile user menu when logged out. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in mobile user menu when logged out. - -![Screenshot of modified items](./images/mobile_logged_out_items_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyLoggedOutItems = ( widget ) => { - widget.content.items = [ - { - type: 'item', - href: 'https://openedx.org/', - content: 'openedx.org', - }, - { - type: 'item', - href: 'https://docs.openedx.org/en/latest/', - content: 'Documentation', - }, - { - type: 'item', - href: 'https://discuss.openedx.org/', - content: 'Forums', - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - mobile_logged_out_items_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyLoggedOutItems, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Items with Custom Component - -The following `env.config.jsx` will replace the items in mobile user menu when logged out entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/mobile_logged_out_items_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_logged_out_items_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_logged_out_items_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Items - -The following `env.config.jsx` will place custom components before and after the items in mobile user menu when logged out (in this case centered `h1`s with 🌞 and 🌚). - -![Screenshot of custom components before and after](./images/mobile_logged_out_items_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_logged_out_items_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_logged_out_items_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌞

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_logged_out_items_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌚

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png b/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png deleted file mode 100644 index a6f3ba1bc7e8cf23b3b6cfde3f630f30a51fb9c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5701 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 LP=Lvqe*C`xQdUfe diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png b/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png deleted file mode 100644 index 36b0527f878daa562be6609abbdc8c97df069f72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10042 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 Vn@&E?lwe;QBqON+FA>-G`#)e%DZBsx diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js b/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js deleted file mode 100644 index 9f8d83b70..000000000 --- a/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import MobileLoggedOutItems, { mobileHeaderLoggedOutItemsDataShape } from '../../mobile-header/MobileLoggedOutItems'; -var MobileLoggedOutItemsSlot = function MobileLoggedOutItemsSlot(_ref) { - var items = _ref.items; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "mobile_logged_out_items_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(MobileLoggedOutItems, { - items: items - })); -}; -MobileLoggedOutItemsSlot.propTypes = { - items: mobileHeaderLoggedOutItemsDataShape -}; -export default MobileLoggedOutItemsSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map b/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map deleted file mode 100644 index 51d127e7b..000000000 --- a/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","MobileLoggedOutItems","mobileHeaderLoggedOutItemsDataShape","MobileLoggedOutItemsSlot","_ref","items","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileLoggedOutItemsSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileLoggedOutItems, { mobileHeaderLoggedOutItemsDataShape } from '../../mobile-header/MobileLoggedOutItems';\n\nconst MobileLoggedOutItemsSlot = ({\n items,\n}) => (\n \n \n \n);\n\nMobileLoggedOutItemsSlot.propTypes = {\n items: mobileHeaderLoggedOutItemsDataShape,\n};\n\nexport default MobileLoggedOutItemsSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,oBAAoB,IAAIC,mCAAmC,QAAQ,0CAA0C;AAEpH,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBAELN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,8BAA8B;IACjCC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,oBAAoB;IAACI,KAAK,EAAEA;EAAM,CAAE,CAC3B,CAAC;AAAA,CACd;AAEDF,wBAAwB,CAACO,SAAS,GAAG;EACnCL,KAAK,EAAEH;AACT,CAAC;AAED,eAAeC,wBAAwB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileMainMenuSlot/README.md b/dist/plugin-slots/MobileMainMenuSlot/README.md deleted file mode 100644 index 5eebd7bb7..000000000 --- a/dist/plugin-slots/MobileMainMenuSlot/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Mobile Main Menu Slot - -### Slot ID: `mobile_main_menu_slot` - -## Description - -This slot is used to replace/modify/hide the mobile main menu. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in the mobile main menu. - -![Screenshot of modified items](./images/mobile_main_menu_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyMainMenu = ( widget ) => { - widget.content.menu = [ - { - type: 'item', - href: 'https://openedx.org/', - content: 'openedx.org', - }, - { - type: 'item', - href: 'https://docs.openedx.org/en/latest/', - content: 'Documentation', - }, - { - type: 'item', - href: 'https://discuss.openedx.org/', - content: 'Forums', - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - mobile_main_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyMainMenu, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Menu with Custom Component - -The following `env.config.jsx` will replace the mobile main menu entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/mobile_main_menu_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_main_menu_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_main_menu_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Menu - -The following `env.config.jsx` will place custom components before and after the mobile main menu (in this case centered `h1`s with 🌞 and 🌚). - -![Screenshot of custom components before and after](./images/mobile_main_menu_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_main_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_main_menu_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌞

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_main_menu_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌚

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png b/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png deleted file mode 100644 index 00c82a7871c5deb32111eca891ee1af46633d2dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8549 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 ND9WkI7Rs2s{9nrjhqwR$ diff --git a/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png b/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png deleted file mode 100644 index 0f2e75bad71812831aa3c644aa6b9dadeb8786b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9200 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 S z$84ms12eE|FqkC|1#9210-=i+Ew+{?#>dAOfgBQEyr6>eIoL`$VAoUbM>hiN#A>Qz;UUtEmuP>wjsl+`D%#w0LCtIgg^3%C*cQ_e{F{T;-w0D8VJK3hr!f zU@inTBTowumfWDJ9bmLUF^V1dbL!akPT#X?6iHV8vsVSh^E5J7$ zl9wYB6I%pRe7aKi{>fVW0s;ZRm9ZekOH1{<(sp{fy4BrTdRxt=`xKH|9};DpQVsqS z%R9BVdvb?HvFr|8_f#{w3ne0RAS zQnPpEtR01Cz7`g~-QD$hZ*#8!Bvt6b z1zWLH$9&oofG|`ZYrpgbX4i%sq|?-1n?W!vwt;TGg!^LE%3;->tOblgPJ|ehHc#s) zuAL<93~wMxAY&y*abz+6@%(TYr*t?u04`gYPF1YrH!}|GXR#JZJNbXH7Ez&;m4@om zr%$Jqlq&nbHR!#J(aHGuQB|AEU5X$HNQQ{NKkPd01Xu|M<_yS#_!|Z)3b0=MXMv-z^>+589u;pN)t`oeR+eZ-$W7FzIOE^t&XNyyu>bD~%Krx6$o>mx6wMPJ z*92nY;|Dr}jx%G=yU7faFbBTmK7%SQCQgcS^j@&9L!hDg~1aT#{Z;b^?6U zpTegR_x}x2xE5gdAZ-B+frvZu3#YxS&^nbII;R!=W3Q#vw#Bugv=XGgLY_eeU^6p* z0|Ntc^uQMA#1I|{$8kvnat1y2A&95i0q3%});so8=0Szm<@~CBIY^f2*+dckMRvWA z$9cjHKjr7wJK!j_J|sm(cJL4C=Ni83oqdf0o2}Tf%HN4cJN~oLTS5@787~Oxq&%AJCseILqIPiKcv?fO(t?KX#M0<8*&vM;qmy*#Vy2)4VTRvF}Z!) z-zFZM8t5y7P?8VqnBTXiA|$E^hgJHY$As0+OMXaBA8SxPVMeU_cajbOgC*nX!4l zY(`9sj5M8{opUx`LpBA!gP@`sjz$E2F#Kn?1ZYZwZke8b26Sj)gS?g9d&kzi;0z&T zu&t$q>UZ=*hac0f6u`C9L>v-MiYQOB(No+uG`t1&Mxyf%`W#XG?A`+i5=wJ$qBqbCu zq-b!3aK>lblW*D%bFv8n4<{d^!`=&)qd!Bqvu~=58_8O`%qx1YQ@scFtM&c$>lXsf zY{tTT;q=lb{!(#@g6FsEX}bhVIAn~AYb1{ZvO~}9>C8A-HYh&wVIP6#hDv%)VnH(_ zkXjJ%0URzyo!YSP|Mn7&UG8V1w1LUUfmMM$u-`bOT}irQa7^@|(#Nv^%~avNVKvj8 z6`Ror5wiS*lZr~&fb3Cpjc7x2a~jCx*2SwyW$XCokb!SKF>BBp=Y}S z_zDeZ49JJvB0x~VMaqAy1J;3(+#Fi)s|Tge%FoX%FHfuuWgT;s6VSMvm?6q}`&sSC^L=cm+B*kuL29!jo=trK?xa#iJnt@b!& zj1qVS+u}Vin1r(@RmPt`j?L9FLw|iFs;;VfIPh^~aeSaYE8LbZLvo^v=Dit5{yq*KN}sqBn6@E9=vvyu$iUJU6|} z7MpZ0M{;G@4)b^Zc;&ZnZh190_tefjkoLhYHrCg>9uGPZ9D7Zx1Pw#4I2)UJ0?Xf$5TgrF2d{j>io~CXEuQ}Y*IWqMI!}5zwi*o>7rv6-%YG+!E=62 zyPDyM=5!lRiHm=RCY%qMhQlG~?Sk78QonVMp$U>dIvOf+%GpIr2rSjZhqu9uo_OUs&SS-~bYUzZF1=8Q@>B}IJy+AaNgi(|p?~PCkEJXZ zL!!1dKEqPmZN@KLFG}hD2y<1dRgG1_2hw*Di|V%bjrDvDGtc!n$BfUt^b43_(@#Ca zG)kL)lQH2Yc*Wk$V+rH>$Sc1fe0!GcfPv>WW?L=~GZlT& S4gMMjaZ^=WCGXm!=l=nbrcQ?d diff --git a/dist/plugin-slots/MobileMainMenuSlot/index.js b/dist/plugin-slots/MobileMainMenuSlot/index.js deleted file mode 100644 index c8c879412..000000000 --- a/dist/plugin-slots/MobileMainMenuSlot/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import MobileHeaderMainMenu, { mobileHeaderMainMenuDataShape } from '../../mobile-header/MobileHeaderMainMenu'; -var MobileMainMenuSlot = function MobileMainMenuSlot(_ref) { - var menu = _ref.menu; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "mobile_main_menu_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(MobileHeaderMainMenu, { - menu: menu - })); -}; -MobileMainMenuSlot.propTypes = { - menu: mobileHeaderMainMenuDataShape -}; -export default MobileMainMenuSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileMainMenuSlot/index.js.map b/dist/plugin-slots/MobileMainMenuSlot/index.js.map deleted file mode 100644 index d00b2e510..000000000 --- a/dist/plugin-slots/MobileMainMenuSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","MobileHeaderMainMenu","mobileHeaderMainMenuDataShape","MobileMainMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileMainMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileHeaderMainMenu, { mobileHeaderMainMenuDataShape } from '../../mobile-header/MobileHeaderMainMenu';\n\nconst MobileMainMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nMobileMainMenuSlot.propTypes = {\n menu: mobileHeaderMainMenuDataShape,\n};\n\nexport default MobileMainMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,oBAAoB,IAAIC,6BAA6B,QAAQ,0CAA0C;AAE9G,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA;EAAA,IACtBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,uBAAuB;IAC1BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,oBAAoB;IAACI,IAAI,EAAEA;EAAK,CAAE,CACzB,CAAC;AAAA,CACd;AAEDF,kBAAkB,CAACO,SAAS,GAAG;EAC7BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,kBAAkB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/MobileUserMenuSlot/README.md b/dist/plugin-slots/MobileUserMenuSlot/README.md deleted file mode 100644 index d75e08e85..000000000 --- a/dist/plugin-slots/MobileUserMenuSlot/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# Mobile User Menu Slot - -### Slot ID: `mobile_user_menu_slot` - -## Description - -This slot is used to replace/modify/hide the mobile user menu. - -## Examples - -### Modify Items - -The following `env.config.jsx` will modify the items in the mobile user menu. - -![Screenshot of modified items](./images/mobile_user_menu_modify_items.png) - -```jsx -import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const modifyUserMenu = ( widget ) => { - widget.content.menu = [ - { - items: [ - { - type: 'item', - href: 'https://openedx.org/', - content: 'openedx.org', - }, - { - type: 'item', - href: 'https://docs.openedx.org/en/latest/', - content: 'Documentation', - }, - ] - }, - { - items: [ - { - type: 'item', - href: 'https://discuss.openedx.org/', - content: 'Forums', - } - ] - } - ]; - return widget; -}; - -const config = { - pluginSlots: { - mobile_user_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Modify, - widgetId: 'default_contents', - fn: modifyUserMenu, - }, - ] - }, - }, -} - -export default config; -``` - -### Replace Menu with Custom Component - -The following `env.config.jsx` will replace the mobile main user entirely (in this case with a centered 🗺️ `h1`) - -![Screenshot of custom component](./images/mobile_user_menu_custom_component.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_user_menu_slot: { - keepDefault: false, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_user_menu_component', - type: DIRECT_PLUGIN, - RenderWidget: () => ( -

    🗺️

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - -### Add Custom Components before and after Menu - -The following `env.config.jsx` will place custom components before and after the mobile user menu (in this case centered `h1`s with 🌞 and 🌚). - -![Screenshot of custom components before and after](./images/mobile_user_menu_custom_components_before_after.png) - -```jsx -import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework'; - -const config = { - pluginSlots: { - mobile_user_menu_slot: { - keepDefault: true, - plugins: [ - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_before_user_menu_component', - type: DIRECT_PLUGIN, - priority: 10, - RenderWidget: () => ( -

    🌞

    - ), - }, - }, - { - op: PLUGIN_OPERATIONS.Insert, - widget: { - id: 'custom_after_user_menu_component', - type: DIRECT_PLUGIN, - priority: 90, - RenderWidget: () => ( -

    🌚

    - ), - }, - }, - ] - }, - }, -} - -export default config; -``` - diff --git a/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png b/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png deleted file mode 100644 index c6c302ab1231e79c9fc4787f7935a342ca33cc5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7939 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 L8VY4{uS5R}6(++y diff --git a/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png b/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png deleted file mode 100644 index d635fb75bb1da1943c53a196b57b225e7885b9f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13713 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 QT?+E>p0;}FU5hvW1^TH?#sB~S diff --git a/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png b/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png deleted file mode 100644 index 33d068fafad375711b1e0af0472c448bf07f464d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9173 zcmb`NcTg1EmhBr60|J7AfFx}ML?ma4Dp3gnl5+;3$vLY?7DQCCC|M9ta&8q#lEfxA zL2_(zj&fa_d);b;jNJXBM_$o01fgn{>kWoh<2t48E zu5)ML|72XT@C(Fg*L#YO&%u9w=PbhD-?VPBI&K<{R&JiAE|v&u2S=18r>nV(rKN+b zjicKNAzBh1#EO5=eHTkpH(N)CYmaSFmI!6|LDk&t8Xxa99+5kOymth6uJQ5k3CJTU z^$>__2t}E@kG)cGBffr*r&F8Px)Kk9rO%!JNG?NaC_}RUgqcbp>vZhmDfI!$1w9T; zud*l3YW?LCmWJ*e+fN8T=c}V?7SdZ7PM!LbF3Vi$f|ffUa*n{|sX;>f^b(V^)#Xbj ztcm0z0b|@0GwrVL_nZ^_W)o+{U7K2}ZA%sJXP*xtNEkm^a8yTs8fW?;{8E9Cg2I*^ z^I5g`MD=k-w`2C+G*iP#nx|aG5LNfU@g-4@6JKjVBfUM+EPi^ z`p8NEb!f(x`Lde1E7h`#Gso@Q7PFnHZ{EHg-#Ivc`V>vb(}wYH(=Od*cG`t?+j@U6 z7=qk_f~?}=OKDy5Hz|>n!~`ZKgYfS0ZL&EksR~L;_Fd?A22*-;%V#e#TFm|axa%jG zqQYk06m^}AEi}KVK8d5S@|g)w%WPU;XJ@LIE;>LWU#kE~e(qI5LQA##;@n_~bv~o< zI2U!+qnkgU5}q9>w!F|B!xZx*jZwnqRc!3t=4ghDCo3K`iYhAE_e06{i)n4s1;^_x z+paXdq&xeqLwKy6zf0V8^b6OmTNBn&2eg3)*fE4oosVE*Vj^eZU3h5*^jKH6a`Hg6 zyIs!#tk6%ADa3TO!!aOkw9Z$aVL(w)F*7^+*59nycOeHK?}yR|*pMUmtvjclo@EU4 zF~$gZFMP_`?K(MBwHKlzA|i5I8Lg9bkGh(SE$-zT7wz&ox^!N@++J7dyOF+rWY;X= zLZC>w{os$8j^vC{baCl3pxRU)TP5rmL25P!RWQKIL@z{7_R_r6~YkhZd7g@q1# z&!(n`I3r!qrZnRFa~Z?_J0rpOt~=E4Sv~u161mtt$WnC^ezCr>A?mm5)N|0&+bigs zzJO7cdihx)Ob&(Ol#gMQbu`NoH1eLNdSYisE9ob)GZq+_aq!^bLt0+5(~Ert8MU=3 z>+3FkpLH8rVwpeX=GydZcgr(PhtN5EC@y~e;sSMf?z<~RuENUvg=iTvM)4Lnk#q+p z;ulEf?U|*4ug`z|`jvYi=Dt8FC@82_L2cWzva_)}858&F)whx^N$k{d&U>GTKY#wP zVjn(uup4u-8zYBZ@(}Bi*r6v2eICl_liQf#`EodGgy`pGTZ*s-DQ`>FLEC2s;dW_4)S~8IM`$!|u}x+0#6g4)Q

    }S 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 J;XRXQ{|0T4L`eVu diff --git a/dist/plugin-slots/MobileUserMenuSlot/index.js b/dist/plugin-slots/MobileUserMenuSlot/index.js deleted file mode 100644 index 095834c16..000000000 --- a/dist/plugin-slots/MobileUserMenuSlot/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; -import MobileHeaderUserMenu, { mobileHeaderUserMenuDataShape } from '../../mobile-header/MobileHeaderUserMenu'; -var MobileUserMenuSlot = function MobileUserMenuSlot(_ref) { - var menu = _ref.menu; - return /*#__PURE__*/React.createElement(PluginSlot, { - id: "mobile_user_menu_slot", - slotOptions: { - mergeProps: true - } - }, /*#__PURE__*/React.createElement(MobileHeaderUserMenu, { - menu: menu - })); -}; -MobileUserMenuSlot.propTypes = { - menu: mobileHeaderUserMenuDataShape -}; -export default MobileUserMenuSlot; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/plugin-slots/MobileUserMenuSlot/index.js.map b/dist/plugin-slots/MobileUserMenuSlot/index.js.map deleted file mode 100644 index 1b705984e..000000000 --- a/dist/plugin-slots/MobileUserMenuSlot/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["React","PluginSlot","MobileHeaderUserMenu","mobileHeaderUserMenuDataShape","MobileUserMenuSlot","_ref","menu","createElement","id","slotOptions","mergeProps","propTypes"],"sources":["../../../src/plugin-slots/MobileUserMenuSlot/index.jsx"],"sourcesContent":["import React from 'react';\nimport { PluginSlot } from '@openedx/frontend-plugin-framework';\nimport MobileHeaderUserMenu, { mobileHeaderUserMenuDataShape } from '../../mobile-header/MobileHeaderUserMenu';\n\nconst MobileUserMenuSlot = ({\n menu,\n}) => (\n \n \n \n);\n\nMobileUserMenuSlot.propTypes = {\n menu: mobileHeaderUserMenuDataShape,\n};\n\nexport default MobileUserMenuSlot;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,OAAOC,oBAAoB,IAAIC,6BAA6B,QAAQ,0CAA0C;AAE9G,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA;EAAA,IACtBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAACN,UAAU;IACTO,EAAE,EAAC,uBAAuB;IAC1BC,WAAW,EAAE;MACXC,UAAU,EAAE;IACd;EAAE,gBAEFV,KAAA,CAAAO,aAAA,CAACL,oBAAoB;IAACI,IAAI,EAAEA;EAAK,CAAE,CACzB,CAAC;AAAA,CACd;AAEDF,kBAAkB,CAACO,SAAS,GAAG;EAC7BL,IAAI,EAAEH;AACR,CAAC;AAED,eAAeC,kBAAkB","ignoreList":[]} \ No newline at end of file diff --git a/dist/plugin-slots/README.md b/dist/plugin-slots/README.md deleted file mode 100644 index 12071fb4c..000000000 --- a/dist/plugin-slots/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# `frontend-component-header` Plugin Slots - -* [`logo_slot`](./LogoSlot/) -* [`desktop_main_menu_slot`](./DesktopMainMenuSlot/) -* [`desktop_secondary_menu_slot`](./DesktopSecondaryMenuSlot/) -* [`mobile_main_menu_slot`](./MobileMainMenuSlot/) -* [`course_info_slot`](./CourseInfoSlot/) -* [`learning_help_slot`](./LearningHelpSlot/) -* [`desktop_logged_out_items_slot`](./DesktopLoggedOutItemsSlot/) -* [`mobile_logged_out_items_slot`](./MobileLoggedOutItemsSlot/) -* [`mobile_user_menu_slot`](./MobileUserMenuSlot/) -* [`desktop_user_menu_slot`](./DesktopUserMenuSlot/) -* [`learning_user_menu_slot`](./LearningUserMenuSlot/) -* [`learning_logged_out_items_slot`](./LearningLoggedOutItemsSlot/) -* [`desktop_header_slot`](./DesktopHeaderSlot/) diff --git a/dist/setupTest.js b/dist/setupTest.js deleted file mode 100644 index 95e0e5866..000000000 --- a/dist/setupTest.js +++ /dev/null @@ -1,125 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ - -import React from 'react'; -import PropTypes from 'prop-types'; -import '@testing-library/jest-dom'; -import '@testing-library/jest-dom/extend-expect'; -import 'babel-polyfill'; -import 'jest-chain'; -import { getConfig, mergeConfig } from '@edx/frontend-platform'; -import { configure as configureLogging } from '@edx/frontend-platform/logging'; -import { configure as configureI18n } from '@edx/frontend-platform/i18n'; -import { configure as configureAuth, MockAuthService } from '@edx/frontend-platform/auth'; -import { render as rtlRender } from '@testing-library/react'; -import { IntlProvider } from 'react-intl'; -import AppProvider from '@edx/frontend-platform/react/AppProvider'; -import appMessages from './i18n'; - -// These configuration values are usually set in webpack's EnvironmentPlugin however -// Jest does not use webpack so we need to set these so for testing -process.env.ACCESS_TOKEN_COOKIE_NAME = 'edx-jwt-cookie-header-payload'; -process.env.ACCOUNT_PROFILE_URL = 'http://localhost:1995'; -process.env.ACCOUNT_SETTINGS_URL = 'http://localhost:1997'; -process.env.BASE_URL = 'localhost:1995'; -process.env.CREDENTIALS_BASE_URL = 'http://localhost:18150'; -process.env.CSRF_TOKEN_API_PATH = '/csrf/api/v1/token'; -process.env.ECOMMERCE_BASE_URL = 'http://localhost:18130'; -process.env.LANGUAGE_PREFERENCE_COOKIE_NAME = 'openedx-language-preference'; -process.env.LMS_BASE_URL = 'http://localhost:18000'; -process.env.LOGIN_URL = 'http://localhost:18000/login'; -process.env.LOGOUT_URL = 'http://localhost:18000/logout'; -process.env.MARKETING_SITE_BASE_URL = 'http://localhost:18000'; -process.env.ORDER_HISTORY_URL = 'localhost:1996/orders'; -process.env.REFRESH_ACCESS_TOKEN_ENDPOINT = 'http://localhost:18000/login_refresh'; -process.env.SEGMENT_KEY = 'segment_whoa'; -process.env.SITE_NAME = 'edX'; -process.env.USER_INFO_COOKIE_NAME = 'edx-user-info'; -process.env.LOGO_URL = 'https://edx-cdn.org/v3/default/logo.svg'; -process.env.LOGO_TRADEMARK_URL = 'https://edx-cdn.org/v3/default/logo-trademark.svg'; -process.env.LOGO_WHITE_URL = 'https://edx-cdn.org/v3/default/logo-white.svg'; -process.env.FAVICON_URL = 'https://edx-cdn.org/v3/default/favicon.ico'; - -class MockLoggingService { - logInfo = jest.fn(); - - logError = jest.fn(); -} - -export const authenticatedUser = { - userId: 'abc123', - username: 'Mock User', - roles: [], - administrator: false, -}; - -export function initializeMockApp() { - mergeConfig({ - INSIGHTS_BASE_URL: process.env.INSIGHTS_BASE_URL || null, - STUDIO_BASE_URL: process.env.STUDIO_BASE_URL || null, - TWITTER_URL: process.env.TWITTER_URL || null, - BASE_URL: process.env.BASE_URL || null, - LMS_BASE_URL: process.env.LMS_BASE_URL || null, - LOGIN_URL: process.env.LOGIN_URL || null, - LOGOUT_URL: process.env.LOGOUT_URL || null, - REFRESH_ACCESS_TOKEN_ENDPOINT: process.env.REFRESH_ACCESS_TOKEN_ENDPOINT || null, - ACCESS_TOKEN_COOKIE_NAME: process.env.ACCESS_TOKEN_COOKIE_NAME || null, - CSRF_TOKEN_API_PATH: process.env.CSRF_TOKEN_API_PATH || null, - LOGO_URL: process.env.LOGO_URL || null, - SITE_NAME: process.env.SITE_NAME || null, - - authenticatedUser: { - userId: 'abc123', - username: 'Mock User', - roles: [], - administrator: false, - }, - }); - - const loggingService = configureLogging(MockLoggingService, { - config: getConfig(), - }); - const authService = configureAuth(MockAuthService, { - config: getConfig(), - loggingService, - }); - - // i18n doesn't have a service class to return. - configureI18n({ - config: getConfig(), - loggingService, - messages: [appMessages], - }); - - return { loggingService, authService }; -} - -function render( - ui, - { - store = null, - ...renderOptions - } = {}, -) { - const Wrapper = ({ children }) => ( - // eslint-disable-next-line react/jsx-filename-extension - - - {children} - - - ); - - Wrapper.propTypes = { - children: PropTypes.node.isRequired, - }; - - return rtlRender(ui, { wrapper: Wrapper, ...renderOptions }); -} - -// Re-export everything. -export * from '@testing-library/react'; - -// Override `render` method. -export { - render, -}; diff --git a/dist/studio-header/BrandNav.js b/dist/studio-header/BrandNav.js deleted file mode 100644 index 13ce73788..000000000 --- a/dist/studio-header/BrandNav.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Link } from 'react-router-dom'; -var BrandNav = function BrandNav(_ref) { - var studioBaseUrl = _ref.studioBaseUrl, - logo = _ref.logo, - logoAltText = _ref.logoAltText; - return /*#__PURE__*/React.createElement(Link, { - to: studioBaseUrl - }, /*#__PURE__*/React.createElement("img", { - src: logo, - alt: logoAltText, - className: "d-block logo" - })); -}; -BrandNav.propTypes = { - studioBaseUrl: PropTypes.string.isRequired, - logo: PropTypes.string.isRequired, - logoAltText: PropTypes.string.isRequired -}; -export default BrandNav; -//# sourceMappingURL=BrandNav.js.map \ No newline at end of file diff --git a/dist/studio-header/BrandNav.js.map b/dist/studio-header/BrandNav.js.map deleted file mode 100644 index 56267d675..000000000 --- a/dist/studio-header/BrandNav.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BrandNav.js","names":["React","PropTypes","Link","BrandNav","_ref","studioBaseUrl","logo","logoAltText","createElement","to","src","alt","className","propTypes","string","isRequired"],"sources":["../../src/studio-header/BrandNav.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\n\nconst BrandNav = ({\n studioBaseUrl,\n logo,\n logoAltText,\n}) => (\n \n \n \n);\n\nBrandNav.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n logoAltText: PropTypes.string.isRequired,\n};\n\nexport default BrandNav;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXP,KAAA,CAAAQ,aAAA,CAACN,IAAI;IAACO,EAAE,EAAEJ;EAAc,gBACtBL,KAAA,CAAAQ,aAAA;IACEE,GAAG,EAAEJ,IAAK;IACVK,GAAG,EAAEJ,WAAY;IACjBK,SAAS,EAAC;EAAc,CACzB,CACG,CAAC;AAAA,CACR;AAEDT,QAAQ,CAACU,SAAS,GAAG;EACnBR,aAAa,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EAC1CT,IAAI,EAAEL,SAAS,CAACa,MAAM,CAACC,UAAU;EACjCR,WAAW,EAAEN,SAAS,CAACa,MAAM,CAACC;AAChC,CAAC;AAED,eAAeZ,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/CourseLockUp.js b/dist/studio-header/CourseLockUp.js deleted file mode 100644 index 42d9a65b6..000000000 --- a/dist/studio-header/CourseLockUp.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { OverlayTrigger, Tooltip } from '@openedx/paragon'; -import { Link } from 'react-router-dom'; -import messages from './messages'; -var CourseLockUp = function CourseLockUp(_ref) { - var outlineLink = _ref.outlineLink, - org = _ref.org, - number = _ref.number, - title = _ref.title, - intl = _ref.intl; - return /*#__PURE__*/React.createElement(OverlayTrigger, { - placement: "bottom", - overlay: /*#__PURE__*/React.createElement(Tooltip, { - id: "course-lock-up" - }, title) - }, /*#__PURE__*/React.createElement(Link, { - className: "course-title-lockup mr-2", - to: outlineLink, - "aria-label": intl.formatMessage(messages['header.label.courseOutline']), - "data-testid": "course-lock-up-block" - }, /*#__PURE__*/React.createElement("span", { - className: "d-block small m-0 text-gray-800", - "data-testid": "course-org-number" - }, org, " ", number), /*#__PURE__*/React.createElement("span", { - className: "d-block m-0 font-weight-bold text-gray-800", - "data-testid": "course-title" - }, title))); -}; -CourseLockUp.propTypes = { - number: PropTypes.string, - org: PropTypes.string, - title: PropTypes.string, - outlineLink: PropTypes.string, - // injected - intl: intlShape.isRequired -}; -CourseLockUp.defaultProps = { - number: null, - org: null, - title: null, - outlineLink: null -}; -export default injectIntl(CourseLockUp); -//# sourceMappingURL=CourseLockUp.js.map \ No newline at end of file diff --git a/dist/studio-header/CourseLockUp.js.map b/dist/studio-header/CourseLockUp.js.map deleted file mode 100644 index 88d3ee8be..000000000 --- a/dist/studio-header/CourseLockUp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CourseLockUp.js","names":["React","PropTypes","injectIntl","intlShape","OverlayTrigger","Tooltip","Link","messages","CourseLockUp","_ref","outlineLink","org","number","title","intl","createElement","placement","overlay","id","className","to","formatMessage","propTypes","string","isRequired","defaultProps"],"sources":["../../src/studio-header/CourseLockUp.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n OverlayTrigger,\n Tooltip,\n} from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nimport messages from './messages';\n\nconst CourseLockUp = ({\n outlineLink,\n org,\n number,\n title,\n // injected\n intl,\n}) => (\n \n {title}\n \n )}\n >\n \n {org} {number}\n {title}\n \n \n);\n\nCourseLockUp.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n outlineLink: PropTypes.string,\n // injected\n intl: intlShape.isRequired,\n};\n\nCourseLockUp.defaultProps = {\n number: null,\n org: null,\n title: null,\n outlineLink: null,\n};\n\nexport default injectIntl(CourseLockUp);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SACEC,cAAc,EACdC,OAAO,QACF,kBAAkB;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAChBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAELC,IAAI,GAAAL,IAAA,CAAJK,IAAI;EAAA,oBAEJd,KAAA,CAAAe,aAAA,CAACX,cAAc;IACbY,SAAS,EAAC,QAAQ;IAClBC,OAAO,eACLjB,KAAA,CAAAe,aAAA,CAACV,OAAO;MAACa,EAAE,EAAC;IAAgB,GACzBL,KACM;EACT,gBAEFb,KAAA,CAAAe,aAAA,CAACT,IAAI;IACHa,SAAS,EAAC,0BAA0B;IACpCC,EAAE,EAAEV,WAAY;IAChB,cAAYI,IAAI,CAACO,aAAa,CAACd,QAAQ,CAAC,4BAA4B,CAAC,CAAE;IACvE,eAAY;EAAsB,gBAElCP,KAAA,CAAAe,aAAA;IAAMI,SAAS,EAAC,iCAAiC;IAAC,eAAY;EAAmB,GAAER,GAAG,EAAC,GAAC,EAACC,MAAa,CAAC,eACvGZ,KAAA,CAAAe,aAAA;IAAMI,SAAS,EAAC,4CAA4C;IAAC,eAAY;EAAc,GAAEN,KAAY,CACjG,CACQ,CAAC;AAAA,CAClB;AAEDL,YAAY,CAACc,SAAS,GAAG;EACvBV,MAAM,EAAEX,SAAS,CAACsB,MAAM;EACxBZ,GAAG,EAAEV,SAAS,CAACsB,MAAM;EACrBV,KAAK,EAAEZ,SAAS,CAACsB,MAAM;EACvBb,WAAW,EAAET,SAAS,CAACsB,MAAM;EAC7B;EACAT,IAAI,EAAEX,SAAS,CAACqB;AAClB,CAAC;AAEDhB,YAAY,CAACiB,YAAY,GAAG;EAC1Bb,MAAM,EAAE,IAAI;EACZD,GAAG,EAAE,IAAI;EACTE,KAAK,EAAE,IAAI;EACXH,WAAW,EAAE;AACf,CAAC;AAED,eAAeR,UAAU,CAACM,YAAY,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/HeaderBody.js b/dist/studio-header/HeaderBody.js deleted file mode 100644 index ccc7580a7..000000000 --- a/dist/studio-header/HeaderBody.js +++ /dev/null @@ -1,143 +0,0 @@ -var _excluded = ["className"]; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } -import React from 'react'; -import PropTypes from 'prop-types'; -import { useIntl } from '@edx/frontend-platform/i18n'; -import classNames from 'classnames'; -import { ActionRow, Button, Container, Icon, IconButton, Nav, Row } from '@openedx/paragon'; -import { Close, MenuIcon, Search } from '@openedx/paragon/icons'; -import CourseLockUp from './CourseLockUp'; -import UserMenu from './UserMenu'; -import BrandNav from './BrandNav'; -import NavDropdownMenu from './NavDropdownMenu'; -import messages from './messages'; -var HeaderBody = function HeaderBody(_ref) { - var logo = _ref.logo, - logoAltText = _ref.logoAltText, - number = _ref.number, - org = _ref.org, - title = _ref.title, - username = _ref.username, - isAdmin = _ref.isAdmin, - studioBaseUrl = _ref.studioBaseUrl, - logoutUrl = _ref.logoutUrl, - authenticatedUserAvatar = _ref.authenticatedUserAvatar, - isMobile = _ref.isMobile, - setModalPopupTarget = _ref.setModalPopupTarget, - toggleModalPopup = _ref.toggleModalPopup, - isModalPopupOpen = _ref.isModalPopupOpen, - isHiddenMainMenu = _ref.isHiddenMainMenu, - mainMenuDropdowns = _ref.mainMenuDropdowns, - outlineLink = _ref.outlineLink, - searchButtonAction = _ref.searchButtonAction, - containerProps = _ref.containerProps; - var intl = useIntl(); - var renderBrandNav = /*#__PURE__*/React.createElement(BrandNav, { - studioBaseUrl: studioBaseUrl, - logo: logo, - logoAltText: logoAltText - }); - var _ref2 = containerProps || {}, - containerClassName = _ref2.className, - restContainerProps = _objectWithoutProperties(_ref2, _excluded); - return /*#__PURE__*/React.createElement(Container, _extends({ - size: "xl", - className: classNames('px-2.5', containerClassName) - }, restContainerProps), /*#__PURE__*/React.createElement(ActionRow, { - as: "header" - }, isHiddenMainMenu ? /*#__PURE__*/React.createElement(Row, { - className: "flex-nowrap ml-4" - }, renderBrandNav) : /*#__PURE__*/React.createElement(React.Fragment, null, isMobile ? /*#__PURE__*/React.createElement(Button, { - ref: setModalPopupTarget, - className: "d-inline-flex align-items-center", - variant: "tertiary", - onClick: toggleModalPopup, - iconBefore: isModalPopupOpen ? Close : MenuIcon, - "data-testid": "mobile-menu-button" - }, "Menu") : /*#__PURE__*/React.createElement("div", { - className: "w-25" - }, /*#__PURE__*/React.createElement(Row, { - className: "m-0 flex-nowrap" - }, renderBrandNav, /*#__PURE__*/React.createElement(CourseLockUp, { - outlineLink: outlineLink, - number: number, - org: org, - title: title - }))), isMobile ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActionRow.Spacer, null), renderBrandNav) : /*#__PURE__*/React.createElement(Nav, { - "data-testid": "desktop-menu", - className: "ml-2" - }, mainMenuDropdowns.map(function (dropdown) { - var id = dropdown.id, - buttonTitle = dropdown.buttonTitle, - items = dropdown.items; - return /*#__PURE__*/React.createElement(NavDropdownMenu, { - key: id, - id: id, - buttonTitle: buttonTitle, - items: items - }); - }))), /*#__PURE__*/React.createElement(ActionRow.Spacer, null), searchButtonAction && /*#__PURE__*/React.createElement(Nav, null, /*#__PURE__*/React.createElement(IconButton, { - src: Search, - iconAs: Icon, - onClick: searchButtonAction, - "aria-label": intl.formatMessage(messages['header.label.search.nav']), - alt: intl.formatMessage(messages['header.label.search.nav']) - })), /*#__PURE__*/React.createElement(Nav, null, /*#__PURE__*/React.createElement(UserMenu, { - username: username, - studioBaseUrl: studioBaseUrl, - logoutUrl: logoutUrl, - authenticatedUserAvatar: authenticatedUserAvatar, - isAdmin: isAdmin - })))); -}; -HeaderBody.propTypes = { - studioBaseUrl: PropTypes.string.isRequired, - logoutUrl: PropTypes.string.isRequired, - setModalPopupTarget: PropTypes.func, - toggleModalPopup: PropTypes.func, - isModalPopupOpen: PropTypes.bool, - number: PropTypes.string, - org: PropTypes.string, - title: PropTypes.string, - logo: PropTypes.string, - logoAltText: PropTypes.string, - authenticatedUserAvatar: PropTypes.string, - username: PropTypes.string, - isAdmin: PropTypes.bool, - isMobile: PropTypes.bool, - isHiddenMainMenu: PropTypes.bool, - mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string, - buttonTitle: PropTypes.node, - items: PropTypes.arrayOf(PropTypes.shape({ - href: PropTypes.string, - title: PropTypes.node - })) - })), - outlineLink: PropTypes.string, - searchButtonAction: PropTypes.func, - containerProps: PropTypes.shape(Container.propTypes) -}; -HeaderBody.defaultProps = { - setModalPopupTarget: null, - toggleModalPopup: null, - isModalPopupOpen: false, - logo: null, - logoAltText: null, - number: '', - org: '', - title: '', - authenticatedUserAvatar: null, - username: null, - isAdmin: false, - isMobile: false, - isHiddenMainMenu: false, - mainMenuDropdowns: [], - outlineLink: null, - searchButtonAction: null, - containerProps: {} -}; -export default HeaderBody; -//# sourceMappingURL=HeaderBody.js.map \ No newline at end of file diff --git a/dist/studio-header/HeaderBody.js.map b/dist/studio-header/HeaderBody.js.map deleted file mode 100644 index aa99d8775..000000000 --- a/dist/studio-header/HeaderBody.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HeaderBody.js","names":["React","PropTypes","useIntl","classNames","ActionRow","Button","Container","Icon","IconButton","Nav","Row","Close","MenuIcon","Search","CourseLockUp","UserMenu","BrandNav","NavDropdownMenu","messages","HeaderBody","_ref","logo","logoAltText","number","org","title","username","isAdmin","studioBaseUrl","logoutUrl","authenticatedUserAvatar","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","containerProps","intl","renderBrandNav","createElement","_ref2","containerClassName","className","restContainerProps","_objectWithoutProperties","_excluded","_extends","size","as","Fragment","ref","variant","onClick","iconBefore","Spacer","map","dropdown","id","buttonTitle","items","key","src","iconAs","formatMessage","alt","propTypes","string","isRequired","func","bool","arrayOf","shape","node","href","defaultProps"],"sources":["../../src/studio-header/HeaderBody.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport classNames from 'classnames';\nimport {\n ActionRow,\n Button,\n Container,\n Icon,\n IconButton,\n Nav,\n Row,\n} from '@openedx/paragon';\nimport { Close, MenuIcon, Search } from '@openedx/paragon/icons';\n\nimport CourseLockUp from './CourseLockUp';\nimport UserMenu from './UserMenu';\nimport BrandNav from './BrandNav';\nimport NavDropdownMenu from './NavDropdownMenu';\nimport messages from './messages';\n\nconst HeaderBody = ({\n logo,\n logoAltText,\n number,\n org,\n title,\n username,\n isAdmin,\n studioBaseUrl,\n logoutUrl,\n authenticatedUserAvatar,\n isMobile,\n setModalPopupTarget,\n toggleModalPopup,\n isModalPopupOpen,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n containerProps,\n}) => {\n const intl = useIntl();\n\n const renderBrandNav = (\n \n );\n\n const { className: containerClassName, ...restContainerProps } = containerProps || {};\n\n return (\n \n \n {isHiddenMainMenu ? (\n \n {renderBrandNav}\n \n ) : (\n <>\n {isMobile ? (\n \n Menu\n \n ) : (\n

    \n \n {renderBrandNav}\n \n \n
    \n )}\n {isMobile ? (\n <>\n \n {renderBrandNav}\n \n ) : (\n \n )}\n \n )}\n \n {searchButtonAction && (\n \n )}\n \n \n \n );\n};\n\nHeaderBody.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n setModalPopupTarget: PropTypes.func,\n toggleModalPopup: PropTypes.func,\n isModalPopupOpen: PropTypes.bool,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n isMobile: PropTypes.bool,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n containerProps: PropTypes.shape(Container.propTypes),\n};\n\nHeaderBody.defaultProps = {\n setModalPopupTarget: null,\n toggleModalPopup: null,\n isModalPopupOpen: false,\n logo: null,\n logoAltText: null,\n number: '',\n org: '',\n title: '',\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n isMobile: false,\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n containerProps: {},\n};\n\nexport default HeaderBody;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/MobileHeader.js b/dist/studio-header/MobileHeader.js deleted file mode 100644 index 0f42e01f1..000000000 --- a/dist/studio-header/MobileHeader.js +++ /dev/null @@ -1,79 +0,0 @@ -var _excluded = ["mainMenuDropdowns"]; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } -function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } -function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } -function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } -function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } -function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } -import React, { useState } from 'react'; -import PropTypes from 'prop-types'; -import { useToggle, ModalPopup } from '@openedx/paragon'; -import HeaderBody from './HeaderBody'; -import MobileMenu from './MobileMenu'; -var MobileHeader = function MobileHeader(_ref) { - var mainMenuDropdowns = _ref.mainMenuDropdowns, - props = _objectWithoutProperties(_ref, _excluded); - var _useToggle = useToggle(false), - _useToggle2 = _slicedToArray(_useToggle, 4), - isOpen = _useToggle2[0], - close = _useToggle2[2], - toggle = _useToggle2[3]; - var _useState = useState(null), - _useState2 = _slicedToArray(_useState, 2), - target = _useState2[0], - setTarget = _useState2[1]; - return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderBody, _extends({}, props, { - isMobile: true, - setModalPopupTarget: setTarget, - toggleModalPopup: toggle, - isModalPopupOpen: isOpen - })), /*#__PURE__*/React.createElement(ModalPopup, { - hasArrow: true, - placement: "bottom", - positionRef: target, - isOpen: isOpen, - onClose: close, - onEscapeKey: close, - className: "mobile-menu-container" - }, /*#__PURE__*/React.createElement(MobileMenu, { - mainMenuDropdowns: mainMenuDropdowns - }))); -}; -MobileHeader.propTypes = { - studioBaseUrl: PropTypes.string.isRequired, - logoutUrl: PropTypes.string.isRequired, - number: PropTypes.string, - org: PropTypes.string, - title: PropTypes.string, - logo: PropTypes.string, - logoAltText: PropTypes.string, - authenticatedUserAvatar: PropTypes.string, - username: PropTypes.string, - isAdmin: PropTypes.bool, - mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string, - buttonTitle: PropTypes.node, - items: PropTypes.arrayOf(PropTypes.shape({ - href: PropTypes.string, - title: PropTypes.node - })) - })), - outlineLink: PropTypes.string -}; -MobileHeader.defaultProps = { - logo: null, - logoAltText: null, - number: null, - org: null, - title: null, - authenticatedUserAvatar: null, - username: null, - isAdmin: false, - mainMenuDropdowns: [], - outlineLink: null -}; -export default MobileHeader; -//# sourceMappingURL=MobileHeader.js.map \ No newline at end of file diff --git a/dist/studio-header/MobileHeader.js.map b/dist/studio-header/MobileHeader.js.map deleted file mode 100644 index 802d501d4..000000000 --- a/dist/studio-header/MobileHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileHeader.js","names":["React","useState","PropTypes","useToggle","ModalPopup","HeaderBody","MobileMenu","MobileHeader","_ref","mainMenuDropdowns","props","_objectWithoutProperties","_excluded","_useToggle","_useToggle2","_slicedToArray","isOpen","close","toggle","_useState","_useState2","target","setTarget","createElement","Fragment","_extends","isMobile","setModalPopupTarget","toggleModalPopup","isModalPopupOpen","hasArrow","placement","positionRef","onClose","onEscapeKey","className","propTypes","studioBaseUrl","string","isRequired","logoutUrl","number","org","title","logo","logoAltText","authenticatedUserAvatar","username","isAdmin","bool","arrayOf","shape","id","buttonTitle","node","items","href","outlineLink","defaultProps"],"sources":["../../src/studio-header/MobileHeader.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useToggle, ModalPopup } from '@openedx/paragon';\nimport HeaderBody from './HeaderBody';\nimport MobileMenu from './MobileMenu';\n\nconst MobileHeader = ({\n mainMenuDropdowns,\n ...props\n}) => {\n const [isOpen, , close, toggle] = useToggle(false);\n const [target, setTarget] = useState(null);\n\n return (\n <>\n \n \n \n \n \n );\n};\n\nMobileHeader.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n authenticatedUserAvatar: PropTypes.string,\n username: PropTypes.string,\n isAdmin: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n outlineLink: PropTypes.string,\n};\n\nMobileHeader.defaultProps = {\n logo: null,\n logoAltText: null,\n number: null,\n org: null,\n title: null,\n authenticatedUserAvatar: null,\n username: null,\n isAdmin: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n};\n\nexport default MobileHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/MobileMenu.js b/dist/studio-header/MobileMenu.js deleted file mode 100644 index 715ca5342..000000000 --- a/dist/studio-header/MobileMenu.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Collapsible } from '@openedx/paragon'; -import { Link } from 'react-router-dom'; -var MobileMenu = function MobileMenu(_ref) { - var mainMenuDropdowns = _ref.mainMenuDropdowns; - return /*#__PURE__*/React.createElement("div", { - className: "ml-4 p-2 bg-light-100 border border-gray-200 small rounded", - "data-testid": "mobile-menu" - }, /*#__PURE__*/React.createElement("div", null, mainMenuDropdowns.map(function (dropdown) { - var id = dropdown.id, - buttonTitle = dropdown.buttonTitle, - items = dropdown.items; - return /*#__PURE__*/React.createElement(Collapsible, { - className: "border-light-100", - title: buttonTitle, - key: id - }, /*#__PURE__*/React.createElement("ul", { - className: "p-0", - style: { - listStyleType: 'none' - } - }, items.map(function (item) { - return /*#__PURE__*/React.createElement("li", { - className: "mobile-menu-item" - }, /*#__PURE__*/React.createElement(Link, { - to: item.href - }, item.title)); - }))); - }))); -}; -MobileMenu.propTypes = { - mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string, - buttonTitle: PropTypes.node, - items: PropTypes.arrayOf(PropTypes.shape({ - href: PropTypes.string, - title: PropTypes.node - })) - })) -}; -MobileMenu.defaultProps = { - mainMenuDropdowns: [] -}; -export default MobileMenu; -//# sourceMappingURL=MobileMenu.js.map \ No newline at end of file diff --git a/dist/studio-header/MobileMenu.js.map b/dist/studio-header/MobileMenu.js.map deleted file mode 100644 index 112b03d22..000000000 --- a/dist/studio-header/MobileMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MobileMenu.js","names":["React","PropTypes","Collapsible","Link","MobileMenu","_ref","mainMenuDropdowns","createElement","className","map","dropdown","id","buttonTitle","items","title","key","style","listStyleType","item","to","href","propTypes","arrayOf","shape","string","node","defaultProps"],"sources":["../../src/studio-header/MobileMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Collapsible } from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nconst MobileMenu = ({ mainMenuDropdowns }) => (\n \n
    \n {mainMenuDropdowns.map(dropdown => {\n const { id, buttonTitle, items } = dropdown;\n return (\n \n
      \n {items.map(item => (\n
    • \n \n {item.title}\n \n
    • \n ))}\n
    \n \n );\n })}\n
    \n \n);\n\nMobileMenu.propTypes = {\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n};\nMobileMenu.defaultProps = {\n mainMenuDropdowns: [],\n};\n\nexport default MobileMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,iBAAiB,GAAAD,IAAA,CAAjBC,iBAAiB;EAAA,oBACrCN,KAAA,CAAAO,aAAA;IACEC,SAAS,EAAC,4DAA4D;IACtE,eAAY;EAAa,gBAEzBR,KAAA,CAAAO,aAAA,cACGD,iBAAiB,CAACG,GAAG,CAAC,UAAAC,QAAQ,EAAI;IACjC,IAAQC,EAAE,GAAyBD,QAAQ,CAAnCC,EAAE;MAAEC,WAAW,GAAYF,QAAQ,CAA/BE,WAAW;MAAEC,KAAK,GAAKH,QAAQ,CAAlBG,KAAK;IAC9B,oBACEb,KAAA,CAAAO,aAAA,CAACL,WAAW;MACVM,SAAS,EAAC,kBAAkB;MAC5BM,KAAK,EAAEF,WAAY;MACnBG,GAAG,EAAEJ;IAAG,gBAERX,KAAA,CAAAO,aAAA;MAAIC,SAAS,EAAC,KAAK;MAACQ,KAAK,EAAE;QAAEC,aAAa,EAAE;MAAO;IAAE,GAClDJ,KAAK,CAACJ,GAAG,CAAC,UAAAS,IAAI;MAAA,oBACblB,KAAA,CAAAO,aAAA;QAAIC,SAAS,EAAC;MAAkB,gBAC9BR,KAAA,CAAAO,aAAA,CAACJ,IAAI;QAACgB,EAAE,EAAED,IAAI,CAACE;MAAK,GACjBF,IAAI,CAACJ,KACF,CACJ,CAAC;IAAA,CACN,CACC,CACO,CAAC;EAElB,CAAC,CACE,CACF,CAAC;AAAA,CACP;AAEDV,UAAU,CAACiB,SAAS,GAAG;EACrBf,iBAAiB,EAAEL,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACsB,KAAK,CAAC;IACnDZ,EAAE,EAAEV,SAAS,CAACuB,MAAM;IACpBZ,WAAW,EAAEX,SAAS,CAACwB,IAAI;IAC3BZ,KAAK,EAAEZ,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACsB,KAAK,CAAC;MACvCH,IAAI,EAAEnB,SAAS,CAACuB,MAAM;MACtBV,KAAK,EAAEb,SAAS,CAACwB;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AACDrB,UAAU,CAACsB,YAAY,GAAG;EACxBpB,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAeF,UAAU","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/NavDropdownMenu.js b/dist/studio-header/NavDropdownMenu.js deleted file mode 100644 index 6307b0a29..000000000 --- a/dist/studio-header/NavDropdownMenu.js +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Dropdown, DropdownButton } from '@openedx/paragon'; -import { Link } from 'react-router-dom'; -var NavDropdownMenu = function NavDropdownMenu(_ref) { - var id = _ref.id, - buttonTitle = _ref.buttonTitle, - items = _ref.items; - return /*#__PURE__*/React.createElement(DropdownButton, { - id: id, - title: buttonTitle, - variant: "outline-primary", - className: "mr-2" - }, items.map(function (item) { - return /*#__PURE__*/React.createElement(Dropdown.Item, { - as: Link, - key: "".concat(item.title, "-dropdown-item"), - to: item.href, - className: "small" - }, item.title); - })); -}; -NavDropdownMenu.propTypes = { - id: PropTypes.string.isRequired, - buttonTitle: PropTypes.node.isRequired, - items: PropTypes.arrayOf(PropTypes.shape({ - href: PropTypes.string.isRequired, - title: PropTypes.node.isRequired - })).isRequired -}; -export default NavDropdownMenu; -//# sourceMappingURL=NavDropdownMenu.js.map \ No newline at end of file diff --git a/dist/studio-header/NavDropdownMenu.js.map b/dist/studio-header/NavDropdownMenu.js.map deleted file mode 100644 index 84174e12e..000000000 --- a/dist/studio-header/NavDropdownMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NavDropdownMenu.js","names":["React","PropTypes","Dropdown","DropdownButton","Link","NavDropdownMenu","_ref","id","buttonTitle","items","createElement","title","variant","className","map","item","Item","as","key","concat","to","href","propTypes","string","isRequired","node","arrayOf","shape"],"sources":["../../src/studio-header/NavDropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dropdown,\n DropdownButton,\n} from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nconst NavDropdownMenu = ({\n id,\n buttonTitle,\n items,\n}) => (\n \n {items.map(item => (\n \n {item.title}\n \n ))}\n \n);\n\nNavDropdownMenu.propTypes = {\n id: PropTypes.string.isRequired,\n buttonTitle: PropTypes.node.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string.isRequired,\n title: PropTypes.node.isRequired,\n })).isRequired,\n};\n\nexport default NavDropdownMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,QAAQ,EACRC,cAAc,QACT,kBAAkB;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA;EAAA,IACnBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAAA,oBAELT,KAAA,CAAAU,aAAA,CAACP,cAAc;IACbI,EAAE,EAAEA,EAAG;IACPI,KAAK,EAAEH,WAAY;IACnBI,OAAO,EAAC,iBAAiB;IACzBC,SAAS,EAAC;EAAM,GAEfJ,KAAK,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,oBACbf,KAAA,CAAAU,aAAA,CAACR,QAAQ,CAACc,IAAI;MACZC,EAAE,EAAEb,IAAK;MACTc,GAAG,KAAAC,MAAA,CAAKJ,IAAI,CAACJ,KAAK,mBAAiB;MACnCS,EAAE,EAAEL,IAAI,CAACM,IAAK;MACdR,SAAS,EAAC;IAAO,GAEhBE,IAAI,CAACJ,KACO,CAAC;EAAA,CACjB,CACa,CAAC;AAAA,CAClB;AAEDN,eAAe,CAACiB,SAAS,GAAG;EAC1Bf,EAAE,EAAEN,SAAS,CAACsB,MAAM,CAACC,UAAU;EAC/BhB,WAAW,EAAEP,SAAS,CAACwB,IAAI,CAACD,UAAU;EACtCf,KAAK,EAAER,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAAC0B,KAAK,CAAC;IACvCN,IAAI,EAAEpB,SAAS,CAACsB,MAAM,CAACC,UAAU;IACjCb,KAAK,EAAEV,SAAS,CAACwB,IAAI,CAACD;EACxB,CAAC,CAAC,CAAC,CAACA;AACN,CAAC;AAED,eAAenB,eAAe","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.js b/dist/studio-header/StudioHeader.js deleted file mode 100644 index 025d5b3bf..000000000 --- a/dist/studio-header/StudioHeader.js +++ /dev/null @@ -1,78 +0,0 @@ -import React, { useContext } from 'react'; -import PropTypes from 'prop-types'; -import Responsive from 'react-responsive'; -import { AppContext } from '@edx/frontend-platform/react'; -import { ensureConfig } from '@edx/frontend-platform'; -import MobileHeader from './MobileHeader'; -import HeaderBody from './HeaderBody'; -ensureConfig(['STUDIO_BASE_URL', 'SITE_NAME', 'LOGOUT_URL', 'LOGIN_URL', 'LOGO_URL'], 'Studio Header component'); -var StudioHeader = function StudioHeader(_ref) { - var number = _ref.number, - org = _ref.org, - title = _ref.title, - containerProps = _ref.containerProps, - isHiddenMainMenu = _ref.isHiddenMainMenu, - mainMenuDropdowns = _ref.mainMenuDropdowns, - outlineLink = _ref.outlineLink, - searchButtonAction = _ref.searchButtonAction, - isNewHomePage = _ref.isNewHomePage; - var _useContext = useContext(AppContext), - authenticatedUser = _useContext.authenticatedUser, - config = _useContext.config; - var props = { - logo: config.LOGO_URL, - logoAltText: "Studio ".concat(config.SITE_NAME), - number: number, - org: org, - title: title, - containerProps: containerProps, - username: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.username, - isAdmin: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.administrator, - authenticatedUserAvatar: authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.avatar, - studioBaseUrl: isNewHomePage ? '/home' : config.STUDIO_BASE_URL, - logoutUrl: config.LOGOUT_URL, - isHiddenMainMenu: isHiddenMainMenu, - mainMenuDropdowns: mainMenuDropdowns, - outlineLink: outlineLink, - searchButtonAction: searchButtonAction - }; - return /*#__PURE__*/React.createElement("div", { - className: "studio-header" - }, /*#__PURE__*/React.createElement("a", { - className: "nav-skip sr-only sr-only-focusable", - href: "#main" - }, "Skip to content"), /*#__PURE__*/React.createElement(Responsive, { - maxWidth: 841 - }, /*#__PURE__*/React.createElement(MobileHeader, props)), /*#__PURE__*/React.createElement(Responsive, { - minWidth: 842 - }, /*#__PURE__*/React.createElement(HeaderBody, props))); -}; -StudioHeader.propTypes = { - number: PropTypes.string, - org: PropTypes.string, - title: PropTypes.string.isRequired, - containerProps: HeaderBody.propTypes.containerProps, - isHiddenMainMenu: PropTypes.bool, - mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string, - buttonTitle: PropTypes.node, - items: PropTypes.arrayOf(PropTypes.shape({ - href: PropTypes.string, - title: PropTypes.node - })) - })), - outlineLink: PropTypes.string, - searchButtonAction: PropTypes.func, - isNewHomePage: PropTypes.bool.isRequired -}; -StudioHeader.defaultProps = { - number: '', - org: '', - containerProps: {}, - isHiddenMainMenu: false, - mainMenuDropdowns: [], - outlineLink: null, - searchButtonAction: null -}; -export default StudioHeader; -//# sourceMappingURL=StudioHeader.js.map \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.js.map b/dist/studio-header/StudioHeader.js.map deleted file mode 100644 index 25b0af90c..000000000 --- a/dist/studio-header/StudioHeader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StudioHeader.js","names":["React","useContext","PropTypes","Responsive","AppContext","ensureConfig","MobileHeader","HeaderBody","StudioHeader","_ref","number","org","title","containerProps","isHiddenMainMenu","mainMenuDropdowns","outlineLink","searchButtonAction","isNewHomePage","_useContext","authenticatedUser","config","props","logo","LOGO_URL","logoAltText","concat","SITE_NAME","username","isAdmin","administrator","authenticatedUserAvatar","avatar","studioBaseUrl","STUDIO_BASE_URL","logoutUrl","LOGOUT_URL","createElement","className","href","maxWidth","minWidth","propTypes","string","isRequired","bool","arrayOf","shape","id","buttonTitle","node","items","func","defaultProps"],"sources":["../../src/studio-header/StudioHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Responsive from 'react-responsive';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport { ensureConfig } from '@edx/frontend-platform';\n\nimport MobileHeader from './MobileHeader';\nimport HeaderBody from './HeaderBody';\n\nensureConfig([\n 'STUDIO_BASE_URL',\n 'SITE_NAME',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'LOGO_URL',\n], 'Studio Header component');\n\nconst StudioHeader = ({\n number, org, title, containerProps, isHiddenMainMenu, mainMenuDropdowns,\n outlineLink, searchButtonAction, isNewHomePage,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n const props = {\n logo: config.LOGO_URL,\n logoAltText: `Studio ${config.SITE_NAME}`,\n number,\n org,\n title,\n containerProps,\n username: authenticatedUser?.username,\n isAdmin: authenticatedUser?.administrator,\n authenticatedUserAvatar: authenticatedUser?.avatar,\n studioBaseUrl: isNewHomePage ? '/home' : config.STUDIO_BASE_URL,\n logoutUrl: config.LOGOUT_URL,\n isHiddenMainMenu,\n mainMenuDropdowns,\n outlineLink,\n searchButtonAction,\n };\n\n return (\n
    \n Skip to content\n \n \n \n \n \n \n
    \n );\n};\n\nStudioHeader.propTypes = {\n number: PropTypes.string,\n org: PropTypes.string,\n title: PropTypes.string.isRequired,\n containerProps: HeaderBody.propTypes.containerProps,\n isHiddenMainMenu: PropTypes.bool,\n mainMenuDropdowns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n buttonTitle: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n title: PropTypes.node,\n })),\n })),\n outlineLink: PropTypes.string,\n searchButtonAction: PropTypes.func,\n isNewHomePage: PropTypes.bool.isRequired,\n};\n\nStudioHeader.defaultProps = {\n number: '',\n org: '',\n containerProps: {},\n isHiddenMainMenu: false,\n mainMenuDropdowns: [],\n outlineLink: null,\n searchButtonAction: null,\n};\n\nexport default StudioHeader;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/StudioHeader.scss b/dist/studio-header/StudioHeader.scss deleted file mode 100644 index ee2cb212b..000000000 --- a/dist/studio-header/StudioHeader.scss +++ /dev/null @@ -1,49 +0,0 @@ -$spacer: 1rem; -$white: #FFFFFF; - -.studio-header { - position: relative; - z-index: 1000; - - height: 3.75rem; - box-shadow: 0 1px 0 0 rgb(0 0 0 / .1); - background: var(--pgn-color-white, $white); - - .btn-outline-primary { - border-color: var(--pgn-color-white, $white); - } - - .logo { - display: block; - box-sizing: content-box; - position: relative; - top: -.05em; - height: 1.75rem; - padding: var(--pgn-spacing-spacer-base, $spacer) 0; - margin-right: var(--pgn-spacing-spacer-base, $spacer); - - img { - display: block; - height: 100%; - } - } - - .course-title-lockup { - overflow: hidden; - - @media only screen and (min-width: 769px) { - padding: .5rem; - padding-right: var(--pgn-spacing-spacer-base, $spacer); - border-right: 1px solid #E5E5E5; - width: 70%; - } - - span { - color: var(--pgn-color-gray-800, #333333); - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - line-height: 1.375rem; - } - } -} diff --git a/dist/studio-header/UserMenu.js b/dist/studio-header/UserMenu.js deleted file mode 100644 index e439b972c..000000000 --- a/dist/studio-header/UserMenu.js +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { Avatar } from '@openedx/paragon'; -import NavDropdownMenu from './NavDropdownMenu'; -import getUserMenuItems from './utils'; -var UserMenu = function UserMenu(_ref) { - var username = _ref.username, - studioBaseUrl = _ref.studioBaseUrl, - logoutUrl = _ref.logoutUrl, - authenticatedUserAvatar = _ref.authenticatedUserAvatar, - isMobile = _ref.isMobile, - isAdmin = _ref.isAdmin, - intl = _ref.intl; - var avatar = authenticatedUserAvatar ? /*#__PURE__*/React.createElement("img", { - className: "d-block w-100 h-100", - src: authenticatedUserAvatar, - alt: username, - "data-testid": "avatar-image" - }) : /*#__PURE__*/React.createElement(Avatar, { - size: "sm", - className: "mr-2", - alt: username, - "data-testid": "avatar-icon" - }); - var title = isMobile ? avatar : /*#__PURE__*/React.createElement(React.Fragment, null, avatar, username); - return /*#__PURE__*/React.createElement(NavDropdownMenu, { - buttonTitle: title, - id: "user-dropdown-menu", - items: getUserMenuItems({ - studioBaseUrl: studioBaseUrl, - logoutUrl: logoutUrl, - intl: intl, - isAdmin: isAdmin - }) - }); -}; -UserMenu.propTypes = { - username: PropTypes.string, - studioBaseUrl: PropTypes.string.isRequired, - logoutUrl: PropTypes.string.isRequired, - authenticatedUserAvatar: PropTypes.string, - isMobile: PropTypes.bool, - isAdmin: PropTypes.bool, - // injected - intl: intlShape.isRequired -}; -UserMenu.defaultProps = { - isMobile: false, - isAdmin: false, - authenticatedUserAvatar: null, - username: null -}; -export default injectIntl(UserMenu); -//# sourceMappingURL=UserMenu.js.map \ No newline at end of file diff --git a/dist/studio-header/UserMenu.js.map b/dist/studio-header/UserMenu.js.map deleted file mode 100644 index 3a2b62e0a..000000000 --- a/dist/studio-header/UserMenu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserMenu.js","names":["React","PropTypes","injectIntl","intlShape","Avatar","NavDropdownMenu","getUserMenuItems","UserMenu","_ref","username","studioBaseUrl","logoutUrl","authenticatedUserAvatar","isMobile","isAdmin","intl","avatar","createElement","className","src","alt","size","title","Fragment","buttonTitle","id","items","propTypes","string","isRequired","bool","defaultProps"],"sources":["../../src/studio-header/UserMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n Avatar,\n} from '@openedx/paragon';\nimport NavDropdownMenu from './NavDropdownMenu';\nimport getUserMenuItems from './utils';\n\nconst UserMenu = ({\n username,\n studioBaseUrl,\n logoutUrl,\n authenticatedUserAvatar,\n isMobile,\n isAdmin,\n // injected\n intl,\n}) => {\n const avatar = authenticatedUserAvatar ? (\n \n ) : (\n \n );\n const title = isMobile ? avatar : <>{avatar}{username};\n\n return (\n \n );\n};\n\nUserMenu.propTypes = {\n username: PropTypes.string,\n studioBaseUrl: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n authenticatedUserAvatar: PropTypes.string,\n isMobile: PropTypes.bool,\n isAdmin: PropTypes.bool,\n // injected\n intl: intlShape.isRequired,\n};\n\nUserMenu.defaultProps = {\n isMobile: false,\n isAdmin: false,\n authenticatedUserAvatar: null,\n username: null,\n};\n\nexport default injectIntl(UserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SACEC,MAAM,QACD,kBAAkB;AACzB,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,SAAS;AAEtC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EASR;EAAA,IARJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,uBAAuB,GAAAJ,IAAA,CAAvBI,uBAAuB;IACvBC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAEPC,IAAI,GAAAP,IAAA,CAAJO,IAAI;EAEJ,IAAMC,MAAM,GAAGJ,uBAAuB,gBACpCZ,KAAA,CAAAiB,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/BC,GAAG,EAAEP,uBAAwB;IAC7BQ,GAAG,EAAEX,QAAS;IACd,eAAY;EAAc,CAC3B,CAAC,gBAEFT,KAAA,CAAAiB,aAAA,CAACb,MAAM;IACLiB,IAAI,EAAC,IAAI;IACTH,SAAS,EAAC,MAAM;IAChBE,GAAG,EAAEX,QAAS;IACd,eAAY;EAAa,CAC1B,CACF;EACD,IAAMa,KAAK,GAAGT,QAAQ,GAAGG,MAAM,gBAAGhB,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAuB,QAAA,QAAGP,MAAM,EAAEP,QAAW,CAAC;EAEzD,oBACET,KAAA,CAAAiB,aAAA,CAACZ,eAAe;IACdmB,WAAW,EAAEF,KAAM;IACnBG,EAAE,EAAC,oBAAoB;IACvBC,KAAK,EAAEpB,gBAAgB,CAAC;MACtBI,aAAa,EAAbA,aAAa;MACbC,SAAS,EAATA,SAAS;MACTI,IAAI,EAAJA,IAAI;MACJD,OAAO,EAAPA;IACF,CAAC;EAAE,CACJ,CAAC;AAEN,CAAC;AAEDP,QAAQ,CAACoB,SAAS,GAAG;EACnBlB,QAAQ,EAAER,SAAS,CAAC2B,MAAM;EAC1BlB,aAAa,EAAET,SAAS,CAAC2B,MAAM,CAACC,UAAU;EAC1ClB,SAAS,EAAEV,SAAS,CAAC2B,MAAM,CAACC,UAAU;EACtCjB,uBAAuB,EAAEX,SAAS,CAAC2B,MAAM;EACzCf,QAAQ,EAAEZ,SAAS,CAAC6B,IAAI;EACxBhB,OAAO,EAAEb,SAAS,CAAC6B,IAAI;EACvB;EACAf,IAAI,EAAEZ,SAAS,CAAC0B;AAClB,CAAC;AAEDtB,QAAQ,CAACwB,YAAY,GAAG;EACtBlB,QAAQ,EAAE,KAAK;EACfC,OAAO,EAAE,KAAK;EACdF,uBAAuB,EAAE,IAAI;EAC7BH,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeP,UAAU,CAACK,QAAQ,CAAC","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/index.js b/dist/studio-header/index.js deleted file mode 100644 index 29914496a..000000000 --- a/dist/studio-header/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import StudioHeader from './StudioHeader'; -export default StudioHeader; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/studio-header/index.js.map b/dist/studio-header/index.js.map deleted file mode 100644 index eaf732fbb..000000000 --- a/dist/studio-header/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","names":["StudioHeader"],"sources":["../../src/studio-header/index.js"],"sourcesContent":["import StudioHeader from './StudioHeader';\n\nexport default StudioHeader;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,gBAAgB;AAEzC,eAAeA,YAAY","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/messages.js b/dist/studio-header/messages.js deleted file mode 100644 index 667f9c10c..000000000 --- a/dist/studio-header/messages.js +++ /dev/null @@ -1,60 +0,0 @@ -import { defineMessages } from '@edx/frontend-platform/i18n'; -var messages = defineMessages({ - 'header.user.menu.studio': { - id: 'header.user.menu.studio', - defaultMessage: 'Studio Home', - description: 'Link to Studio Home' - }, - 'header.user.menu.maintenance': { - id: 'header.user.menu.maintenance', - defaultMessage: 'Maintenance', - description: 'Link to the Studio maintenance page' - }, - 'header.user.menu.logout': { - id: 'header.user.menu.logout', - defaultMessage: 'Logout', - description: 'Logout link' - }, - 'header.label.account.menu': { - id: 'header.label.account.menu', - defaultMessage: 'Account Menu', - description: 'The aria label for the account menu trigger' - }, - 'header.label.account.menu.for': { - id: 'header.label.account.menu.for', - defaultMessage: 'Account menu for {username}', - description: 'The aria label for the account menu trigger when the username is displayed in it' - }, - 'header.label.main.nav': { - id: 'header.label.main.nav', - defaultMessage: 'Main', - description: 'The aria label for the main menu nav' - }, - 'header.label.main.menu': { - id: 'header.label.main.menu', - defaultMessage: 'Main Menu', - description: 'The aria label for the main menu trigger' - }, - 'header.label.main.header': { - id: 'header.label.main.header', - defaultMessage: 'Main', - description: 'The aria label for the main header' - }, - 'header.label.secondary.nav': { - id: 'header.label.secondary.nav', - defaultMessage: 'Secondary', - description: 'The aria label for the seconary nav' - }, - 'header.label.courseOutline': { - id: 'header.label.courseOutline', - defaultMessage: 'Back to course outline in Studio', - description: 'The aria label for the link back to the Studio Course Outline' - }, - 'header.label.search.nav': { - id: 'header.label.search.nav', - defaultMessage: 'Search content', - description: 'The aria label for the search content button nav' - } -}); -export default messages; -//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/dist/studio-header/messages.js.map b/dist/studio-header/messages.js.map deleted file mode 100644 index 05f2a0626..000000000 --- a/dist/studio-header/messages.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../../src/studio-header/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.user.menu.studio': {\n id: 'header.user.menu.studio',\n defaultMessage: 'Studio Home',\n description: 'Link to Studio Home',\n },\n 'header.user.menu.maintenance': {\n id: 'header.user.menu.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio maintenance page',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.courseOutline': {\n id: 'header.label.courseOutline',\n defaultMessage: 'Back to course outline in Studio',\n description: 'The aria label for the link back to the Studio Course Outline',\n },\n 'header.label.search.nav': {\n id: 'header.label.search.nav',\n defaultMessage: 'Search content',\n description: 'The aria label for the search content button nav',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,IAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC9B,yBAAyB,EAAE;IACzBE,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,8BAA8B,EAAE;IAC9BF,EAAE,EAAE,8BAA8B;IAClCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACD,2BAA2B,EAAE;IAC3BF,EAAE,EAAE,2BAA2B;IAC/BC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf,CAAC;EACD,+BAA+B,EAAE;IAC/BF,EAAE,EAAE,+BAA+B;IACnCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,uBAAuB,EAAE;IACvBF,EAAE,EAAE,uBAAuB;IAC3BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,MAAM;IACtBC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACD,4BAA4B,EAAE;IAC5BF,EAAE,EAAE,4BAA4B;IAChCC,cAAc,EAAE,kCAAkC;IAClDC,WAAW,EAAE;EACf,CAAC;EACD,yBAAyB,EAAE;IACzBF,EAAE,EAAE,yBAAyB;IAC7BC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAeH,QAAQ","ignoreList":[]} \ No newline at end of file diff --git a/dist/studio-header/utils.js b/dist/studio-header/utils.js deleted file mode 100644 index 16e3d326c..000000000 --- a/dist/studio-header/utils.js +++ /dev/null @@ -1,30 +0,0 @@ -import { getConfig } from '@edx/frontend-platform'; -import messages from './messages'; -var getUserMenuItems = function getUserMenuItems(_ref) { - var studioBaseUrl = _ref.studioBaseUrl, - logoutUrl = _ref.logoutUrl, - intl = _ref.intl, - isAdmin = _ref.isAdmin; - var items = [{ - href: "".concat(studioBaseUrl), - title: intl.formatMessage(messages['header.user.menu.studio']) - }, { - href: "".concat(logoutUrl), - title: intl.formatMessage(messages['header.user.menu.logout']) - }]; - if (isAdmin) { - items = [{ - href: "".concat(studioBaseUrl), - title: intl.formatMessage(messages['header.user.menu.studio']) - }, { - href: "".concat(getConfig().STUDIO_BASE_URL, "/maintenance"), - title: intl.formatMessage(messages['header.user.menu.maintenance']) - }, { - href: "".concat(logoutUrl), - title: intl.formatMessage(messages['header.user.menu.logout']) - }]; - } - return items; -}; -export default getUserMenuItems; -//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/dist/studio-header/utils.js.map b/dist/studio-header/utils.js.map deleted file mode 100644 index 6c4b79872..000000000 --- a/dist/studio-header/utils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"utils.js","names":["getConfig","messages","getUserMenuItems","_ref","studioBaseUrl","logoutUrl","intl","isAdmin","items","href","concat","title","formatMessage","STUDIO_BASE_URL"],"sources":["../../src/studio-header/utils.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport messages from './messages';\n\nconst getUserMenuItems = ({\n studioBaseUrl,\n logoutUrl,\n intl,\n isAdmin,\n}) => {\n let items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n if (isAdmin) {\n items = [\n {\n href: `${studioBaseUrl}`,\n title: intl.formatMessage(messages['header.user.menu.studio']),\n }, {\n href: `${getConfig().STUDIO_BASE_URL}/maintenance`,\n title: intl.formatMessage(messages['header.user.menu.maintenance']),\n }, {\n href: `${logoutUrl}`,\n title: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n }\n\n return items;\n};\n\nexport default getUserMenuItems;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,wBAAwB;AAClD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;EAAA,IAJJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAEP,IAAIC,KAAK,GAAG,CACV;IACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;IACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,EAAE;IACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;IACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;EAC/D,CAAC,CACF;EACD,IAAIM,OAAO,EAAE;IACXC,KAAK,GAAG,CACN;MACEC,IAAI,KAAAC,MAAA,CAAKN,aAAa,CAAE;MACxBO,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKV,SAAS,CAAC,CAAC,CAACa,eAAe,iBAAc;MAClDF,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,8BAA8B,CAAC;IACpE,CAAC,EAAE;MACDQ,IAAI,KAAAC,MAAA,CAAKL,SAAS,CAAE;MACpBM,KAAK,EAAEL,IAAI,CAACM,aAAa,CAACX,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,CAAC,CACF;EACH;EAEA,OAAOO,KAAK;AACd,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]} \ No newline at end of file diff --git a/dist/test-utils.js b/dist/test-utils.js deleted file mode 100644 index 243cb3a1d..000000000 --- a/dist/test-utils.js +++ /dev/null @@ -1,26 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } -function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } -function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } -var executeThunk = /*#__PURE__*/function () { - var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(thunk, dispatch, getState) { - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return thunk(dispatch, getState); - case 2: - _context.next = 4; - return new Promise(setImmediate); - case 4: - case "end": - return _context.stop(); - } - }, _callee); - })); - return function executeThunk(_x, _x2, _x3) { - return _ref.apply(this, arguments); - }; -}(); -export default executeThunk; -//# sourceMappingURL=test-utils.js.map \ No newline at end of file diff --git a/dist/test-utils.js.map b/dist/test-utils.js.map deleted file mode 100644 index e53b630dc..000000000 --- a/dist/test-utils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test-utils.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","executeThunk","_ref","_callee","thunk","dispatch","getState","_callee$","_context","setImmediate","_x","_x2","_x3"],"sources":["../src/test-utils.js"],"sourcesContent":["const executeThunk = async (thunk, dispatch, getState) => {\n await thunk(dispatch, getState);\n await new Promise(setImmediate);\n};\n\nexport default executeThunk;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file