@gooddata/sdk-ui-ext 10.18.0-alpha.30 → 10.18.0-alpha.32

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 (99) hide show
  1. package/NOTICE +3 -3
  2. package/esm/index.d.ts +12 -2
  3. package/esm/index.d.ts.map +1 -1
  4. package/esm/index.js +10 -2
  5. package/esm/index.js.map +1 -1
  6. package/esm/notificationsPanel/@staging/OrganizationContext/OrganizationContext.d.ts +12 -0
  7. package/esm/notificationsPanel/@staging/OrganizationContext/OrganizationContext.d.ts.map +1 -1
  8. package/esm/notificationsPanel/@staging/OrganizationContext/OrganizationContext.js +10 -1
  9. package/esm/notificationsPanel/@staging/OrganizationContext/OrganizationContext.js.map +1 -1
  10. package/esm/notificationsPanel/@staging/OrganizationContext/useFetchOrganization.d.ts +6 -4
  11. package/esm/notificationsPanel/@staging/OrganizationContext/useFetchOrganization.d.ts.map +1 -1
  12. package/esm/notificationsPanel/@staging/OrganizationContext/useFetchOrganization.js +1 -1
  13. package/esm/notificationsPanel/@staging/OrganizationContext/useFetchOrganization.js.map +1 -1
  14. package/esm/notificationsPanel/Notification/AlertNotification.d.ts +2 -2
  15. package/esm/notificationsPanel/Notification/AlertNotification.d.ts.map +1 -1
  16. package/esm/notificationsPanel/Notification/AlertNotification.js +3 -3
  17. package/esm/notificationsPanel/Notification/AlertNotification.js.map +1 -1
  18. package/esm/notificationsPanel/Notification/DefaultNotification.d.ts +17 -4
  19. package/esm/notificationsPanel/Notification/DefaultNotification.d.ts.map +1 -1
  20. package/esm/notificationsPanel/Notification/DefaultNotification.js +6 -4
  21. package/esm/notificationsPanel/Notification/DefaultNotification.js.map +1 -1
  22. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetail.d.ts +4 -1
  23. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetail.d.ts.map +1 -1
  24. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetail.js +1 -1
  25. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetail.js.map +1 -1
  26. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetailDialog.d.ts +4 -1
  27. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetailDialog.d.ts.map +1 -1
  28. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetailDialog.js +1 -1
  29. package/esm/notificationsPanel/NotificationTriggersDetail/NotificationTriggersDetailDialog.js.map +1 -1
  30. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsList.d.ts +66 -4
  31. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsList.d.ts.map +1 -1
  32. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsList.js +17 -35
  33. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsList.js.map +1 -1
  34. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.d.ts +9 -2
  35. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.d.ts.map +1 -1
  36. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.js +4 -2
  37. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.js.map +1 -1
  38. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.d.ts +9 -2
  39. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.d.ts.map +1 -1
  40. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.js +4 -2
  41. package/esm/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.js.map +1 -1
  42. package/esm/notificationsPanel/NotificationsList/DefaultSkeletonItem.d.ts +19 -0
  43. package/esm/notificationsPanel/NotificationsList/DefaultSkeletonItem.d.ts.map +1 -0
  44. package/esm/notificationsPanel/NotificationsList/DefaultSkeletonItem.js +9 -0
  45. package/esm/notificationsPanel/NotificationsList/DefaultSkeletonItem.js.map +1 -0
  46. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.d.ts +95 -5
  47. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.d.ts.map +1 -1
  48. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.js +7 -5
  49. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.js.map +1 -1
  50. package/esm/notificationsPanel/NotificationsPanel/{DefaultOpenNotificationsPanelButton.d.ts → DefaultNotificationsPanelButton.d.ts} +8 -6
  51. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.d.ts.map +1 -0
  52. package/esm/notificationsPanel/NotificationsPanel/{DefaultOpenNotificationsPanelButton.js → DefaultNotificationsPanelButton.js} +4 -4
  53. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.js.map +1 -0
  54. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.d.ts +8 -4
  55. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.d.ts.map +1 -1
  56. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.js +6 -4
  57. package/esm/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.js.map +1 -1
  58. package/esm/notificationsPanel/NotificationsPanel/NotificationsPanel.d.ts +73 -13
  59. package/esm/notificationsPanel/NotificationsPanel/NotificationsPanel.d.ts.map +1 -1
  60. package/esm/notificationsPanel/NotificationsPanel/NotificationsPanel.js +21 -11
  61. package/esm/notificationsPanel/NotificationsPanel/NotificationsPanel.js.map +1 -1
  62. package/esm/notificationsPanel/bem.d.ts +5 -0
  63. package/esm/notificationsPanel/bem.d.ts.map +1 -1
  64. package/esm/notificationsPanel/bem.js +6 -1
  65. package/esm/notificationsPanel/bem.js.map +1 -1
  66. package/esm/notificationsPanel/data/NotificationsContext.d.ts +16 -1
  67. package/esm/notificationsPanel/data/NotificationsContext.d.ts.map +1 -1
  68. package/esm/notificationsPanel/data/NotificationsContext.js +9 -3
  69. package/esm/notificationsPanel/data/NotificationsContext.js.map +1 -1
  70. package/esm/notificationsPanel/data/useFetchNotifications.d.ts +10 -8
  71. package/esm/notificationsPanel/data/useFetchNotifications.d.ts.map +1 -1
  72. package/esm/notificationsPanel/data/useFetchNotifications.js +10 -7
  73. package/esm/notificationsPanel/data/useFetchNotifications.js.map +1 -1
  74. package/esm/notificationsPanel/data/useNotificationFiltersDetail.d.ts.map +1 -1
  75. package/esm/notificationsPanel/data/useNotificationFiltersDetail.js +7 -8
  76. package/esm/notificationsPanel/data/useNotificationFiltersDetail.js.map +1 -1
  77. package/esm/notificationsPanel/data/useNotifications.d.ts +23 -3
  78. package/esm/notificationsPanel/data/useNotifications.d.ts.map +1 -1
  79. package/esm/notificationsPanel/data/useNotifications.js +9 -5
  80. package/esm/notificationsPanel/data/useNotifications.js.map +1 -1
  81. package/esm/notificationsPanel/types.d.ts +3 -1
  82. package/esm/notificationsPanel/types.d.ts.map +1 -1
  83. package/esm/notificationsPanel/types.js +1 -1
  84. package/esm/notificationsPanel/types.js.map +1 -1
  85. package/esm/sdk-ui-ext.d.ts +395 -54
  86. package/package.json +18 -18
  87. package/src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.scss +4 -6
  88. package/src/notificationsPanel/NotificationsPanel/{DefaultOpenNotificationsPanelButton.scss → DefaultNotificationsPanelButton.scss} +2 -2
  89. package/src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.scss +3 -1
  90. package/src/notificationsPanel/notificationPanel.scss +8 -3
  91. package/styles/css/main.css +500 -36
  92. package/styles/css/main.css.map +1 -1
  93. package/esm/notificationsPanel/NotificationsPanel/DefaultOpenNotificationsPanelButton.d.ts.map +0 -1
  94. package/esm/notificationsPanel/NotificationsPanel/DefaultOpenNotificationsPanelButton.js.map +0 -1
  95. package/esm/notificationsPanel/components/VirtualList.d.ts +0 -15
  96. package/esm/notificationsPanel/components/VirtualList.d.ts.map +0 -1
  97. package/esm/notificationsPanel/components/VirtualList.js +0 -78
  98. package/esm/notificationsPanel/components/VirtualList.js.map +0 -1
  99. package/src/notificationsPanel/components/VirtualList.scss +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsList.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DefaultNotificationsList.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsList.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAOhC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC;AA8FlD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACrC,YAAY,EACZ,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,UAAU,EACV,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,aAAa,GAAG,CAAC,GACc;IAC/B,MAAM,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,IAAI,mBAAmB,EAAE,MAAM,KAAK,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEjF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IAEzC,OAAO,CACH,6BACI,SAAS,EAAE,CAAC,EAAE,EACd,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YACV,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;QAEA,OAAO,CAAC,CAAC,CAAC,oBAAC,2BAA2B,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI;QAC9D,OAAO,CAAC,CAAC,CAAC,oBAAC,2BAA2B,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC,CAAC,CAAC,IAAI;QACxE,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CACtB,oBAAC,kBAAkB,IACf,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,kBAAkB,CAAC,EACxF,YAAY,EAAE,wBAAwB,IAErC,CAAC,YAAY,EAAE,EAAE,CAAC,CACf,oBAAC,YAAY,IACT,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,CACgB,CACxB,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC"}
