@asteby/metacore-notifications 24.0.8 → 24.0.9
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/rich-text.d.ts +2 -0
- package/dist/rich-text.d.ts.map +1 -1
- package/dist/rich-text.js +16 -2
- package/dist/rich-text.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export { useAppBadge, useNotifications } from './hooks';
|
|
|
3
3
|
export { showNotificationToast, installUnifiedToasts, type ShowNotificationToastOptions, type PersistNotificationInput, type InstallUnifiedToastsOptions, type ToastActionButton, } from './toast';
|
|
4
4
|
export { subscribeNotificationSSE, useNotificationSSE, type NotificationStreamOptions, } from './sse';
|
|
5
5
|
export { resolveNotificationVisual, resolveNotificationIcon, resolveNotificationTone, moduleLabelFromMeta, parseNotificationMeta, registerModuleLabel, toPascalCase, type NotificationMeta, type NotificationTone, } from './visual';
|
|
6
|
-
export { formatNotificationBodyHtml, enhancePlainNotificationText, sanitizeNotificationHtml, } from './rich-text';
|
|
6
|
+
export { formatNotificationBodyHtml, enhancePlainNotificationText, sanitizeNotificationHtml, formatQtyDisplay, } from './rich-text';
|
|
7
7
|
export type { NotificationItem, NotificationType, NotificationsApiClient, NotificationWsPayload, NotificationsDropdownLabels, NotificationsDropdownProps, } from './types';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,OAAO,CAAA;AACd,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,OAAO,CAAA;AACd,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -3,5 +3,5 @@ export { useAppBadge, useNotifications } from './hooks';
|
|
|
3
3
|
export { showNotificationToast, installUnifiedToasts, } from './toast';
|
|
4
4
|
export { subscribeNotificationSSE, useNotificationSSE, } from './sse';
|
|
5
5
|
export { resolveNotificationVisual, resolveNotificationIcon, resolveNotificationTone, moduleLabelFromMeta, parseNotificationMeta, registerModuleLabel, toPascalCase, } from './visual';
|
|
6
|
-
export { formatNotificationBodyHtml, enhancePlainNotificationText, sanitizeNotificationHtml, } from './rich-text';
|
|
6
|
+
export { formatNotificationBodyHtml, enhancePlainNotificationText, sanitizeNotificationHtml, formatQtyDisplay, } from './rich-text';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAKrB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,OAAO,CAAA;AACd,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,GAGb,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAKrB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,OAAO,CAAA;AACd,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,GAGb,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,aAAa,CAAA"}
|
package/dist/rich-text.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export declare function sanitizeNotificationHtml(input: string): string;
|
|
|
9
9
|
* Already-escaped so safe to inject after sanitize.
|
|
10
10
|
*/
|
|
11
11
|
export declare function enhancePlainNotificationText(text: string): string;
|
|
12
|
+
/** -1.0000 → -1 · 1,50 → 1,5 · keep meaningful decimals, drop trailing zeros. */
|
|
13
|
+
export declare function formatQtyDisplay(raw: string): string;
|
|
12
14
|
/** Final HTML string for a notification / toast body. */
|
|
13
15
|
export declare function formatNotificationBodyHtml(raw?: string | null): string;
|
|
14
16
|
//# sourceMappingURL=rich-text.d.ts.map
|
package/dist/rich-text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../src/rich-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,sEAAsE;AACtE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../src/rich-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,sEAAsE;AACtE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASpD;AAED,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMtE"}
|
package/dist/rich-text.js
CHANGED
|
@@ -42,11 +42,25 @@ export function enhancePlainNotificationText(text) {
|
|
|
42
42
|
s = s.replace(/(^|[\s(])_(.+?)_([\s).,;!]|$)/g, '$1<em>$2</em>$3');
|
|
43
43
|
// Folios / codes: SO-00044, WO-12, INV-0001, …
|
|
44
44
|
s = s.replace(/\b([A-Z]{1,8}-\d{2,})\b/g, '<strong>$1</strong>');
|
|
45
|
-
// Decimal quantities (e.g. -1.0000) and integers with units (3 ud
|
|
46
|
-
s = s.replace(/(^|[^\w.-])(-?\d+[.,]\d+)\b/
|
|
45
|
+
// Decimal quantities (e.g. -1.0000 → -1) and integers with units (3 ud)
|
|
46
|
+
s = s.replace(/(^|[^\w.-])(-?\d+[.,]\d+)(\s*(?:ud|uds|pz|pzs|kg|g|lt|l|ml|cm|un))?\b/gi, (_m, pre, num, unit) => `${pre}<strong>${formatQtyDisplay(num)}${unit ?? ''}</strong>`);
|
|
47
47
|
s = s.replace(/(^|[^\w.-])(-?\d+)(\s*(?:ud|uds|pz|pzs|kg|g|lt|l|ml|cm|un))\b/gi, (_m, pre, num, unit) => `${pre}<strong>${num}${unit}</strong>`);
|
|
48
48
|
return s;
|
|
49
49
|
}
|
|
50
|
+
/** -1.0000 → -1 · 1,50 → 1,5 · keep meaningful decimals, drop trailing zeros. */
|
|
51
|
+
export function formatQtyDisplay(raw) {
|
|
52
|
+
const trimmed = String(raw ?? '').trim();
|
|
53
|
+
if (!trimmed)
|
|
54
|
+
return trimmed;
|
|
55
|
+
const comma = trimmed.includes(',');
|
|
56
|
+
const n = Number(trimmed.replace(',', '.'));
|
|
57
|
+
if (!Number.isFinite(n))
|
|
58
|
+
return trimmed;
|
|
59
|
+
let out = n.toFixed(4).replace(/(\.\d*?[1-9])0+$/, '$1').replace(/\.0+$/, '');
|
|
60
|
+
if (comma)
|
|
61
|
+
out = out.replace('.', ',');
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
50
64
|
/** Final HTML string for a notification / toast body. */
|
|
51
65
|
export function formatNotificationBodyHtml(raw) {
|
|
52
66
|
const text = (raw || '').trim();
|
package/dist/rich-text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../src/rich-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;AAE3F,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAC3B,yCAAyC;IACzC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oFAAoF,EAAE,EAAE,CAAC,CAAA;IACvG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,6DAA6D,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,OAAO,CAAA;QAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAA;QAC5C,8DAA8D;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IACtC,WAAW;IACX,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAA;IACtD,mDAAmD;IACnD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAA;IAClE,+CAA+C;IAC/C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAA;IAChE,
|
|
1
|
+
{"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../src/rich-text.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@asteby/metacore-notifications",
|
|
3
|
-
"version": "24.0.
|
|
3
|
+
"version": "24.0.9",
|
|
4
4
|
"description": "Metacore notifications — dropdown, SSE/WS live stream, unified toast, dynamic icons & module chips",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"react-dom": "^19.2.4",
|
|
62
62
|
"sonner": "^2.0.0",
|
|
63
63
|
"typescript": "^6.0.0",
|
|
64
|
-
"@asteby/metacore-
|
|
65
|
-
"@asteby/metacore-
|
|
64
|
+
"@asteby/metacore-ui": "2.16.0",
|
|
65
|
+
"@asteby/metacore-websocket": "0.5.0"
|
|
66
66
|
},
|
|
67
67
|
"publishConfig": {
|
|
68
68
|
"access": "public"
|