@transferwise/components 45.17.1 → 45.19.0
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.
- package/build/index.esm.js +425 -368
- package/build/index.esm.js.map +1 -1
- package/build/index.js +425 -366
- package/build/index.js.map +1 -1
- package/build/main.css +1 -1
- package/build/styles/inputs/Input.css +1 -1
- package/build/styles/inputs/SelectInput.css +1 -1
- package/build/styles/inputs/TextArea.css +1 -1
- package/build/styles/instructionsList/InstructionsList.css +1 -1
- package/build/styles/main.css +1 -1
- package/build/styles/stepper/Stepper.css +1 -1
- package/build/styles/tooltip/Tooltip.css +1 -1
- package/build/types/button/Button.d.ts.map +1 -1
- package/build/types/common/polymorphicWithOverrides/PolymorphicWithOverrides.d.ts +13 -0
- package/build/types/common/polymorphicWithOverrides/PolymorphicWithOverrides.d.ts.map +1 -0
- package/build/types/index.d.ts +2 -2
- package/build/types/index.d.ts.map +1 -1
- package/build/types/inputs/SelectInput.d.ts +18 -6
- package/build/types/inputs/SelectInput.d.ts.map +1 -1
- package/build/types/inputs/_BottomSheet.d.ts.map +1 -1
- package/build/types/inputs/_Popover.d.ts.map +1 -1
- package/build/types/instructionsList/InstructionsList.d.ts +10 -3
- package/build/types/instructionsList/InstructionsList.d.ts.map +1 -1
- package/build/types/processIndicator/ProcessIndicator.d.ts +1 -1
- package/build/types/tooltip/Tooltip.d.ts +2 -1
- package/build/types/tooltip/Tooltip.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/button/Button.story.tsx +6 -0
- package/src/button/Button.tsx +6 -1
- package/src/common/polymorphicWithOverrides/PolymorphicWithOverrides.tsx +19 -0
- package/src/index.ts +9 -1
- package/src/inputs/Input.css +1 -1
- package/src/inputs/SelectInput.css +1 -1
- package/src/inputs/SelectInput.less +20 -5
- package/src/inputs/SelectInput.story.tsx +85 -35
- package/src/inputs/SelectInput.tsx +176 -106
- package/src/inputs/TextArea.css +1 -1
- package/src/inputs/_BottomSheet.tsx +47 -37
- package/src/inputs/_Popover.less +1 -1
- package/src/inputs/_Popover.tsx +30 -27
- package/src/inputs/_common.less +6 -0
- package/src/inputs/_common.ts +4 -4
- package/src/instructionsList/InstructionList.story.tsx +39 -0
- package/src/instructionsList/InstructionsList.css +1 -1
- package/src/instructionsList/InstructionsList.less +3 -15
- package/src/instructionsList/InstructionsList.spec.tsx +35 -0
- package/src/instructionsList/InstructionsList.tsx +40 -25
- package/src/main.css +1 -1
- package/src/processIndicator/ProcessIndicator.js +2 -2
- package/src/ssr.spec.js +1 -0
- package/src/stepper/Stepper.css +1 -1
- package/src/stepper/Stepper.less +1 -1
- package/src/tooltip/Tooltip.css +1 -1
- package/src/tooltip/Tooltip.less +13 -0
- package/src/tooltip/Tooltip.spec.tsx +97 -29
- package/src/tooltip/Tooltip.tsx +24 -31
- package/src/tooltip/__snapshots__/Tooltip.spec.tsx.snap +31 -0
- package/src/instructionsList/InstructionList.story.js +0 -27
- package/src/instructionsList/InstructionsList.spec.js +0 -29
package/build/index.js
CHANGED
|
@@ -17,6 +17,7 @@ var mergeRefs = require('react-merge-refs');
|
|
|
17
17
|
var neptuneValidation = require('@transferwise/neptune-validation');
|
|
18
18
|
var reactPopper = require('react-popper');
|
|
19
19
|
var react$1 = require('@headlessui/react');
|
|
20
|
+
var mergeProps = require('merge-props');
|
|
20
21
|
var shim = require('use-sync-external-store/shim');
|
|
21
22
|
var react = require('@floating-ui/react');
|
|
22
23
|
var overlays = require('@react-aria/overlays');
|
|
@@ -54,6 +55,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
54
55
|
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
55
56
|
var throttle__default = /*#__PURE__*/_interopDefault(throttle);
|
|
56
57
|
var mergeRefs__default = /*#__PURE__*/_interopDefault(mergeRefs);
|
|
58
|
+
var mergeProps__default = /*#__PURE__*/_interopDefault(mergeProps);
|
|
57
59
|
var clamp__default = /*#__PURE__*/_interopDefault(clamp$2);
|
|
58
60
|
var debounce__default = /*#__PURE__*/_interopDefault(debounce);
|
|
59
61
|
var requiredIf__default = /*#__PURE__*/_interopDefault(requiredIf);
|
|
@@ -1538,7 +1540,6 @@ const FocusBoundary = ({
|
|
|
1538
1540
|
})
|
|
1539
1541
|
});
|
|
1540
1542
|
};
|
|
1541
|
-
var FocusBoundary$1 = FocusBoundary;
|
|
1542
1543
|
|
|
1543
1544
|
function withNextPortalWrapper(Component) {
|
|
1544
1545
|
return function (props) {
|
|
@@ -1680,7 +1681,7 @@ const Dimmer = ({
|
|
|
1680
1681
|
onExited: onExited,
|
|
1681
1682
|
children: /*#__PURE__*/jsxRuntime.jsx(DimmerContentWrapper, {
|
|
1682
1683
|
scrollBody: !transparent,
|
|
1683
|
-
children: /*#__PURE__*/jsxRuntime.jsx(FocusBoundary
|
|
1684
|
+
children: /*#__PURE__*/jsxRuntime.jsx(FocusBoundary, {
|
|
1684
1685
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1685
1686
|
ref: dimmerReference,
|
|
1686
1687
|
className: classNames__default.default('dimmer', {
|
|
@@ -2126,6 +2127,129 @@ const BottomSheet$1 = props => {
|
|
|
2126
2127
|
};
|
|
2127
2128
|
var BottomSheet$2 = BottomSheet$1;
|
|
2128
2129
|
|
|
2130
|
+
const radius = {
|
|
2131
|
+
xxs: 6,
|
|
2132
|
+
xs: 11,
|
|
2133
|
+
sm: 22,
|
|
2134
|
+
xl: 61
|
|
2135
|
+
};
|
|
2136
|
+
const ANIMATION_DURATION_IN_MS = 1500;
|
|
2137
|
+
class ProcessIndicator extends React.Component {
|
|
2138
|
+
constructor(props) {
|
|
2139
|
+
super(props);
|
|
2140
|
+
this.state = {
|
|
2141
|
+
status: props.status,
|
|
2142
|
+
size: props.size
|
|
2143
|
+
};
|
|
2144
|
+
this.interval = null;
|
|
2145
|
+
this.timeout = null;
|
|
2146
|
+
}
|
|
2147
|
+
|
|
2148
|
+
/**
|
|
2149
|
+
* Create interval for animation duration (1500ms)
|
|
2150
|
+
* Update state only at the end of every interval
|
|
2151
|
+
* (end of animation loop) if props changed before end of animation
|
|
2152
|
+
*/
|
|
2153
|
+
componentDidMount() {
|
|
2154
|
+
this.interval = setInterval(() => {
|
|
2155
|
+
const statusFromState = this.state.status;
|
|
2156
|
+
const sizeFromState = this.state.size;
|
|
2157
|
+
const statusFromProps = this.props.status;
|
|
2158
|
+
const sizeFromProps = this.props.size;
|
|
2159
|
+
if (statusFromState !== statusFromProps) {
|
|
2160
|
+
this.setState({
|
|
2161
|
+
status: statusFromProps
|
|
2162
|
+
}, this.runCallBack(statusFromProps));
|
|
2163
|
+
}
|
|
2164
|
+
if (sizeFromState !== sizeFromProps) {
|
|
2165
|
+
this.setState({
|
|
2166
|
+
size: sizeFromProps
|
|
2167
|
+
});
|
|
2168
|
+
}
|
|
2169
|
+
}, ANIMATION_DURATION_IN_MS);
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
/**
|
|
2173
|
+
* Only trigger render if comopnent's state got
|
|
2174
|
+
* updated from interval callback
|
|
2175
|
+
*
|
|
2176
|
+
* @param nextProps
|
|
2177
|
+
* @param nextState
|
|
2178
|
+
*/
|
|
2179
|
+
shouldComponentUpdate(nextProps, nextState) {
|
|
2180
|
+
const isSameStatus = nextProps.status === nextState.status;
|
|
2181
|
+
const isSameSize = nextProps.size === nextState.size;
|
|
2182
|
+
return isSameStatus && isSameSize;
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
// Clear interval before destroying component
|
|
2186
|
+
componentWillUnmount() {
|
|
2187
|
+
clearInterval(this.interval);
|
|
2188
|
+
clearTimeout(this.timeout);
|
|
2189
|
+
}
|
|
2190
|
+
runCallBack = statusFromProps => {
|
|
2191
|
+
const {
|
|
2192
|
+
onAnimationCompleted
|
|
2193
|
+
} = this.props;
|
|
2194
|
+
if (onAnimationCompleted) {
|
|
2195
|
+
this.timeouts = setTimeout(() => {
|
|
2196
|
+
onAnimationCompleted(statusFromProps);
|
|
2197
|
+
}, ANIMATION_DURATION_IN_MS);
|
|
2198
|
+
}
|
|
2199
|
+
};
|
|
2200
|
+
render() {
|
|
2201
|
+
const {
|
|
2202
|
+
className,
|
|
2203
|
+
'data-testid': dataTestId
|
|
2204
|
+
} = this.props;
|
|
2205
|
+
const {
|
|
2206
|
+
size,
|
|
2207
|
+
status
|
|
2208
|
+
} = this.state;
|
|
2209
|
+
const classes = classNames__default.default(`process process-${size}`, className, {
|
|
2210
|
+
[`process-danger`]: status === exports.Status.FAILED,
|
|
2211
|
+
[`process-stopped`]: status === exports.Status.HIDDEN,
|
|
2212
|
+
[`process-success`]: status === exports.Status.SUCCEEDED
|
|
2213
|
+
});
|
|
2214
|
+
return /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
2215
|
+
className: classes,
|
|
2216
|
+
"data-testid": dataTestId,
|
|
2217
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
2218
|
+
className: "process-icon-container",
|
|
2219
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
2220
|
+
className: "process-icon-horizontal"
|
|
2221
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
2222
|
+
className: "process-icon-vertical"
|
|
2223
|
+
})]
|
|
2224
|
+
}), /*#__PURE__*/jsxRuntime.jsx("svg", {
|
|
2225
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2226
|
+
children: /*#__PURE__*/jsxRuntime.jsx("circle", {
|
|
2227
|
+
className: "process-circle",
|
|
2228
|
+
cx: "50%",
|
|
2229
|
+
cy: "50%",
|
|
2230
|
+
r: radius[this.state.size],
|
|
2231
|
+
fillOpacity: "0.0"
|
|
2232
|
+
})
|
|
2233
|
+
})]
|
|
2234
|
+
});
|
|
2235
|
+
}
|
|
2236
|
+
}
|
|
2237
|
+
ProcessIndicator.propTypes = {
|
|
2238
|
+
status: PropTypes__default.default.oneOf(['processing', 'failed', 'succeeded', 'hidden']),
|
|
2239
|
+
size: PropTypes__default.default.oneOf(['xxs', 'xs', 'sm', 'xl']),
|
|
2240
|
+
onAnimationCompleted: PropTypes__default.default.func,
|
|
2241
|
+
className: PropTypes__default.default.string,
|
|
2242
|
+
'data-testid': PropTypes__default.default.string
|
|
2243
|
+
};
|
|
2244
|
+
ProcessIndicator.defaultProps = {
|
|
2245
|
+
status: exports.Status.PROCESSING,
|
|
2246
|
+
size: exports.Size.SMALL,
|
|
2247
|
+
onAnimationCompleted: null,
|
|
2248
|
+
className: undefined,
|
|
2249
|
+
'data-testid': null
|
|
2250
|
+
};
|
|
2251
|
+
var ProcessIndicator$1 = ProcessIndicator;
|
|
2252
|
+
|
|
2129
2253
|
var messages$8 = reactIntl.defineMessages({
|
|
2130
2254
|
loadingAriaLabel: {
|
|
2131
2255
|
id: "neptune.Button.loadingAriaLabel"
|
|
@@ -2220,6 +2344,9 @@ const Button = /*#__PURE__*/React.forwardRef(({
|
|
|
2220
2344
|
// @ts-expect-error fix when refactor `typeClassMap` to TypeScript
|
|
2221
2345
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
2222
2346
|
priorityClassMap[newPriority], className);
|
|
2347
|
+
function processIndicatorSize() {
|
|
2348
|
+
return ['sm', 'xs'].includes(size) ? 'xxs' : 'xs';
|
|
2349
|
+
}
|
|
2223
2350
|
const Element = component ?? 'button';
|
|
2224
2351
|
let props;
|
|
2225
2352
|
if (Element === 'button') {
|
|
@@ -2243,10 +2370,9 @@ const Button = /*#__PURE__*/React.forwardRef(({
|
|
|
2243
2370
|
...props,
|
|
2244
2371
|
"aria-live": loading ? 'polite' : 'off',
|
|
2245
2372
|
"aria-label": loading ? intl.formatMessage(messages$8.loadingAriaLabel) : undefined,
|
|
2246
|
-
children: [children, loading && /*#__PURE__*/jsxRuntime.jsx(
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
})
|
|
2373
|
+
children: [children, loading && /*#__PURE__*/jsxRuntime.jsx(ProcessIndicator$1, {
|
|
2374
|
+
size: processIndicatorSize(),
|
|
2375
|
+
className: "btn-loader"
|
|
2250
2376
|
})]
|
|
2251
2377
|
});
|
|
2252
2378
|
});
|
|
@@ -5394,12 +5520,15 @@ const Tooltip = ({
|
|
|
5394
5520
|
position = exports.Position.TOP,
|
|
5395
5521
|
children = undefined,
|
|
5396
5522
|
label,
|
|
5523
|
+
id,
|
|
5397
5524
|
className
|
|
5398
5525
|
}) => {
|
|
5399
5526
|
const [open, setOpen] = React.useState(false);
|
|
5400
5527
|
const anchorReference = React.useRef(null);
|
|
5401
5528
|
const [arrowElement, setArrowElement] = React.useState(null);
|
|
5402
5529
|
const [popperElement, setPopperElement] = React.useState(null);
|
|
5530
|
+
const fallbackId = reactId.useId();
|
|
5531
|
+
const tooltipId = id ?? fallbackId;
|
|
5403
5532
|
const modifiers = [];
|
|
5404
5533
|
modifiers.push({
|
|
5405
5534
|
name: 'arrow',
|
|
@@ -5438,60 +5567,42 @@ const Tooltip = ({
|
|
|
5438
5567
|
forceUpdate();
|
|
5439
5568
|
}
|
|
5440
5569
|
}, [open]);
|
|
5441
|
-
return /*#__PURE__*/jsxRuntime.
|
|
5442
|
-
children:
|
|
5570
|
+
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
5571
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
5443
5572
|
ref: anchorReference,
|
|
5444
|
-
className: "
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
onMouseOut: () => {
|
|
5460
|
-
if (children?.props?.onMouseOver) {
|
|
5461
|
-
children.props.onMouseOver();
|
|
5462
|
-
}
|
|
5463
|
-
setOpen(false);
|
|
5573
|
+
className: "tw-tooltip-container",
|
|
5574
|
+
onMouseOver: () => setOpen(true),
|
|
5575
|
+
onFocus: () => setOpen(true),
|
|
5576
|
+
onMouseOut: () => setOpen(false),
|
|
5577
|
+
onBlur: () => setOpen(false),
|
|
5578
|
+
children: [children ? /*#__PURE__*/React.cloneElement(children, {
|
|
5579
|
+
'aria-describedby': `${tooltipId}-tooltip`
|
|
5580
|
+
}) : null, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5581
|
+
// @ts-expect-error
|
|
5582
|
+
ref: setPopperElement,
|
|
5583
|
+
className: classNames__default.default('np-tooltip', 'np-panel', open ? `np-panel--open np-tooltip--open` : null, className)
|
|
5584
|
+
// eslint-disable-next-line react/forbid-dom-props
|
|
5585
|
+
,
|
|
5586
|
+
style: {
|
|
5587
|
+
...styles.popper
|
|
5464
5588
|
},
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
...attributes.popper,
|
|
5483
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5484
|
-
className: "np-panel__content tooltip-inner",
|
|
5485
|
-
children: [label, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5486
|
-
// @ts-expect-error
|
|
5487
|
-
ref: setArrowElement,
|
|
5488
|
-
className: classNames__default.default('np-panel__arrow')
|
|
5489
|
-
// eslint-disable-next-line react/forbid-dom-props
|
|
5490
|
-
,
|
|
5491
|
-
style: styles.arrow
|
|
5492
|
-
})]
|
|
5493
|
-
})
|
|
5494
|
-
}) : null]
|
|
5589
|
+
...attributes.popper,
|
|
5590
|
+
"aria-hidden": !open,
|
|
5591
|
+
role: "tooltip",
|
|
5592
|
+
id: `${tooltipId}-tooltip`,
|
|
5593
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5594
|
+
className: "np-panel__content tooltip-inner",
|
|
5595
|
+
children: [label, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5596
|
+
// @ts-expect-error
|
|
5597
|
+
ref: setArrowElement,
|
|
5598
|
+
className: classNames__default.default('np-panel__arrow')
|
|
5599
|
+
// eslint-disable-next-line react/forbid-dom-props
|
|
5600
|
+
,
|
|
5601
|
+
style: styles.arrow
|
|
5602
|
+
})]
|
|
5603
|
+
})
|
|
5604
|
+
})]
|
|
5605
|
+
})
|
|
5495
5606
|
});
|
|
5496
5607
|
};
|
|
5497
5608
|
var Tooltip$1 = Tooltip;
|
|
@@ -6184,10 +6295,10 @@ function formControlClassNameBase({
|
|
|
6184
6295
|
return classNames__default.default('form-control',
|
|
6185
6296
|
// TODO: Deprecate
|
|
6186
6297
|
'np-form-control', {
|
|
6187
|
-
'np-form-control--size-auto
|
|
6188
|
-
'np-form-control--size-sm
|
|
6189
|
-
'np-form-control--size-md
|
|
6190
|
-
'np-form-control--size-lg
|
|
6298
|
+
'np-form-control--size-auto': size === 'auto',
|
|
6299
|
+
'np-form-control--size-sm': size === 'sm',
|
|
6300
|
+
'np-form-control--size-md': size === 'md',
|
|
6301
|
+
'np-form-control--size-lg': size === 'lg'
|
|
6191
6302
|
});
|
|
6192
6303
|
}
|
|
6193
6304
|
|
|
@@ -6252,6 +6363,20 @@ function useScreenSize(size) {
|
|
|
6252
6363
|
return useMedia(`(min-width: ${size}px)`);
|
|
6253
6364
|
}
|
|
6254
6365
|
|
|
6366
|
+
const PolymorphicWithOverrides = /*#__PURE__*/React.forwardRef(function PolymorphicWithOverrides({
|
|
6367
|
+
__overrides: {
|
|
6368
|
+
as: Element,
|
|
6369
|
+
...restOverrides
|
|
6370
|
+
},
|
|
6371
|
+
...restProps
|
|
6372
|
+
}, ref) {
|
|
6373
|
+
return /*#__PURE__*/jsxRuntime.jsx(Element, {
|
|
6374
|
+
ref: ref,
|
|
6375
|
+
...restProps,
|
|
6376
|
+
...restOverrides
|
|
6377
|
+
});
|
|
6378
|
+
});
|
|
6379
|
+
|
|
6255
6380
|
function wrapInFragment(value) {
|
|
6256
6381
|
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
6257
6382
|
children: value
|
|
@@ -6319,43 +6444,47 @@ function BottomSheet({
|
|
|
6319
6444
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6320
6445
|
className: "np-bottom-sheet-v2-backdrop"
|
|
6321
6446
|
})
|
|
6322
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
className: "np-bottom-sheet-v2-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
}),
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6447
|
+
}), /*#__PURE__*/jsxRuntime.jsx(FocusBoundary, {
|
|
6448
|
+
children: /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
|
|
6449
|
+
context: context,
|
|
6450
|
+
initialFocus: initialFocusRef,
|
|
6451
|
+
guards: false,
|
|
6452
|
+
modal: false,
|
|
6453
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6454
|
+
className: "np-bottom-sheet-v2",
|
|
6455
|
+
children: /*#__PURE__*/jsxRuntime.jsx(react$1.Transition.Child, {
|
|
6456
|
+
className: "np-bottom-sheet-v2-content",
|
|
6457
|
+
enter: "np-bottom-sheet-v2-content--enter",
|
|
6458
|
+
enterFrom: "np-bottom-sheet-v2-content--enter-from",
|
|
6459
|
+
leave: "np-bottom-sheet-v2-content--leave",
|
|
6460
|
+
leaveTo: "np-bottom-sheet-v2-content--leave-to",
|
|
6461
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6462
|
+
// Force inner state invalidation on open
|
|
6463
|
+
ref: refs.setFloating,
|
|
6464
|
+
className: "np-bottom-sheet-v2-content-inner-container",
|
|
6465
|
+
...getFloatingProps(),
|
|
6466
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6467
|
+
className: "np-bottom-sheet-v2-header",
|
|
6468
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CloseButton, {
|
|
6469
|
+
size: exports.Size.SMALL,
|
|
6470
|
+
onClick: () => {
|
|
6471
|
+
onClose?.();
|
|
6472
|
+
}
|
|
6473
|
+
})
|
|
6474
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6475
|
+
className: classNames__default.default('np-bottom-sheet-v2-content-inner', title && 'np-bottom-sheet-v2-content-inner--has-title', {
|
|
6476
|
+
'np-bottom-sheet-v2-content-inner--padding-md': padding === 'md'
|
|
6477
|
+
}),
|
|
6478
|
+
children: [title ? /*#__PURE__*/jsxRuntime.jsx("h2", {
|
|
6479
|
+
className: "np-bottom-sheet-v2-title np-text-title-body",
|
|
6480
|
+
children: title
|
|
6481
|
+
}) : null, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6482
|
+
className: "np-bottom-sheet-v2-body np-text-body-default",
|
|
6483
|
+
children: children
|
|
6484
|
+
})]
|
|
6356
6485
|
})]
|
|
6357
|
-
})
|
|
6358
|
-
}
|
|
6486
|
+
}, floatingKey)
|
|
6487
|
+
})
|
|
6359
6488
|
})
|
|
6360
6489
|
})
|
|
6361
6490
|
})]
|
|
@@ -6448,36 +6577,40 @@ function Popover({
|
|
|
6448
6577
|
theme: theme,
|
|
6449
6578
|
screenMode: screenMode,
|
|
6450
6579
|
isNotRootProvider: true,
|
|
6451
|
-
children: /*#__PURE__*/jsxRuntime.jsx(react.
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6580
|
+
children: /*#__PURE__*/jsxRuntime.jsx(react$1.Transition, {
|
|
6581
|
+
show: open,
|
|
6582
|
+
leave: "transition-opacity",
|
|
6583
|
+
leaveTo: "opacity-0",
|
|
6584
|
+
beforeEnter: () => {
|
|
6585
|
+
setFloatingKey(prev => prev + 1);
|
|
6586
|
+
},
|
|
6587
|
+
children: /*#__PURE__*/jsxRuntime.jsx(FocusBoundary, {
|
|
6588
|
+
children: /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
|
|
6589
|
+
context: context,
|
|
6590
|
+
guards: false,
|
|
6591
|
+
modal: false,
|
|
6592
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6593
|
+
// Force inner state invalidation on open
|
|
6594
|
+
ref: refs.setFloating,
|
|
6595
|
+
className: "np-popover-v2-container"
|
|
6596
|
+
// eslint-disable-next-line react/forbid-dom-props
|
|
6597
|
+
,
|
|
6598
|
+
style: floatingStyles,
|
|
6599
|
+
...getFloatingProps(),
|
|
6600
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6601
|
+
className: classNames__default.default('np-popover-v2', title && 'np-popover-v2--has-title', {
|
|
6602
|
+
'np-popover-v2--padding-md': padding === 'md'
|
|
6603
|
+
}),
|
|
6604
|
+
children: [title ? /*#__PURE__*/jsxRuntime.jsx("h2", {
|
|
6605
|
+
className: "np-popover-v2-title np-text-title-body",
|
|
6606
|
+
children: title
|
|
6607
|
+
}) : null, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6608
|
+
className: "np-popover-v2-content np-text-body-default",
|
|
6609
|
+
children: children
|
|
6610
|
+
})]
|
|
6611
|
+
})
|
|
6612
|
+
}, floatingKey)
|
|
6613
|
+
})
|
|
6481
6614
|
})
|
|
6482
6615
|
})
|
|
6483
6616
|
})
|
|
@@ -6498,7 +6631,8 @@ function inferSearchableStrings(value) {
|
|
|
6498
6631
|
return [];
|
|
6499
6632
|
}
|
|
6500
6633
|
const SelectInputHasValueContext = /*#__PURE__*/React.createContext(false);
|
|
6501
|
-
const
|
|
6634
|
+
const SelectInputTriggerButtonPropsContext = /*#__PURE__*/React.createContext({});
|
|
6635
|
+
const SelectInputOptionContentWithinTriggerContext = /*#__PURE__*/React.createContext(false);
|
|
6502
6636
|
function dedupeSelectInputOptionItem(item, existingValues) {
|
|
6503
6637
|
if (existingValues.has(item.value)) {
|
|
6504
6638
|
return {
|
|
@@ -6528,22 +6662,78 @@ function dedupeSelectInputItems(items) {
|
|
|
6528
6662
|
return item;
|
|
6529
6663
|
});
|
|
6530
6664
|
}
|
|
6665
|
+
const defaultRenderTrigger = ({
|
|
6666
|
+
content,
|
|
6667
|
+
placeholderShown,
|
|
6668
|
+
clear,
|
|
6669
|
+
disabled,
|
|
6670
|
+
size,
|
|
6671
|
+
className
|
|
6672
|
+
}) => /*#__PURE__*/jsxRuntime.jsx(InputGroup, {
|
|
6673
|
+
addonEnd: {
|
|
6674
|
+
content: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
6675
|
+
className: classNames__default.default('np-select-input-addon-container', disabled && 'disabled'),
|
|
6676
|
+
children: [clear != null && !placeholderShown ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
6677
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(SelectInputClearButton, {
|
|
6678
|
+
onClick: event => {
|
|
6679
|
+
event.preventDefault();
|
|
6680
|
+
clear();
|
|
6681
|
+
}
|
|
6682
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6683
|
+
className: "np-select-input-addon-separator"
|
|
6684
|
+
})]
|
|
6685
|
+
}) : null, /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6686
|
+
className: "np-select-input-addon",
|
|
6687
|
+
children: /*#__PURE__*/jsxRuntime.jsx(icons.ChevronDown, {
|
|
6688
|
+
size: 16
|
|
6689
|
+
})
|
|
6690
|
+
})]
|
|
6691
|
+
}),
|
|
6692
|
+
padding: 'sm'
|
|
6693
|
+
},
|
|
6694
|
+
disabled: disabled,
|
|
6695
|
+
className: className,
|
|
6696
|
+
children: /*#__PURE__*/jsxRuntime.jsx(SelectInputTriggerButton, {
|
|
6697
|
+
as: ButtonInput,
|
|
6698
|
+
size: size,
|
|
6699
|
+
children: placeholderShown ? /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
6700
|
+
className: "np-select-input-placeholder",
|
|
6701
|
+
children: [" ", content]
|
|
6702
|
+
}) : content
|
|
6703
|
+
})
|
|
6704
|
+
});
|
|
6705
|
+
function SelectInputClearButton({
|
|
6706
|
+
className,
|
|
6707
|
+
onClick
|
|
6708
|
+
}) {
|
|
6709
|
+
const intl = reactIntl.useIntl();
|
|
6710
|
+
return /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
6711
|
+
type: "button",
|
|
6712
|
+
"aria-label": intl.formatMessage(messages$5.ariaLabel),
|
|
6713
|
+
className: classNames__default.default(className, 'np-select-input-addon np-select-input-addon--interactive'),
|
|
6714
|
+
onClick: onClick,
|
|
6715
|
+
children: /*#__PURE__*/jsxRuntime.jsx(icons.Cross, {
|
|
6716
|
+
size: 16
|
|
6717
|
+
})
|
|
6718
|
+
});
|
|
6719
|
+
}
|
|
6531
6720
|
function SelectInput({
|
|
6532
6721
|
name,
|
|
6533
6722
|
placeholder,
|
|
6534
6723
|
items,
|
|
6535
6724
|
defaultValue,
|
|
6536
6725
|
value: controlledValue,
|
|
6537
|
-
renderValue = wrapInFragment,
|
|
6538
6726
|
compareValues,
|
|
6727
|
+
renderValue = wrapInFragment,
|
|
6728
|
+
renderTrigger = defaultRenderTrigger,
|
|
6539
6729
|
filterable,
|
|
6540
6730
|
filterPlaceholder,
|
|
6541
6731
|
disabled,
|
|
6732
|
+
size = 'md',
|
|
6542
6733
|
className,
|
|
6543
6734
|
onChange,
|
|
6544
6735
|
onClear
|
|
6545
6736
|
}) {
|
|
6546
|
-
const intl = reactIntl.useIntl();
|
|
6547
6737
|
const [open, setOpen] = React.useState(false);
|
|
6548
6738
|
const triggerRef = React.useRef(null);
|
|
6549
6739
|
const screenSm = useScreenSize(exports.Breakpoint.SMALL);
|
|
@@ -6569,87 +6759,76 @@ function SelectInput({
|
|
|
6569
6759
|
value
|
|
6570
6760
|
}) => /*#__PURE__*/jsxRuntime.jsx(SelectInputHasValueContext.Provider, {
|
|
6571
6761
|
value: value != null,
|
|
6572
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
disabled: uiDisabled,
|
|
6581
|
-
className: "np-select-input-addon np-select-input-addon--interactive",
|
|
6582
|
-
onClick: event => {
|
|
6583
|
-
event.preventDefault();
|
|
6584
|
-
onClear();
|
|
6585
|
-
triggerRef.current?.focus({
|
|
6586
|
-
preventScroll: true
|
|
6587
|
-
});
|
|
6588
|
-
},
|
|
6589
|
-
children: /*#__PURE__*/jsxRuntime.jsx(icons.Cross, {
|
|
6590
|
-
size: 16
|
|
6591
|
-
})
|
|
6592
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6593
|
-
className: "np-select-input-addon-separator"
|
|
6594
|
-
})]
|
|
6595
|
-
}) : null, /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6596
|
-
className: "np-select-input-addon",
|
|
6597
|
-
children: /*#__PURE__*/jsxRuntime.jsx(icons.ChevronDown, {
|
|
6598
|
-
size: 16
|
|
6599
|
-
})
|
|
6600
|
-
})]
|
|
6601
|
-
}),
|
|
6602
|
-
padding: 'sm'
|
|
6603
|
-
},
|
|
6604
|
-
className: className,
|
|
6605
|
-
children: /*#__PURE__*/jsxRuntime.jsx(OptionsOverlay, {
|
|
6606
|
-
open: open,
|
|
6607
|
-
renderTrigger: ({
|
|
6608
|
-
ref,
|
|
6609
|
-
getInteractionProps
|
|
6610
|
-
}) => /*#__PURE__*/jsxRuntime.jsx(react$1.Listbox.Button, {
|
|
6762
|
+
children: /*#__PURE__*/jsxRuntime.jsx(OptionsOverlay, {
|
|
6763
|
+
open: open,
|
|
6764
|
+
renderTrigger: ({
|
|
6765
|
+
ref,
|
|
6766
|
+
getInteractionProps
|
|
6767
|
+
}) => /*#__PURE__*/jsxRuntime.jsx(SelectInputTriggerButtonPropsContext.Provider, {
|
|
6768
|
+
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
6769
|
+
value: {
|
|
6611
6770
|
ref: mergeRefs__default.default([ref, triggerRef]),
|
|
6612
|
-
|
|
6613
|
-
|
|
6614
|
-
|
|
6615
|
-
|
|
6616
|
-
},
|
|
6617
|
-
|
|
6771
|
+
...mergeProps__default.default({
|
|
6772
|
+
onClick: () => {
|
|
6773
|
+
setOpen(prev => !prev);
|
|
6774
|
+
}
|
|
6775
|
+
}, getInteractionProps())
|
|
6776
|
+
},
|
|
6777
|
+
children: renderTrigger({
|
|
6778
|
+
content: value != null ? /*#__PURE__*/jsxRuntime.jsx(SelectInputOptionContentWithinTriggerContext.Provider, {
|
|
6618
6779
|
value: true,
|
|
6619
6780
|
children: renderValue(value, true)
|
|
6620
|
-
}) :
|
|
6621
|
-
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
|
|
6625
|
-
|
|
6626
|
-
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
items: items,
|
|
6632
|
-
renderValue: renderValue,
|
|
6633
|
-
filterable: filterable,
|
|
6634
|
-
filterPlaceholder: filterPlaceholder,
|
|
6635
|
-
searchInputRef: searchInputRef,
|
|
6636
|
-
listboxRef: listboxRef
|
|
6781
|
+
}) : placeholder,
|
|
6782
|
+
placeholderShown: value == null,
|
|
6783
|
+
clear: onClear != null ? () => {
|
|
6784
|
+
onClear();
|
|
6785
|
+
triggerRef.current?.focus({
|
|
6786
|
+
preventScroll: true
|
|
6787
|
+
});
|
|
6788
|
+
} : undefined,
|
|
6789
|
+
disabled: uiDisabled,
|
|
6790
|
+
size,
|
|
6791
|
+
className
|
|
6637
6792
|
})
|
|
6793
|
+
}),
|
|
6794
|
+
initialFocusRef: controllerRef,
|
|
6795
|
+
padding: "none",
|
|
6796
|
+
onClose: () => {
|
|
6797
|
+
setOpen(false);
|
|
6798
|
+
},
|
|
6799
|
+
children: /*#__PURE__*/jsxRuntime.jsx(SelectInputOptions, {
|
|
6800
|
+
items: items,
|
|
6801
|
+
renderValue: renderValue,
|
|
6802
|
+
filterable: filterable,
|
|
6803
|
+
filterPlaceholder: filterPlaceholder,
|
|
6804
|
+
searchInputRef: searchInputRef,
|
|
6805
|
+
listboxRef: listboxRef
|
|
6638
6806
|
})
|
|
6639
6807
|
})
|
|
6640
6808
|
})
|
|
6641
6809
|
});
|
|
6642
6810
|
}
|
|
6643
|
-
|
|
6644
|
-
|
|
6811
|
+
function SelectInputTriggerButton({
|
|
6812
|
+
as = 'button',
|
|
6645
6813
|
...restProps
|
|
6646
|
-
}
|
|
6647
|
-
|
|
6814
|
+
}) {
|
|
6815
|
+
const {
|
|
6816
|
+
ref,
|
|
6817
|
+
onClick,
|
|
6818
|
+
...interactionProps
|
|
6819
|
+
} = React.useContext(SelectInputTriggerButtonPropsContext);
|
|
6820
|
+
return /*#__PURE__*/jsxRuntime.jsx(react$1.Listbox.Button, {
|
|
6648
6821
|
ref: ref,
|
|
6649
|
-
|
|
6650
|
-
|
|
6822
|
+
as: PolymorphicWithOverrides,
|
|
6823
|
+
__overrides: {
|
|
6824
|
+
as,
|
|
6825
|
+
...interactionProps
|
|
6826
|
+
},
|
|
6827
|
+
...mergeProps__default.default({
|
|
6828
|
+
onClick
|
|
6829
|
+
}, restProps)
|
|
6651
6830
|
});
|
|
6652
|
-
}
|
|
6831
|
+
}
|
|
6653
6832
|
const SelectInputOptionsContainer = /*#__PURE__*/React.forwardRef(function SelectInputOptionsContainer({
|
|
6654
6833
|
'aria-orientation': ariaOrientation,
|
|
6655
6834
|
'aria-activedescendant': ariaActiveDescendant,
|
|
@@ -6778,8 +6957,7 @@ function SelectInputItemView({
|
|
|
6778
6957
|
{
|
|
6779
6958
|
if (needle == null) {
|
|
6780
6959
|
return /*#__PURE__*/jsxRuntime.jsx("hr", {
|
|
6781
|
-
className: "np-select-input-separator-item"
|
|
6782
|
-
"aria-hidden": true
|
|
6960
|
+
className: "np-select-input-separator-item"
|
|
6783
6961
|
});
|
|
6784
6962
|
}
|
|
6785
6963
|
break;
|
|
@@ -6832,18 +7010,19 @@ function SelectInputOption({
|
|
|
6832
7010
|
disabled: disabled,
|
|
6833
7011
|
className: ({
|
|
6834
7012
|
active,
|
|
7013
|
+
selected,
|
|
6835
7014
|
disabled: uiDisabled
|
|
6836
|
-
}) => classNames__default.default('np-select-input-option-container np-text-body-large', active && 'np-select-input-option-container--active', uiDisabled && 'np-select-input-option-container--disabled'),
|
|
7015
|
+
}) => classNames__default.default('np-select-input-option-container np-text-body-large', active && 'np-select-input-option-container--active', selected && 'np-select-input-option-container--selected', uiDisabled && 'np-select-input-option-container--disabled'),
|
|
6837
7016
|
children: ({
|
|
6838
7017
|
selected
|
|
6839
7018
|
}) => /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
6840
|
-
children: [
|
|
6841
|
-
size: 16,
|
|
6842
|
-
className: classNames__default.default(!selected && 'np-select-input-option-check--not-selected')
|
|
6843
|
-
}) : null, /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
7019
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6844
7020
|
className: "np-select-input-option",
|
|
6845
7021
|
children: children
|
|
6846
|
-
})
|
|
7022
|
+
}), cachedParentHasValue ? /*#__PURE__*/jsxRuntime.jsx(icons.Check, {
|
|
7023
|
+
size: 24,
|
|
7024
|
+
className: classNames__default.default('np-select-input-option-check', !selected && 'np-select-input-option-check--not-selected')
|
|
7025
|
+
}) : null]
|
|
6847
7026
|
})
|
|
6848
7027
|
});
|
|
6849
7028
|
}
|
|
@@ -6853,25 +7032,25 @@ function SelectInputOptionContent({
|
|
|
6853
7032
|
description,
|
|
6854
7033
|
icon
|
|
6855
7034
|
}) {
|
|
6856
|
-
const
|
|
7035
|
+
const withinTrigger = React.useContext(SelectInputOptionContentWithinTriggerContext);
|
|
6857
7036
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6858
|
-
className:
|
|
7037
|
+
className: classNames__default.default('np-select-input-option-content-container', (note || description) && 'np-text-body-large'),
|
|
6859
7038
|
children: [icon ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6860
|
-
className: classNames__default.default('np-select-input-option-content-icon', !
|
|
7039
|
+
className: classNames__default.default('np-select-input-option-content-icon', !withinTrigger && 'np-select-input-option-content-icon--not-within-trigger'),
|
|
6861
7040
|
children: icon
|
|
6862
7041
|
}) : null, /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6863
7042
|
className: "np-select-input-option-content-text",
|
|
6864
7043
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6865
|
-
className: classNames__default.default('np-select-input-option-content-text-line-1',
|
|
7044
|
+
className: classNames__default.default('np-select-input-option-content-text-line-1', withinTrigger && 'np-select-input-option-content-text-within-trigger'),
|
|
6866
7045
|
children: [/*#__PURE__*/jsxRuntime.jsx("h4", {
|
|
6867
|
-
className: "
|
|
7046
|
+
className: "np-select-input-option-content-text-primary d-inline",
|
|
6868
7047
|
children: title
|
|
6869
7048
|
}), note ? /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6870
7049
|
className: "np-select-input-option-content-text-secondary np-text-body-default",
|
|
6871
7050
|
children: note
|
|
6872
7051
|
}) : null]
|
|
6873
7052
|
}), description ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6874
|
-
className: classNames__default.default('np-select-input-option-content-text-secondary np-text-body-default',
|
|
7053
|
+
className: classNames__default.default('np-select-input-option-content-text-secondary np-text-body-default', withinTrigger && 'np-select-input-option-content-text-within-trigger'),
|
|
6875
7054
|
children: description
|
|
6876
7055
|
}) : null]
|
|
6877
7056
|
})]
|
|
@@ -7321,47 +7500,48 @@ InputWithDisplayFormat.propTypes = {
|
|
|
7321
7500
|
};
|
|
7322
7501
|
var InputWithDisplayFormat$1 = InputWithDisplayFormat;
|
|
7323
7502
|
|
|
7324
|
-
const InstructionsList =
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
const {
|
|
7329
|
-
dos,
|
|
7330
|
-
donts
|
|
7331
|
-
} = props;
|
|
7332
|
-
const DontIcon = isModern ? icons.CrossCircleFill : icons.CrossCircle;
|
|
7333
|
-
const DoIcon = isModern ? icons.CheckCircleFill : icons.CheckCircle;
|
|
7503
|
+
const InstructionsList = ({
|
|
7504
|
+
dos,
|
|
7505
|
+
donts
|
|
7506
|
+
}) => {
|
|
7334
7507
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
7335
7508
|
className: "tw-instructions",
|
|
7336
7509
|
children: [dos && dos.map((doThis, index) =>
|
|
7337
7510
|
/*#__PURE__*/
|
|
7338
7511
|
// eslint-disable-next-line react/no-array-index-key
|
|
7339
|
-
jsxRuntime.
|
|
7340
|
-
|
|
7341
|
-
|
|
7342
|
-
size: 24,
|
|
7343
|
-
className: "do"
|
|
7344
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Body, {
|
|
7345
|
-
className: "text-primary",
|
|
7346
|
-
type: exports.Typography.BODY_LARGE,
|
|
7347
|
-
children: doThis
|
|
7348
|
-
})]
|
|
7512
|
+
jsxRuntime.jsx(Instruction, {
|
|
7513
|
+
item: doThis,
|
|
7514
|
+
type: "do"
|
|
7349
7515
|
}, index)), donts && donts.map((dont, index) =>
|
|
7350
7516
|
/*#__PURE__*/
|
|
7351
7517
|
// eslint-disable-next-line react/no-array-index-key
|
|
7352
|
-
jsxRuntime.
|
|
7353
|
-
|
|
7354
|
-
|
|
7355
|
-
size: 24,
|
|
7356
|
-
className: "dont"
|
|
7357
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Body, {
|
|
7358
|
-
className: "text-primary",
|
|
7359
|
-
type: exports.Typography.BODY_LARGE,
|
|
7360
|
-
children: dont
|
|
7361
|
-
})]
|
|
7518
|
+
jsxRuntime.jsx(Instruction, {
|
|
7519
|
+
item: dont,
|
|
7520
|
+
type: "dont"
|
|
7362
7521
|
}, index))]
|
|
7363
7522
|
});
|
|
7364
7523
|
};
|
|
7524
|
+
function Instruction({
|
|
7525
|
+
item,
|
|
7526
|
+
type
|
|
7527
|
+
}) {
|
|
7528
|
+
const isInstructionNode = typeof item === 'object' && item !== null && 'content' in item && 'aria-label' in item;
|
|
7529
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
7530
|
+
className: "instruction",
|
|
7531
|
+
"aria-label": isInstructionNode ? item['aria-label'] : undefined,
|
|
7532
|
+
children: [type === 'do' ? /*#__PURE__*/jsxRuntime.jsx(icons.CheckCircleFill, {
|
|
7533
|
+
size: 24,
|
|
7534
|
+
className: type
|
|
7535
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(icons.CrossCircleFill, {
|
|
7536
|
+
size: 24,
|
|
7537
|
+
className: type
|
|
7538
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Body, {
|
|
7539
|
+
className: "text-primary",
|
|
7540
|
+
type: exports.Typography.BODY_LARGE,
|
|
7541
|
+
children: isInstructionNode ? item.content : item
|
|
7542
|
+
})]
|
|
7543
|
+
});
|
|
7544
|
+
}
|
|
7365
7545
|
var InstructionsList$1 = InstructionsList;
|
|
7366
7546
|
|
|
7367
7547
|
const Loader = ({
|
|
@@ -10228,128 +10408,6 @@ PhoneNumberInput.defaultProps = {
|
|
|
10228
10408
|
};
|
|
10229
10409
|
var PhoneNumberInput$1 = PhoneNumberInput;
|
|
10230
10410
|
|
|
10231
|
-
const radius = {
|
|
10232
|
-
xs: 11,
|
|
10233
|
-
sm: 22,
|
|
10234
|
-
xl: 61
|
|
10235
|
-
};
|
|
10236
|
-
const ANIMATION_DURATION_IN_MS = 1500;
|
|
10237
|
-
class ProcessIndicator extends React.Component {
|
|
10238
|
-
constructor(props) {
|
|
10239
|
-
super(props);
|
|
10240
|
-
this.state = {
|
|
10241
|
-
status: props.status,
|
|
10242
|
-
size: props.size
|
|
10243
|
-
};
|
|
10244
|
-
this.interval = null;
|
|
10245
|
-
this.timeout = null;
|
|
10246
|
-
}
|
|
10247
|
-
|
|
10248
|
-
/**
|
|
10249
|
-
* Create interval for animation duration (1500ms)
|
|
10250
|
-
* Update state only at the end of every interval
|
|
10251
|
-
* (end of animation loop) if props changed before end of animation
|
|
10252
|
-
*/
|
|
10253
|
-
componentDidMount() {
|
|
10254
|
-
this.interval = setInterval(() => {
|
|
10255
|
-
const statusFromState = this.state.status;
|
|
10256
|
-
const sizeFromState = this.state.size;
|
|
10257
|
-
const statusFromProps = this.props.status;
|
|
10258
|
-
const sizeFromProps = this.props.size;
|
|
10259
|
-
if (statusFromState !== statusFromProps) {
|
|
10260
|
-
this.setState({
|
|
10261
|
-
status: statusFromProps
|
|
10262
|
-
}, this.runCallBack(statusFromProps));
|
|
10263
|
-
}
|
|
10264
|
-
if (sizeFromState !== sizeFromProps) {
|
|
10265
|
-
this.setState({
|
|
10266
|
-
size: sizeFromProps
|
|
10267
|
-
});
|
|
10268
|
-
}
|
|
10269
|
-
}, ANIMATION_DURATION_IN_MS);
|
|
10270
|
-
}
|
|
10271
|
-
|
|
10272
|
-
/**
|
|
10273
|
-
* Only trigger render if comopnent's state got
|
|
10274
|
-
* updated from interval callback
|
|
10275
|
-
*
|
|
10276
|
-
* @param nextProps
|
|
10277
|
-
* @param nextState
|
|
10278
|
-
*/
|
|
10279
|
-
shouldComponentUpdate(nextProps, nextState) {
|
|
10280
|
-
const isSameStatus = nextProps.status === nextState.status;
|
|
10281
|
-
const isSameSize = nextProps.size === nextState.size;
|
|
10282
|
-
return isSameStatus && isSameSize;
|
|
10283
|
-
}
|
|
10284
|
-
|
|
10285
|
-
// Clear interval before destroying component
|
|
10286
|
-
componentWillUnmount() {
|
|
10287
|
-
clearInterval(this.interval);
|
|
10288
|
-
clearTimeout(this.timeout);
|
|
10289
|
-
}
|
|
10290
|
-
runCallBack = statusFromProps => {
|
|
10291
|
-
const {
|
|
10292
|
-
onAnimationCompleted
|
|
10293
|
-
} = this.props;
|
|
10294
|
-
if (onAnimationCompleted) {
|
|
10295
|
-
this.timeouts = setTimeout(() => {
|
|
10296
|
-
onAnimationCompleted(statusFromProps);
|
|
10297
|
-
}, ANIMATION_DURATION_IN_MS);
|
|
10298
|
-
}
|
|
10299
|
-
};
|
|
10300
|
-
render() {
|
|
10301
|
-
const {
|
|
10302
|
-
className,
|
|
10303
|
-
'data-testid': dataTestId
|
|
10304
|
-
} = this.props;
|
|
10305
|
-
const {
|
|
10306
|
-
size,
|
|
10307
|
-
status
|
|
10308
|
-
} = this.state;
|
|
10309
|
-
const classes = classNames__default.default(`process process-${size}`, className, {
|
|
10310
|
-
[`process-danger`]: status === exports.Status.FAILED,
|
|
10311
|
-
[`process-stopped`]: status === exports.Status.HIDDEN,
|
|
10312
|
-
[`process-success`]: status === exports.Status.SUCCEEDED
|
|
10313
|
-
});
|
|
10314
|
-
return /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
10315
|
-
className: classes,
|
|
10316
|
-
"data-testid": dataTestId,
|
|
10317
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
10318
|
-
className: "process-icon-container",
|
|
10319
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10320
|
-
className: "process-icon-horizontal"
|
|
10321
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10322
|
-
className: "process-icon-vertical"
|
|
10323
|
-
})]
|
|
10324
|
-
}), /*#__PURE__*/jsxRuntime.jsx("svg", {
|
|
10325
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
10326
|
-
children: /*#__PURE__*/jsxRuntime.jsx("circle", {
|
|
10327
|
-
className: "process-circle",
|
|
10328
|
-
cx: "50%",
|
|
10329
|
-
cy: "50%",
|
|
10330
|
-
r: radius[this.state.size],
|
|
10331
|
-
fillOpacity: "0.0"
|
|
10332
|
-
})
|
|
10333
|
-
})]
|
|
10334
|
-
});
|
|
10335
|
-
}
|
|
10336
|
-
}
|
|
10337
|
-
ProcessIndicator.propTypes = {
|
|
10338
|
-
status: PropTypes__default.default.oneOf(['processing', 'failed', 'succeeded', 'hidden']),
|
|
10339
|
-
size: PropTypes__default.default.oneOf(['xs', 'sm', 'xl']),
|
|
10340
|
-
onAnimationCompleted: PropTypes__default.default.func,
|
|
10341
|
-
className: PropTypes__default.default.string,
|
|
10342
|
-
'data-testid': PropTypes__default.default.string
|
|
10343
|
-
};
|
|
10344
|
-
ProcessIndicator.defaultProps = {
|
|
10345
|
-
status: exports.Status.PROCESSING,
|
|
10346
|
-
size: exports.Size.SMALL,
|
|
10347
|
-
onAnimationCompleted: null,
|
|
10348
|
-
className: undefined,
|
|
10349
|
-
'data-testid': null
|
|
10350
|
-
};
|
|
10351
|
-
var ProcessIndicator$1 = ProcessIndicator;
|
|
10352
|
-
|
|
10353
10411
|
const Progress = ({
|
|
10354
10412
|
className,
|
|
10355
10413
|
id,
|
|
@@ -15191,6 +15249,7 @@ exports.Section = Section;
|
|
|
15191
15249
|
exports.Select = Select;
|
|
15192
15250
|
exports.SelectInput = SelectInput;
|
|
15193
15251
|
exports.SelectInputOptionContent = SelectInputOptionContent;
|
|
15252
|
+
exports.SelectInputTriggerButton = SelectInputTriggerButton;
|
|
15194
15253
|
exports.SlidingPanel = SlidingPanel$1;
|
|
15195
15254
|
exports.SnackbarConsumer = SnackbarConsumer;
|
|
15196
15255
|
exports.SnackbarContext = SnackbarContext;
|