@transferwise/components 0.0.0-experimental-fed4f10 → 0.0.0-experimental-8d08be7

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 (83) hide show
  1. package/build/alert/Alert.js.map +1 -1
  2. package/build/alert/Alert.mjs.map +1 -1
  3. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  4. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  5. package/build/common/propsValues/sentiment.js +1 -0
  6. package/build/common/propsValues/sentiment.js.map +1 -1
  7. package/build/common/propsValues/sentiment.mjs +1 -0
  8. package/build/common/propsValues/sentiment.mjs.map +1 -1
  9. package/build/index.js +0 -1
  10. package/build/index.js.map +1 -1
  11. package/build/index.mjs +1 -1
  12. package/build/main.css +60 -188
  13. package/build/statusIcon/StatusIcon.js +2 -2
  14. package/build/statusIcon/StatusIcon.js.map +1 -1
  15. package/build/statusIcon/StatusIcon.mjs +2 -2
  16. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  17. package/build/styles/inputs/Input.css +28 -2
  18. package/build/styles/inputs/TextArea.css +28 -2
  19. package/build/styles/main.css +60 -188
  20. package/build/styles/popover/Popover.css +28 -2
  21. package/build/title/Title.js.map +1 -1
  22. package/build/title/Title.mjs.map +1 -1
  23. package/build/types/alert/Alert.d.ts +2 -2
  24. package/build/types/alert/Alert.d.ts.map +1 -1
  25. package/build/types/avatarWrapper/AvatarWrapper.d.ts +2 -2
  26. package/build/types/avatarWrapper/AvatarWrapper.d.ts.map +1 -1
  27. package/build/types/common/propsValues/sentiment.d.ts.map +1 -1
  28. package/build/types/index.d.ts +0 -2
  29. package/build/types/index.d.ts.map +1 -1
  30. package/build/types/statusIcon/StatusIcon.d.ts +3 -2
  31. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  32. package/build/types/test-utils/fake-data.d.ts +0 -1
  33. package/build/types/test-utils/fake-data.d.ts.map +1 -1
  34. package/build/types/title/Title.d.ts.map +1 -1
  35. package/package.json +5 -5
  36. package/src/alert/Alert.story.tsx +5 -3
  37. package/src/alert/Alert.tsx +11 -2
  38. package/src/avatarWrapper/AvatarWrapper.story.tsx +2 -2
  39. package/src/avatarWrapper/AvatarWrapper.tsx +3 -2
  40. package/src/common/propsValues/sentiment.ts +1 -0
  41. package/src/index.ts +0 -2
  42. package/src/inputs/Input.css +28 -2
  43. package/src/inputs/TextArea.css +28 -2
  44. package/src/main.css +60 -188
  45. package/src/main.less +0 -1
  46. package/src/popover/Popover.css +28 -2
  47. package/src/statusIcon/StatusIcon.docs.mdx +1 -1
  48. package/src/statusIcon/StatusIcon.spec.tsx +10 -4
  49. package/src/statusIcon/StatusIcon.story.tsx +10 -5
  50. package/src/statusIcon/StatusIcon.tsx +6 -4
  51. package/src/test-utils/fake-data.ts +0 -3
  52. package/src/title/Title.test.story.tsx +19 -12
  53. package/src/title/Title.tsx +1 -0
  54. package/build/styles/item/Item.css +0 -184
  55. package/build/types/item/Item.d.ts +0 -40
  56. package/build/types/item/Item.d.ts.map +0 -1
  57. package/build/types/item/ItemAdditionalInfo.d.ts +0 -9
  58. package/build/types/item/ItemAdditionalInfo.d.ts.map +0 -1
  59. package/build/types/item/ItemCheckbox.d.ts +0 -4
  60. package/build/types/item/ItemCheckbox.d.ts.map +0 -1
  61. package/build/types/item/ItemIconButton.d.ts +0 -4
  62. package/build/types/item/ItemIconButton.d.ts.map +0 -1
  63. package/build/types/item/ItemImage.d.ts +0 -4
  64. package/build/types/item/ItemImage.d.ts.map +0 -1
  65. package/build/types/item/ItemNavigation.d.ts +0 -4
  66. package/build/types/item/ItemNavigation.d.ts.map +0 -1
  67. package/build/types/item/index.d.ts +0 -5
  68. package/build/types/item/index.d.ts.map +0 -1
  69. package/build/types/item/prompt/Prompt.d.ts +0 -12
  70. package/build/types/item/prompt/Prompt.d.ts.map +0 -1
  71. package/src/item/Item.css +0 -184
  72. package/src/item/Item.less +0 -178
  73. package/src/item/Item.story.tsx +0 -93
  74. package/src/item/Item.tsx +0 -165
  75. package/src/item/ItemAdditionalInfo.tsx +0 -31
  76. package/src/item/ItemCheckbox.tsx +0 -16
  77. package/src/item/ItemIconButton.tsx +0 -15
  78. package/src/item/ItemImage.tsx +0 -11
  79. package/src/item/ItemNavigation.tsx +0 -16
  80. package/src/item/index.ts +0 -4
  81. package/src/item/prompt/Prompt.spec.tsx +0 -77
  82. package/src/item/prompt/Prompt.story.tsx +0 -170
  83. package/src/item/prompt/Prompt.tsx +0 -44