@@ -1,13 +1,20 @@
1
1
  import React from "react";
2
2
  import { INotificationsPanelView } from "../types.js";
3
3
  /**
4
- * @alpha
4
+ * Props for the NotificationsListEmptyState component.
5
+ *
6
+ * @public
5
7
  */
6
8
  export interface INotificationsListEmptyStateComponentProps {
9
+ /**
10
+ * Active view of the notifications list.
11
+ */
7
12
  activeView: INotificationsPanelView;
8
13
  }
9
14
  /**
10
- * @internal
15
+ * Default implementation of the NotificationsListEmptyState component.
16
+ *
17
+ * @public
11
18
  */
12
19
  export declare function DefaultNotificationsListEmptyState({ activeView, }: INotificationsListEmptyStateComponentProps): React.JSX.Element;
13
20
  //# sourceMappingURL=DefaultNotificationsListEmptyState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsListEmptyState.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACvD,UAAU,EAAE,uBAAuB,CAAC;CACvC;AAWD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EAC/C,UAAU,GACb,EAAE,0CAA0C,qBAS5C"}
1
+ {"version":3,"file":"DefaultNotificationsListEmptyState.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD;;;;GAIG;AACH,MAAM,WAAW,0CAA0C;IACvD;;OAEG;IACH,UAAU,EAAE,uBAAuB,CAAC;CACvC;AAWD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,EAC/C,UAAU,GACb,EAAE,0CAA0C,qBAS5C"}
@@ -1,4 +1,4 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { bem } from "../bem.js";
4
4
  import { defineMessages, useIntl } from "react-intl";
@@ -12,7 +12,9 @@ const messages = defineMessages({
12
12
  },
13
13
  });
14
14
  /**
15
- * @internal
15
+ * Default implementation of the NotificationsListEmptyState component.
16
+ *
17
+ * @public
16
18
  */
