@anas_hameed/edly-saas-widget 0.2.45 → 0.2.46

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.
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DiscussionSidebarWidget = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * Closes the discussion/notifications sidebar by default on course pages.
10
+ * Works for both old sidebar (data-testid="sidebar-DISCUSSIONS") and
11
+ * new sidebar (data-testid="sidebar-DISCUSSIONS_NOTIFICATIONS").
12
+ * Renders nothing — uses MutationObserver to click the trigger once on mount.
13
+ */
14
+ const DiscussionSidebarWidget = () => {
15
+ (0, _react.useEffect)(() => {
16
+ const isCoursePage = /\/learning\/course\//.test(window.location.pathname);
17
+ if (!isCoursePage) {
18
+ return undefined;
19
+ }
20
+ const closeSidebar = () => {
21
+ // new sidebar
22
+ const newSidebar = document.querySelector('[data-testid="sidebar-DISCUSSIONS_NOTIFICATIONS"]');
23
+ if (newSidebar && !newSidebar.classList.contains('d-none')) {
24
+ const triggerBtn = document.querySelector('button[aria-label="Show sidebar tray"]');
25
+ if (triggerBtn) {
26
+ triggerBtn.click();
27
+ return true;
28
+ }
29
+ }
30
+
31
+ // old sidebar
32
+ const oldSidebar = document.querySelector('[data-testid="sidebar-DISCUSSIONS"]');
33
+ if (oldSidebar && !oldSidebar.classList.contains('d-none')) {
34
+ window.postMessage({
35
+ type: 'learning.events.sidebar.close'
36
+ }, '*');
37
+ return true;
38
+ }
39
+ return false;
40
+ };
41
+
42
+ // Try immediately in case sidebar already rendered
43
+ if (closeSidebar()) {
44
+ return undefined;
45
+ }
46
+ const observer = new MutationObserver(() => {
47
+ if (closeSidebar()) {
48
+ observer.disconnect();
49
+ }
50
+ });
51
+ observer.observe(document.body, {
52
+ childList: true,
53
+ subtree: true
54
+ });
55
+ return () => observer.disconnect();
56
+ }, []);
57
+ return null;
58
+ };
59
+ exports.DiscussionSidebarWidget = DiscussionSidebarWidget;
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","require","DiscussionSidebarWidget","useEffect","isCoursePage","test","window","location","pathname","undefined","closeSidebar","newSidebar","document","querySelector","classList","contains","triggerBtn","click","oldSidebar","postMessage","type","observer","MutationObserver","disconnect","observe","body","childList","subtree","exports"],"sources":["../../src/DiscussionSidebarWidget/index.jsx"],"sourcesContent":["import { useEffect } from 'react';\n\n/**\n * Closes the discussion/notifications sidebar by default on course pages.\n * Works for both old sidebar (data-testid=\"sidebar-DISCUSSIONS\") and\n * new sidebar (data-testid=\"sidebar-DISCUSSIONS_NOTIFICATIONS\").\n * Renders nothing — uses MutationObserver to click the trigger once on mount.\n */\nconst DiscussionSidebarWidget = () => {\n useEffect(() => {\n const isCoursePage = /\\/learning\\/course\\//.test(window.location.pathname);\n if (!isCoursePage) { return undefined; }\n\n const closeSidebar = () => {\n // new sidebar\n const newSidebar = document.querySelector('[data-testid=\"sidebar-DISCUSSIONS_NOTIFICATIONS\"]');\n if (newSidebar && !newSidebar.classList.contains('d-none')) {\n const triggerBtn = document.querySelector('button[aria-label=\"Show sidebar tray\"]');\n if (triggerBtn) {\n triggerBtn.click();\n return true;\n }\n }\n\n // old sidebar\n const oldSidebar = document.querySelector('[data-testid=\"sidebar-DISCUSSIONS\"]');\n if (oldSidebar && !oldSidebar.classList.contains('d-none')) {\n window.postMessage({ type: 'learning.events.sidebar.close' }, '*');\n return true;\n }\n\n return false;\n };\n\n // Try immediately in case sidebar already rendered\n if (closeSidebar()) { return undefined; }\n\n const observer = new MutationObserver(() => {\n if (closeSidebar()) {\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, []);\n\n return null;\n};\n\nexport { DiscussionSidebarWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EACpC,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,YAAY,GAAG,sBAAsB,CAACC,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAAC;IAC1E,IAAI,CAACJ,YAAY,EAAE;MAAE,OAAOK,SAAS;IAAE;IAEvC,MAAMC,YAAY,GAAGA,CAAA,KAAM;MACzB;MACA,MAAMC,UAAU,GAAGC,QAAQ,CAACC,aAAa,CAAC,mDAAmD,CAAC;MAC9F,IAAIF,UAAU,IAAI,CAACA,UAAU,CAACG,SAAS,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC1D,MAAMC,UAAU,GAAGJ,QAAQ,CAACC,aAAa,CAAC,wCAAwC,CAAC;QACnF,IAAIG,UAAU,EAAE;UACdA,UAAU,CAACC,KAAK,CAAC,CAAC;UAClB,OAAO,IAAI;QACb;MACF;;MAEA;MACA,MAAMC,UAAU,GAAGN,QAAQ,CAACC,aAAa,CAAC,qCAAqC,CAAC;MAChF,IAAIK,UAAU,IAAI,CAACA,UAAU,CAACJ,SAAS,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC1DT,MAAM,CAACa,WAAW,CAAC;UAAEC,IAAI,EAAE;QAAgC,CAAC,EAAE,GAAG,CAAC;QAClE,OAAO,IAAI;MACb;MAEA,OAAO,KAAK;IACd,CAAC;;IAED;IACA,IAAIV,YAAY,CAAC,CAAC,EAAE;MAAE,OAAOD,SAAS;IAAE;IAExC,MAAMY,QAAQ,GAAG,IAAIC,gBAAgB,CAAC,MAAM;MAC1C,IAAIZ,YAAY,CAAC,CAAC,EAAE;QAClBW,QAAQ,CAACE,UAAU,CAAC,CAAC;MACvB;IACF,CAAC,CAAC;IAEFF,QAAQ,CAACG,OAAO,CAACZ,QAAQ,CAACa,IAAI,EAAE;MAAEC,SAAS,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAK,CAAC,CAAC;IACnE,OAAO,MAAMN,QAAQ,CAACE,UAAU,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACb,CAAC;AAACK,OAAA,CAAA1B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
package/dist/index.js CHANGED
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "DiscussionSidebarWidget", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DiscussionSidebarWidget.DiscussionSidebarWidget;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "EdlyLogistrationInfo", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -68,6 +74,7 @@ var _FooterWidget = _interopRequireDefault(require("./FooterWidget"));
68
74
  var _EmailCheckWidget = require("./EmailCheckWidget");
69
75
  var _EdlyLogistrationInfo = require("./EdlyLogistrationInfo");
70
76
  var _MultiSiteBannerWidget = require("./MultiSiteBannerWidget");
77
+ var _DiscussionSidebarWidget = require("./DiscussionSidebarWidget");
71
78
  var _BannerContent = _interopRequireDefault(require("./MultiSiteBannerWidget/BannerContent"));
72
79
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
73
80
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_HeaderWidget","_interopRequireDefault","require","_FooterWidget","_EmailCheckWidget","_EdlyLogistrationInfo","_MultiSiteBannerWidget","_BannerContent","e","__esModule","default"],"sources":["../src/index.js"],"sourcesContent":["import HeaderWidget from './HeaderWidget';\nimport FooterWidget from './FooterWidget';\n\nexport { HeaderWidget, FooterWidget };\nexport {\n EmailCheckWidget,\n reducer as emailCheckReducer,\n saga as emailCheckSaga,\n storeName as emailCheckStoreName,\n emailCheckComplete,\n} from './EmailCheckWidget';\nexport { EdlyLogistrationInfo } from './EdlyLogistrationInfo';\nexport { MultiSiteBannerWidget } from './MultiSiteBannerWidget';\nexport { default as MultiSiteBannerContent } from './MultiSiteBannerWidget/BannerContent';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,iBAAA,GAAAF,OAAA;AAOA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA0F,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_HeaderWidget","_interopRequireDefault","require","_FooterWidget","_EmailCheckWidget","_EdlyLogistrationInfo","_MultiSiteBannerWidget","_DiscussionSidebarWidget","_BannerContent","e","__esModule","default"],"sources":["../src/index.js"],"sourcesContent":["import HeaderWidget from './HeaderWidget';\nimport FooterWidget from './FooterWidget';\n\nexport { HeaderWidget, FooterWidget };\nexport {\n EmailCheckWidget,\n reducer as emailCheckReducer,\n saga as emailCheckSaga,\n storeName as emailCheckStoreName,\n emailCheckComplete,\n} from './EmailCheckWidget';\nexport { EdlyLogistrationInfo } from './EdlyLogistrationInfo';\nexport { MultiSiteBannerWidget } from './MultiSiteBannerWidget';\nexport { DiscussionSidebarWidget } from './DiscussionSidebarWidget';\nexport { default as MultiSiteBannerContent } from './MultiSiteBannerWidget/BannerContent';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,iBAAA,GAAAF,OAAA;AAOA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAP,sBAAA,CAAAC,OAAA;AAA0F,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anas_hameed/edly-saas-widget",
3
- "version": "0.2.45",
3
+ "version": "0.2.46",
4
4
  "description": "Frontend application template",
5
5
  "main": "dist/index.js",
6
6
  "repository": {