@transferwise/components 0.0.0-experimental-83f1188 → 0.0.0-experimental-128143a

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 (116) hide show
  1. package/build/i18n/en.json +0 -2
  2. package/build/i18n/en.json.js +0 -2
  3. package/build/i18n/en.json.js.map +1 -1
  4. package/build/i18n/en.json.mjs +0 -2
  5. package/build/i18n/en.json.mjs.map +1 -1
  6. package/build/index.js +0 -2
  7. package/build/index.js.map +1 -1
  8. package/build/index.mjs +0 -1
  9. package/build/index.mjs.map +1 -1
  10. package/build/main.css +7 -65
  11. package/build/prompt/InlinePrompt/InlinePrompt.js +0 -7
  12. package/build/prompt/InlinePrompt/InlinePrompt.js.map +1 -1
  13. package/build/prompt/InlinePrompt/InlinePrompt.mjs +1 -8
  14. package/build/prompt/InlinePrompt/InlinePrompt.mjs.map +1 -1
  15. package/build/styles/main.css +7 -65
  16. package/build/styles/prompt/InlinePrompt/InlinePrompt.css +7 -7
  17. package/build/types/index.d.ts +0 -2
  18. package/build/types/index.d.ts.map +1 -1
  19. package/build/types/prompt/InlinePrompt/InlinePrompt.d.ts +2 -3
  20. package/build/types/prompt/InlinePrompt/InlinePrompt.d.ts.map +1 -1
  21. package/build/types/test-utils/index.d.ts +0 -4
  22. package/build/types/test-utils/index.d.ts.map +1 -1
  23. package/package.json +5 -5
  24. package/src/i18n/en.json +0 -2
  25. package/src/index.ts +0 -2
  26. package/src/main.css +7 -65
  27. package/src/main.less +0 -1
  28. package/src/prompt/InlinePrompt/InlinePrompt.css +7 -7
  29. package/src/prompt/InlinePrompt/InlinePrompt.less +7 -7
  30. package/src/prompt/InlinePrompt/InlinePrompt.spec.tsx +0 -6
  31. package/src/prompt/InlinePrompt/InlinePrompt.tsx +2 -12
  32. package/src/ssr.spec.tsx +0 -1
  33. package/build/expressiveMoneyInput/ExpressiveMoneyInput.js +0 -113
  34. package/build/expressiveMoneyInput/ExpressiveMoneyInput.js.map +0 -1
  35. package/build/expressiveMoneyInput/ExpressiveMoneyInput.messages.js +0 -17
  36. package/build/expressiveMoneyInput/ExpressiveMoneyInput.messages.js.map +0 -1
  37. package/build/expressiveMoneyInput/ExpressiveMoneyInput.messages.mjs +0 -13
  38. package/build/expressiveMoneyInput/ExpressiveMoneyInput.messages.mjs.map +0 -1
  39. package/build/expressiveMoneyInput/ExpressiveMoneyInput.mjs +0 -109
  40. package/build/expressiveMoneyInput/ExpressiveMoneyInput.mjs.map +0 -1
  41. package/build/expressiveMoneyInput/amountInput/AmountInput.js +0 -281
  42. package/build/expressiveMoneyInput/amountInput/AmountInput.js.map +0 -1
  43. package/build/expressiveMoneyInput/amountInput/AmountInput.mjs +0 -279
  44. package/build/expressiveMoneyInput/amountInput/AmountInput.mjs.map +0 -1
  45. package/build/expressiveMoneyInput/amountInput/utils.js +0 -87
  46. package/build/expressiveMoneyInput/amountInput/utils.js.map +0 -1
  47. package/build/expressiveMoneyInput/amountInput/utils.mjs +0 -78
  48. package/build/expressiveMoneyInput/amountInput/utils.mjs.map +0 -1
  49. package/build/expressiveMoneyInput/animatedNumber/AnimatedNumber.js +0 -50
  50. package/build/expressiveMoneyInput/animatedNumber/AnimatedNumber.js.map +0 -1
  51. package/build/expressiveMoneyInput/animatedNumber/AnimatedNumber.mjs +0 -48
  52. package/build/expressiveMoneyInput/animatedNumber/AnimatedNumber.mjs.map +0 -1
  53. package/build/expressiveMoneyInput/chevron/Chevron.js +0 -31
  54. package/build/expressiveMoneyInput/chevron/Chevron.js.map +0 -1
  55. package/build/expressiveMoneyInput/chevron/Chevron.mjs +0 -29
  56. package/build/expressiveMoneyInput/chevron/Chevron.mjs.map +0 -1
  57. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js +0 -160
  58. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js.map +0 -1
  59. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs +0 -157
  60. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs.map +0 -1
  61. package/build/expressiveMoneyInput/hooks/useFocus.js +0 -37
  62. package/build/expressiveMoneyInput/hooks/useFocus.js.map +0 -1
  63. package/build/expressiveMoneyInput/hooks/useFocus.mjs +0 -35
  64. package/build/expressiveMoneyInput/hooks/useFocus.mjs.map +0 -1
  65. package/build/expressiveMoneyInput/hooks/useInputStyle.js +0 -71
  66. package/build/expressiveMoneyInput/hooks/useInputStyle.js.map +0 -1
  67. package/build/expressiveMoneyInput/hooks/useInputStyle.mjs +0 -69
  68. package/build/expressiveMoneyInput/hooks/useInputStyle.mjs.map +0 -1
  69. package/build/styles/expressiveMoneyInput/ExpressiveMoneyInput.css +0 -58
  70. package/build/styles/expressiveMoneyInput/amountInput/AmountInput.css +0 -32
  71. package/build/styles/expressiveMoneyInput/chevron/Chevron.css +0 -12
  72. package/build/styles/expressiveMoneyInput/currencySelector/CurrencySelector.css +0 -6
  73. package/build/types/expressiveMoneyInput/ExpressiveMoneyInput.d.ts +0 -33
  74. package/build/types/expressiveMoneyInput/ExpressiveMoneyInput.d.ts.map +0 -1
  75. package/build/types/expressiveMoneyInput/ExpressiveMoneyInput.messages.d.ts +0 -12
  76. package/build/types/expressiveMoneyInput/ExpressiveMoneyInput.messages.d.ts.map +0 -1
  77. package/build/types/expressiveMoneyInput/amountInput/AmountInput.d.ts +0 -13
  78. package/build/types/expressiveMoneyInput/amountInput/AmountInput.d.ts.map +0 -1
  79. package/build/types/expressiveMoneyInput/amountInput/utils.d.ts +0 -22
  80. package/build/types/expressiveMoneyInput/amountInput/utils.d.ts.map +0 -1
  81. package/build/types/expressiveMoneyInput/animatedNumber/AnimatedNumber.d.ts +0 -9
  82. package/build/types/expressiveMoneyInput/animatedNumber/AnimatedNumber.d.ts.map +0 -1
  83. package/build/types/expressiveMoneyInput/chevron/Chevron.d.ts +0 -6
  84. package/build/types/expressiveMoneyInput/chevron/Chevron.d.ts.map +0 -1
  85. package/build/types/expressiveMoneyInput/currencySelector/CurrencySelector.d.ts +0 -30
  86. package/build/types/expressiveMoneyInput/currencySelector/CurrencySelector.d.ts.map +0 -1
  87. package/build/types/expressiveMoneyInput/hooks/useFocus.d.ts +0 -7
  88. package/build/types/expressiveMoneyInput/hooks/useFocus.d.ts.map +0 -1
  89. package/build/types/expressiveMoneyInput/hooks/useInputStyle.d.ts +0 -10
  90. package/build/types/expressiveMoneyInput/hooks/useInputStyle.d.ts.map +0 -1
  91. package/build/types/expressiveMoneyInput/hooks/useSelectionRange.d.ts +0 -10
  92. package/build/types/expressiveMoneyInput/hooks/useSelectionRange.d.ts.map +0 -1
  93. package/build/types/expressiveMoneyInput/index.d.ts +0 -3
  94. package/build/types/expressiveMoneyInput/index.d.ts.map +0 -1
  95. package/src/expressiveMoneyInput/ExpressiveMoneyInput.css +0 -58
  96. package/src/expressiveMoneyInput/ExpressiveMoneyInput.less +0 -13
  97. package/src/expressiveMoneyInput/ExpressiveMoneyInput.messages.ts +0 -13
  98. package/src/expressiveMoneyInput/ExpressiveMoneyInput.story.tsx +0 -287
  99. package/src/expressiveMoneyInput/ExpressiveMoneyInput.tsx +0 -130
  100. package/src/expressiveMoneyInput/amountInput/AmountInput.css +0 -32
  101. package/src/expressiveMoneyInput/amountInput/AmountInput.less +0 -43
  102. package/src/expressiveMoneyInput/amountInput/AmountInput.tsx +0 -353
  103. package/src/expressiveMoneyInput/amountInput/utils.spec.ts +0 -114
  104. package/src/expressiveMoneyInput/amountInput/utils.ts +0 -116
  105. package/src/expressiveMoneyInput/animatedNumber/AnimatedNumber.tsx +0 -40
  106. package/src/expressiveMoneyInput/chevron/Chevron.css +0 -12
  107. package/src/expressiveMoneyInput/chevron/Chevron.less +0 -13
  108. package/src/expressiveMoneyInput/chevron/Chevron.tsx +0 -35
  109. package/src/expressiveMoneyInput/currencySelector/CurrencySelector.css +0 -6
  110. package/src/expressiveMoneyInput/currencySelector/CurrencySelector.less +0 -7
  111. package/src/expressiveMoneyInput/currencySelector/CurrencySelector.tsx +0 -218
  112. package/src/expressiveMoneyInput/hooks/useFocus.ts +0 -35
  113. package/src/expressiveMoneyInput/hooks/useInputStyle.ts +0 -85
  114. package/src/expressiveMoneyInput/hooks/useSelectionRange.ts +0 -23
  115. package/src/expressiveMoneyInput/index.ts +0 -2
  116. package/src/prompt/InlinePrompt/InlinePrompt.story.tsx +0 -39