17
19
  export function DefaultNotificationsListEmptyState({ activeView, }) {
18
20
  const intl = useIntl();
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsListEmptyState.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAS9D,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,aAAa,EAAE;QACX,EAAE,EAAE,+BAA+B;KACtC;IACD,gBAAgB,EAAE;QACd,EAAE,EAAE,kCAAkC;KACzC;CACJ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,EAC/C,UAAU,GAC+B;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE,IACd,UAAU,KAAK,KAAK;QACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACjD,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DefaultNotificationsListEmptyState.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListEmptyState.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAc9D,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,aAAa,EAAE;QACX,EAAE,EAAE,+BAA+B;KACtC;IACD,gBAAgB,EAAE;QACd,EAAE,EAAE,kCAAkC;KACzC;CACJ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAAC,EAC/C,UAAU,GAC+B;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE,IACd,UAAU,KAAK,KAAK;QACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACjD,CACT,CAAC;AACN,CAAC"}
@@ -1,13 +1,20 @@
1
1
  import React from "react";
2
2
  import { GoodDataSdkError } from "@gooddata/sdk-ui";
3
3
  /**
4
- * @alpha
4
+ * Props for the NotificationsListErrorState component.
5
+ *
6
+ * @public
5
7
  */
6
8
  export interface INotificationsListErrorStateComponentProps {
9
+ /**
10
+ * Error to display.
11
+ */
7
12
  error?: GoodDataSdkError;
8
13
  }
9
14
  /**
10
- * @internal
15
+ * Default implementation of the NotificationsListErrorState component.
16
+ *
17
+ * @public
11
18
  */
12
19
  export declare function DefaultNotificationsListErrorState({ error }: INotificationsListErrorStateComponentProps): React.JSX.Element;
13
20
  //# sourceMappingURL=DefaultNotificationsListErrorState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsListErrorState.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKpD;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACvD,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAQD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EAAE,KAAK,EAAE,EAAE,0CAA0C,qBAKvG"}
1
+ {"version":3,"file":"DefaultNotificationsListErrorState.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKpD;;;;GAIG;AACH,MAAM,WAAW,0CAA0C;IACvD;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAQD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,EAAE,KAAK,EAAE,EAAE,0CAA0C,qBAKvG"}
@@ -1,4 +1,4 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { bem } from "../bem.js";
4
4
  import { defineMessages, useIntl } from "react-intl";
@@ -9,7 +9,9 @@ const messages = defineMessages({
9
9
  },
10
10
  });
11
11
  /**
12
- * @internal
12
+ * Default implementation of the NotificationsListErrorState component.
13
+ *
14
+ * @public
13
15
  */
