@openedx/frontend-base 1.0.0-alpha.46 → 1.0.0-alpha.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime/react/hooks/theme/useThemeCore.js +8 -0
- package/dist/runtime/react/hooks/theme/useThemeCore.js.map +1 -1
- package/dist/shell/dev/index.d.ts +0 -1
- package/dist/shell/dev/index.js +0 -1
- package/dist/shell/dev/index.js.map +1 -1
- package/dist/shell/header/anonymous-menu/LoginButton.js +1 -1
- package/dist/shell/header/anonymous-menu/LoginButton.js.map +1 -1
- package/dist/shell/header/anonymous-menu/RegisterButton.js +1 -1
- package/dist/shell/header/anonymous-menu/RegisterButton.js.map +1 -1
- package/dist/shell/header/app.js +14 -0
- package/dist/shell/header/app.js.map +1 -1
- package/dist/shell/site.config.dev.js +1 -2
- package/dist/shell/site.config.dev.js.map +1 -1
- package/package.json +1 -1
- package/dist/shell/dev/devUser/app.d.ts +0 -3
- package/dist/shell/dev/devUser/app.js +0 -22
- package/dist/shell/dev/devUser/app.js.map +0 -1
- package/dist/shell/dev/devUser/index.d.ts +0 -1
- package/dist/shell/dev/devUser/index.js +0 -2
- package/dist/shell/dev/devUser/index.js.map +0 -1
|
@@ -19,6 +19,14 @@ const useThemeCore = ({ themeCore, onComplete, }) => {
|
|
|
19
19
|
setIsThemeCoreComplete(true);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
+
const existingThemeCoreLink = document.head.querySelector('link[data-theme-core="true"]');
|
|
23
|
+
if (existingThemeCoreLink) {
|
|
24
|
+
if (existingThemeCoreLink.getAttribute('href') === themeCore.url) {
|
|
25
|
+
setIsThemeCoreComplete(true);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
existingThemeCoreLink.remove();
|
|
29
|
+
}
|
|
22
30
|
const themeCoreLink = document.createElement('link');
|
|
23
31
|
themeCoreLink.href = themeCore.url;
|
|
24
32
|
themeCoreLink.rel = 'stylesheet';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThemeCore.js","sourceRoot":"","sources":["../../../../../runtime/react/hooks/theme/useThemeCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,EACpB,SAAS,EACT,UAAU,GACX,EAAE,EAAE;IACH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,EAAE,CAAC;YACxB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,gDAAgD;QAChD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,EAAE,CAAC;YACpB,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrD,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;QACnC,aAAa,CAAC,GAAG,GAAG,YAAY,CAAC;QACjC,aAAa,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QACzC,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE;YAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;YAC3B,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;YAC1F,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YACxC,QAAQ,CAAC,sCAAsC,SAAS,CAAC,GAAG,aAAa,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CACjC,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { logError } from '../../../logging';\nimport { removeExistingLinks } from './utils';\n\n/**\n * Custom React hook that manages the loading and updating of a theme's core\n * CSS, ensuring the theme's core CSS is added to the document `<head>` as a\n * `<link>` element.\n */\nconst useThemeCore = ({\n themeCore,\n onComplete,\n}) => {\n const [isThemeCoreComplete, setIsThemeCoreComplete] = useState(false);\n\n useEffect(() => {\n if (isThemeCoreComplete) {\n onComplete();\n }\n }, [isThemeCoreComplete, onComplete]);\n\n useEffect(() => {\n // If there is no theme core config, do nothing.\n if (!themeCore?.url) {\n setIsThemeCoreComplete(true);\n return;\n }\n\n const themeCoreLink = document.createElement('link');\n themeCoreLink.href = themeCore.url;\n themeCoreLink.rel = 'stylesheet';\n themeCoreLink.dataset.themeCore = 'true';\n themeCoreLink.onload = () => {\n setIsThemeCoreComplete(true);\n };\n themeCoreLink.onerror = () => {\n setIsThemeCoreComplete(true);\n const otherExistingLinks = document.head.querySelectorAll('link[data-theme-core=\"true\"]');\n removeExistingLinks(otherExistingLinks);\n logError(`Failed to load core theme CSS from ${themeCore.url}. Aborting.`);\n return;\n };\n\n document.head.insertAdjacentElement(\n 'beforeend',\n themeCoreLink,\n );\n }, [themeCore?.url, onComplete]);\n};\n\nexport default useThemeCore;\n"]}
|
|
1
|
+
{"version":3,"file":"useThemeCore.js","sourceRoot":"","sources":["../../../../../runtime/react/hooks/theme/useThemeCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,EACpB,SAAS,EACT,UAAU,GACX,EAAE,EAAE;IACH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,EAAE,CAAC;YACxB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,gDAAgD;QAChD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,EAAE,CAAC;YACpB,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,GAA2B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;QAClH,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;gBACjE,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrD,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;QACnC,aAAa,CAAC,GAAG,GAAG,YAAY,CAAC;QACjC,aAAa,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QACzC,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE;YAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;YAC3B,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;YAC1F,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YACxC,QAAQ,CAAC,sCAAsC,SAAS,CAAC,GAAG,aAAa,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CACjC,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { logError } from '../../../logging';\nimport { removeExistingLinks } from './utils';\n\n/**\n * Custom React hook that manages the loading and updating of a theme's core\n * CSS, ensuring the theme's core CSS is added to the document `<head>` as a\n * `<link>` element.\n */\nconst useThemeCore = ({\n themeCore,\n onComplete,\n}) => {\n const [isThemeCoreComplete, setIsThemeCoreComplete] = useState(false);\n\n useEffect(() => {\n if (isThemeCoreComplete) {\n onComplete();\n }\n }, [isThemeCoreComplete, onComplete]);\n\n useEffect(() => {\n // If there is no theme core config, do nothing.\n if (!themeCore?.url) {\n setIsThemeCoreComplete(true);\n return;\n }\n\n const existingThemeCoreLink: HTMLLinkElement | null = document.head.querySelector('link[data-theme-core=\"true\"]');\n if (existingThemeCoreLink) {\n if (existingThemeCoreLink.getAttribute('href') === themeCore.url) {\n setIsThemeCoreComplete(true);\n return;\n }\n existingThemeCoreLink.remove();\n }\n\n const themeCoreLink = document.createElement('link');\n themeCoreLink.href = themeCore.url;\n themeCoreLink.rel = 'stylesheet';\n themeCoreLink.dataset.themeCore = 'true';\n themeCoreLink.onload = () => {\n setIsThemeCoreComplete(true);\n };\n themeCoreLink.onerror = () => {\n setIsThemeCoreComplete(true);\n const otherExistingLinks = document.head.querySelectorAll('link[data-theme-core=\"true\"]');\n removeExistingLinks(otherExistingLinks);\n logError(`Failed to load core theme CSS from ${themeCore.url}. Aborting.`);\n return;\n };\n\n document.head.insertAdjacentElement(\n 'beforeend',\n themeCoreLink,\n );\n }, [themeCore?.url, onComplete]);\n};\n\nexport default useThemeCore;\n"]}
|
package/dist/shell/dev/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../shell/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../shell/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { devFooterApp } from './devFooter';\nexport { devHeaderApp } from './devHeader';\nexport { devHomeApp } from './devHome';\nexport { slotShowcaseApp } from './slotShowcase';\n"]}
|
|
@@ -17,6 +17,6 @@ export default function LoginButton(_a) {
|
|
|
17
17
|
var props = __rest(_a, []);
|
|
18
18
|
const config = useSiteConfig();
|
|
19
19
|
const intl = useIntl();
|
|
20
|
-
return (_jsx(Button, Object.assign({
|
|
20
|
+
return (_jsx(Button, Object.assign({ variant: "link", href: config.loginUrl }, props, { children: intl.formatMessage(messages['header.user.menu.login']) })));
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=LoginButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../../../../shell/header/anonymous-menu/LoginButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAY;QAAP,KAAK,cAAV,EAAY,CAAF;IAC5C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,MAAM,kBAAC,
|
|
1
|
+
{"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../../../../shell/header/anonymous-menu/LoginButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAY;QAAP,KAAK,cAAV,EAAY,CAAF;IAC5C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,MAAM,kBAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAM,KAAK,cACpD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAChD,CACV,CAAC;AACJ,CAAC","sourcesContent":["import { Button } from '@openedx/paragon';\nimport { useSiteConfig, useIntl } from '../../../runtime';\nimport messages from '../../Shell.messages';\n\nexport default function LoginButton({ ...props }) {\n const config = useSiteConfig();\n const intl = useIntl();\n\n return (\n <Button variant=\"link\" href={config.loginUrl} {...props}>\n {intl.formatMessage(messages['header.user.menu.login'])}\n </Button>\n );\n}\n"]}
|
|
@@ -17,6 +17,6 @@ export default function RegisterButton(_a) {
|
|
|
17
17
|
var props = __rest(_a, []);
|
|
18
18
|
const config = useSiteConfig();
|
|
19
19
|
const intl = useIntl();
|
|
20
|
-
return (_jsx(Button, Object.assign({
|
|
20
|
+
return (_jsx(Button, Object.assign({ variant: "outline-primary", href: `${config.lmsBaseUrl}/register` }, props, { children: intl.formatMessage(messages['header.user.menu.register']) })));
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=RegisterButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterButton.js","sourceRoot":"","sources":["../../../../shell/header/anonymous-menu/RegisterButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAY;QAAP,KAAK,cAAV,EAAY,CAAF;IAC/C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,MAAM,kBAAC,
|
|
1
|
+
{"version":3,"file":"RegisterButton.js","sourceRoot":"","sources":["../../../../shell/header/anonymous-menu/RegisterButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAY;QAAP,KAAK,cAAV,EAAY,CAAF;IAC/C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,MAAM,kBAAC,OAAO,EAAC,iBAAiB,EAAC,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,WAAW,IAAM,KAAK,cAC/E,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,IACnD,CACV,CAAC;AACJ,CAAC","sourcesContent":["import { Button } from '@openedx/paragon';\n\nimport { useSiteConfig, useIntl } from '../../../runtime';\nimport messages from '../../Shell.messages';\n\nexport default function RegisterButton({ ...props }) {\n const config = useSiteConfig();\n const intl = useIntl();\n\n return (\n <Button variant=\"outline-primary\" href={`${config.lmsBaseUrl}/register`} {...props}>\n {intl.formatMessage(messages['header.user.menu.register'])}\n </Button>\n );\n}\n"]}
|
package/dist/shell/header/app.js
CHANGED
|
@@ -4,6 +4,8 @@ import Logo from '../Logo';
|
|
|
4
4
|
import LinkMenuItem from '../menus/LinkMenuItem';
|
|
5
5
|
import ProfileLinkMenuItem from '../menus/ProfileLinkMenuItem';
|
|
6
6
|
import AnonymousMenu from './anonymous-menu/AnonymousMenu';
|
|
7
|
+
import LoginButton from './anonymous-menu/LoginButton';
|
|
8
|
+
import RegisterButton from './anonymous-menu/RegisterButton';
|
|
7
9
|
import AuthenticatedMenu from './AuthenticatedMenu';
|
|
8
10
|
import DesktopLayout from './desktop/DesktopLayout';
|
|
9
11
|
import PrimaryNavLinks from './desktop/PrimaryNavLinks';
|
|
@@ -87,6 +89,18 @@ const config = {
|
|
|
87
89
|
authenticated: false,
|
|
88
90
|
}
|
|
89
91
|
},
|
|
92
|
+
{
|
|
93
|
+
slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',
|
|
94
|
+
id: 'org.openedx.frontend.widget.header.anonymousMenuLogin.v1',
|
|
95
|
+
op: WidgetOperationTypes.APPEND,
|
|
96
|
+
component: LoginButton,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',
|
|
100
|
+
id: 'org.openedx.frontend.widget.header.anonymousMenuRegister.v1',
|
|
101
|
+
op: WidgetOperationTypes.APPEND,
|
|
102
|
+
component: RegisterButton,
|
|
103
|
+
},
|
|
90
104
|
// Mobile
|
|
91
105
|
{
|
|
92
106
|
slotId: 'org.openedx.frontend.slot.header.mobileCenter.v1',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../shell/header/app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { WidgetOperationTypes } from '../../runtime';\nimport { App } from '../../types';\nimport Logo from '../Logo';\nimport LinkMenuItem from '../menus/LinkMenuItem';\nimport ProfileLinkMenuItem from '../menus/ProfileLinkMenuItem';\nimport AnonymousMenu from './anonymous-menu/AnonymousMenu';\nimport AuthenticatedMenu from './AuthenticatedMenu';\nimport DesktopLayout from './desktop/DesktopLayout';\nimport PrimaryNavLinks from './desktop/PrimaryNavLinks';\nimport SecondaryNavLinks from './desktop/SecondaryNavLinks';\nimport MobileLayout from './mobile/MobileLayout';\nimport MobileNavLinks from './mobile/MobileNavLinks';\n\nimport messages from '../Shell.messages';\nimport CourseTabsNavigation from './course-bar/navigation/CourseTabsNavigation';\nimport MasqueradeBar from './course-bar/masquerade/MasqueradeBar';\nimport { isCourseBarMasqueradeRoute, isCourseBarRoute } from './course-bar/utils';\nimport { appId } from './constants';\nimport './app.scss';\n\nconst config: App = {\n appId,\n slots: [\n // Layouts\n {\n slotId: 'org.openedx.frontend.slot.header.desktop.v1',\n id: 'org.openedx.frontend.widget.header.desktopLayout.v1',\n op: WidgetOperationTypes.APPEND,\n component: DesktopLayout\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobile.v1',\n id: 'org.openedx.frontend.widget.header.mobileLayout.v1',\n op: WidgetOperationTypes.APPEND,\n component: MobileLayout\n },\n\n // Desktop\n {\n slotId: 'org.openedx.frontend.slot.header.desktopLeft.v1',\n id: 'org.openedx.frontend.widget.header.desktopLogo.v1',\n op: WidgetOperationTypes.APPEND,\n element: <Logo />,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopLeft.v1',\n id: 'org.openedx.frontend.widget.header.desktopPrimaryLinks.v1',\n op: WidgetOperationTypes.APPEND,\n component: PrimaryNavLinks\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopRight.v1',\n id: 'org.openedx.frontend.widget.header.desktopSecondaryLinks.v1',\n op: WidgetOperationTypes.APPEND,\n component: SecondaryNavLinks\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopRight.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AuthenticatedMenu />,\n condition: {\n authenticated: true,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuProfile.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <ProfileLinkMenuItem\n label={messages['header.user.menu.profile']}\n role=\"org.openedx.frontend.role.profile\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuAccount.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.account']}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuLogout.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.logout']}\n role=\"org.openedx.frontend.role.logout\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopRight.v1',\n id: 'org.openedx.frontend.widget.header.desktopAnonymousMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AnonymousMenu />,\n condition: {\n authenticated: false,\n }\n },\n\n // Mobile\n {\n slotId: 'org.openedx.frontend.slot.header.mobileCenter.v1',\n id: 'org.openedx.frontend.widget.header.mobileLogo.v1',\n op: WidgetOperationTypes.APPEND,\n element: <Logo />,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobileMenu.v1',\n id: 'org.openedx.frontend.widget.header.mobileMenuLinks.v1',\n op: WidgetOperationTypes.APPEND,\n component: MobileNavLinks\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobileRight.v1',\n id: 'org.openedx.frontend.widget.header.mobileAuthenticatedMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AuthenticatedMenu />,\n condition: {\n authenticated: true,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobileRight.v1',\n id: 'org.openedx.frontend.widget.header.mobileAnonymousMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AnonymousMenu />,\n condition: {\n authenticated: false,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.courseNavigationBar.v1',\n id: 'org.openedx.frontend.widget.header.courseNavigationBar.v1',\n op: WidgetOperationTypes.APPEND,\n component: CourseTabsNavigation,\n condition: {\n callback: () => isCourseBarRoute(),\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.masqueradeBar.v1',\n id: 'org.openedx.frontend.widget.header.masqueradeBar.v1',\n op: WidgetOperationTypes.APPEND,\n component: MasqueradeBar,\n condition: {\n callback: () => isCourseBarMasqueradeRoute(),\n }\n }\n ]\n};\n\nexport default config;\n"]}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../shell/header/app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { WidgetOperationTypes } from '../../runtime';\nimport { App } from '../../types';\nimport Logo from '../Logo';\nimport LinkMenuItem from '../menus/LinkMenuItem';\nimport ProfileLinkMenuItem from '../menus/ProfileLinkMenuItem';\nimport AnonymousMenu from './anonymous-menu/AnonymousMenu';\nimport LoginButton from './anonymous-menu/LoginButton';\nimport RegisterButton from './anonymous-menu/RegisterButton';\nimport AuthenticatedMenu from './AuthenticatedMenu';\nimport DesktopLayout from './desktop/DesktopLayout';\nimport PrimaryNavLinks from './desktop/PrimaryNavLinks';\nimport SecondaryNavLinks from './desktop/SecondaryNavLinks';\nimport MobileLayout from './mobile/MobileLayout';\nimport MobileNavLinks from './mobile/MobileNavLinks';\n\nimport messages from '../Shell.messages';\nimport CourseTabsNavigation from './course-bar/navigation/CourseTabsNavigation';\nimport MasqueradeBar from './course-bar/masquerade/MasqueradeBar';\nimport { isCourseBarMasqueradeRoute, isCourseBarRoute } from './course-bar/utils';\nimport { appId } from './constants';\nimport './app.scss';\n\nconst config: App = {\n appId,\n slots: [\n // Layouts\n {\n slotId: 'org.openedx.frontend.slot.header.desktop.v1',\n id: 'org.openedx.frontend.widget.header.desktopLayout.v1',\n op: WidgetOperationTypes.APPEND,\n component: DesktopLayout\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobile.v1',\n id: 'org.openedx.frontend.widget.header.mobileLayout.v1',\n op: WidgetOperationTypes.APPEND,\n component: MobileLayout\n },\n\n // Desktop\n {\n slotId: 'org.openedx.frontend.slot.header.desktopLeft.v1',\n id: 'org.openedx.frontend.widget.header.desktopLogo.v1',\n op: WidgetOperationTypes.APPEND,\n element: <Logo />,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopLeft.v1',\n id: 'org.openedx.frontend.widget.header.desktopPrimaryLinks.v1',\n op: WidgetOperationTypes.APPEND,\n component: PrimaryNavLinks\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopRight.v1',\n id: 'org.openedx.frontend.widget.header.desktopSecondaryLinks.v1',\n op: WidgetOperationTypes.APPEND,\n component: SecondaryNavLinks\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopRight.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AuthenticatedMenu />,\n condition: {\n authenticated: true,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuProfile.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <ProfileLinkMenuItem\n label={messages['header.user.menu.profile']}\n role=\"org.openedx.frontend.role.profile\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuAccount.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.account']}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuLogout.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.logout']}\n role=\"org.openedx.frontend.role.logout\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.desktopRight.v1',\n id: 'org.openedx.frontend.widget.header.desktopAnonymousMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AnonymousMenu />,\n condition: {\n authenticated: false,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',\n id: 'org.openedx.frontend.widget.header.anonymousMenuLogin.v1',\n op: WidgetOperationTypes.APPEND,\n component: LoginButton,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',\n id: 'org.openedx.frontend.widget.header.anonymousMenuRegister.v1',\n op: WidgetOperationTypes.APPEND,\n component: RegisterButton,\n },\n\n // Mobile\n {\n slotId: 'org.openedx.frontend.slot.header.mobileCenter.v1',\n id: 'org.openedx.frontend.widget.header.mobileLogo.v1',\n op: WidgetOperationTypes.APPEND,\n element: <Logo />,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobileMenu.v1',\n id: 'org.openedx.frontend.widget.header.mobileMenuLinks.v1',\n op: WidgetOperationTypes.APPEND,\n component: MobileNavLinks\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobileRight.v1',\n id: 'org.openedx.frontend.widget.header.mobileAuthenticatedMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AuthenticatedMenu />,\n condition: {\n authenticated: true,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.mobileRight.v1',\n id: 'org.openedx.frontend.widget.header.mobileAnonymousMenu.v1',\n op: WidgetOperationTypes.APPEND,\n element: <AnonymousMenu />,\n condition: {\n authenticated: false,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.courseNavigationBar.v1',\n id: 'org.openedx.frontend.widget.header.courseNavigationBar.v1',\n op: WidgetOperationTypes.APPEND,\n component: CourseTabsNavigation,\n condition: {\n callback: () => isCourseBarRoute(),\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.masqueradeBar.v1',\n id: 'org.openedx.frontend.widget.header.masqueradeBar.v1',\n op: WidgetOperationTypes.APPEND,\n component: MasqueradeBar,\n condition: {\n callback: () => isCourseBarMasqueradeRoute(),\n }\n }\n ]\n};\n\nexport default config;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EnvironmentTypes } from '../types';
|
|
2
|
-
import { devFooterApp, devHeaderApp, devHomeApp,
|
|
2
|
+
import { devFooterApp, devHeaderApp, devHomeApp, slotShowcaseApp } from './dev';
|
|
3
3
|
import { footerApp, headerApp, shellApp } from '.';
|
|
4
4
|
import './style';
|
|
5
5
|
const siteConfig = {
|
|
@@ -7,7 +7,6 @@ const siteConfig = {
|
|
|
7
7
|
shellApp,
|
|
8
8
|
headerApp,
|
|
9
9
|
footerApp,
|
|
10
|
-
devUserApp,
|
|
11
10
|
devHomeApp,
|
|
12
11
|
devHeaderApp,
|
|
13
12
|
devFooterApp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.config.dev.js","sourceRoot":"","sources":["../../shell/site.config.dev.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"site.config.dev.js","sourceRoot":"","sources":["../../shell/site.config.dev.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAEnD,OAAO,SAAS,CAAC;AAEjB,MAAM,UAAU,GAAe;IAC7B,IAAI,EAAE;QACJ,QAAQ;QACR,SAAS;QACT,SAAS;QACT,UAAU;QACV,YAAY;QACZ,YAAY;QACZ,eAAe;KAChB;IAED,cAAc,EAAE;QACd;YACE,IAAI,EAAE,mCAAmC;YACzC,GAAG,EAAE,4CAA4C;SAClD;QACD;YACE,IAAI,EAAE,mCAAmC;YACzC,GAAG,EAAE,4CAA4C;SAClD;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,GAAG,EAAE,qCAAqC;SAC3C;KACF;IAED,UAAU;IACV,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE,mCAAmC;IAC5C,WAAW,EAAE,gBAAgB,CAAC,WAAW;IAEzC,gBAAgB;IAChB,QAAQ,EAAE,oCAAoC;IAC9C,SAAS,EAAE,qCAAqC;IAEhD,WAAW;IACX,UAAU,EAAE,8BAA8B;IAC1C,UAAU,EAAE,qCAAqC;IACjD,oBAAoB,EAAE,+BAA+B;CACtD,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import { EnvironmentTypes, SiteConfig } from '../types';\nimport { devFooterApp, devHeaderApp, devHomeApp, slotShowcaseApp } from './dev';\nimport { footerApp, headerApp, shellApp } from '.';\n\nimport './style';\n\nconst siteConfig: SiteConfig = {\n apps: [\n shellApp,\n headerApp,\n footerApp,\n devHomeApp,\n devHeaderApp,\n devFooterApp,\n slotShowcaseApp,\n ],\n\n externalRoutes: [\n {\n role: 'org.openedx.frontend.role.profile',\n url: 'http://apps.local.openedx.io:1995/profile/'\n },\n {\n role: 'org.openedx.frontend.role.account',\n url: 'http://apps.local.openedx.io:1997/account/'\n },\n {\n role: 'org.openedx.frontend.role.logout',\n url: 'http://local.openedx.io:8000/logout'\n },\n ],\n\n // General\n siteId: 'shell',\n siteName: 'My Open edX Site',\n baseUrl: 'http://apps.local.openedx.io:8080',\n environment: EnvironmentTypes.DEVELOPMENT,\n\n // Frontend URLs\n loginUrl: 'http://local.openedx.io:8000/login',\n logoutUrl: 'http://local.openedx.io:8000/logout',\n\n // API URLs\n lmsBaseUrl: 'http://local.openedx.io:8000',\n cmsBaseUrl: 'http://studio.local.openedx.io:8001',\n runtimeConfigJsonUrl: '/api/frontend_site_config/v1/',\n};\n\nexport default siteConfig;\n"]}
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { WidgetOperationTypes } from '../../../runtime';
|
|
2
|
-
import LoginButton from '../../header/anonymous-menu/LoginButton';
|
|
3
|
-
import RegisterButton from '../../header/anonymous-menu/RegisterButton';
|
|
4
|
-
const app = {
|
|
5
|
-
appId: 'org.openedx.frontend.app.dev.user',
|
|
6
|
-
slots: [
|
|
7
|
-
{
|
|
8
|
-
slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',
|
|
9
|
-
id: 'user.anonymousMenu.loginButton',
|
|
10
|
-
op: WidgetOperationTypes.APPEND,
|
|
11
|
-
component: LoginButton,
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',
|
|
15
|
-
id: 'user.anonymousMenu.registerButton',
|
|
16
|
-
op: WidgetOperationTypes.APPEND,
|
|
17
|
-
component: RegisterButton,
|
|
18
|
-
},
|
|
19
|
-
]
|
|
20
|
-
};
|
|
21
|
-
export default app;
|
|
22
|
-
//# sourceMappingURL=app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../shell/dev/devUser/app.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,cAAc,MAAM,4CAA4C,CAAC;AAExE,MAAM,GAAG,GAAQ;IACf,KAAK,EAAE,mCAAmC;IAC1C,KAAK,EAAE;QACL;YACE,MAAM,EAAE,mDAAmD;YAC3D,EAAE,EAAE,gCAAgC;YACpC,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,WAAW;SACvB;QACD;YACE,MAAM,EAAE,mDAAmD;YAC3D,EAAE,EAAE,mCAAmC;YACvC,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,cAAc;SAC1B;KACF;CACF,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import { WidgetOperationTypes } from '../../../runtime';\nimport { App } from '../../../types';\nimport LoginButton from '../../header/anonymous-menu/LoginButton';\nimport RegisterButton from '../../header/anonymous-menu/RegisterButton';\n\nconst app: App = {\n appId: 'org.openedx.frontend.app.dev.user',\n slots: [\n {\n slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',\n id: 'user.anonymousMenu.loginButton',\n op: WidgetOperationTypes.APPEND,\n component: LoginButton,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',\n id: 'user.anonymousMenu.registerButton',\n op: WidgetOperationTypes.APPEND,\n component: RegisterButton,\n },\n ]\n};\n\nexport default app;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as devUserApp } from './app';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shell/dev/devUser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC","sourcesContent":["export { default as devUserApp } from './app';\n"]}
|