@transferwise/components 0.0.0-experimental-93bf218 → 0.0.0-experimental-4aed95c

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 (40) hide show
  1. package/build/i18n/en.json +0 -2
  2. package/build/index.js +2384 -2478
  3. package/build/index.js.map +1 -1
  4. package/build/index.mjs +2387 -2480
  5. package/build/index.mjs.map +1 -1
  6. package/build/main.css +41 -98
  7. package/build/styles/inputs/SelectInput.css +41 -51
  8. package/build/styles/main.css +41 -98
  9. package/build/types/common/hooks/useVirtualKeyboard.d.ts +7 -0
  10. package/build/types/common/hooks/useVirtualKeyboard.d.ts.map +1 -0
  11. package/build/types/common/responsivePanel/ResponsivePanel.d.ts.map +1 -1
  12. package/build/types/index.d.ts +0 -2
  13. package/build/types/index.d.ts.map +1 -1
  14. package/build/types/inputs/_BottomSheet.d.ts.map +1 -1
  15. package/package.json +3 -3
  16. package/src/common/hooks/useVirtualKeyboard.ts +21 -0
  17. package/src/common/responsivePanel/ResponsivePanel.tsx +0 -2
  18. package/src/i18n/en.json +0 -2
  19. package/src/index.ts +0 -2
  20. package/src/inputs/SelectInput.css +41 -51
  21. package/src/inputs/_BottomSheet.less +35 -49
  22. package/src/inputs/_BottomSheet.tsx +22 -27
  23. package/src/inputs/_Popover.less +2 -2
  24. package/src/main.css +41 -98
  25. package/src/main.less +0 -1
  26. package/src/ssr.spec.js +0 -1
  27. package/build/styles/selectOption/SelectOption.css +0 -47
  28. package/build/types/selectOption/SelectOption.d.ts +0 -21
  29. package/build/types/selectOption/SelectOption.d.ts.map +0 -1
  30. package/build/types/selectOption/SelectOption.messages.d.ts +0 -12
  31. package/build/types/selectOption/SelectOption.messages.d.ts.map +0 -1
  32. package/build/types/selectOption/index.d.ts +0 -3
  33. package/build/types/selectOption/index.d.ts.map +0 -1
  34. package/src/selectOption/SelectOption.css +0 -47
  35. package/src/selectOption/SelectOption.less +0 -45
  36. package/src/selectOption/SelectOption.messages.ts +0 -12
  37. package/src/selectOption/SelectOption.spec.tsx +0 -89
  38. package/src/selectOption/SelectOption.story.tsx +0 -269
  39. package/src/selectOption/SelectOption.tsx +0 -152
  40. package/src/selectOption/index.ts +0 -2
@@ -16,7 +16,6 @@ const ResponsivePanel = forwardRef<HTMLDivElement, PanelProps>(function Responsi
16
16
  onClose,
17
17
  open = false,
18
18
  position = Position.BOTTOM,
19
- anchorWidth = false,
20
19
  }: PanelProps,
21
20
  reference,
