@stack-spot/portal-components 2.6.0 → 2.6.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.
- package/CHANGELOG.md +8 -0
- package/dist/components/form/Select/types.d.ts +6 -6
- package/dist/components/notification/NotificationItem.d.ts.map +1 -1
- package/dist/components/notification/NotificationItem.js +2 -2
- package/dist/components/notification/NotificationItem.js.map +1 -1
- package/package.json +1 -1
- package/src/components/form/Select/types.ts +6 -6
- package/src/components/notification/NotificationItem.tsx +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.6.1](https://github.com/stack-spot/portal-commons/compare/portal-components@v2.6.0...portal-components@v2.6.1) (2024-09-26)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Accessibility 517 visualize notification button ([e919b44](https://github.com/stack-spot/portal-commons/commit/e919b446130c15d11c73b2d3336f92fee3f4c8b7))
|
|
9
|
+
* docs ([f488e48](https://github.com/stack-spot/portal-commons/commit/f488e48bdf0156265ddb6fcd279938c8a46c0bf1))
|
|
10
|
+
|
|
3
11
|
## [2.6.0](https://github.com/stack-spot/portal-commons/compare/portal-components@v2.5.2...portal-components@v2.6.0) (2024-09-20)
|
|
4
12
|
|
|
5
13
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InputHTMLAttributes } from 'react';
|
|
2
2
|
export interface GenericAccessibleLabel {
|
|
3
3
|
/**
|
|
4
|
-
* This is how the option's label will be rendered inside the
|
|
4
|
+
* This is how the option's label will be rendered inside the dropdown list. This can be any React element.
|
|
5
5
|
*
|
|
6
6
|
* Attention: be careful, this should not have any important information that can't be represented through text (accessibility).
|
|
7
7
|
*/
|
|
@@ -13,7 +13,7 @@ export interface GenericAccessibleLabel {
|
|
|
13
13
|
/**
|
|
14
14
|
* This is how the option's label will be rendered as the select current value.
|
|
15
15
|
*
|
|
16
|
-
* If not provided, will be rendered using `
|
|
16
|
+
* If not provided, will be rendered using `option`.
|
|
17
17
|
*/
|
|
18
18
|
selected?: React.ReactElement;
|
|
19
19
|
}
|
|
@@ -33,7 +33,7 @@ interface BaseSelectProps<Option, Label extends AccessibleLabel> extends Omit<In
|
|
|
33
33
|
*/
|
|
34
34
|
value: Option | undefined;
|
|
35
35
|
/**
|
|
36
|
-
* The label for the empty option.
|
|
36
|
+
* The label for the empty option. The empty option sets the value to undefined.
|
|
37
37
|
*
|
|
38
38
|
* If this is not set, there won't be an empty option for this select.
|
|
39
39
|
*/
|
|
@@ -46,7 +46,7 @@ interface BaseSelectProps<Option, Label extends AccessibleLabel> extends Omit<In
|
|
|
46
46
|
* Provides the value of each option. This can be either a key of the option object or a function that receives the option and returns
|
|
47
47
|
* the value.
|
|
48
48
|
*
|
|
49
|
-
* This is required if the options
|
|
49
|
+
* This is required if the options don't have a relevant value returned by `toString()`.
|
|
50
50
|
*
|
|
51
51
|
* @example
|
|
52
52
|
* - `'id'`
|
|
@@ -57,7 +57,7 @@ interface BaseSelectProps<Option, Label extends AccessibleLabel> extends Omit<In
|
|
|
57
57
|
* Provides the label of each option. This can be either a key of the option object or a function that receives the option and returns
|
|
58
58
|
* the label.
|
|
59
59
|
*
|
|
60
|
-
* This is required if the options
|
|
60
|
+
* This is required if the options don't have a relevant value returned by `toString()`.
|
|
61
61
|
*
|
|
62
62
|
* @example
|
|
63
63
|
* - `'name'`
|
|
@@ -75,7 +75,7 @@ interface BaseSelectProps<Option, Label extends AccessibleLabel> extends Omit<In
|
|
|
75
75
|
*/
|
|
76
76
|
maxItems?: number;
|
|
77
77
|
/**
|
|
78
|
-
* Whether or not the options are being loaded. The field will become disabled while
|
|
78
|
+
* Whether or not the options are being loaded. The field will become disabled while isLoading is true.
|
|
79
79
|
*/
|
|
80
80
|
isLoading?: boolean;
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationItem.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAexD,UAAU,KAAK;IACb,YAAY,EAAE,8BAA8B,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"NotificationItem.d.ts","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAexD,UAAU,KAAK;IACb,YAAY,EAAE,8BAA8B,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAyHD,UAAU,+BAAgC,SAAQ,KAAK;IACrD;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,UAAU,wBAAyB,SAAQ,KAAK;IAC9C;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,KAAK,qBAAqB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,0CAA2C,qBAAqB,4CA0C5F,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Button, Flex, IconBox, Text } from '@citric/core';
|
|
3
|
-
import { Envelope, EnvelopeOpen } from '@citric/icons';
|
|
3
|
+
import { Envelope, EnvelopeOpen, ExternalLink } from '@citric/icons';
|
|
4
4
|
import { IconButton, Tooltip } from '@citric/ui';
|
|
5
5
|
import { useTranslate } from '@stack-spot/portal-translate';
|
|
6
6
|
import { differenceInDays, parseISO } from 'date-fns';
|
|
@@ -61,7 +61,7 @@ const NotificationContent = ({ notification, isSummary }) => {
|
|
|
61
61
|
const NotificationFooter = ({ actionURL, onClickAction, title }) => {
|
|
62
62
|
const t = useTranslate(dictionary);
|
|
63
63
|
const Link = useAnchorTag();
|
|
64
|
-
return (_jsx(Flex, { mt: "5", children:
|
|
64
|
+
return (_jsx(Flex, { mt: "5", children: _jsxs(Button, { size: "sm", colorScheme: "inverse", appearance: "text", onClick: onClickAction, as: Link, href: actionURL, "aria-label": t.viewNotification.replace('%s', title || t.view), target: "_blank", children: [_jsx(Text, { sx: { mr: 2, textDecoration: 'underline' }, children: t.view }), _jsx(IconBox, { size: "xs", children: _jsx(ExternalLink, {}) })] }) }));
|
|
65
65
|
};
|
|
66
66
|
/**
|
|
67
67
|
* NotificationItem component that renders a notification item.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationItem.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAiD,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9G,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"NotificationItem.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { InputHTMLAttributes } from 'react'
|
|
|
2
2
|
|
|
3
3
|
export interface GenericAccessibleLabel {
|
|
4
4
|
/**
|
|
5
|
-
* This is how the option's label will be rendered inside the
|
|
5
|
+
* This is how the option's label will be rendered inside the dropdown list. This can be any React element.
|
|
6
6
|
*
|
|
7
7
|
* Attention: be careful, this should not have any important information that can't be represented through text (accessibility).
|
|
8
8
|
*/
|
|
@@ -14,7 +14,7 @@ export interface GenericAccessibleLabel {
|
|
|
14
14
|
/**
|
|
15
15
|
* This is how the option's label will be rendered as the select current value.
|
|
16
16
|
*
|
|
17
|
-
* If not provided, will be rendered using `
|
|
17
|
+
* If not provided, will be rendered using `option`.
|
|
18
18
|
*/
|
|
19
19
|
selected?: React.ReactElement,
|
|
20
20
|
}
|
|
@@ -38,7 +38,7 @@ interface BaseSelectProps<
|
|
|
38
38
|
*/
|
|
39
39
|
value: Option | undefined,
|
|
40
40
|
/**
|
|
41
|
-
* The label for the empty option.
|
|
41
|
+
* The label for the empty option. The empty option sets the value to undefined.
|
|
42
42
|
*
|
|
43
43
|
* If this is not set, there won't be an empty option for this select.
|
|
44
44
|
*/
|
|
@@ -51,7 +51,7 @@ interface BaseSelectProps<
|
|
|
51
51
|
* Provides the value of each option. This can be either a key of the option object or a function that receives the option and returns
|
|
52
52
|
* the value.
|
|
53
53
|
*
|
|
54
|
-
* This is required if the options
|
|
54
|
+
* This is required if the options don't have a relevant value returned by `toString()`.
|
|
55
55
|
*
|
|
56
56
|
* @example
|
|
57
57
|
* - `'id'`
|
|
@@ -62,7 +62,7 @@ interface BaseSelectProps<
|
|
|
62
62
|
* Provides the label of each option. This can be either a key of the option object or a function that receives the option and returns
|
|
63
63
|
* the label.
|
|
64
64
|
*
|
|
65
|
-
* This is required if the options
|
|
65
|
+
* This is required if the options don't have a relevant value returned by `toString()`.
|
|
66
66
|
*
|
|
67
67
|
* @example
|
|
68
68
|
* - `'name'`
|
|
@@ -80,7 +80,7 @@ interface BaseSelectProps<
|
|
|
80
80
|
*/
|
|
81
81
|
maxItems?: number,
|
|
82
82
|
/**
|
|
83
|
-
* Whether or not the options are being loaded. The field will become disabled while
|
|
83
|
+
* Whether or not the options are being loaded. The field will become disabled while isLoading is true.
|
|
84
84
|
*/
|
|
85
85
|
isLoading?: boolean,
|
|
86
86
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Box, Button, Flex, IconBox, OneOfColorSchemesWithVariants, Styles, SxProp, Text } from '@citric/core'
|
|
2
|
-
import { Envelope, EnvelopeOpen } from '@citric/icons'
|
|
2
|
+
import { Envelope, EnvelopeOpen, ExternalLink } from '@citric/icons'
|
|
3
3
|
import { IconButton, Tooltip } from '@citric/ui'
|
|
4
4
|
import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
|
|
5
5
|
import { differenceInDays, parseISO } from 'date-fns'
|
|
@@ -129,15 +129,19 @@ const NotificationFooter = ({ actionURL, onClickAction, title }: NotificationFoo
|
|
|
129
129
|
<Button
|
|
130
130
|
size="sm"
|
|
131
131
|
colorScheme="inverse"
|
|
132
|
+
appearance="text"
|
|
132
133
|
onClick={onClickAction}
|
|
133
134
|
as={Link}
|
|
134
135
|
href={actionURL}
|
|
135
136
|
aria-label={t.viewNotification.replace('%s', title || t.view)}
|
|
136
137
|
target="_blank"
|
|
137
138
|
>
|
|
138
|
-
<Text
|
|
139
|
+
<Text sx={{ mr: 2, textDecoration: 'underline' }}>
|
|
139
140
|
{t.view}
|
|
140
141
|
</Text>
|
|
142
|
+
<IconBox size="xs">
|
|
143
|
+
<ExternalLink />
|
|
144
|
+
</IconBox>
|
|
141
145
|
</Button>
|
|
142
146
|
</Flex>
|
|
143
147
|
)
|