@transferwise/components 0.0.0-experimental-bcfa03a → 0.0.0-experimental-5cd0315

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 (180) hide show
  1. package/build/dateInput/DateInput.js +3 -6
  2. package/build/dateInput/DateInput.js.map +1 -1
  3. package/build/dateInput/DateInput.mjs +2 -5
  4. package/build/dateInput/DateInput.mjs.map +1 -1
  5. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js +3 -5
  6. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js.map +1 -1
  7. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs +1 -3
  8. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs.map +1 -1
  9. package/build/index.js +3 -5
  10. package/build/index.js.map +1 -1
  11. package/build/index.mjs +1 -3
  12. package/build/index.mjs.map +1 -1
  13. package/build/inputs/SelectInput.js +840 -0
  14. package/build/inputs/SelectInput.js.map +1 -0
  15. package/build/inputs/SelectInput.messages.js.map +1 -0
  16. package/build/inputs/SelectInput.messages.mjs.map +1 -0
  17. package/build/inputs/SelectInput.mjs +832 -0
  18. package/build/inputs/SelectInput.mjs.map +1 -0
  19. package/build/main.css +70 -65
  20. package/build/moneyInput/MoneyInput.js +2 -5
  21. package/build/moneyInput/MoneyInput.js.map +1 -1
  22. package/build/moneyInput/MoneyInput.mjs +1 -4
  23. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  24. package/build/phoneNumberInput/PhoneNumberInput.js +2 -5
  25. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  26. package/build/phoneNumberInput/PhoneNumberInput.mjs +1 -4
  27. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  28. package/build/styles/inputs/{SelectInput/SelectInput.css → SelectInput.css} +70 -65
  29. package/build/styles/main.css +70 -65
  30. package/build/types/inputs/{SelectInput/SelectInput.types.d.ts → SelectInput.d.ts} +7 -10
  31. package/build/types/inputs/SelectInput.d.ts.map +1 -0
  32. package/build/types/inputs/SelectInput.messages.d.ts.map +1 -0
  33. package/package.json +2 -2
  34. package/src/inputs/{SelectInput/SelectInput.css → SelectInput.css} +70 -65
  35. package/src/inputs/{SelectInput/SelectInput.docs.mdx → SelectInput.docs.mdx} +1 -0
  36. package/src/inputs/SelectInput.less +219 -0
  37. package/src/inputs/{SelectInput/SelectInput.story.tsx → SelectInput.story.tsx} +7 -7
  38. package/src/inputs/SelectInput.tsx +1209 -0
  39. package/src/main.css +70 -65
  40. package/src/main.less +1 -1
  41. package/build/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.js +0 -26
  42. package/build/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.js.map +0 -1
  43. package/build/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.mjs +0 -24
  44. package/build/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.mjs.map +0 -1
  45. package/build/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.js +0 -54
  46. package/build/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.js.map +0 -1
  47. package/build/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.mjs +0 -52
  48. package/build/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.mjs.map +0 -1
  49. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.js +0 -41
  50. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +0 -1
  51. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs +0 -38
  52. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +0 -1
  53. package/build/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.js +0 -50
  54. package/build/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.js.map +0 -1
  55. package/build/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.mjs +0 -48
  56. package/build/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.mjs.map +0 -1
  57. package/build/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.js +0 -45
  58. package/build/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.js.map +0 -1
  59. package/build/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.mjs +0 -41
  60. package/build/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.mjs.map +0 -1
  61. package/build/inputs/SelectInput/Options/ItemView/SelectInputItemView.js +0 -50
  62. package/build/inputs/SelectInput/Options/ItemView/SelectInputItemView.js.map +0 -1
  63. package/build/inputs/SelectInput/Options/ItemView/SelectInputItemView.mjs +0 -48
  64. package/build/inputs/SelectInput/Options/ItemView/SelectInputItemView.mjs.map +0 -1
  65. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js +0 -48
  66. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js.map +0 -1
  67. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs +0 -46
  68. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs.map +0 -1
  69. package/build/inputs/SelectInput/Options/SelectInputOptions.js +0 -270
  70. package/build/inputs/SelectInput/Options/SelectInputOptions.js.map +0 -1
  71. package/build/inputs/SelectInput/Options/SelectInputOptions.mjs +0 -268
  72. package/build/inputs/SelectInput/Options/SelectInputOptions.mjs.map +0 -1
  73. package/build/inputs/SelectInput/SelectInput.constants.js +0 -6
  74. package/build/inputs/SelectInput/SelectInput.constants.js.map +0 -1
  75. package/build/inputs/SelectInput/SelectInput.constants.mjs +0 -4
  76. package/build/inputs/SelectInput/SelectInput.constants.mjs.map +0 -1
  77. package/build/inputs/SelectInput/SelectInput.helpers.js +0 -115
  78. package/build/inputs/SelectInput/SelectInput.helpers.js.map +0 -1
  79. package/build/inputs/SelectInput/SelectInput.helpers.mjs +0 -109
  80. package/build/inputs/SelectInput/SelectInput.helpers.mjs.map +0 -1
  81. package/build/inputs/SelectInput/SelectInput.js +0 -216
  82. package/build/inputs/SelectInput/SelectInput.js.map +0 -1
  83. package/build/inputs/SelectInput/SelectInput.messages.js.map +0 -1
  84. package/build/inputs/SelectInput/SelectInput.messages.mjs.map +0 -1
  85. package/build/inputs/SelectInput/SelectInput.mjs +0 -210
  86. package/build/inputs/SelectInput/SelectInput.mjs.map +0 -1
  87. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js +0 -41
  88. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js.map +0 -1
  89. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs +0 -34
  90. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs.map +0 -1
  91. package/build/styles/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.css +0 -17
  92. package/build/styles/inputs/SelectInput/OptionContent/SelectInputOptionContent.css +0 -37
  93. package/build/styles/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.css +0 -33
  94. package/build/styles/inputs/SelectInput/Options/ItemView/SelectInputItemView.css +0 -44
  95. package/build/styles/inputs/SelectInput/Options/SelectInputOptions.css +0 -125
  96. package/build/types/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.d.ts +0 -5
  97. package/build/types/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.d.ts.map +0 -1
  98. package/build/types/inputs/SelectInput/DefaultTrigger/ClearButton/index.d.ts +0 -2
  99. package/build/types/inputs/SelectInput/DefaultTrigger/ClearButton/index.d.ts.map +0 -1
  100. package/build/types/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.d.ts +0 -9
  101. package/build/types/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.d.ts.map +0 -1
  102. package/build/types/inputs/SelectInput/DefaultTrigger/index.d.ts +0 -2
  103. package/build/types/inputs/SelectInput/DefaultTrigger/index.d.ts.map +0 -1
  104. package/build/types/inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts +0 -9
  105. package/build/types/inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts.map +0 -1
  106. package/build/types/inputs/SelectInput/OptionContent/index.d.ts +0 -3
  107. package/build/types/inputs/SelectInput/OptionContent/index.d.ts.map +0 -1
  108. package/build/types/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.d.ts +0 -3
  109. package/build/types/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.d.ts.map +0 -1
  110. package/build/types/inputs/SelectInput/Options/GroupItemView/index.d.ts +0 -2
  111. package/build/types/inputs/SelectInput/Options/GroupItemView/index.d.ts.map +0 -1
  112. package/build/types/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.d.ts +0 -10
  113. package/build/types/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.d.ts.map +0 -1
  114. package/build/types/inputs/SelectInput/Options/ItemView/Option/index.d.ts +0 -2
  115. package/build/types/inputs/SelectInput/Options/ItemView/Option/index.d.ts.map +0 -1
  116. package/build/types/inputs/SelectInput/Options/ItemView/SelectInputItemView.d.ts +0 -3
  117. package/build/types/inputs/SelectInput/Options/ItemView/SelectInputItemView.d.ts.map +0 -1
  118. package/build/types/inputs/SelectInput/Options/ItemView/index.d.ts +0 -2
  119. package/build/types/inputs/SelectInput/Options/ItemView/index.d.ts.map +0 -1
  120. package/build/types/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.d.ts +0 -6
  121. package/build/types/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.d.ts.map +0 -1
  122. package/build/types/inputs/SelectInput/Options/OptionsContainer/index.d.ts +0 -2
  123. package/build/types/inputs/SelectInput/Options/OptionsContainer/index.d.ts.map +0 -1
  124. package/build/types/inputs/SelectInput/Options/SelectInputOptions.d.ts +0 -15
  125. package/build/types/inputs/SelectInput/Options/SelectInputOptions.d.ts.map +0 -1
  126. package/build/types/inputs/SelectInput/Options/index.d.ts +0 -2
  127. package/build/types/inputs/SelectInput/Options/index.d.ts.map +0 -1
  128. package/build/types/inputs/SelectInput/SelectInput.constants.d.ts +0 -2
  129. package/build/types/inputs/SelectInput/SelectInput.constants.d.ts.map +0 -1
  130. package/build/types/inputs/SelectInput/SelectInput.d.ts +0 -3
  131. package/build/types/inputs/SelectInput/SelectInput.d.ts.map +0 -1
  132. package/build/types/inputs/SelectInput/SelectInput.helpers.d.ts +0 -28
  133. package/build/types/inputs/SelectInput/SelectInput.helpers.d.ts.map +0 -1
  134. package/build/types/inputs/SelectInput/SelectInput.messages.d.ts.map +0 -1
  135. package/build/types/inputs/SelectInput/SelectInput.types.d.ts.map +0 -1
  136. package/build/types/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.d.ts +0 -15
  137. package/build/types/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.d.ts.map +0 -1
  138. package/build/types/inputs/SelectInput/TriggerButton/index.d.ts +0 -3
  139. package/build/types/inputs/SelectInput/TriggerButton/index.d.ts.map +0 -1
  140. package/build/types/inputs/SelectInput/index.d.ts +0 -5
  141. package/build/types/inputs/SelectInput/index.d.ts.map +0 -1
  142. package/src/inputs/SelectInput/DefaultTrigger/ClearButton/SelectInputClearButton.tsx +0 -25
  143. package/src/inputs/SelectInput/DefaultTrigger/ClearButton/index.ts +0 -1
  144. package/src/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.css +0 -17
  145. package/src/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.less +0 -15
  146. package/src/inputs/SelectInput/DefaultTrigger/SelectInputDefaultTrigger.tsx +0 -56
  147. package/src/inputs/SelectInput/DefaultTrigger/index.ts +0 -1
  148. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.css +0 -37
  149. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.less +0 -38
  150. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.tsx +0 -67
  151. package/src/inputs/SelectInput/OptionContent/index.ts +0 -5
  152. package/src/inputs/SelectInput/Options/GroupItemView/SelectInputGroupItemView.tsx +0 -53
  153. package/src/inputs/SelectInput/Options/GroupItemView/index.ts +0 -1
  154. package/src/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.css +0 -33
  155. package/src/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.less +0 -32
  156. package/src/inputs/SelectInput/Options/ItemView/Option/SelectInputOption.tsx +0 -51
  157. package/src/inputs/SelectInput/Options/ItemView/Option/index.ts +0 -5
  158. package/src/inputs/SelectInput/Options/ItemView/SelectInputItemView.css +0 -44
  159. package/src/inputs/SelectInput/Options/ItemView/SelectInputItemView.less +0 -14
  160. package/src/inputs/SelectInput/Options/ItemView/SelectInputItemView.tsx +0 -37
  161. package/src/inputs/SelectInput/Options/ItemView/index.ts +0 -1
  162. package/src/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.tsx +0 -55
  163. package/src/inputs/SelectInput/Options/OptionsContainer/index.ts +0 -1
  164. package/src/inputs/SelectInput/Options/SelectInputOptions.css +0 -125
  165. package/src/inputs/SelectInput/Options/SelectInputOptions.less +0 -78
  166. package/src/inputs/SelectInput/Options/SelectInputOptions.tsx +0 -372
  167. package/src/inputs/SelectInput/Options/index.ts +0 -1
  168. package/src/inputs/SelectInput/SelectInput.constants.ts +0 -1
  169. package/src/inputs/SelectInput/SelectInput.helpers.ts +0 -152
  170. package/src/inputs/SelectInput/SelectInput.less +0 -40
  171. package/src/inputs/SelectInput/SelectInput.test.tsx +0 -606
  172. package/src/inputs/SelectInput/SelectInput.tsx +0 -247
  173. package/src/inputs/SelectInput/SelectInput.types.ts +0 -127
  174. package/src/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.tsx +0 -39
  175. package/src/inputs/SelectInput/TriggerButton/index.ts +0 -5
  176. package/src/inputs/SelectInput/index.ts +0 -13
  177. /package/build/inputs/{SelectInput/SelectInput.messages.js → SelectInput.messages.js} +0 -0
  178. /package/build/inputs/{SelectInput/SelectInput.messages.mjs → SelectInput.messages.mjs} +0 -0
  179. /package/build/types/inputs/{SelectInput/SelectInput.messages.d.ts → SelectInput.messages.d.ts} +0 -0
  180. /package/src/inputs/{SelectInput/SelectInput.messages.ts → SelectInput.messages.ts} +0 -0