package/src/main.css CHANGED
@@ -526,26 +526,26 @@
526
526
  background-color: var(--color-sentiment-positive-secondary-active);
527
527
  }
528
528
  .wds-inline-prompt--proposition {
529
- background-color: #D2F9F7;
530
- color: var(--color-interactive-primary);
529
+ background-color: var(--color-sentiment-positive-secondary);
530
+ color: var(--color-sentiment-positive-primary);
531
531
  }
532
532
  .wds-inline-prompt--proposition a,
533
533
  .wds-inline-prompt--proposition button {
534
- color: var(--color-interactive-primary);
534
+ color: var(--color-sentiment-positive-primary);
535
535
  }
536
536
  .wds-inline-prompt--proposition a:hover,
537
537
  .wds-inline-prompt--proposition button:hover {
538
- color: var(--color-interactive-primary-hover);
538
+ color: var(--color-sentiment-positive-primary-hover);
539
539
  }
540
540
  .wds-inline-prompt--proposition a:active,
541
541
  .wds-inline-prompt--proposition button:active {
542
- color: var(--color-interactive-primary-active);
542
+ color: var(--color-sentiment-positive-primary-active);
543
543
  }
544
544
  .wds-inline-prompt.wds-inline-prompt--proposition:has(a, button):hover {
545
- background-color: #B2F4F3;
545
+ background-color: var(--color-sentiment-positive-secondary-hover);
546
546
  }
