@transferwise/components 46.130.2 → 46.130.3

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 (236) hide show
  1. package/build/dateInput/DateInput.js +12 -5
  2. package/build/dateInput/DateInput.js.map +1 -1
  3. package/build/dateInput/DateInput.mjs +11 -4
  4. package/build/dateInput/DateInput.mjs.map +1 -1
  5. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js +16 -8
  6. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js.map +1 -1
  7. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs +14 -6
  8. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs.map +1 -1
  9. package/build/index.js +12 -7
  10. package/build/index.js.map +1 -1
  11. package/build/index.mjs +9 -3
  12. package/build/index.mjs.map +1 -1
  13. package/build/inputs/{_BottomSheet.js → SelectInput/BottomSheet/SelectInputBottomSheet.js} +7 -7
  14. package/build/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.js.map +1 -0
  15. package/build/inputs/{_BottomSheet.mjs → SelectInput/BottomSheet/SelectInputBottomSheet.mjs} +7 -7
  16. package/build/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.mjs.map +1 -0
  17. package/build/inputs/{_ButtonInput.js → SelectInput/ButtonInput/SelectInputButtonInput.js} +5 -5
  18. package/build/inputs/SelectInput/ButtonInput/SelectInputButtonInput.js.map +1 -0
  19. package/build/inputs/{_ButtonInput.mjs → SelectInput/ButtonInput/SelectInputButtonInput.mjs} +5 -5
  20. package/build/inputs/SelectInput/ButtonInput/SelectInputButtonInput.mjs.map +1 -0
  21. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.js +26 -0
  22. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.js.map +1 -0
  23. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.mjs +24 -0
  24. package/build/inputs/SelectInput/ClearButton/SelectInputClearButton.mjs.map +1 -0
  25. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.js +59 -0
  26. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.js.map +1 -0
  27. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.mjs +56 -0
  28. package/build/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.mjs.map +1 -0
  29. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.js +50 -0
  30. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.js.map +1 -0
  31. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.mjs +48 -0
  32. package/build/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.mjs.map +1 -0
  33. package/build/inputs/SelectInput/ItemView/SelectInputItemView.js +47 -0
  34. package/build/inputs/SelectInput/ItemView/SelectInputItemView.js.map +1 -0
  35. package/build/inputs/SelectInput/ItemView/SelectInputItemView.mjs +45 -0
  36. package/build/inputs/SelectInput/ItemView/SelectInputItemView.mjs.map +1 -0
  37. package/build/inputs/SelectInput/Option/SelectInputOption.js +42 -0
  38. package/build/inputs/SelectInput/Option/SelectInputOption.js.map +1 -0
  39. package/build/inputs/SelectInput/Option/SelectInputOption.mjs +40 -0
  40. package/build/inputs/SelectInput/Option/SelectInputOption.mjs.map +1 -0
  41. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.js +40 -0
  42. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +1 -0
  43. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs +38 -0
  44. package/build/inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +1 -0
  45. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js +48 -0
  46. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js.map +1 -0
  47. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs +46 -0
  48. package/build/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs.map +1 -0
  49. package/build/inputs/SelectInput/Options/SelectInputOptions.js +300 -0
  50. package/build/inputs/SelectInput/Options/SelectInputOptions.js.map +1 -0
  51. package/build/inputs/SelectInput/Options/SelectInputOptions.mjs +298 -0
  52. package/build/inputs/SelectInput/Options/SelectInputOptions.mjs.map +1 -0
  53. package/build/inputs/{_Popover.js → SelectInput/Popover/SelectInputPopover.js} +7 -7
  54. package/build/inputs/SelectInput/Popover/SelectInputPopover.js.map +1 -0
  55. package/build/inputs/{_Popover.mjs → SelectInput/Popover/SelectInputPopover.mjs} +7 -7
  56. package/build/inputs/SelectInput/Popover/SelectInputPopover.mjs.map +1 -0
  57. package/build/inputs/SelectInput/SelectInput.contexts.js +29 -0
  58. package/build/inputs/SelectInput/SelectInput.contexts.js.map +1 -0
  59. package/build/inputs/SelectInput/SelectInput.contexts.mjs +24 -0
  60. package/build/inputs/SelectInput/SelectInput.contexts.mjs.map +1 -0
  61. package/build/inputs/SelectInput/SelectInput.js +222 -0
  62. package/build/inputs/SelectInput/SelectInput.js.map +1 -0
  63. package/build/inputs/SelectInput/SelectInput.messages.js.map +1 -0
  64. package/build/inputs/SelectInput/SelectInput.messages.mjs.map +1 -0
  65. package/build/inputs/SelectInput/SelectInput.mjs +216 -0
  66. package/build/inputs/SelectInput/SelectInput.mjs.map +1 -0
  67. package/build/inputs/SelectInput/SelectInput.utils.js +164 -0
  68. package/build/inputs/SelectInput/SelectInput.utils.js.map +1 -0
  69. package/build/inputs/SelectInput/SelectInput.utils.mjs +154 -0
  70. package/build/inputs/SelectInput/SelectInput.utils.mjs.map +1 -0
  71. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js +42 -0
  72. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js.map +1 -0
  73. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs +36 -0
  74. package/build/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs.map +1 -0
  75. package/build/main.css +90 -90
  76. package/build/moneyInput/MoneyInput.js +9 -2
  77. package/build/moneyInput/MoneyInput.js.map +1 -1
  78. package/build/moneyInput/MoneyInput.mjs +8 -1
  79. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  80. package/build/phoneNumberInput/PhoneNumberInput.js +10 -3
  81. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  82. package/build/phoneNumberInput/PhoneNumberInput.mjs +9 -2
  83. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  84. package/build/styles/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.css +96 -0
  85. package/build/styles/inputs/SelectInput/ButtonInput/SelectInputButtonInput.css +16 -0
  86. package/build/styles/inputs/SelectInput/ClearButton/SelectInputClearButton.css +46 -0
  87. package/build/styles/inputs/SelectInput/ItemView/SelectInputItemView.css +16 -0
  88. package/build/styles/inputs/SelectInput/Option/SelectInputOption.css +33 -0
  89. package/build/styles/inputs/SelectInput/OptionContent/SelectInputOptionContent.css +37 -0
  90. package/build/styles/inputs/SelectInput/Options/SelectInputOptions.css +81 -0
  91. package/build/styles/inputs/SelectInput/Popover/SelectInputPopover.css +46 -0
  92. package/build/styles/main.css +90 -90
  93. package/build/types/index.d.ts +1 -1
  94. package/build/types/index.d.ts.map +1 -1
  95. package/build/types/inputs/{_BottomSheet.d.ts → SelectInput/BottomSheet/SelectInputBottomSheet.d.ts} +3 -3
  96. package/build/types/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.d.ts.map +1 -0
  97. package/build/types/inputs/SelectInput/BottomSheet/index.d.ts +3 -0
  98. package/build/types/inputs/SelectInput/BottomSheet/index.d.ts.map +1 -0
  99. package/build/types/inputs/SelectInput/ButtonInput/SelectInputButtonInput.d.ts +5 -0
  100. package/build/types/inputs/SelectInput/ButtonInput/SelectInputButtonInput.d.ts.map +1 -0
  101. package/build/types/inputs/SelectInput/ButtonInput/index.d.ts +3 -0
  102. package/build/types/inputs/SelectInput/ButtonInput/index.d.ts.map +1 -0
  103. package/build/types/inputs/SelectInput/ClearButton/SelectInputClearButton.d.ts +7 -0
  104. package/build/types/inputs/SelectInput/ClearButton/SelectInputClearButton.d.ts.map +1 -0
  105. package/build/types/inputs/SelectInput/ClearButton/index.d.ts +3 -0
  106. package/build/types/inputs/SelectInput/ClearButton/index.d.ts.map +1 -0
  107. package/build/types/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.d.ts +16 -0
  108. package/build/types/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.d.ts.map +1 -0
  109. package/build/types/inputs/SelectInput/DefaultRenderTrigger/index.d.ts +2 -0
  110. package/build/types/inputs/SelectInput/DefaultRenderTrigger/index.d.ts.map +1 -0
  111. package/build/types/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.d.ts +9 -0
  112. package/build/types/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.d.ts.map +1 -0
  113. package/build/types/inputs/SelectInput/ItemView/GroupItemView/index.d.ts +3 -0
  114. package/build/types/inputs/SelectInput/ItemView/GroupItemView/index.d.ts.map +1 -0
  115. package/build/types/inputs/SelectInput/ItemView/SelectInputItemView.d.ts +11 -0
  116. package/build/types/inputs/SelectInput/ItemView/SelectInputItemView.d.ts.map +1 -0
  117. package/build/types/inputs/SelectInput/ItemView/index.d.ts +4 -0
  118. package/build/types/inputs/SelectInput/ItemView/index.d.ts.map +1 -0
  119. package/build/types/inputs/SelectInput/Option/SelectInputOption.d.ts +11 -0
  120. package/build/types/inputs/SelectInput/Option/SelectInputOption.d.ts.map +1 -0
  121. package/build/types/inputs/SelectInput/Option/index.d.ts +3 -0
  122. package/build/types/inputs/SelectInput/Option/index.d.ts.map +1 -0
  123. package/build/types/inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts +13 -0
  124. package/build/types/inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts.map +1 -0
  125. package/build/types/inputs/SelectInput/OptionContent/index.d.ts +3 -0
  126. package/build/types/inputs/SelectInput/OptionContent/index.d.ts.map +1 -0
  127. package/build/types/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.d.ts +9 -0
  128. package/build/types/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.d.ts.map +1 -0
  129. package/build/types/inputs/SelectInput/Options/OptionsContainer/index.d.ts +3 -0
  130. package/build/types/inputs/SelectInput/Options/OptionsContainer/index.d.ts.map +1 -0
  131. package/build/types/inputs/SelectInput/Options/SelectInputOptions.d.ts +21 -0
  132. package/build/types/inputs/SelectInput/Options/SelectInputOptions.d.ts.map +1 -0
  133. package/build/types/inputs/SelectInput/Options/index.d.ts +4 -0
  134. package/build/types/inputs/SelectInput/Options/index.d.ts.map +1 -0
  135. package/build/types/inputs/{_Popover.d.ts → SelectInput/Popover/SelectInputPopover.d.ts} +3 -3
  136. package/build/types/inputs/SelectInput/Popover/SelectInputPopover.d.ts.map +1 -0
  137. package/build/types/inputs/SelectInput/Popover/index.d.ts +3 -0
  138. package/build/types/inputs/SelectInput/Popover/index.d.ts.map +1 -0
  139. package/build/types/inputs/SelectInput/SelectInput.contexts.d.ts +33 -0
  140. package/build/types/inputs/SelectInput/SelectInput.contexts.d.ts.map +1 -0
  141. package/build/types/inputs/SelectInput/SelectInput.d.ts +10 -0
  142. package/build/types/inputs/SelectInput/SelectInput.d.ts.map +1 -0
  143. package/build/types/inputs/SelectInput/SelectInput.messages.d.ts.map +1 -0
  144. package/build/types/inputs/{SelectInput.d.ts → SelectInput/SelectInput.types.d.ts} +12 -38
  145. package/build/types/inputs/SelectInput/SelectInput.types.d.ts.map +1 -0
  146. package/build/types/inputs/SelectInput/SelectInput.utils.d.ts +60 -0
  147. package/build/types/inputs/SelectInput/SelectInput.utils.d.ts.map +1 -0
  148. package/build/types/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.d.ts +12 -0
  149. package/build/types/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.d.ts.map +1 -0
  150. package/build/types/inputs/SelectInput/TriggerButton/index.d.ts +3 -0
  151. package/build/types/inputs/SelectInput/TriggerButton/index.d.ts.map +1 -0
  152. package/build/types/inputs/SelectInput/components.d.ts +10 -0
  153. package/build/types/inputs/SelectInput/components.d.ts.map +1 -0
  154. package/build/types/inputs/SelectInput/index.d.ts +10 -0
  155. package/build/types/inputs/SelectInput/index.d.ts.map +1 -0
  156. package/package.json +1 -1
  157. package/src/index.ts +0 -1
  158. package/src/inputs/SelectInput/BottomSheet/SelectInputBottomSheet.css +96 -0
  159. package/src/inputs/{_BottomSheet.tsx → SelectInput/BottomSheet/SelectInputBottomSheet.tsx} +7 -7
  160. package/src/inputs/SelectInput/BottomSheet/index.ts +2 -0
  161. package/src/inputs/SelectInput/ButtonInput/SelectInputButtonInput.css +16 -0
  162. package/src/inputs/{_ButtonInput.tsx → SelectInput/ButtonInput/SelectInputButtonInput.tsx} +5 -5
  163. package/src/inputs/SelectInput/ButtonInput/index.ts +2 -0
  164. package/src/inputs/SelectInput/ClearButton/SelectInputClearButton.css +46 -0
  165. package/src/inputs/SelectInput/ClearButton/SelectInputClearButton.less +39 -0
  166. package/src/inputs/SelectInput/ClearButton/SelectInputClearButton.tsx +27 -0
  167. package/src/inputs/SelectInput/ClearButton/index.ts +2 -0
  168. package/src/inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.tsx +74 -0
  169. package/src/inputs/SelectInput/DefaultRenderTrigger/index.ts +5 -0
  170. package/src/inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.tsx +61 -0
  171. package/src/inputs/SelectInput/ItemView/GroupItemView/index.ts +2 -0
  172. package/src/inputs/SelectInput/ItemView/SelectInputItemView.css +16 -0
  173. package/src/inputs/SelectInput/ItemView/SelectInputItemView.less +17 -0
  174. package/src/inputs/SelectInput/ItemView/SelectInputItemView.tsx +48 -0
  175. package/src/inputs/SelectInput/ItemView/index.ts +3 -0
  176. package/src/inputs/SelectInput/Option/SelectInputOption.css +33 -0
  177. package/src/inputs/SelectInput/Option/SelectInputOption.less +32 -0
  178. package/src/inputs/SelectInput/Option/SelectInputOption.tsx +57 -0
  179. package/src/inputs/SelectInput/Option/index.ts +2 -0
  180. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.css +37 -0
  181. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.less +38 -0
  182. package/src/inputs/SelectInput/OptionContent/SelectInputOptionContent.tsx +72 -0
  183. package/src/inputs/SelectInput/OptionContent/index.ts +2 -0
  184. package/src/inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.tsx +59 -0
  185. package/src/inputs/SelectInput/Options/OptionsContainer/index.ts +2 -0
  186. package/src/inputs/SelectInput/Options/SelectInputOptions.css +81 -0
  187. package/src/inputs/SelectInput/Options/SelectInputOptions.less +77 -0
  188. package/src/inputs/SelectInput/Options/SelectInputOptions.tsx +411 -0
  189. package/src/inputs/SelectInput/Options/index.ts +3 -0
  190. package/src/inputs/SelectInput/Popover/SelectInputPopover.css +46 -0
  191. package/src/inputs/{_Popover.tsx → SelectInput/Popover/SelectInputPopover.tsx} +7 -7
  192. package/src/inputs/SelectInput/Popover/index.ts +2 -0
  193. package/src/inputs/SelectInput/SelectInput.contexts.tsx +40 -0
  194. package/src/inputs/SelectInput/SelectInput.less +22 -0
  195. package/src/inputs/{SelectInput.test.tsx → SelectInput/SelectInput.test.tsx} +9 -11
  196. package/src/inputs/SelectInput/SelectInput.tsx +257 -0
  197. package/src/inputs/SelectInput/SelectInput.types.ts +113 -0
  198. package/src/inputs/SelectInput/SelectInput.utils.ts +205 -0
  199. package/src/inputs/SelectInput/TriggerButton/SelectInputTriggerButton.tsx +36 -0
  200. package/src/inputs/SelectInput/TriggerButton/index.ts +5 -0
  201. package/src/inputs/{SelectInput.docs.mdx → SelectInput/_stories/SelectInput.docs.mdx} +0 -1
  202. package/src/inputs/{SelectInput.story.tsx → SelectInput/_stories/SelectInput.story.tsx} +11 -8
  203. package/src/inputs/{SelectInput.test.story.tsx → SelectInput/_stories/SelectInput.test.story.tsx} +6 -10
  204. package/src/inputs/SelectInput/components.ts +10 -0
  205. package/src/inputs/SelectInput/index.ts +12 -0
  206. package/src/main.css +90 -90
  207. package/src/main.less +1 -1
  208. package/build/inputs/SelectInput.js +0 -890
  209. package/build/inputs/SelectInput.js.map +0 -1
  210. package/build/inputs/SelectInput.messages.js.map +0 -1
  211. package/build/inputs/SelectInput.messages.mjs.map +0 -1
  212. package/build/inputs/SelectInput.mjs +0 -881
  213. package/build/inputs/SelectInput.mjs.map +0 -1
  214. package/build/inputs/_BottomSheet.js.map +0 -1
  215. package/build/inputs/_BottomSheet.mjs.map +0 -1
  216. package/build/inputs/_ButtonInput.js.map +0 -1
  217. package/build/inputs/_ButtonInput.mjs.map +0 -1
  218. package/build/inputs/_Popover.js.map +0 -1
  219. package/build/inputs/_Popover.mjs.map +0 -1
  220. package/build/types/inputs/SelectInput.d.ts.map +0 -1
  221. package/build/types/inputs/SelectInput.messages.d.ts.map +0 -1
  222. package/build/types/inputs/_BottomSheet.d.ts.map +0 -1
  223. package/build/types/inputs/_ButtonInput.d.ts +0 -5
  224. package/build/types/inputs/_ButtonInput.d.ts.map +0 -1
  225. package/build/types/inputs/_Popover.d.ts.map +0 -1
  226. package/src/inputs/SelectInput.less +0 -219
  227. package/src/inputs/SelectInput.tsx +0 -1269
  228. package/build/inputs/{SelectInput.messages.js → SelectInput/SelectInput.messages.js} +0 -0
  229. package/build/inputs/{SelectInput.messages.mjs → SelectInput/SelectInput.messages.mjs} +0 -0
  230. package/build/styles/inputs/{SelectInput.css → SelectInput/SelectInput.css} +90 -90
  231. package/build/types/inputs/{SelectInput.messages.d.ts → SelectInput/SelectInput.messages.d.ts} +0 -0
  232. package/src/inputs/{_BottomSheet.less → SelectInput/BottomSheet/SelectInputBottomSheet.less} +0 -0
  233. package/src/inputs/{_ButtonInput.less → SelectInput/ButtonInput/SelectInputButtonInput.less} +0 -0
  234. package/src/inputs/{_Popover.less → SelectInput/Popover/SelectInputPopover.less} +0 -0
  235. package/src/inputs/{SelectInput.css → SelectInput/SelectInput.css} +90 -90
  236. /package/src/inputs/{SelectInput.messages.ts → SelectInput/SelectInput.messages.ts} +0 -0
