@stack-spot/portal-components 2.26.0 → 2.27.0

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 (237) hide show
  1. package/CHANGELOG.md +621 -614
  2. package/dist/components/AnimatedHeight.d.ts +1 -1
  3. package/dist/components/AnimatedHeight.js +26 -26
  4. package/dist/components/AsyncContent.d.ts +1 -1
  5. package/dist/components/AsyncContent.js +1 -1
  6. package/dist/components/BannerWarning.d.ts +1 -1
  7. package/dist/components/BannerWarning.js +1 -1
  8. package/dist/components/Breadcrumb/index.d.ts +2 -2
  9. package/dist/components/Breadcrumb/index.js +1 -1
  10. package/dist/components/Breadcrumb/styled.js +31 -31
  11. package/dist/components/ButtonLoading.d.ts +1 -1
  12. package/dist/components/ButtonLoading.js +1 -1
  13. package/dist/components/ChatBot.d.ts +1 -1
  14. package/dist/components/ChatBot.js +1 -1
  15. package/dist/components/ContentValidateFilter.d.ts +1 -1
  16. package/dist/components/ContentValidateFilter.js +1 -1
  17. package/dist/components/FadingOverflow.d.ts +1 -1
  18. package/dist/components/FadingOverflow.js +69 -69
  19. package/dist/components/FileTreeView/More.d.ts +1 -1
  20. package/dist/components/FileTreeView/More.js +1 -1
  21. package/dist/components/FileTreeView/index.d.ts +1 -1
  22. package/dist/components/FileTreeView/index.js +1 -1
  23. package/dist/components/InfiniteScroll.d.ts +1 -1
  24. package/dist/components/InfiniteScroll.js +1 -1
  25. package/dist/components/InfoMaintenanceBanner.d.ts +1 -1
  26. package/dist/components/InfoMaintenanceBanner.js +2 -2
  27. package/dist/components/LazyMarkdown/BlockquoteMd.d.ts +1 -1
  28. package/dist/components/LazyMarkdown/BlockquoteMd.js +1 -1
  29. package/dist/components/LazyMarkdown/CodeViewer.d.ts +1 -1
  30. package/dist/components/LazyMarkdown/CodeViewer.js +76 -76
  31. package/dist/components/LazyMarkdown/Markdown.d.ts +1 -1
  32. package/dist/components/LazyMarkdown/Markdown.js +1 -1
  33. package/dist/components/LazyMarkdown/MarkdownButton.d.ts +1 -1
  34. package/dist/components/LazyMarkdown/MarkdownButton.js +1 -1
  35. package/dist/components/LazyMarkdown/Video.d.ts +1 -1
  36. package/dist/components/LazyMarkdown/Video.js +1 -1
  37. package/dist/components/LazyMarkdown/index.d.ts +1 -1
  38. package/dist/components/LazyMarkdown/index.js +1 -1
  39. package/dist/components/Placeholder.d.ts +3 -3
  40. package/dist/components/Placeholder.js +1 -1
  41. package/dist/components/ScrollView.js +16 -16
  42. package/dist/components/Select/BadgeItem.d.ts +1 -1
  43. package/dist/components/Select/BadgeItem.js +1 -1
  44. package/dist/components/Select/ClearInput.d.ts +1 -1
  45. package/dist/components/Select/ClearInput.js +1 -1
  46. package/dist/components/Select/CloseItem.d.ts +1 -1
  47. package/dist/components/Select/CloseItem.js +1 -1
  48. package/dist/components/Select/CreatableSelect.js +1 -1
  49. package/dist/components/Select/CustomMenu.d.ts +1 -1
  50. package/dist/components/Select/CustomMenu.js +1 -1
  51. package/dist/components/Select/LabelItem.d.ts +1 -1
  52. package/dist/components/Select/LabelItem.js +1 -1
  53. package/dist/components/Select/MultiValue.d.ts +1 -1
  54. package/dist/components/Select/MultiValue.js +1 -1
  55. package/dist/components/Select/SelectInfiniteScroll.d.ts +1 -1
  56. package/dist/components/Select/SelectInfiniteScroll.js +1 -1
  57. package/dist/components/Select/SelectSearch.d.ts +1 -1
  58. package/dist/components/Select/SelectSearch.js +1 -1
  59. package/dist/components/SelectionList.d.ts +1 -1
  60. package/dist/components/SelectionList.js +61 -61
  61. package/dist/components/StatusCircle.d.ts +1 -1
  62. package/dist/components/StatusCircle.js +6 -6
  63. package/dist/components/Stepper/Navigation.js +4 -4
  64. package/dist/components/Stepper/Step.js +3 -3
  65. package/dist/components/Stepper/Stepper.js +6 -6
  66. package/dist/components/Stepper/headers.js +22 -22
  67. package/dist/components/Table/HeaderItem.js +1 -1
  68. package/dist/components/Table/SettingsVerticalMenu.d.ts +1 -1
  69. package/dist/components/Table/SettingsVerticalMenu.js +1 -1
  70. package/dist/components/Table/StyledLinkTable.d.ts +1 -1
  71. package/dist/components/Table/StyledLinkTable.js +5 -5
  72. package/dist/components/Table/TableData.d.ts +1 -1
  73. package/dist/components/Table/TableData.js +25 -25
  74. package/dist/components/TimelineSection.d.ts +1 -1
  75. package/dist/components/TimelineSection.js +14 -14
  76. package/dist/components/error/ErrorFeedback.d.ts +1 -1
  77. package/dist/components/error/ErrorFeedback.js +35 -35
  78. package/dist/components/error/NotFound.d.ts +1 -1
  79. package/dist/components/error/NotFound.js +1 -1
  80. package/dist/components/error/UnderMaintenance.d.ts +1 -1
  81. package/dist/components/error/UnderMaintenance.js +1 -1
  82. package/dist/components/form/Form/Form.d.ts +1 -1
  83. package/dist/components/form/Form/Form.js +1 -1
  84. package/dist/components/form/Form/FormGroup.d.ts +2 -2
  85. package/dist/components/form/Form/FormGroup.js +1 -1
  86. package/dist/components/form/SearchInput.d.ts +1 -1
  87. package/dist/components/form/SearchInput.js +1 -1
  88. package/dist/components/form/Select/CustomSelect.d.ts +1 -1
  89. package/dist/components/form/Select/CustomSelect.js +1 -1
  90. package/dist/components/form/Select/DetailedSelect.d.ts +1 -1
  91. package/dist/components/form/Select/DetailedSelect.js +1 -1
  92. package/dist/components/form/Select/Select.d.ts +1 -1
  93. package/dist/components/form/Select/Select.js +1 -1
  94. package/dist/components/form/Select/styled.js +161 -161
  95. package/dist/components/form/Select/utils.js +1 -1
  96. package/dist/components/notification/NotificationComponent.d.ts +1 -1
  97. package/dist/components/notification/NotificationComponent.js +54 -54
  98. package/dist/components/notification/NotificationItem.d.ts +1 -1
  99. package/dist/components/notification/NotificationItem.js +1 -1
  100. package/dist/components/notification/NotificationList.d.ts +1 -1
  101. package/dist/components/notification/NotificationList.js +43 -43
  102. package/dist/components/notification/NotificationPlaceholder.d.ts +1 -1
  103. package/dist/components/notification/NotificationPlaceholder.js +9 -9
  104. package/dist/components/notification/NotificationPlaceholder.js.map +1 -1
  105. package/dist/containers/NotificationsPage.d.ts +1 -1
  106. package/dist/containers/NotificationsPage.js +10 -10
  107. package/dist/context/anchor.d.ts +1 -1
  108. package/dist/context/anchor.js +1 -1
  109. package/dist/context/loading.d.ts +1 -1
  110. package/dist/context/loading.js +1 -1
  111. package/dist/context/notification/context.d.ts +1 -1
  112. package/dist/context/notification/context.js +1 -1
  113. package/dist/hooks/date.js +1 -1
  114. package/dist/hooks/service-now.js +28 -28
  115. package/dist/svg/AI.d.ts +1 -1
  116. package/dist/svg/AI.js +1 -1
  117. package/dist/svg/CS.d.ts +1 -1
  118. package/dist/svg/CS.js +1 -1
  119. package/dist/svg/EDP.d.ts +1 -1
  120. package/dist/svg/EDP.js +1 -1
  121. package/dist/svg/Forbidden.d.ts +1 -1
  122. package/dist/svg/Forbidden.js +1 -1
  123. package/dist/svg/GenericPlaceholder.d.ts +1 -1
  124. package/dist/svg/GenericPlaceholder.js +1 -1
  125. package/dist/svg/HUB.d.ts +1 -1
  126. package/dist/svg/HUB.js +1 -1
  127. package/dist/svg/Logo.d.ts +1 -1
  128. package/dist/svg/Logo.js +1 -1
  129. package/dist/svg/MiniLogo.d.ts +1 -1
  130. package/dist/svg/MiniLogo.js +1 -1
  131. package/dist/svg/NotFound.d.ts +1 -1
  132. package/dist/svg/NotFound.js +1 -1
  133. package/dist/svg/ServerError.d.ts +1 -1
  134. package/dist/svg/ServerError.js +1 -1
  135. package/dist/svg/Unauthenticated.d.ts +1 -1
  136. package/dist/svg/Unauthenticated.js +1 -1
  137. package/package.json +6 -6
  138. package/readme.md +66 -66
  139. package/src/components/AnimatedHeight.tsx +174 -174
  140. package/src/components/AsyncContent.tsx +78 -78
  141. package/src/components/BannerWarning.tsx +91 -91
  142. package/src/components/Breadcrumb/index.tsx +76 -76
  143. package/src/components/Breadcrumb/styled.ts +37 -37
  144. package/src/components/ButtonLoading.tsx +29 -29
  145. package/src/components/ChatBot.tsx +82 -82
  146. package/src/components/ContentValidateFilter.tsx +15 -15
  147. package/src/components/FadingOverflow.tsx +265 -265
  148. package/src/components/FileTreeView/More.tsx +114 -114
  149. package/src/components/FileTreeView/index.tsx +186 -186
  150. package/src/components/InfiniteScroll.tsx +24 -24
  151. package/src/components/InfoMaintenanceBanner.tsx +29 -29
  152. package/src/components/LazyMarkdown/BlockquoteMd.tsx +107 -107
  153. package/src/components/LazyMarkdown/CodeViewer.tsx +161 -161
  154. package/src/components/LazyMarkdown/Markdown.tsx +122 -122
  155. package/src/components/LazyMarkdown/MarkdownButton.tsx +24 -24
  156. package/src/components/LazyMarkdown/Video.tsx +13 -13
  157. package/src/components/LazyMarkdown/index.tsx +21 -21
  158. package/src/components/Placeholder.tsx +118 -118
  159. package/src/components/ScrollView.tsx +57 -57
  160. package/src/components/Select/BadgeItem.tsx +58 -58
  161. package/src/components/Select/ClearInput.tsx +24 -24
  162. package/src/components/Select/CloseItem.tsx +38 -38
  163. package/src/components/Select/CreatableSelect.tsx +155 -155
  164. package/src/components/Select/CustomMenu.tsx +16 -16
  165. package/src/components/Select/LabelItem.tsx +8 -8
  166. package/src/components/Select/MultiValue.tsx +49 -49
  167. package/src/components/Select/SelectInfiniteScroll.tsx +82 -82
  168. package/src/components/Select/SelectSearch.tsx +195 -195
  169. package/src/components/Select/index.tsx +7 -7
  170. package/src/components/Select/types.ts +8 -8
  171. package/src/components/SelectionList.tsx +427 -427
  172. package/src/components/StatusCircle.tsx +67 -67
  173. package/src/components/Stepper/Navigation.tsx +97 -97
  174. package/src/components/Stepper/Step.tsx +30 -30
  175. package/src/components/Stepper/Stepper.tsx +113 -113
  176. package/src/components/Stepper/headers.tsx +64 -64
  177. package/src/components/Stepper/index.ts +3 -3
  178. package/src/components/Table/HeaderItem.tsx +52 -52
  179. package/src/components/Table/SettingsVerticalMenu.tsx +50 -50
  180. package/src/components/Table/StyledLinkTable.tsx +22 -22
  181. package/src/components/Table/TableData.tsx +251 -251
  182. package/src/components/Table/index.tsx +2 -2
  183. package/src/components/TimelineSection.tsx +66 -66
  184. package/src/components/error/ErrorFeedback.tsx +217 -217
  185. package/src/components/error/NotFound.tsx +24 -24
  186. package/src/components/error/UnderMaintenance.tsx +30 -30
  187. package/src/components/error/index.ts +4 -4
  188. package/src/components/form/Form/Form.tsx +101 -101
  189. package/src/components/form/Form/FormGroup.tsx +221 -221
  190. package/src/components/form/Form/index.ts +2 -2
  191. package/src/components/form/SearchInput.tsx +69 -69
  192. package/src/components/form/Select/CustomSelect.tsx +232 -232
  193. package/src/components/form/Select/DetailedSelect.tsx +85 -85
  194. package/src/components/form/Select/Select.tsx +67 -67
  195. package/src/components/form/Select/index.ts +4 -4
  196. package/src/components/form/Select/styled.ts +165 -165
  197. package/src/components/form/Select/types.ts +112 -112
  198. package/src/components/form/Select/utils.tsx +28 -28
  199. package/src/components/notification/NotificationComponent.tsx +340 -340
  200. package/src/components/notification/NotificationItem.tsx +336 -336
  201. package/src/components/notification/NotificationList.tsx +178 -178
  202. package/src/components/notification/NotificationPlaceholder.tsx +43 -43
  203. package/src/components/notification/types.ts +72 -72
  204. package/src/containers/NotificationsPage.tsx +98 -98
  205. package/src/context/anchor.tsx +37 -37
  206. package/src/context/loading.tsx +36 -36
  207. package/src/context/notification/LazyNotificationList.ts +103 -103
  208. package/src/context/notification/NotificationController.ts +104 -104
  209. package/src/context/notification/context.tsx +23 -23
  210. package/src/context/notification/hooks.ts +98 -98
  211. package/src/context/notification/types.ts +65 -65
  212. package/src/hooks/date.ts +31 -31
  213. package/src/hooks/keyboard.tsx +128 -128
  214. package/src/hooks/manual-render.tsx +10 -10
  215. package/src/hooks/service-now.tsx +233 -233
  216. package/src/hooks/text.tsx +30 -30
  217. package/src/hooks/title.tsx +28 -28
  218. package/src/hooks/use-effect-once.tsx +43 -43
  219. package/src/index.ts +19 -19
  220. package/src/notifications.ts +11 -11
  221. package/src/svg/AI.tsx +41 -41
  222. package/src/svg/CS.tsx +48 -48
  223. package/src/svg/EDP.tsx +31 -31
  224. package/src/svg/Forbidden.tsx +22 -22
  225. package/src/svg/GenericPlaceholder.tsx +20 -20
  226. package/src/svg/HUB.tsx +48 -48
  227. package/src/svg/Logo.tsx +16 -16
  228. package/src/svg/MiniLogo.tsx +12 -12
  229. package/src/svg/NotFound.tsx +16 -16
  230. package/src/svg/ServerError.tsx +33 -33
  231. package/src/svg/Unauthenticated.tsx +16 -16
  232. package/src/svg/index.ts +11 -11
  233. package/src/utils/accessibility.ts +135 -135
  234. package/src/utils/cookie.ts +73 -73
  235. package/src/utils/promise.ts +5 -5
  236. package/src/utils/read-file.ts +16 -16
  237. package/tsconfig.json +10 -10