@@ -1,8 +1,8 @@
1
1
  import { Meta, StoryObj } from '@storybook/react';
2
2
 
3
- import { Sentiment, Size } from '../common';
3
+ import { Sentiment, Size, Status } from '../common';
4
4
 
5
- import StatusIcon from './StatusIcon';
5
+ import StatusIcon, { StatusIconSentiment } from './StatusIcon';
6
6
  import { storyConfig } from '../test-utils';
7
7
 
8
8
  export default {
@@ -42,6 +42,7 @@ export const Variants = storyConfig(
42
42
  Sentiment.WARNING,
43
43
  Sentiment.NEUTRAL,
44
44
  Sentiment.PENDING,
45
+ Status.PENDING,
45
46
  ].map((sentiment) => {
46
47
  return (
47
48
  <span
@@ -55,7 +56,9 @@ export const Variants = storyConfig(
55
56
  }}
56
57
  >
57
58
  {([16, 24, 32, 40, 48, 56, 72] as const).map((size) => {
58
- return <StatusIcon key={size} size={size} sentiment={sentiment} />;
59
+ return (
60
+ <StatusIcon key={size} size={size} sentiment={sentiment as StatusIconSentiment} />
61
+ );
59
62
  })}
60
63
  </span>
61
64
  );
@@ -74,7 +77,7 @@ export const LegacySizes: Story = {
74
77
  Sentiment.NEGATIVE,
75
78
  Sentiment.NEUTRAL,
76
79
  Sentiment.WARNING,
77
- Sentiment.PENDING,
80
+ Status.PENDING,
78
81
  ].map((sentiment) => {
79
82
  return (
80
83
  <span
@@ -88,7 +91,9 @@ export const LegacySizes: Story = {
88
91
  }}
89
92
  >
90
93
  {([Size.SMALL, Size.MEDIUM, Size.LARGE] as const).map((size) => {
91
- return <StatusIcon key={size} size={size} sentiment={sentiment} />;
94
+ return (
95
+ <StatusIcon key={size} size={size} sentiment={sentiment as StatusIconSentiment} />
96
+ );
92
97
  })}
93
98
  </span>
94
99
  );
@@ -2,7 +2,7 @@ import { Info, Alert, Cross, Check, ClockBorderless } from '@transferwise/icons'
2
2
  import { clsx } from 'clsx';
3
3
  import { useIntl } from 'react-intl';
4
4
 
5
- import { SizeSmall, SizeMedium, SizeLarge, Sentiment, Size, Breakpoint } from '../common';
5
+ import { SizeSmall, SizeMedium, SizeLarge, Sentiment, Size, Breakpoint, Status } from '../common';
6
6
  import Circle, { CircleProps } from '../common/circle';
7
7
  import { useMedia } from '../common/hooks/useMedia';
8
8
 
@@ -13,8 +13,10 @@ import messages from './StatusIcon.messages';
13
13
  */
14
14
  type LegacySizes = SizeSmall | SizeMedium | SizeLarge;
15
15
 
16
+ export type StatusIconSentiment = Sentiment | Status.PENDING;
17
+
16
18
  export type StatusIconProps = {
17
- sentiment?: `${Sentiment}`;
19
+ sentiment?: `${StatusIconSentiment}`;
18
20
  size?: LegacySizes | 16 | 24 | 32 | 40 | 48 | 56 | 72;
19
21
  /**
20
22
  * Override for the sentiment's-derived, default, accessible
@@ -34,7 +36,7 @@ const StatusIcon = ({ sentiment = 'neutral', size: sizeProp = 40, iconLabel }: S
34
36
  const intl = useIntl();
35
37
 
36
38
  const iconMetaBySentiment: Record<
37
- `${Sentiment}`,
39
+ `${Sentiment}` | Status.PENDING,
38
40
  {
39
41
  Icon: React.ElementType;
40
42
  defaultIconLabel: string;
@@ -52,7 +54,7 @@ const StatusIcon = ({ sentiment = 'neutral', size: sizeProp = 40, iconLabel }: S
52
54
  Icon: Alert,
53
55
  defaultIconLabel: intl.formatMessage(messages.warningLabel),
54
56
  },
55
- [Sentiment.PENDING]: {
57
+ [Status.PENDING]: {
56
58
  Icon: ClockBorderless,
57
59
  defaultIconLabel: intl.formatMessage(messages.pendingLabel),
58
60
  },
@@ -1,9 +1,6 @@
1
1
  export const lorem10 =
2
2
  'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iste, architecto?';
3
3
 
4
- export const lorem20 =
5
- 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum non explicabo doloribus rerum saepe ut beatae adipisci rem vero optio.';
6
-
7
4
  export const lorem40 =
8
5
  'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Illo esse quod et iure deserunt facilis similique voluptatem reprehenderit mollitia inventore, ab voluptate dignissimos autem repellat accusamus perferendis sed pariatur tempore possimus ipsam praesentium ipsum? Nesciunt cumque repellendus impedit aliquam! Error?';
9
6
 
@@ -1,5 +1,4 @@
1
1
  import { Typography } from '../common/propsValues/typography';
2
- import Modal from '../modal';
3
2
  import { lorem1000 } from '../test-utils';
4
3
 
5
4
  import Title from './Title';
@@ -7,19 +6,27 @@ import Title from './Title';
7
6
  export default {
8
7
  component: Title,
9
8
  title: 'Typography/Title/Tests',
9
+ args: {
10
+ children: lorem1000.replaceAll(' ', ''),
11
+ },
12
+ argTypes: {
13
+ as: {
14
+ table: {
15
+ disable: true,
16
+ },
17
+ },
18
+ type: {
19
+ table: {
20
+ disable: true,
21
+ },
22
+ },
23
+ },
10
24
  };
11
25
 
12
- export const Hyphenation = () => {
26
+ export const Hyphenation = ({ children }: { children: string }) => {
13
27
  return (
14
- <Modal
15
- open
16
- body={
17
- <Title type={Typography.TITLE_SCREEN} style={{ maxWidth: '600px' }}>
18
- This Screen Title is mostly one very long word and it hyphenates{' '}
19
- {lorem1000.replaceAll(' ', '')}
20
- </Title>
21
- }
22
- onClose={() => {}}
23
- />
28
+ <Title type={Typography.TITLE_SCREEN} style={{ maxWidth: '600px', wordWrap: 'break-word' }}>
29
+ {` ${children}`}
30
+ </Title>
24
31
  );
25
32
  };
@@ -28,6 +28,7 @@ type Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabe
28
28
  function Title({ as, type = DEFAULT_TYPE, className, ...props }: Props) {
29
29
  const mapping = titleTypeMapping[type];
30
30
  const isTypeSupported = mapping !== undefined;
31
+
31
32
  if (isTypeSupported) {
32
33
  const HeaderTag = as ?? mapping;
33
34
  return <HeaderTag {...props} className={clsx(`np-text-${type}`, className)} />;
@@ -1,184 +0,0 @@
1
- .np-item {
2
- padding: 16px;
3
- padding: var(--size-16);
4
- border-radius: 24px;
5
- border-radius: var(--radius-large);
6
- background-color: #ffffff;
7
- background-color: var(--color-background-screen);
8
- display: flex;
9
- gap: 16px;
10
- gap: var(--size-16);
11
- align-items: center;
12
- flex-direction: row;
13
- cursor: pointer;
14
- }
15
- .np-item:hover {
16
- background-color: var(--color-background-screen-hover);
17
- }
18
- .np-item:active {
19
- background-color: var(--color-background-screen-active);
20
- }
21
- .np-item-media {
22
- flex: 0 0 auto;
23
- align-items: flex-start;
24
- }
25
- .np-item-title {
26
- color: #37517e;
27
- color: var(--color-content-primary);
28
- }
29
- .np-item-additional-info {
30
- color: #768e9c;
31
- color: var(--color-content-tertiary);
32
- }
33
- .np-item-value {
34
- flex: 0 0 auto;
35
- }
36
- .np-item-control {
37
- flex: 0 0 auto;
38
- }
39
- .np-item-spotlight-active {
40
- background-color: rgba(134,167,189,0.10196);
41
- background-color: var(--color-background-neutral);
42
- }
43
- .np-item-spotlight-active:hover {
44
- background-color: var(--color-background-neutral-hover);
45
- }
46
- .np-item-spotlight-active:active {
47
- background-color: var(--color-background-neutral-active);
48
- }
49
- .np-item-spotlight-inactive {
50
- background-color: rgba(134, 167, 189, 0.025);
51
- border: 1px dashed rgba(0,0,0,0.10196);
52
- border: 1px dashed var(--color-border-neutral);
53
- }
54
- @supports (color: color-mix(in lch, red, blue)) {
55
- .np-item-spotlight-inactive {
56
- background-color: color-mix(in srgb, var(--color-background-neutral) 25%, transparent);
57
- }
58
- }
59
- .np-item-spotlight-inactive:hover {
60
- background-color: color-mix(in srgb, var(--color-background-neutral-hover) 25%, transparent);
61
- }
62
- .np-item-spotlight-inactive:active {
63
- background-color: color-mix(in srgb, var(--color-background-neutral-active) 25%, transparent);
64
- }
65
- .np-item-prompt {
66
- display: inline-flex;
67
- padding-top: calc(8px / 2);
68
- padding-top: calc(var(--padding-x-small) / 2);
69
- padding-bottom: calc(8px / 2);
70
- padding-bottom: calc(var(--padding-x-small) / 2);
71
- padding-left: calc(8px - 1px);
72
- padding-left: calc(var(--padding-x-small) - 1px);
73
- padding-right: 8px;
74
- padding-right: var(--padding-x-small);
75
- border-radius: 10px;
76
- border-radius: var(--radius-small);
77
- word-break: break-word;
78
- word-wrap: break-word;
79
- }
80
- .np-item-prompt .np-prompt-icon {
81
- padding-right: 6px;
82
- padding-top: 3px;
83
- padding-bottom: 3px;
84
- }
85
- .np-item-prompt .np-prompt-icon .tw-icon-tags,
86
- .np-item-prompt .np-prompt-icon .tw-icon-confetti {
87
- color: var(--color-sentiment-positive-primary);
88
- }
89
- .np-item-prompt a {
90
- text-underline-offset: calc(4px / 2);
91
- text-underline-offset: calc(var(--size-4) / 2);
92
- display: inline;
93
- }
94
- .np-item-prompt.np-prompt-interactive {
95
- -webkit-text-decoration: none;
96
- text-decoration: none;
97
- cursor: pointer;
98
- border: none;
99
- }
100
- .np-item-prompt.negative {
101
- background-color: var(--color-sentiment-negative-secondary);
102
- color: var(--color-sentiment-negative-primary);
103
- }
104
- .np-item-prompt.negative a {
105
- color: var(--color-sentiment-negative-primary);
106
- }
107
- .np-item-prompt.negative a:hover {
108
- color: var(--color-sentiment-negative-primary-hover);
109
- }
110
- .np-item-prompt.negative a:active {
111
- color: var(--color-sentiment-negative-primary-active);
112
- }
113
- .np-prompt-interactive.np-item-prompt.negative:hover {
114
- background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 95%, var(--color-sentiment-negative-primary));
115
- }
116
- .np-prompt-interactive.np-item-prompt.negative:active {
117
- background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 90%, var(--color-sentiment-negative-primary));
118
- }
119
- .np-item-prompt.positive,
120
- .np-item-prompt.discount,
121
- .np-item-prompt.savings {
122
- background-color: var(--color-sentiment-positive-secondary);
123
- color: var(--color-sentiment-positive-primary);
124
- }
125
- .np-item-prompt.positive a,
126
- .np-item-prompt.discount a,
127
- .np-item-prompt.savings a {
128
- color: var(--color-sentiment-positive-primary);
129
- }
130
- .np-item-prompt.positive a:hover,
131
- .np-item-prompt.discount a:hover,
132
- .np-item-prompt.savings a:hover {
133
- color: var(--color-sentiment-positive-primary-hover);
134
- }
135
- .np-item-prompt.positive a:active,
136
- .np-item-prompt.discount a:active,
137
- .np-item-prompt.savings a:active {
138
- color: var(--color-sentiment-positive-primary-active);
139
- }
140
- .np-prompt-interactive.np-item-prompt.positive:hover,
141
- .np-prompt-interactive.np-item-prompt.discount:hover,
142
- .np-prompt-interactive.np-item-prompt.savings:hover {
143
- background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 95%, var(--color-sentiment-positive-primary));
144
- }
145
- .np-prompt-interactive.np-item-prompt.positive:active,
146
- .np-prompt-interactive.np-item-prompt.discount:active,
147
- .np-prompt-interactive.np-item-prompt.savings:active {
148
- background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 90%, var(--color-sentiment-positive-primary));
149
- }
150
- .np-item-prompt.neutral {
151
- background-color: rgba(134,167,189,0.10196);
152
- background-color: var(--color-background-neutral);
153
- color: #37517e;
154
- color: var(--color-content-primary);
155
- }
156
- .np-item-prompt.neutral a {
157
- color: #37517e;
158
- color: var(--color-content-primary);
159
- }
160
- .np-prompt-interactive.np-item-prompt.neutral:hover {
161
- background-color: var(--color-background-neutral-hover);
162
- }
163
- .np-prompt-interactive.np-item-prompt.neutral:active {
164
- background-color: var(--color-background-neutral-active);
165
- }
166
- .np-item-prompt.warning {
167
- background-color: var(--color-sentiment-warning-secondary);
168
- color: var(--color-sentiment-warning-content);
169
- }
170
- .np-item-prompt.warning a {
171
- color: var(--color-sentiment-warning-content);
172
- }
173
- .np-item-prompt.warning a:hover {
174
- color: var(--color-sentiment-warning-content-hover);
175
- }
176
- .np-item-prompt.warning a:active {
177
- color: var(--color-sentiment-warning-content-active);
178
- }
179
- .np-prompt-interactive.np-item-prompt.warning:hover {
180
- background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 90%, var(--color-sentiment-warning-primary));
181
- }
182
- .np-prompt-interactive.np-item-prompt.warning:active {
183
- background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 80%, var(--color-sentiment-warning-primary));
184
- }
@@ -1,40 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export type ItemTypes = 'none' | 'navigation' | 'radio' | 'checkbox' | 'switch' | 'button' | 'icon-button';
3
- export type Props = {
4
- as?: 'li' | 'div' | 'span';
5
- inverted?: boolean;
6
- disabled?: boolean;
7
- partialInteractivity?: boolean;
8
- spotlight?: 'active' | 'inactive';
9
- title: ReactNode;
10
- subtitle?: ReactNode;
11
- additionalInfo?: ReactNode;
12
- valueTitle?: ReactNode;
13
- valueSubtitle?: ReactNode;
14
- media?: ReactNode;
15
- control?: ReactNode;
16
- prompt?: ReactNode;
17
- };
18
- export type ItemContextData = {
19
- setControlType: (type: ItemTypes) => void;
20
- ids: {
21
- label: string;
22
- additionalInfo: string;
23
- value: string;
24
- control: string;
25
- prompt: string;
26
- };
27
- props: Pick<Props, 'as' | 'disabled' | 'inverted'>;
28
- };
29
- export declare const ItemContext: import("react").Context<ItemContextData>;
30
- export declare const Item: {
31
- ({ as: View, title, subtitle, additionalInfo, prompt, inverted, media, spotlight, valueTitle, valueSubtitle, control, disabled, }: Props): import("react").JSX.Element;
32
- Image: (props: import("./ItemImage").ItemImageProps) => import("react").JSX.Element;
33
- AdditionalInfo: ({ children, action }: import("./ItemAdditionalInfo").ItemAdditionalInfoProps) => import("react").JSX.Element;
34
- Checkbox: (props: import("./ItemCheckbox").ItemCheckboxProps) => import("react").JSX.Element;
35
- IconButton: (props: import("./ItemIconButton").ItemIconButtonProps) => import("react").JSX.Element;
36
- Navigation: ({ onClick }: import("./ItemNavigation").ItemNavigationProps) => import("react").JSX.Element;
37
- Prompt: ({ type, children, action }: import("./prompt/Prompt").ItemPromptProps) => import("react").JSX.Element;
38
- };
39
- export default Item;
40
- //# sourceMappingURL=Item.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/item/Item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAA4B,MAAM,OAAO,CAAC;AAW3E,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,YAAY,GACZ,OAAO,GACP,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;CACpD,CAAC;AAIF,eAAO,MAAM,WAAW,0CAAuC,CAAC;AAEhE,eAAO,MAAM,IAAI;uIAad,KAAK;;;;;;;CAwFP,CAAC;AAWF,eAAe,IAAI,CAAC"}
@@ -1,9 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { LinkProps } from '../link';
3
- export type ItemAdditionalInfoProps = PropsWithChildren<{
4
- action?: Pick<LinkProps, 'href' | 'onClick' | 'target'> & {
5
- label?: string;
6
- };
7
- }>;
8
- export declare const AdditionalInfo: ({ children, action }: ItemAdditionalInfoProps) => import("react").JSX.Element;
9
- //# sourceMappingURL=ItemAdditionalInfo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemAdditionalInfo.d.ts","sourceRoot":"","sources":["../../../src/item/ItemAdditionalInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAGtD,OAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACtD,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E,CAAC,CAAC;AAEH,eAAO,MAAM,cAAc,yBAAmC,uBAAuB,gCAoBpF,CAAC"}
@@ -1,4 +0,0 @@
1
- import { CheckboxButtonProps } from '../checkboxButton/CheckboxButton';
2
- export type ItemCheckboxProps = Pick<CheckboxButtonProps, 'checked' | 'indeterminate' | 'onChange'>;
3
- export declare const Checkbox: (props: ItemCheckboxProps) => import("react").JSX.Element;
4
- //# sourceMappingURL=ItemCheckbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemCheckbox.d.ts","sourceRoot":"","sources":["../../../src/item/ItemCheckbox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAGvE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,eAAe,GAAG,UAAU,CAAC,CAAC;AAEpG,eAAO,MAAM,QAAQ,UAAoB,iBAAiB,gCAQzD,CAAC"}
@@ -1,4 +0,0 @@
1
- import { IconButtonProps } from '../iconButton';
2
- export type ItemIconButtonProps = Pick<IconButtonProps, 'onClick' | 'href' | 'target'>;
3
- export declare const IconButton: (props: ItemIconButtonProps) => import("react").JSX.Element;
4
- //# sourceMappingURL=ItemIconButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemIconButton.d.ts","sourceRoot":"","sources":["../../../src/item/ItemIconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvF,eAAO,MAAM,UAAU,UAAoB,mBAAmB,gCAQ7D,CAAC"}
@@ -1,4 +0,0 @@
1
- import { ImageProps } from '../image/Image';
2
- export type ItemImageProps = Pick<ImageProps, 'src' | 'alt'>;
3
- export declare const Image: (props: ItemImageProps) => import("react").JSX.Element;
4
- //# sourceMappingURL=ItemImage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemImage.d.ts","sourceRoot":"","sources":["../../../src/item/ItemImage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;AAE7D,eAAO,MAAM,KAAK,UAAoB,cAAc,gCAInD,CAAC"}
@@ -1,4 +0,0 @@
1
- import { ButtonProps } from '../button/Button.types';
2
- export type ItemNavigationProps = Pick<ButtonProps, 'onClick' | 'href'>;
3
- export declare const Navigation: ({ onClick }: ItemNavigationProps) => import("react").JSX.Element;
4
- //# sourceMappingURL=ItemNavigation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemNavigation.d.ts","sourceRoot":"","sources":["../../../src/item/ItemNavigation.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,UAAU,gBAAoC,mBAAmB,gCAQ7E,CAAC"}
@@ -1,5 +0,0 @@
1
- export type { Props as ItemProps } from './Item';
2
- export type { ItemAdditionalInfoProps } from './ItemAdditionalInfo';
3
- export type { ItemCheckboxProps } from './ItemCheckbox';
4
- export { default } from './Item';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/item/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Sentiment } from '../../common';
2
- import { LinkProps } from '../../link';
3
- export type ItemPromptProps = {
4
- type: `${Sentiment.POSITIVE | Sentiment.NEGATIVE | Sentiment.NEUTRAL | Sentiment.WARNING}` | 'discount' | 'savings';
5
- children: React.ReactNode;
6
- action?: Pick<LinkProps, 'href' | 'target' | 'onClick'> & {
7
- 'aria-label'?: string;
8
- };
9
- };
10
- export declare const ItemPrompt: ({ type, children, action }: ItemPromptProps) => import("react").JSX.Element;
11
- export default ItemPrompt;
12
- //# sourceMappingURL=Prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../../src/item/prompt/Prompt.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EACA,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,GACpF,UAAU,GACV,SAAS,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF,CAAC;AAEF,eAAO,MAAM,UAAU,+BAAgC,eAAe,gCAyBrE,CAAC;AAEF,eAAe,UAAU,CAAC"}
package/src/item/Item.css DELETED
@@ -1,184 +0,0 @@
1
- .np-item {
2
- padding: 16px;
3
- padding: var(--size-16);
4
- border-radius: 24px;
5
- border-radius: var(--radius-large);
6
- background-color: #ffffff;
7
- background-color: var(--color-background-screen);
8
- display: flex;
9
- gap: 16px;
10
- gap: var(--size-16);
11
- align-items: center;
12
- flex-direction: row;
13
- cursor: pointer;
14
- }
15
- .np-item:hover {
16
- background-color: var(--color-background-screen-hover);
17
- }
18
- .np-item:active {
19
- background-color: var(--color-background-screen-active);
20
- }
21
- .np-item-media {
22
- flex: 0 0 auto;
23
- align-items: flex-start;
24
- }
25
- .np-item-title {
26
- color: #37517e;
27
- color: var(--color-content-primary);
28
- }
29
- .np-item-additional-info {
30
- color: #768e9c;
31
- color: var(--color-content-tertiary);
32
- }
33
- .np-item-value {
34
- flex: 0 0 auto;
35
- }
36
- .np-item-control {
37
- flex: 0 0 auto;
38
- }
39
- .np-item-spotlight-active {
40
- background-color: rgba(134,167,189,0.10196);
41
- background-color: var(--color-background-neutral);
42
- }
43
- .np-item-spotlight-active:hover {
44
- background-color: var(--color-background-neutral-hover);
45
- }
46
- .np-item-spotlight-active:active {
47
- background-color: var(--color-background-neutral-active);
48
- }
49
- .np-item-spotlight-inactive {
50
- background-color: rgba(134, 167, 189, 0.025);
51
- border: 1px dashed rgba(0,0,0,0.10196);
52
- border: 1px dashed var(--color-border-neutral);
53
- }
54
- @supports (color: color-mix(in lch, red, blue)) {
55
- .np-item-spotlight-inactive {
56
- background-color: color-mix(in srgb, var(--color-background-neutral) 25%, transparent);
57
- }
58
- }
59
- .np-item-spotlight-inactive:hover {
60
- background-color: color-mix(in srgb, var(--color-background-neutral-hover) 25%, transparent);
61
- }
62
- .np-item-spotlight-inactive:active {
63
- background-color: color-mix(in srgb, var(--color-background-neutral-active) 25%, transparent);
64
- }
65
- .np-item-prompt {
66
- display: inline-flex;
67
- padding-top: calc(8px / 2);
68
- padding-top: calc(var(--padding-x-small) / 2);
69
- padding-bottom: calc(8px / 2);
70
- padding-bottom: calc(var(--padding-x-small) / 2);
71
- padding-left: calc(8px - 1px);
72
- padding-left: calc(var(--padding-x-small) - 1px);
73
- padding-right: 8px;
74
- padding-right: var(--padding-x-small);
75
- border-radius: 10px;
76
- border-radius: var(--radius-small);
77
- word-break: break-word;
78
- word-wrap: break-word;
79
- }
80
- .np-item-prompt .np-prompt-icon {
81
- padding-right: 6px;
82
- padding-top: 3px;
83
- padding-bottom: 3px;
84
- }
85
- .np-item-prompt .np-prompt-icon .tw-icon-tags,
86
- .np-item-prompt .np-prompt-icon .tw-icon-confetti {
87
- color: var(--color-sentiment-positive-primary);
88
- }
89
- .np-item-prompt a {
90
- text-underline-offset: calc(4px / 2);
91
- text-underline-offset: calc(var(--size-4) / 2);
92
- display: inline;
93
- }
94
- .np-item-prompt.np-prompt-interactive {
95
- -webkit-text-decoration: none;
96
- text-decoration: none;
97
- cursor: pointer;
98
- border: none;
99
- }
100
- .np-item-prompt.negative {
101
- background-color: var(--color-sentiment-negative-secondary);
102
- color: var(--color-sentiment-negative-primary);
103
- }
104
- .np-item-prompt.negative a {
105
- color: var(--color-sentiment-negative-primary);
106
- }
107
- .np-item-prompt.negative a:hover {
108
- color: var(--color-sentiment-negative-primary-hover);
109
- }
110
- .np-item-prompt.negative a:active {
111
- color: var(--color-sentiment-negative-primary-active);
112
- }
113
- .np-prompt-interactive.np-item-prompt.negative:hover {
114
- background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 95%, var(--color-sentiment-negative-primary));
115
- }
116
- .np-prompt-interactive.np-item-prompt.negative:active {
117
- background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 90%, var(--color-sentiment-negative-primary));
118
- }
119
- .np-item-prompt.positive,
120
- .np-item-prompt.discount,
121
- .np-item-prompt.savings {
122
- background-color: var(--color-sentiment-positive-secondary);
123
- color: var(--color-sentiment-positive-primary);
124
- }
125
- .np-item-prompt.positive a,
126
- .np-item-prompt.discount a,
127
- .np-item-prompt.savings a {
128
- color: var(--color-sentiment-positive-primary);
129
- }
130
- .np-item-prompt.positive a:hover,
131
- .np-item-prompt.discount a:hover,
132
- .np-item-prompt.savings a:hover {
133
- color: var(--color-sentiment-positive-primary-hover);
134
- }
135
- .np-item-prompt.positive a:active,
136
- .np-item-prompt.discount a:active,
137
- .np-item-prompt.savings a:active {
138
- color: var(--color-sentiment-positive-primary-active);
139
- }
140
- .np-prompt-interactive.np-item-prompt.positive:hover,
141
- .np-prompt-interactive.np-item-prompt.discount:hover,
142
- .np-prompt-interactive.np-item-prompt.savings:hover {
143
- background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 95%, var(--color-sentiment-positive-primary));
144
- }
145
- .np-prompt-interactive.np-item-prompt.positive:active,
146
- .np-prompt-interactive.np-item-prompt.discount:active,
147
- .np-prompt-interactive.np-item-prompt.savings:active {
148
- background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 90%, var(--color-sentiment-positive-primary));
149
- }
150
- .np-item-prompt.neutral {
151
- background-color: rgba(134,167,189,0.10196);
152
- background-color: var(--color-background-neutral);
153
- color: #37517e;
154
- color: var(--color-content-primary);
155
- }
156
- .np-item-prompt.neutral a {
157
- color: #37517e;
158
- color: var(--color-content-primary);
159
- }
160
- .np-prompt-interactive.np-item-prompt.neutral:hover {
161
- background-color: var(--color-background-neutral-hover);
162
- }
163
- .np-prompt-interactive.np-item-prompt.neutral:active {
164
- background-color: var(--color-background-neutral-active);
165
- }
166
- .np-item-prompt.warning {
167
- background-color: var(--color-sentiment-warning-secondary);
168
- color: var(--color-sentiment-warning-content);
169
- }
170
- .np-item-prompt.warning a {
171
- color: var(--color-sentiment-warning-content);
172
- }
173
- .np-item-prompt.warning a:hover {
174
- color: var(--color-sentiment-warning-content-hover);
175
- }
176
- .np-item-prompt.warning a:active {
177
- color: var(--color-sentiment-warning-content-active);
178
- }
179
- .np-prompt-interactive.np-item-prompt.warning:hover {
180
- background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 90%, var(--color-sentiment-warning-primary));
181
- }
182
- .np-prompt-interactive.np-item-prompt.warning:active {
183
- background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 80%, var(--color-sentiment-warning-primary));
184
- }