22
21
  ) {
@@ -36,7 +35,6 @@ const ResponsivePanel = forwardRef<HTMLDivElement, PanelProps>(function Responsi
36
35
  arrow={arrow}
37
36
  open={open}
38
37
  position={position}
39
- anchorWidth={anchorWidth}
40
38
  anchorRef={anchorRef}
41
39
  className={className}
42
40
  onClose={onClose}
package/src/i18n/en.json CHANGED
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Select an option...",
24
24
  "neptune.Select.searchPlaceholder": "Search...",
25
25
  "neptune.SelectInput.noResultsFound": "No results found",
26
- "neptune.SelectOption.action.label": "Choose",
27
- "neptune.SelectOption.selected.action.label": "Change chosen option",
28
26
  "neptune.Summary.statusDone": "Item done",
29
27
  "neptune.Summary.statusNotDone": "Item to do",
30
28
  "neptune.Summary.statusPending": "Item pending",
package/src/index.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  */
4
4
  export type { AccordionItem, AccordionProps } from './accordion';
5
5
  export type { ActionOptionProps } from './actionOption';
6
- export type { SelectOptionProps, SelectOptionValue, SelectOptiopsSection } from './selectOption';
7
6
  export type { AlertAction, AlertProps, AlertType } from './alert';
8
7
  export type { AvatarProps } from './avatar';
9
8
  export type { BadgeProps } from './badge';
@@ -87,7 +86,6 @@ export type { UploadError, UploadResponse, UploadedFile } from './uploadInput/ty
87
86
  export { default as Accordion } from './accordion';
88
87
  export { default as ActionButton } from './actionButton';
89
88
  export { default as ActionOption } from './actionOption';
90
- export { default as SelectOption } from './selectOption';
91
89
  export { default as Alert } from './alert';
92
90
  export { default as Avatar } from './avatar';
93
91
  export { default as AvatarWrapper } from './avatarWrapper';
@@ -2,67 +2,37 @@
2
2
  position: relative;
3
3
  z-index: 1060;
4
4
  }
5
- .np-bottom-sheet-v2-backdrop-container--enter,
6
- .np-bottom-sheet-v2-backdrop-container--leave {
7
- transition-property: opacity;
8
- transition-timing-function: ease-out;
9
- transition-duration: 300ms;
10
- }
11
- .np-bottom-sheet-v2-backdrop-container--enter-from,
12
- .np-bottom-sheet-v2-backdrop-container--leave-to {
13
- opacity: 0;
14
- }
15
5
  .np-bottom-sheet-v2-backdrop {
16
6
  position: fixed;
17
7
  inset: 0px;
18
8
  background-color: #37517e;
19
9
  background-color: var(--color-content-primary);
20
10
  opacity: 0.4;
11
+ transition-property: opacity;
12
+ transition-timing-function: ease-out;
13
+ transition-duration: 300ms;
14
+ }
15
+ .np-bottom-sheet-v2-backdrop--closed {
16
+ opacity: 0;
21
17
  }
22
18
  .np-bottom-sheet-v2 {
23
19
  position: fixed;
24
20
  inset: 0px;
21
+ bottom: env(keyboard-inset-height, 0px);
22
+ margin-left: 8px;
23
+ margin-left: var(--size-8);
24
+ margin-right: 8px;
25
+ margin-right: var(--size-8);
26
+ margin-top: 64px;
27
+ margin-top: var(--size-64);
25
28
  display: flex;
26
29
  flex-direction: column;
27
30
  justify-content: flex-end;
28
- padding-left: 8px;
29
- padding-left: var(--size-8);
30
- padding-right: 8px;
31
- padding-right: var(--size-8);
32
- padding-top: 64px;
33
- padding-top: var(--size-64);
34
31
  }
35
32
  .np-bottom-sheet-v2-content {
36
- max-height: 100%;
37
- }
38
- .np-bottom-sheet-v2-content--enter,
39
- .np-bottom-sheet-v2-content--leave {
40
- transition-property: transform;
41
- transition-timing-function: ease-out;
42
- transition-duration: 300ms;
43
- }
44
- @media (prefers-reduced-motion: reduce) {
45
- .np-bottom-sheet-v2-content--enter,
46
- .np-bottom-sheet-v2-content--leave {
47
- transition-property: opacity;
48
- }
49
- }
50
- @media (prefers-reduced-motion: no-preference) {
51
- .np-bottom-sheet-v2-content--enter-from,
52
- .np-bottom-sheet-v2-content--leave-to {
53
- transform: translateY(100%);
54
- }
55
- }
56
- @media (prefers-reduced-motion: reduce) {
57
- .np-bottom-sheet-v2-content--enter-from,
58
- .np-bottom-sheet-v2-content--leave-to {
59
- opacity: 0;
60
- }
61
- }
62
- .np-bottom-sheet-v2-content-inner-container {
63
33
  display: flex;
64
- height: 100%;
65
34
  flex-direction: column;
35
+ overflow: auto;
66
36
  border-top-left-radius: 32px;
67
37
  /* TODO: Tokenize */
68
38
  border-top-right-radius: 32px;
@@ -71,30 +41,50 @@
71
41
  background-color: var(--color-background-elevated);
72
42
  box-shadow: 0 0 40px rgba(69, 71, 69, 0.2);
73
43
  }
74
- .np-bottom-sheet-v2-content-inner-container:focus {
44
+ .np-bottom-sheet-v2-content:focus {
75
45
  outline: none;
76
46
  }
47
+ @media (prefers-reduced-motion: no-preference) {
48
+ .np-bottom-sheet-v2-content {
49
+ transition-property: transform;
50
+ transition-timing-function: ease-out;
51
+ transition-duration: 300ms;
52
+ }
53
+ .np-bottom-sheet-v2-content--closed {
54
+ transform: translateY(100%);
55
+ }
56
+ }
57
+ @media (prefers-reduced-motion: reduce) {
58
+ .np-bottom-sheet-v2-content {
59
+ transition-property: opacity;
60
+ transition-timing-function: ease-out;
61
+ transition-duration: 300ms;
62
+ }
63
+ .np-bottom-sheet-v2-content--closed {
64
+ opacity: 0;
65
+ }
66
+ }
77
67
  .np-bottom-sheet-v2-header {
78
68
  align-self: flex-end;
79
69
  padding: 16px;
80
70
  padding: var(--size-16);
81
71
  }
82
72
  .np-bottom-sheet-v2-content-inner {
83
- padding-top: 0px;
84
73
  display: grid;
74
+ grid-template-rows: minmax(0, 1fr);
85
75
  grid-row-gap: 8px;
86
76
  grid-row-gap: var(--size-8);
87
77
  row-gap: 8px;
88
78
  row-gap: var(--size-8);
89
- overflow-y: auto;
90
- grid-template-rows: repeat(1, minmax(0, 1fr));
79
+ overflow: auto;
91
80
  }
92
81
  .np-bottom-sheet-v2-content-inner--has-title {
93
- grid-template-rows: auto 1fr;
82
+ grid-template-rows: auto minmax(0, 1fr);
94
83
  }
95
84
  .np-bottom-sheet-v2-content-inner--padding-md {
96
85
  padding: 16px;
97
86
  padding: var(--size-16);
87
+ padding-top: 0px;
98
88
  }
99
89
  .np-bottom-sheet-v2-title {
100
90
  color: #37517e;
@@ -141,10 +131,10 @@
141
131
  row-gap: 8px;
142
132
  row-gap: var(--size-8);
143
133
  overflow-y: auto;
144
- grid-template-rows: repeat(1, minmax(0, 1fr));
134
+ grid-template-rows: minmax(0, 1fr);
145
135
  }
146
136
  .np-popover-v2--has-title {
147
- grid-template-rows: auto 1fr;
137
+ grid-template-rows: auto minmax(0, 1fr);
148
138
  }
149
139
  .np-popover-v2--padding-md {
150
140
  padding: 16px;
@@ -3,98 +3,84 @@
3
3
  z-index: 1060;
4
4
  }
5
5
 
6
- .np-bottom-sheet-v2-backdrop-container {
7
- &--enter, &--leave {
8
- transition-property: opacity;
9
- transition-timing-function: ease-out;
10
- transition-duration: 300ms;
11
- }
12
-
13
- &--enter-from, &--leave-to {
14
- opacity: 0;
15
- }
16
- }
17
-
18
6
  .np-bottom-sheet-v2-backdrop {
19
7
  position: fixed;
20
8
  inset: 0px;
21
9
  background-color: var(--color-content-primary);
22
10
  opacity: 0.4;
11
+ transition-property: opacity;
12
+ transition-timing-function: ease-out;
13
+ transition-duration: 300ms;
14
+
15
+ &--closed {
16
+ opacity: 0;
17
+ }
23
18
  }
24
19
 
25
20
  .np-bottom-sheet-v2 {
26
21
  position: fixed;
27
22
  inset: 0px;
23
+ bottom: env(keyboard-inset-height, 0px);
24
+ margin-left: var(--size-8);
25
+ margin-right: var(--size-8);
26
+ margin-top: var(--size-64);
28
27
  display: flex;
29
28
  flex-direction: column;
30
29
  justify-content: flex-end;
31
- padding-left: var(--size-8);
32
- padding-right: var(--size-8);
33
- padding-top: var(--size-64);
34
30
  }
35
31
 
36
32
  .np-bottom-sheet-v2-content {
37
- max-height: 100%;
33
+ display: flex;
34
+ flex-direction: column;
35
+ overflow: auto;
36
+ border-top-left-radius: 32px; /* TODO: Tokenize */
37
+ border-top-right-radius: 32px; /* TODO: Tokenize */
38
+ background-color: var(--color-background-elevated);
39
+ box-shadow: 0 0 40px rgb(69 71 69 / 0.2);
40
+
41
+ &:focus {
42
+ outline: none;
43
+ }
38
44
 
39
- &--enter, &--leave {
45
+ @media (prefers-reduced-motion: no-preference) {
40
46
  transition-property: transform;
41
47
  transition-timing-function: ease-out;
42
48
  transition-duration: 300ms;
43
49
 
44
- @media (prefers-reduced-motion: reduce) {
45
- & {
46
- transition-property: opacity;
47
- }
50
+ &--closed {
51
+ transform: translateY(100%);
48
52
  }
49
53
  }
50
54
 
51
- &--enter-from, &--leave-to {
52
- @media (prefers-reduced-motion: no-preference) {
53
- & {
54
- transform: translateY(100%);
55
- }
56
- }
55
+ @media (prefers-reduced-motion: reduce) {
56
+ transition-property: opacity;
57
+ transition-timing-function: ease-out;
58
+ transition-duration: 300ms;
57
59
 
58
- @media (prefers-reduced-motion: reduce) {
59
- & {
60
- opacity: 0;
61
- }
60
+ &--closed {
61
+ opacity: 0;
62
62
  }
63
63
  }
64
64
  }
65
65
 
66
- .np-bottom-sheet-v2-content-inner-container {
67
- display: flex;
68
- height: 100%;
69
- flex-direction: column;
70
- border-top-left-radius: 32px; /* TODO: Tokenize */
71
- border-top-right-radius: 32px; /* TODO: Tokenize */
72
- background-color: var(--color-background-elevated);
73
- box-shadow: 0 0 40px rgb(69 71 69 / 0.2);
74
-
75
- &:focus {
76
- outline: none;
77
- }
78
- }
79
-
80
66
  .np-bottom-sheet-v2-header {
81
67
  align-self: flex-end;
82
68
  padding: var(--size-16);
83
69
  }
84
70
 
85
71
  .np-bottom-sheet-v2-content-inner {
86
- padding-top: 0px;
87
72
  display: grid;
73
+ grid-template-rows: minmax(0, 1fr);
88
74
  row-gap: var(--size-8);
89
- overflow-y: auto;
90
- grid-template-rows: repeat(1, minmax(0, 1fr));
75
+ overflow: auto;
91
76
 
92
77
  &--has-title {
93
- grid-template-rows: auto 1fr;
78
+ grid-template-rows: auto minmax(0, 1fr);
94
79
  }
95
80
 
96
81
  &--padding-md {
97
82
  padding: var(--size-16);
83
+ padding-top: 0px;
98
84
  }
99
85
  }
100
86
 
@@ -10,9 +10,10 @@ import { Transition } from '@headlessui/react';
10
10
  import { FocusScope } from '@react-aria/focus';
11
11
  import { ThemeProvider, useTheme } from '@wise/components-theming';
12
12
  import classNames from 'classnames';
13
- import { useState } from 'react';
13
+ import { Fragment, useState } from 'react';
14
14
 
15
15
  import { CloseButton } from '../common/closeButton';
16
+ import { useVirtualKeyboard } from '../common/hooks/useVirtualKeyboard';
16
17
  import { PreventScroll } from '../common/preventScroll/PreventScroll';
17
18
  import { Size } from '../common/propsValues/size';
18
19
 
@@ -42,6 +43,8 @@ export function BottomSheet({
42
43
  onClose,
43
44
  onCloseEnd,
44
45
  }: BottomSheetProps) {
46
+ useVirtualKeyboard();
47
+
45
48
  const { refs, context } = useFloating<Element>({
46
49
  open,
47
50
  onOpenChange: (value) => {
@@ -82,28 +85,22 @@ export function BottomSheet({
82
85
  afterLeave={onCloseEnd}
83
86
  >
84
87
  <Transition.Child
85
- enter="np-bottom-sheet-v2-backdrop-container--enter"
86
- enterFrom="np-bottom-sheet-v2-backdrop-container--enter-from"
87
- leave="np-bottom-sheet-v2-backdrop-container--leave"
88
- leaveTo="np-bottom-sheet-v2-backdrop-container--leave-to"
89
- >
90
- <div className="np-bottom-sheet-v2-backdrop" />
91
- </Transition.Child>
88
+ className="np-bottom-sheet-v2-backdrop"
89
+ enterFrom="np-bottom-sheet-v2-backdrop--closed"
90
+ leaveTo="np-bottom-sheet-v2-backdrop--closed"
91
+ />
92
92
 
93
93
  <div className="np-bottom-sheet-v2">
94
- <Transition.Child
95
- className="np-bottom-sheet-v2-content"
96
- enter="np-bottom-sheet-v2-content--enter"
97
- enterFrom="np-bottom-sheet-v2-content--enter-from"
98
- leave="np-bottom-sheet-v2-content--leave"
99
- leaveTo="np-bottom-sheet-v2-content--leave-to"
100
- >
101
- <FocusScope>
102
- <FloatingFocusManager context={context} initialFocus={initialFocusRef}>
103
- <div
104
- key={floatingKey} // Force inner state invalidation on open
94
+ <FocusScope>
95
+ <FloatingFocusManager context={context} initialFocus={initialFocusRef}>
96
+ <Fragment
97
+ key={floatingKey} // Force inner state invalidation on open
98
+ >
99
+ <Transition.Child
105
100
  ref={refs.setFloating}
106
- className="np-bottom-sheet-v2-content-inner-container"
101
+ className="np-bottom-sheet-v2-content"
102
+ enterFrom="np-bottom-sheet-v2-content--closed"
103
+ leaveTo="np-bottom-sheet-v2-content--closed"
107
104
  {...getFloatingProps()}
108
105
  >
109
106
  <div className="np-bottom-sheet-v2-header">
@@ -118,9 +115,7 @@ export function BottomSheet({
118
115
  className={classNames(
119
116
  'np-bottom-sheet-v2-content-inner',
120
117
  title && 'np-bottom-sheet-v2-content-inner--has-title',
121
- {
122
- 'np-bottom-sheet-v2-content-inner--padding-md': padding === 'md',
123
- },
118
+ padding === 'md' && 'np-bottom-sheet-v2-content-inner--padding-md',
124
119
  )}
125
120
  >
126
121
  {title ? (
@@ -130,10 +125,10 @@ export function BottomSheet({
130
125
  {children}
131
126
  </div>
132
127
  </div>
133
- </div>
134
- </FloatingFocusManager>
135
- </FocusScope>
136
- </Transition.Child>
128
+ </Transition.Child>
129
+ </Fragment>
130
+ </FloatingFocusManager>
131
+ </FocusScope>
137
132
  </div>
138
133
  </Transition>
139
134
  </ThemeProvider>
@@ -26,10 +26,10 @@
26
26
  display: grid;
27
27
  row-gap: var(--size-8);
28
28
  overflow-y: auto;
29
- grid-template-rows: repeat(1, minmax(0, 1fr));
29
+ grid-template-rows: minmax(0, 1fr);
30
30
 
31
31
  &--has-title {
32
- grid-template-rows: auto 1fr;
32
+ grid-template-rows: auto minmax(0, 1fr);
33
33
  }
34
34
 
35
35
  &--padding-md {
package/src/main.css CHANGED
@@ -1484,53 +1484,6 @@ button.np-option {
1484
1484
  border-radius: var(--radius-small);
1485
1485
  }
1486
1486
  }
1487
- .np-select-option {
1488
- border-radius: 10px;
1489
- border-radius: var(--radius-small);
1490
- padding: 16px;
1491
- padding: var(--size-16);
1492
- }
1493
- .np-select-option-placeholder {
1494
- background-color: rgba(134,167,189,0.10196);
1495
- background-color: var(--color-background-neutral);
1496
- }
1497
- .np-select-option-placeholder:not(.disabled):hover {
1498
- background-color: var(--color-background-neutral-hover);
1499
- }
1500
- .np-select-option-placeholder:not(.disabled):focus,
1501
- .np-select-option-placeholder:not(.disabled):active {
1502
- background-color: var(--color-background-neutral-active);
1503
- }
1504
- .np-select-option-selected {
1505
- border: 1px solid #c9cbce;
1506
- border: 1px solid var(--color-interactive-secondary);
1507
- }
1508
- .np-select-option-list {
1509
- max-height: 350px;
1510
- overflow-y: auto;
1511
- }
1512
- .np-select-option-list > .np-section {
1513
- margin-top: 0;
1514
- }
1515
- .form-group label > .np-select-option {
1516
- margin-bottom: 0;
1517
- }
1518
- .has-error * .np-select-option {
1519
- --ring-outline-color: var(--color-sentiment-negative);
1520
- --ring-outline-width: 3px;
1521
- --ring-outline-offset: calc(-1 * var(--ring-outline-width));
1522
- outline: var(--ring-outline-color) solid 3px;
1523
- outline: var(--ring-outline-color) solid var(--ring-outline-width);
1524
- outline-offset: calc(-1 * 3px);
1525
- outline-offset: var(--ring-outline-offset);
1526
- }
1527
- .has-error * .np-select-option:focus {
1528
- outline: none;
1529
- }
1530
- .has-error * .np-select-option:focus-visible {
1531
- outline: var(--ring-outline-color) solid var(--ring-outline-width);
1532
- outline-offset: var(--ring-outline-offset);
1533
- }
1534
1487
  .np-panel__content {
1535
1488
  opacity: 0;
1536
1489
  visibility: hidden;
@@ -2447,67 +2400,37 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
2447
2400
  position: relative;
2448
2401
  z-index: 1060;
2449
2402
  }
2450
- .np-bottom-sheet-v2-backdrop-container--enter,
2451
- .np-bottom-sheet-v2-backdrop-container--leave {
2452
- transition-property: opacity;
2453
- transition-timing-function: ease-out;
2454
- transition-duration: 300ms;
2455
- }
2456
- .np-bottom-sheet-v2-backdrop-container--enter-from,
2457
- .np-bottom-sheet-v2-backdrop-container--leave-to {
2458
- opacity: 0;
2459
- }
2460
2403
  .np-bottom-sheet-v2-backdrop {
2461
2404
  position: fixed;
2462
2405
  inset: 0px;
2463
2406
  background-color: #37517e;
2464
2407
  background-color: var(--color-content-primary);
2465
2408
  opacity: 0.4;
2409
+ transition-property: opacity;
2410
+ transition-timing-function: ease-out;
2411
+ transition-duration: 300ms;
2412
+ }
2413
+ .np-bottom-sheet-v2-backdrop--closed {
2414
+ opacity: 0;
2466
2415
  }
2467
2416
  .np-bottom-sheet-v2 {
2468
2417
  position: fixed;
2469
2418
  inset: 0px;
2419
+ bottom: env(keyboard-inset-height, 0px);
2420
+ margin-left: 8px;
2421
+ margin-left: var(--size-8);
2422
+ margin-right: 8px;
2423
+ margin-right: var(--size-8);
2424
+ margin-top: 64px;
2425
+ margin-top: var(--size-64);
2470
2426
  display: flex;
2471
2427
  flex-direction: column;
2472
2428
  justify-content: flex-end;
2473
- padding-left: 8px;
2474
- padding-left: var(--size-8);
2475
- padding-right: 8px;
2476
- padding-right: var(--size-8);
2477
- padding-top: 64px;
2478
- padding-top: var(--size-64);
2479
2429
  }
2480
2430
  .np-bottom-sheet-v2-content {
2481
- max-height: 100%;
2482
- }
2483
- .np-bottom-sheet-v2-content--enter,
2484
- .np-bottom-sheet-v2-content--leave {
2485
- transition-property: transform;
2486
- transition-timing-function: ease-out;
2487
- transition-duration: 300ms;
2488
- }
2489
- @media (prefers-reduced-motion: reduce) {
2490
- .np-bottom-sheet-v2-content--enter,
2491
- .np-bottom-sheet-v2-content--leave {
2492
- transition-property: opacity;
2493
- }
2494
- }
2495
- @media (prefers-reduced-motion: no-preference) {
2496
- .np-bottom-sheet-v2-content--enter-from,
2497
- .np-bottom-sheet-v2-content--leave-to {
2498
- transform: translateY(100%);
2499
- }
2500
- }
2501
- @media (prefers-reduced-motion: reduce) {
2502
- .np-bottom-sheet-v2-content--enter-from,
2503
- .np-bottom-sheet-v2-content--leave-to {
2504
- opacity: 0;
2505
- }
2506
- }
2507
- .np-bottom-sheet-v2-content-inner-container {
2508
2431
  display: flex;
2509
- height: 100%;
2510
2432
  flex-direction: column;
2433
+ overflow: auto;
2511
2434
  border-top-left-radius: 32px;
2512
2435
  /* TODO: Tokenize */
2513
2436
  border-top-right-radius: 32px;
@@ -2516,30 +2439,50 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
2516
2439
  background-color: var(--color-background-elevated);
2517
2440
  box-shadow: 0 0 40px rgba(69, 71, 69, 0.2);
2518
2441
  }
2519
- .np-bottom-sheet-v2-content-inner-container:focus {
2442
+ .np-bottom-sheet-v2-content:focus {
2520
2443
  outline: none;
2521
2444
  }
2445
+ @media (prefers-reduced-motion: no-preference) {
2446
+ .np-bottom-sheet-v2-content {
2447
+ transition-property: transform;
2448
+ transition-timing-function: ease-out;
2449
+ transition-duration: 300ms;
2450
+ }
2451
+ .np-bottom-sheet-v2-content--closed {
2452
+ transform: translateY(100%);
2453
+ }
2454
+ }
2455
+ @media (prefers-reduced-motion: reduce) {
2456
+ .np-bottom-sheet-v2-content {
2457
+ transition-property: opacity;
2458
+ transition-timing-function: ease-out;
2459
+ transition-duration: 300ms;
2460
+ }
2461
+ .np-bottom-sheet-v2-content--closed {
2462
+ opacity: 0;
2463
+ }
2464
+ }
2522
2465
  .np-bottom-sheet-v2-header {
2523
2466
  align-self: flex-end;
2524
2467
  padding: 16px;
2525
2468
  padding: var(--size-16);
2526
2469
  }
2527
2470
  .np-bottom-sheet-v2-content-inner {
2528
- padding-top: 0px;
2529
2471
  display: grid;
2472
+ grid-template-rows: minmax(0, 1fr);
2530
2473
  grid-row-gap: 8px;
2531
2474
  grid-row-gap: var(--size-8);
2532
2475
  row-gap: 8px;
2533
2476
  row-gap: var(--size-8);
2534
- overflow-y: auto;
2535
- grid-template-rows: repeat(1, minmax(0, 1fr));
2477
+ overflow: auto;
2536
2478
  }
2537
2479
  .np-bottom-sheet-v2-content-inner--has-title {
2538
- grid-template-rows: auto 1fr;
2480
+ grid-template-rows: auto minmax(0, 1fr);
2539
2481
  }
2540
2482
  .np-bottom-sheet-v2-content-inner--padding-md {
2541
2483
  padding: 16px;
2542
2484
  padding: var(--size-16);
2485
+ padding-top: 0px;
2543
2486
  }
2544
2487
  .np-bottom-sheet-v2-title {
2545
2488
  color: #37517e;
@@ -2586,10 +2529,10 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
2586
2529
  row-gap: 8px;
2587
2530
  row-gap: var(--size-8);
2588
2531
  overflow-y: auto;
2589
- grid-template-rows: repeat(1, minmax(0, 1fr));
2532
+ grid-template-rows: minmax(0, 1fr);
2590
2533
  }
2591
2534
  .np-popover-v2--has-title {
2592
- grid-template-rows: auto 1fr;
2535
+ grid-template-rows: auto minmax(0, 1fr);
2593
2536
  }
2594
2537
  .np-popover-v2--padding-md {
2595
2538
  padding: 16px;
package/src/main.less CHANGED
@@ -13,7 +13,6 @@
13
13
  @import "./common/card/Card.less";
14
14
  @import "./common/closeButton/CloseButton.less";
15
15
  @import "./common/Option/Option.less";
16
- @import "./selectOption/SelectOption.less";
17
16
  @import "./common/panel/Panel.less";
18
17
  @import "./common/RadioButton/RadioButton.less";
19
18
  @import "./dateInput/DateInput.less";
package/src/ssr.spec.js CHANGED
@@ -226,7 +226,6 @@ describe('Server side rendering', () => {
226
226
  DateLookup: { value: new Date() },
227
227
  Link: { size: 16 },
228
228
  Tooltip: { children: <>yo</> },
229
- SelectOption: { placeholder: { media: <img alt="img" /> } },
230
229
  };
231
230
 
232
231
  const { Provider } = exposedLibraryItems;
@@ -1,47 +0,0 @@
1
- .np-select-option {
2
- border-radius: 10px;
3
- border-radius: var(--radius-small);
4
- padding: 16px;
5
- padding: var(--size-16);
6
- }
7
- .np-select-option-placeholder {
8
- background-color: rgba(134,167,189,0.10196);
9
- background-color: var(--color-background-neutral);
10
- }
11
- .np-select-option-placeholder:not(.disabled):hover {
12
- background-color: var(--color-background-neutral-hover);
13
- }
14
- .np-select-option-placeholder:not(.disabled):focus,
15
- .np-select-option-placeholder:not(.disabled):active {
16
- background-color: var(--color-background-neutral-active);
17
- }
18
- .np-select-option-selected {
19
- border: 1px solid #c9cbce;
20
- border: 1px solid var(--color-interactive-secondary);
21
- }
22
- .np-select-option-list {
23
- max-height: 350px;
24
- overflow-y: auto;
25
- }
26
- .np-select-option-list > .np-section {
27
- margin-top: 0;
28
- }
29
- .form-group label > .np-select-option {
30
- margin-bottom: 0;
31
- }
32
- .has-error * .np-select-option {
33
- --ring-outline-color: var(--color-sentiment-negative);
34
- --ring-outline-width: 3px;
35
- --ring-outline-offset: calc(-1 * var(--ring-outline-width));
36
- outline: var(--ring-outline-color) solid 3px;
37
- outline: var(--ring-outline-color) solid var(--ring-outline-width);
38
- outline-offset: calc(-1 * 3px);
39
- outline-offset: var(--ring-outline-offset);
40
- }
41
- .has-error * .np-select-option:focus {
42
- outline: none;
43
- }
44
- .has-error * .np-select-option:focus-visible {
45
- outline: var(--ring-outline-color) solid var(--ring-outline-width);
46
- outline-offset: var(--ring-outline-offset);
47
- }