@bigbinary/neeto-molecules 5.4.0 → 5.4.1
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/FloatingActionMenu.js +136 -7
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/Sidebar.js +1 -1
- package/dist/cjs/FloatingActionMenu.js +140 -11
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/Sidebar.js +1 -1
- package/dist/cjs/performanceDiagnostics-CS7NTxaH.js +93 -0
- package/dist/cjs/performanceDiagnostics-CS7NTxaH.js.map +1 -0
- package/dist/cjs/{useWhatsNewChangesCount-CLo5AJny.js → useWhatsNewChangesCount-BVkLLk7f.js} +3 -1
- package/dist/cjs/useWhatsNewChangesCount-BVkLLk7f.js.map +1 -0
- package/dist/cjs/{useWhatsNewChangesCount-BzQTamII.js → useWhatsNewChangesCount-CyOUS5U3.js} +3 -1
- package/dist/cjs/useWhatsNewChangesCount-CyOUS5U3.js.map +1 -0
- package/dist/cjs/v2/FloatingActionMenu.js +168 -25
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +1 -1
- package/dist/performanceDiagnostics-DJcT0dfG.js +88 -0
- package/dist/performanceDiagnostics-DJcT0dfG.js.map +1 -0
- package/dist/{useWhatsNewChangesCount-BaLLrXk5.js → useWhatsNewChangesCount-C71JkNHv.js} +3 -2
- package/dist/useWhatsNewChangesCount-C71JkNHv.js.map +1 -0
- package/dist/{useWhatsNewChangesCount-DLIMw7dA.js → useWhatsNewChangesCount-CQxhUCpt.js} +3 -2
- package/dist/useWhatsNewChangesCount-CQxhUCpt.js.map +1 -0
- package/dist/v2/FloatingActionMenu.js +165 -22
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/Sidebar.js +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +12 -1
- package/dist/cjs/urls-DtjJggEY.js +0 -19
- package/dist/cjs/urls-DtjJggEY.js.map +0 -1
- package/dist/cjs/useWhatsNewChangesCount-BzQTamII.js.map +0 -1
- package/dist/cjs/useWhatsNewChangesCount-CLo5AJny.js.map +0 -1
- package/dist/urls-DC61u0b2.js +0 -16
- package/dist/urls-DC61u0b2.js.map +0 -1
- package/dist/useWhatsNewChangesCount-BaLLrXk5.js.map +0 -1
- package/dist/useWhatsNewChangesCount-DLIMw7dA.js.map +0 -1
package/dist/v2/Sidebar.js
CHANGED
|
@@ -17,7 +17,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
17
17
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
18
18
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
19
19
|
import { DropdownMenu, Badge, Tooltip, Button } from '@bigbinary/neeto-atoms';
|
|
20
|
-
import { u as useWhatsNewChangesCount, E as ENGAGE_WIDGET_TRIGGER_ID } from '../useWhatsNewChangesCount-
|
|
20
|
+
import { u as useWhatsNewChangesCount, E as ENGAGE_WIDGET_TRIGGER_ID } from '../useWhatsNewChangesCount-CQxhUCpt.js';
|
|
21
21
|
import { P as Plus } from '../plus-Bnd2C3yl.js';
|
|
22
22
|
import { E as Ellipsis } from '../ellipsis-BSu1ZIFZ.js';
|
|
23
23
|
import { C as ChevronRight } from '../chevron-right-CEsVcNLw.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.1",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/src/translations/en.json
CHANGED
|
@@ -133,7 +133,8 @@
|
|
|
133
133
|
"systemStatus": "System Status",
|
|
134
134
|
"askTheCommunity": "Ask the Community",
|
|
135
135
|
"requestFeature": "Request feature",
|
|
136
|
-
"roadmap": "Roadmap"
|
|
136
|
+
"roadmap": "Roadmap",
|
|
137
|
+
"reportSlowness": "Report slowness"
|
|
137
138
|
},
|
|
138
139
|
"showMenu": "Expand sidebar",
|
|
139
140
|
"hideMenu": "Collapse sidebar",
|
|
@@ -979,6 +980,16 @@
|
|
|
979
980
|
},
|
|
980
981
|
"inlineInput": {
|
|
981
982
|
"editableField": "Editable text field"
|
|
983
|
+
},
|
|
984
|
+
"reportSlowness": {
|
|
985
|
+
"title": "Report slowness",
|
|
986
|
+
"descriptionLabel": "What felt slow? (optional)",
|
|
987
|
+
"descriptionPlaceholder": "For example, the ticket list took a long time to load",
|
|
988
|
+
"cancel": "Cancel",
|
|
989
|
+
"submit": "Submit",
|
|
990
|
+
"success": "Thanks! Your slowness report has been sent.",
|
|
991
|
+
"viewReplay": "View replay",
|
|
992
|
+
"error": "Couldn't report slowness. Please try again."
|
|
982
993
|
}
|
|
983
994
|
}
|
|
984
995
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var neetoCist = require('@bigbinary/neeto-cist');
|
|
4
|
-
var ramda = require('ramda');
|
|
5
|
-
|
|
6
|
-
var getNeetoUrl = function getNeetoUrl(subdomain) {
|
|
7
|
-
var _globalProps;
|
|
8
|
-
return "https://".concat(subdomain, ".").concat(ramda.toLower(((_globalProps = globalProps) === null || _globalProps === void 0 ? void 0 : _globalProps.appName) || ""), ".com");
|
|
9
|
-
};
|
|
10
|
-
var getProductBillingUrl = function getProductBillingUrl() {
|
|
11
|
-
var _globalProps$organiza;
|
|
12
|
-
var billingOverviewUrl = "".concat((_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.authAppUrl, "/admin/billing/overview");
|
|
13
|
-
var productSlug = ramda.toLower(globalProps.appName || "");
|
|
14
|
-
return neetoCist.isPresent(productSlug) ? "".concat(billingOverviewUrl, "/products/").concat(productSlug) : billingOverviewUrl;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
exports.getNeetoUrl = getNeetoUrl;
|
|
18
|
-
exports.getProductBillingUrl = getProductBillingUrl;
|
|
19
|
-
//# sourceMappingURL=urls-DtjJggEY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"urls-DtjJggEY.js","sources":["../../src/utils/urls.js"],"sourcesContent":["import { isPresent } from \"neetocist\";\nimport { toLower } from \"ramda\";\n\nexport const getNeetoUrl = subdomain =>\n `https://${subdomain}.${toLower(globalProps?.appName || \"\")}.com`;\n\nexport const getProductBillingUrl = () => {\n const billingOverviewUrl = `${globalProps.organization?.authAppUrl}/admin/billing/overview`;\n const productSlug = toLower(globalProps.appName || \"\");\n\n return isPresent(productSlug)\n ? `${billingOverviewUrl}/products/${productSlug}`\n : billingOverviewUrl;\n};\n"],"names":["getNeetoUrl","subdomain","_globalProps","concat","toLower","globalProps","appName","getProductBillingUrl","_globalProps$organiza","billingOverviewUrl","organization","authAppUrl","productSlug","isPresent"],"mappings":";;;;;IAGaA,WAAW,GAAG,SAAdA,WAAWA,CAAGC,SAAS,EAAA;AAAA,EAAA,IAAAC,YAAA;EAAA,OAAA,UAAA,CAAAC,MAAA,CACvBF,SAAS,EAAA,GAAA,CAAA,CAAAE,MAAA,CAAIC,aAAO,CAAC,CAAA,CAAAF,YAAA,GAAAG,WAAW,MAAA,IAAA,IAAAH,YAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,YAAA,CAAaI,OAAO,KAAI,EAAE,CAAC,EAAA,MAAA,CAAA;AAAA;IAEhDC,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AAAA,EAAA,IAAAC,qBAAA;AACxC,EAAA,IAAMC,kBAAkB,GAAA,EAAA,CAAAN,MAAA,CAAA,CAAAK,qBAAA,GAAMH,WAAW,CAACK,YAAY,cAAAF,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAA0BG,UAAU,EAAA,yBAAA,CAAyB;EAC3F,IAAMC,WAAW,GAAGR,aAAO,CAACC,WAAW,CAACC,OAAO,IAAI,EAAE,CAAC;AAEtD,EAAA,OAAOO,mBAAS,CAACD,WAAW,CAAC,GAAA,EAAA,CAAAT,MAAA,CACtBM,kBAAkB,EAAA,YAAA,CAAA,CAAAN,MAAA,CAAaS,WAAW,IAC7CH,kBAAkB;AACxB;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWhatsNewChangesCount-BzQTamII.js","sources":["../../src/components/FloatingActionMenu/constants.js","../../src/components/FloatingActionMenu/hooks/useWhatsNewChangesCount.js"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const DELETE_WORKSPACE_URL = \"/auth/organization/delete\";\nexport const ENGAGE_WIDGET_TRIGGER_ID = \"neetoengage-trigger\";\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n engageProps: {\n id: ENGAGE_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-testid\": \"help-link-engage-button\",\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-testid\": \"help-link-keyboard-shortcut-button\",\n },\n};\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n\nexport const NEETO_AUTH_BILLING_INFO_URL =\n \"/neeto_sso/api/v1/subscription/billing\";\n","import { useEffect, useState } from \"react\";\n\n// Shared source of truth for the neetoEngage changelog unread count.\n//\n// The widget reports the count by calling `window.Nv.onReceiveData({ unreadCount })`\n// whenever it changes (on load and each time entries are marked read). Opening\n// the widget doesn't clear it: the count only drops as entries are read. Both the FloatingActionMenu and the\n// Sidebar surface this count, so this module installs a SINGLE set of\n// `window.Nv` handlers (chaining onto any pre-existing ones) and fans the value\n// out to every subscribed component. Installation happens on the first\n// subscriber and is torn down only when the last one unsubscribes — so\n// interleaved mount/unmount of the two surfaces can never leave a stale handler\n// on the global object.\n\nlet currentCount = null;\nconst subscribers = new Set();\nlet isInstalled = false;\nlet previousOnReceiveData;\n\nconst notify = () => subscribers.forEach(setCount => setCount(currentCount));\n\nconst install = () => {\n if (isInstalled) return;\n isInstalled = true;\n\n const existing = window.Nv || {};\n previousOnReceiveData = existing.onReceiveData;\n\n window.Nv = Object.assign(existing, {\n onReceiveData: data => {\n previousOnReceiveData?.(data);\n // Only react to a numeric unreadCount; `0` clears the badge (a non-zero\n // count would otherwise stay stale until the pane is opened).\n if (typeof data?.unreadCount === \"number\") {\n currentCount = data.unreadCount || null;\n notify();\n }\n },\n });\n};\n\nconst uninstall = () => {\n if (!isInstalled) return;\n isInstalled = false;\n\n if (window.Nv) {\n window.Nv.onReceiveData = previousOnReceiveData;\n }\n // currentCount is kept: the widget only reports it on page load and after a\n // \"Mark as read\", so a surface that remounts (e.g. after navigating to a page\n // without a sidebar and back) would otherwise lose it until a full reload.\n};\n\nconst useWhatsNewChangesCount = () => {\n const [changesCount, setChangesCount] = useState(currentCount);\n\n useEffect(() => {\n install();\n subscribers.add(setChangesCount);\n setChangesCount(currentCount);\n\n return () => {\n subscribers.delete(setChangesCount);\n if (subscribers.size === 0) uninstall();\n };\n }, []);\n\n return changesCount;\n};\n\nexport default useWhatsNewChangesCount;\n"],"names":["MY_ORGANIZATION_URL","DELETE_WORKSPACE_URL","ENGAGE_WIDGET_TRIGGER_ID","DEFAULT_MENU_LINK_PROPS","engageProps","id","label","t","keyboardShortcutProps","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","NEETO_AUTH_BILLING_INFO_URL","currentCount","subscribers","Set","isInstalled","previousOnReceiveData","notify","forEach","setCount","install","existing","window","Nv","onReceiveData","Object","assign","data","_previousOnReceiveDat","unreadCount","uninstall","useWhatsNewChangesCount","_useState","useState","_useState2","_slicedToArray","changesCount","setChangesCount","useEffect","add","size"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWhatsNewChangesCount-CLo5AJny.js","sources":["../../src/v2/components/FloatingActionMenu/constants.js","../../src/v2/components/FloatingActionMenu/hooks/useWhatsNewChangesCount.js"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const BILLING_URL = \"/auth/admin_billing\";\nexport const DELETE_WORKSPACE_URL = \"/auth/organization/delete\";\nexport const ENGAGE_WIDGET_TRIGGER_ID = \"neetoengage-trigger\";\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n engageProps: {\n id: ENGAGE_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-testid\": \"help-link-engage-button\",\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-testid\": \"help-link-keyboard-shortcut-button\",\n },\n};\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = { LIGHT: \"light\", DARK: \"dark\" };\n\n// Legacy neetoUI theme classes — kept until full migration is complete.\nexport const LEGACY_THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n\nexport const NEETO_AUTH_BILLING_INFO_URL =\n \"/neeto_sso/api/v1/subscription/billing\";\n\nexport const MENU_ITEM_CLASSES =\n \"gap-2.5 px-2.5 py-2 font-medium [&>[data-slot=menu-item-prefix]>svg]:!size-[18px] [&>[data-slot=menu-item-suffix]>svg]:!size-[18px]\";\n\nexport const THEME_BUTTON_BASE =\n \"relative z-10 flex items-center justify-center gap-1 rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors focus-visible:outline-none\";\n\nexport const THEME_ICON_BASE = \"transition-transform duration-300 ease-out\";\n","import { useEffect, useState } from \"react\";\n\n// Shared source of truth for the neetoEngage changelog unread count.\n//\n// The widget reports the count by calling `window.Nv.onReceiveData({ unreadCount })`\n// whenever it changes (on load and each time entries are marked read). Opening\n// the widget doesn't clear it: the count only drops as entries are read. Both the FloatingActionMenu and the\n// Sidebar surface this count, so this module installs a SINGLE set of\n// `window.Nv` handlers (chaining onto any pre-existing ones) and fans the value\n// out to every subscribed component. Installation happens on the first\n// subscriber and is torn down only when the last one unsubscribes — so\n// interleaved mount/unmount of the two surfaces can never leave a stale handler\n// on the global object.\n\nlet currentCount = null;\nconst subscribers = new Set();\nlet isInstalled = false;\nlet previousOnReceiveData;\n\nconst notify = () => subscribers.forEach(setCount => setCount(currentCount));\n\nconst install = () => {\n if (isInstalled) return;\n isInstalled = true;\n\n const existing = window.Nv || {};\n previousOnReceiveData = existing.onReceiveData;\n\n window.Nv = Object.assign(existing, {\n onReceiveData: data => {\n previousOnReceiveData?.(data);\n // Only react to a numeric unreadCount; `0` clears the badge (a non-zero\n // count would otherwise stay stale until the pane is opened).\n if (typeof data?.unreadCount === \"number\") {\n currentCount = data.unreadCount || null;\n notify();\n }\n },\n });\n};\n\nconst uninstall = () => {\n if (!isInstalled) return;\n isInstalled = false;\n\n if (window.Nv) {\n window.Nv.onReceiveData = previousOnReceiveData;\n }\n // currentCount is kept: the widget only reports it on page load and after a\n // \"Mark as read\", so a surface that remounts (e.g. after navigating to a page\n // without a sidebar and back) would otherwise lose it until a full reload.\n};\n\nconst useWhatsNewChangesCount = () => {\n const [changesCount, setChangesCount] = useState(currentCount);\n\n useEffect(() => {\n install();\n subscribers.add(setChangesCount);\n setChangesCount(currentCount);\n\n return () => {\n subscribers.delete(setChangesCount);\n if (subscribers.size === 0) uninstall();\n };\n }, []);\n\n return changesCount;\n};\n\nexport default useWhatsNewChangesCount;\n"],"names":["MY_ORGANIZATION_URL","BILLING_URL","DELETE_WORKSPACE_URL","ENGAGE_WIDGET_TRIGGER_ID","DEFAULT_MENU_LINK_PROPS","engageProps","id","label","t","keyboardShortcutProps","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","LEGACY_THEMES","NEETO_AUTH_BILLING_INFO_URL","MENU_ITEM_CLASSES","THEME_BUTTON_BASE","THEME_ICON_BASE","currentCount","subscribers","Set","isInstalled","previousOnReceiveData","notify","forEach","setCount","install","existing","window","Nv","onReceiveData","Object","assign","data","_previousOnReceiveDat","unreadCount","uninstall","useWhatsNewChangesCount","_useState","useState","_useState2","_slicedToArray","changesCount","setChangesCount","useEffect","add","size"],"mappings":"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"}
|
package/dist/urls-DC61u0b2.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { isPresent } from '@bigbinary/neeto-cist';
|
|
2
|
-
import { toLower } from 'ramda';
|
|
3
|
-
|
|
4
|
-
var getNeetoUrl = function getNeetoUrl(subdomain) {
|
|
5
|
-
var _globalProps;
|
|
6
|
-
return "https://".concat(subdomain, ".").concat(toLower(((_globalProps = globalProps) === null || _globalProps === void 0 ? void 0 : _globalProps.appName) || ""), ".com");
|
|
7
|
-
};
|
|
8
|
-
var getProductBillingUrl = function getProductBillingUrl() {
|
|
9
|
-
var _globalProps$organiza;
|
|
10
|
-
var billingOverviewUrl = "".concat((_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.authAppUrl, "/admin/billing/overview");
|
|
11
|
-
var productSlug = toLower(globalProps.appName || "");
|
|
12
|
-
return isPresent(productSlug) ? "".concat(billingOverviewUrl, "/products/").concat(productSlug) : billingOverviewUrl;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { getProductBillingUrl as a, getNeetoUrl as g };
|
|
16
|
-
//# sourceMappingURL=urls-DC61u0b2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"urls-DC61u0b2.js","sources":["../src/utils/urls.js"],"sourcesContent":["import { isPresent } from \"neetocist\";\nimport { toLower } from \"ramda\";\n\nexport const getNeetoUrl = subdomain =>\n `https://${subdomain}.${toLower(globalProps?.appName || \"\")}.com`;\n\nexport const getProductBillingUrl = () => {\n const billingOverviewUrl = `${globalProps.organization?.authAppUrl}/admin/billing/overview`;\n const productSlug = toLower(globalProps.appName || \"\");\n\n return isPresent(productSlug)\n ? `${billingOverviewUrl}/products/${productSlug}`\n : billingOverviewUrl;\n};\n"],"names":["getNeetoUrl","subdomain","_globalProps","concat","toLower","globalProps","appName","getProductBillingUrl","_globalProps$organiza","billingOverviewUrl","organization","authAppUrl","productSlug","isPresent"],"mappings":";;;IAGaA,WAAW,GAAG,SAAdA,WAAWA,CAAGC,SAAS,EAAA;AAAA,EAAA,IAAAC,YAAA;EAAA,OAAA,UAAA,CAAAC,MAAA,CACvBF,SAAS,EAAA,GAAA,CAAA,CAAAE,MAAA,CAAIC,OAAO,CAAC,CAAA,CAAAF,YAAA,GAAAG,WAAW,MAAA,IAAA,IAAAH,YAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,YAAA,CAAaI,OAAO,KAAI,EAAE,CAAC,EAAA,MAAA,CAAA;AAAA;IAEhDC,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AAAA,EAAA,IAAAC,qBAAA;AACxC,EAAA,IAAMC,kBAAkB,GAAA,EAAA,CAAAN,MAAA,CAAA,CAAAK,qBAAA,GAAMH,WAAW,CAACK,YAAY,cAAAF,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAA0BG,UAAU,EAAA,yBAAA,CAAyB;EAC3F,IAAMC,WAAW,GAAGR,OAAO,CAACC,WAAW,CAACC,OAAO,IAAI,EAAE,CAAC;AAEtD,EAAA,OAAOO,SAAS,CAACD,WAAW,CAAC,GAAA,EAAA,CAAAT,MAAA,CACtBM,kBAAkB,EAAA,YAAA,CAAA,CAAAN,MAAA,CAAaS,WAAW,IAC7CH,kBAAkB;AACxB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWhatsNewChangesCount-BaLLrXk5.js","sources":["../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/hooks/useWhatsNewChangesCount.js"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const DELETE_WORKSPACE_URL = \"/auth/organization/delete\";\nexport const ENGAGE_WIDGET_TRIGGER_ID = \"neetoengage-trigger\";\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n engageProps: {\n id: ENGAGE_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-testid\": \"help-link-engage-button\",\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-testid\": \"help-link-keyboard-shortcut-button\",\n },\n};\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n\nexport const NEETO_AUTH_BILLING_INFO_URL =\n \"/neeto_sso/api/v1/subscription/billing\";\n","import { useEffect, useState } from \"react\";\n\n// Shared source of truth for the neetoEngage changelog unread count.\n//\n// The widget reports the count by calling `window.Nv.onReceiveData({ unreadCount })`\n// whenever it changes (on load and each time entries are marked read). Opening\n// the widget doesn't clear it: the count only drops as entries are read. Both the FloatingActionMenu and the\n// Sidebar surface this count, so this module installs a SINGLE set of\n// `window.Nv` handlers (chaining onto any pre-existing ones) and fans the value\n// out to every subscribed component. Installation happens on the first\n// subscriber and is torn down only when the last one unsubscribes — so\n// interleaved mount/unmount of the two surfaces can never leave a stale handler\n// on the global object.\n\nlet currentCount = null;\nconst subscribers = new Set();\nlet isInstalled = false;\nlet previousOnReceiveData;\n\nconst notify = () => subscribers.forEach(setCount => setCount(currentCount));\n\nconst install = () => {\n if (isInstalled) return;\n isInstalled = true;\n\n const existing = window.Nv || {};\n previousOnReceiveData = existing.onReceiveData;\n\n window.Nv = Object.assign(existing, {\n onReceiveData: data => {\n previousOnReceiveData?.(data);\n // Only react to a numeric unreadCount; `0` clears the badge (a non-zero\n // count would otherwise stay stale until the pane is opened).\n if (typeof data?.unreadCount === \"number\") {\n currentCount = data.unreadCount || null;\n notify();\n }\n },\n });\n};\n\nconst uninstall = () => {\n if (!isInstalled) return;\n isInstalled = false;\n\n if (window.Nv) {\n window.Nv.onReceiveData = previousOnReceiveData;\n }\n // currentCount is kept: the widget only reports it on page load and after a\n // \"Mark as read\", so a surface that remounts (e.g. after navigating to a page\n // without a sidebar and back) would otherwise lose it until a full reload.\n};\n\nconst useWhatsNewChangesCount = () => {\n const [changesCount, setChangesCount] = useState(currentCount);\n\n useEffect(() => {\n install();\n subscribers.add(setChangesCount);\n setChangesCount(currentCount);\n\n return () => {\n subscribers.delete(setChangesCount);\n if (subscribers.size === 0) uninstall();\n };\n }, []);\n\n return changesCount;\n};\n\nexport default useWhatsNewChangesCount;\n"],"names":["MY_ORGANIZATION_URL","DELETE_WORKSPACE_URL","ENGAGE_WIDGET_TRIGGER_ID","DEFAULT_MENU_LINK_PROPS","engageProps","id","label","t","keyboardShortcutProps","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","NEETO_AUTH_BILLING_INFO_URL","currentCount","subscribers","Set","isInstalled","previousOnReceiveData","notify","forEach","setCount","install","existing","window","Nv","onReceiveData","Object","assign","data","_previousOnReceiveDat","unreadCount","uninstall","useWhatsNewChangesCount","_useState","useState","_useState2","_slicedToArray","changesCount","setChangesCount","useEffect","add","size"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWhatsNewChangesCount-DLIMw7dA.js","sources":["../src/v2/components/FloatingActionMenu/constants.js","../src/v2/components/FloatingActionMenu/hooks/useWhatsNewChangesCount.js"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const BILLING_URL = \"/auth/admin_billing\";\nexport const DELETE_WORKSPACE_URL = \"/auth/organization/delete\";\nexport const ENGAGE_WIDGET_TRIGGER_ID = \"neetoengage-trigger\";\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n engageProps: {\n id: ENGAGE_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-testid\": \"help-link-engage-button\",\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-testid\": \"help-link-keyboard-shortcut-button\",\n },\n};\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = { LIGHT: \"light\", DARK: \"dark\" };\n\n// Legacy neetoUI theme classes — kept until full migration is complete.\nexport const LEGACY_THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n\nexport const NEETO_AUTH_BILLING_INFO_URL =\n \"/neeto_sso/api/v1/subscription/billing\";\n\nexport const MENU_ITEM_CLASSES =\n \"gap-2.5 px-2.5 py-2 font-medium [&>[data-slot=menu-item-prefix]>svg]:!size-[18px] [&>[data-slot=menu-item-suffix]>svg]:!size-[18px]\";\n\nexport const THEME_BUTTON_BASE =\n \"relative z-10 flex items-center justify-center gap-1 rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors focus-visible:outline-none\";\n\nexport const THEME_ICON_BASE = \"transition-transform duration-300 ease-out\";\n","import { useEffect, useState } from \"react\";\n\n// Shared source of truth for the neetoEngage changelog unread count.\n//\n// The widget reports the count by calling `window.Nv.onReceiveData({ unreadCount })`\n// whenever it changes (on load and each time entries are marked read). Opening\n// the widget doesn't clear it: the count only drops as entries are read. Both the FloatingActionMenu and the\n// Sidebar surface this count, so this module installs a SINGLE set of\n// `window.Nv` handlers (chaining onto any pre-existing ones) and fans the value\n// out to every subscribed component. Installation happens on the first\n// subscriber and is torn down only when the last one unsubscribes — so\n// interleaved mount/unmount of the two surfaces can never leave a stale handler\n// on the global object.\n\nlet currentCount = null;\nconst subscribers = new Set();\nlet isInstalled = false;\nlet previousOnReceiveData;\n\nconst notify = () => subscribers.forEach(setCount => setCount(currentCount));\n\nconst install = () => {\n if (isInstalled) return;\n isInstalled = true;\n\n const existing = window.Nv || {};\n previousOnReceiveData = existing.onReceiveData;\n\n window.Nv = Object.assign(existing, {\n onReceiveData: data => {\n previousOnReceiveData?.(data);\n // Only react to a numeric unreadCount; `0` clears the badge (a non-zero\n // count would otherwise stay stale until the pane is opened).\n if (typeof data?.unreadCount === \"number\") {\n currentCount = data.unreadCount || null;\n notify();\n }\n },\n });\n};\n\nconst uninstall = () => {\n if (!isInstalled) return;\n isInstalled = false;\n\n if (window.Nv) {\n window.Nv.onReceiveData = previousOnReceiveData;\n }\n // currentCount is kept: the widget only reports it on page load and after a\n // \"Mark as read\", so a surface that remounts (e.g. after navigating to a page\n // without a sidebar and back) would otherwise lose it until a full reload.\n};\n\nconst useWhatsNewChangesCount = () => {\n const [changesCount, setChangesCount] = useState(currentCount);\n\n useEffect(() => {\n install();\n subscribers.add(setChangesCount);\n setChangesCount(currentCount);\n\n return () => {\n subscribers.delete(setChangesCount);\n if (subscribers.size === 0) uninstall();\n };\n }, []);\n\n return changesCount;\n};\n\nexport default useWhatsNewChangesCount;\n"],"names":["MY_ORGANIZATION_URL","BILLING_URL","DELETE_WORKSPACE_URL","ENGAGE_WIDGET_TRIGGER_ID","DEFAULT_MENU_LINK_PROPS","engageProps","id","label","t","keyboardShortcutProps","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","LEGACY_THEMES","NEETO_AUTH_BILLING_INFO_URL","MENU_ITEM_CLASSES","THEME_BUTTON_BASE","THEME_ICON_BASE","currentCount","subscribers","Set","isInstalled","previousOnReceiveData","notify","forEach","setCount","install","existing","window","Nv","onReceiveData","Object","assign","data","_previousOnReceiveDat","unreadCount","uninstall","useWhatsNewChangesCount","_useState","useState","_useState2","_slicedToArray","changesCount","setChangesCount","useEffect","add","size"],"mappings":"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"}
|