@transferwise/components 46.11.0 → 46.13.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/i18n/zh-HK.json +2 -2
- package/build/index.esm.js +67 -153
- package/build/index.esm.js.map +1 -1
- package/build/index.js +67 -153
- package/build/index.js.map +1 -1
- package/build/types/drawer/Drawer.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/modal/Modal.d.ts.map +1 -1
- package/build/types/popover/Popover.d.ts +1 -0
- package/build/types/popover/Popover.d.ts.map +1 -1
- package/build/types/typeahead/Typeahead.d.ts +95 -57
- package/build/types/typeahead/Typeahead.d.ts.map +1 -1
- package/build/types/typeahead/index.d.ts +2 -2
- package/build/types/typeahead/index.d.ts.map +1 -1
- package/build/types/typeahead/typeaheadInput/TypeaheadInput.d.ts +23 -41
- package/build/types/typeahead/typeaheadInput/TypeaheadInput.d.ts.map +1 -1
- package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts +9 -17
- package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts.map +1 -1
- package/build/types/typeahead/util/highlight.d.ts +2 -1
- package/build/types/typeahead/util/highlight.d.ts.map +1 -1
- package/package.json +5 -2
- package/src/drawer/Drawer.js +13 -2
- package/src/drawer/__snapshots__/Drawer.rtl.spec.js.snap +1 -0
- package/src/i18n/zh-HK.json +2 -2
- package/src/index.ts +1 -0
- package/src/modal/Modal.tsx +6 -3
- package/src/popover/Popover.js +7 -3
- package/src/popover/Popover.spec.js +16 -8
- package/src/popover/__snapshots__/Popover.spec.js.snap +0 -56
- package/src/typeahead/{Typeahead.story.js → Typeahead.story.tsx} +8 -7
- package/src/typeahead/{Typeahead.js → Typeahead.tsx} +110 -111
- package/src/typeahead/index.ts +2 -0
- package/src/typeahead/typeaheadInput/TypeaheadInput.spec.js +1 -0
- package/src/typeahead/typeaheadInput/{TypeaheadInput.js → TypeaheadInput.tsx} +35 -46
- package/src/typeahead/typeaheadOption/{TypeaheadOption.js → TypeaheadOption.tsx} +10 -20
- package/src/typeahead/util/{highlight.js → highlight.tsx} +1 -1
- package/src/typeahead/index.js +0 -3
package/build/index.js
CHANGED
|
@@ -1901,6 +1901,7 @@ const Drawer = ({
|
|
|
1901
1901
|
const {
|
|
1902
1902
|
isMobile
|
|
1903
1903
|
} = useLayout();
|
|
1904
|
+
const titleId = reactId.useId();
|
|
1904
1905
|
return /*#__PURE__*/jsxRuntime.jsx(Dimmer$1, {
|
|
1905
1906
|
open: open,
|
|
1906
1907
|
onClose: onClose,
|
|
@@ -1908,13 +1909,16 @@ const Drawer = ({
|
|
|
1908
1909
|
open: open,
|
|
1909
1910
|
position: isMobile ? exports.Position.BOTTOM : position,
|
|
1910
1911
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1911
|
-
className: classNames__default.default('np-drawer', className),
|
|
1912
1912
|
role: "dialog",
|
|
1913
|
+
"aria-modal": true,
|
|
1914
|
+
"aria-labelledby": headerTitle ? titleId : undefined,
|
|
1915
|
+
className: classNames__default.default('np-drawer', className),
|
|
1913
1916
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1914
1917
|
className: classNames__default.default('np-drawer-header', {
|
|
1915
1918
|
'np-drawer-header--withborder': headerTitle
|
|
1916
1919
|
}),
|
|
1917
1920
|
children: [headerTitle && /*#__PURE__*/jsxRuntime.jsx(Title, {
|
|
1921
|
+
id: titleId,
|
|
1918
1922
|
type: exports.Typography.TITLE_BODY,
|
|
1919
1923
|
children: headerTitle
|
|
1920
1924
|
}), /*#__PURE__*/jsxRuntime.jsx(CloseButton, {
|
|
@@ -5956,6 +5960,7 @@ const Modal = ({
|
|
|
5956
5960
|
const isCompact = checkSpecialClasses('compact');
|
|
5957
5961
|
const noDivider = checkSpecialClasses('no-divider');
|
|
5958
5962
|
const contentReference = React.useRef(null);
|
|
5963
|
+
const titleId = reactId.useId();
|
|
5959
5964
|
return !isMedium ? /*#__PURE__*/jsxRuntime.jsx(Drawer$1, {
|
|
5960
5965
|
open: open,
|
|
5961
5966
|
headerTitle: title,
|
|
@@ -5983,11 +5988,12 @@ const Modal = ({
|
|
|
5983
5988
|
className: classNames__default.default('tw-modal', 'd-flex', 'fade', 'outline-none', scroll === exports.Scroll.CONTENT && 'tw-modal--scrollable', className),
|
|
5984
5989
|
...otherProps,
|
|
5985
5990
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5991
|
+
role: "dialog",
|
|
5992
|
+
"aria-modal": true,
|
|
5993
|
+
"aria-labelledby": titleId,
|
|
5986
5994
|
className: classNames__default.default('tw-modal-dialog', 'd-flex', {
|
|
5987
5995
|
[`tw-modal-${size}`]: size
|
|
5988
5996
|
}),
|
|
5989
|
-
"aria-modal": true,
|
|
5990
|
-
role: "dialog",
|
|
5991
5997
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5992
5998
|
className: classNames__default.default('tw-modal-content', 'd-flex', 'flex-column', 'justify-content-between', {
|
|
5993
5999
|
'tw-modal-compact': isCompact,
|
|
@@ -5998,6 +6004,7 @@ const Modal = ({
|
|
|
5998
6004
|
'modal--withoutborder': !title || noDivider
|
|
5999
6005
|
}),
|
|
6000
6006
|
children: [/*#__PURE__*/jsxRuntime.jsx(Title, {
|
|
6007
|
+
id: titleId,
|
|
6001
6008
|
type: exports.Typography.TITLE_BODY,
|
|
6002
6009
|
className: "tw-modal-title",
|
|
6003
6010
|
children: title
|
|
@@ -6027,7 +6034,8 @@ const Popover$1 = ({
|
|
|
6027
6034
|
className,
|
|
6028
6035
|
content,
|
|
6029
6036
|
preferredPlacement,
|
|
6030
|
-
title
|
|
6037
|
+
title,
|
|
6038
|
+
onClose
|
|
6031
6039
|
}) => {
|
|
6032
6040
|
logActionRequired({
|
|
6033
6041
|
preferredPlacement
|
|
@@ -6037,7 +6045,10 @@ const Popover$1 = ({
|
|
|
6037
6045
|
const {
|
|
6038
6046
|
isModern
|
|
6039
6047
|
} = componentsTheming.useTheme();
|
|
6040
|
-
const
|
|
6048
|
+
const handleOnClose = () => {
|
|
6049
|
+
setOpen(false);
|
|
6050
|
+
onClose?.();
|
|
6051
|
+
};
|
|
6041
6052
|
return /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
6042
6053
|
className: classNames__default.default('np-popover', className),
|
|
6043
6054
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
@@ -6057,7 +6068,7 @@ const Popover$1 = ({
|
|
|
6057
6068
|
position: deprecatedPlacements[preferredPlacement] || preferredPlacement,
|
|
6058
6069
|
arrow: true,
|
|
6059
6070
|
className: "np-popover__container",
|
|
6060
|
-
onClose:
|
|
6071
|
+
onClose: handleOnClose,
|
|
6061
6072
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6062
6073
|
className: isModern ? 'np-popover__content np-text-default-body' : 'np-popover__content',
|
|
6063
6074
|
"aria-hidden": !open,
|
|
@@ -6090,6 +6101,7 @@ Popover$1.propTypes = {
|
|
|
6090
6101
|
* `'bottom-right'` / `'bottom-left'` are deprecated use `Position.BOTTOM` / `'bottom'` instead
|
|
6091
6102
|
*/
|
|
6092
6103
|
preferredPlacement: PropTypes__default.default.oneOf(['top', 'right', 'bottom', 'left', 'left-top', 'right-top', 'bottom-right', 'bottom-left']),
|
|
6104
|
+
onClose: PropTypes__default.default.func,
|
|
6093
6105
|
title: PropTypes__default.default.node
|
|
6094
6106
|
};
|
|
6095
6107
|
const deprecatedPlacements = {
|
|
@@ -12244,8 +12256,10 @@ const TextareaWithDisplayFormat = props => /*#__PURE__*/jsxRuntime.jsx(WithDispl
|
|
|
12244
12256
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
12245
12257
|
const DEFAULT_INPUT_MIN_WIDTH = 10;
|
|
12246
12258
|
class TypeaheadInput extends React.Component {
|
|
12247
|
-
|
|
12248
|
-
|
|
12259
|
+
inputRef = /*#__PURE__*/React.createRef();
|
|
12260
|
+
sizerRef = /*#__PURE__*/React.createRef();
|
|
12261
|
+
constructor(props) {
|
|
12262
|
+
super(props);
|
|
12249
12263
|
this.state = {
|
|
12250
12264
|
inputWidth: DEFAULT_INPUT_MIN_WIDTH
|
|
12251
12265
|
};
|
|
@@ -12255,7 +12269,7 @@ class TypeaheadInput extends React.Component {
|
|
|
12255
12269
|
autoFocus
|
|
12256
12270
|
} = this.props;
|
|
12257
12271
|
if (autoFocus) {
|
|
12258
|
-
this.inputRef.focus();
|
|
12272
|
+
this.inputRef.current?.focus();
|
|
12259
12273
|
}
|
|
12260
12274
|
}
|
|
12261
12275
|
componentDidUpdate(previousProps) {
|
|
@@ -12266,7 +12280,7 @@ class TypeaheadInput extends React.Component {
|
|
|
12266
12280
|
recalculateWidth = () => {
|
|
12267
12281
|
requestAnimationFrame(() => {
|
|
12268
12282
|
this.setState({
|
|
12269
|
-
inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.scrollWidth + 10)
|
|
12283
|
+
inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.current?.scrollWidth ?? 0 + 10)
|
|
12270
12284
|
});
|
|
12271
12285
|
});
|
|
12272
12286
|
};
|
|
@@ -12291,9 +12305,7 @@ class TypeaheadInput extends React.Component {
|
|
|
12291
12305
|
} = this.state;
|
|
12292
12306
|
const hasPlaceholder = !multiple || selected.length === 0;
|
|
12293
12307
|
return /*#__PURE__*/jsxRuntime.jsx(Input, {
|
|
12294
|
-
ref:
|
|
12295
|
-
this.inputRef = reference;
|
|
12296
|
-
},
|
|
12308
|
+
ref: this.inputRef,
|
|
12297
12309
|
className: classNames__default.default(multiple && 'typeahead__input'),
|
|
12298
12310
|
name: name,
|
|
12299
12311
|
id: `input-${typeaheadId}`,
|
|
@@ -12326,11 +12338,11 @@ class TypeaheadInput extends React.Component {
|
|
|
12326
12338
|
} = this.props;
|
|
12327
12339
|
return multiple ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
12328
12340
|
className: "form-control typeahead__input-container",
|
|
12329
|
-
style:
|
|
12341
|
+
style: {
|
|
12330
12342
|
maxHeight
|
|
12331
12343
|
},
|
|
12332
12344
|
onClick: () => {
|
|
12333
|
-
this.inputRef.focus();
|
|
12345
|
+
this.inputRef.current?.focus();
|
|
12334
12346
|
},
|
|
12335
12347
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
12336
12348
|
className: "typeahead__input-wrapper",
|
|
@@ -12338,39 +12350,13 @@ class TypeaheadInput extends React.Component {
|
|
|
12338
12350
|
className: "typeahead__input-aligner"
|
|
12339
12351
|
})]
|
|
12340
12352
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
12341
|
-
ref:
|
|
12342
|
-
this.sizerRef = reference;
|
|
12343
|
-
},
|
|
12353
|
+
ref: this.sizerRef,
|
|
12344
12354
|
className: "sizer form-control typeahead__input",
|
|
12345
12355
|
children: value
|
|
12346
12356
|
})]
|
|
12347
12357
|
}) : this.renderInput();
|
|
12348
12358
|
}
|
|
12349
12359
|
}
|
|
12350
|
-
TypeaheadInput.propTypes = {
|
|
12351
|
-
typeaheadId: PropTypes__default.default.string.isRequired,
|
|
12352
|
-
name: PropTypes__default.default.string.isRequired,
|
|
12353
|
-
autoFocus: PropTypes__default.default.bool,
|
|
12354
|
-
multiple: PropTypes__default.default.bool.isRequired,
|
|
12355
|
-
value: PropTypes__default.default.string.isRequired,
|
|
12356
|
-
selected: PropTypes__default.default.arrayOf(PropTypes__default.default.object),
|
|
12357
|
-
placeholder: PropTypes__default.default.string,
|
|
12358
|
-
optionsShown: PropTypes__default.default.bool,
|
|
12359
|
-
maxHeight: PropTypes__default.default.number,
|
|
12360
|
-
autoComplete: PropTypes__default.default.string.isRequired,
|
|
12361
|
-
onChange: PropTypes__default.default.func.isRequired,
|
|
12362
|
-
renderChip: PropTypes__default.default.func.isRequired,
|
|
12363
|
-
onKeyDown: PropTypes__default.default.func.isRequired,
|
|
12364
|
-
onFocus: PropTypes__default.default.func.isRequired,
|
|
12365
|
-
onPaste: PropTypes__default.default.func.isRequired
|
|
12366
|
-
};
|
|
12367
|
-
TypeaheadInput.defaultProps = {
|
|
12368
|
-
autoFocus: false,
|
|
12369
|
-
maxHeight: null,
|
|
12370
|
-
placeholder: '',
|
|
12371
|
-
optionsShown: false,
|
|
12372
|
-
selected: []
|
|
12373
|
-
};
|
|
12374
12360
|
|
|
12375
12361
|
function highlight(value, query) {
|
|
12376
12362
|
if (value && query) {
|
|
@@ -12391,9 +12377,9 @@ function highlight(value, query) {
|
|
|
12391
12377
|
const Option = props => {
|
|
12392
12378
|
const {
|
|
12393
12379
|
option,
|
|
12394
|
-
selected,
|
|
12395
|
-
onClick,
|
|
12396
|
-
query
|
|
12380
|
+
selected = false,
|
|
12381
|
+
onClick = () => {},
|
|
12382
|
+
query = ''
|
|
12397
12383
|
} = props;
|
|
12398
12384
|
const {
|
|
12399
12385
|
label,
|
|
@@ -12423,46 +12409,48 @@ const Option = props => {
|
|
|
12423
12409
|
})
|
|
12424
12410
|
});
|
|
12425
12411
|
};
|
|
12426
|
-
Option.propTypes = {
|
|
12427
|
-
option: PropTypes__default.default.shape({
|
|
12428
|
-
label: PropTypes__default.default.string.isRequired,
|
|
12429
|
-
note: PropTypes__default.default.string,
|
|
12430
|
-
secondary: PropTypes__default.default.string
|
|
12431
|
-
}).isRequired,
|
|
12432
|
-
query: PropTypes__default.default.string,
|
|
12433
|
-
selected: PropTypes__default.default.bool,
|
|
12434
|
-
onClick: PropTypes__default.default.func
|
|
12435
|
-
};
|
|
12436
|
-
Option.defaultProps = {
|
|
12437
|
-
selected: false,
|
|
12438
|
-
query: '',
|
|
12439
|
-
onClick: () => {}
|
|
12440
|
-
};
|
|
12441
|
-
var TypeaheadOption = Option;
|
|
12442
12412
|
|
|
12443
12413
|
/* eslint-disable jsx-a11y/anchor-is-valid */
|
|
12444
12414
|
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
12445
12415
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
12446
|
-
|
|
12447
12416
|
const DEFAULT_MIN_QUERY_LENGTH = 3;
|
|
12448
12417
|
const SEARCH_DELAY = 200;
|
|
12449
12418
|
class Typeahead extends React.Component {
|
|
12419
|
+
static defaultProps = {
|
|
12420
|
+
allowNew: false,
|
|
12421
|
+
autoFillOnBlur: true,
|
|
12422
|
+
autoFocus: false,
|
|
12423
|
+
chipSeparators: [],
|
|
12424
|
+
clearable: true,
|
|
12425
|
+
initialValue: [],
|
|
12426
|
+
inputAutoComplete: 'new-password',
|
|
12427
|
+
minQueryLength: DEFAULT_MIN_QUERY_LENGTH,
|
|
12428
|
+
multiple: false,
|
|
12429
|
+
searchDelay: SEARCH_DELAY,
|
|
12430
|
+
showSuggestions: true,
|
|
12431
|
+
showNewEntry: true,
|
|
12432
|
+
size: exports.Size.MEDIUM,
|
|
12433
|
+
validateChip: () => true
|
|
12434
|
+
};
|
|
12450
12435
|
constructor(props) {
|
|
12451
12436
|
super(props);
|
|
12452
12437
|
const {
|
|
12453
12438
|
searchDelay,
|
|
12454
12439
|
initialValue,
|
|
12455
12440
|
multiple
|
|
12456
|
-
} = props;
|
|
12441
|
+
} = this.props;
|
|
12457
12442
|
this.handleSearchDebounced = debounce__default.default(this.handleSearch, searchDelay);
|
|
12458
12443
|
const initialQuery = !multiple && initialValue.length > 0 ? initialValue[0].label : '';
|
|
12459
12444
|
this.state = {
|
|
12460
12445
|
selected: initialValue,
|
|
12461
12446
|
errorState: false,
|
|
12462
12447
|
query: initialQuery,
|
|
12463
|
-
keyboardFocusedOptionIndex: null
|
|
12448
|
+
keyboardFocusedOptionIndex: null,
|
|
12449
|
+
optionsShown: false,
|
|
12450
|
+
isFocused: false
|
|
12464
12451
|
};
|
|
12465
12452
|
}
|
|
12453
|
+
handleSearchDebounced;
|
|
12466
12454
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
12467
12455
|
if (nextProps.multiple !== this.props.multiple) {
|
|
12468
12456
|
this.setState(previousState => {
|
|
@@ -12476,6 +12464,7 @@ class Typeahead extends React.Component {
|
|
|
12476
12464
|
};
|
|
12477
12465
|
}
|
|
12478
12466
|
return {
|
|
12467
|
+
selected: previousState.selected,
|
|
12479
12468
|
query: ''
|
|
12480
12469
|
};
|
|
12481
12470
|
});
|
|
@@ -12485,13 +12474,8 @@ class Typeahead extends React.Component {
|
|
|
12485
12474
|
this.handleSearchDebounced.cancel();
|
|
12486
12475
|
}
|
|
12487
12476
|
handleOnFocus = () => {
|
|
12488
|
-
const {
|
|
12489
|
-
onFocus
|
|
12490
|
-
} = this.props;
|
|
12491
12477
|
this.showMenu();
|
|
12492
|
-
|
|
12493
|
-
this.props.onFocus();
|
|
12494
|
-
}
|
|
12478
|
+
this.props.onFocus?.();
|
|
12495
12479
|
};
|
|
12496
12480
|
onOptionSelected = (event, item) => {
|
|
12497
12481
|
event.preventDefault();
|
|
@@ -12574,7 +12558,7 @@ class Typeahead extends React.Component {
|
|
|
12574
12558
|
break;
|
|
12575
12559
|
case 'Enter':
|
|
12576
12560
|
event.preventDefault();
|
|
12577
|
-
if (options[keyboardFocusedOptionIndex]) {
|
|
12561
|
+
if (keyboardFocusedOptionIndex != null && options[keyboardFocusedOptionIndex]) {
|
|
12578
12562
|
this.selectItem(options[keyboardFocusedOptionIndex]);
|
|
12579
12563
|
} else if (allowNew && query.trim()) {
|
|
12580
12564
|
this.selectItem({
|
|
@@ -12626,13 +12610,6 @@ class Typeahead extends React.Component {
|
|
|
12626
12610
|
query
|
|
12627
12611
|
});
|
|
12628
12612
|
};
|
|
12629
|
-
stopPropagation = event => {
|
|
12630
|
-
event.stopPropagation();
|
|
12631
|
-
event.preventDefault();
|
|
12632
|
-
if (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) {
|
|
12633
|
-
event.nativeEvent.stopImmediatePropagation();
|
|
12634
|
-
}
|
|
12635
|
-
};
|
|
12636
12613
|
handleSearch = query => {
|
|
12637
12614
|
const {
|
|
12638
12615
|
onSearch
|
|
@@ -12717,7 +12694,7 @@ class Typeahead extends React.Component {
|
|
|
12717
12694
|
}
|
|
12718
12695
|
};
|
|
12719
12696
|
renderChip = (option, idx) => {
|
|
12720
|
-
const valid = this.props.validateChip(option);
|
|
12697
|
+
const valid = this.props.validateChip?.(option);
|
|
12721
12698
|
return /*#__PURE__*/jsxRuntime.jsx(Chip, {
|
|
12722
12699
|
label: option.label,
|
|
12723
12700
|
className: classNames__default.default('m-t-1', {
|
|
@@ -12752,7 +12729,7 @@ class Typeahead extends React.Component {
|
|
|
12752
12729
|
className: "dropdown-menu",
|
|
12753
12730
|
role: "menu",
|
|
12754
12731
|
"aria-labelledby": "dropdownMenu1",
|
|
12755
|
-
children: [optionsToRender.map((option, idx) => /*#__PURE__*/jsxRuntime.jsx(
|
|
12732
|
+
children: [optionsToRender.map((option, idx) => /*#__PURE__*/jsxRuntime.jsx(Option, {
|
|
12756
12733
|
query: query,
|
|
12757
12734
|
option: option,
|
|
12758
12735
|
selected: keyboardFocusedOptionIndex === idx,
|
|
@@ -12795,16 +12772,18 @@ class Typeahead extends React.Component {
|
|
|
12795
12772
|
const menu = this.renderMenu({
|
|
12796
12773
|
footer,
|
|
12797
12774
|
options,
|
|
12775
|
+
id,
|
|
12798
12776
|
keyboardFocusedOptionIndex,
|
|
12799
12777
|
query,
|
|
12800
12778
|
allowNew,
|
|
12801
12779
|
showNewEntry,
|
|
12802
12780
|
dropdownOpen
|
|
12803
12781
|
});
|
|
12804
|
-
const
|
|
12805
|
-
const
|
|
12806
|
-
const
|
|
12807
|
-
const
|
|
12782
|
+
const alertType = alert?.type ?? exports.Sentiment.NEUTRAL;
|
|
12783
|
+
const hasError = errorState || alert && alertType === exports.Sentiment.ERROR;
|
|
12784
|
+
const displayAlert = !errorState && alert || alert && alertType === exports.Sentiment.ERROR;
|
|
12785
|
+
const hasWarning = displayAlert && alertType === exports.Sentiment.WARNING;
|
|
12786
|
+
const hasInfo = displayAlert && alertType === exports.Sentiment.NEUTRAL;
|
|
12808
12787
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
12809
12788
|
id: id,
|
|
12810
12789
|
className: classNames__default.default('typeahead', `typeahead-${size}`, {
|
|
@@ -12813,7 +12792,7 @@ class Typeahead extends React.Component {
|
|
|
12813
12792
|
'typeahead--multiple': multiple,
|
|
12814
12793
|
open: dropdownOpen
|
|
12815
12794
|
}),
|
|
12816
|
-
onClick:
|
|
12795
|
+
onClick: stopPropagation$1,
|
|
12817
12796
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
12818
12797
|
className: classNames__default.default('form-group', {
|
|
12819
12798
|
'has-error': hasError,
|
|
@@ -12834,6 +12813,7 @@ class Typeahead extends React.Component {
|
|
|
12834
12813
|
placeholder,
|
|
12835
12814
|
selected,
|
|
12836
12815
|
maxHeight,
|
|
12816
|
+
id: id,
|
|
12837
12817
|
name: name,
|
|
12838
12818
|
value: query,
|
|
12839
12819
|
typeaheadId: id,
|
|
@@ -12860,72 +12840,6 @@ class Typeahead extends React.Component {
|
|
|
12860
12840
|
});
|
|
12861
12841
|
}
|
|
12862
12842
|
}
|
|
12863
|
-
Typeahead.propTypes = {
|
|
12864
|
-
id: PropTypes__default.default.string.isRequired,
|
|
12865
|
-
name: PropTypes__default.default.string.isRequired,
|
|
12866
|
-
options: PropTypes__default.default.arrayOf(PropTypes__default.default.shape({
|
|
12867
|
-
label: PropTypes__default.default.string.isRequired,
|
|
12868
|
-
note: PropTypes__default.default.string,
|
|
12869
|
-
secondary: PropTypes__default.default.string,
|
|
12870
|
-
value: PropTypes__default.default.object
|
|
12871
|
-
})).isRequired,
|
|
12872
|
-
initialValue: PropTypes__default.default.arrayOf(PropTypes__default.default.shape({
|
|
12873
|
-
label: PropTypes__default.default.string.isRequired,
|
|
12874
|
-
note: PropTypes__default.default.string,
|
|
12875
|
-
secondary: PropTypes__default.default.string
|
|
12876
|
-
})),
|
|
12877
|
-
onChange: PropTypes__default.default.func.isRequired,
|
|
12878
|
-
allowNew: PropTypes__default.default.bool,
|
|
12879
|
-
autoFocus: PropTypes__default.default.bool,
|
|
12880
|
-
clearable: PropTypes__default.default.bool,
|
|
12881
|
-
multiple: PropTypes__default.default.bool,
|
|
12882
|
-
showSuggestions: PropTypes__default.default.bool,
|
|
12883
|
-
showNewEntry: PropTypes__default.default.bool,
|
|
12884
|
-
searchDelay: PropTypes__default.default.number,
|
|
12885
|
-
maxHeight: PropTypes__default.default.number,
|
|
12886
|
-
minQueryLength: PropTypes__default.default.number,
|
|
12887
|
-
addon: PropTypes__default.default.node,
|
|
12888
|
-
placeholder: PropTypes__default.default.string,
|
|
12889
|
-
alert: PropTypes__default.default.shape({
|
|
12890
|
-
message: PropTypes__default.default.string.isRequired,
|
|
12891
|
-
type: PropTypes__default.default.oneOf(['error', 'warning', 'neutral']).isRequired
|
|
12892
|
-
}),
|
|
12893
|
-
footer: PropTypes__default.default.node,
|
|
12894
|
-
validateChip: PropTypes__default.default.func,
|
|
12895
|
-
onSearch: PropTypes__default.default.func,
|
|
12896
|
-
onBlur: PropTypes__default.default.func,
|
|
12897
|
-
onInputChange: PropTypes__default.default.func,
|
|
12898
|
-
onFocus: PropTypes__default.default.func,
|
|
12899
|
-
chipSeparators: PropTypes__default.default.arrayOf(PropTypes__default.default.string),
|
|
12900
|
-
size: PropTypes__default.default.oneOf(['md', 'lg']),
|
|
12901
|
-
inputAutoComplete: PropTypes__default.default.string,
|
|
12902
|
-
autoFillOnBlur: PropTypes__default.default.bool
|
|
12903
|
-
};
|
|
12904
|
-
Typeahead.defaultProps = {
|
|
12905
|
-
allowNew: false,
|
|
12906
|
-
autoFocus: false,
|
|
12907
|
-
clearable: true,
|
|
12908
|
-
multiple: false,
|
|
12909
|
-
maxHeight: null,
|
|
12910
|
-
showSuggestions: true,
|
|
12911
|
-
showNewEntry: true,
|
|
12912
|
-
searchDelay: SEARCH_DELAY,
|
|
12913
|
-
minQueryLength: DEFAULT_MIN_QUERY_LENGTH,
|
|
12914
|
-
addon: null,
|
|
12915
|
-
placeholder: null,
|
|
12916
|
-
alert: null,
|
|
12917
|
-
footer: null,
|
|
12918
|
-
size: exports.Size.MEDIUM,
|
|
12919
|
-
chipSeparators: [],
|
|
12920
|
-
initialValue: [],
|
|
12921
|
-
onSearch: null,
|
|
12922
|
-
onBlur: null,
|
|
12923
|
-
onInputChange: null,
|
|
12924
|
-
onFocus: null,
|
|
12925
|
-
validateChip: () => true,
|
|
12926
|
-
inputAutoComplete: 'new-password',
|
|
12927
|
-
autoFillOnBlur: true
|
|
12928
|
-
};
|
|
12929
12843
|
|
|
12930
12844
|
// TODO: consider to move this enum into component file once we migrate it on TypeScript or replace with some common enum
|
|
12931
12845
|
exports.UploadStep = void 0;
|
|
@@ -15474,10 +15388,10 @@ var zhHK = {
|
|
|
15474
15388
|
"neptune.ClearButton.ariaLabel": "清除",
|
|
15475
15389
|
"neptune.CloseButton.ariaLabel": "關閉",
|
|
15476
15390
|
"neptune.DateInput.day.label": "日",
|
|
15477
|
-
"neptune.DateInput.day.placeholder": "
|
|
15391
|
+
"neptune.DateInput.day.placeholder": "DD",
|
|
15478
15392
|
"neptune.DateInput.month.label": "月",
|
|
15479
15393
|
"neptune.DateInput.year.label": "年",
|
|
15480
|
-
"neptune.DateInput.year.placeholder": "
|
|
15394
|
+
"neptune.DateInput.year.placeholder": "YYYY",
|
|
15481
15395
|
"neptune.DateLookup.day": "日",
|
|
15482
15396
|
"neptune.DateLookup.goTo20YearView": "切換至20年視圖",
|
|
15483
15397
|
"neptune.DateLookup.month": "月",
|