@tripian/react 8.0.2 → 8.0.4
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/components/PoiSearchAutoComplete/PoiSearchAutoComplete.d.ts +1 -0
- package/components/base/RSelectMultiCustom/RSelectMultiCustom.d.ts +1 -2
- package/components/base/RSelectMultiCustomTT/RSelectMultiCustom.d.ts +15 -0
- package/index.js +77 -27
- package/index.js.map +1 -1
- package/min.css +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@ interface IPoiSearchAutoComplete {
|
|
|
8
8
|
onInputChange?: (input: string) => void;
|
|
9
9
|
onCreateOption: (input: string) => void;
|
|
10
10
|
placeHolder?: string;
|
|
11
|
+
isDisabled?: boolean;
|
|
11
12
|
}
|
|
12
13
|
declare const PoiSearchAutoComplete: React.FC<IPoiSearchAutoComplete>;
|
|
13
14
|
export default PoiSearchAutoComplete;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InputActionMeta } from 'react-select';
|
|
3
2
|
import { RSelectOption } from '../RSelect/RSelect';
|
|
4
3
|
interface IRSelectMultiCustom {
|
|
5
4
|
options: RSelectOption[];
|
|
6
5
|
selectedOptionValues: string[];
|
|
7
6
|
onSelectedOptionChange: (selectedOptions: RSelectOption[]) => void;
|
|
8
|
-
|
|
7
|
+
isSelectAll: boolean;
|
|
9
8
|
placeHolder?: string;
|
|
10
9
|
disabled?: boolean;
|
|
11
10
|
onFocus?: () => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { InputActionMeta } from 'react-select';
|
|
3
|
+
import { RSelectOption } from '../RSelect/RSelect';
|
|
4
|
+
interface IRSelectMultiCustom {
|
|
5
|
+
options: RSelectOption[];
|
|
6
|
+
selectedOptionValues: string[];
|
|
7
|
+
onSelectedOptionChange: (selectedOptions: RSelectOption[]) => void;
|
|
8
|
+
onInputChange?: (newValue: string, actionMeta: InputActionMeta) => void;
|
|
9
|
+
placeHolder?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onFocus?: () => void;
|
|
12
|
+
onBlur?: () => void;
|
|
13
|
+
}
|
|
14
|
+
declare const RSelectMultiCustom: React.FC<IRSelectMultiCustom>;
|
|
15
|
+
export default RSelectMultiCustom;
|
package/index.js
CHANGED
|
@@ -78399,7 +78399,7 @@ var PoiCategories = function (_a) {
|
|
|
78399
78399
|
var selectedOptionValues = selectedPoiCategoryIndexes.map(function (x) { return x.toString(); });
|
|
78400
78400
|
var callBackRSelect = function (selectedOptions) { return setSelectedPoiCategoryIndexes(selectedOptions.map(function (selectedOption) { return Number(selectedOption.value); })); };
|
|
78401
78401
|
return (react_1.default.createElement("div", { className: PoiCategories_scss_1.default.poiCategories },
|
|
78402
|
-
react_1.default.createElement(RSelectMultiCustom_1.default, { options: poiCategoryOptions, selectedOptionValues: selectedOptionValues, onSelectedOptionChange: callBackRSelect, placeHolder: "Select Category" })));
|
|
78402
|
+
react_1.default.createElement(RSelectMultiCustom_1.default, { options: poiCategoryOptions, selectedOptionValues: selectedOptionValues, onSelectedOptionChange: callBackRSelect, placeHolder: "Select Category", isSelectAll: true })));
|
|
78403
78403
|
};
|
|
78404
78404
|
exports.default = PoiCategories;
|
|
78405
78405
|
|
|
@@ -78455,23 +78455,30 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
78455
78455
|
}
|
|
78456
78456
|
return t;
|
|
78457
78457
|
};
|
|
78458
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
78459
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
78460
|
+
if (ar || !(i in from)) {
|
|
78461
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
78462
|
+
ar[i] = from[i];
|
|
78463
|
+
}
|
|
78464
|
+
}
|
|
78465
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
78466
|
+
};
|
|
78458
78467
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
78459
78468
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
78460
78469
|
};
|
|
78461
78470
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
78471
|
+
/* eslint-disable prefer-const */
|
|
78462
78472
|
/* eslint-disable react/destructuring-assignment */
|
|
78463
78473
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
78464
78474
|
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
78465
78475
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
78466
|
-
/* eslint-disable prefer-const */
|
|
78467
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
78468
78476
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
78469
|
-
/* eslint-disable @typescript-eslint/no-
|
|
78477
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
78470
78478
|
var react_1 = __importStar(__webpack_require__(0));
|
|
78471
78479
|
var react_select_1 = __importStar(__webpack_require__(78));
|
|
78472
|
-
var model_1 = __webpack_require__(6);
|
|
78473
|
-
var Icons_1 = __webpack_require__(24);
|
|
78474
78480
|
var RSelectMultiCustom_scss_1 = __importDefault(__webpack_require__(831));
|
|
78481
|
+
var Icons_1 = __webpack_require__(24);
|
|
78475
78482
|
var ValueContainer = function (_a) {
|
|
78476
78483
|
var children = _a.children, props = __rest(_a, ["children"]);
|
|
78477
78484
|
var _b = children, values = _b[0], input = _b[1];
|
|
@@ -78492,24 +78499,65 @@ var ValueContainer = function (_a) {
|
|
|
78492
78499
|
values,
|
|
78493
78500
|
input)));
|
|
78494
78501
|
};
|
|
78495
|
-
var Option = function (_a) {
|
|
78496
|
-
var children = _a.children, props = __rest(_a, ["children"]);
|
|
78497
|
-
return (react_1.default.createElement(react_select_1.components.Option, __assign({}, props),
|
|
78498
|
-
react_1.default.createElement("div", { className: RSelectMultiCustom_scss_1.default.customContainer },
|
|
78499
|
-
react_1.default.createElement("input", { type: "checkbox", checked: props.isSelected, className: RSelectMultiCustom_scss_1.default.checkbox }),
|
|
78500
|
-
children)));
|
|
78501
|
-
};
|
|
78502
78502
|
var RSelectMultiCustom = function (_a) {
|
|
78503
|
-
var options = _a.options, selectedOptionValues = _a.selectedOptionValues, onSelectedOptionChange = _a.onSelectedOptionChange,
|
|
78503
|
+
var options = _a.options, selectedOptionValues = _a.selectedOptionValues, onSelectedOptionChange = _a.onSelectedOptionChange, isSelectAll = _a.isSelectAll, /* onInputChange */ _b = _a.placeHolder, /* onInputChange */ placeHolder = _b === void 0 ? '' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, onFocus = _a.onFocus, onBlur = _a.onBlur;
|
|
78504
|
+
var _d = (0, react_1.useState)(''), selectInput = _d[0], setSelectInput = _d[1];
|
|
78505
|
+
var isAllSelected = (0, react_1.useRef)(false);
|
|
78506
|
+
var allOption = { value: '*', label: 'All' };
|
|
78507
|
+
var comparator = function (v1, v2) { return Number(v1.value) - Number(v2.value); };
|
|
78504
78508
|
var selectedOptions = (0, react_1.useMemo)(function () { return options.filter(function (option) { return selectedOptionValues.includes(option.value); }); }, [selectedOptionValues, options]);
|
|
78509
|
+
var filterOptions = function (opts, input) { return opts === null || opts === void 0 ? void 0 : opts.filter(function (_a) {
|
|
78510
|
+
var label = _a.label;
|
|
78511
|
+
return label.toLowerCase().includes(input.toLowerCase());
|
|
78512
|
+
}); };
|
|
78513
|
+
var filteredOptions = filterOptions(options, selectInput);
|
|
78514
|
+
var filteredSelectedOptions = filterOptions(selectedOptions, selectInput);
|
|
78515
|
+
var Option = function (_a) {
|
|
78516
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
78517
|
+
return (react_1.default.createElement(react_select_1.components.Option, __assign({}, props),
|
|
78518
|
+
react_1.default.createElement("div", { className: RSelectMultiCustom_scss_1.default.customContainer },
|
|
78519
|
+
react_1.default.createElement("input", { type: "checkbox", checked: props.isSelected || isAllSelected.current, className: RSelectMultiCustom_scss_1.default.checkbox, onChange: function () { } }),
|
|
78520
|
+
children)));
|
|
78521
|
+
};
|
|
78522
|
+
var customFilterOption = function (_a, input) {
|
|
78523
|
+
var value = _a.value, label = _a.label;
|
|
78524
|
+
return (value !== '*' && label.toLowerCase().includes(input.toLowerCase())) || (value === '*' && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0);
|
|
78525
|
+
};
|
|
78526
|
+
var onInputChange = function (inputValue, event) {
|
|
78527
|
+
if (event.action === 'input-change')
|
|
78528
|
+
setSelectInput(inputValue);
|
|
78529
|
+
else if (event.action === 'menu-close' && selectInput !== '')
|
|
78530
|
+
setSelectInput('');
|
|
78531
|
+
};
|
|
78532
|
+
var onKeyDown = function (e) {
|
|
78533
|
+
if ((e.key === ' ' || e.key === 'Enter') && !selectInput)
|
|
78534
|
+
e.preventDefault();
|
|
78535
|
+
};
|
|
78505
78536
|
var handleChange = function (newSelectedOptions) {
|
|
78506
|
-
|
|
78537
|
+
if (newSelectedOptions.length > 0 &&
|
|
78538
|
+
!isAllSelected.current &&
|
|
78539
|
+
(newSelectedOptions[newSelectedOptions.length - 1].value === allOption.value || JSON.stringify(filteredOptions) === JSON.stringify(newSelectedOptions.sort(comparator))))
|
|
78540
|
+
return onSelectedOptionChange(__spreadArray(__spreadArray([], (selectedOptions !== null && selectedOptions !== void 0 ? selectedOptions : []), true), options.filter(function (_a) {
|
|
78541
|
+
var label = _a.label;
|
|
78542
|
+
return label.toLowerCase().includes(selectInput === null || selectInput === void 0 ? void 0 : selectInput.toLowerCase()) && (selectedOptions !== null && selectedOptions !== void 0 ? selectedOptions : []).filter(function (opt) { return opt.label === label; }).length === 0;
|
|
78543
|
+
}), true).sort(comparator));
|
|
78544
|
+
if (newSelectedOptions.length > 0 && newSelectedOptions[newSelectedOptions.length - 1].value !== allOption.value && JSON.stringify(newSelectedOptions.sort(comparator)) !== JSON.stringify(filteredOptions))
|
|
78545
|
+
return onSelectedOptionChange(newSelectedOptions);
|
|
78546
|
+
return onSelectedOptionChange(__spreadArray([], selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.filter(function (_a) {
|
|
78547
|
+
var label = _a.label;
|
|
78548
|
+
return !label.toLowerCase().includes(selectInput === null || selectInput === void 0 ? void 0 : selectInput.toLowerCase());
|
|
78549
|
+
}), true));
|
|
78507
78550
|
};
|
|
78508
|
-
|
|
78509
|
-
|
|
78551
|
+
if (isSelectAll && options.length !== 0) {
|
|
78552
|
+
isAllSelected.current = JSON.stringify(filteredSelectedOptions) === JSON.stringify(filteredOptions);
|
|
78553
|
+
return (react_1.default.createElement(react_select_1.default, { value: selectedOptions, onChange: handleChange, onInputChange: onInputChange, options: __spreadArray([allOption], options, true), filterOption: customFilterOption, isMulti: true, isSearchable: false, placeholder: placeHolder, isDisabled: disabled, isClearable: false, className: "trpReactSelectMulti", classNamePrefix: "trpReactSelectMulti", closeMenuOnSelect: false, components: {
|
|
78554
|
+
ValueContainer: ValueContainer,
|
|
78555
|
+
Option: Option,
|
|
78556
|
+
}, onFocus: function () { return onFocus && onFocus(); }, onBlur: function () { return onBlur && onBlur(); }, inputValue: selectInput, onKeyDown: onKeyDown, tabSelectsValue: false, backspaceRemovesValue: false, hideSelectedOptions: false, blurInputOnSelect: false }));
|
|
78557
|
+
}
|
|
78558
|
+
return (react_1.default.createElement(react_select_1.default, { inputValue: selectInput, onInputChange: onInputChange, filterOption: customFilterOption, components: {
|
|
78510
78559
|
ValueContainer: ValueContainer,
|
|
78511
|
-
|
|
78512
|
-
}, onFocus: function () { return onFocus && onFocus(); }, onBlur: function () { return onBlur && onBlur(); } }));
|
|
78560
|
+
}, onKeyDown: onKeyDown, tabSelectsValue: false, hideSelectedOptions: true, backspaceRemovesValue: false, blurInputOnSelect: true }));
|
|
78513
78561
|
};
|
|
78514
78562
|
exports.default = RSelectMultiCustom;
|
|
78515
78563
|
|
|
@@ -78943,24 +78991,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
78943
78991
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
78944
78992
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
78945
78993
|
var react_1 = __importStar(__webpack_require__(0));
|
|
78994
|
+
var model_1 = __webpack_require__(6);
|
|
78946
78995
|
var creatable_1 = __importDefault(__webpack_require__(923));
|
|
78947
78996
|
var react_select_1 = __webpack_require__(78);
|
|
78948
|
-
var model_1 = __webpack_require__(6);
|
|
78949
78997
|
var PoiSearchAutoComplete_scss_1 = __importDefault(__webpack_require__(853));
|
|
78950
|
-
var ValueContainer = function (_a) {
|
|
78951
|
-
var children = _a.children, props = __rest(_a, ["children"]);
|
|
78952
|
-
var _b = children, values = _b[0], input = _b[1];
|
|
78953
|
-
return react_1.default.createElement(react_select_1.components.ValueContainer, __assign({}, props), input);
|
|
78954
|
-
};
|
|
78955
78998
|
var PoiSearchAutoComplete = function (_a) {
|
|
78956
|
-
var inputValue = _a.inputValue, options = _a.options, selectedOptionValues = _a.selectedOptionValues, onSelectedOptionChange = _a.onSelectedOptionChange, onInputChange = _a.onInputChange, onCreateOption = _a.onCreateOption, placeHolder = _a.placeHolder;
|
|
78999
|
+
var inputValue = _a.inputValue, options = _a.options, selectedOptionValues = _a.selectedOptionValues, onSelectedOptionChange = _a.onSelectedOptionChange, onInputChange = _a.onInputChange, onCreateOption = _a.onCreateOption, placeHolder = _a.placeHolder, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b;
|
|
78957
79000
|
var selectedOptions = (0, react_1.useMemo)(function () { return options.filter(function (option) { return selectedOptionValues.includes(option.value); }); }, [selectedOptionValues, options]);
|
|
78958
79001
|
var handleChange = function (newSelectedOptions) {
|
|
78959
79002
|
onSelectedOptionChange(newSelectedOptions);
|
|
78960
79003
|
};
|
|
78961
79004
|
var customFilter = function (option, searchText) { return model_1.helper.toEngChars(option.label).toLowerCase().includes(model_1.helper.toEngChars(searchText).toLowerCase()); };
|
|
79005
|
+
var ValueContainer = function (_a) {
|
|
79006
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
79007
|
+
var _b = children, values = _b[0], input = _b[1];
|
|
79008
|
+
return (react_1.default.createElement(react_select_1.components.ValueContainer, __assign({}, props),
|
|
79009
|
+
react_1.default.createElement("div", { className: PoiSearchAutoComplete_scss_1.default.customContainer }, input)));
|
|
79010
|
+
};
|
|
79011
|
+
var Input = function (props) { return react_1.default.createElement(react_select_1.components.Input, __assign({}, props, { autoComplete: "off", placeholder: placeHolder })); };
|
|
78962
79012
|
return (react_1.default.createElement("div", { className: PoiSearchAutoComplete_scss_1.default.poiSearchAutoComplete },
|
|
78963
|
-
react_1.default.createElement(creatable_1.default, { className: "trpReactCreatableSelectMulti", classNamePrefix: "trpReactCreatableSelectMulti", onCreateOption: onCreateOption, isMulti: true, options: options, value: selectedOptions, filterOption: customFilter, isClearable: false, isSearchable: true, inputValue: inputValue, onChange: handleChange, onInputChange: onInputChange,
|
|
79013
|
+
react_1.default.createElement(creatable_1.default, { className: "trpReactCreatableSelectMulti", classNamePrefix: "trpReactCreatableSelectMulti", onCreateOption: onCreateOption, isMulti: true, options: options, value: selectedOptions, filterOption: customFilter, isClearable: false, isSearchable: true, inputValue: inputValue, onChange: handleChange, onInputChange: onInputChange, components: { ValueContainer: ValueContainer, Input: Input }, formatCreateLabel: function (userInput) { return userInput; }, isDisabled: isDisabled })));
|
|
78964
79014
|
};
|
|
78965
79015
|
exports.default = PoiSearchAutoComplete;
|
|
78966
79016
|
|