@stack-spot/portal-components 2.5.2 → 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.
Files changed (52) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/components/form/Select/CustomSelect.d.ts +81 -0
  3. package/dist/components/form/Select/CustomSelect.d.ts.map +1 -0
  4. package/dist/components/form/Select/CustomSelect.js +178 -0
  5. package/dist/components/form/Select/CustomSelect.js.map +1 -0
  6. package/dist/components/form/Select/DetailedSelect.d.ts +65 -0
  7. package/dist/components/form/Select/DetailedSelect.d.ts.map +1 -0
  8. package/dist/components/form/Select/DetailedSelect.js +80 -0
  9. package/dist/components/form/Select/DetailedSelect.js.map +1 -0
  10. package/dist/components/form/Select/Select.d.ts +47 -0
  11. package/dist/components/form/Select/Select.d.ts.map +1 -0
  12. package/dist/components/form/Select/Select.js +62 -0
  13. package/dist/components/form/Select/Select.js.map +1 -0
  14. package/dist/components/form/Select/index.d.ts +5 -0
  15. package/dist/components/form/Select/index.d.ts.map +1 -0
  16. package/dist/components/form/Select/index.js +5 -0
  17. package/dist/components/form/Select/index.js.map +1 -0
  18. package/dist/components/form/Select/styled.d.ts +6 -0
  19. package/dist/components/form/Select/styled.d.ts.map +1 -0
  20. package/dist/components/form/Select/styled.js +165 -0
  21. package/dist/components/form/Select/styled.js.map +1 -0
  22. package/dist/components/form/Select/types.d.ts +103 -0
  23. package/dist/components/form/Select/types.d.ts.map +1 -0
  24. package/dist/components/form/Select/types.js +2 -0
  25. package/dist/components/form/Select/types.js.map +1 -0
  26. package/dist/components/form/Select/utils.d.ts +3 -0
  27. package/dist/components/form/Select/utils.d.ts.map +1 -0
  28. package/dist/components/form/Select/utils.js +20 -0
  29. package/dist/components/form/Select/utils.js.map +1 -0
  30. package/dist/components/notification/NotificationItem.d.ts.map +1 -1
  31. package/dist/components/notification/NotificationItem.js +2 -2
  32. package/dist/components/notification/NotificationItem.js.map +1 -1
  33. package/dist/containers/NotificationsPage.js +1 -1
  34. package/dist/hooks/keyboard.d.ts +4 -4
  35. package/dist/hooks/keyboard.d.ts.map +1 -1
  36. package/dist/hooks/keyboard.js +2 -2
  37. package/dist/hooks/keyboard.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/components/form/Select/CustomSelect.tsx +232 -0
  40. package/src/components/form/Select/DetailedSelect.tsx +85 -0
  41. package/src/components/form/Select/Select.tsx +67 -0
  42. package/src/components/form/Select/index.ts +4 -0
  43. package/src/components/form/Select/styled.ts +165 -0
  44. package/src/components/form/Select/types.ts +112 -0
  45. package/src/components/form/Select/utils.tsx +28 -0
  46. package/src/components/notification/NotificationItem.tsx +6 -2
  47. package/src/hooks/keyboard.tsx +6 -4
  48. package/dist/components/form/Select.d.ts +0 -69
  49. package/dist/components/form/Select.d.ts.map +0 -1
  50. package/dist/components/form/Select.js +0 -162
  51. package/dist/components/form/Select.js.map +0 -1
  52. package/src/components/form/Select.tsx +0 -265
