@stack-spot/portal-components 2.27.6 → 2.28.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/Placeholder.d.ts.map +1 -1
  3. package/dist/components/Placeholder.js +2 -2
  4. package/dist/components/Placeholder.js.map +1 -1
  5. package/dist/components/form/SearchInput.d.ts.map +1 -1
  6. package/dist/components/form/SearchInput.js +8 -9
  7. package/dist/components/form/SearchInput.js.map +1 -1
  8. package/dist/components/notification/NotificationItem.d.ts +4 -0
  9. package/dist/components/notification/NotificationItem.d.ts.map +1 -1
  10. package/dist/components/notification/NotificationItem.js +9 -4
  11. package/dist/components/notification/NotificationItem.js.map +1 -1
  12. package/dist/components/notification/NotificationList.d.ts +6 -1
  13. package/dist/components/notification/NotificationList.d.ts.map +1 -1
  14. package/dist/components/notification/NotificationList.js +26 -6
  15. package/dist/components/notification/NotificationList.js.map +1 -1
  16. package/dist/containers/NotificationsPage.d.ts.map +1 -1
  17. package/dist/containers/NotificationsPage.js +2 -1
  18. package/dist/containers/NotificationsPage.js.map +1 -1
  19. package/dist/context/notification/NotificationController.d.ts +1 -0
  20. package/dist/context/notification/NotificationController.d.ts.map +1 -1
  21. package/dist/context/notification/NotificationController.js +17 -0
  22. package/dist/context/notification/NotificationController.js.map +1 -1
  23. package/dist/context/notification/hooks.d.ts.map +1 -1
  24. package/dist/context/notification/hooks.js +13 -1
  25. package/dist/context/notification/hooks.js.map +1 -1
  26. package/dist/context/notification/types.d.ts +5 -0
  27. package/dist/context/notification/types.d.ts.map +1 -1
  28. package/dist/svg/GenericPlaceholderCentered.d.ts +7 -0
  29. package/dist/svg/GenericPlaceholderCentered.d.ts.map +1 -0
  30. package/dist/svg/GenericPlaceholderCentered.js +4 -0
  31. package/dist/svg/GenericPlaceholderCentered.js.map +1 -0
  32. package/dist/svg/index.d.ts +1 -0
  33. package/dist/svg/index.d.ts.map +1 -1
  34. package/dist/svg/index.js +2 -0
  35. package/dist/svg/index.js.map +1 -1
  36. package/package.dev.json +3 -0
  37. package/package.json +4 -2
  38. package/package.stg.json +3 -0
  39. package/src/components/Placeholder.tsx +3 -4
  40. package/src/components/form/SearchInput.tsx +13 -10
  41. package/src/components/notification/NotificationItem.tsx +18 -11
  42. package/src/components/notification/NotificationList.tsx +40 -12
  43. package/src/containers/NotificationsPage.tsx +3 -1
  44. package/src/context/notification/NotificationController.ts +15 -0
  45. package/src/context/notification/hooks.ts +18 -1
  46. package/src/context/notification/types.ts +5 -0
  47. package/src/svg/GenericPlaceholderCentered.tsx +16 -0
  48. package/src/svg/index.ts +3 -0
  49. package/dist/components/notification/NotificationPlaceholder.d.ts +0 -13
  50. package/dist/components/notification/NotificationPlaceholder.d.ts.map +0 -1
  51. package/dist/components/notification/NotificationPlaceholder.js +0 -34
  52. package/dist/components/notification/NotificationPlaceholder.js.map +0 -1
  53. package/src/components/notification/NotificationPlaceholder.tsx +0 -60
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.28.1](https://github.com/stack-spot/portal-commons/compare/portal-components@v2.28.0...portal-components@v2.28.1) (2026-02-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * notification modal accessibility issues and placeholder layout ([#2010](https://github.com/stack-spot/portal-commons/issues/2010)) ([b32bd26](https://github.com/stack-spot/portal-commons/commit/b32bd26818c6a017760b27198021f5d9d0fda57c))
9
+
10
+ ## [2.28.0](https://github.com/stack-spot/portal-commons/compare/portal-components@v2.27.6...portal-components@v2.28.0) (2025-12-15)
11
+
12
+
13
+ ### Features
14
+
15
+ * components Notification Uncommit ([#1900](https://github.com/stack-spot/portal-commons/issues/1900)) ([a8ee0a1](https://github.com/stack-spot/portal-commons/commit/a8ee0a1c45a9250c3aeea199574ac34a66f8d72a))
16
+
3
17
  ## [2.27.6](https://github.com/stack-spot/portal-commons/compare/portal-components@v2.27.5...portal-components@v2.27.6) (2025-11-27)
4
18
 
5
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"Placeholder.d.ts","sourceRoot":"","sources":["../../src/components/Placeholder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAkB,SAAQ,KAAK;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,WAAW,GAAI,4EAAmF,KAAK,mDAuBnH,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,sIAcrC,iBAAiB,mDAgCnB,CAAA;AAGD,eAAO,MAAM,8BAA8B,GAAI,wBAAwB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAAC,4CAQ1G,CAAA"}
1
+ {"version":3,"file":"Placeholder.d.ts","sourceRoot":"","sources":["../../src/components/Placeholder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAkB,SAAQ,KAAK;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,WAAW,GAAI,4EAAmF,KAAK,mDAuBnH,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,sIAcrC,iBAAiB,mDA+BnB,CAAA;AAGD,eAAO,MAAM,8BAA8B,GAAI,wBAAwB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAAC,4CAQ1G,CAAA"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Flex, Text } from '@citric/core';
3
3
  import { Card, CardContent } from '@citric/ui';
4
4
  import { useTranslate } from '@stack-spot/portal-translate';
5
- import { GenericPlaceholder } from '../svg/index.js';
5
+ import { GenericPlaceholder, GenericPlaceholderCentered } from '../svg/index.js';
6
6
  export const Placeholder = ({ title, description, button, img, fullWidth, show = true, sx, style, className }) => {
7
7
  if (!show) {
8
8
  return null;
@@ -13,7 +13,7 @@ export const PlaceholderCallToAction = ({ title, description, subDescription, im
13
13
  if (!show) {
14
14
  return null;
15
15
  }
16
- return (_jsx(Card, { sx: { w: fullWidth ? '100%' : 'auto', bg: 'transparent', ...sxCard }, style: style, className: className, children: _jsxs(CardContent, { as: Flex, py: 15, sx: { flexDirection: 'column', justifyContent: 'center', alignItems: 'center', gap: '92px', ...sx }, children: [_jsx(Box, { sx: { justifySelf: 'end' }, children: img ?? _jsx(GenericPlaceholder, { ...placeholderImageConfig }) }), _jsxs(Box, { children: [title && _jsx(Text, { as: titleAs, appearance: "h4", mb: "3", "aria-live": "assertive", children: title }), _jsx(Text, { mb: "3", appearance: "body2", colorScheme: "light.700", children: description }), _jsx(Text, { mb: "3", appearance: "body2", colorScheme: "light.700", children: subDescription }), button] })] }) }));
16
+ return (_jsx(Card, { sx: { w: fullWidth ? '100%' : 'auto', bg: 'transparent', ...sxCard }, style: style, className: className, children: _jsxs(CardContent, { as: Flex, sx: { justifyContent: 'center', alignItems: 'center', gap: '16px', ...sx }, children: [_jsx(Box, { children: img ?? _jsx(GenericPlaceholderCentered, { ...placeholderImageConfig }) }), _jsxs(Box, { children: [title && _jsx(Text, { as: titleAs, appearance: "h4", mb: "3", "aria-live": "assertive", children: title }), _jsx(Text, { mb: "3", appearance: "body2", colorScheme: "light.700", children: description }), _jsx(Text, { mb: "3", appearance: "body2", colorScheme: "light.700", children: subDescription }), button] })] }) }));
17
17
  };
18
18
  export const PlaceholderResourceEmptySearch = ({ title, description }) => {
19
19
  const t = useTranslate(dictionary);
@@ -1 +1 @@
1
- {"version":3,"file":"Placeholder.js","sourceRoot":"","sources":["../../src/components/Placeholder.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Placeholder.js","sourceRoot":"","sources":["../../src/components/Placeholder.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/form/SearchInput.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,GAAI,qEAOzB;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,4CAsCA,CAAA"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/form/SearchInput.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW,GAAI,qEAOzB;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,4CAwCA,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, IconBox, Input } from '@citric/core';
2
+ import { Box, IconBox } from '@citric/core';
3
+ import { Input } from '@stack-spot/citric-react';
3
4
  import { Filter, Times } from '@citric/icons';
4
5
  import { FieldAddon, FieldGroup, IconButton } from '@citric/ui';
5
6
  import { useTranslate } from '@stack-spot/portal-translate';
@@ -7,15 +8,13 @@ import { debounce } from 'lodash';
7
8
  import { useCallback, useState } from 'react';
8
9
  export const SearchInput = ({ searchText, defaultValue, disabled = false, onChange, style, className, }) => {
9
10
  const [value, setValue] = useState(defaultValue);
10
- const runOnChange = useCallback(debounce(onChange, 800), [onChange]);
11
11
  const t = useTranslate(dictionary);
12
- return (_jsxs(Box, { sx: { position: 'relative' }, style: style, className: className, children: [_jsxs(FieldGroup, { children: [_jsx(FieldAddon, { children: _jsx(IconBox, { size: "xs", colorIcon: "light.700", children: _jsx(Filter, {}) }) }), _jsx(Input, { value: value, placeholder: searchText, onChange: (e) => {
13
- setValue(e.target.value);
14
- runOnChange(e.target.value);
15
- }, disabled: disabled, maxLength: 255 })] }), !!value && (_jsx(IconButton, { sx: { position: 'absolute', right: '20px', top: '50%', transform: 'translate(50%, -50%)' }, onClick: () => {
16
- setValue('');
17
- runOnChange('');
18
- }, "aria-label": t.ariaClearField, children: _jsx(Times, {}) }))] }));
12
+ const debouncedOnChange = useCallback(debounce((nextValue) => onChange(nextValue), 800), [onChange]);
13
+ const handleInputOnChange = (nextValue) => {
14
+ setValue(nextValue);
15
+ debouncedOnChange(nextValue);
16
+ };
17
+ return (_jsxs(Box, { sx: { position: 'relative' }, style: style, className: className, children: [_jsxs(FieldGroup, { children: [_jsx(FieldAddon, { children: _jsx(IconBox, { size: "xs", colorIcon: "light.700", children: _jsx(Filter, {}) }) }), _jsx(Input, { style: { width: '100%' }, value: value, placeholder: searchText, onChange: handleInputOnChange, disabled: disabled, maxLength: 255 })] }), !!value && (_jsx(IconButton, { sx: { position: 'absolute', right: '20px', top: '50%', transform: 'translate(50%, -50%)' }, onClick: () => handleInputOnChange(''), "aria-label": t.ariaClearField, children: _jsx(Times, {}) }))] }));
19
18
  };
20
19
  const dictionary = {
21
20
  en: {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/components/form/SearchInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,YAAY,EACZ,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,KAAK,EACL,SAAS,GAQV,EAAE,EAAE;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAElC,OAAO,CACL,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,aACnE,MAAC,UAAU,eACT,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,WAAW,YACtC,KAAC,MAAM,KAAG,GACF,GACC,EACb,KAAC,KAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,UAAU,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;4BACxB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBAC7B,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,GACd,IACS,EACZ,CAAC,CAAC,KAAK,IAAI,CACV,KAAC,UAAU,IACT,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAC1F,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,EAAE,CAAC,CAAA;oBACZ,WAAW,CAAC,EAAE,CAAC,CAAA;gBACjB,CAAC,gBACW,CAAC,CAAC,cAAc,YAE5B,KAAC,KAAK,KAAG,GACE,CACd,IACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,cAAc,EAAE,aAAa;KAC9B;IACD,EAAE,EAAE;QACF,cAAc,EAAE,cAAc;KAC/B;CACmB,CAAA"}
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/components/form/SearchInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,YAAY,EACZ,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,KAAK,EACL,SAAS,GAQV,EAAE,EAAE;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IAChD,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,iBAAiB,GAAG,WAAW,CACnC,QAAQ,CAAC,CAAC,SAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAC1D,CAAC,QAAQ,CAAC,CACX,CAAA;IACD,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;QAChD,QAAQ,CAAC,SAAS,CAAC,CAAA;QACnB,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,OAAO,CACL,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,aACnE,MAAC,UAAU,eACT,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,WAAW,YACtC,KAAC,MAAM,KAAG,GACF,GACC,EACb,KAAC,KAAK,IACJ,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,UAAU,EACvB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,GACd,IACS,EACZ,CAAC,CAAC,KAAK,IAAI,CACV,KAAC,UAAU,IACT,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAC1F,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,gBAC1B,CAAC,CAAC,cAAc,YAE5B,KAAC,KAAK,KAAG,GACE,CACd,IACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,cAAc,EAAE,aAAa;KAC9B;IACD,EAAE,EAAE;QACF,cAAc,EAAE,cAAc;KAC/B;CACmB,CAAA"}
@@ -24,6 +24,10 @@ interface NewNotificationItemProps extends Props {
24
24
  * Function to call when the user marks a notification as read (committed).
25
25
  */
26
26
  onCommit: () => void;
27
+ /**
28
+ * Function to call when the user marks a notification as unread (uncommitted).
29
+ */
30
+ onUncommit: () => void;
27
31
  /**
28
32
  * Whenever the user clicks the action button of a notification, the notification is marked as read (committed) and the browser is
29
33
  * redirected to the page that corresponds to the action.
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationItem.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAexD,UAAU,KAAK;IACb,YAAY,EAAE,8BAA8B,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AA6LD,UAAU,+BAAgC,SAAQ,KAAK;IACrD;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,UAAU,wBAAyB,SAAQ,KAAK;IAC9C;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,KAAK,qBAAqB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAQvF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,uCAAuC,qBAAqB,4CA6C5F,CAAA"}
1
+ {"version":3,"file":"NotificationItem.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAexD,UAAU,KAAK;IACb,YAAY,EAAE,8BAA8B,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AA6LD,UAAU,+BAAgC,SAAQ,KAAK;IACrD;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,UAAU,wBAAyB,SAAQ,KAAK;IAC9C;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,KAAK,qBAAqB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAQvF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,uCAAuC,qBAAqB,4CAgD5F,CAAA"}
@@ -106,24 +106,29 @@ const StyledBox = styled(Box) `
106
106
  export const NotificationItem = ({ notification, isSummary, ...props }) => {
107
107
  const t = useTranslate(dictionary);
108
108
  const { title } = useGetNotificationTitleAndDescription(notification);
109
+ const committed = notification.committed;
109
110
  function commit() {
110
111
  if ('onCommit' in props)
111
112
  props.onCommit();
112
113
  else
113
114
  props.onClickMarkReadUnread(true, 'icon');
114
115
  }
116
+ function uncommit() {
117
+ if ('onUncommit' in props)
118
+ props.onUncommit();
119
+ else
120
+ props.onClickMarkReadUnread(false, 'icon');
121
+ }
115
122
  function clickAction() {
116
123
  if ('onCommit' in props) {
117
- if (!notification.committed)
124
+ if (!committed)
118
125
  props.onCommit();
119
126
  props.onClickAction?.();
120
127
  }
121
128
  else
122
129
  props.onClickMarkReadUnread(true, 'callToAction');
123
130
  }
124
- return (_jsxs(StyledBox, { sx: { position: 'relative' }, id: props.id, "$isSummary": isSummary, children: [_jsxs(Flex, { bg: "light.400", r: "xs", flexWrap: "nowrap", className: "notification-item", flexDirection: "column", w: "100%", sx: styles.item(statusToColor[notification.criticality], notification.committed), children: [_jsx(NotificationHeader, { title: title, isSummary: isSummary }), _jsx(NotificationContent, { notification: notification, isSummary: isSummary, onClickViewNotification: props.onClickViewNotification }), notification.call_to_action && _jsx(NotificationFooter, { actionURL: notification.call_to_action, onClickAction: clickAction, title: title })] }), _jsx(Box, { sx: { position: 'absolute', top: '8px', right: '8px' }, children: _jsx(Tooltip, { text: notification.committed ? t.committed : t.uncommitted, position: "left", children: notification.committed
125
- ? _jsx(IconBox, { role: "img", "aria-label": t.committed, size: "xs", style: { margin: '4px', opacity: 0.5 }, children: _jsx(EnvelopeOpen, {}) })
126
- : (_jsx(IconButton, { "aria-label": t.uncommitted, onClick: commit, children: _jsx(IconBox, { size: "xs", children: _jsx(Envelope, {}) }) })) }) })] }));
131
+ return (_jsxs(StyledBox, { sx: { position: 'relative' }, id: props.id, "$isSummary": isSummary, children: [_jsxs(Flex, { bg: "light.400", r: "xs", flexWrap: "nowrap", className: "notification-item", flexDirection: "column", w: "100%", sx: styles.item(statusToColor[notification.criticality], committed), children: [_jsx(NotificationHeader, { title: title, isSummary: isSummary }), _jsx(NotificationContent, { notification: notification, isSummary: isSummary, onClickViewNotification: props.onClickViewNotification }), notification.call_to_action && _jsx(NotificationFooter, { actionURL: notification.call_to_action, onClickAction: clickAction, title: title })] }), _jsx(Box, { sx: { position: 'absolute', top: '8px', right: '8px' }, children: _jsx(Tooltip, { text: committed ? t.committed : t.uncommitted, position: "left", children: _jsx(IconButton, { "aria-label": committed ? t.committed : t.uncommitted, onClick: () => committed ? uncommit() : commit(), children: _jsx(IconBox, { size: "xs", style: { opacity: committed ? 0.5 : 1 }, children: committed ? _jsx(EnvelopeOpen, {}) : _jsx(Envelope, {}) }) }) }) })] }));
127
132
  };
128
133
  function handleTextMark(text) {
129
134
  // eslint-disable-next-line no-useless-escape
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationItem.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationItem.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ export interface NotificationListProps {
5
5
  * @param id the id of the notification where the read status changed.
6
6
  */
7
7
  onCommit: (id: string) => void;
8
+ /**
9
+ * Function to call when the message is marked as unread (uncommitted).
10
+ * @param id the id of the notification where the read status changed.
11
+ */
12
+ onUncommit: (id: string) => void;
8
13
  /**
9
14
  * Optional. Function called when the button to perform the notification action is clicked. This function will be run in addition to
10
15
  * the notification action.
@@ -38,5 +43,5 @@ export interface NotificationListProps {
38
43
  style?: React.CSSProperties;
39
44
  className?: string;
40
45
  }
41
- export declare const NotificationList: ({ items, compact, onCommit, onClickAction, onClickViewNotification, infiniteScroll, loading, showEmptySearch, style, className }: NotificationListProps) => false | import("react/jsx-runtime").JSX.Element;
46
+ export declare const NotificationList: ({ items, compact, onCommit, onUncommit, onClickAction, onClickViewNotification, infiniteScroll, loading, showEmptySearch, style, className }: NotificationListProps) => false | import("react/jsx-runtime").JSX.Element;
42
47
  //# sourceMappingURL=NotificationList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationList.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationList.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE9E,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;QAEI;IACH,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuED,eAAO,MAAM,gBAAgB,GAC3B,kIACgE,qBAAqB,oDAuDtF,CAAA"}
1
+ {"version":3,"file":"NotificationList.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationList.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9E,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;OAGG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;QAEI;IACH,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2ED,eAAO,MAAM,gBAAgB,GAC3B,8IACgE,qBAAqB,oDA2DtF,CAAA"}
@@ -1,13 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Flex } from '@citric/core';
3
3
  import { listToClass } from '@stack-spot/portal-theme';
4
+ import { useTranslate } from '@stack-spot/portal-translate';
4
5
  import { last } from 'lodash';
5
6
  import { useMemo } from 'react';
6
7
  import { styled } from 'styled-components';
7
8
  import { InfiniteScroll } from '../InfiniteScroll.js';
9
+ import { PlaceholderCallToAction } from '../Placeholder.js';
8
10
  import { TimelineSection } from '../TimelineSection.js';
9
11
  import { NotificationItem } from './NotificationItem.js';
10
- import { NotificationPlaceholder } from './NotificationPlaceholder.js';
11
12
  const StyledBox = styled(Box) `
12
13
  width: 100%;
13
14
  position: relative;
@@ -36,16 +37,20 @@ const StyledBox = styled(Box) `
36
37
  }
37
38
 
38
39
  .placeholder.compact {
40
+ min-height: 400px;
41
+ padding: 0px;
42
+
39
43
  & > div {
40
- padding-block: 0;
41
44
  gap: 16px;
45
+ align-content: flex-start;
46
+
42
47
  & > div {
43
48
  text-align: center;
44
49
  h4 {
45
50
  margin-bottom: 10px;
46
51
  }
47
52
  p {
48
- margin: 0;
53
+ max-width: 220px;
49
54
  }
50
55
  }
51
56
  }
@@ -68,15 +73,30 @@ function groupNotificationsByDate(notifications) {
68
73
  }
69
74
  return groups;
70
75
  }
71
- export const NotificationList = ({ items, compact = false, onCommit, onClickAction, onClickViewNotification, infiniteScroll, loading, showEmptySearch, style, className }) => {
76
+ export const NotificationList = ({ items, compact = false, onCommit, onUncommit, onClickAction, onClickViewNotification, infiniteScroll, loading, showEmptySearch, style, className }) => {
72
77
  const groups = useMemo(() => compact ? [{ day: 0, month: 0, year: 0, items }] : groupNotificationsByDate(items), [compact, items]);
73
- const renderNotifications = (notifications, key) => (_jsx(Flex, { sx: { gap: '4px' }, flexDirection: "column", children: notifications?.map((item) => (_jsx(NotificationItem, { id: key ? '' : `notification-item-${item.id}`, notification: item, isSummary: compact, onClickViewNotification: onClickViewNotification, onCommit: () => onCommit(item.id), onClickAction: () => onClickAction?.(item.id) }, item.id))) }, key));
78
+ const t = useTranslate(dictionary);
79
+ const renderNotifications = (notifications, key) => (_jsx(Flex, { sx: { gap: '4px' }, flexDirection: "column", children: notifications?.map((item) => (_jsx(NotificationItem, { id: key ? '' : `notification-item-${item.id}`, notification: item, isSummary: compact, onClickViewNotification: onClickViewNotification, onCommit: () => onCommit(item.id), onUncommit: () => onUncommit(item.id), onClickAction: () => onClickAction?.(item.id) }, item.id))) }, key));
74
80
  return infiniteScroll?.scrollableTarget !== null && (_jsxs(StyledBox, { style: style, className: listToClass([className, loading && 'loading']), children: [items.length ? (_jsx(InfiniteScroll, { dataLength: items.length || 0, next: infiniteScroll?.loadMore ?? (() => { }), hasMore: infiniteScroll?.hasMore ?? false,
75
81
  // @ts-ignore: the library is wrongly typed and abandoned, meaning, it will never be fixed. The source code clearly accepts
76
82
  // HTMLElements as scrollable targets:
77
83
  // https://github.com/ankeetmaini/react-infinite-scroll-component/blob/master/src/index.tsx#L168
78
84
  scrollableTarget: infiniteScroll?.scrollableTarget, children: _jsx(Flex, { sx: { gap: '24px' }, flexDirection: "column", children: groups.map((group) => compact
79
85
  ? renderNotifications(group.items, 'compact')
80
- : (_jsx(TimelineSection, { month: group.month, day: group.day, children: renderNotifications(group.items) }, `${group.day}-${group.month}-${group.year}`))) }) })) : _jsx(NotificationPlaceholder, { isSearch: showEmptySearch, className: listToClass(['placeholder', compact && 'compact']), titleAs: "p", sx: { minHeight: '350px' } }), _jsx("div", { className: "loading-mask" })] }));
86
+ : (_jsx(TimelineSection, { month: group.month, day: group.day, children: renderNotifications(group.items) }, `${group.day}-${group.month}-${group.year}`))) }) })) : (_jsx(PlaceholderCallToAction, { title: showEmptySearch ? t.searchTitle : t.defaultTitle, description: showEmptySearch ? t.searchDescription : t.defaultDescription, className: listToClass(['placeholder', compact && 'compact']), titleAs: "p" })), _jsx("div", { className: "loading-mask" })] }));
87
+ };
88
+ const dictionary = {
89
+ en: {
90
+ defaultTitle: 'You don’t have any notifications yet.',
91
+ defaultDescription: 'Relevant updates will show up here as soon as they’re available.',
92
+ searchTitle: 'No notifications match your filters.',
93
+ searchDescription: 'Try changing the filters to see more results.',
94
+ },
95
+ pt: {
96
+ defaultTitle: 'Você ainda não tem notificações.',
97
+ defaultDescription: 'Quando houver alguma atualização relevante, ela será exibida aqui.',
98
+ searchTitle: 'Nenhuma notificação corresponde aos filtros',
99
+ searchDescription: 'Experimente mudar os filtros para encontrar mais notificações.',
100
+ },
81
101
  };
82
102
  //# sourceMappingURL=NotificationList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationList.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationList.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAqB,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAsDrD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8C5B,CAAA;AAED,yEAAyE;AACzE,SAAS,wBAAwB,CAAC,aAA+C;IAC/E,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAW,CAAA;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC1B,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC5G,YAAY,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAC9C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3B,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EACpF,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAyB,EACrF,EAAE;IACF,MAAM,MAAM,GAAwB,OAAO,CACzC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,EACxF,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAA;IACD,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAElC,MAAM,mBAAmB,GAAG,CAAC,aAA+C,EAAE,GAAY,EAAE,EAAE,CAAC,CAC7F,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,aAAa,EAAC,QAAQ,YAC7C,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC5B,KAAC,gBAAgB,IAEf,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,EAAE,EAAE,EAC7C,YAAY,EAAE,IAAI,EAClB,SAAS,EAAE,OAAO,EAClB,uBAAuB,EAAE,uBAAuB,EAChD,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACjC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EACrC,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAPxC,IAAI,CAAC,EAAE,CAQZ,CACH,CAAC,IAZkD,GAAG,CAalD,CACR,CAAA;IAED,OAAO,cAAc,EAAE,gBAAgB,KAAK,IAAI,IAAI,CAClD,MAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,aAC/E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,KAAC,cAAc,IACb,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,EAC7B,IAAI,EAAE,cAAc,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC7C,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,KAAK;gBACzC,2HAA2H;gBAC3H,sCAAsC;gBACtC,iGAAiG;gBACjG,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,YAElD,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,EAAC,QAAQ,YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO;wBAC5B,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;wBAC7C,CAAC,CAAC,CACA,KAAC,eAAe,IAAmD,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,YAClG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,IADb,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAE/C,CACnB,CACF,GACI,GACQ,CAClB,CAAC,CAAC,CAAC,CACF,KAAC,uBAAuB,IACtB,KAAK,EAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EACxD,WAAW,EAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAC1E,SAAS,EAAE,WAAW,CAAC,CAAC,aAAa,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,EAC7D,OAAO,EAAC,GAAG,GACX,CACH,EACD,cAAK,SAAS,EAAC,cAAc,GAAO,IAC1B,CACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,YAAY,EAAE,uCAAuC;QACrD,kBAAkB,EAAE,kEAAkE;QACtF,WAAW,EAAE,sCAAsC;QACnD,iBAAiB,EAAE,+CAA+C;KACnE;IACD,EAAE,EAAE;QACF,YAAY,EAAE,kCAAkC;QAChD,kBAAkB,EAAE,oEAAoE;QACxF,WAAW,EAAE,6CAA6C;QAC1D,iBAAiB,EAAE,gEAAgE;KACpF;CACmB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPage.d.ts","sourceRoot":"","sources":["../../src/containers/NotificationsPage.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,iBAAiB,+CAiD7B,CAAA"}
1
+ {"version":3,"file":"NotificationsPage.d.ts","sourceRoot":"","sources":["../../src/containers/NotificationsPage.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,iBAAiB,+CAmD7B,CAAA"}
@@ -26,7 +26,8 @@ export const NotificationsPage = () => {
26
26
  const t = useTranslate(dictionary);
27
27
  const controller = useNotificationController();
28
28
  const { hasMore, items, loadMore, applyFilters, filters, status, error } = useNotificationList();
29
- return (_jsxs(_Fragment, { children: [_jsx("header", { children: _jsx(Text, { appearance: "h2", as: "h1", children: t.title }) }), _jsx(Text, { appearance: "body2", colorScheme: "light.700", children: t.description }), _jsxs(FilterBox, { children: [_jsx(SearchInput, { searchText: t.filter, defaultValue: filters.search, onChange: search => applyFilters({ search }) }), _jsx(Select, { value: filters.createdSince, options: times, onChange: createdSince => applyFilters({ createdSince }), emptyOption: t.anyTime, renderLabel: o => t[`time.${o}`] }), _jsx(Select, { value: filters.criticality, options: criticalities, onChange: criticality => applyFilters({ criticality }), emptyOption: t.allCriticalities, renderLabel: o => t[`criticality.${o}`] }), _jsx(Select, { value: filters.context, options: contexts, onChange: context => applyFilters({ context }), emptyOption: t.allContexts, renderLabel: o => t[`context.${o}`] })] }), _jsx(AsyncContent, { error: error, loading: status === 'startup', errorDetails: { errorComponent: () => _jsx(ErrorFeedback, { code: error.code }), reportError: () => { } }, children: _jsx(NotificationList, { items: items, loading: status === 'loading', onCommit: id => controller.markAsCommitted(id), infiniteScroll: { hasMore, loadMore }, onClickAction: controller.config.onClickAction, showEmptySearch: true }) })] }));
29
+ const hasFilters = Object.entries(filters).length > 0;
30
+ return (_jsxs(_Fragment, { children: [_jsx("header", { children: _jsx(Text, { appearance: "h2", as: "h1", children: t.title }) }), _jsx(Text, { appearance: "body2", colorScheme: "light.700", children: t.description }), _jsxs(FilterBox, { children: [_jsx(SearchInput, { searchText: t.filter, defaultValue: filters.search, onChange: search => applyFilters({ search }) }), _jsx(Select, { value: filters.createdSince, options: times, onChange: createdSince => applyFilters({ createdSince }), emptyOption: t.anyTime, renderLabel: o => t[`time.${o}`] }), _jsx(Select, { value: filters.criticality, options: criticalities, onChange: criticality => applyFilters({ criticality }), emptyOption: t.allCriticalities, renderLabel: o => t[`criticality.${o}`] }), _jsx(Select, { value: filters.context, options: contexts, onChange: context => applyFilters({ context }), emptyOption: t.allContexts, renderLabel: o => t[`context.${o}`] })] }), _jsx(AsyncContent, { error: error, loading: status === 'startup', errorDetails: { errorComponent: () => _jsx(ErrorFeedback, { code: error.code }), reportError: () => { } }, children: _jsx(NotificationList, { items: items, loading: status === 'loading', onCommit: id => controller.markAsCommitted(id), onUncommit: id => controller.markAsUncommitted(id), infiniteScroll: { hasMore, loadMore }, onClickAction: controller.config.onClickAction, showEmptySearch: hasFilters }) })] }));
30
31
  };
31
32
  const dictionary = {
32
33
  en: {
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPage.js","sourceRoot":"","sources":["../../src/containers/NotificationsPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationsPage.js","sourceRoot":"","sources":["../../src/containers/NotificationsPage.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class NotificationController {
16
16
  destroyLazyNotificationList(id: number): void;
17
17
  checkUnread(): Promise<void>;
18
18
  markAsCommitted(notificationId: string): Promise<void>;
19
+ markAsUncommitted(notificationId: string): Promise<void>;
19
20
  onUnreadNotificationChange(listener: UnreadNotificationListener): () => void;
20
21
  hasUnreadNotification(): boolean;
21
22
  reset(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationController.d.ts","sourceRoot":"","sources":["../../../src/context/notification/NotificationController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAIlG,qBAAa,sBAAsB;IACjC,OAAO,CAAC,SAAS,CAA0C;IAC3D,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,2BAA2B,CAAmC;gBAE1D,MAAM,EAAE,kBAAkB;IAMtC,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,qBAAqB;IAQ7B,0BAA0B,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,oBAAoB;IAmBpF,2BAA2B,CAAC,EAAE,EAAE,MAAM;IAKhC,WAAW;IAMX,eAAe,CAAC,cAAc,EAAE,MAAM;IAe5C,0BAA0B,CAAC,QAAQ,EAAE,0BAA0B;IAO/D,qBAAqB;IAIrB,KAAK;IAOL,IAAI;CAGL"}
1
+ {"version":3,"file":"NotificationController.d.ts","sourceRoot":"","sources":["../../../src/context/notification/NotificationController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAIlG,qBAAa,sBAAsB;IACjC,OAAO,CAAC,SAAS,CAA0C;IAC3D,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,2BAA2B,CAAmC;gBAE1D,MAAM,EAAE,kBAAkB;IAMtC,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,qBAAqB;IAQ7B,0BAA0B,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,oBAAoB;IAmBpF,2BAA2B,CAAC,EAAE,EAAE,MAAM;IAKhC,WAAW;IAMX,eAAe,CAAC,cAAc,EAAE,MAAM;IAetC,iBAAiB,CAAC,cAAc,EAAE,MAAM;IAe9C,0BAA0B,CAAC,QAAQ,EAAE,0BAA0B;IAO/D,qBAAqB;IAIrB,KAAK;IAOL,IAAI;CAGL"}
@@ -114,6 +114,23 @@ export class NotificationController {
114
114
  this.lazyLists.forEach(l => l.update(this.readStatusMap));
115
115
  }
116
116
  }
117
+ async markAsUncommitted(notificationId) {
118
+ if (!this.readStatusMap.get(notificationId))
119
+ return;
120
+ this.readStatusMap.set(notificationId, false);
121
+ this.lazyLists.forEach(l => l.update(this.readStatusMap));
122
+ try {
123
+ await this.config.markAsUncommitted(notificationId);
124
+ // update the notification indicator: this is an inconsistency, we should actually ask the API, but since it's an expensive
125
+ // operation in the backend, we won't, instead, we'll only check the notifications we have loaded in memory.
126
+ if (this.hasUnreadNotificationInMemory())
127
+ this.setUnreadNotification(true);
128
+ }
129
+ catch {
130
+ this.readStatusMap.set(notificationId, true);
131
+ this.lazyLists.forEach(l => l.update(this.readStatusMap));
132
+ }
133
+ }
117
134
  onUnreadNotificationChange(listener) {
118
135
  this.unreadNotificationListeners.push(listener);
119
136
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationController.js","sourceRoot":"","sources":["../../../src/context/notification/NotificationController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationController.js","sourceRoot":"","sources":["../../../src/context/notification/NotificationController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/context/notification/hooks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAElD,wBAAgB,mBAAmB,CAAC,cAAc,GAAE,wBAA6B;;;;;;+BA0B3B,wBAAwB;;;EAuC7E;AAED,wBAAgB,qCAAqC,CAAC,EAAE,OAAO,EAAE,EAAE,8BAA8B;;;EAQhG;AAED,wBAAgB,sBAAsB,YAWrC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/context/notification/hooks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAiBlD,wBAAgB,mBAAmB,CAAC,cAAc,GAAE,wBAA6B;;;;;;+BA0B3B,wBAAwB;;;EAyC7E;AAED,wBAAgB,qCAAqC,CAAC,EAAE,OAAO,EAAE,EAAE,8BAA8B;;;EAQhG;AAED,wBAAgB,sBAAsB,YAWrC"}
@@ -3,6 +3,17 @@ import { useCallback, useRef, useState } from 'react';
3
3
  import { useManualRender } from '../../hooks/manual-render.js';
4
4
  import { useEffectOnce } from '../../hooks/use-effect-once.js';
5
5
  import { useNotificationController } from './context.js';
6
+ function cleanFilters(filters) {
7
+ const cleaned = { ...filters };
8
+ const keys = Object.keys(cleaned);
9
+ keys.forEach((key) => {
10
+ const value = cleaned[key];
11
+ if (value === undefined || value === null || value === '') {
12
+ delete cleaned[key];
13
+ }
14
+ });
15
+ return cleaned;
16
+ }
6
17
  export function useNotificationList(initialFilters = {}) {
7
18
  const { repaint } = useManualRender();
8
19
  const [status, setStatus] = useState('startup');
@@ -39,7 +50,8 @@ export function useNotificationList(initialFilters = {}) {
39
50
  const { next, prev } = await new Promise((resolve) => {
40
51
  setFilters((filters) => {
41
52
  const prev = filters;
42
- const next = { ...filters, ...newFilters };
53
+ const merged = { ...filters, ...newFilters };
54
+ const next = cleanFilters(merged);
43
55
  resolve({ prev, next });
44
56
  return next;
45
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/context/notification/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/context/notification/hooks.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,11 @@ export interface NotificationConfig {
33
33
  * @param id the id of the notification.
34
34
  */
35
35
  markAsCommitted(id: string): Promise<void>;
36
+ /**
37
+ * Marks the notification with the id passed as parameter as unread (uncommitted).
38
+ * @param id the id of the notification.
39
+ */
40
+ markAsUncommitted(id: string): Promise<void>;
36
41
  /**
37
42
  * How long (ms) we should wait before checking for unread notifications again.
38
43
  * @default 120000
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context/notification/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,2CAA2C,EAAE,MAAM,qBAAqB,CAAA;AAEjH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEpE,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,aAAa,EAAE,8BAA8B,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAElH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAC9F;;;;OAIG;IACH,gCAAgC,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,qBAAqB,EAAE,OAAO,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context/notification/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,2CAA2C,EAAE,MAAM,qBAAqB,CAAA;AAEjH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEpE,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,aAAa,EAAE,8BAA8B,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAElH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAC9F;;;;OAIG;IACH,gCAAgC,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,qBAAqB,EAAE,OAAO,KAAK,IAAI,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare const GenericPlaceholderCentered: ({ className, width, height, style }: {
2
+ className?: string;
3
+ width?: string;
4
+ height?: string;
5
+ style?: React.CSSProperties;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=GenericPlaceholderCentered.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericPlaceholderCentered.d.ts","sourceRoot":"","sources":["../../src/svg/GenericPlaceholderCentered.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,GAAI,qCAAqC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,4CAanK,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable max-len */
3
+ export const GenericPlaceholderCentered = ({ className, width, height, style }) => (_jsxs("svg", { width: width ?? '220', height: height ?? '220', viewBox: "0 0 220 220", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: style, className: className, children: [_jsx("g", { opacity: "0.16", children: _jsx("path", { d: "M132.171 110.295C134.614 110.295 136.591 108.317 136.591 105.875C136.591 103.432 134.614 101.455 132.171 101.455C129.728 101.455 127.751 103.432 127.751 105.875C127.751 108.317 129.728 110.295 132.171 110.295ZM132.171 127.98C129.728 127.98 127.751 129.957 127.751 132.4C127.751 134.843 129.728 136.82 132.171 136.82C134.614 136.82 136.591 134.843 136.591 132.4C136.591 129.957 134.614 127.98 132.171 127.98ZM109.772 141.24C107.33 141.24 105.352 143.217 105.352 145.66C105.352 148.102 107.33 150.079 109.772 150.079C112.215 150.079 114.192 148.102 114.192 145.66C114.192 143.217 112.215 141.24 109.772 141.24ZM130.621 123.273C132.311 123.905 134.301 123.465 135.558 121.985C137.057 120.206 136.891 117.489 135.188 115.901C133.931 114.733 132.184 114.434 130.672 114.982C129.537 115.39 128.287 115.295 127.247 114.682C126.202 114.064 125.525 112.992 125.334 111.793C125.143 110.639 124.499 109.561 123.453 108.853C122.247 108.037 120.787 107.896 119.511 108.349C118.363 108.751 117.1 108.681 116.048 108.062C114.996 107.444 114.326 106.366 114.128 105.16C113.931 103.98 113.261 102.883 112.177 102.176C110.251 100.925 107.61 101.397 106.239 103.234C104.715 105.269 105.218 108.139 107.298 109.548C108.503 110.365 109.964 110.505 111.239 110.052C112.387 109.65 113.65 109.72 114.702 110.339C115.748 110.958 116.424 112.029 116.622 113.235C116.813 114.389 117.458 115.467 118.503 116.175C119.709 116.991 121.169 117.132 122.445 116.679C122.528 116.647 123.791 116.066 124.435 116.066C126.131 116.066 127.509 117.444 127.509 119.141C127.509 120.837 126.131 122.215 124.435 122.215C123.791 122.215 122.534 121.628 122.451 121.602C121.195 121.156 119.76 121.283 118.561 122.068C117.477 122.776 116.82 123.879 116.628 125.066C116.431 126.258 115.761 127.33 114.709 127.955C113.663 128.573 112.4 128.65 111.246 128.242C109.97 127.795 108.509 127.936 107.304 128.746C105.225 130.155 104.721 133.025 106.245 135.06C107.623 136.896 110.257 137.368 112.183 136.118C113.274 135.41 113.943 134.313 114.135 133.133C114.332 131.928 115.002 130.857 116.054 130.232C117.1 129.613 118.663 129.728 119.505 129.932C120.799 130.244 122.196 130.251 123.395 129.466C124.479 128.758 125.143 127.655 125.334 126.469C125.525 125.276 126.202 124.211 127.247 123.592C128.268 122.986 129.512 122.852 130.621 123.273ZM108.229 123.273C109.919 123.905 111.909 123.465 113.165 121.985C114.664 120.206 114.498 117.489 112.795 115.901C111.539 114.733 109.791 114.434 108.28 114.982C107.145 115.39 105.895 115.295 104.855 114.682C103.809 114.064 103.133 112.992 102.942 111.793C102.935 111.736 102.17 108.1 98.5791 108.1C96.1364 108.1 94.1593 110.078 94.1593 112.52C94.1593 114.963 96.1364 116.94 98.5791 116.94C99.3062 116.94 99.9886 116.762 100.595 116.449C101.041 116.277 101.647 116.066 102.036 116.066C103.732 116.066 105.11 117.444 105.11 119.141C105.11 120.837 103.732 122.215 102.036 122.215C101.609 122.215 100.92 121.96 100.473 121.781C100.327 121.724 99.3381 121.347 98.5728 121.347C96.1301 121.347 94.1529 123.324 94.1529 125.767C94.1529 128.21 96.1301 130.187 98.5728 130.187C100.754 130.187 102.565 128.605 102.922 126.52C102.922 126.501 102.935 126.481 102.942 126.462C103.133 125.27 103.809 124.205 104.855 123.586C105.875 122.98 107.119 122.846 108.229 123.267V123.273ZM120.972 134.607C118.529 134.607 116.552 136.584 116.552 139.027C116.552 141.469 118.529 143.446 120.972 143.446C123.414 143.446 125.392 141.469 125.392 139.027C125.392 136.584 123.414 134.607 120.972 134.607ZM109.772 97.035C112.215 97.035 114.192 95.0579 114.192 92.6152C114.192 90.1725 112.215 88.1953 109.772 88.1953C107.33 88.1953 105.352 90.1725 105.352 92.6152C105.352 95.0579 107.33 97.035 109.772 97.035ZM98.5791 134.607C96.1364 134.607 94.1593 136.584 94.1593 139.027C94.1593 141.469 96.1364 143.446 98.5791 143.446C101.022 143.446 102.999 141.469 102.999 139.027C102.999 136.584 101.022 134.607 98.5791 134.607ZM120.972 103.668C123.414 103.668 125.392 101.691 125.392 99.2481C125.392 96.8054 123.414 94.8283 120.972 94.8283C118.529 94.8283 116.552 96.8054 116.552 99.2481C116.552 101.691 118.529 103.668 120.972 103.668ZM98.5791 103.668C101.022 103.668 102.999 101.691 102.999 99.2481C102.999 96.8054 101.022 94.8283 98.5791 94.8283C96.1364 94.8283 94.1593 96.8054 94.1593 99.2481C94.1593 101.691 96.1364 103.668 98.5791 103.668ZM87.3797 101.455C84.937 101.455 82.9598 103.432 82.9598 105.875C82.9598 108.317 84.937 110.295 87.3797 110.295C89.8224 110.295 91.7995 108.317 91.7995 105.875C91.7995 103.432 89.8224 101.455 87.3797 101.455ZM87.3797 127.98C84.937 127.98 82.9598 129.957 82.9598 132.4C82.9598 134.843 84.937 136.82 87.3797 136.82C89.8224 136.82 91.7995 134.843 91.7995 132.4C91.7995 129.957 89.8224 127.98 87.3797 127.98ZM87.3797 114.714C84.937 114.714 82.9598 116.691 82.9598 119.134C82.9598 121.577 84.937 123.554 87.3797 123.554C89.8224 123.554 91.7995 121.577 91.7995 119.134C91.7995 116.691 89.8224 114.714 87.3797 114.714Z", fill: "#A0A0A0" }) }), _jsx("path", { opacity: "0.32", d: "M201.559 149.24C201.559 98.5544 160.471 57.4658 109.786 57.4658C59.1003 57.4658 18.0117 98.5544 18.0117 149.24", stroke: "url(#paint0_linear_12643_1371)", strokeWidth: "2.5731", strokeLinecap: "round" }), _jsx("defs", { children: _jsxs("linearGradient", { id: "paint0_linear_12643_1371", x1: "109.786", y1: "57.4658", x2: "109.786", y2: "149.24", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { stopColor: "#A0A0A0" }), _jsx("stop", { offset: "0.889706", stopColor: "#A0A0A0", stopOpacity: "0" })] }) })] }));
4
+ //# sourceMappingURL=GenericPlaceholderCentered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericPlaceholderCentered.js","sourceRoot":"","sources":["../../src/svg/GenericPlaceholderCentered.tsx"],"names":[],"mappings":";AAAA,4BAA4B;AAE5B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAwF,EAAE,EAAE,CAAC,CACvK,eAAK,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,EAAC,aAAa,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,aAC1J,YAAG,OAAO,EAAC,MAAM,YACf,eAAM,CAAC,EAAC,myJAAmyJ,EAAC,IAAI,EAAC,SAAS,GAAE,GAC1zJ,EACJ,eAAM,OAAO,EAAC,MAAM,EAAC,CAAC,EAAC,gHAAgH,EAAC,MAAM,EAAC,gCAAgC,EAAC,WAAW,EAAC,QAAQ,EAAC,aAAa,EAAC,OAAO,GAAE,EAC5N,yBACE,0BAAgB,EAAE,EAAC,0BAA0B,EAAC,EAAE,EAAC,SAAS,EAAC,EAAE,EAAC,SAAS,EAAC,EAAE,EAAC,SAAS,EAAC,EAAE,EAAC,QAAQ,EAAC,aAAa,EAAC,gBAAgB,aAC7H,eAAM,SAAS,EAAC,SAAS,GAAE,EAC3B,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAC,GAAG,GAAE,IAC9C,GACZ,IACH,CACP,CAAA"}
@@ -3,6 +3,7 @@ export { CS } from './CS.js';
3
3
  export { EDP } from './EDP.js';
4
4
  export { Forbidden } from './Forbidden.js';
5
5
  export { GenericPlaceholder } from './GenericPlaceholder.js';
6
+ export { GenericPlaceholderCentered } from './GenericPlaceholderCentered.js';
6
7
  export { HUB } from './HUB.js';
7
8
  export { Logo } from './Logo.js';
8
9
  export { MiniLogo } from './MiniLogo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/svg/index.js CHANGED
@@ -3,6 +3,8 @@ export { CS } from './CS.js';
3
3
  export { EDP } from './EDP.js';
4
4
  export { Forbidden } from './Forbidden.js';
5
5
  export { GenericPlaceholder } from './GenericPlaceholder.js';
6
+ //! both versions kept to avoid breaking changes
7
+ export { GenericPlaceholderCentered } from './GenericPlaceholderCentered.js';
6
8
  export { HUB } from './HUB.js';
7
9
  export { Logo } from './Logo.js';
8
10
  export { MiniLogo } from './MiniLogo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/svg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/svg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,gDAAgD;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "1.0.0-dev.{timestamp}"
3
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-components",
3
- "version": "2.27.6",
3
+ "version": "2.28.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "./Form": "./dist/components/form/Form/index.js"
32
32
  },
33
33
  "scripts": {
34
- "build": "rimraf dist && tsc && tsc-esm-fix --target='dist'",
34
+ "build": "pnpm package-override --revert=false && rimraf dist && tsc && tsc-esm-fix --target='dist'",
35
35
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
36
36
  "check-tree-shaking": "agadoo"
37
37
  },
@@ -45,6 +45,8 @@
45
45
  "react-dom": "^18.2.0"
46
46
  },
47
47
  "devDependencies": {
48
+ "@stack-spot/build-tools": "^1.2.4",
49
+ "@stack-spot/citric-react": "^0.41.2",
48
50
  "@types/lodash": "^4.14.202",
49
51
  "@types/react": "^18.2.37",
50
52
  "@types/react-dom": "^18.2.15",
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "1.0.0-stg.{timestamp}"
3
+ }
@@ -3,7 +3,7 @@ import { AsProp } from '@citric/core/dist/forward-ref-as'
3
3
  import { SxProperties } from '@citric/core/dist/sx'
4
4
  import { Card, CardContent } from '@citric/ui'
5
5
  import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
6
- import { GenericPlaceholder } from '../svg'
6
+ import { GenericPlaceholder, GenericPlaceholderCentered } from '../svg'
7
7
 
8
8
  interface Props {
9
9
  title?: string | React.ReactElement,
@@ -76,10 +76,9 @@ export const PlaceholderCallToAction = ({
76
76
  <Card sx={{ w: fullWidth ? '100%' : 'auto', bg: 'transparent', ...sxCard }} style={style} className={className}>
77
77
  <CardContent
78
78
  as={Flex}
79
- py={15}
80
- sx={{ flexDirection: 'column', justifyContent: 'center', alignItems: 'center', gap: '92px', ...sx }}
79
+ sx={{ justifyContent: 'center', alignItems: 'center', gap: '16px', ...sx }}
81
80
  >
82
- <Box sx={{ justifySelf: 'end' }}>{img ?? <GenericPlaceholder {...placeholderImageConfig} />}</Box>
81
+ <Box>{img ?? <GenericPlaceholderCentered {...placeholderImageConfig} />}</Box>
83
82
 
84
83
  <Box>
85
84
  {title && <Text as={titleAs} appearance="h4" mb="3" aria-live="assertive">
@@ -1,4 +1,5 @@
1
- import { Box, IconBox, Input } from '@citric/core'
1
+ import { Box, IconBox } from '@citric/core'
2
+ import { Input } from '@stack-spot/citric-react'
2
3
  import { Filter, Times } from '@citric/icons'
3
4
  import { FieldAddon, FieldGroup, IconButton } from '@citric/ui'
4
5
  import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
@@ -21,8 +22,15 @@ export const SearchInput = ({
21
22
  className?: string,
22
23
  }) => {
23
24
  const [value, setValue] = useState(defaultValue)
24
- const runOnChange = useCallback(debounce(onChange, 800), [onChange])
25
25
  const t = useTranslate(dictionary)
26
+ const debouncedOnChange = useCallback(
27
+ debounce((nextValue?: string) => onChange(nextValue), 800),
28
+ [onChange],
29
+ )
30
+ const handleInputOnChange = (nextValue: string) => {
31
+ setValue(nextValue)
32
+ debouncedOnChange(nextValue)
33
+ }
26
34
 
27
35
  return (
28
36
  <Box sx={{ position: 'relative' }} style={style} className={className}>
@@ -33,12 +41,10 @@ export const SearchInput = ({
33
41
  </IconBox>
34
42
  </FieldAddon>
35
43
  <Input
44
+ style={{ width: '100%' }}
36
45
  value={value}
37
46
  placeholder={searchText}
38
- onChange={(e) => {
39
- setValue(e.target.value)
40
- runOnChange(e.target.value)
41
- }}
47
+ onChange={handleInputOnChange}
42
48
  disabled={disabled}
43
49
  maxLength={255}
44
50
  />
@@ -46,10 +52,7 @@ export const SearchInput = ({
46
52
  {!!value && (
47
53
  <IconButton
48
54
  sx={{ position: 'absolute', right: '20px', top: '50%', transform: 'translate(50%, -50%)' }}
49
- onClick={() => {
50
- setValue('')
51
- runOnChange('')
52
- }}
55
+ onClick={() => handleInputOnChange('')}
53
56
  aria-label={t.ariaClearField}
54
57
  >
55
58
  <Times />
@@ -238,6 +238,10 @@ interface NewNotificationItemProps extends Props {
238
238
  * Function to call when the user marks a notification as read (committed).
239
239
  */
240
240
  onCommit: () => void,
241
+ /**
242
+ * Function to call when the user marks a notification as unread (uncommitted).
243
+ */
244
+ onUncommit: () => void,
241
245
  /**
242
246
  * Whenever the user clicks the action button of a notification, the notification is marked as read (committed) and the browser is
243
247
  * redirected to the page that corresponds to the action.
@@ -267,15 +271,21 @@ const StyledBox = styled(Box)<{$isSummary?: boolean}>`
267
271
  export const NotificationItem = ({ notification, isSummary, ...props }: NotificationItemProps) => {
268
272
  const t = useTranslate(dictionary)
269
273
  const { title } = useGetNotificationTitleAndDescription(notification)
274
+ const committed = notification.committed
270
275
 
271
276
  function commit() {
272
277
  if ('onCommit' in props) props.onCommit()
273
278
  else props.onClickMarkReadUnread(true, 'icon')
274
279
  }
275
280
 
281
+ function uncommit() {
282
+ if ('onUncommit' in props) props.onUncommit()
283
+ else props.onClickMarkReadUnread(false, 'icon')
284
+ }
285
+
276
286
  function clickAction() {
277
287
  if ('onCommit' in props) {
278
- if (!notification.committed) props.onCommit()
288
+ if (!committed) props.onCommit()
279
289
  props.onClickAction?.()
280
290
  }
281
291
  else props.onClickMarkReadUnread(true, 'callToAction')
@@ -286,7 +296,7 @@ export const NotificationItem = ({ notification, isSummary, ...props }: Notifica
286
296
  <Flex bg="light.400" r="xs"
287
297
  flexWrap="nowrap"
288
298
  className="notification-item"
289
- flexDirection="column" w="100%" sx={styles.item(statusToColor[notification.criticality], notification.committed)}>
299
+ flexDirection="column" w="100%" sx={styles.item(statusToColor[notification.criticality], committed)}>
290
300
  <NotificationHeader title={title} isSummary={isSummary} />
291
301
  <NotificationContent notification={notification} isSummary={isSummary} onClickViewNotification={props.onClickViewNotification} />
292
302
  {notification.call_to_action && <NotificationFooter
@@ -296,15 +306,12 @@ export const NotificationItem = ({ notification, isSummary, ...props }: Notifica
296
306
  />}
297
307
  </Flex>
298
308
  <Box sx={{ position: 'absolute', top: '8px', right: '8px' }}>
299
- <Tooltip text={notification.committed ? t.committed : t.uncommitted} position="left">
300
- {notification.committed
301
- ? <IconBox role="img" aria-label={t.committed} size="xs" style={{ margin: '4px', opacity: 0.5 }}><EnvelopeOpen /></IconBox>
302
- : (
303
- <IconButton aria-label={t.uncommitted} onClick={commit}>
304
- <IconBox size="xs"><Envelope /></IconBox>
305
- </IconButton>
306
- )
307
- }
309
+ <Tooltip text={committed ? t.committed : t.uncommitted} position="left">
310
+ <IconButton aria-label={committed ? t.committed : t.uncommitted} onClick={() => committed ? uncommit() : commit()}>
311
+ <IconBox size="xs" style={{ opacity: committed ? 0.5 : 1 }}>
312
+ {committed ? <EnvelopeOpen /> : <Envelope />}
313
+ </IconBox>
314
+ </IconButton>
308
315
  </Tooltip>
309
316
  </Box>
310
317
  </StyledBox>
@@ -1,21 +1,25 @@
1
1
  import { Box, Flex } from '@citric/core'
2
2
  import { listToClass } from '@stack-spot/portal-theme'
3
- import { Month } from '@stack-spot/portal-translate'
3
+ import { Dictionary, Month, useTranslate } from '@stack-spot/portal-translate'
4
4
  import { last } from 'lodash'
5
5
  import { useMemo } from 'react'
6
6
  import { styled } from 'styled-components'
7
7
  import { InfiniteScroll } from '../InfiniteScroll'
8
+ import { PlaceholderCallToAction } from '../Placeholder'
8
9
  import { TimelineSection } from '../TimelineSection'
9
10
  import { NotificationItem } from './NotificationItem'
10
- import { NotificationPlaceholder } from './NotificationPlaceholder'
11
11
  import { GetTenantNotificationsResponse, InfiniteScrollConfig } from './types'
12
-
13
12
  export interface NotificationListProps {
14
13
  /**
15
14
  * Function to call when the message is marked as read (committed).
16
15
  * @param id the id of the notification where the read status changed.
17
16
  */
18
17
  onCommit: (id: string) => void,
18
+ /**
19
+ * Function to call when the message is marked as unread (uncommitted).
20
+ * @param id the id of the notification where the read status changed.
21
+ */
22
+ onUncommit: (id: string) => void,
19
23
  /**
20
24
  * Optional. Function called when the button to perform the notification action is clicked. This function will be run in addition to
21
25
  * the notification action.
@@ -85,16 +89,20 @@ const StyledBox = styled(Box)`
85
89
  }
86
90
 
87
91
  .placeholder.compact {
92
+ min-height: 400px;
93
+ padding: 0px;
94
+
88
95
  & > div {
89
- padding-block: 0;
90
96
  gap: 16px;
97
+ align-content: flex-start;
98
+
91
99
  & > div {
92
100
  text-align: center;
93
101
  h4 {
94
102
  margin-bottom: 10px;
95
103
  }
96
104
  p {
97
- margin: 0;
105
+ max-width: 220px;
98
106
  }
99
107
  }
100
108
  }
@@ -120,13 +128,14 @@ function groupNotificationsByDate(notifications: GetTenantNotificationsResponse[
120
128
  }
121
129
 
122
130
  export const NotificationList = (
123
- { items, compact = false, onCommit, onClickAction, onClickViewNotification,
131
+ { items, compact = false, onCommit, onUncommit, onClickAction, onClickViewNotification,
124
132
  infiniteScroll, loading, showEmptySearch, style, className }: NotificationListProps,
125
133
  ) => {
126
134
  const groups: NotificationGroup[] = useMemo(
127
135
  () => compact ? [{ day: 0, month: 0, year: 0, items }] : groupNotificationsByDate(items),
128
136
  [compact, items],
129
137
  )
138
+ const t = useTranslate(dictionary)
130
139
 
131
140
  const renderNotifications = (notifications: GetTenantNotificationsResponse[], key?: string) => (
132
141
  <Flex sx={{ gap: '4px' }} flexDirection="column" key={key}>
@@ -138,6 +147,7 @@ export const NotificationList = (
138
147
  isSummary={compact}
139
148
  onClickViewNotification={onClickViewNotification}
140
149
  onCommit={() => onCommit(item.id)}
150
+ onUncommit={() => onUncommit(item.id)}
141
151
  onClickAction={() => onClickAction?.(item.id)}
142
152
  />
143
153
  ))}
@@ -167,13 +177,31 @@ export const NotificationList = (
167
177
  )}
168
178
  </Flex>
169
179
  </InfiniteScroll>
170
- ) : <NotificationPlaceholder
171
- isSearch={showEmptySearch}
172
- className={listToClass(['placeholder', compact && 'compact'])}
173
- titleAs="p"
174
- sx={{ minHeight: '350px' }}
175
- />}
180
+ ) : (
181
+ <PlaceholderCallToAction
182
+ title={ showEmptySearch ? t.searchTitle : t.defaultTitle }
183
+ description={ showEmptySearch ? t.searchDescription : t.defaultDescription}
184
+ className={listToClass(['placeholder', compact && 'compact'])}
185
+ titleAs="p"
186
+ />
187
+ )}
176
188
  <div className="loading-mask"></div>
177
189
  </StyledBox>
178
190
  )
179
191
  }
192
+
193
+ const dictionary = {
194
+ en: {
195
+ defaultTitle: 'You don’t have any notifications yet.',
196
+ defaultDescription: 'Relevant updates will show up here as soon as they’re available.',
197
+ searchTitle: 'No notifications match your filters.',
198
+ searchDescription: 'Try changing the filters to see more results.',
199
+ },
200
+ pt: {
201
+ defaultTitle: 'Você ainda não tem notificações.',
202
+ defaultDescription: 'Quando houver alguma atualização relevante, ela será exibida aqui.',
203
+ searchTitle: 'Nenhuma notificação corresponde aos filtros',
204
+ searchDescription: 'Experimente mudar os filtros para encontrar mais notificações.',
205
+ },
206
+ } satisfies Dictionary
207
+
@@ -30,6 +30,7 @@ export const NotificationsPage = () => {
30
30
  const t = useTranslate(dictionary)
31
31
  const controller = useNotificationController()
32
32
  const { hasMore, items, loadMore, applyFilters, filters, status, error } = useNotificationList()
33
+ const hasFilters = Object.entries(filters).length > 0
33
34
 
34
35
  return (<>
35
36
  <header><Text appearance="h2" as="h1">{t.title}</Text></header>
@@ -69,9 +70,10 @@ export const NotificationsPage = () => {
69
70
  items={items}
70
71
  loading={status === 'loading'}
71
72
  onCommit={id => controller.markAsCommitted(id)}
73
+ onUncommit={id => controller.markAsUncommitted(id)}
72
74
  infiniteScroll={{ hasMore, loadMore }}
73
75
  onClickAction={controller.config.onClickAction}
74
- showEmptySearch
76
+ showEmptySearch={hasFilters}
75
77
  />
76
78
  </AsyncContent>
77
79
  </>)
@@ -80,6 +80,21 @@ export class NotificationController {
80
80
  }
81
81
  }
82
82
 
83
+ async markAsUncommitted(notificationId: string) {
84
+ if (!this.readStatusMap.get(notificationId)) return
85
+ this.readStatusMap.set(notificationId, false)
86
+ this.lazyLists.forEach(l => l.update(this.readStatusMap))
87
+ try {
88
+ await this.config.markAsUncommitted(notificationId)
89
+ // update the notification indicator: this is an inconsistency, we should actually ask the API, but since it's an expensive
90
+ // operation in the backend, we won't, instead, we'll only check the notifications we have loaded in memory.
91
+ if (this.hasUnreadNotificationInMemory()) this.setUnreadNotification(true)
92
+ } catch {
93
+ this.readStatusMap.set(notificationId, true)
94
+ this.lazyLists.forEach(l => l.update(this.readStatusMap))
95
+ }
96
+ }
97
+
83
98
  onUnreadNotificationChange(listener: UnreadNotificationListener) {
84
99
  this.unreadNotificationListeners.push(listener)
85
100
  return () => {
@@ -7,6 +7,21 @@ import { useNotificationController } from './context'
7
7
  import { LazyNotificationList } from './LazyNotificationList'
8
8
  import { LoadNotificationsFilters } from './types'
9
9
 
10
+ function cleanFilters<T extends Record<string, unknown>>(filters: T): T {
11
+ const cleaned = { ...filters }
12
+
13
+ const keys = Object.keys(cleaned) as (keyof T)[]
14
+ keys.forEach((key) => {
15
+ const value = cleaned[key]
16
+
17
+ if (value === undefined || value === null || value === '') {
18
+ delete cleaned[key]
19
+ }
20
+ })
21
+
22
+ return cleaned
23
+ }
24
+
10
25
  export function useNotificationList(initialFilters: LoadNotificationsFilters = {}) {
11
26
  const { repaint } = useManualRender()
12
27
  const [status, setStatus] = useState<'startup' | 'idle' | 'error' | 'loading'>('startup')
@@ -42,7 +57,9 @@ export function useNotificationList(initialFilters: LoadNotificationsFilters = {
42
57
  const { next, prev } = await new Promise<{ next: LoadNotificationsFilters, prev: LoadNotificationsFilters }>((resolve) => {
43
58
  setFilters((filters) => {
44
59
  const prev = filters
45
- const next = { ...filters, ...newFilters }
60
+ const merged = { ...filters, ...newFilters }
61
+ const next = cleanFilters(merged)
62
+
46
63
  resolve({ prev, next })
47
64
  return next
48
65
  })
@@ -39,6 +39,11 @@ export interface NotificationConfig {
39
39
  * @param id the id of the notification.
40
40
  */
41
41
  markAsCommitted(id: string): Promise<void>,
42
+ /**
43
+ * Marks the notification with the id passed as parameter as unread (uncommitted).
44
+ * @param id the id of the notification.
45
+ */
46
+ markAsUncommitted(id: string): Promise<void>,
42
47
  /**
43
48
  * How long (ms) we should wait before checking for unread notifications again.
44
49
  * @default 120000
@@ -0,0 +1,16 @@
1
+ /* eslint-disable max-len */
2
+
3
+ export const GenericPlaceholderCentered = ({ className, width, height, style }: { className?: string, width?: string, height?: string, style?: React.CSSProperties }) => (
4
+ <svg width={width ?? '220'} height={height ?? '220'} viewBox="0 0 220 220" fill="none" xmlns="http://www.w3.org/2000/svg" style={style} className={className}>
5
+ <g opacity="0.16">
6
+ <path d="M132.171 110.295C134.614 110.295 136.591 108.317 136.591 105.875C136.591 103.432 134.614 101.455 132.171 101.455C129.728 101.455 127.751 103.432 127.751 105.875C127.751 108.317 129.728 110.295 132.171 110.295ZM132.171 127.98C129.728 127.98 127.751 129.957 127.751 132.4C127.751 134.843 129.728 136.82 132.171 136.82C134.614 136.82 136.591 134.843 136.591 132.4C136.591 129.957 134.614 127.98 132.171 127.98ZM109.772 141.24C107.33 141.24 105.352 143.217 105.352 145.66C105.352 148.102 107.33 150.079 109.772 150.079C112.215 150.079 114.192 148.102 114.192 145.66C114.192 143.217 112.215 141.24 109.772 141.24ZM130.621 123.273C132.311 123.905 134.301 123.465 135.558 121.985C137.057 120.206 136.891 117.489 135.188 115.901C133.931 114.733 132.184 114.434 130.672 114.982C129.537 115.39 128.287 115.295 127.247 114.682C126.202 114.064 125.525 112.992 125.334 111.793C125.143 110.639 124.499 109.561 123.453 108.853C122.247 108.037 120.787 107.896 119.511 108.349C118.363 108.751 117.1 108.681 116.048 108.062C114.996 107.444 114.326 106.366 114.128 105.16C113.931 103.98 113.261 102.883 112.177 102.176C110.251 100.925 107.61 101.397 106.239 103.234C104.715 105.269 105.218 108.139 107.298 109.548C108.503 110.365 109.964 110.505 111.239 110.052C112.387 109.65 113.65 109.72 114.702 110.339C115.748 110.958 116.424 112.029 116.622 113.235C116.813 114.389 117.458 115.467 118.503 116.175C119.709 116.991 121.169 117.132 122.445 116.679C122.528 116.647 123.791 116.066 124.435 116.066C126.131 116.066 127.509 117.444 127.509 119.141C127.509 120.837 126.131 122.215 124.435 122.215C123.791 122.215 122.534 121.628 122.451 121.602C121.195 121.156 119.76 121.283 118.561 122.068C117.477 122.776 116.82 123.879 116.628 125.066C116.431 126.258 115.761 127.33 114.709 127.955C113.663 128.573 112.4 128.65 111.246 128.242C109.97 127.795 108.509 127.936 107.304 128.746C105.225 130.155 104.721 133.025 106.245 135.06C107.623 136.896 110.257 137.368 112.183 136.118C113.274 135.41 113.943 134.313 114.135 133.133C114.332 131.928 115.002 130.857 116.054 130.232C117.1 129.613 118.663 129.728 119.505 129.932C120.799 130.244 122.196 130.251 123.395 129.466C124.479 128.758 125.143 127.655 125.334 126.469C125.525 125.276 126.202 124.211 127.247 123.592C128.268 122.986 129.512 122.852 130.621 123.273ZM108.229 123.273C109.919 123.905 111.909 123.465 113.165 121.985C114.664 120.206 114.498 117.489 112.795 115.901C111.539 114.733 109.791 114.434 108.28 114.982C107.145 115.39 105.895 115.295 104.855 114.682C103.809 114.064 103.133 112.992 102.942 111.793C102.935 111.736 102.17 108.1 98.5791 108.1C96.1364 108.1 94.1593 110.078 94.1593 112.52C94.1593 114.963 96.1364 116.94 98.5791 116.94C99.3062 116.94 99.9886 116.762 100.595 116.449C101.041 116.277 101.647 116.066 102.036 116.066C103.732 116.066 105.11 117.444 105.11 119.141C105.11 120.837 103.732 122.215 102.036 122.215C101.609 122.215 100.92 121.96 100.473 121.781C100.327 121.724 99.3381 121.347 98.5728 121.347C96.1301 121.347 94.1529 123.324 94.1529 125.767C94.1529 128.21 96.1301 130.187 98.5728 130.187C100.754 130.187 102.565 128.605 102.922 126.52C102.922 126.501 102.935 126.481 102.942 126.462C103.133 125.27 103.809 124.205 104.855 123.586C105.875 122.98 107.119 122.846 108.229 123.267V123.273ZM120.972 134.607C118.529 134.607 116.552 136.584 116.552 139.027C116.552 141.469 118.529 143.446 120.972 143.446C123.414 143.446 125.392 141.469 125.392 139.027C125.392 136.584 123.414 134.607 120.972 134.607ZM109.772 97.035C112.215 97.035 114.192 95.0579 114.192 92.6152C114.192 90.1725 112.215 88.1953 109.772 88.1953C107.33 88.1953 105.352 90.1725 105.352 92.6152C105.352 95.0579 107.33 97.035 109.772 97.035ZM98.5791 134.607C96.1364 134.607 94.1593 136.584 94.1593 139.027C94.1593 141.469 96.1364 143.446 98.5791 143.446C101.022 143.446 102.999 141.469 102.999 139.027C102.999 136.584 101.022 134.607 98.5791 134.607ZM120.972 103.668C123.414 103.668 125.392 101.691 125.392 99.2481C125.392 96.8054 123.414 94.8283 120.972 94.8283C118.529 94.8283 116.552 96.8054 116.552 99.2481C116.552 101.691 118.529 103.668 120.972 103.668ZM98.5791 103.668C101.022 103.668 102.999 101.691 102.999 99.2481C102.999 96.8054 101.022 94.8283 98.5791 94.8283C96.1364 94.8283 94.1593 96.8054 94.1593 99.2481C94.1593 101.691 96.1364 103.668 98.5791 103.668ZM87.3797 101.455C84.937 101.455 82.9598 103.432 82.9598 105.875C82.9598 108.317 84.937 110.295 87.3797 110.295C89.8224 110.295 91.7995 108.317 91.7995 105.875C91.7995 103.432 89.8224 101.455 87.3797 101.455ZM87.3797 127.98C84.937 127.98 82.9598 129.957 82.9598 132.4C82.9598 134.843 84.937 136.82 87.3797 136.82C89.8224 136.82 91.7995 134.843 91.7995 132.4C91.7995 129.957 89.8224 127.98 87.3797 127.98ZM87.3797 114.714C84.937 114.714 82.9598 116.691 82.9598 119.134C82.9598 121.577 84.937 123.554 87.3797 123.554C89.8224 123.554 91.7995 121.577 91.7995 119.134C91.7995 116.691 89.8224 114.714 87.3797 114.714Z" fill="#A0A0A0"/>
7
+ </g>
8
+ <path opacity="0.32" d="M201.559 149.24C201.559 98.5544 160.471 57.4658 109.786 57.4658C59.1003 57.4658 18.0117 98.5544 18.0117 149.24" stroke="url(#paint0_linear_12643_1371)" strokeWidth="2.5731" strokeLinecap="round"/>
9
+ <defs>
10
+ <linearGradient id="paint0_linear_12643_1371" x1="109.786" y1="57.4658" x2="109.786" y2="149.24" gradientUnits="userSpaceOnUse">
11
+ <stop stopColor="#A0A0A0"/>
12
+ <stop offset="0.889706" stopColor="#A0A0A0" stopOpacity="0"/>
13
+ </linearGradient>
14
+ </defs>
15
+ </svg>
16
+ )
package/src/svg/index.ts CHANGED
@@ -3,9 +3,12 @@ export { CS } from './CS'
3
3
  export { EDP } from './EDP'
4
4
  export { Forbidden } from './Forbidden'
5
5
  export { GenericPlaceholder } from './GenericPlaceholder'
6
+ //! both versions kept to avoid breaking changes
7
+ export { GenericPlaceholderCentered } from './GenericPlaceholderCentered'
6
8
  export { HUB } from './HUB'
7
9
  export { Logo } from './Logo'
8
10
  export { MiniLogo } from './MiniLogo'
9
11
  export { NotFound } from './NotFound'
10
12
  export { ServerError } from './ServerError'
11
13
  export { Unauthenticated } from './Unauthenticated'
14
+
@@ -1,13 +0,0 @@
1
- import { AsProp } from '@citric/core/dist/forward-ref-as.js';
2
- import { SxProperties } from '@citric/core/dist/sx.js';
3
- interface Props {
4
- isSearch?: boolean;
5
- style?: React.CSSProperties;
6
- className?: string;
7
- sx?: SxProperties;
8
- sxCard?: SxProperties;
9
- titleAs?: AsProp;
10
- }
11
- export declare const NotificationPlaceholder: ({ isSearch, sx, sxCard, className, style, titleAs }: Props) => import("react/jsx-runtime").JSX.Element;
12
- export {};
13
- //# sourceMappingURL=NotificationPlaceholder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotificationPlaceholder.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationPlaceholder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,GAAI,qDAAqD,KAAK,4CAsBjG,CAAA"}
@@ -1,34 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useTranslate } from '@stack-spot/portal-translate';
3
- import { PlaceholderCallToAction } from '../Placeholder.js';
4
- export const NotificationPlaceholder = ({ isSearch, sx, sxCard, className, style, titleAs }) => {
5
- const t = useTranslate(dictionary);
6
- return _jsx(PlaceholderCallToAction, { title: isSearch
7
- ? (_jsxs(_Fragment, { children: [t.placeholderSearchTitle, _jsx("br", {}), t.placeholderSearchSubTitle] }))
8
- : (_jsxs(_Fragment, { children: [t.placeholderTitle, _jsx("br", {}), t.placeholderSubTitle] })), description: isSearch
9
- ? (_jsxs(_Fragment, { children: [t.placeholderSearchDescription, _jsx("br", {}), t.placeholderSearchSubDescription] }))
10
- : (_jsxs(_Fragment, { children: [t.placeholderDescription, _jsx("br", {}), t.placeholderSubDescription] })), fullWidth: true, sx: sx, sxCard: sxCard, className: className, style: style, titleAs: titleAs, placeholderImageConfig: { width: '200', height: '200' } });
11
- };
12
- const dictionary = {
13
- en: {
14
- placeholderTitle: 'You don’t have',
15
- placeholderSubTitle: 'any notifications yet.',
16
- placeholderDescription: 'Relevant updates will show up here',
17
- placeholderSubDescription: 'as soon as they’re available.',
18
- placeholderSearchTitle: 'No notifications',
19
- placeholderSearchSubTitle: 'match your filters.',
20
- placeholderSearchDescription: 'Try changing the filters',
21
- placeholderSearchSubDescription: 'to see more results.',
22
- },
23
- pt: {
24
- placeholderTitle: 'Você ainda não tem',
25
- placeholderSubTitle: 'notificações.',
26
- placeholderDescription: 'Quando houver alguma atualização relevante,',
27
- placeholderSubDescription: 'ela será exibida aqui.',
28
- placeholderSearchTitle: 'Nenhuma notificação',
29
- placeholderSearchSubTitle: 'corresponde aos filtros',
30
- placeholderSearchDescription: 'Experimente mudar os filtros',
31
- placeholderSearchSubDescription: 'para encontrar mais notificações.',
32
- },
33
- };
34
- //# sourceMappingURL=NotificationPlaceholder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotificationPlaceholder.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationPlaceholder.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAWxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAS,EAAE,EAAE;IACpG,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAElC,OAAO,KAAC,uBAAuB,IAC7B,KAAK,EACH,QAAQ;YACN,CAAC,CAAC,CAAC,8BAAG,CAAC,CAAC,sBAAsB,EAAC,cAAM,EAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC;YACtE,CAAC,CAAC,CAAC,8BAAG,CAAC,CAAC,gBAAgB,EAAC,cAAM,EAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,EAE9D,WAAW,EACT,QAAQ;YACN,CAAC,CAAC,CAAC,8BAAG,CAAC,CAAC,4BAA4B,EAAC,cAAM,EAAC,CAAC,CAAC,+BAA+B,IAAI,CAAC;YAClF,CAAC,CAAC,CAAC,8BAAG,CAAC,CAAC,sBAAsB,EAAC,cAAM,EAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,EAE1E,SAAS,QACT,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GACvD,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,gBAAgB,EAAE,gBAAgB;QAClC,mBAAmB,EAAE,wBAAwB;QAC7C,sBAAsB,EAAE,oCAAoC;QAC5D,yBAAyB,EAAE,+BAA+B;QAC1D,sBAAsB,EAAE,kBAAkB;QAC1C,yBAAyB,EAAE,qBAAqB;QAChD,4BAA4B,EAAE,0BAA0B;QACxD,+BAA+B,EAAE,sBAAsB;KACxD;IACD,EAAE,EAAE;QACF,gBAAgB,EAAE,oBAAoB;QACtC,mBAAmB,EAAE,eAAe;QACpC,sBAAsB,EAAE,6CAA6C;QACrE,yBAAyB,EAAE,wBAAwB;QACnD,sBAAsB,EAAE,qBAAqB;QAC7C,yBAAyB,EAAE,yBAAyB;QACpD,4BAA4B,EAAE,8BAA8B;QAC5D,+BAA+B,EAAE,mCAAmC;KACrE;CACmB,CAAA"}
@@ -1,60 +0,0 @@
1
- import { AsProp } from '@citric/core/dist/forward-ref-as'
2
- import { SxProperties } from '@citric/core/dist/sx'
3
- import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
4
- import { PlaceholderCallToAction } from '../Placeholder'
5
-
6
- interface Props {
7
- isSearch?: boolean,
8
- style?: React.CSSProperties,
9
- className?: string,
10
- sx?: SxProperties,
11
- sxCard?: SxProperties,
12
- titleAs?: AsProp,
13
- }
14
-
15
- export const NotificationPlaceholder = ({ isSearch, sx, sxCard, className, style, titleAs }: Props) => {
16
- const t = useTranslate(dictionary)
17
-
18
- return <PlaceholderCallToAction
19
- title={
20
- isSearch
21
- ? (<>{t.placeholderSearchTitle}<br />{t.placeholderSearchSubTitle}</>)
22
- : (<>{t.placeholderTitle}<br />{t.placeholderSubTitle}</>)
23
- }
24
- description={
25
- isSearch
26
- ? (<>{t.placeholderSearchDescription}<br />{t.placeholderSearchSubDescription}</>)
27
- : (<>{t.placeholderDescription}<br />{t.placeholderSubDescription}</>)
28
- }
29
- fullWidth
30
- sx={sx}
31
- sxCard={sxCard}
32
- className={className}
33
- style={style}
34
- titleAs={titleAs}
35
- placeholderImageConfig={{ width: '200', height: '200' }}
36
- />
37
- }
38
-
39
- const dictionary = {
40
- en: {
41
- placeholderTitle: 'You don’t have',
42
- placeholderSubTitle: 'any notifications yet.',
43
- placeholderDescription: 'Relevant updates will show up here',
44
- placeholderSubDescription: 'as soon as they’re available.',
45
- placeholderSearchTitle: 'No notifications',
46
- placeholderSearchSubTitle: 'match your filters.',
47
- placeholderSearchDescription: 'Try changing the filters',
48
- placeholderSearchSubDescription: 'to see more results.',
49
- },
50
- pt: {
51
- placeholderTitle: 'Você ainda não tem',
52
- placeholderSubTitle: 'notificações.',
53
- placeholderDescription: 'Quando houver alguma atualização relevante,',
54
- placeholderSubDescription: 'ela será exibida aqui.',
55
- placeholderSearchTitle: 'Nenhuma notificação',
56
- placeholderSearchSubTitle: 'corresponde aos filtros',
57
- placeholderSearchDescription: 'Experimente mudar os filtros',
58
- placeholderSearchSubDescription: 'para encontrar mais notificações.',
59
- },
60
- } satisfies Dictionary