@@ -0,0 +1,36 @@
1
+ import { ListboxButton } from '@headlessui/react';
2
+ import mergeProps from 'merge-props';
3
+ import { useContext } from 'react';
4
+ import { PolymorphicWithOverrides } from '../../../common/polymorphicWithOverrides/PolymorphicWithOverrides';
5
+ import { Merge } from '../../../utils';
6
+ import { SelectInputTriggerButtonPropsContext } from '../SelectInput.contexts';
7
+
8
+ export type SelectInputTriggerButtonElementType = 'button' | React.ComponentType;
9
+
10
+ export type SelectInputTriggerButtonProps<
11
+ T extends SelectInputTriggerButtonElementType = 'button',
12
+ > = Merge<React.ComponentPropsWithoutRef<T>, { as?: T }>;
13
+
14
+ /**
15
+ * The trigger button component for SelectInput.
16
+ * Uses Headless UI's ListboxButton with polymorphic support to allow
17
+ * rendering as different element types.
18
+ */
19
+ export function SelectInputTriggerButton<T extends SelectInputTriggerButtonElementType = 'button'>({
20
+ as = 'button' as T,
21
+ ...restProps
22
+ }: SelectInputTriggerButtonProps<T>) {
23
+ const { ref, onClick, onKeyDown, size, ...interactionProps } = useContext(
24
+ SelectInputTriggerButtonPropsContext,
25
+ );
26
+
27
+ return (
28
+ <ListboxButton
29
+ ref={ref}
30
+ as={PolymorphicWithOverrides}
31
+ role="combobox"
32
+ __overrides={{ as, size, ...interactionProps } as Record<string, unknown>}
33
+ {...mergeProps({ onClick, onKeyDown }, restProps)}
34
+ />
35
+ );
36
+ }
@@ -0,0 +1,5 @@
1
+ export { SelectInputTriggerButton } from './SelectInputTriggerButton';
2
+ export type {
3
+ SelectInputTriggerButtonElementType,
4
+ SelectInputTriggerButtonProps,
5
+ } from './SelectInputTriggerButton';
@@ -1,5 +1,4 @@
1
1
  import { Meta } from '@storybook/addon-docs/blocks';