547
547
  .wds-inline-prompt.wds-inline-prompt--proposition:has(a, button):active {
548
- background-color: #91F0EE;
548
+ background-color: var(--color-sentiment-positive-secondary-active);
549
549
  }
550
550
  .wds-inline-prompt--neutral {
551
551
  background-color: rgba(134,167,189,0.10196);
@@ -4455,64 +4455,6 @@ button.np-link {
4455
4455
  box-shadow: inset 0 0 0 1px #c9cbce !important;
4456
4456
  box-shadow: inset 0 0 0 1px var(--color-interactive-secondary) !important;
4457
4457
  }
4458
- .wds-amount-input-container {
4459
- width: 100%;
4460
- }
4461
- .wds-amount-input-input-container {
4462
- display: flex;
4463
- justify-content: right;
4464
- width: 100%;
4465
- transition: font-size 0.4s cubic-bezier(0.3, 0, 0.1, 1), height 0.4s cubic-bezier(0.3, 0, 0.1, 1), margin-top 0.4s cubic-bezier(0.3, 0, 0.1, 1), color 0.4s ease;
4466
- color: var(--color-interactive-primary);
4467
- overflow: hidden;
4468
- margin-bottom: 0 !important;
4469
- }
4470
- @media (prefers-reduced-motion: reduce) {
4471
- .wds-amount-input-input-container {
4472
- transition: none;
4473
- }
4474
- }
4475
- .wds-amount-input-input {
4476
- border: none;
4477
- outline: none;
4478
- flex-grow: 1;
4479
- text-align: right;
4480
- background-color: transparent;
4481
- }
4482
- .wds-amount-input-input:focus-visible {
4483
- outline: none;
4484
- }
4485
- .wds-amount-input-placeholder {
4486
- flex-grow: 0;
4487
- display: flex;
4488
- align-items: center;
4489
- }
4490
- .wds-currency-selector:disabled {
4491
- opacity: 1 !important;
4492
- cursor: auto !important;
4493
- cursor: initial !important;
4494
- mix-blend-mode: initial !important;
4495
- }
4496
- .wds-chevron-container {
4497
- width: 32px;
4498
- width: var(--size-32);
4499
- overflow: hidden;
4500
- color: var(--color-interactive-primary);
4501
- margin-left: 8px;
4502
- margin-left: var(--size-8);
4503
- transition: width 0.3s ease;
4504
- }
4505
- .wds-chevron-hidden {
4506
- width: 0;
4507
- }
4508
- .wds-expressive-money-input-currency-selector {
4509
- flex-shrink: 0;
4510
- margin-right: 24px;
4511
- margin-right: var(--size-24);
4512
- }
4513
- .wds-expressive-money-input-chevron {
4514
- transform: translateY(-5%);
4515
- }
4516
4458
  .np-navigation-option {
4517
4459
  -webkit-text-decoration: none;
4518
4460
  text-decoration: none;
package/src/main.less CHANGED
@@ -51,7 +51,6 @@
51
51
  @import "./logo/Logo.less";
52
52
  @import "./modal/Modal.less";
53
53
  @import "./moneyInput/MoneyInput.less";
54
- @import "./expressiveMoneyInput/ExpressiveMoneyInput.less";
55
54
  @import "./navigationOption/NavigationOption.less";
56
55
  @import "./navigationOptionsList/NavigationOptionsList.less";
57
56
  @import "./nudge/Nudge.less";
@@ -91,26 +91,26 @@
91
91
  background-color: var(--color-sentiment-positive-secondary-active);
92
92
  }
93
93
  .wds-inline-prompt--proposition {
94
- background-color: #D2F9F7;
95
- color: var(--color-interactive-primary);
94
+ background-color: var(--color-sentiment-positive-secondary);
95
+ color: var(--color-sentiment-positive-primary);
96
96
  }
97
97
  .wds-inline-prompt--proposition a,
98
98
  .wds-inline-prompt--proposition button {
99
- color: var(--color-interactive-primary);
99
+ color: var(--color-sentiment-positive-primary);
100
100
  }
101
101
  .wds-inline-prompt--proposition a:hover,
102
102
  .wds-inline-prompt--proposition button:hover {
103
- color: var(--color-interactive-primary-hover);
103
+ color: var(--color-sentiment-positive-primary-hover);
104
104
  }
105
105
  .wds-inline-prompt--proposition a:active,
106
106
  .wds-inline-prompt--proposition button:active {
107
- color: var(--color-interactive-primary-active);
107
+ color: var(--color-sentiment-positive-primary-active);
108
108
  }
109
109
  .wds-inline-prompt.wds-inline-prompt--proposition:has(a, button):hover {
110
- background-color: #B2F4F3;
110
+ background-color: var(--color-sentiment-positive-secondary-hover);
111
111
  }
112
112
  .wds-inline-prompt.wds-inline-prompt--proposition:has(a, button):active {
113
- background-color: #91F0EE;
113
+ background-color: var(--color-sentiment-positive-secondary-active);
114
114
  }
115
115
  .wds-inline-prompt--neutral {
116
116
  background-color: rgba(134,167,189,0.10196);
@@ -94,26 +94,26 @@
94
94
  }
95
95
 
96
96
  &--proposition {
97
- background-color: #D2F9F7;
97
+ background-color: var(--color-sentiment-positive-secondary);
98
98
 
99
- color: var(--color-interactive-primary);
99
+ color: var(--color-sentiment-positive-primary);
100
100
 
101
101
  a, button {
102
- color: var(--color-interactive-primary);
102
+ color: var(--color-sentiment-positive-primary);
103
103
  &:hover {
104
- color: var(--color-interactive-primary-hover);
104
+ color: var(--color-sentiment-positive-primary-hover);
105
105
  }
106
106
  &:active {
107
- color: var(--color-interactive-primary-active);
107
+ color: var(--color-sentiment-positive-primary-active);
108
108
  }
109
109
  }
110
110
 
111
111
  .wds-inline-prompt&:has(a, button) {
112
112
  &:hover {
113
- background-color: #B2F4F3;
113
+ background-color: var(--color-sentiment-positive-secondary-hover);
114
114
  }
115
115
  &:active {
116
- background-color: #91F0EE;
116
+ background-color: var(--color-sentiment-positive-secondary-active);
117
117
  }
118
118
  }
119
119
  }
@@ -15,12 +15,6 @@ describe('InlinePrompt', () => {
15
15
  expect(screen.getByText('Hello world')).toBeInTheDocument();
16
16
  });
17
17
 
18
- it('renders with GiftBox icon as default for `proposition` sentiment', () => {
19
- render(<InlinePrompt {...defaultProps} sentiment="proposition" />);
20
- expect(screen.getByText('Prompt message')).toBeInTheDocument();
21
- expect(screen.getByTestId('gift-box-icon')).toBeInTheDocument();
22
- });
23
-
24
18
  describe('renders with each sentiment', () => {
25
19
  it.each([Sentiment.POSITIVE, Sentiment.NEUTRAL, Sentiment.NEGATIVE, Sentiment.WARNING])(
26
20
  'renders with sentiment %s',
@@ -1,14 +1,12 @@
1
1
  import { Sentiment } from '../../common';
2
- import { BackslashCircle, GiftBox } from '@transferwise/icons';
2
+ import { BackslashCircle } from '@transferwise/icons';
3
3
  import ProcessIndicator from '../../processIndicator';
4
4
  import StatusIcon from '../../statusIcon';
5
5
  import { clsx } from 'clsx';
6
6
  import Body from '../../body';
7
7
 
8
8
  export type InlinePromptProps = {
9
- sentiment?:
10
- | `${Sentiment.POSITIVE | Sentiment.NEGATIVE | Sentiment.NEUTRAL | Sentiment.WARNING}`
11
- | 'proposition';
9
+ sentiment?: `${Sentiment.POSITIVE | Sentiment.NEGATIVE | Sentiment.NEUTRAL | Sentiment.WARNING}`;
12
10
  loading?: boolean;
13
11
  /**
14
12
  * Use for short-lived inline prompts to avoid swap of the icon (which is bad UX for short-lived prompts, e.g. when submit form)
@@ -18,7 +16,6 @@ export type InlinePromptProps = {
18
16
  className?: string;
19
17
  'data-testid'?: string;
20
18
  children: React.ReactNode;
21
- media?: React.ReactNode;
22
19
  };
23
20
 
24
21
  export const InlinePrompt = ({
@@ -27,16 +24,9 @@ export const InlinePrompt = ({
27
24
  loading = false,
28
25
  className,
29
26
  children,
30
- media = null,
31
27
  ...rest
32
28
  }: InlinePromptProps) => {
33
29
  const renderMedia = () => {
34
- if (media && ['proposition', 'positive'].includes(sentiment)) {
35
- return media;
36
- }
37
- if (sentiment === 'proposition') {
38
- return <GiftBox />;
39
- }
40
30
  if (muted) {
41
31
  return <BackslashCircle size={16} data-testid="InlinePrompt_Muted" />;
42
32
  }
package/src/ssr.spec.tsx CHANGED
@@ -92,7 +92,6 @@ describe('Server side rendering', () => {
92
92
  // stick all possible properties we might need to render all components in here
93
93
  const allProps: Record<string, unknown> = {
94
94
  currencies: [],
95
- currencySelector: { options: [] },
96
95
  steps: [],
97
96
  stepper: {
98
97
  steps: [],
@@ -1,113 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Body = require('../body/Body.js');
6
- var Label = require('../label/Label.js');
7
- var clsx = require('clsx');
8
- var framerMotion = require('framer-motion');
9
- var React = require('react');
10
- var CurrencySelector = require('./currencySelector/CurrencySelector.js');
11
- var AmountInput = require('./amountInput/AmountInput.js');
12
- var Chevron = require('./chevron/Chevron.js');
13
- var InlinePrompt = require('../prompt/InlinePrompt/InlinePrompt.js');
14
- var jsxRuntime = require('react/jsx-runtime');
15
-
16
- function ExpressiveMoneyInput({
17
- label,
18
- currency,
19
- currencySelector = {
20
- options: []
21
- },
22
- amount,
23
- onAmountChange,
24
- className,
25
- inlinePrompt,
26
- showChevron,
27
- autoFocus,
28
- loading,
29
- onFocusChange
30
- }) {
31
- const inputId = React.useId();
32
- const labelId = React.useId();
33
- const customAlertId = React.useId();
34
- const currencyId = React.useId();
35
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
36
- className: clsx.clsx('wds-expressive-money-input', className),
37
- children: [/*#__PURE__*/jsxRuntime.jsx(Label.Label, {
38
- id: labelId,
39
- htmlFor: inputId,
40
- className: clsx.clsx('m-b-1', 'font-weight-normal'),
41
- children: label
42
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
43
- className: clsx.clsx('d-flex'),
44
- role: "group",
45
- "aria-labelledby": labelId,
46
- ...(inlinePrompt ? {
47
- 'aria-describedby': customAlertId
48
- } : {}),
49
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
50
- className: "wds-expressive-money-input-currency-selector",
51
- children: currencySelector.customRender?.({
52
- id: currencyId,
53
- labelId
54
- }) ?? /*#__PURE__*/jsxRuntime.jsx(CurrencySelector.CurrencySelector, {
55
- id: currencyId,
56
- labelId: labelId,
57
- currency: currency,
58
- ...currencySelector
59
- })
60
- }), /*#__PURE__*/jsxRuntime.jsx(AmountInput.AmountInput, {
61
- id: inputId,
62
- describedById: currencyId,
63
- amount: amount,
64
- currency: currency
65
- // eslint-disable-next-line jsx-a11y/no-autofocus
66
- ,
67
- autoFocus: autoFocus,
68
- loading: loading,
69
- onChange: onAmountChange,
70
- onFocusChange: onFocusChange
71
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
72
- className: clsx.clsx('d-flex align-items-center', 'wds-expressive-money-input-chevron'),
73
- children: /*#__PURE__*/jsxRuntime.jsx(Chevron.Chevron, {
74
- shouldShow: Boolean(showChevron)
75
- })
76
- })]
77
- }), /*#__PURE__*/jsxRuntime.jsx(framerMotion.AnimatePresence, {
78
- initial: false,
79
- children: inlinePrompt && /*#__PURE__*/jsxRuntime.jsx("div", {
80
- className: clsx.clsx('d-flex justify-content-end', inlinePrompt && 'm-t-1'),
81
- children: /*#__PURE__*/jsxRuntime.jsx(framerMotion.motion.div, {
82
- initial: {
83
- opacity: 0,
84
- height: 0
85
- },
86
- animate: {
87
- opacity: 1,
88
- height: 'auto',
89
- transition: {
90
- delay: 0.75,
91
- duration: 0.3
92
- }
93
- },
94
- exit: {
95
- opacity: 0,
96
- height: 0
97
- },
98
- children: inlinePrompt.sentiment ? /*#__PURE__*/jsxRuntime.jsx(InlinePrompt.InlinePrompt, {
99
- id: customAlertId,
100
- media: inlinePrompt.media,
101
- sentiment: inlinePrompt.sentiment,
102
- children: inlinePrompt.message
103
- }) : /*#__PURE__*/jsxRuntime.jsx(Body.default, {
104
- children: inlinePrompt.message
105
- })
106
- }, customAlertId)
107
- })
108
- })]
109
- });
110
- }
111
-
112
- exports.default = ExpressiveMoneyInput;
113
- //# sourceMappingURL=ExpressiveMoneyInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpressiveMoneyInput.js","sources":["../../src/expressiveMoneyInput/ExpressiveMoneyInput.tsx"],"sourcesContent":["import Body from '../body';\nimport { Label } from '../label/Label';\nimport { clsx } from 'clsx';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { useId, type ReactNode } from 'react';\n\nimport {\n type Props as CurrencySelectorProps,\n CurrencySelector,\n} from './currencySelector/CurrencySelector';\nimport { CommonProps } from '../common';\nimport { AmountInput } from './amountInput/AmountInput';\nimport { Chevron } from './chevron/Chevron';\nimport { InlinePrompt, type InlinePromptProps } from '../prompt/InlinePrompt';\n\ntype AmountType = number | null;\nexport type CurrencyType = string;\n\ntype DefaultCurrencySelectorInstanceType = Pick<\n CurrencySelectorProps,\n 'addons' | 'options' | 'onChange' | 'onOpen' | 'onSearchChange'\n>;\ntype CustomCurrencySelectorInstanceType = {\n customRender?: (props: { id: string; labelId: string }) => ReactNode;\n};\ntype CurrencySelectorType = DefaultCurrencySelectorInstanceType &\n CustomCurrencySelectorInstanceType;\n\nexport type Props = {\n label?: ReactNode;\n currencySelector?: CurrencySelectorType;\n amount?: AmountType;\n currency: CurrencyType;\n inlinePrompt?: {\n sentiment?: InlinePromptProps['sentiment'];\n message: InlinePromptProps['children'];\n media?: InlinePromptProps['media'];\n };\n showChevron?: boolean;\n autoFocus?: boolean;\n loading?: boolean;\n onAmountChange: (amount: AmountType) => void;\n onFocusChange?: (focused: boolean) => void;\n} & CommonProps;\n\nexport default function ExpressiveMoneyInput({\n label,\n currency,\n currencySelector = { options: [] } as DefaultCurrencySelectorInstanceType,\n amount,\n onAmountChange,\n className,\n inlinePrompt,\n showChevron,\n autoFocus,\n loading,\n onFocusChange,\n}: Props) {\n const inputId = useId();\n const labelId = useId();\n const customAlertId = useId();\n const currencyId = useId();\n\n return (\n <div className={clsx('wds-expressive-money-input', className)}>\n <Label id={labelId} htmlFor={inputId} className={clsx('m-b-1', 'font-weight-normal')}>\n {label}\n </Label>\n <div\n className={clsx('d-flex')}\n role=\"group\"\n aria-labelledby={labelId}\n {...(inlinePrompt ? { 'aria-describedby': customAlertId } : {})}\n >\n <div className=\"wds-expressive-money-input-currency-selector\">\n {currencySelector.customRender?.({ id: currencyId, labelId }) ?? (\n <CurrencySelector\n id={currencyId}\n labelId={labelId}\n currency={currency}\n {...currencySelector}\n />\n )}\n </div>\n <AmountInput\n id={inputId}\n describedById={currencyId}\n amount={amount}\n currency={currency}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n loading={loading}\n onChange={onAmountChange}\n onFocusChange={onFocusChange}\n />\n <div className={clsx('d-flex align-items-center', 'wds-expressive-money-input-chevron')}>\n <Chevron shouldShow={Boolean(showChevron)} />\n </div>\n </div>\n <AnimatePresence initial={false}>\n {inlinePrompt && (\n <div className={clsx('d-flex justify-content-end', inlinePrompt && 'm-t-1')}>\n <motion.div\n key={customAlertId}\n initial={{ opacity: 0, height: 0 }}\n animate={{\n opacity: 1,\n height: 'auto',\n transition: { delay: 0.75, duration: 0.3 },\n }}\n exit={{ opacity: 0, height: 0 }}\n >\n {inlinePrompt.sentiment ? (\n <InlinePrompt\n id={customAlertId}\n media={inlinePrompt.media}\n sentiment={inlinePrompt.sentiment}\n >\n {inlinePrompt.message}\n </InlinePrompt>\n ) : (\n <Body>{inlinePrompt.message}</Body>\n )}\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n </div>\n );\n}\n"],"names":["ExpressiveMoneyInput","label","currency","currencySelector","options","amount","onAmountChange","className","inlinePrompt","showChevron","autoFocus","loading","onFocusChange","inputId","useId","labelId","customAlertId","currencyId","_jsxs","clsx","children","_jsx","Label","id","htmlFor","role","customRender","CurrencySelector","AmountInput","describedById","onChange","Chevron","shouldShow","Boolean","AnimatePresence","initial","motion","div","opacity","height","animate","transition","delay","duration","exit","sentiment","InlinePrompt","media","message","Body"],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var reactIntl = require('react-intl');
6
-
7
- var messages = reactIntl.defineMessages({
8
- currencySelectorSearchPlaceholder: {
9
- id: "neptune.ExpressiveMoneyInput.currency.search.placeholder"
10
- },
11
- currencySelectorSelectCurrency: {
12
- id: "neptune.ExpressiveMoneyInput.currency.select.currency"
13
- }
14
- });
15
-
16
- exports.default = messages;
17
- //# sourceMappingURL=ExpressiveMoneyInput.messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpressiveMoneyInput.messages.js","sources":["../../src/expressiveMoneyInput/ExpressiveMoneyInput.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n currencySelectorSearchPlaceholder: {\n id: 'neptune.ExpressiveMoneyInput.currency.search.placeholder',\n defaultMessage: 'Type a currency / country',\n },\n\n currencySelectorSelectCurrency: {\n id: 'neptune.ExpressiveMoneyInput.currency.select.currency',\n defaultMessage: 'Select currency',\n },\n});\n"],"names":["defineMessages","currencySelectorSearchPlaceholder","id","currencySelectorSelectCurrency"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,iCAAiC,EAAE;IACjCC,EAAE,EAAA;GAEH;AAEDC,EAAAA,8BAA8B,EAAE;IAC9BD,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;;;"}
@@ -1,13 +0,0 @@
1
- import { defineMessages } from 'react-intl';
2
-
3
- var messages = defineMessages({
4
- currencySelectorSearchPlaceholder: {
5
- id: "neptune.ExpressiveMoneyInput.currency.search.placeholder"
6
- },
7
- currencySelectorSelectCurrency: {
8
- id: "neptune.ExpressiveMoneyInput.currency.select.currency"
9
- }
10
- });
11
-
12
- export { messages as default };
13
- //# sourceMappingURL=ExpressiveMoneyInput.messages.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpressiveMoneyInput.messages.mjs","sources":["../../src/expressiveMoneyInput/ExpressiveMoneyInput.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n currencySelectorSearchPlaceholder: {\n id: 'neptune.ExpressiveMoneyInput.currency.search.placeholder',\n defaultMessage: 'Type a currency / country',\n },\n\n currencySelectorSelectCurrency: {\n id: 'neptune.ExpressiveMoneyInput.currency.select.currency',\n defaultMessage: 'Select currency',\n },\n});\n"],"names":["defineMessages","currencySelectorSearchPlaceholder","id","currencySelectorSelectCurrency"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,iCAAiC,EAAE;IACjCC,EAAE,EAAA;GAEH;AAEDC,EAAAA,8BAA8B,EAAE;IAC9BD,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;;;"}
@@ -1,109 +0,0 @@
1
- import Body from '../body/Body.mjs';
2
- import { Label as LabelNamespace } from '../label/Label.mjs';
3
- import { clsx } from 'clsx';
4
- import { AnimatePresence, motion } from 'framer-motion';
5
- import { useId } from 'react';
6
- import { CurrencySelector } from './currencySelector/CurrencySelector.mjs';
7
- import { AmountInput } from './amountInput/AmountInput.mjs';
8
- import { Chevron } from './chevron/Chevron.mjs';
9
- import { InlinePrompt } from '../prompt/InlinePrompt/InlinePrompt.mjs';
10
- import { jsxs, jsx } from 'react/jsx-runtime';
11
-
12
- function ExpressiveMoneyInput({
13
- label,
14
- currency,
15
- currencySelector = {
16
- options: []
17
- },
18
- amount,
19
- onAmountChange,
20
- className,
21
- inlinePrompt,
22
- showChevron,
23
- autoFocus,
24
- loading,
25
- onFocusChange
26
- }) {
27
- const inputId = useId();
28
- const labelId = useId();
29
- const customAlertId = useId();
30
- const currencyId = useId();
31
- return /*#__PURE__*/jsxs("div", {
32
- className: clsx('wds-expressive-money-input', className),
33
- children: [/*#__PURE__*/jsx(LabelNamespace, {
34
- id: labelId,
35
- htmlFor: inputId,
36
- className: clsx('m-b-1', 'font-weight-normal'),
37
- children: label
38
- }), /*#__PURE__*/jsxs("div", {
39
- className: clsx('d-flex'),
40
- role: "group",
41
- "aria-labelledby": labelId,
42
- ...(inlinePrompt ? {
43
- 'aria-describedby': customAlertId
44
- } : {}),
45
- children: [/*#__PURE__*/jsx("div", {
46
- className: "wds-expressive-money-input-currency-selector",
47
- children: currencySelector.customRender?.({
48
- id: currencyId,
49
- labelId
50
- }) ?? /*#__PURE__*/jsx(CurrencySelector, {
51
- id: currencyId,
52
- labelId: labelId,
53
- currency: currency,
54
- ...currencySelector
55
- })
56
- }), /*#__PURE__*/jsx(AmountInput, {
57
- id: inputId,
58
- describedById: currencyId,
59
- amount: amount,
60
- currency: currency
61
- // eslint-disable-next-line jsx-a11y/no-autofocus
62
- ,
63
- autoFocus: autoFocus,
64
- loading: loading,
65
- onChange: onAmountChange,
66
- onFocusChange: onFocusChange
67
- }), /*#__PURE__*/jsx("div", {
68
- className: clsx('d-flex align-items-center', 'wds-expressive-money-input-chevron'),
69
- children: /*#__PURE__*/jsx(Chevron, {
70
- shouldShow: Boolean(showChevron)
71
- })
72
- })]
73
- }), /*#__PURE__*/jsx(AnimatePresence, {
74
- initial: false,
75
- children: inlinePrompt && /*#__PURE__*/jsx("div", {
76
- className: clsx('d-flex justify-content-end', inlinePrompt && 'm-t-1'),
77
- children: /*#__PURE__*/jsx(motion.div, {
78
- initial: {
79
- opacity: 0,
80
- height: 0
81
- },
82
- animate: {
83
- opacity: 1,
84
- height: 'auto',
85
- transition: {
86
- delay: 0.75,
87
- duration: 0.3
88
- }
89
- },
90
- exit: {
91
- opacity: 0,
92
- height: 0
93
- },
94
- children: inlinePrompt.sentiment ? /*#__PURE__*/jsx(InlinePrompt, {
95
- id: customAlertId,
96
- media: inlinePrompt.media,
97
- sentiment: inlinePrompt.sentiment,
98
- children: inlinePrompt.message
99
- }) : /*#__PURE__*/jsx(Body, {
100
- children: inlinePrompt.message
101
- })
102
- }, customAlertId)
103
- })
104
- })]
105
- });
106
- }
107
-
108
- export { ExpressiveMoneyInput as default };
109
- //# sourceMappingURL=ExpressiveMoneyInput.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpressiveMoneyInput.mjs","sources":["../../src/expressiveMoneyInput/ExpressiveMoneyInput.tsx"],"sourcesContent":["import Body from '../body';\nimport { Label } from '../label/Label';\nimport { clsx } from 'clsx';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { useId, type ReactNode } from 'react';\n\nimport {\n type Props as CurrencySelectorProps,\n CurrencySelector,\n} from './currencySelector/CurrencySelector';\nimport { CommonProps } from '../common';\nimport { AmountInput } from './amountInput/AmountInput';\nimport { Chevron } from './chevron/Chevron';\nimport { InlinePrompt, type InlinePromptProps } from '../prompt/InlinePrompt';\n\ntype AmountType = number | null;\nexport type CurrencyType = string;\n\ntype DefaultCurrencySelectorInstanceType = Pick<\n CurrencySelectorProps,\n 'addons' | 'options' | 'onChange' | 'onOpen' | 'onSearchChange'\n>;\ntype CustomCurrencySelectorInstanceType = {\n customRender?: (props: { id: string; labelId: string }) => ReactNode;\n};\ntype CurrencySelectorType = DefaultCurrencySelectorInstanceType &\n CustomCurrencySelectorInstanceType;\n\nexport type Props = {\n label?: ReactNode;\n currencySelector?: CurrencySelectorType;\n amount?: AmountType;\n currency: CurrencyType;\n inlinePrompt?: {\n sentiment?: InlinePromptProps['sentiment'];\n message: InlinePromptProps['children'];\n media?: InlinePromptProps['media'];\n };\n showChevron?: boolean;\n autoFocus?: boolean;\n loading?: boolean;\n onAmountChange: (amount: AmountType) => void;\n onFocusChange?: (focused: boolean) => void;\n} & CommonProps;\n\nexport default function ExpressiveMoneyInput({\n label,\n currency,\n currencySelector = { options: [] } as DefaultCurrencySelectorInstanceType,\n amount,\n onAmountChange,\n className,\n inlinePrompt,\n showChevron,\n autoFocus,\n loading,\n onFocusChange,\n}: Props) {\n const inputId = useId();\n const labelId = useId();\n const customAlertId = useId();\n const currencyId = useId();\n\n return (\n <div className={clsx('wds-expressive-money-input', className)}>\n <Label id={labelId} htmlFor={inputId} className={clsx('m-b-1', 'font-weight-normal')}>\n {label}\n </Label>\n <div\n className={clsx('d-flex')}\n role=\"group\"\n aria-labelledby={labelId}\n {...(inlinePrompt ? { 'aria-describedby': customAlertId } : {})}\n >\n <div className=\"wds-expressive-money-input-currency-selector\">\n {currencySelector.customRender?.({ id: currencyId, labelId }) ?? (\n <CurrencySelector\n id={currencyId}\n labelId={labelId}\n currency={currency}\n {...currencySelector}\n />\n )}\n </div>\n <AmountInput\n id={inputId}\n describedById={currencyId}\n amount={amount}\n currency={currency}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n loading={loading}\n onChange={onAmountChange}\n onFocusChange={onFocusChange}\n />\n <div className={clsx('d-flex align-items-center', 'wds-expressive-money-input-chevron')}>\n <Chevron shouldShow={Boolean(showChevron)} />\n </div>\n </div>\n <AnimatePresence initial={false}>\n {inlinePrompt && (\n <div className={clsx('d-flex justify-content-end', inlinePrompt && 'm-t-1')}>\n <motion.div\n key={customAlertId}\n initial={{ opacity: 0, height: 0 }}\n animate={{\n opacity: 1,\n height: 'auto',\n transition: { delay: 0.75, duration: 0.3 },\n }}\n exit={{ opacity: 0, height: 0 }}\n >\n {inlinePrompt.sentiment ? (\n <InlinePrompt\n id={customAlertId}\n media={inlinePrompt.media}\n sentiment={inlinePrompt.sentiment}\n >\n {inlinePrompt.message}\n </InlinePrompt>\n ) : (\n <Body>{inlinePrompt.message}</Body>\n )}\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n </div>\n );\n}\n"],"names":["ExpressiveMoneyInput","label","currency","currencySelector","options","amount","onAmountChange","className","inlinePrompt","showChevron","autoFocus","loading","onFocusChange","inputId","useId","labelId","customAlertId","currencyId","_jsxs","clsx","children","_jsx","Label","id","htmlFor","role","customRender","CurrencySelector","AmountInput","describedById","onChange","Chevron","shouldShow","Boolean","AnimatePresence","initial","motion","div","opacity","height","animate","transition","delay","duration","exit","sentiment","InlinePrompt","media","message","Body"],"mappings":"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"}