@stack-spot/portal-components 2.26.0 → 2.27.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 (243) hide show
  1. package/CHANGELOG.md +628 -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.d.ts.map +1 -1
  100. package/dist/components/notification/NotificationItem.js +4 -4
  101. package/dist/components/notification/NotificationItem.js.map +1 -1
  102. package/dist/components/notification/NotificationList.d.ts +1 -1
  103. package/dist/components/notification/NotificationList.js +43 -43
  104. package/dist/components/notification/NotificationPlaceholder.d.ts +1 -1
  105. package/dist/components/notification/NotificationPlaceholder.js +9 -9
  106. package/dist/components/notification/NotificationPlaceholder.js.map +1 -1
  107. package/dist/containers/NotificationsPage.d.ts +1 -1
  108. package/dist/containers/NotificationsPage.d.ts.map +1 -1
  109. package/dist/containers/NotificationsPage.js +24 -11
  110. package/dist/containers/NotificationsPage.js.map +1 -1
  111. package/dist/context/anchor.d.ts +1 -1
  112. package/dist/context/anchor.js +1 -1
  113. package/dist/context/loading.d.ts +1 -1
  114. package/dist/context/loading.js +1 -1
  115. package/dist/context/notification/context.d.ts +1 -1
  116. package/dist/context/notification/context.js +1 -1
  117. package/dist/context/notification/types.d.ts +1 -0
  118. package/dist/context/notification/types.d.ts.map +1 -1
  119. package/dist/hooks/date.js +1 -1
  120. package/dist/hooks/service-now.js +28 -28
  121. package/dist/svg/AI.d.ts +1 -1
  122. package/dist/svg/AI.js +1 -1
  123. package/dist/svg/CS.d.ts +1 -1
  124. package/dist/svg/CS.js +1 -1
  125. package/dist/svg/EDP.d.ts +1 -1
  126. package/dist/svg/EDP.js +1 -1
  127. package/dist/svg/Forbidden.d.ts +1 -1
  128. package/dist/svg/Forbidden.js +1 -1
  129. package/dist/svg/GenericPlaceholder.d.ts +1 -1
  130. package/dist/svg/GenericPlaceholder.js +1 -1
  131. package/dist/svg/HUB.d.ts +1 -1
  132. package/dist/svg/HUB.js +1 -1
  133. package/dist/svg/Logo.d.ts +1 -1
  134. package/dist/svg/Logo.js +1 -1
  135. package/dist/svg/MiniLogo.d.ts +1 -1
  136. package/dist/svg/MiniLogo.js +1 -1
  137. package/dist/svg/NotFound.d.ts +1 -1
  138. package/dist/svg/NotFound.js +1 -1
  139. package/dist/svg/ServerError.d.ts +1 -1
  140. package/dist/svg/ServerError.js +1 -1
  141. package/dist/svg/Unauthenticated.d.ts +1 -1
  142. package/dist/svg/Unauthenticated.js +1 -1
  143. package/package.json +80 -80
  144. package/readme.md +66 -66
  145. package/src/components/AnimatedHeight.tsx +174 -174
  146. package/src/components/AsyncContent.tsx +78 -78
  147. package/src/components/BannerWarning.tsx +91 -91
  148. package/src/components/Breadcrumb/index.tsx +76 -76
  149. package/src/components/Breadcrumb/styled.ts +37 -37
  150. package/src/components/ButtonLoading.tsx +29 -29
  151. package/src/components/ChatBot.tsx +82 -82
  152. package/src/components/ContentValidateFilter.tsx +15 -15
  153. package/src/components/FadingOverflow.tsx +265 -265
  154. package/src/components/FileTreeView/More.tsx +114 -114
  155. package/src/components/FileTreeView/index.tsx +186 -186
  156. package/src/components/InfiniteScroll.tsx +24 -24
  157. package/src/components/InfoMaintenanceBanner.tsx +29 -29
  158. package/src/components/LazyMarkdown/BlockquoteMd.tsx +107 -107
  159. package/src/components/LazyMarkdown/CodeViewer.tsx +161 -161
  160. package/src/components/LazyMarkdown/Markdown.tsx +122 -122
  161. package/src/components/LazyMarkdown/MarkdownButton.tsx +24 -24
  162. package/src/components/LazyMarkdown/Video.tsx +13 -13
  163. package/src/components/LazyMarkdown/index.tsx +21 -21
  164. package/src/components/Placeholder.tsx +118 -118
  165. package/src/components/ScrollView.tsx +57 -57
  166. package/src/components/Select/BadgeItem.tsx +58 -58
  167. package/src/components/Select/ClearInput.tsx +24 -24
  168. package/src/components/Select/CloseItem.tsx +38 -38
  169. package/src/components/Select/CreatableSelect.tsx +155 -155
  170. package/src/components/Select/CustomMenu.tsx +16 -16
  171. package/src/components/Select/LabelItem.tsx +8 -8
  172. package/src/components/Select/MultiValue.tsx +49 -49
  173. package/src/components/Select/SelectInfiniteScroll.tsx +82 -82
  174. package/src/components/Select/SelectSearch.tsx +195 -195
  175. package/src/components/Select/index.tsx +7 -7
  176. package/src/components/Select/types.ts +8 -8
  177. package/src/components/SelectionList.tsx +427 -427
  178. package/src/components/StatusCircle.tsx +67 -67
  179. package/src/components/Stepper/Navigation.tsx +97 -97
  180. package/src/components/Stepper/Step.tsx +30 -30
  181. package/src/components/Stepper/Stepper.tsx +113 -113
  182. package/src/components/Stepper/headers.tsx +64 -64
  183. package/src/components/Stepper/index.ts +3 -3
  184. package/src/components/Table/HeaderItem.tsx +52 -52
  185. package/src/components/Table/SettingsVerticalMenu.tsx +50 -50
  186. package/src/components/Table/StyledLinkTable.tsx +22 -22
  187. package/src/components/Table/TableData.tsx +251 -251
  188. package/src/components/Table/index.tsx +2 -2
  189. package/src/components/TimelineSection.tsx +66 -66
  190. package/src/components/error/ErrorFeedback.tsx +217 -217
  191. package/src/components/error/NotFound.tsx +24 -24
  192. package/src/components/error/UnderMaintenance.tsx +30 -30
  193. package/src/components/error/index.ts +4 -4
  194. package/src/components/form/Form/Form.tsx +101 -101
  195. package/src/components/form/Form/FormGroup.tsx +221 -221
  196. package/src/components/form/Form/index.ts +2 -2
  197. package/src/components/form/SearchInput.tsx +69 -69
  198. package/src/components/form/Select/CustomSelect.tsx +232 -232
  199. package/src/components/form/Select/DetailedSelect.tsx +85 -85
  200. package/src/components/form/Select/Select.tsx +67 -67
  201. package/src/components/form/Select/index.ts +4 -4
  202. package/src/components/form/Select/styled.ts +165 -165
  203. package/src/components/form/Select/types.ts +112 -112
  204. package/src/components/form/Select/utils.tsx +28 -28
  205. package/src/components/notification/NotificationComponent.tsx +340 -340
  206. package/src/components/notification/NotificationItem.tsx +337 -336
  207. package/src/components/notification/NotificationList.tsx +178 -178
  208. package/src/components/notification/NotificationPlaceholder.tsx +43 -43
  209. package/src/components/notification/types.ts +72 -72
  210. package/src/containers/NotificationsPage.tsx +119 -98
  211. package/src/context/anchor.tsx +37 -37
  212. package/src/context/loading.tsx +36 -36
  213. package/src/context/notification/LazyNotificationList.ts +103 -103
  214. package/src/context/notification/NotificationController.ts +104 -104
  215. package/src/context/notification/context.tsx +23 -23
  216. package/src/context/notification/hooks.ts +98 -98
  217. package/src/context/notification/types.ts +66 -65
  218. package/src/hooks/date.ts +31 -31
  219. package/src/hooks/keyboard.tsx +128 -128
  220. package/src/hooks/manual-render.tsx +10 -10
  221. package/src/hooks/service-now.tsx +233 -233
  222. package/src/hooks/text.tsx +30 -30
  223. package/src/hooks/title.tsx +28 -28
  224. package/src/hooks/use-effect-once.tsx +43 -43
  225. package/src/index.ts +19 -19
  226. package/src/notifications.ts +11 -11
  227. package/src/svg/AI.tsx +41 -41
  228. package/src/svg/CS.tsx +48 -48
  229. package/src/svg/EDP.tsx +31 -31
  230. package/src/svg/Forbidden.tsx +22 -22
  231. package/src/svg/GenericPlaceholder.tsx +20 -20
  232. package/src/svg/HUB.tsx +48 -48
  233. package/src/svg/Logo.tsx +16 -16
  234. package/src/svg/MiniLogo.tsx +12 -12
  235. package/src/svg/NotFound.tsx +16 -16
  236. package/src/svg/ServerError.tsx +33 -33
  237. package/src/svg/Unauthenticated.tsx +16 -16
  238. package/src/svg/index.ts +11 -11
  239. package/src/utils/accessibility.ts +135 -135
  240. package/src/utils/cookie.ts +73 -73
  241. package/src/utils/promise.ts +5 -5
  242. package/src/utils/read-file.ts +16 -16
  243. package/tsconfig.json +10 -10