@@ -3976,49 +3976,27 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
3976
3976
  color: #5d7079;
3977
3977
  color: var(--color-content-secondary);
3978
3978
  }
3979
- .np-select-input-option-container {
3980
- display: flex;
3981
- cursor: default;
3982
- -webkit-user-select: none;
3983
- -moz-user-select: none;
3984
- user-select: none;
3985
- align-items: center;
3986
- -moz-column-gap: 8px;
3987
- column-gap: 8px;
3988
- -moz-column-gap: var(--size-8);
3989
- column-gap: var(--size-8);
3990
- border-radius: 10px;
3991
- border-radius: var(--radius-small);
3992
- padding: 12px 16px;
3993
- padding: var(--size-12) var(--size-16);
3994
- color: var(--color-interactive-primary);
3995
- }
3996
- .np-select-input-option-container:focus {
3997
- outline: none;
3998
- }
3999
- .np-select-input-option-container--active {
4000
- box-shadow: inset 0 0 0 1px #c9cbce;
4001
- box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
4002
- }
4003
- .np-select-input-option-container--disabled {
4004
- opacity: 0.45;
3979
+ .np-select-input-content {
3980
+ overflow: hidden;
3981
+ text-overflow: ellipsis;
3982
+ white-space: nowrap;
4005
3983
  }
4006
- .np-select-input-option {
4007
- flex: 1;
3984
+ .np-select-input-placeholder {
3985
+ color: #768e9c;
3986
+ color: var(--color-content-tertiary);
4008
3987
  }
4009
- .np-select-input-option-check--not-selected {
4010
- visibility: hidden;
3988
+ .np-select-input-options-container {
3989
+ display: flex;
3990
+ height: 100%;
3991
+ flex-direction: column;
4011
3992
  }
4012
- .np-select-input-group-item--without-needle:first-child {
4013
- margin-top: calc(-1 * 8px);
4014
- margin-top: calc(-1 * var(--size-8));
3993
+ .np-select-input-options-container:focus {
3994
+ outline: none;
4015
3995
  }
4016
- .np-select-input-group-item-header {
4017
- position: sticky;
4018
- top: 0px;
4019
- z-index: 10;
4020
- background-color: #ffffff;
4021
- background-color: var(--color-background-elevated);
3996
+ @media (min-width: 576px) {
3997
+ .np-select-input-options-container {
3998
+ max-height: 28rem /* 448px */;
3999
+ }
4022
4000
  }
4023
4001
  .np-select-input-options-status {
4024
4002
  display: flex;
@@ -4084,22 +4062,54 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4084
4062
  contain: strict;
4085
4063
  height: 100%;
4086
4064
  }
4087
- .np-select-input-options-container {
4065
+ .np-select-input-separator-item {
4066
+ margin: 8px;
4067
+ margin: var(--size-8);
4068
+ border-top-width: 1px;
4069
+ }
4070
+ .np-select-input-group-item--without-needle:first-child {
4071
+ margin-top: calc(-1 * 8px);
4072
+ margin-top: calc(-1 * var(--size-8));
4073
+ }
4074
+ .np-select-input-group-item-header {
4075
+ position: sticky;
4076
+ top: 0px;
4077
+ z-index: 10;
4078
+ background-color: #ffffff;
4079
+ background-color: var(--color-background-elevated);
4080
+ }
4081
+ .np-select-input-option-container {
4088
4082
  display: flex;
4089
- height: 100%;
4090
- flex-direction: column;
4083
+ cursor: default;
4084
+ -webkit-user-select: none;
4085
+ -moz-user-select: none;
4086
+ user-select: none;
4087
+ align-items: center;
4088
+ -moz-column-gap: 8px;
4089
+ column-gap: 8px;
4090
+ -moz-column-gap: var(--size-8);
4091
+ column-gap: var(--size-8);
4092
+ border-radius: 10px;
4093
+ border-radius: var(--radius-small);
4094
+ padding: 12px 16px;
4095
+ padding: var(--size-12) var(--size-16);
4096
+ color: var(--color-interactive-primary);
4091
4097
  }
4092
- .np-select-input-options-container:focus {
4098
+ .np-select-input-option-container:focus {
4093
4099
  outline: none;
4094
4100
  }
4095
- @media (min-width: 576px) {
4096
- .np-select-input-options-container {
4097
- max-height: 28rem /* 448px */;
4098
- }
4101
+ .np-select-input-option-container--active {
4102
+ box-shadow: inset 0 0 0 1px #c9cbce;
4103
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
4099
4104
  }
4100
- .np-select-input-footer {
4101
- padding: 4px 24px 16px;
4102
- padding: var(--size-4) var(--size-24) var(--size-16);
4105
+ .np-select-input-option-container--disabled {
4106
+ opacity: 0.45;
4107
+ }
4108
+ .np-select-input-option-check--not-selected {
4109
+ visibility: hidden;
4110
+ }
4111
+ .np-select-input-option {
4112
+ flex: 1;
4103
4113
  }
4104
4114
  .np-select-input-option-content-container {
4105
4115
  display: flex;
@@ -4138,6 +4148,10 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4138
4148
  margin-left: 8px;
4139
4149
  margin-left: var(--size-8);
4140
4150
  }
4151
+ .np-select-input-footer {
4152
+ padding: 4px 24px 16px;
4153
+ padding: var(--size-4) var(--size-24) var(--size-16);
4154
+ }
4141
4155
  .np-select-input-addon-container {
4142
4156
  pointer-events: none;
4143
4157
  margin-inline-start: 4px;
@@ -4149,21 +4163,6 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4149
4163
  margin-inline-start: 4px;
4150
4164
  margin-inline-start: var(--size-4);
4151
4165
  }
4152
- .np-select-input-addon-separator {
4153
- height: 24px;
4154
- height: var(--size-24);
4155
- border-inline-start: 1px solid rgba(0,0,0,0.10196);
4156
- border-inline-start: 1px solid var(--color-border-neutral);
4157
- }
4158
- .np-select-input-content {
4159
- overflow: hidden;
4160
- text-overflow: ellipsis;
4161
- white-space: nowrap;
4162
- }
4163
- .np-select-input-placeholder {
4164
- color: #768e9c;
4165
- color: var(--color-content-tertiary);
4166
- }
4167
4166
  .np-select-input-addon {
4168
4167
  border-width: 0;
4169
4168
  background: none;
@@ -4193,6 +4192,12 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4193
4192
  outline: var(--ring-outline-color) solid var(--ring-outline-width);
4194
4193
  outline-offset: var(--ring-outline-offset);
4195
4194
  }
4195
+ .np-select-input-addon-separator {
4196
+ height: 24px;
4197
+ height: var(--size-24);
4198
+ border-inline-start: 1px solid rgba(0,0,0,0.10196);
4199
+ border-inline-start: 1px solid var(--color-border-neutral);
4200
+ }
4196
4201
  .np-text-area {
4197
4202
  min-height: 72px;
4198
4203
  min-height: var(--size-72);
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
- import { Merge } from '../../utils';
3
- import { ButtonProps } from '../../button/Button.types';
4
- import { WithInputAttributesProps } from '../contexts';
2
+ import { Merge } from '../utils';
3
+ import { WithInputAttributesProps } from './contexts';
4
+ import { ButtonProps } from '../button/Button.types';
5
5
  export interface SelectInputOptionItem<T = string> {
6
6
  type: 'option';
7
7
  value: T;
@@ -87,21 +87,18 @@ export interface SelectInputProps<T = string, M extends boolean = false> {
87
87
  onClose?: () => void;
88
88
  onClear?: () => void;
89
89
  }
90
+ export declare function SelectInput<T = string, M extends boolean = false>({ id: idProp, parentId, name, multiple, placeholder, autocomplete, items, defaultValue, value: controlledValue, compareValues, renderValue, renderFooter, renderTrigger, filterable, filterPlaceholder, sortFilteredOptions, disabled, size, className, UNSAFE_triggerButtonProps, triggerRef: externalTriggerRef, onFilterChange, onChange, onOpen, onClose, onClear, }: SelectInputProps<T, M>): import("react").JSX.Element;
90
91
  type SelectInputTriggerButtonElementType = 'button' | React.ComponentType;
91
92
  export type SelectInputTriggerButtonProps<T extends SelectInputTriggerButtonElementType = 'button'> = Merge<React.ComponentPropsWithoutRef<T>, {
92
93
  as?: T;
93
94
  }>;
95
+ export declare function SelectInputTriggerButton<T extends SelectInputTriggerButtonElementType = 'button'>({ as, ...restProps }: SelectInputTriggerButtonProps<T>): import("react").JSX.Element;
94
96
  export interface SelectInputOptionContentProps {
95
97
  title: string;
96
98
  note?: string;
97
99
  description?: string;
98
100
  icon?: React.ReactNode;
99
101
  }
100
- export interface SelectInputItemViewProps<T = string, I extends SelectInputItem<T | undefined> = SelectInputItem<T | undefined>> extends Required<Pick<SelectInputProps<T>, 'renderValue'>> {
101
- item: I;
102
- needle: string | null | undefined;
103
- }
104
- export interface SelectInputGroupItemViewProps<T = string> extends SelectInputItemViewProps<T, SelectInputGroupItem<T | undefined>> {
105
- }
102
+ export declare function SelectInputOptionContent({ title, note, description, icon, }: SelectInputOptionContentProps): import("react").JSX.Element;
106
103
  export {};
107
- //# sourceMappingURL=SelectInput.types.d.ts.map
104
+ //# sourceMappingURL=SelectInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectInput.d.ts","sourceRoot":"","sources":["../../../src/inputs/SelectInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectInput.messages.d.ts","sourceRoot":"","sources":["../../../src/inputs/SelectInput.messages.ts"],"names":[],"mappings":";;;;;;;AAEA,wBAMG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-bcfa03a",
3
+ "version": "0.0.0-experimental-5cd0315",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -87,8 +87,8 @@
87
87
  "storybook-addon-tag-badges": "^3.0.4",
88
88
  "storybook-addon-test-codegen": "^3.0.1",
89
89
  "@transferwise/less-config": "3.1.2",
90
- "@transferwise/neptune-css": "14.26.1",
91
90
  "@wise/components-theming": "1.10.1",
91
+ "@transferwise/neptune-css": "14.26.1",
92
92
  "@wise/wds-configs": "0.0.0"
93
93
  },
94
94
  "peerDependencies": {
@@ -148,49 +148,27 @@
148
148
  color: #5d7079;
149
149
  color: var(--color-content-secondary);
150
150
  }
151
- .np-select-input-option-container {
152
- display: flex;
153
- cursor: default;
154
- -webkit-user-select: none;
155
- -moz-user-select: none;
156
- user-select: none;
157
- align-items: center;
158
- -moz-column-gap: 8px;
159
- column-gap: 8px;
160
- -moz-column-gap: var(--size-8);
161
- column-gap: var(--size-8);
162
- border-radius: 10px;
163
- border-radius: var(--radius-small);
164
- padding: 12px 16px;
165
- padding: var(--size-12) var(--size-16);
166
- color: var(--color-interactive-primary);
167
- }
168
- .np-select-input-option-container:focus {
169
- outline: none;
170
- }
171
- .np-select-input-option-container--active {
172
- box-shadow: inset 0 0 0 1px #c9cbce;
173
- box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
174
- }
175
- .np-select-input-option-container--disabled {
176
- opacity: 0.45;
151
+ .np-select-input-content {
152
+ overflow: hidden;
153
+ text-overflow: ellipsis;
154
+ white-space: nowrap;
177
155
  }
178
- .np-select-input-option {
179
- flex: 1;
156
+ .np-select-input-placeholder {
157
+ color: #768e9c;
158
+ color: var(--color-content-tertiary);
180
159
  }
181
- .np-select-input-option-check--not-selected {
182
- visibility: hidden;
160
+ .np-select-input-options-container {
161
+ display: flex;
162
+ height: 100%;
163
+ flex-direction: column;
183
164
  }
184
- .np-select-input-group-item--without-needle:first-child {
185
- margin-top: calc(-1 * 8px);
186
- margin-top: calc(-1 * var(--size-8));
165
+ .np-select-input-options-container:focus {
166
+ outline: none;
187
167
  }
188
- .np-select-input-group-item-header {
189
- position: sticky;
190
- top: 0px;
191
- z-index: 10;
192
- background-color: #ffffff;
193
- background-color: var(--color-background-elevated);
168
+ @media (min-width: 576px) {
169
+ .np-select-input-options-container {
170
+ max-height: 28rem /* 448px */;
171
+ }
194
172
  }
195
173
  .np-select-input-options-status {
196
174
  display: flex;
@@ -256,22 +234,54 @@
256
234
  contain: strict;
257
235
  height: 100%;
258
236
  }
259
- .np-select-input-options-container {
237
+ .np-select-input-separator-item {
238
+ margin: 8px;
239
+ margin: var(--size-8);
240
+ border-top-width: 1px;
241
+ }
242
+ .np-select-input-group-item--without-needle:first-child {
243
+ margin-top: calc(-1 * 8px);
244
+ margin-top: calc(-1 * var(--size-8));
245
+ }
246
+ .np-select-input-group-item-header {
247
+ position: sticky;
248
+ top: 0px;
249
+ z-index: 10;
250
+ background-color: #ffffff;
251
+ background-color: var(--color-background-elevated);
252
+ }
253
+ .np-select-input-option-container {
260
254
  display: flex;
261
- height: 100%;
262
- flex-direction: column;
255
+ cursor: default;
256
+ -webkit-user-select: none;
257
+ -moz-user-select: none;
258
+ user-select: none;
259
+ align-items: center;
260
+ -moz-column-gap: 8px;
261
+ column-gap: 8px;
262
+ -moz-column-gap: var(--size-8);
263
+ column-gap: var(--size-8);
264
+ border-radius: 10px;
265
+ border-radius: var(--radius-small);
266
+ padding: 12px 16px;
267
+ padding: var(--size-12) var(--size-16);
268
+ color: var(--color-interactive-primary);
263
269
  }
264
- .np-select-input-options-container:focus {
270
+ .np-select-input-option-container:focus {
265
271
  outline: none;
266
272
  }
267
- @media (min-width: 576px) {
268
- .np-select-input-options-container {
269
- max-height: 28rem /* 448px */;
270
- }
273
+ .np-select-input-option-container--active {
274
+ box-shadow: inset 0 0 0 1px #c9cbce;
275
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
271
276
  }
272
- .np-select-input-footer {
273
- padding: 4px 24px 16px;
274
- padding: var(--size-4) var(--size-24) var(--size-16);
277
+ .np-select-input-option-container--disabled {
278
+ opacity: 0.45;
279
+ }
280
+ .np-select-input-option-check--not-selected {
281
+ visibility: hidden;
282
+ }
283
+ .np-select-input-option {
284
+ flex: 1;
275
285
  }
276
286
  .np-select-input-option-content-container {
277
287
  display: flex;
@@ -310,6 +320,10 @@
310
320
  margin-left: 8px;
311
321
  margin-left: var(--size-8);
312
322
  }
323
+ .np-select-input-footer {
324
+ padding: 4px 24px 16px;
325
+ padding: var(--size-4) var(--size-24) var(--size-16);
326
+ }
313
327
  .np-select-input-addon-container {
314
328
  pointer-events: none;
315
329
  margin-inline-start: 4px;
@@ -321,21 +335,6 @@
321
335
  margin-inline-start: 4px;
322
336
  margin-inline-start: var(--size-4);
323
337
  }
324
- .np-select-input-addon-separator {
325
- height: 24px;
326
- height: var(--size-24);
327
- border-inline-start: 1px solid rgba(0,0,0,0.10196);
328
- border-inline-start: 1px solid var(--color-border-neutral);
329
- }
330
- .np-select-input-content {
331
- overflow: hidden;
332
- text-overflow: ellipsis;
333
- white-space: nowrap;
334
- }
335
- .np-select-input-placeholder {
336
- color: #768e9c;
337
- color: var(--color-content-tertiary);
338
- }
339
338
  .np-select-input-addon {
340
339
  border-width: 0;
341
340
  background: none;
@@ -365,3 +364,9 @@
365
364
  outline: var(--ring-outline-color) solid var(--ring-outline-width);
366
365
  outline-offset: var(--ring-outline-offset);
367
366
  }
367
+ .np-select-input-addon-separator {
368
+ height: 24px;
369
+ height: var(--size-24);
370
+ border-inline-start: 1px solid rgba(0,0,0,0.10196);
371
+ border-inline-start: 1px solid var(--color-border-neutral);
372
+ }
@@ -1,4 +1,5 @@
1
1
  import { Meta } from '@storybook/addon-docs/blocks';
2
+ import { MoneyInput } from '..';
2
3
 
3
4
  <Meta title="Forms/SelectInput/Accessibility" />
4
5
 
@@ -0,0 +1,219 @@
1
+ @import "./_BottomSheet.less";
2
+ @import "./_ButtonInput.less";
3
+ @import "./_Popover.less";
4
+ @import (reference) "../../node_modules/@transferwise/neptune-css/src/less/ring.less";
5
+
6
+ .np-select-input-content {
7
+ overflow: hidden;
8
+ text-overflow: ellipsis;
9
+ white-space: nowrap;
10
+ }
11
+
12
+ .np-select-input-placeholder {
13
+ color: var(--color-content-tertiary);
14
+ }
15
+
16
+ .np-select-input-options-container {
17
+ display: flex;
18
+ height: 100%;
19
+ flex-direction: column;
20
+
21
+ &:focus {
22
+ outline: none;
23
+ }
24
+
25
+ @media (--screen-sm) {
26
+ & {
27
+ max-height: 28rem /* 448px */;
28
+ }
29
+ }
30
+ }
31
+
32
+ .np-select-input-options-status {
33
+ display: flex;
34
+ align-items: center;
35
+ column-gap: var(--size-8);
36
+ padding: var(--size-8) var(--size-24) 0px;
37
+ }
38
+
39
+ .np-select-input-options-status-icon {
40
+ padding: 0 var(--size-4);
41
+ color: var(--color-content-tertiary);
42
+ }
43
+
44
+ .np-select-input-query-container {
45
+ display: flex;
46
+ flex-direction: column;
47
+ padding: var(--size-8);
48
+ }
49
+
50
+ .np-select-input-listbox-container {
51
+ position: relative;
52
+ height: var(--initial-height);
53
+ scroll-padding-top: var(--size-8);
54
+ scroll-padding-bottom: var(--size-8);
55
+ overflow-y: auto;
56
+
57
+ @media (--screen-sm) {
58
+ & {
59
+ height: auto;
60
+ }
61
+ }
62
+
63
+ &--virtualized {
64
+ /* The wrapping element shrinks this as needed */
65
+ height: 100vh;
66
+ }
67
+
68
+ &--has-group {
69
+ scroll-padding-top: var(--size-32);
70
+ }
71
+ }
72
+
73
+ .np-select-input-listbox {
74
+ border-radius: var(--radius-small);
75
+ padding: var(--size-8);
76
+
77
+ .focus-ring();
78
+ --ring-outline-offset: calc(-1 * var(--ring-outline-width));
79
+
80
+ .np-select-input-listbox-container--virtualized & {
81
+ /* Adopted from `VList` in virtua: https://github.com/inokawa/virtua/blob/7f6ed5b37df6b480d4ff350f3960067c5b3519d2/src/react/VList.tsx#L113-L116 */
82
+ overflow-y: auto;
83
+ contain: strict;
84
+ height: 100%;
85
+ }
86
+ }
87
+
88
+ .np-select-input-separator-item {
89
+ margin: var(--size-8);
90
+ border-top-width: 1px;
91
+ }
92
+
93
+ .np-select-input-group-item {
94
+ &--without-needle:first-child {
95
+ margin-top: calc(-1 * var(--size-8));
96
+ }
97
+ }
98
+
99
+ .np-select-input-group-item-header {
100
+ position: sticky;
101
+ top: 0px;
102
+ z-index: 10;
103
+ background-color: var(--color-background-elevated);
104
+ }
105
+
106
+ .np-select-input-option-container {
107
+ display: flex;
108
+ cursor: default;
109
+ user-select: none;
110
+ align-items: center;
111
+ column-gap: var(--size-8);
112
+ border-radius: var(--radius-small);
113
+ padding: var(--size-12) var(--size-16);
114
+ color: var(--color-interactive-primary);
115
+
116
+ &:focus {
117
+ outline: none;
118
+ }
119
+
120
+ &--active {
121
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
122
+ }
123
+
124
+ &--disabled {
125
+ opacity: 0.45;
126
+ }
127
+ }
128
+
129
+ .np-select-input-option-check {
130
+ &--not-selected {
131
+ visibility: hidden;
132
+ }
133
+ }
134
+
135
+ .np-select-input-option {
136
+ flex: 1;
137
+ }
138
+
139
+ .np-select-input-option-content-container {
140
+ display: flex;
141
+ align-items: center;
142
+ column-gap: var(--size-8);
143
+ color: var(--color-content-primary);
144
+ }
145
+
146
+ .np-select-input-option-content-icon {
147
+ display: flex;
148
+
149
+ &--not-within-trigger {
150
+ align-self: flex-start;
151
+ }
152
+ }
153
+
154
+ .np-select-input-option-content-text {
155
+ display: flex;
156
+ flex: 1;
157
+ flex-direction: column;
158
+ overflow: hidden;
159
+ }
160
+
161
+ .np-select-input-option-content-text-secondary {
162
+ color: var(--color-content-secondary);
163
+ }
164
+
165
+ .np-select-input-option-content-text-within-trigger {
166
+ overflow: hidden;
167
+ text-overflow: ellipsis;
168
+ white-space: nowrap;
169
+ }
170
+
171
+ .np-select-input-option-content-text-line-1 {
172
+ > :not([hidden]) ~ :not([hidden]) {
173
+ margin-right: var(--size-8);
174
+ margin-left: var(--size-8);
175
+ }
176
+ }
177
+
178
+ .np-select-input-footer {
179
+ padding: var(--size-4) var(--size-24) var(--size-16);
180
+ }
181
+
182
+ .np-select-input-addon-container {
183
+ pointer-events: none;
184
+ margin-inline-start: var(--size-4);
185
+ display: inline-flex;
186
+ align-items: center;
187
+
188
+ & > :not([hidden]) ~ :not([hidden]) {
189
+ margin-inline-start: var(--size-4);
190
+ }
191
+ }
192
+
193
+ .np-select-input-addon {
194
+ border-width: 0;
195
+ background: none;
196
+
197
+ display: inline-flex;
198
+ height: var(--size-24);
199
+ width: var(--size-24);
200
+ align-items: center;
201
+ justify-content: center;
202
+ border-radius: 0.125rem /* 2px */; /* TODO: Tokenize */
203
+
204
+ &--interactive {
205
+ pointer-events: auto;
206
+ color: var(--color-interactive-secondary);
207
+
208
+ &:hover {
209
+ color: var(--color-interactive-secondary-hover);
210
+ }
211
+
212
+ .focus-ring();
213
+ }
214
+ }
215
+
216
+ .np-select-input-addon-separator {
217
+ height: var(--size-24);
218
+ border-inline-start: 1px solid var(--color-border-neutral);
219
+ }
@@ -5,19 +5,19 @@ import { Flag } from '@wise/art';
5
5
  import { clsx } from 'clsx';
6
6
  import { useState } from 'react';
7
7
 
8
- import Button from '../../button';
9
- import { getMonthNames } from '../../common/dateUtils';
10
- import Drawer from '../../drawer';
11
- import { Field } from '../../field/Field';
12
- import Modal from '../../modal';
13
- import { wait } from '../../test-utils/wait';
8
+ import Button from '../button';
9
+ import { getMonthNames } from '../common/dateUtils';
10
+ import Drawer from '../drawer';
11
+ import { Field } from '../field/Field';
12
+ import Modal from '../modal';
13
+ import { wait } from '../test-utils/wait';
14
14
  import {
15
15
  SelectInput,
16
16
  type SelectInputItem,
17
17
  SelectInputOptionContent,
18
18
  type SelectInputProps,
19
19
  SelectInputTriggerButton,
20
- } from '.';
20
+ } from './SelectInput';
21
21
 
22
22
  const meta = {
23
23
  title: 'Forms/SelectInput',