@@ -1,165 +1,165 @@
1
1
  import { theme } from '@stack-spot/portal-theme';
2
2
  import { styled } from 'styled-components';
3
- export const SelectBox = styled.div `
4
- position: relative;
5
- // controls the height of component when it's closed
6
- height: ${({ $inputHeight }) => $inputHeight};
7
-
8
- select {
9
- border: none;
10
- opacity: 0;
11
- pointer-events: none;
12
- // prevents visual overflow
13
- max-width: 10px;
14
- }
15
-
16
- .fake-select {
17
- position: absolute;
18
- top: 0;
19
- left: 0;
20
- right: 0;
21
- border-radius: 0.25rem;
22
- display: flex;
23
- flex-direction: column;
24
- border: 1px solid ${theme.color.light[600]};
25
- transition: border-color 0.3s, box-shadow 0.3s;
26
- background-color: ${theme.color.light[300]};
27
-
28
- /* lets the z-index unset until the animation on the height ends. */
29
- &:not(.open) {
30
- z-index: unset;
31
- animation: 0.3s z-index-animation;
32
- @keyframes z-index-animation {
33
- 0% {
34
- z-index: 1;
35
- }
36
- 99% {
37
- z-index: 1;
38
- }
39
- 100% {
40
- z-index: unset;
41
- }
42
- }
43
- }
44
-
45
- &.disabled {
46
- background-color: ${theme.color.light[500]};
47
- color: ${theme.color.light[700]};
48
- .current-value {
49
- cursor: not-allowed;
50
- }
51
- }
52
-
53
- .arrow {
54
- transition: transform ease-in-out 0.3s;
55
- }
56
-
57
- &.focused, &.open {
58
- border: 1px solid ${theme.color.primary[500]};
59
- box-shadow: 0 0 0 1px ${theme.color.primary[500]};
60
- }
61
-
62
- &.open {
63
- z-index: 1;
64
- .arrow {
65
- transform: rotate(180deg);
66
- }
67
- .options {
68
- /* lets the overflow be hidden until the animation on the height ends. */
69
- overflow-y: auto;
70
- animation: 0.3s overflow-animation;
71
- @keyframes overflow-animation {
72
- 0% {
73
- overflow-y: hidden;
74
- }
75
- 99% {
76
- overflow-y: hidden;
77
- }
78
- 100% {
79
- overflow-y: auto;
80
- }
81
- }
82
- }
83
- }
84
-
85
- .current-value {
86
- height: calc(100% - 2px);
87
- display: flex;
88
- flex-direction: row;
89
- padding: 8px;
90
- justify-content: space-between;
91
- align-items: center;
92
- cursor: pointer;
93
- }
94
-
95
- .clipped-text {
96
- text-overflow: ellipsis;
97
- width: 100%;
98
- overflow: hidden;
99
- white-space: nowrap;
100
- }
101
-
102
- .options {
103
- list-style: none;
104
- padding: 0;
105
- margin: 0;
106
- overflow-y: hidden;
107
- transition: height ease-in-out 0.3s;
108
- scrollbar-gutter: stable;
109
-
110
- li {
111
- display: flex;
112
- flex-direction: row;
113
- align-items: center;
114
- padding: 9px;
115
- border-top: 1px solid ${theme.color.light[600]};
116
- cursor: pointer;
117
- transition: background-color 0.2s;
118
- &:hover, &:focus {
119
- background-color: ${theme.color.light[500]};
120
- }
121
- outline: none;
122
- }
123
-
124
- .detailed {
125
- display: flex;
126
- flex-direction: row;
127
- gap: 10px;
128
- align-items: center;
129
- .image {
130
- width: 40px;
131
- height: 40px;
132
- display: flex;
133
- align-items: center;
134
- justify-content: center;
135
- flex-shrink: 0;
136
- overflow: hidden;
137
- & > * {
138
- max-width: 100%;
139
- max-height: 100%;
140
- }
141
- }
142
- .text-content {
143
- display: flex;
144
- flex-direction: column;
145
- gap: 5px;
146
- .description {
147
- color: ${theme.color.light[700]};
148
- }
149
- }
150
- }
151
-
152
- /* the list is inert when, and only when, its having its height measured */
153
- &[inert] {
154
- opacity: 0;
155
- pointer-events: none;
156
- position: absolute;
157
- /* we don't want to have the height measured over the height of $maxItems */
158
- li:nth-child(n+${({ $maxItems }) => $maxItems + 1}) {
159
- display: none;
160
- }
161
- }
162
- }
163
- }
3
+ export const SelectBox = styled.div `
4
+ position: relative;
5
+ // controls the height of component when it's closed
6
+ height: ${({ $inputHeight }) => $inputHeight};
7
+
8
+ select {
9
+ border: none;
10
+ opacity: 0;
11
+ pointer-events: none;
12
+ // prevents visual overflow
13
+ max-width: 10px;
14
+ }
15
+
16
+ .fake-select {
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ right: 0;
21
+ border-radius: 0.25rem;
22
+ display: flex;
23
+ flex-direction: column;
24
+ border: 1px solid ${theme.color.light[600]};
25
+ transition: border-color 0.3s, box-shadow 0.3s;
26
+ background-color: ${theme.color.light[300]};
27
+
28
+ /* lets the z-index unset until the animation on the height ends. */
29
+ &:not(.open) {
30
+ z-index: unset;
31
+ animation: 0.3s z-index-animation;
32
+ @keyframes z-index-animation {
33
+ 0% {
34
+ z-index: 1;
35
+ }
36
+ 99% {
37
+ z-index: 1;
38
+ }
39
+ 100% {
40
+ z-index: unset;
41
+ }
42
+ }
43
+ }
44
+
45
+ &.disabled {
46
+ background-color: ${theme.color.light[500]};
47
+ color: ${theme.color.light[700]};
48
+ .current-value {
49
+ cursor: not-allowed;
50
+ }
51
+ }
52
+
53
+ .arrow {
54
+ transition: transform ease-in-out 0.3s;
55
+ }
56
+
57
+ &.focused, &.open {
58
+ border: 1px solid ${theme.color.primary[500]};
59
+ box-shadow: 0 0 0 1px ${theme.color.primary[500]};
60
+ }
61
+
62
+ &.open {
63
+ z-index: 1;
64
+ .arrow {
65
+ transform: rotate(180deg);
66
+ }
67
+ .options {
68
+ /* lets the overflow be hidden until the animation on the height ends. */
69
+ overflow-y: auto;
70
+ animation: 0.3s overflow-animation;
71
+ @keyframes overflow-animation {
72
+ 0% {
73
+ overflow-y: hidden;
74
+ }
75
+ 99% {
76
+ overflow-y: hidden;
77
+ }
78
+ 100% {
79
+ overflow-y: auto;
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ .current-value {
86
+ height: calc(100% - 2px);
87
+ display: flex;
88
+ flex-direction: row;
89
+ padding: 8px;
90
+ justify-content: space-between;
91
+ align-items: center;
92
+ cursor: pointer;
93
+ }
94
+
95
+ .clipped-text {
96
+ text-overflow: ellipsis;
97
+ width: 100%;
98
+ overflow: hidden;
99
+ white-space: nowrap;
100
+ }
101
+
102
+ .options {
103
+ list-style: none;
104
+ padding: 0;
105
+ margin: 0;
106
+ overflow-y: hidden;
107
+ transition: height ease-in-out 0.3s;
108
+ scrollbar-gutter: stable;
109
+
110
+ li {
111
+ display: flex;
112
+ flex-direction: row;
113
+ align-items: center;
114
+ padding: 9px;
115
+ border-top: 1px solid ${theme.color.light[600]};
116
+ cursor: pointer;
117
+ transition: background-color 0.2s;
118
+ &:hover, &:focus {
119
+ background-color: ${theme.color.light[500]};
120
+ }
121
+ outline: none;
122
+ }
123
+
124
+ .detailed {
125
+ display: flex;
126
+ flex-direction: row;
127
+ gap: 10px;
128
+ align-items: center;
129
+ .image {
130
+ width: 40px;
131
+ height: 40px;
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: center;
135
+ flex-shrink: 0;
136
+ overflow: hidden;
137
+ & > * {
138
+ max-width: 100%;
139
+ max-height: 100%;
140
+ }
141
+ }
142
+ .text-content {
143
+ display: flex;
144
+ flex-direction: column;
145
+ gap: 5px;
146
+ .description {
147
+ color: ${theme.color.light[700]};
148
+ }
149
+ }
150
+ }
151
+
152
+ /* the list is inert when, and only when, its having its height measured */
153
+ &[inert] {
154
+ opacity: 0;
155
+ pointer-events: none;
156
+ position: absolute;
157
+ /* we don't want to have the height measured over the height of $maxItems */
158
+ li:nth-child(n+${({ $maxItems }) => $maxItems + 1}) {
159
+ display: none;
160
+ }
161
+ }
162
+ }
163
+ }
164
164
  `;
165
165
  //# sourceMappingURL=styled.js.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime.js";
2
2
  import { Text } from '@citric/core';
3
3
  export function parseLabel(label) {
4
4
  if (typeof label === 'string') {
@@ -26,6 +26,6 @@ interface Props {
26
26
  * @param props the component's props {@link Props}.
27
27
  * @deprecated this functionality has been moved to the Layout library. This is now a property of the Header.
28
28
  */
29
- export declare const NotificationComponent: ({ hasUnreadNotification, onMarkAsReadUnread, notifications, isLoading, error, type, onUpdateType, onClickViewNotifications, onClickViewAll, errorDetails, fetchNextPage, hasNextPage, placeholderComponent, isSummary, }: Props) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const NotificationComponent: ({ hasUnreadNotification, onMarkAsReadUnread, notifications, isLoading, error, type, onUpdateType, onClickViewNotifications, onClickViewAll, errorDetails, fetchNextPage, hasNextPage, placeholderComponent, isSummary, }: Props) => import("react/jsx-runtime.js").JSX.Element;
30
30
  export {};
31
31
  //# sourceMappingURL=NotificationComponent.d.ts.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime.js";
2
2
  import { Box, Button, Flex, IconBox, Text } from '@citric/core';
3
3
  import { Bell, TimesMini } from '@citric/icons';
4
4
  import { IconButton } from '@citric/ui';
@@ -14,61 +14,61 @@ import { NotificationItem } from './NotificationItem.js';
14
14
  import { UnreadType } from './types.js';
15
15
  const ANIMATION_DURATION_MS = 300;
16
16
  const MAX_HEIGHT_TRANSITION = `max-height ease-in ${ANIMATION_DURATION_MS / 1000}s`;
17
- const NotificationsComponent = styled.div `
18
- max-height: 0;
19
- z-index: 2;
20
- visibility: hidden;
21
- position: absolute;
22
- top: calc(var(--header-height) + 4px);
23
- right: -270%;
24
- opacity: 0;
25
- width: 400px;
26
- transition: ${MAX_HEIGHT_TRANSITION}, opacity ${ANIMATION_DURATION_MS}ms ease-in-out, visibility 0s ${ANIMATION_DURATION_MS}ms;
27
-
28
- &.visible {
29
- visibility: visible;
30
- min-height: 400px;
31
- opacity: 1;
32
- transition: ${MAX_HEIGHT_TRANSITION}, opacity ${ANIMATION_DURATION_MS}ms ease-in-out;
33
- }
34
-
35
- .content {
36
- border-radius: 4px;
37
- border: 1px solid ${theme.color.light[400]};
38
- box-shadow: 4px 4px 48px ${theme.color.danger.contrastText};
39
- background-color: ${theme.color.light[300]};
40
- overflow-y: ${({ $scroll }) => ($scroll ? 'auto' : 'hidden')};
41
- overflow-x: hidden;
42
- }
43
-
44
- &::after {
45
- content: '';
46
- position: absolute;
47
- border-width: 8px 32px;
48
- border-style: solid;
49
- border-color: transparent;
50
- bottom: 100%;
51
- left: 74%;
52
- margin-left: -5px;
53
- transform: rotate(180deg);
54
- border-top-color: ${theme.color.light[400]};
55
- }
17
+ const NotificationsComponent = styled.div `
18
+ max-height: 0;
19
+ z-index: 2;
20
+ visibility: hidden;
21
+ position: absolute;
22
+ top: calc(var(--header-height) + 4px);
23
+ right: -270%;
24
+ opacity: 0;
25
+ width: 400px;
26
+ transition: ${MAX_HEIGHT_TRANSITION}, opacity ${ANIMATION_DURATION_MS}ms ease-in-out, visibility 0s ${ANIMATION_DURATION_MS}ms;
27
+
28
+ &.visible {
29
+ visibility: visible;
30
+ min-height: 400px;
31
+ opacity: 1;
32
+ transition: ${MAX_HEIGHT_TRANSITION}, opacity ${ANIMATION_DURATION_MS}ms ease-in-out;
33
+ }
34
+
35
+ .content {
36
+ border-radius: 4px;
37
+ border: 1px solid ${theme.color.light[400]};
38
+ box-shadow: 4px 4px 48px ${theme.color.danger.contrastText};
39
+ background-color: ${theme.color.light[300]};
40
+ overflow-y: ${({ $scroll }) => ($scroll ? 'auto' : 'hidden')};
41
+ overflow-x: hidden;
42
+ }
43
+
44
+ &::after {
45
+ content: '';
46
+ position: absolute;
47
+ border-width: 8px 32px;
48
+ border-style: solid;
49
+ border-color: transparent;
50
+ bottom: 100%;
51
+ left: 74%;
52
+ margin-left: -5px;
53
+ transform: rotate(180deg);
54
+ border-top-color: ${theme.color.light[400]};
55
+ }
56
56
  `;
57
- const Overlay = styled.div `
58
- position: fixed;
59
- top: 0;
60
- left: 0;
61
- width: 100%;
62
- height: 100%;
63
- background-color: ${theme.color.primary.contrastText};
64
- opacity: 0.6;
65
- z-index: 1;
57
+ const Overlay = styled.div `
58
+ position: fixed;
59
+ top: 0;
60
+ left: 0;
61
+ width: 100%;
62
+ height: 100%;
63
+ background-color: ${theme.color.primary.contrastText};
64
+ opacity: 0.6;
65
+ z-index: 1;
66
66
  `;
67
- const StyledBox = styled(Box) `
68
- width: 100%;
69
- > div:first-child{
70
- width: 100%;
71
- }
67
+ const StyledBox = styled(Box) `
68
+ width: 100%;
69
+ > div:first-child{
70
+ width: 100%;
71
+ }
72
72
  `;
73
73
  /**
74
74
  * NotificationFilterButton component that renders a button to be used in quick filters for notifications.
@@ -42,6 +42,6 @@ type NotificationItemProps = DeprecatedNotificationItemProps | NewNotificationIt
42
42
  *
43
43
  * @param props the component's props {@link NotificationItemProps}.
44
44
  */
45
- export declare const NotificationItem: ({ notification, isSummary, ...props }: NotificationItemProps) => import("react/jsx-runtime").JSX.Element;
45
+ export declare const NotificationItem: ({ notification, isSummary, ...props }: NotificationItemProps) => import("react/jsx-runtime.js").JSX.Element;
46
46
  export {};
47
47
  //# sourceMappingURL=NotificationItem.d.ts.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime.js";
2
2
  import { Box, Button, Flex, IconBox, Text } from '@citric/core';
3
3
  import { Envelope, EnvelopeOpen, ExternalLink } from '@citric/icons';
4
4
  import { IconButton, Tooltip } from '@citric/ui';
@@ -38,5 +38,5 @@ export interface NotificationListProps {
38
38
  style?: React.CSSProperties;
39
39
  className?: string;
40
40
  }
41
- export declare const NotificationList: ({ items, compact, onCommit, onClickAction, onClickViewNotification, infiniteScroll, loading, showEmptySearch, style, className }: NotificationListProps) => false | import("react/jsx-runtime").JSX.Element;
41
+ export declare const NotificationList: ({ items, compact, onCommit, onClickAction, onClickViewNotification, infiniteScroll, loading, showEmptySearch, style, className }: NotificationListProps) => false | import("react/jsx-runtime.js").JSX.Element;
42
42
  //# sourceMappingURL=NotificationList.d.ts.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime.js";
2
2
  import { Box, Flex } from '@citric/core';
3
3
  import { listToClass } from '@stack-spot/portal-theme';
4
4
  import { last } from 'lodash';
@@ -8,48 +8,48 @@ import { InfiniteScroll } from '../InfiniteScroll.js';
8
8
  import { TimelineSection } from '../TimelineSection.js';
9
9
  import { NotificationItem } from './NotificationItem.js';
10
10
  import { NotificationPlaceholder } from './NotificationPlaceholder.js';
11
- const StyledBox = styled(Box) `
12
- width: 100%;
13
- position: relative;
14
- transition: opacity 0.3s;
15
-
16
- > div:first-child{
17
- width: 100%;
18
- }
19
-
20
- &.loading {
21
- opacity: 0.6;
22
- .loading-mask {
23
- pointer-events: auto;
24
- }
25
- }
26
-
27
- .loading-mask {
28
- opacity: 0;
29
- position: absolute;
30
- pointer-events: none;
31
- top: 0;
32
- right: 0;
33
- left: 0;
34
- bottom: 0;
35
- cursor: progress;
36
- }
37
-
38
- .placeholder.compact {
39
- & > div {
40
- padding-block: 0;
41
- gap: 15px;
42
- & > div {
43
- text-align: center;
44
- h4 {
45
- margin-bottom: 10px;
46
- }
47
- p {
48
- margin: 0;
49
- }
50
- }
51
- }
52
- }
11
+ const StyledBox = styled(Box) `
12
+ width: 100%;
13
+ position: relative;
14
+ transition: opacity 0.3s;
15
+
16
+ > div:first-child{
17
+ width: 100%;
18
+ }
19
+
20
+ &.loading {
21
+ opacity: 0.6;
22
+ .loading-mask {
23
+ pointer-events: auto;
24
+ }
25
+ }
26
+
27
+ .loading-mask {
28
+ opacity: 0;
29
+ position: absolute;
30
+ pointer-events: none;
31
+ top: 0;
32
+ right: 0;
33
+ left: 0;
34
+ bottom: 0;
35
+ cursor: progress;
36
+ }
37
+
38
+ .placeholder.compact {
39
+ & > div {
40
+ padding-block: 0;
41
+ gap: 15px;
42
+ & > div {
43
+ text-align: center;
44
+ h4 {
45
+ margin-bottom: 10px;
46
+ }
47
+ p {
48
+ margin: 0;
49
+ }
50
+ }
51
+ }
52
+ }
53
53
  `;
54
54
  // this assumes the data from the backend is ordered by date (trigger_at)
55
55
  function groupNotificationsByDate(notifications) {
@@ -8,6 +8,6 @@ interface Props {
8
8
  sxCard?: SxProperties;
9
9
  titleAs?: AsProp;
10
10
  }
11
- export declare const NotificationPlaceholder: ({ isSearch, sx, sxCard, className, style, titleAs }: Props) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const NotificationPlaceholder: ({ isSearch, sx, sxCard, className, style, titleAs }: Props) => import("react/jsx-runtime.js").JSX.Element;
12
12
  export {};
13
13
  //# sourceMappingURL=NotificationPlaceholder.d.ts.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime.js";
2
2
  import { useTranslate } from '@stack-spot/portal-translate';
3
3
  import { PlaceholderCallToAction } from '../Placeholder.js';
4
4
  export const NotificationPlaceholder = ({ isSearch, sx, sxCard, className, style, titleAs }) => {
@@ -7,16 +7,16 @@ export const NotificationPlaceholder = ({ isSearch, sx, sxCard, className, style
7
7
  };
8
8
  const dictionary = {
9
9
  en: {
10
- placeholderTitle: 'No notifications',
11
- placeholderDescription: 'Your notifications will appear here.',
12
- placeholderSearchTitle: 'No notifications found',
13
- placeholderSearchDescription: 'You can change the current filters in the fields above',
10
+ placeholderTitle: 'You don’t have any notifications yet.',
11
+ placeholderDescription: 'Relevant updates will show up here as soon as they’re available.',
12
+ placeholderSearchTitle: 'No notifications match your filters',
13
+ placeholderSearchDescription: 'Try changing the filters to see more results.',
14
14
  },
15
15
  pt: {
16
- placeholderTitle: 'Nenhuma notificação',
17
- placeholderDescription: 'Suas notificações aparecerão aqui.',
18
- placeholderSearchTitle: 'Nenhuma notificação encontrada',
19
- placeholderSearchDescription: 'Você pode mudar os filtros aplicados nos campos acima',
16
+ placeholderTitle: 'Você ainda não tem notificações.',
17
+ placeholderDescription: 'Quando houver alguma atualização relevante, ela será exibida aqui.',
18
+ placeholderSearchTitle: 'Nenhuma notificação corresponde aos filtros',
19
+ placeholderSearchDescription: 'Experimente mudar os filtros para encontrar mais notificações.',
20
20
  },
21
21
  };
22
22
  //# sourceMappingURL=NotificationPlaceholder.js.map
@@ -1 +1 @@
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,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAC/D,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EACjF,SAAS,QACT,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,GAChB,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,gBAAgB,EAAE,kBAAkB;QACpC,sBAAsB,EAAE,sCAAsC;QAC9D,sBAAsB,EAAE,wBAAwB;QAChD,4BAA4B,EAAE,wDAAwD;KACvF;IACD,EAAE,EAAE;QACF,gBAAgB,EAAE,qBAAqB;QACvC,sBAAsB,EAAE,oCAAoC;QAC5D,sBAAsB,EAAE,gCAAgC;QACxD,4BAA4B,EAAE,uDAAuD;KACtF;CACmB,CAAA"}
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,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAC/D,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EACjF,SAAS,QACT,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,GAChB,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,gBAAgB,EAAE,uCAAuC;QACzD,sBAAsB,EAAE,kEAAkE;QAC1F,sBAAsB,EAAE,qCAAqC;QAC7D,4BAA4B,EAAE,+CAA+C;KAC9E;IACD,EAAE,EAAE;QACF,gBAAgB,EAAE,kCAAkC;QACpD,sBAAsB,EAAE,oEAAoE;QAC5F,sBAAsB,EAAE,6CAA6C;QACrE,4BAA4B,EAAE,gEAAgE;KAC/F;CACmB,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const NotificationsPage: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const NotificationsPage: () => import("react/jsx-runtime.js").JSX.Element;
2
2
  //# sourceMappingURL=NotificationsPage.d.ts.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime.js";
2
2
  import { Text } from '@citric/core';
3
3
  import { useTranslate } from '@stack-spot/portal-translate';
4
4
  import { styled } from 'styled-components';
@@ -9,15 +9,15 @@ import { Select } from '../components/form/Select/index.js';
9
9
  import { NotificationList } from '../components/notification/NotificationList.js';
10
10
  import { useNotificationList } from '../context/notification/hooks.js';
11
11
  import { useNotificationController } from '../notifications.js';
12
- const FilterBox = styled.div `
13
- margin: 24px 0;
14
- display: flex;
15
- flex-direction: row;
16
- gap: 8px;
17
-
18
- > * {
19
- flex: 1;
20
- }
12
+ const FilterBox = styled.div `
13
+ margin: 24px 0;
14
+ display: flex;
15
+ flex-direction: row;
16
+ gap: 8px;
17
+
18
+ > * {
19
+ flex: 1;
20
+ }
21
21
  `;
22
22
  const criticalities = ['HIGH', 'MEDIUM', 'LOW'];
23
23
  const contexts = ['ACCOUNT', 'STUDIO', 'WORKSPACE'];