2
- import { MoneyInput } from '..';
3
2
 
4
3
  <Meta title="Forms/SelectInput/Accessibility" />
5
4
 
@@ -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 './SelectInput';
20
+ } from '..';
21
21
 
22
22
  const meta = {
23
23
  title: 'Forms/SelectInput',
@@ -35,7 +35,10 @@ const meta = {
35
35
  },
36
36
  },
37
37
  },
38
- parameters: { actions: { argTypesRegex: '' } },
38
+ parameters: {
39
+ docs: { toc: true },
40
+ actions: { argTypesRegex: '' },
41
+ },
39
42
  } satisfies Meta<typeof SelectInput>;
40
43
  export default meta;
41
44
 
@@ -2,16 +2,12 @@ import type { Meta, StoryObj } from '@storybook/react-webpack5';
2
2
  import { fireEvent, fn, type Mock, screen, userEvent, within } from 'storybook/test';
3
3
  import { useState } from 'react';
4
4
 
5
- import { allModes } from '../../.storybook/modes';
6
- import Body from '../body';
7
- import { Field } from '../field/Field';
8
- import { lorem5, lorem500 } from '../test-utils';
9
- import {
10
- SelectInput,
11
- SelectInputOptionContent,
12
- type SelectInputProps,
13
- sortByRelevance,
14
- } from './SelectInput';
5
+ import { allModes } from '../../../../.storybook/modes';
6
+ import Body from '../../../body';
7
+ import { Field } from '../../../field/Field';
8
+ import { lorem5, lorem500 } from '../../../test-utils';
9
+ import { sortByRelevance } from '../SelectInput.utils';
10
+ import { SelectInput, SelectInputOptionContent, type SelectInputProps } from '..';
15
11
 