@@ -1,64 +1,64 @@
1
- import { Box, Flex, Text } from '@citric/core'
2
- import { theme } from '@stack-spot/portal-theme'
3
- import { FC, useContext } from 'react'
4
- import { styled } from 'styled-components'
5
- import { StepperContext } from './Stepper'
6
-
7
- const StyledStepHeader = styled(Box)`
8
- flex: 1;
9
- border-top: 0.25rem solid ${theme.color.light[600]};
10
- padding-top: 1rem;
11
-
12
- &.active {
13
- border-color: ${theme.color.primary[500]};
14
- }
15
-
16
- &.finished {
17
- flex: unset;
18
- width: 4.5rem;
19
- border-color: ${theme.color.success[500]};
20
- }
21
- `
22
-
23
- const StyledStepHeaderText = styled(Text)`
24
- color: ${theme.color.light.contrastText};
25
- width: 100%;
26
- height: 1.5rem;
27
- white-space: nowrap;
28
- text-overflow: ellipsis;
29
- overflow: hidden;
30
- `
31
-
32
- interface StepperHeader {
33
- /**
34
- * Title that is passed to the step component is used here.
35
- */
36
- title: string,
37
- }
38
-
39
- export interface StepperHeadersProps {
40
- headers: StepperHeader[],
41
- }
42
-
43
- /**
44
- * Renders a component that represents the visual part of a step within the stepper component.
45
- * The initial color of the step is primary.500 and when completed it is changed to the success.500 color.
46
- *
47
- * The component stepper wraps this component.
48
- */
49
-
50
- export const StepperHeaders: FC<StepperHeadersProps> = ({ headers }) => {
51
- const { activeIndex } = useContext(StepperContext)
52
- return (
53
- <Flex sx={{ gap: '1rem' }}>
54
- {headers.map((header, index) => (
55
- <StyledStepHeader
56
- key={header.title}
57
- className={index < activeIndex ? 'finished' : (index === activeIndex ? 'active' : '')}
58
- >
59
- <StyledStepHeaderText>{header.title}</StyledStepHeaderText>
60
- </StyledStepHeader>
61
- ))}
62
- </Flex>
63
- )
64
- }
1
+ import { Box, Flex, Text } from '@citric/core'
2
+ import { theme } from '@stack-spot/portal-theme'
3
+ import { FC, useContext } from 'react'
4
+ import { styled } from 'styled-components'
5
+ import { StepperContext } from './Stepper'
6
+
7
+ const StyledStepHeader = styled(Box)`
8
+ flex: 1;
9
+ border-top: 0.25rem solid ${theme.color.light[600]};
10
+ padding-top: 1rem;
11
+
12
+ &.active {
13
+ border-color: ${theme.color.primary[500]};
14
+ }
15
+
16
+ &.finished {
17
+ flex: unset;
18
+ width: 4.5rem;
19
+ border-color: ${theme.color.success[500]};
20
+ }
21
+ `
22
+
23
+ const StyledStepHeaderText = styled(Text)`
24
+ color: ${theme.color.light.contrastText};
25
+ width: 100%;
26
+ height: 1.5rem;
27
+ white-space: nowrap;
28
+ text-overflow: ellipsis;
29
+ overflow: hidden;
30
+ `
31
+
32
+ interface StepperHeader {
33
+ /**
34
+ * Title that is passed to the step component is used here.
35
+ */
36
+ title: string,
37
+ }
38
+
39
+ export interface StepperHeadersProps {
40
+ headers: StepperHeader[],
41
+ }
42
+
43
+ /**
44
+ * Renders a component that represents the visual part of a step within the stepper component.
45
+ * The initial color of the step is primary.500 and when completed it is changed to the success.500 color.
46
+ *
47
+ * The component stepper wraps this component.
48
+ */
49
+
50
+ export const StepperHeaders: FC<StepperHeadersProps> = ({ headers }) => {
51
+ const { activeIndex } = useContext(StepperContext)
52
+ return (
53
+ <Flex sx={{ gap: '1rem' }}>
54
+ {headers.map((header, index) => (
55
+ <StyledStepHeader
56
+ key={header.title}
57
+ className={index < activeIndex ? 'finished' : (index === activeIndex ? 'active' : '')}
58
+ >
59
+ <StyledStepHeaderText>{header.title}</StyledStepHeaderText>
60
+ </StyledStepHeader>
61
+ ))}
62
+ </Flex>
63
+ )
64
+ }
@@ -1,3 +1,3 @@
1
- export { Stepper, StepperContext } from './Stepper'
2
- export { Step } from './Step'
3
- export { StepperNavigation } from './Navigation'
1
+ export { Stepper, StepperContext } from './Stepper'
2
+ export { Step } from './Step'
3
+ export { StepperNavigation } from './Navigation'
@@ -1,52 +1,52 @@
1
- import { Button, Flex, IconBox, Styles, Text } from '@citric/core'
2
- import { Props as FlexProps } from '@citric/core/dist/Flex'
3
- import { SortAscending, SortDescending } from '@citric/icons'
4
- import React, { ReactNode } from 'react'
5
-
6
- export type SortTypes = 'ASC' | 'DESC' | undefined
7
-
8
- interface HeaderSortProps extends FlexProps {
9
- children: ReactNode | string,
10
- sortType: SortTypes,
11
- onSort: (sortType: SortTypes) => void,
12
- }
13
-
14
- export const parseParams = ({ key, sort }: { key: string | undefined, sort: 'ASC' | 'DESC' | undefined }) =>
15
- key && sort ? `${key?.toUpperCase()}_${sort?.toUpperCase()}` : undefined
16
-
17
- function next(current: SortTypes) {
18
- switch (current) {
19
- case undefined: return 'ASC'
20
- case 'ASC': return 'DESC'
21
- case 'DESC': return undefined
22
- }
23
- }
24
-
25
- export const HeaderSort: React.FC<HeaderSortProps> = ({ children, sortType, onSort, ...props }) => (
26
- <Flex
27
- as={Button}
28
- appearance="text"
29
- alignItems="center"
30
- flexWrap="nowrap"
31
- sx={{ '&:hover, &:active, &:focus': { borderColor: 'transparent' }, padding: 0 } as Styles}
32
- onClick={() => onSort(next(sortType))} {...props}>
33
- <Text appearance="microtext1" mr="2" colorScheme="light.700">
34
- {children}
35
- </Text>
36
-
37
- <IconBox colorIcon="inverse.500" size="xs">
38
- {sortType === 'ASC' && <SortAscending />}
39
- {sortType === 'DESC' && <SortDescending />}
40
- </IconBox>
41
- </Flex>
42
- )
43
-
44
- type FullFlexProps = Parameters<typeof Flex>[0]
45
-
46
- export const Header: React.FC<FullFlexProps> = ({ children, ...props }) => (
47
- <Flex alignItems="center" {...props}>
48
- <Text appearance="microtext1" mr="2" colorScheme="light.700">
49
- {children}
50
- </Text>
51
- </Flex>
52
- )
1
+ import { Button, Flex, IconBox, Styles, Text } from '@citric/core'
2
+ import { Props as FlexProps } from '@citric/core/dist/Flex'
3
+ import { SortAscending, SortDescending } from '@citric/icons'
4
+ import React, { ReactNode } from 'react'
5
+
6
+ export type SortTypes = 'ASC' | 'DESC' | undefined
7
+
8
+ interface HeaderSortProps extends FlexProps {
9
+ children: ReactNode | string,
10
+ sortType: SortTypes,
11
+ onSort: (sortType: SortTypes) => void,
12
+ }
13
+
14
+ export const parseParams = ({ key, sort }: { key: string | undefined, sort: 'ASC' | 'DESC' | undefined }) =>
15
+ key && sort ? `${key?.toUpperCase()}_${sort?.toUpperCase()}` : undefined
16
+
17
+ function next(current: SortTypes) {
18
+ switch (current) {
19
+ case undefined: return 'ASC'
20
+ case 'ASC': return 'DESC'
21
+ case 'DESC': return undefined
22
+ }
23
+ }
24
+
25
+ export const HeaderSort: React.FC<HeaderSortProps> = ({ children, sortType, onSort, ...props }) => (
26
+ <Flex
27
+ as={Button}
28
+ appearance="text"
29
+ alignItems="center"
30
+ flexWrap="nowrap"
31
+ sx={{ '&:hover, &:active, &:focus': { borderColor: 'transparent' }, padding: 0 } as Styles}
32
+ onClick={() => onSort(next(sortType))} {...props}>
33
+ <Text appearance="microtext1" mr="2" colorScheme="light.700">
34
+ {children}
35
+ </Text>
36
+
37
+ <IconBox colorIcon="inverse.500" size="xs">
38
+ {sortType === 'ASC' && <SortAscending />}
39
+ {sortType === 'DESC' && <SortDescending />}
40
+ </IconBox>
41
+ </Flex>
42
+ )
43
+
44
+ type FullFlexProps = Parameters<typeof Flex>[0]
45
+
46
+ export const Header: React.FC<FullFlexProps> = ({ children, ...props }) => (
47
+ <Flex alignItems="center" {...props}>
48
+ <Text appearance="microtext1" mr="2" colorScheme="light.700">
49
+ {children}
50
+ </Text>
51
+ </Flex>
52
+ )
@@ -1,50 +1,50 @@
1
- import { Box, IconBox, OneOfIconSizes } from '@citric/core'
2
- import { SxProperties } from '@citric/core/dist/sx'
3
- import { EllipsisVertical } from '@citric/icons'
4
- import { IconButton } from '@citric/ui'
5
- import { SelectionList } from '@stack-spot/portal-components/SelectionList'
6
- import { useState } from 'react'
7
-
8
- interface SettingsVerticalMenuProps {
9
- id: string,
10
- buttonAriaLabel?: string,
11
- size?: OneOfIconSizes,
12
- sxIconButton?: SxProperties,
13
- buttonDataTestHint?: string,
14
- items: React.ComponentProps<typeof SelectionList>['items'],
15
- }
16
-
17
- export const SettingsVerticalMenu = ({
18
- id,
19
- buttonAriaLabel,
20
- size,
21
- buttonDataTestHint,
22
- sxIconButton,
23
- items = [] }: SettingsVerticalMenuProps) => {
24
- const [visibleMenu, setVisibleMenu] = useState(false)
25
- if (items?.length === 0) {
26
- return null
27
- }
28
-
29
- return (
30
- <Box sx={{ position: 'relative' }}>
31
- <IconButton
32
- role="button"
33
- title={buttonAriaLabel}
34
- data-test-hint={buttonDataTestHint}
35
- aria-label={buttonAriaLabel}
36
- onClick={() => setVisibleMenu(state => !state)} >
37
- <IconBox size={size} sx={sxIconButton}>
38
- <EllipsisVertical />
39
- </IconBox>
40
- </IconButton>
41
- <SelectionList
42
- id={id}
43
- visible={visibleMenu}
44
- onHide={() => setVisibleMenu(false)}
45
- style={{ position: 'absolute', top: 40, right: 0, minWidth: '200px' }}
46
- items={items}
47
- />
48
- </Box>
49
- )
50
- }
1
+ import { Box, IconBox, OneOfIconSizes } from '@citric/core'
2
+ import { SxProperties } from '@citric/core/dist/sx'
3
+ import { EllipsisVertical } from '@citric/icons'
4
+ import { IconButton } from '@citric/ui'
5
+ import { SelectionList } from '@stack-spot/portal-components/SelectionList'
6
+ import { useState } from 'react'
7
+
8
+ interface SettingsVerticalMenuProps {
9
+ id: string,
10
+ buttonAriaLabel?: string,
11
+ size?: OneOfIconSizes,
12
+ sxIconButton?: SxProperties,
13
+ buttonDataTestHint?: string,
14
+ items: React.ComponentProps<typeof SelectionList>['items'],
15
+ }
16
+
17
+ export const SettingsVerticalMenu = ({
18
+ id,
19
+ buttonAriaLabel,
20
+ size,
21
+ buttonDataTestHint,
22
+ sxIconButton,
23
+ items = [] }: SettingsVerticalMenuProps) => {
24
+ const [visibleMenu, setVisibleMenu] = useState(false)
25
+ if (items?.length === 0) {
26
+ return null
27
+ }
28
+
29
+ return (
30
+ <Box sx={{ position: 'relative' }}>
31
+ <IconButton
32
+ role="button"
33
+ title={buttonAriaLabel}
34
+ data-test-hint={buttonDataTestHint}
35
+ aria-label={buttonAriaLabel}
36
+ onClick={() => setVisibleMenu(state => !state)} >
37
+ <IconBox size={size} sx={sxIconButton}>
38
+ <EllipsisVertical />
39
+ </IconBox>
40
+ </IconButton>
41
+ <SelectionList
42
+ id={id}
43
+ visible={visibleMenu}
44
+ onHide={() => setVisibleMenu(false)}
45
+ style={{ position: 'absolute', top: 40, right: 0, minWidth: '200px' }}
46
+ items={items}
47
+ />
48
+ </Box>
49
+ )
50
+ }
@@ -1,22 +1,22 @@
1
- import styled from 'styled-components'
2
- import { ReactNode } from 'react'
3
- import { useAnchorTag } from '../../context/anchor'
4
-
5
- const StyledLink = styled.a`
6
- &:hover {
7
- text-decoration: underline;
8
- }
9
- `
10
-
11
- export const StyledLinkTable = ({
12
- children,
13
- ...props
14
- }: { children: ReactNode } & React.AnchorHTMLAttributes<HTMLAnchorElement>) => {
15
- const Link = useAnchorTag()
16
-
17
- return (
18
- <StyledLink as={Link} {...props}>
19
- {children}
20
- </StyledLink>
21
- )
22
- }
1
+ import styled from 'styled-components'
2
+ import { ReactNode } from 'react'
3
+ import { useAnchorTag } from '../../context/anchor'
4
+
5
+ const StyledLink = styled.a`
6
+ &:hover {
7
+ text-decoration: underline;
8
+ }
9
+ `
10
+
11
+ export const StyledLinkTable = ({
12
+ children,
13
+ ...props
14
+ }: { children: ReactNode } & React.AnchorHTMLAttributes<HTMLAnchorElement>) => {
15
+ const Link = useAnchorTag()
16
+
17
+ return (
18
+ <StyledLink as={Link} {...props}>
19
+ {children}
20
+ </StyledLink>
21
+ )
22
+ }