@@ -0,0 +1,165 @@
1
+ import { theme } from '@stack-spot/portal-theme';
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
+ }
164
+ `;
165
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../../src/components/form/Select/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAA6C;;;YAGpE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY;;;;;;;;;;;;;;;;;;wBAkBtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;wBAEtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;0BAoBpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;eACjC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;0BAWX,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;8BACpB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwDtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;8BAIxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4B/B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;yBAWlB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC;;;;;;CAMxD,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ export interface GenericAccessibleLabel {
3
+ /**
4
+ * This is how the option's label will be rendered inside the dropdown list. This can be any React element.
5
+ *
6
+ * Attention: be careful, this should not have any important information that can't be represented through text (accessibility).
7
+ */
8
+ option: React.ReactElement;
9
+ /**
10
+ * This is a required text representation of the option. This is used for accessibility.
11
+ */
12
+ text: string;
13
+ /**
14
+ * This is how the option's label will be rendered as the select current value.
15
+ *
16
+ * If not provided, will be rendered using `option`.
17
+ */
18
+ selected?: React.ReactElement;
19
+ }
20
+ export interface DetailedLabel {
21
+ title: string;
22
+ description?: string;
23
+ image?: React.ReactElement;
24
+ }
25
+ export type AccessibleLabel = string | DetailedLabel | GenericAccessibleLabel;
26
+ type FilterObjectByValueType<T, Type> = {
27
+ [K in keyof T as T[K] extends Type ? K : never]: T[K];
28
+ };
29
+ export type KeyOfType<Data, Type> = Data extends Record<string, any> ? keyof FilterObjectByValueType<Data, Type> : never;
30
+ interface BaseSelectProps<Option, Label extends AccessibleLabel> extends Omit<InputHTMLAttributes<HTMLSelectElement>, 'value' | 'onChange'> {
31
+ /**
32
+ * The current value.
33
+ */
34
+ value: Option | undefined;
35
+ /**
36
+ * The label for the empty option. The empty option sets the value to undefined.
37
+ *
38
+ * If this is not set, there won't be an empty option for this select.
39
+ */
40
+ emptyOption?: Label;
41
+ /**
42
+ * The options to render in this selection menu.
43
+ */
44
+ options: Option[] | undefined;
45
+ /**
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
+ * the value.
48
+ *
49
+ * This is required if the options don't have a relevant value returned by `toString()`.
50
+ *
51
+ * @example
52
+ * - `'id'`
53
+ * - `(option) => option.id`
54
+ */
55
+ renderValue?: KeyOfType<Option, string> | ((item: NonNullable<Option>) => string);
56
+ /**
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
+ * the label.
59
+ *
60
+ * This is required if the options don't have a relevant value returned by `toString()`.
61
+ *
62
+ * @example
63
+ * - `'name'`
64
+ * - `(option) => option.name`
65
+ */
66
+ renderLabel?: KeyOfType<Option, Label> | ((item: NonNullable<Option>) => Label);
67
+ /**
68
+ * Called when the value changes.
69
+ * @param value the new value.
70
+ */
71
+ onChange: (value: Option | undefined) => void;
72
+ /**
73
+ * The maximum number of items before showing a vertical scroll bar.
74
+ * @default 6
75
+ */
76
+ maxItems?: number;
77
+ /**
78
+ * Whether or not the options are being loaded. The field will become disabled while isLoading is true.
79
+ */
80
+ isLoading?: boolean;
81
+ }
82
+ interface OptionalSelectProps<Option, Label extends AccessibleLabel> extends BaseSelectProps<Option, Label> {
83
+ emptyOption: Label;
84
+ }
85
+ interface RequiredSelectProps<Option, Label extends AccessibleLabel> extends Omit<BaseSelectProps<Option, Label>, 'onChange'> {
86
+ emptyOption?: undefined;
87
+ value: Option | undefined;
88
+ onChange: (value: Option) => void;
89
+ }
90
+ export type SelectProps<Option> = OptionalSelectProps<Option, string> | RequiredSelectProps<Option, string>;
91
+ export type DetailedSelectProps<Option> = OptionalSelectProps<Option, DetailedLabel> | RequiredSelectProps<Option, DetailedLabel>;
92
+ export type CustomSelectProps<Option> = (OptionalSelectProps<Option, GenericAccessibleLabel> | RequiredSelectProps<Option, GenericAccessibleLabel>) & {
93
+ /**
94
+ * Controls the height of component when it's closed.
95
+ *
96
+ * Developer note: it would be nice to automatically calculate this instead of expecting a prop.
97
+ *
98
+ * @default '42px'
99
+ */
100
+ height?: string;
101
+ };
102
+ export {};
103
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Select/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/form/Select/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { AccessibleLabel, GenericAccessibleLabel } from './types.js';
2
+ export declare function parseLabel(label: AccessibleLabel): GenericAccessibleLabel;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Select/utils.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAEjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,sBAAsB,CAwBzE"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from '@citric/core';
3
+ export function parseLabel(label) {
4
+ if (typeof label === 'string') {
5
+ return {
6
+ option: _jsx(Text, { children: label }),
7
+ text: label,
8
+ selected: _jsx(Text, { className: "clipped-text", children: label }),
9
+ };
10
+ }
11
+ if ('title' in label) {
12
+ return {
13
+ option: (_jsxs("div", { className: "detailed", children: [label.image && _jsx("div", { className: "image", children: label.image }), _jsxs("div", { className: "text-content", children: [_jsx(Text, { className: "title", children: label.title }), label.description && _jsx(Text, { className: "description", appearance: "microtext1", children: label.description })] })] })),
14
+ text: `${label.title}: ${label.description}`,
15
+ selected: _jsx(Text, { className: "clipped-text", children: label.title }),
16
+ };
17
+ }
18
+ return label;
19
+ }
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/form/Select/utils.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,MAAM,EAAE,KAAC,IAAI,cAAE,KAAK,GAAQ;YAC5B,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,YAAE,KAAK,GAAQ;SACxD,CAAA;IACH,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,CACN,eAAK,SAAS,EAAC,UAAU,aACtB,KAAK,CAAC,KAAK,IAAI,cAAK,SAAS,EAAC,OAAO,YAAE,KAAK,CAAC,KAAK,GAAO,EAC1D,eAAK,SAAS,EAAC,cAAc,aAC3B,KAAC,IAAI,IAAC,SAAS,EAAC,OAAO,YAAE,KAAK,CAAC,KAAK,GAAQ,EAC3C,KAAK,CAAC,WAAW,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,UAAU,EAAC,YAAY,YAAE,KAAK,CAAC,WAAW,GAAQ,IAClG,IACF,CACP;YACD,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE;YAC5C,QAAQ,EAAE,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,YAAE,KAAK,CAAC,KAAK,GAAQ;SAC9D,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -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;AAqHD,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
+ {"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: _jsx(Button, { size: "sm", colorScheme: "inverse", onClick: onClickAction, as: Link, href: actionURL, "aria-label": t.viewNotification.replace('%s', title || t.view), target: "_blank", children: _jsx(Text, { colorScheme: "inverse.contrastText", children: t.view }) }) }));
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":"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"}
1
+ {"version":3,"file":"NotificationItem.js","sourceRoot":"","sources":["../../../src/components/notification/NotificationItem.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { styled } from 'styled-components';
5
5
  import { AsyncContent } from '../components/AsyncContent.js';
6
6
  import { ErrorFeedback } from '../components/error/index.js';
7
7
  import { SearchInput } from '../components/form/SearchInput.js';
8
- import { Select } from '../components/form/Select.js';
8
+ 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';
@@ -16,16 +16,16 @@ interface Props {
16
16
  }
17
17
  /**
18
18
  * Creates listeners for controlling a Menu UI through the keyboard.
19
- * - Arrow down: next element in the iterator returned by the query selectors. First element, it the current element is the last.
20
- * - Arrow up: previous element in the iterator returned by the query selectors. Last element, it the current element is the first.
19
+ * - Arrow down: next element in the iterator returned by the query selectors. First element, if the current element is the last.
20
+ * - Arrow up: previous element in the iterator returned by the query selectors. Last element, if the current element is the first.
21
21
  * - Tab: same as Arrow down, but has a different behavior if the element is the last (see onPressLastTab).
22
22
  * - Esc: determined by onPressEscape.
23
23
  * @param props {@link Props}.
24
24
  * @returns an object with the element controlled by the keyboard (useRef); a function to attach the keyboard events and a function to
25
25
  * detach the keyboard events.
26
26
  */
27
- export declare function useKeyboardControls({ querySelectors, onPressEscape, onPressLastTab }: Props): {
28
- keyboardControlledElement: import("react").RefObject<HTMLDivElement>;
27
+ export declare function useKeyboardControls<T extends HTMLElement = HTMLDivElement>({ querySelectors, onPressEscape, onPressLastTab }: Props): {
28
+ keyboardControlledElement: import("react").RefObject<T>;
29
29
  attachKeyboardListeners: () => void;
30
30
  detachKeyboardListeners: () => void;
31
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/hooks/keyboard.tsx"],"names":[],"mappings":";AAEA,UAAU,KAAK;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,cAA8B,EAAE,EAAE,KAAK;;;;EAmD3G"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/hooks/keyboard.tsx"],"names":[],"mappings":";AAEA,UAAU,KAAK;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EACxE,EAAE,cAAc,EAAE,aAAa,EAAE,cAA8B,EAAE,EAAE,KAAK;;;;EAoDzE"}
@@ -1,8 +1,8 @@
1
1
  import { useCallback, useRef } from 'react';
2
2
  /**
3
3
  * Creates listeners for controlling a Menu UI through the keyboard.
4
- * - Arrow down: next element in the iterator returned by the query selectors. First element, it the current element is the last.
5
- * - Arrow up: previous element in the iterator returned by the query selectors. Last element, it the current element is the first.
4
+ * - Arrow down: next element in the iterator returned by the query selectors. First element, if the current element is the last.
5
+ * - Arrow up: previous element in the iterator returned by the query selectors. Last element, if the current element is the first.
6
6
  * - Tab: same as Arrow down, but has a different behavior if the element is the last (see onPressLastTab).
7
7
  * - Esc: determined by onPressEscape.
8
8
  * @param props {@link Props}.
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/hooks/keyboard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAkB3C;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,GAAG,aAAa,EAAS;IAC1G,MAAM,yBAAyB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAkD,EAAE,CAAC,CAAA;IAC7E,SAAS,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA;IAErD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,KAAoB,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,KAAK,EAAE,MAA4B,CAAA;QAElD,SAAS,oBAAoB;YAC3B,OAAO,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAClF,CAAC;QAED,SAAS,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;YACnC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;YACtC,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAA;YACvE,MAAM,IAAI,GAAQ,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACxH,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;QACjB,CAAC;QAED,MAAM,QAAQ,GAA6C;YACzD,MAAM,EAAE,GAAG,EAAE;gBACX,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAA;gBACnC,KAAK,CAAC,eAAe,EAAE,CAAA;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAA;YACxB,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,EAAE,KAAK,EAAE,CAAA;YACjB,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;gBACtC,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAE,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;;oBAC1F,YAAY,CAAC,WAAW,CAAC,CAAA;gBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;YACxB,CAAC;YACD,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,YAAY;SACxB,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACxD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,CAAA;AACxF,CAAC"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/hooks/keyboard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAkB3C;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,GAAG,aAAa,EAAS;IAExE,MAAM,yBAAyB,GAAG,MAAM,CAAI,IAAI,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,MAAM,CAAkD,EAAE,CAAC,CAAA;IAC7E,SAAS,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA;IAErD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,KAAoB,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,KAAK,EAAE,MAA4B,CAAA;QAElD,SAAS,oBAAoB;YAC3B,OAAO,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAClF,CAAC;QAED,SAAS,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;YACnC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;YACtC,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAA;YACvE,MAAM,IAAI,GAAQ,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACxH,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;QACjB,CAAC;QAED,MAAM,QAAQ,GAA6C;YACzD,MAAM,EAAE,GAAG,EAAE;gBACX,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAA;gBACnC,KAAK,CAAC,eAAe,EAAE,CAAA;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAA;YACxB,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,EAAE,KAAK,EAAE,CAAA;YACjB,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;gBACtC,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAE,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;;oBAC1F,YAAY,CAAC,WAAW,CAAC,CAAA;gBAC/B,KAAK,CAAC,cAAc,EAAE,CAAA;YACxB,CAAC;YACD,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,YAAY;SACxB,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACxD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,CAAA;AACxF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-components",
3
- "version": "2.5.2",
3
+ "version": "2.6.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "./error": "./dist/components/error/index.js",
22
22
  "./AnimatedHeight": "./dist/components/AnimatedHeight.js",
23
23
  "./SearchInput": "./dist/components/form/SearchInput.js",
24
- "./Select": "./dist/components/form/Select.js",
24
+ "./Select": "./dist/components/form/Select/index.js",
25
25
  "./Stepper": "./dist/components/Stepper/index.js"
26
26
  },
27
27
  "scripts": {