16
12
  const meta = {
17
13
  title: 'Forms/SelectInput/Tests',
@@ -0,0 +1,10 @@
1
+ // Re-export all components from their new locations
2
+ export * from './ClearButton';
3
+ export * from './Option';
4
+ export * from './OptionContent';
5
+ export * from './TriggerButton';
6
+ export * from './ItemView';
7
+ export * from './Options';
8
+ export * from './BottomSheet';
9
+ export * from './Popover';
10
+ export * from './ButtonInput';
@@ -0,0 +1,12 @@
1
+ // Export from the new structure
2
+ export * from './SelectInput';
3
+ export * from './SelectInput.types';
4
+
5
+ // Export components directly
6
+ export * from './ClearButton';
7
+ export * from './Option';
8
+ export * from './OptionContent';
9
+ export * from './TriggerButton';
10
+ export * from './DefaultRenderTrigger';
11
+ export * from './ItemView';
12
+ export * from './Options';
package/src/main.css CHANGED
@@ -4011,14 +4011,91 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4011
4011
  color: #5d7079;
4012
4012
  color: var(--color-content-secondary);
4013
4013
  }
4014
- .np-select-input-content {
4014
+ .np-select-input-option-container {
4015
+ display: flex;
4016
+ cursor: default;
4017
+ -webkit-user-select: none;
4018
+ -moz-user-select: none;
4019
+ user-select: none;
4020
+ align-items: center;
4021
+ -moz-column-gap: 8px;
4022
+ column-gap: 8px;
4023
+ -moz-column-gap: var(--size-8);
4024
+ column-gap: var(--size-8);
4025
+ border-radius: 10px;
4026
+ border-radius: var(--radius-small);
4027
+ padding: 12px 16px;
4028
+ padding: var(--size-12) var(--size-16);
4029
+ color: var(--color-interactive-primary);
4030
+ }
4031
+ .np-select-input-option-container:focus {
4032
+ outline: none;
4033
+ }
4034
+ .np-select-input-option-container--active {
4035
+ box-shadow: inset 0 0 0 1px #c9cbce;
4036
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
4037
+ }
4038
+ .np-select-input-option-container--disabled {
4039
+ opacity: 0.45;
4040
+ }
4041
+ .np-select-input-option-check--not-selected {
4042
+ visibility: hidden;
4043
+ }
4044
+ .np-select-input-option {
4045
+ flex: 1;
4046
+ }
4047
+ .np-select-input-option-content-container {
4048
+ display: flex;
4049
+ align-items: center;
4050
+ -moz-column-gap: 8px;
4051
+ column-gap: 8px;
4052
+ -moz-column-gap: var(--size-8);
4053
+ column-gap: var(--size-8);
4054
+ color: #37517e;
4055
+ color: var(--color-content-primary);
4056
+ }
4057
+ .np-select-input-option-content-icon {
4058
+ display: flex;
4059
+ }
4060
+ .np-select-input-option-content-icon--not-within-trigger {
4061
+ align-self: flex-start;
4062
+ }
4063
+ .np-select-input-option-content-text {
4064
+ display: flex;
4065
+ flex: 1;
4066
+ flex-direction: column;
4067
+ overflow: hidden;
4068
+ }
4069
+ .np-select-input-option-content-text-secondary {
4070
+ color: #5d7079;
4071
+ color: var(--color-content-secondary);
4072
+ }
4073
+ .np-select-input-option-content-text-within-trigger {
4015
4074
  overflow: hidden;
4016
4075
  text-overflow: ellipsis;
4017
4076
  white-space: nowrap;
4018
4077
  }
4019
- .np-select-input-placeholder {
4020
- color: #768e9c;
4021
- color: var(--color-content-tertiary);
4078
+ .np-select-input-option-content-text-line-1 > :not([hidden]) ~ :not([hidden]) {
4079
+ margin-right: 8px;
4080
+ margin-right: var(--size-8);
4081
+ margin-left: 8px;
4082
+ margin-left: var(--size-8);
4083
+ }
4084
+ .np-select-input-group-item--without-needle:first-child {
4085
+ margin-top: calc(-1 * 8px);
4086
+ margin-top: calc(-1 * var(--size-8));
4087
+ }
4088
+ .np-select-input-group-item-header {
4089
+ position: sticky;
4090
+ top: 0px;
4091
+ z-index: 10;
4092
+ background-color: #ffffff;
4093
+ background-color: var(--color-background-elevated);
4094
+ }
4095
+ .np-select-input-separator-item {
4096
+ margin: 8px;
4097
+ margin: var(--size-8);
4098
+ border-top-width: 1px;
4022
4099
  }
4023
4100
  .np-select-input-options-container {
4024
4101
  display: flex;
@@ -4097,92 +4174,6 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4097
4174
  contain: strict;
4098
4175
  height: 100%;
4099
4176
  }
4100
- .np-select-input-separator-item {
4101
- margin: 8px;
4102
- margin: var(--size-8);
4103
- border-top-width: 1px;
4104
- }
4105
- .np-select-input-group-item--without-needle:first-child {
4106
- margin-top: calc(-1 * 8px);
4107
- margin-top: calc(-1 * var(--size-8));
4108
- }
4109
- .np-select-input-group-item-header {
4110
- position: sticky;
4111
- top: 0px;
4112
- z-index: 10;
4113
- background-color: #ffffff;
4114
- background-color: var(--color-background-elevated);
4115
- }
4116
- .np-select-input-option-container {
4117
- display: flex;
4118
- cursor: default;
4119
- -webkit-user-select: none;
4120
- -moz-user-select: none;
4121
- user-select: none;
4122
- align-items: center;
4123
- -moz-column-gap: 8px;
4124
- column-gap: 8px;
4125
- -moz-column-gap: var(--size-8);
4126
- column-gap: var(--size-8);
4127
- border-radius: 10px;
4128
- border-radius: var(--radius-small);
4129
- padding: 12px 16px;
4130
- padding: var(--size-12) var(--size-16);
4131
- color: var(--color-interactive-primary);
4132
- }
4133
- .np-select-input-option-container:focus {
4134
- outline: none;
4135
- }
4136
- .np-select-input-option-container--active {
4137
- box-shadow: inset 0 0 0 1px #c9cbce;
4138
- box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
4139
- }
4140
- .np-select-input-option-container--disabled {
4141
- opacity: 0.45;
4142
- }
4143
- .np-select-input-option-check--not-selected {
4144
- visibility: hidden;
4145
- }
4146
- .np-select-input-option {
4147
- flex: 1;
4148
- }
4149
- .np-select-input-option-content-container {
4150
- display: flex;
4151
- align-items: center;
4152
- -moz-column-gap: 8px;
4153
- column-gap: 8px;
4154
- -moz-column-gap: var(--size-8);
4155
- column-gap: var(--size-8);
4156
- color: #37517e;
4157
- color: var(--color-content-primary);
4158
- }
4159
- .np-select-input-option-content-icon {
4160
- display: flex;
4161
- }
4162
- .np-select-input-option-content-icon--not-within-trigger {
4163
- align-self: flex-start;
4164
- }
4165
- .np-select-input-option-content-text {
4166
- display: flex;
4167
- flex: 1;
4168
- flex-direction: column;
4169
- overflow: hidden;
4170
- }
4171
- .np-select-input-option-content-text-secondary {
4172
- color: #5d7079;
4173
- color: var(--color-content-secondary);
4174
- }
4175
- .np-select-input-option-content-text-within-trigger {
4176
- overflow: hidden;
4177
- text-overflow: ellipsis;
4178
- white-space: nowrap;
4179
- }
4180
- .np-select-input-option-content-text-line-1 > :not([hidden]) ~ :not([hidden]) {
4181
- margin-right: 8px;
4182
- margin-right: var(--size-8);
4183
- margin-left: 8px;
4184
- margin-left: var(--size-8);
4185
- }
4186
4177
  .np-select-input-footer {
4187
4178
  padding: 4px 24px 16px;
4188
4179
  padding: var(--size-4) var(--size-24) var(--size-16);
@@ -4233,6 +4224,15 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
4233
4224
  border-inline-start: 1px solid rgba(0,0,0,0.10196);
4234
4225
  border-inline-start: 1px solid var(--color-border-neutral);
4235
4226
  }
4227
+ .np-select-input-content {
4228
+ overflow: hidden;
4229
+ text-overflow: ellipsis;
4230
+ white-space: nowrap;
4231
+ }
4232
+ .np-select-input-placeholder {
4233
+ color: #768e9c;
4234
+ color: var(--color-content-tertiary);
4235
+ }
4236
4236
  .np-text-area {
4237
4237
  min-height: 72px;
4238
4238
  min-height: var(--size-72);
package/src/main.less CHANGED
@@ -44,7 +44,7 @@
44
44
  @import "./listItem/ListItem.less";
45
45
  @import "./field/Field.less";
46
46
  @import "./inputs/InputGroup.less";
47
- @import "./inputs/SelectInput.less";
47
+ @import "./inputs/SelectInput/SelectInput.less";
48
48
  @import "./inputs/TextArea.less";
49
49
  @import "./instructionsList/InstructionsList.less";
50
50
  @import "./link/Link.less";