@artistanbul/frontend-component-header-sumac 1.1.0
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/LICENSE +661 -0
- package/README.md +93 -0
- package/README.rst +193 -0
- package/dist/Avatar.js +43 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Header.js +130 -0
- package/dist/Header.js.map +1 -0
- package/dist/Header.messages.js +110 -0
- package/dist/Header.messages.js.map +1 -0
- package/dist/Header.test.jsx +104 -0
- package/dist/Icons.js +52 -0
- package/dist/Icons.js.map +1 -0
- package/dist/Logo.js +28 -0
- package/dist/Logo.js.map +1 -0
- package/dist/Menu/Menu.js +321 -0
- package/dist/Menu/Menu.js.map +1 -0
- package/dist/Menu/index.js +3 -0
- package/dist/Menu/index.js.map +1 -0
- package/dist/Menu/menu.scss +45 -0
- package/dist/__snapshots__/Header.test.jsx.snap +445 -0
- package/dist/desktop-header/DesktopHeader.js +174 -0
- package/dist/desktop-header/DesktopHeader.js.map +1 -0
- package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js +51 -0
- package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map +1 -0
- package/dist/desktop-header/DesktopHeaderUserMenu.js +49 -0
- package/dist/desktop-header/DesktopHeaderUserMenu.js.map +1 -0
- package/dist/desktop-header/DesktopLoggedOutItems.js +22 -0
- package/dist/desktop-header/DesktopLoggedOutItems.js.map +1 -0
- package/dist/generic/messages.js +15 -0
- package/dist/generic/messages.js.map +1 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/images/omnikampus/artistanbul-logo.png +0 -0
- package/dist/images/omnikampus/omnikampus-just-logo.png +0 -0
- package/dist/images/omnikampus/omnikampus-logo.png +0 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/index.scss +248 -0
- package/dist/learning-header/AnonymousUserMenu.js +25 -0
- package/dist/learning-header/AnonymousUserMenu.js.map +1 -0
- package/dist/learning-header/AuthenticatedUserDropdown.js +57 -0
- package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -0
- package/dist/learning-header/LearningHeader.js +61 -0
- package/dist/learning-header/LearningHeader.js.map +1 -0
- package/dist/learning-header/LearningHeaderCourseInfo.js +24 -0
- package/dist/learning-header/LearningHeaderCourseInfo.js.map +1 -0
- package/dist/learning-header/LearningHeaderHelpLink.js +13 -0
- package/dist/learning-header/LearningHeaderHelpLink.js.map +1 -0
- package/dist/learning-header/LearningHeaderUserMenuItems.js +20 -0
- package/dist/learning-header/LearningHeaderUserMenuItems.js.map +1 -0
- package/dist/learning-header/LearningLoggedOutButtons.js +24 -0
- package/dist/learning-header/LearningLoggedOutButtons.js.map +1 -0
- package/dist/learning-header/messages.js +40 -0
- package/dist/learning-header/messages.js.map +1 -0
- package/dist/mobile-header/MobileHeader.js +192 -0
- package/dist/mobile-header/MobileHeader.js.map +1 -0
- package/dist/mobile-header/MobileHeaderMainMenu.js +46 -0
- package/dist/mobile-header/MobileHeaderMainMenu.js.map +1 -0
- package/dist/mobile-header/MobileHeaderUserMenu.js +38 -0
- package/dist/mobile-header/MobileHeaderUserMenu.js.map +1 -0
- package/dist/mobile-header/MobileLoggedOutItems.js +27 -0
- package/dist/mobile-header/MobileLoggedOutItems.js.map +1 -0
- package/dist/plugin-slots/CourseInfoSlot/README.md +125 -0
- package/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js +31 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopHeaderSlot/README.md +41 -0
- package/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js +15 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +134 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/README.md +134 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +129 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/README.md +141 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningHelpSlot/README.md +41 -0
- package/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png +0 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js +10 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +132 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js +17 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningUserMenuSlot/README.md +130 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js +17 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/LogoSlot/README.md +69 -0
- package/dist/plugin-slots/LogoSlot/index.js +26 -0
- package/dist/plugin-slots/LogoSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileHeaderSlot/README.md +41 -0
- package/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png +0 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js +15 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +134 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js +19 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileMainMenuSlot/README.md +134 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js +19 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileUserMenuSlot/README.md +142 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js +19 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/README.md +15 -0
- package/dist/setupTest.js +125 -0
- package/dist/studio-header/BrandNav.js +24 -0
- package/dist/studio-header/BrandNav.js.map +1 -0
- package/dist/studio-header/CourseLockUp.js +46 -0
- package/dist/studio-header/CourseLockUp.js.map +1 -0
- package/dist/studio-header/HeaderBody.js +143 -0
- package/dist/studio-header/HeaderBody.js.map +1 -0
- package/dist/studio-header/MobileHeader.js +79 -0
- package/dist/studio-header/MobileHeader.js.map +1 -0
- package/dist/studio-header/MobileMenu.js +46 -0
- package/dist/studio-header/MobileMenu.js.map +1 -0
- package/dist/studio-header/NavDropdownMenu.js +32 -0
- package/dist/studio-header/NavDropdownMenu.js.map +1 -0
- package/dist/studio-header/StudioHeader.js +79 -0
- package/dist/studio-header/StudioHeader.js.map +1 -0
- package/dist/studio-header/StudioHeader.scss +49 -0
- package/dist/studio-header/UserMenu.js +55 -0
- package/dist/studio-header/UserMenu.js.map +1 -0
- package/dist/studio-header/index.js +3 -0
- package/dist/studio-header/index.js.map +1 -0
- package/dist/studio-header/messages.js +55 -0
- package/dist/studio-header/messages.js.map +1 -0
- package/dist/studio-header/utils.js +26 -0
- package/dist/studio-header/utils.js.map +1 -0
- package/dist/test-utils.js +26 -0
- package/dist/test-utils.js.map +1 -0
- package/package.json +79 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import { Menu, MenuTrigger, MenuContent } from '../Menu';
|
4
|
+
import { CaretIcon } from '../Icons';
|
5
|
+
var DesktopHeaderMainOrSecondaryMenu = function DesktopHeaderMainOrSecondaryMenu(_ref) {
|
6
|
+
var menu = _ref.menu;
|
7
|
+
// Nodes are accepted as a prop
|
8
|
+
if (!Array.isArray(menu)) {
|
9
|
+
return menu;
|
10
|
+
}
|
11
|
+
return menu.map(function (menuItem) {
|
12
|
+
var type = menuItem.type,
|
13
|
+
href = menuItem.href,
|
14
|
+
content = menuItem.content,
|
15
|
+
submenuContent = menuItem.submenuContent,
|
16
|
+
disabled = menuItem.disabled,
|
17
|
+
isActive = menuItem.isActive,
|
18
|
+
onClick = menuItem.onClick;
|
19
|
+
if (type === 'item') {
|
20
|
+
return /*#__PURE__*/React.createElement("a", {
|
21
|
+
key: "".concat(type, "-").concat(content),
|
22
|
+
className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''),
|
23
|
+
href: href,
|
24
|
+
onClick: onClick || null
|
25
|
+
}, content);
|
26
|
+
}
|
27
|
+
return /*#__PURE__*/React.createElement(Menu, {
|
28
|
+
key: "".concat(type, "-").concat(content),
|
29
|
+
tag: "div",
|
30
|
+
className: "nav-item",
|
31
|
+
respondToPointerEvents: true
|
32
|
+
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
33
|
+
onClick: onClick || null,
|
34
|
+
tag: "a",
|
35
|
+
className: "nav-link d-inline-flex align-items-center",
|
36
|
+
href: href
|
37
|
+
}, content, " ", /*#__PURE__*/React.createElement(CaretIcon, {
|
38
|
+
role: "img",
|
39
|
+
"aria-hidden": true,
|
40
|
+
focusable: "false"
|
41
|
+
})), /*#__PURE__*/React.createElement(MenuContent, {
|
42
|
+
className: "pin-left pin-right shadow py-2"
|
43
|
+
}, submenuContent));
|
44
|
+
});
|
45
|
+
};
|
46
|
+
export var desktopHeaderMainOrSecondaryMenuDataShape = PropTypes.oneOfType([PropTypes.node, PropTypes.array]);
|
47
|
+
DesktopHeaderMainOrSecondaryMenu.propTypes = {
|
48
|
+
menu: desktopHeaderMainOrSecondaryMenuDataShape
|
49
|
+
};
|
50
|
+
export default DesktopHeaderMainOrSecondaryMenu;
|
51
|
+
//# sourceMappingURL=DesktopHeaderMainOrSecondaryMenu.js.map
|
@@ -0,0 +1 @@
|
|
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 <a\n key={`${type}-${content}`}\n className={`nav-link${disabled ? ' disabled' : ''}${isActive ? ' active' : ''}`}\n href={href}\n onClick={onClick || null}\n >\n {content}\n </a>\n );\n }\n\n return (\n <Menu key={`${type}-${content}`} tag=\"div\" className=\"nav-item\" respondToPointerEvents>\n <MenuTrigger onClick={onClick || null} tag=\"a\" className=\"nav-link d-inline-flex align-items-center\" href={href}>\n {content} <CaretIcon role=\"img\" aria-hidden focusable=\"false\" />\n </MenuTrigger>\n <MenuContent className=\"pin-left pin-right shadow py-2\">\n {submenuContent}\n </MenuContent>\n </Menu>\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":[]}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
var DesktopHeaderUserMenu = function DesktopHeaderUserMenu(_ref) {
|
4
|
+
var menu = _ref.menu;
|
5
|
+
return menu.map(function (group, index) {
|
6
|
+
return (
|
7
|
+
/*#__PURE__*/
|
8
|
+
// eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key
|
9
|
+
React.createElement(React.Fragment, {
|
10
|
+
key: index
|
11
|
+
}, group.heading && /*#__PURE__*/React.createElement("div", {
|
12
|
+
className: "dropdown-header",
|
13
|
+
role: "heading",
|
14
|
+
"aria-level": "1"
|
15
|
+
}, group.heading), group.items.map(function (_ref2) {
|
16
|
+
var type = _ref2.type,
|
17
|
+
content = _ref2.content,
|
18
|
+
href = _ref2.href,
|
19
|
+
disabled = _ref2.disabled,
|
20
|
+
isActive = _ref2.isActive,
|
21
|
+
onClick = _ref2.onClick;
|
22
|
+
return /*#__PURE__*/React.createElement("a", {
|
23
|
+
className: "dropdown-".concat(type).concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''),
|
24
|
+
key: "".concat(type, "-").concat(content),
|
25
|
+
href: href,
|
26
|
+
onClick: onClick || null
|
27
|
+
}, content);
|
28
|
+
}), index < menu.length - 1 && /*#__PURE__*/React.createElement("div", {
|
29
|
+
className: "dropdown-divider",
|
30
|
+
role: "separator"
|
31
|
+
}))
|
32
|
+
);
|
33
|
+
});
|
34
|
+
};
|
35
|
+
export var desktopUserMenuDataShape = PropTypes.arrayOf(PropTypes.shape({
|
36
|
+
heading: PropTypes.string,
|
37
|
+
items: PropTypes.arrayOf(PropTypes.shape({
|
38
|
+
type: PropTypes.oneOf(['item', 'menu']),
|
39
|
+
href: PropTypes.string,
|
40
|
+
content: PropTypes.string,
|
41
|
+
isActive: PropTypes.bool,
|
42
|
+
onClick: PropTypes.func
|
43
|
+
}))
|
44
|
+
}));
|
45
|
+
DesktopHeaderUserMenu.propTypes = {
|
46
|
+
menu: desktopUserMenuDataShape
|
47
|
+
};
|
48
|
+
export default DesktopHeaderUserMenu;
|
49
|
+
//# sourceMappingURL=DesktopHeaderUserMenu.js.map
|
@@ -0,0 +1 @@
|
|
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 <React.Fragment key={index}>\n {group.heading && <div className=\"dropdown-header\" role=\"heading\" aria-level=\"1\">{group.heading}</div>}\n {group.items.map(({\n type, content, href, disabled, isActive, onClick,\n }) => (\n <a\n className={`dropdown-${type}${isActive ? ' active' : ''}${disabled ? ' disabled' : ''}`}\n key={`${type}-${content}`}\n href={href}\n onClick={onClick || null}\n >\n {content}\n </a>\n ))}\n {index < menu.length - 1 && <div className=\"dropdown-divider\" role=\"separator\" />}\n </React.Fragment>\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":[]}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
var DesktopLoggedOutItems = function DesktopLoggedOutItems(_ref) {
|
4
|
+
var items = _ref.items;
|
5
|
+
return items.map(function (item, i, arr) {
|
6
|
+
return /*#__PURE__*/React.createElement("a", {
|
7
|
+
key: "".concat(item.type, "-").concat(item.content),
|
8
|
+
className: i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary',
|
9
|
+
href: item.href
|
10
|
+
}, item.content);
|
11
|
+
});
|
12
|
+
};
|
13
|
+
export var desktopLoggedOutItemsDataShape = PropTypes.arrayOf(PropTypes.shape({
|
14
|
+
type: PropTypes.oneOf(['item', 'menu']),
|
15
|
+
href: PropTypes.string,
|
16
|
+
content: PropTypes.string
|
17
|
+
}));
|
18
|
+
DesktopLoggedOutItems.propTypes = {
|
19
|
+
items: desktopLoggedOutItemsDataShape
|
20
|
+
};
|
21
|
+
export default DesktopLoggedOutItems;
|
22
|
+
//# sourceMappingURL=DesktopLoggedOutItems.js.map
|
@@ -0,0 +1 @@
|
|
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 <a\n key={`${item.type}-${item.content}`}\n className={i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary'}\n href={item.href}\n >\n {item.content}\n </a>\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":[]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { defineMessages } from '@edx/frontend-platform/i18n';
|
2
|
+
var messages = defineMessages({
|
3
|
+
registerSentenceCase: {
|
4
|
+
id: 'general.register.sentenceCase',
|
5
|
+
defaultMessage: 'Register',
|
6
|
+
description: 'Text in a button, prompting the user to register.'
|
7
|
+
},
|
8
|
+
signInSentenceCase: {
|
9
|
+
id: 'general.signIn.sentenceCase',
|
10
|
+
defaultMessage: 'Sign in',
|
11
|
+
description: 'Text in a button, prompting the user to log in.'
|
12
|
+
}
|
13
|
+
});
|
14
|
+
export default messages;
|
15
|
+
//# sourceMappingURL=messages.js.map
|
@@ -0,0 +1 @@
|
|
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":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/i18n/index.js"],"sourcesContent":["export default {};\n"],"mappings":"AAAA,eAAe,CAAC,CAAC","ignoreList":[]}
|
Binary file
|
Binary file
|
Binary file
|
package/dist/index.js
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
import 'babel-polyfill';
|
2
|
+
import React from 'react';
|
3
|
+
import ReactDOM from 'react-dom';
|
4
|
+
import { initialize, getConfig, subscribe, APP_READY } from '@edx/frontend-platform';
|
5
|
+
import { AppContext, AppProvider } from '@edx/frontend-platform/react';
|
6
|
+
import Header from './Header';
|
7
|
+
import LearningHeader from "./learning-header/LearningHeader";
|
8
|
+
import './index.scss';
|
9
|
+
import StudioHeader from './studio-header/StudioHeader';
|
10
|
+
subscribe(APP_READY, function () {
|
11
|
+
ReactDOM.render(/*#__PURE__*/React.createElement(AppProvider, null, /*#__PURE__*/React.createElement(AppContext.Provider, {
|
12
|
+
value: {
|
13
|
+
authenticatedUser: null,
|
14
|
+
config: getConfig()
|
15
|
+
}
|
16
|
+
}, /*#__PURE__*/React.createElement(Header, null)), /*#__PURE__*/React.createElement("h5", {
|
17
|
+
className: "mt-2 mb-5"
|
18
|
+
}, "Logged out state"), /*#__PURE__*/React.createElement(AppContext.Provider, {
|
19
|
+
value: {
|
20
|
+
authenticatedUser: {
|
21
|
+
userId: '123abc',
|
22
|
+
username: 'testuser',
|
23
|
+
roles: [],
|
24
|
+
administrator: false
|
25
|
+
},
|
26
|
+
config: getConfig()
|
27
|
+
}
|
28
|
+
}, /*#__PURE__*/React.createElement(Header, null)), /*#__PURE__*/React.createElement("h5", {
|
29
|
+
className: "mt-2 mb-5"
|
30
|
+
}, "Logged in state"), /*#__PURE__*/React.createElement(AppContext.Provider, {
|
31
|
+
value: {
|
32
|
+
authenticatedUser: {
|
33
|
+
userId: '123abc',
|
34
|
+
username: 'testuser',
|
35
|
+
roles: [],
|
36
|
+
administrator: false
|
37
|
+
},
|
38
|
+
config: getConfig()
|
39
|
+
}
|
40
|
+
}, /*#__PURE__*/React.createElement(LearningHeader, null)), /*#__PURE__*/React.createElement("h5", {
|
41
|
+
className: "mt-2 mb-5"
|
42
|
+
}, "Logged in state of Learning Header"), /*#__PURE__*/React.createElement(AppContext.Provider, {
|
43
|
+
value: {
|
44
|
+
authenticatedUser: {
|
45
|
+
userId: '123abc',
|
46
|
+
username: 'testuser',
|
47
|
+
roles: [],
|
48
|
+
administrator: false
|
49
|
+
},
|
50
|
+
config: getConfig()
|
51
|
+
}
|
52
|
+
}, /*#__PURE__*/React.createElement(StudioHeader, {
|
53
|
+
number: "run123",
|
54
|
+
org: "testX",
|
55
|
+
title: "Course Name",
|
56
|
+
isHiddenMainMenu: false,
|
57
|
+
mainMenuDropdowns: [{
|
58
|
+
id: 'content-dropdown',
|
59
|
+
buttonTitle: 'Content',
|
60
|
+
items: [{
|
61
|
+
href: '#',
|
62
|
+
title: 'Outline'
|
63
|
+
}]
|
64
|
+
}],
|
65
|
+
outlineLink: "#"
|
66
|
+
})), /*#__PURE__*/React.createElement("h5", {
|
67
|
+
className: "mt-2"
|
68
|
+
}, "Logged in state for Studio header")), document.getElementById('root'));
|
69
|
+
});
|
70
|
+
initialize({
|
71
|
+
messages: []
|
72
|
+
});
|
73
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","ReactDOM","initialize","getConfig","subscribe","APP_READY","AppContext","AppProvider","Header","LearningHeader","StudioHeader","render","createElement","Provider","value","authenticatedUser","config","className","userId","username","roles","administrator","number","org","title","isHiddenMainMenu","mainMenuDropdowns","id","buttonTitle","items","href","outlineLink","document","getElementById","messages"],"sources":["../src/index.jsx"],"sourcesContent":["import 'babel-polyfill';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { initialize, getConfig, subscribe, APP_READY } from '@edx/frontend-platform';\nimport { AppContext, AppProvider } from '@edx/frontend-platform/react';\nimport Header from './Header';\nimport LearningHeader from \"./learning-header/LearningHeader\"\n\nimport './index.scss';\nimport StudioHeader from './studio-header/StudioHeader';\n\nsubscribe(APP_READY, () => {\n ReactDOM.render(\n <AppProvider>\n {/* We can fake out authentication by including another provider here with the data we want */}\n <AppContext.Provider value={{\n authenticatedUser: null,\n config: getConfig(),\n }}>\n <Header />\n </AppContext.Provider>\n <h5 className=\"mt-2 mb-5\">Logged out state</h5>\n\n {/* We can fake out authentication by including another provider here with the data we want */}\n <AppContext.Provider value={{\n authenticatedUser: {\n userId: '123abc',\n username: 'testuser',\n roles: [],\n administrator: false,\n },\n config: getConfig(),\n }}>\n <Header />\n </AppContext.Provider>\n <h5 className=\"mt-2 mb-5\">Logged in state</h5>\n\n\n <AppContext.Provider value={{\n authenticatedUser: {\n userId: '123abc',\n username: 'testuser',\n roles: [],\n administrator: false,\n },\n config: getConfig(),\n }}>\n <LearningHeader />\n </AppContext.Provider>\n <h5 className=\"mt-2 mb-5\">Logged in state of Learning Header</h5>\n\n\n <AppContext.Provider value={{\n authenticatedUser: {\n userId: '123abc',\n username: 'testuser',\n roles: [],\n administrator: false,\n },\n config: getConfig(),\n }}>\n <StudioHeader\n number=\"run123\"\n org=\"testX\"\n title=\"Course Name\"\n isHiddenMainMenu={false}\n mainMenuDropdowns={[\n {\n id: 'content-dropdown',\n buttonTitle: 'Content',\n items: [{\n href: '#',\n title: 'Outline',\n }],\n },\n ]}\n outlineLink=\"#\"\n />\n </AppContext.Provider>\n <h5 className=\"mt-2\">Logged in state for Studio header</h5>\n </AppProvider>,\n document.getElementById('root'),\n );\n});\n\ninitialize({\n messages: []\n});\n"],"mappings":"AAAA,OAAO,gBAAgB;AAEvB,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,WAAW;AAChC,SAASC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,QAAQ,wBAAwB;AACpF,SAASC,UAAU,EAAEC,WAAW,QAAQ,8BAA8B;AACtE,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,cAAc,MAAM,kCAAkC;AAE7D,OAAO,cAAc;AACrB,OAAOC,YAAY,MAAM,8BAA8B;AAEvDN,SAAS,CAACC,SAAS,EAAE,YAAM;EACzBJ,QAAQ,CAACU,MAAM,cACbX,KAAA,CAAAY,aAAA,CAACL,WAAW,qBAEVP,KAAA,CAAAY,aAAA,CAACN,UAAU,CAACO,QAAQ;IAACC,KAAK,EAAE;MAC1BC,iBAAiB,EAAE,IAAI;MACvBC,MAAM,EAAEb,SAAS,CAAC;IACpB;EAAE,gBACAH,KAAA,CAAAY,aAAA,CAACJ,MAAM,MAAE,CACU,CAAC,eACtBR,KAAA,CAAAY,aAAA;IAAIK,SAAS,EAAC;EAAW,GAAC,kBAAoB,CAAC,eAG/CjB,KAAA,CAAAY,aAAA,CAACN,UAAU,CAACO,QAAQ;IAACC,KAAK,EAAE;MAC1BC,iBAAiB,EAAE;QACjBG,MAAM,EAAE,QAAQ;QAChBC,QAAQ,EAAE,UAAU;QACpBC,KAAK,EAAE,EAAE;QACTC,aAAa,EAAE;MACjB,CAAC;MACDL,MAAM,EAAEb,SAAS,CAAC;IACpB;EAAE,gBACAH,KAAA,CAAAY,aAAA,CAACJ,MAAM,MAAE,CACU,CAAC,eACtBR,KAAA,CAAAY,aAAA;IAAIK,SAAS,EAAC;EAAY,GAAC,iBAAmB,CAAC,eAG/CjB,KAAA,CAAAY,aAAA,CAACN,UAAU,CAACO,QAAQ;IAACC,KAAK,EAAE;MAC1BC,iBAAiB,EAAE;QACjBG,MAAM,EAAE,QAAQ;QAChBC,QAAQ,EAAE,UAAU;QACpBC,KAAK,EAAE,EAAE;QACTC,aAAa,EAAE;MACjB,CAAC;MACDL,MAAM,EAAEb,SAAS,CAAC;IACpB;EAAE,gBACAH,KAAA,CAAAY,aAAA,CAACH,cAAc,MAAE,CACE,CAAC,eACtBT,KAAA,CAAAY,aAAA;IAAIK,SAAS,EAAC;EAAY,GAAC,oCAAsC,CAAC,eAGlEjB,KAAA,CAAAY,aAAA,CAACN,UAAU,CAACO,QAAQ;IAACC,KAAK,EAAE;MAC1BC,iBAAiB,EAAE;QACjBG,MAAM,EAAE,QAAQ;QAChBC,QAAQ,EAAE,UAAU;QACpBC,KAAK,EAAE,EAAE;QACTC,aAAa,EAAE;MACjB,CAAC;MACDL,MAAM,EAAEb,SAAS,CAAC;IACpB;EAAE,gBACAH,KAAA,CAAAY,aAAA,CAACF,YAAY;IACXY,MAAM,EAAC,QAAQ;IACfC,GAAG,EAAC,OAAO;IACXC,KAAK,EAAC,aAAa;IACnBC,gBAAgB,EAAE,KAAM;IACxBC,iBAAiB,EAAE,CACjB;MACEC,EAAE,EAAE,kBAAkB;MACtBC,WAAW,EAAE,SAAS;MACtBC,KAAK,EAAE,CAAC;QACNC,IAAI,EAAE,GAAG;QACTN,KAAK,EAAE;MACT,CAAC;IACH,CAAC,CACD;IACFO,WAAW,EAAC;EAAG,CAChB,CACkB,CAAC,eACtB/B,KAAA,CAAAY,aAAA;IAAIK,SAAS,EAAC;EAAM,GAAC,mCAAqC,CAC/C,CAAC,EACde,QAAQ,CAACC,cAAc,CAAC,MAAM,CAChC,CAAC;AACH,CAAC,CAAC;AAEF/B,UAAU,CAAC;EACTgC,QAAQ,EAAE;AACZ,CAAC,CAAC","ignoreList":[]}
|
package/dist/index.scss
ADDED
@@ -0,0 +1,248 @@
|
|
1
|
+
@import "@edx/brand/paragon/fonts";
|
2
|
+
@import "@edx/brand/paragon/variables";
|
3
|
+
@import "@openedx/paragon/scss/core/core";
|
4
|
+
@import "@edx/brand/paragon/overrides";
|
5
|
+
|
6
|
+
$spacer: 1rem;
|
7
|
+
$blue: #007db8;
|
8
|
+
$white: #fff;
|
9
|
+
|
10
|
+
@import "./Menu/menu.scss";
|
11
|
+
@import "./studio-header/StudioHeader.scss";
|
12
|
+
|
13
|
+
.dropdown-item a {
|
14
|
+
text-decoration: none;
|
15
|
+
}
|
16
|
+
|
17
|
+
.icon-button {
|
18
|
+
display: inline-flex;
|
19
|
+
line-height: 3rem;
|
20
|
+
background: transparent;
|
21
|
+
vertical-align: middle;
|
22
|
+
text-align: center;
|
23
|
+
border: none;
|
24
|
+
height: 3rem;
|
25
|
+
width: 3rem;
|
26
|
+
padding: 0.75rem;
|
27
|
+
justify-content: center;
|
28
|
+
align-items: center;
|
29
|
+
&:hover,
|
30
|
+
&:focus {
|
31
|
+
background: rgba(0, 0, 0, 0.1);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
.learning-header {
|
36
|
+
min-width: 0;
|
37
|
+
|
38
|
+
.course-title-lockup {
|
39
|
+
min-width: 0;
|
40
|
+
|
41
|
+
span {
|
42
|
+
white-space: nowrap;
|
43
|
+
overflow: hidden;
|
44
|
+
text-overflow: ellipsis;
|
45
|
+
padding-bottom: 0.1rem;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
.user-dropdown {
|
50
|
+
.btn {
|
51
|
+
height: 3rem;
|
52
|
+
// @media (max-width: -1 + map-get($grid-breakpoints, "sm")) {
|
53
|
+
// padding: 0 0.5rem;
|
54
|
+
// }
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
.site-header-mobile,
|
60
|
+
.site-header-desktop {
|
61
|
+
position: relative;
|
62
|
+
z-index: 1000;
|
63
|
+
}
|
64
|
+
|
65
|
+
.site-header-mobile {
|
66
|
+
height: 3rem;
|
67
|
+
|
68
|
+
.nav-link {
|
69
|
+
text-decoration: none;
|
70
|
+
cursor: pointer;
|
71
|
+
}
|
72
|
+
img {
|
73
|
+
height: 1.5rem;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
.site-header-desktop {
|
78
|
+
box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
|
79
|
+
background: $white;
|
80
|
+
.nav-link {
|
81
|
+
text-decoration: none;
|
82
|
+
}
|
83
|
+
.logo {
|
84
|
+
display: block;
|
85
|
+
box-sizing: content-box;
|
86
|
+
position: relative;
|
87
|
+
top: -0.05em;
|
88
|
+
height: 1.75rem;
|
89
|
+
padding: 1rem 0;
|
90
|
+
margin-right: 1rem;
|
91
|
+
img {
|
92
|
+
display: block;
|
93
|
+
height: 100%;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
.secondary-menu-container {
|
97
|
+
.nav-link:hover,
|
98
|
+
.nav-link:focus,
|
99
|
+
.nav-link.active,
|
100
|
+
.expanded .nav-link {
|
101
|
+
background: $component-active-bg;
|
102
|
+
color: $component-active-color;
|
103
|
+
}
|
104
|
+
}
|
105
|
+
.main-nav {
|
106
|
+
.nav-link {
|
107
|
+
padding: 1.125rem 1rem;
|
108
|
+
text-decoration: none;
|
109
|
+
font-weight: 500;
|
110
|
+
letter-spacing: 0.01em;
|
111
|
+
}
|
112
|
+
.nav-link:hover,
|
113
|
+
.nav-link:focus,
|
114
|
+
.nav-link.active,
|
115
|
+
.expanded .nav-link {
|
116
|
+
background: $component-active-bg;
|
117
|
+
color: $component-active-color;
|
118
|
+
}
|
119
|
+
.menu {
|
120
|
+
position: static;
|
121
|
+
.menu-content {
|
122
|
+
border-top: solid 2px $component-active-bg;
|
123
|
+
left: 0;
|
124
|
+
right: 0;
|
125
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
|
126
|
+
border-bottom-left-radius: 2px;
|
127
|
+
border-bottom-right-radius: 2px;
|
128
|
+
padding: 1rem;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
}
|
132
|
+
.search-input {
|
133
|
+
border-radius: $rounded-pill;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
// Filters:
|
138
|
+
$filter-white: brightness(0) saturate(100%) invert(100%) sepia(0%)
|
139
|
+
saturate(7498%) hue-rotate(168deg) brightness(100%) contrast(103%)
|
140
|
+
drop-shadow(0 2px 1px rgba(0, 0, 0, 0.05));
|
141
|
+
|
142
|
+
// Omnikampus Colors:
|
143
|
+
$green: #32ab5c;
|
144
|
+
$white: #ffffff;
|
145
|
+
|
146
|
+
#root {
|
147
|
+
header.site-header-desktop {
|
148
|
+
background: $green;
|
149
|
+
|
150
|
+
a.logo {
|
151
|
+
filter: $filter-white;
|
152
|
+
height: 50px;
|
153
|
+
}
|
154
|
+
|
155
|
+
.main-nav {
|
156
|
+
.nav-link:hover,
|
157
|
+
.nav-link:focus,
|
158
|
+
.nav-link.active,
|
159
|
+
.expanded .nav-link {
|
160
|
+
background: $green;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
|
165
|
+
.nav-link {
|
166
|
+
color: $white;
|
167
|
+
|
168
|
+
&:hover,
|
169
|
+
&:focus {
|
170
|
+
background: $green;
|
171
|
+
opacity: 0.85;
|
172
|
+
}
|
173
|
+
}
|
174
|
+
|
175
|
+
.secondary-menu-container {
|
176
|
+
.btn-link {
|
177
|
+
color: $white;
|
178
|
+
}
|
179
|
+
|
180
|
+
.btn-outline-primary {
|
181
|
+
color: $white;
|
182
|
+
border-color: $white;
|
183
|
+
|
184
|
+
&:hover {
|
185
|
+
color: $green;
|
186
|
+
}
|
187
|
+
|
188
|
+
&:focus::before {
|
189
|
+
border-color: $white;
|
190
|
+
}
|
191
|
+
}
|
192
|
+
|
193
|
+
.dropdown-item.active,
|
194
|
+
.dropdown-item:active {
|
195
|
+
background-color: $green;
|
196
|
+
}
|
197
|
+
}
|
198
|
+
}
|
199
|
+
|
200
|
+
.studio-header {
|
201
|
+
height: auto;
|
202
|
+
a.studio-logo {
|
203
|
+
display: flex;
|
204
|
+
align-items: center;
|
205
|
+
img.logo {
|
206
|
+
height: 50px;
|
207
|
+
filter: brightness(0) saturate(100%) invert(14%) sepia(34%)
|
208
|
+
saturate(2846%) hue-rotate(185deg) brightness(94%) contrast(95%);
|
209
|
+
}
|
210
|
+
}
|
211
|
+
.course-title-lockup {
|
212
|
+
display: flex;
|
213
|
+
flex-direction: column;
|
214
|
+
justify-content: center;
|
215
|
+
}
|
216
|
+
}
|
217
|
+
|
218
|
+
.learning-header {
|
219
|
+
a.logo {
|
220
|
+
height: 50px;
|
221
|
+
img {
|
222
|
+
height: 100%;
|
223
|
+
}
|
224
|
+
}
|
225
|
+
|
226
|
+
.btn-outline-primary {
|
227
|
+
color: $green;
|
228
|
+
border-color: $green;
|
229
|
+
|
230
|
+
&:hover {
|
231
|
+
color: $green;
|
232
|
+
}
|
233
|
+
|
234
|
+
&:focus::before {
|
235
|
+
border-color: $white;
|
236
|
+
}
|
237
|
+
}
|
238
|
+
|
239
|
+
.dropdown-item.active,
|
240
|
+
.dropdown-item:active {
|
241
|
+
background-color: $green;
|
242
|
+
}
|
243
|
+
|
244
|
+
.omni-color {
|
245
|
+
color: $green;
|
246
|
+
}
|
247
|
+
}
|
248
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { getConfig } from '@edx/frontend-platform';
|
3
|
+
import { getLoginRedirectUrl } from '@edx/frontend-platform/auth';
|
4
|
+
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
5
|
+
import LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot';
|
6
|
+
import genericMessages from '../generic/messages';
|
7
|
+
var AnonymousUserMenu = function AnonymousUserMenu(_ref) {
|
8
|
+
var intl = _ref.intl;
|
9
|
+
var buttonsInfo = [{
|
10
|
+
message: intl.formatMessage(genericMessages.registerSentenceCase),
|
11
|
+
href: "".concat(getConfig().LMS_BASE_URL, "/register?next=").concat(encodeURIComponent(global.location.href))
|
12
|
+
}, {
|
13
|
+
message: intl.formatMessage(genericMessages.signInSentenceCase),
|
14
|
+
href: getLoginRedirectUrl(global.location.href),
|
15
|
+
variant: 'primary'
|
16
|
+
}];
|
17
|
+
return /*#__PURE__*/React.createElement(LearningLoggedOutItemsSlot, {
|
18
|
+
buttonsInfo: buttonsInfo
|
19
|
+
});
|
20
|
+
};
|
21
|
+
AnonymousUserMenu.propTypes = {
|
22
|
+
intl: intlShape.isRequired
|
23
|
+
};
|
24
|
+
export default injectIntl(AnonymousUserMenu);
|
25
|
+
//# sourceMappingURL=AnonymousUserMenu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"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 <LearningLoggedOutItemsSlot buttonsInfo={buttonsInfo} />;\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":[]}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
2
|
+
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."); }
|
3
|
+
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; } }
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
6
|
+
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; }
|
7
|
+
import React from 'react';
|
8
|
+
import PropTypes from 'prop-types';
|
9
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
10
|
+
import { faUserCircle } from '@fortawesome/free-solid-svg-icons';
|
11
|
+
import { getConfig } from '@edx/frontend-platform';
|
12
|
+
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
13
|
+
import { Dropdown } from '@openedx/paragon';
|
14
|
+
import LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot';
|
15
|
+
import messages from './messages';
|
16
|
+
var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) {
|
17
|
+
var intl = _ref.intl,
|
18
|
+
username = _ref.username;
|
19
|
+
var dropdownItems = [{
|
20
|
+
message: intl.formatMessage(messages.dashboard),
|
21
|
+
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard")
|
22
|
+
}, {
|
23
|
+
message: intl.formatMessage(messages.profile),
|
24
|
+
href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username)
|
25
|
+
}, {
|
26
|
+
message: intl.formatMessage(messages.account),
|
27
|
+
href: getConfig().ACCOUNT_SETTINGS_URL
|
28
|
+
}].concat(_toConsumableArray(getConfig().ORDER_HISTORY_URL ? [{
|
29
|
+
message: intl.formatMessage(messages.orderHistory),
|
30
|
+
href: getConfig().ORDER_HISTORY_URL
|
31
|
+
}] : []), [{
|
32
|
+
message: intl.formatMessage(messages.signOut),
|
33
|
+
href: getConfig().LOGOUT_URL
|
34
|
+
}]);
|
35
|
+
return /*#__PURE__*/React.createElement(Dropdown, {
|
36
|
+
className: "user-dropdown ml-3"
|
37
|
+
}, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
|
38
|
+
variant: "outline-primary"
|
39
|
+
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
40
|
+
icon: faUserCircle,
|
41
|
+
className: "d-md-none",
|
42
|
+
size: "lg"
|
43
|
+
}), /*#__PURE__*/React.createElement("span", {
|
44
|
+
"data-hj-suppress": true,
|
45
|
+
className: "d-none d-md-inline"
|
46
|
+
}, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, {
|
47
|
+
className: "dropdown-menu-right"
|
48
|
+
}, /*#__PURE__*/React.createElement(LearningUserMenuSlot, {
|
49
|
+
items: dropdownItems
|
50
|
+
})));
|
51
|
+
};
|
52
|
+
AuthenticatedUserDropdown.propTypes = {
|
53
|
+
intl: intlShape.isRequired,
|
54
|
+
username: PropTypes.string.isRequired
|
55
|
+
};
|
56
|
+
export default injectIntl(AuthenticatedUserDropdown);
|
57
|
+
//# sourceMappingURL=AuthenticatedUserDropdown.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"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 <Dropdown className=\"user-dropdown ml-3\">\n <Dropdown.Toggle variant=\"outline-primary\">\n <FontAwesomeIcon icon={faUserCircle} className=\"d-md-none\" size=\"lg\" />\n <span data-hj-suppress className=\"d-none d-md-inline\">\n {username}\n </span>\n </Dropdown.Toggle>\n <Dropdown.Menu className=\"dropdown-menu-right\">\n <LearningUserMenuSlot items={dropdownItems} />\n </Dropdown.Menu>\n </Dropdown>\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":[]}
|