14
16
  export function DefaultNotificationsListErrorState({ error }) {
15
17
  const intl = useIntl();
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsListErrorState.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAS9D,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,yBAAyB,EAAE;QACvB,EAAE,EAAE,mCAAmC;KAC1C;CACJ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,EAAE,KAAK,EAA8C;IACpG,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE,IAAG,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAO,CACxG,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DefaultNotificationsListErrorState.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultNotificationsListErrorState.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAc9D,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,yBAAyB,EAAE;QACvB,EAAE,EAAE,mCAAmC;KAC1C;CACJ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAAC,EAAE,KAAK,EAA8C;IACpG,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE,IAAG,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAO,CACxG,CAAC;AACN,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { UiSkeleton } from "@gooddata/sdk-ui-kit";
2
+ /**
3
+ * Props for the NotificationSkeletonItem component.
4
+ *
5
+ * @public
6
+ */
7
+ export interface INotificationSkeletonItemComponentProps {
8
+ /**
9
+ * Height of the skeleton item in pixels.
10
+ */
11
+ itemHeight: number;
12
+ }
13
+ /**
14
+ * Default implementation of the NotificationSkeletonItem component.
15
+ *
16
+ * @public
17
+ */
18
+ export declare const DefaultNotificationSkeletonItem: typeof UiSkeleton;
19
+ //# sourceMappingURL=DefaultSkeletonItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSkeletonItem.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultSkeletonItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,uCAAuC;IACpD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,mBAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ // (C) 2024-2025 GoodData Corporation
2
+ import { UiSkeleton } from "@gooddata/sdk-ui-kit";
3
+ /**
4
+ * Default implementation of the NotificationSkeletonItem component.
5
+ *
6
+ * @public
7
+ */
8
+ export const DefaultNotificationSkeletonItem = UiSkeleton;
9
+ //# sourceMappingURL=DefaultSkeletonItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSkeletonItem.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsList/DefaultSkeletonItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAclD;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAU,CAAC"}
@@ -1,38 +1,128 @@
1
1
  import React from "react";
2
2
  import { GoodDataSdkError, UseCancelablePromiseStatus } from "@gooddata/sdk-ui";
3
+ import { INotification } from "@gooddata/sdk-model";
3
4
  import { INotificationsPanelHeaderComponentProps } from "./DefaultNotificationsPanelHeader.js";
4
5
  import { INotificationsListComponentProps } from "../NotificationsList/DefaultNotificationsList.js";
5
- import { INotification } from "@gooddata/sdk-model";
6
- import { INotificationsPanelView } from "../types.js";
7
6
  import { INotificationsListEmptyStateComponentProps } from "../NotificationsList/DefaultNotificationsListEmptyState.js";
8
7
  import { INotificationsListErrorStateComponentProps } from "../NotificationsList/DefaultNotificationsListErrorState.js";
9
8
  import { INotificationComponentProps } from "../Notification/DefaultNotification.js";
9
+ import { INotificationSkeletonItemComponentProps } from "../NotificationsList/DefaultSkeletonItem.js";
10
+ import { INotificationsPanelView } from "../types.js";
10
11
  /**
11
- * @alpha
12
+ * NotificationsPanel component props.
13
+ *
14
+ * @public
12
15
  */
13
16
  export interface INotificationsPanelComponentProps {
17
+ /**
18
+ * Custom notifications panel header component.
19
+ */
14
20
  NotificationsPanelHeader: React.ComponentType<INotificationsPanelHeaderComponentProps>;
21
+ /**
22
+ * Custom notifications list component.
23
+ */
15
24
  NotificationsList: React.ComponentType<INotificationsListComponentProps>;
25
+ /**
26
+ * Custom notifications list empty state component.
27
+ */
16
28
  NotificationsListEmptyState: React.ComponentType<INotificationsListEmptyStateComponentProps>;
29
+ /**
30
+ * Custom notifications list error state component.
31
+ */
17
32
  NotificationsListErrorState: React.ComponentType<INotificationsListErrorStateComponentProps>;
33
+ /**
34
+ * Custom notification component.
35
+ */
18
36
  Notification: React.ComponentType<INotificationComponentProps>;
37
+ /**
38
+ * Custom notification skeleton item component.
39
+ */
40
+ NotificationSkeletonItem: React.ComponentType<INotificationSkeletonItemComponentProps>;
41
+ /**
42
+ * The callback to toggle the notifications panel.
43
+ */
19
44
  toggleNotificationsPanel: () => void;
45
+ /**
46
+ * The callback to open the notifications panel.
47
+ */
20
48
  openNotificationsPanel: () => void;
49
+ /**
50
+ * The callback to close the notifications panel.
51
+ */
21
52
  closeNotificationsPanel: () => void;
53
+ /**
54
+ * The currently active view of the notifications panel.
55
+ */
22
56
  activeView: INotificationsPanelView;
57
+ /**
58
+ * The callback to change the active view of the notifications panel.
59
+ */
23
60
  changeActiveView: (view: INotificationsPanelView) => void;
61
+ /**
62
+ * The callback to mark a notification as read.
63
+ */
24
64
  markNotificationAsRead: (notificationId: string) => Promise<void>;
65
+ /**
66
+ * The callback to mark all notifications as read.
67
+ */
25
68
  markAllNotificationsAsRead: () => Promise<void>;
69
+ /**
70
+ * The number of unread notifications.
71
+ */
26
72
  unreadNotificationsCount: number;
73
+ /**
74
+ * Indicates if there are unread notifications.
75
+ */
76
+ hasUnreadNotifications: boolean;
77
+ /**
78
+ * Loaded notifications, relevant for the currently active view.
79
+ */
27
80
  activeNotifications: INotification[];
81
+ /**
82
+ * The callback to handle a notification click.
83
+ */
28
84
  onNotificationClick: (notification: INotification) => void;
85
+ /**
86
+ * The status of the notifications loading.
87
+ */
29
88
  status: UseCancelablePromiseStatus;
89
+ /**
90
+ * The error that occurred while loading notifications.
91
+ */
30
92
  error?: GoodDataSdkError;
93
+ /**
94
+ * The callback to load the next page of notifications.
95
+ */
31
96
  loadNextPage: () => void;
97
+ /**
98
+ * Indicates if there is a next page of notifications.
99
+ */
32
100
  hasNextPage: boolean;
101
+ /**
102
+ * The height of the notification item in pixels.
103
+ */
104
+ itemHeight: number;
105
+ /**
106
+ * Gap between notification items in pixels.
107
+ */
108
+ itemsGap: number;
109
+ /**
110
+ * Padding of the notification item (from left/right) in pixels.
111
+ */
112
+ itemPadding: number;
113
+ /**
114
+ * Number of skeleton items to render when loading notifications.
115
+ */
116
+ skeletonItemsCount: number;
117
+ /**
118
+ * Maximum height of the notifications list in pixels.
119
+ */
120
+ maxListHeight?: number;
33
121
  }
34
122
  /**
35
- * @internal
123
+ * Default implementation of the NotificationsPanel component.
124
+ *
125
+ * @public
36
126
  */
37
- export declare function DefaultNotificationsPanel({ NotificationsPanelHeader, NotificationsList, NotificationsListEmptyState, NotificationsListErrorState, Notification, activeView, changeActiveView, markNotificationAsRead, markAllNotificationsAsRead, unreadNotificationsCount, activeNotifications, onNotificationClick, status, error, loadNextPage, hasNextPage, }: INotificationsPanelComponentProps): React.JSX.Element;
127
+ export declare function DefaultNotificationsPanel({ NotificationsPanelHeader, NotificationsList, NotificationsListEmptyState, NotificationsListErrorState, Notification, NotificationSkeletonItem, activeView, changeActiveView, markNotificationAsRead, markAllNotificationsAsRead, unreadNotificationsCount, hasUnreadNotifications, activeNotifications, onNotificationClick, status, error, loadNextPage, hasNextPage, itemHeight, itemsGap, itemPadding, skeletonItemsCount, maxListHeight, }: INotificationsPanelComponentProps): React.JSX.Element;
38
128
  //# sourceMappingURL=DefaultNotificationsPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsPanel.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAE/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,0CAA0C,EAAE,MAAM,4DAA4D,CAAC;AACxH,OAAO,EAAE,0CAA0C,EAAE,MAAM,4DAA4D,CAAC;AACxH,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAIrF;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,wBAAwB,EAAE,KAAK,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IACvF,iBAAiB,EAAE,KAAK,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;IACzE,2BAA2B,EAAE,KAAK,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC7F,2BAA2B,EAAE,KAAK,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC7F,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAE/D,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IAEpC,UAAU,EAAE,uBAAuB,CAAC;IACpC,gBAAgB,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAE1D,sBAAsB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,EAAE,aAAa,EAAE,CAAC;IACrC,mBAAmB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;IAE3D,MAAM,EAAE,0BAA0B,CAAC;IACnC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACtC,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,YAAY,EAEZ,UAAU,EACV,gBAAgB,EAEhB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EAEnB,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,GACd,EAAE,iCAAiC,qBAyBnC"}
1
+ {"version":3,"file":"DefaultNotificationsPanel.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { bem } from "../bem.js";
4
4
  const { b } = bem("gd-ui-ext-notifications-panel");
5
5
  /**
6
- * @internal
6
+ * Default implementation of the NotificationsPanel component.
7
+ *
8
+ * @public
7
9
  */
8
- export function DefaultNotificationsPanel({ NotificationsPanelHeader, NotificationsList, NotificationsListEmptyState, NotificationsListErrorState, Notification, activeView, changeActiveView, markNotificationAsRead, markAllNotificationsAsRead, unreadNotificationsCount, activeNotifications, onNotificationClick, status, error, loadNextPage, hasNextPage, }) {
10
+ export function DefaultNotificationsPanel({ NotificationsPanelHeader, NotificationsList, NotificationsListEmptyState, NotificationsListErrorState, Notification, NotificationSkeletonItem, activeView, changeActiveView, markNotificationAsRead, markAllNotificationsAsRead, unreadNotificationsCount, hasUnreadNotifications, activeNotifications, onNotificationClick, status, error, loadNextPage, hasNextPage, itemHeight, itemsGap, itemPadding, skeletonItemsCount, maxListHeight, }) {
9
11
  return (React.createElement("div", { className: b() },
10
- React.createElement(NotificationsPanelHeader, { activeView: activeView, changeActiveView: changeActiveView, markAllAsRead: markAllNotificationsAsRead, hasUnreadNotifications: unreadNotificationsCount > 0, unreadNotificationsCount: unreadNotificationsCount }),
11
- React.createElement(NotificationsList, { NotificationsListEmptyState: NotificationsListEmptyState, NotificationsListErrorState: NotificationsListErrorState, Notification: Notification, activeView: activeView, onNotificationClick: onNotificationClick, notifications: activeNotifications, markNotificationAsRead: markNotificationAsRead, status: status, error: error, loadNextPage: loadNextPage, hasNextPage: hasNextPage })));
12
+ React.createElement(NotificationsPanelHeader, { activeView: activeView, changeActiveView: changeActiveView, markAllNotificationsAsRead: markAllNotificationsAsRead, hasUnreadNotifications: hasUnreadNotifications, unreadNotificationsCount: unreadNotificationsCount }),
13
+ React.createElement(NotificationsList, { NotificationsListEmptyState: NotificationsListEmptyState, NotificationsListErrorState: NotificationsListErrorState, Notification: Notification, NotificationSkeletonItem: NotificationSkeletonItem, activeView: activeView, onNotificationClick: onNotificationClick, activeNotifications: activeNotifications, markNotificationAsRead: markNotificationAsRead, status: status, error: error, loadNextPage: loadNextPage, hasNextPage: hasNextPage, itemHeight: itemHeight, itemsGap: itemsGap, itemPadding: itemPadding, skeletonItemsCount: skeletonItemsCount, maxListHeight: maxListHeight })));
12
14
  }
13
15
  //# sourceMappingURL=DefaultNotificationsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsPanel.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAQhC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC;AA+BnD;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACtC,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,YAAY,EAEZ,UAAU,EACV,gBAAgB,EAEhB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EAEnB,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,GACqB;IAChC,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE;QACf,oBAAC,wBAAwB,IACrB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,0BAA0B,EACzC,sBAAsB,EAAE,wBAAwB,GAAG,CAAC,EACpD,wBAAwB,EAAE,wBAAwB,GACpD;QACF,oBAAC,iBAAiB,IACd,2BAA2B,EAAE,2BAA2B,EACxD,2BAA2B,EAAE,2BAA2B,EACxD,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,mBAAmB,EAClC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,GAC1B,CACA,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DefaultNotificationsPanel.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanel.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC;AA2InD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACtC,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,YAAY,EACZ,wBAAwB,EAExB,UAAU,EACV,gBAAgB,EAEhB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EAEnB,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,EAEX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,aAAa,GACmB;IAChC,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE;QACf,oBAAC,wBAAwB,IACrB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,0BAA0B,EAAE,0BAA0B,EACtD,sBAAsB,EAAE,sBAAsB,EAC9C,wBAAwB,EAAE,wBAAwB,GACpD;QACF,oBAAC,iBAAiB,IACd,2BAA2B,EAAE,2BAA2B,EACxD,2BAA2B,EAAE,2BAA2B,EACxD,YAAY,EAAE,YAAY,EAC1B,wBAAwB,EAAE,wBAAwB,EAClD,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,GAC9B,CACA,CACT,CAAC;AACN,CAAC"}
@@ -1,12 +1,14 @@
1
- import React, { RefObject } from "react";
1
+ import React from "react";
2
2
  /**
3
- * @alpha
3
+ * OpenNotificationsPanelButton component props.
4
+ *
5
+ * @public
4
6
  */
5
- export interface IOpenNotificationsPanelButtonComponentProps {
7
+ export interface INotificationsPanelButtonComponentProps {
6
8
  /**
7
9
  * Ref to the button element - is required for proper alignment of the notification panel.
8
10
  */
9
- buttonRef: RefObject<HTMLElement | null>;
11
+ buttonRef: React.RefObject<HTMLButtonElement>;
10
12
  /**
11
13
  * Opens the notification panel.
12
14
  */
@@ -31,5 +33,5 @@ export interface IOpenNotificationsPanelButtonComponentProps {
31
33
  /**
32
34
  * @internal
33
35
  */
34
- export declare function DefaultOpenNotificationsPanelButton({ buttonRef, isNotificationPanelOpen, toggleNotificationPanel, hasUnreadNotifications, }: IOpenNotificationsPanelButtonComponentProps): React.JSX.Element;
35
- //# sourceMappingURL=DefaultOpenNotificationsPanelButton.d.ts.map
36
+ export declare function DefaultNotificationsPanelButton({ buttonRef, isNotificationPanelOpen, toggleNotificationPanel, hasUnreadNotifications, }: INotificationsPanelButtonComponentProps): React.JSX.Element;
37
+ //# sourceMappingURL=DefaultNotificationsPanelButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultNotificationsPanelButton.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B;;;;GAIG;AACH,MAAM,WAAW,uCAAuC;IACpD;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAE9C;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAElC;;OAEG;IACH,sBAAsB,EAAE,MAAM,IAAI,CAAC;IAEnC;;OAEG;IACH,uBAAuB,EAAE,MAAM,IAAI,CAAC;IAEpC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACzB,EAAE,uCAAuC,qBAazC"}
@@ -1,16 +1,16 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import cx from "classnames";
4
4
  import { UiIcon } from "@gooddata/sdk-ui-kit";
5
5
  import { bem } from "../bem.js";
6
- const { b, e } = bem("gd-ui-ext-open-notifications-button");
6
+ const { b, e } = bem("gd-ui-ext-notifications-panel-button");
7
7
  /**
8
8
  * @internal
9
9
  */
10
- export function DefaultOpenNotificationsPanelButton({ buttonRef, isNotificationPanelOpen, toggleNotificationPanel, hasUnreadNotifications, }) {
10
+ export function DefaultNotificationsPanelButton({ buttonRef, isNotificationPanelOpen, toggleNotificationPanel, hasUnreadNotifications, }) {
11
11
  return (React.createElement("button", { ref: buttonRef, className: cx(`gd-button gd-header-button ${b({ isOpen: isNotificationPanelOpen })}`), onClick: toggleNotificationPanel },
12
12
  React.createElement("span", { className: e("icon") },
13
13
  hasUnreadNotifications ? React.createElement("span", { className: e("unread-status") }) : null,
14
14
  React.createElement(UiIcon, { type: "alert", size: 14, color: "complementary-0" }))));
15
15
  }
16
- //# sourceMappingURL=DefaultOpenNotificationsPanelButton.js.map
16
+ //# sourceMappingURL=DefaultNotificationsPanelButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultNotificationsPanelButton.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAuC7D;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAC5C,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACgB;IACtC,OAAO,CACH,gCACI,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC,EACrF,OAAO,EAAE,uBAAuB;QAEhC,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,sBAAsB,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI;YACxE,oBAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CACtD,CACF,CACZ,CAAC;AACN,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
2
  import { INotificationsPanelView } from "../types.js";
3
3
  /**
4
- * @alpha
4
+ * Props for the NotificationsPanelHeader component.
5
+ *
6
+ * @public
5
7
  */
6
8
  export interface INotificationsPanelHeaderComponentProps {
7
9
  /**
@@ -23,10 +25,12 @@ export interface INotificationsPanelHeaderComponentProps {
23
25
  /**
24
26
  * The callback to mark all notifications as read.
25
27
  */
26
- markAllAsRead: () => void;
28
+ markAllNotificationsAsRead: () => void;
27
29
  }
28
30
  /**
29
- * @internal
31
+ * Default implementation of the notifications panel header.
32
+ *
33
+ * @public
30
34
  */
31
- export declare function DefaultNotificationsPanelHeader({ activeView, changeActiveView, markAllAsRead, hasUnreadNotifications, unreadNotificationsCount, }: INotificationsPanelHeaderComponentProps): React.JSX.Element;
35
+ export declare function DefaultNotificationsPanelHeader({ activeView, changeActiveView, markAllNotificationsAsRead, hasUnreadNotifications, unreadNotificationsCount, }: INotificationsPanelHeaderComponentProps): React.JSX.Element;
32
36
  //# sourceMappingURL=DefaultNotificationsPanelHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsPanelHeader.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACpD;;OAEG;IACH,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;OAEG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAE1D;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;CAC7B;AAID;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,wBAAwB,GAC3B,EAAE,uCAAuC,qBA8BzC"}
1
+ {"version":3,"file":"DefaultNotificationsPanelHeader.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD;;;;GAIG;AACH,MAAM,WAAW,uCAAuC;IACpD;;OAEG;IACH,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;OAEG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAE1D;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,0BAA0B,EAAE,MAAM,IAAI,CAAC;CAC1C;AAID;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,UAAU,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,GAC3B,EAAE,uCAAuC,qBA8BzC"}
@@ -1,13 +1,15 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React, { useCallback, useMemo } from "react";
3
3
  import { Tabs, UiButton } from "@gooddata/sdk-ui-kit";
4
4
  import { bem } from "../bem.js";
5
5
  import { defineMessages, useIntl } from "react-intl";
6
6
  const { b, e } = bem("gd-ui-ext-notifications-panel-header");
7
7
  /**
8
- * @internal
8
+ * Default implementation of the notifications panel header.
9
+ *
10
+ * @public
9
11
  */
10
- export function DefaultNotificationsPanelHeader({ activeView, changeActiveView, markAllAsRead, hasUnreadNotifications, unreadNotificationsCount, }) {
12
+ export function DefaultNotificationsPanelHeader({ activeView, changeActiveView, markAllNotificationsAsRead, hasUnreadNotifications, unreadNotificationsCount, }) {
11
13
  const intl = useIntl();
12
14
  const tabs = useMemo(() => getTabs(unreadNotificationsCount), [unreadNotificationsCount]);
13
15
  const activeTabId = activeView === "unread" ? messages.tabUnread.id : messages.tabAll.id;
@@ -19,7 +21,7 @@ export function DefaultNotificationsPanelHeader({ activeView, changeActiveView,
19
21
  React.createElement("div", { className: e("tabs") },
20
22
  React.createElement(Tabs, { tabs: tabs, selectedTabId: activeTabId, onTabSelect: onTabSelect })),
21
23
  React.createElement("div", { className: e("mark-all-as-read-button") },
22
- React.createElement(UiButton, { variant: "popout", size: "small", label: intl.formatMessage(messages.markAllAsRead), onClick: markAllAsRead, isDisabled: !hasUnreadNotifications }))));
24
+ React.createElement(UiButton, { variant: "popout", size: "small", label: intl.formatMessage(messages.markAllAsRead), onClick: markAllNotificationsAsRead, isDisabled: !hasUnreadNotifications }))));
23
25
  }
24
26
  function getTabs(unreadNotificationsCount = 0) {
25
27
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultNotificationsPanelHeader.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgCrD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAC5C,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,wBAAwB,GACc;IACtC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE1F,MAAM,WAAW,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAEzF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,GAAS,EAAE,EAAE;QACV,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE;QACf,6BAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAI,CACxE;QACN,6BAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC;YACxC,oBAAC,QAAQ,IACL,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EACjD,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,CAAC,sBAAsB,GACrC,CACA,CACJ,CACT,CAAC;AACN,CAAC;AAED,SAAS,OAAO,CAAC,2BAAmC,CAAC;IACjD,OAAO;QACH,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE;QAC1E,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE;KAC7B,CAAC;AACN,CAAC;AAED,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,SAAS,EAAE;QACP,EAAE,EAAE,gCAAgC;KACvC;IACD,MAAM,EAAE;QACJ,EAAE,EAAE,6BAA6B;KACpC;IACD,aAAa,EAAE;QACX,EAAE,EAAE,mCAAmC;KAC1C;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"DefaultNotificationsPanelHeader.js","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/DefaultNotificationsPanelHeader.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkCrD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAC5C,UAAU,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,GACc;IACtC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE1F,MAAM,WAAW,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAEzF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,GAAS,EAAE,EAAE;QACV,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE;QACf,6BAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAI,CACxE;QACN,6BAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC;YACxC,oBAAC,QAAQ,IACL,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EACjD,OAAO,EAAE,0BAA0B,EACnC,UAAU,EAAE,CAAC,sBAAsB,GACrC,CACA,CACJ,CACT,CAAC;AACN,CAAC;AAED,SAAS,OAAO,CAAC,2BAAmC,CAAC;IACjD,OAAO;QACH,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE;QAC1E,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE;KAC7B,CAAC;AACN,CAAC;AAED,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,SAAS,EAAE;QACP,EAAE,EAAE,gCAAgC;KACvC;IACD,MAAM,EAAE;QACJ,EAAE,EAAE,6BAA6B;KACpC;IACD,aAAa,EAAE;QACX,EAAE,EAAE,mCAAmC;KAC1C;CACJ,CAAC,CAAC"}
@@ -3,20 +3,23 @@ import React from "react";
3
3
  import { ILocale } from "@gooddata/sdk-ui";
4
4
  import { INotification } from "@gooddata/sdk-model";
5
5
  import { INotificationsPanelHeaderComponentProps } from "./DefaultNotificationsPanelHeader.js";
6
- import { IOpenNotificationsPanelButtonComponentProps } from "./DefaultOpenNotificationsPanelButton.js";
6
+ import { INotificationsPanelButtonComponentProps } from "./DefaultNotificationsPanelButton.js";
7
7
  import { INotificationsPanelComponentProps } from "./DefaultNotificationsPanel.js";
8
8
  import { INotificationsListComponentProps } from "../NotificationsList/DefaultNotificationsList.js";
9
9
  import { INotificationsListEmptyStateComponentProps } from "../NotificationsList/DefaultNotificationsListEmptyState.js";
10
10
  import { INotificationsListErrorStateComponentProps } from "../NotificationsList/DefaultNotificationsListErrorState.js";
11
11
  import { INotificationComponentProps } from "../Notification/DefaultNotification.js";
12
+ import { INotificationSkeletonItemComponentProps } from "../NotificationsList/DefaultSkeletonItem.js";
12
13
  /**
13
- * @alpha
14
+ * @public
14
15
  */
15
16
  export interface INotificationsPanelCustomComponentsProps {
16
17
  /**
17
18
  * Custom open notifications panel button component.
19
+ *
20
+ * - Required if renderInline is not enabled.
18
21
  */
19
- OpenNotificationsPanelButton: React.ComponentType<IOpenNotificationsPanelButtonComponentProps>;
22
+ NotificationsPanelButton?: React.ComponentType<INotificationsPanelButtonComponentProps>;
20
23
  /**
21
24
  * Custom notifications panel component.
22
25
  */
@@ -41,40 +44,97 @@ export interface INotificationsPanelCustomComponentsProps {
41
44
  * Custom notification component.
42
45
  */
43
46
  Notification?: React.ComponentType<INotificationComponentProps>;
47
+ /**
48
+ * Custom notification skeleton item component.
49
+ */
50
+ NotificationSkeletonItem?: React.ComponentType<INotificationSkeletonItemComponentProps>;
44
51
  }
45
52
  /**
46
- * @alpha
53
+ * @public
47
54
  */
48
55
  export interface INotificationsPanelProps extends INotificationsPanelCustomComponentsProps {
56
+ /**
57
+ * Locale to use.
58
+ */
59
+ locale?: ILocale;
49
60
  /**
50
61
  * Backend to use.
62
+ *
63
+ * - If not defined, the backend from the BackendProvider context will be used.
51
64
  */
52
65
  backend?: IAnalyticalBackend;
53
66
  /**
54
67
  * Workspace ID to use.
68
+ *
69
+ * - If not defined, the workspace ID from the WorkspaceProvider context will be used.
70
+ * - If workspace is not defined and there is no WorkspaceProvider, notifications will be loaded from all workspaces.
55
71
  */
56
72
  workspace?: string;
73
+ /**
74
+ * Enable inline rendering of the notifications panel
75
+ *
76
+ * - Default: false
77
+ * - If enabled, NotificationsPanelButton won't be rendered, and NotificationsPanel won't be rendered inside modal
78
+ * - This is useful when you want to render notifications panel in a custom modal.
79
+ */
80
+ renderInline?: boolean;
57
81
  /**
58
82
  * Refresh interval in milliseconds.
59
- * Default is 10 minutes.
60
- * If set to 0, notifications will not be refreshed automatically.
83
+ *
84
+ * - Default: 600000 (10 minutes)
85
+ * - If set to 0, notifications won't be refreshed automatically.
61
86
  */
62
87
  refreshInterval?: number;
63
88
  /**
64
- * Locale to use.
89
+ * Number of notifications to load per page.
90
+ *
91
+ * - Default: 50
65
92
  */
66
- locale?: ILocale;
93
+ itemsPerPage?: number;
67
94
  /**
68
- * Render notifications panel inline (without button + clicking on it).
95
+ * Number of skeleton items to render when loading notifications.
96
+ *
97
+ * - Default: 5
69
98
  */
70
- renderInline?: boolean;
99
+ skeletonItemsCount?: number;
100
+ /**
101
+ * Height of the item in notifications list in pixels.
102
+ *
103
+ * - Default: 52
104
+ */
105
+ itemHeight?: number;
106
+ /**
107
+ * Optionally override max width of the notifications panel.
108
+ *
109
+ * - Does not have effect when renderInline is true - inline rendering always fills the parent container.
110
+ */
111
+ maxWidth?: number | string;
112
+ /**
113
+ * Maximum height of the notifications list in pixels.
114
+ *
115
+ * - Default: 527
116
+ * - Does not have effect when renderInline is true - inline rendering always fills the parent container.
117
+ */
118
+ maxListHeight?: number;
119
+ /**
120
+ * Gap between notification items in the list in pixels.
121
+ *
122
+ * - Default: 10
123
+ */
124
+ itemsGap?: number;
125
+ /**
126
+ * Padding of the notification item (from left and right) in pixels.
127
+ *
128
+ * - Default: 15
129
+ */
130
+ itemPadding?: number;
71
131
  /**
72
- * Handler for notification click.
132
+ * Callback for notification click.
73
133
  */
74
- onNotificationClick: (notification: INotification) => void;
134
+ onNotificationClick?: (notification: INotification) => void;
75
135
  }
76
136
  /**
77
- * @alpha
137
+ * @public
78
138
  */
79
139
  export declare function NotificationsPanel(props: INotificationsPanelProps): React.JSX.Element;
80
140
  //# sourceMappingURL=NotificationsPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPanel.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/NotificationsPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAe,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKjE,OAAO,EACH,uCAAuC,EAE1C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,2CAA2C,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,EAA6B,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAE9G,OAAO,EAEH,gCAAgC,EACnC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAEH,0CAA0C,EAC7C,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAEH,0CAA0C,EAC7C,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAuB,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAM1G;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACrD;;OAEG;IACH,4BAA4B,EAAE,KAAK,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;IAE/F;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;IAE5E;;OAEG;IACH,wBAAwB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAExF;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAE1E;;OAEG;IACH,2BAA2B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAE9F;;OAEG;IACH,2BAA2B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC9F;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wCAAwC;IACtF;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,mBAAmB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9D;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,qBAYjE"}
1
+ {"version":3,"file":"NotificationsPanel.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationsPanel/NotificationsPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAe,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOjE,OAAO,EACH,uCAAuC,EAE1C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAC/F,OAAO,EAA6B,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EAEH,gCAAgC,EACnC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAEH,0CAA0C,EAC7C,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAEH,0CAA0C,EAC7C,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAuB,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1G,OAAO,EAEH,uCAAuC,EAC1C,MAAM,6CAA6C,CAAC;AASrD;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACrD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAExF;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;IAE5E;;OAEG;IACH,wBAAwB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAExF;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAE1E;;OAEG;IACH,2BAA2B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAE9F;;OAEG;IACH,2BAA2B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAE9F;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAEhE;;OAEG;IACH,wBAAwB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;CAC3F;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wCAAwC;IACtF;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,qBAiBjE"}