@cashub/ui 0.9.2 → 0.9.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.
|
@@ -39,8 +39,14 @@ var DatetimePicker = function DatetimePicker(_ref) {
|
|
|
39
39
|
maxDate = _ref.maxDate,
|
|
40
40
|
showTimeInput = _ref.showTimeInput,
|
|
41
41
|
readOnly = _ref.readOnly,
|
|
42
|
-
disabled = _ref.disabled
|
|
42
|
+
disabled = _ref.disabled,
|
|
43
|
+
onBlur = _ref.onBlur;
|
|
43
44
|
var datepickerRef = (0, _react.useRef)(null);
|
|
45
|
+
|
|
46
|
+
var handleOnBlur = function handleOnBlur() {
|
|
47
|
+
onBlur();
|
|
48
|
+
};
|
|
49
|
+
|
|
44
50
|
var datePickerProps = {
|
|
45
51
|
dateFormat: dateFormat,
|
|
46
52
|
disabled: disabled,
|
|
@@ -57,6 +63,10 @@ var DatetimePicker = function DatetimePicker(_ref) {
|
|
|
57
63
|
});
|
|
58
64
|
}
|
|
59
65
|
|
|
66
|
+
if (onBlur) {
|
|
67
|
+
datePickerProps.onCalendarClose = handleOnBlur;
|
|
68
|
+
}
|
|
69
|
+
|
|
60
70
|
(0, _react.useEffect)(function () {
|
|
61
71
|
// set input to readonly
|
|
62
72
|
if (datepickerRef && datepickerRef.current && readOnly) {
|
|
@@ -56,7 +56,8 @@ var ImageDropzone = function ImageDropzone(_ref) {
|
|
|
56
56
|
onAddedFile = _ref.onAddedFile,
|
|
57
57
|
onRemovedFile = _ref.onRemovedFile,
|
|
58
58
|
setDropzoneFunc = _ref.setDropzoneFunc,
|
|
59
|
-
cropper = _ref.cropper
|
|
59
|
+
cropper = _ref.cropper,
|
|
60
|
+
onBlur = _ref.onBlur;
|
|
60
61
|
var inputRef = (0, _react.useRef)(null);
|
|
61
62
|
|
|
62
63
|
var _useState = (0, _react.useState)([]),
|
|
@@ -74,8 +75,16 @@ var ImageDropzone = function ImageDropzone(_ref) {
|
|
|
74
75
|
addedFiles = _useState6[0],
|
|
75
76
|
setAddedFiles = _useState6[1];
|
|
76
77
|
|
|
78
|
+
var refWrapper = (0, _react.useRef)(null);
|
|
79
|
+
|
|
80
|
+
var _useState7 = (0, _react.useState)(false),
|
|
81
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
82
|
+
focus = _useState8[0],
|
|
83
|
+
setFocus = _useState8[1];
|
|
84
|
+
|
|
77
85
|
var handleClick = function handleClick() {
|
|
78
86
|
if (files.length >= maxFiles) return;
|
|
87
|
+
setFocus(false);
|
|
79
88
|
inputRef.current.click();
|
|
80
89
|
};
|
|
81
90
|
|
|
@@ -157,6 +166,7 @@ var ImageDropzone = function ImageDropzone(_ref) {
|
|
|
157
166
|
}, [handleAddFiles]);
|
|
158
167
|
var handleCrop = (0, _react.useCallback)(function (event, index, file) {
|
|
159
168
|
event.stopPropagation();
|
|
169
|
+
setFocus(false);
|
|
160
170
|
cropper.handler({
|
|
161
171
|
file: file,
|
|
162
172
|
src: file.url,
|
|
@@ -212,6 +222,14 @@ var ImageDropzone = function ImageDropzone(_ref) {
|
|
|
212
222
|
var remove = (0, _react.useCallback)(function (index) {
|
|
213
223
|
handleRemoveFile(null, index);
|
|
214
224
|
}, [handleRemoveFile]);
|
|
225
|
+
|
|
226
|
+
var handleBlur = function handleBlur() {
|
|
227
|
+
if (focus) {
|
|
228
|
+
onBlur();
|
|
229
|
+
setFocus(false);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
|
|
215
233
|
(0, _react.useEffect)(function () {
|
|
216
234
|
if (addedFiles.length > 0 && onAddedFile) {
|
|
217
235
|
var startIndex = files.length - addedFiles.length;
|
|
@@ -244,6 +262,12 @@ var ImageDropzone = function ImageDropzone(_ref) {
|
|
|
244
262
|
onDragOver: handleDragOver,
|
|
245
263
|
onDrop: handleDrop,
|
|
246
264
|
reachedLimit: files.length >= maxFiles,
|
|
265
|
+
onBlur: handleBlur,
|
|
266
|
+
onFocus: function onFocus() {
|
|
267
|
+
setFocus(true);
|
|
268
|
+
},
|
|
269
|
+
ref: refWrapper,
|
|
270
|
+
tabIndex: "-1",
|
|
247
271
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_HiddenFileInput.default, {
|
|
248
272
|
multiple: true,
|
|
249
273
|
ref: inputRef,
|
package/image/UploadImage.js
CHANGED
|
@@ -48,6 +48,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
48
48
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
49
49
|
|
|
50
50
|
var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
51
|
+
var _ref$current, _ref$current$files;
|
|
52
|
+
|
|
51
53
|
var id = _ref.id,
|
|
52
54
|
src = _ref.src,
|
|
53
55
|
_ref$alt = _ref.alt,
|
|
@@ -55,7 +57,10 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
55
57
|
_ref$roundedCircle = _ref.roundedCircle,
|
|
56
58
|
roundedCircle = _ref$roundedCircle === void 0 ? false : _ref$roundedCircle,
|
|
57
59
|
cropperHandler = _ref.cropperHandler,
|
|
58
|
-
onBlur = _ref.onBlur
|
|
60
|
+
onBlur = _ref.onBlur,
|
|
61
|
+
onClear = _ref.onClear,
|
|
62
|
+
_ref$allowClear = _ref.allowClear,
|
|
63
|
+
allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear;
|
|
59
64
|
|
|
60
65
|
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
61
66
|
t = _useTranslation.t;
|
|
@@ -160,7 +165,8 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
160
165
|
|
|
161
166
|
var handleBlur = function handleBlur(e) {
|
|
162
167
|
e.preventDefault();
|
|
163
|
-
e.stopPropagation();
|
|
168
|
+
e.stopPropagation(); // if click figure,after click button
|
|
169
|
+
|
|
164
170
|
if (refWrapper.current.contains(e.relatedTarget)) return;
|
|
165
171
|
|
|
166
172
|
if (e.target === refWrapper.current && onBlur) {
|
|
@@ -216,6 +222,10 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
216
222
|
onClick: handleAvatarRemove,
|
|
217
223
|
roundedCircle: roundedCircle,
|
|
218
224
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaTimes, {})
|
|
225
|
+
}), allowClear && src && !(ref !== null && ref !== void 0 && (_ref$current = ref.current) !== null && _ref$current !== void 0 && (_ref$current$files = _ref$current.files) !== null && _ref$current$files !== void 0 && _ref$current$files.length) > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(RemoveIcon, {
|
|
226
|
+
onClick: onClear,
|
|
227
|
+
roundedCircle: roundedCircle,
|
|
228
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaTimes, {})
|
|
219
229
|
})]
|
|
220
230
|
});
|
|
221
231
|
});
|
package/package.json
CHANGED
package/select/Select.js
CHANGED
|
@@ -90,7 +90,8 @@ var Select = function Select(_ref) {
|
|
|
90
90
|
fullWidth = _ref.fullWidth,
|
|
91
91
|
large = _ref.large,
|
|
92
92
|
fill = _ref.fill,
|
|
93
|
-
fillReverse = _ref.fillReverse
|
|
93
|
+
fillReverse = _ref.fillReverse,
|
|
94
|
+
onBlur = _ref.onBlur;
|
|
94
95
|
|
|
95
96
|
var _useState = (0, _react.useState)((0, _lodash.default)('select-')),
|
|
96
97
|
_useState2 = _slicedToArray(_useState, 1),
|
|
@@ -129,20 +130,25 @@ var Select = function Select(_ref) {
|
|
|
129
130
|
focusedOption = _useState14[0],
|
|
130
131
|
setFocusedOption = _useState14[1];
|
|
131
132
|
|
|
132
|
-
var _useState15 = (0, _react.useState)(
|
|
133
|
+
var _useState15 = (0, _react.useState)(false),
|
|
133
134
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
isFocusCombobox = _useState16[0],
|
|
136
|
+
setIsFocusCombobox = _useState16[1];
|
|
136
137
|
|
|
137
|
-
var _useState17 = (0, _react.useState)(
|
|
138
|
+
var _useState17 = (0, _react.useState)([]),
|
|
138
139
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
139
|
-
|
|
140
|
-
|
|
140
|
+
selectedOptions = _useState18[0],
|
|
141
|
+
setSelectedOptions = _useState18[1];
|
|
141
142
|
|
|
142
|
-
var _useState19 = (0, _react.useState)(
|
|
143
|
+
var _useState19 = (0, _react.useState)(options),
|
|
143
144
|
_useState20 = _slicedToArray(_useState19, 2),
|
|
144
|
-
|
|
145
|
-
|
|
145
|
+
filteredOptions = _useState20[0],
|
|
146
|
+
setFilteredOptions = _useState20[1];
|
|
147
|
+
|
|
148
|
+
var _useState21 = (0, _react.useState)(''),
|
|
149
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
150
|
+
search = _useState22[0],
|
|
151
|
+
setSearch = _useState22[1];
|
|
146
152
|
|
|
147
153
|
var _useCustomPopper = (0, _hooks.useCustomPopper)(listBoxElement, dropdownElement),
|
|
148
154
|
styles = _useCustomPopper.styles,
|
|
@@ -229,9 +235,10 @@ var Select = function Select(_ref) {
|
|
|
229
235
|
event.stopPropagation();
|
|
230
236
|
if (disabled === true) return;
|
|
231
237
|
onSelect(value);
|
|
238
|
+
listBoxElement.focus();
|
|
232
239
|
setSearch('');
|
|
233
240
|
setDisplay(false);
|
|
234
|
-
}, [disabled, onSelect]);
|
|
241
|
+
}, [disabled, onSelect, listBoxElement]);
|
|
235
242
|
var handleOnDeselect = (0, _react.useCallback)(function (event, value) {
|
|
236
243
|
event.stopPropagation();
|
|
237
244
|
if (disabled === true) return;
|
|
@@ -407,6 +414,12 @@ var Select = function Select(_ref) {
|
|
|
407
414
|
|
|
408
415
|
var handleSearchChange = function handleSearchChange(event) {
|
|
409
416
|
setSearch(event.target.value);
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
var handleFocus = function handleFocus(e) {
|
|
420
|
+
e.preventDefault();
|
|
421
|
+
e.stopPropagation();
|
|
422
|
+
setIsFocusCombobox(true);
|
|
410
423
|
}; // determine selected option(s)
|
|
411
424
|
|
|
412
425
|
|
|
@@ -541,7 +554,10 @@ var Select = function Select(_ref) {
|
|
|
541
554
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactOutsideClickHandler.default, {
|
|
542
555
|
onOutsideClick: function onOutsideClick() {
|
|
543
556
|
setDisplay(false);
|
|
557
|
+
if (onBlur) onBlur();
|
|
558
|
+
setIsFocusCombobox(false);
|
|
544
559
|
},
|
|
560
|
+
disabled: !isFocusCombobox,
|
|
545
561
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Combobox, {
|
|
546
562
|
role: "combobox",
|
|
547
563
|
tabIndex: "0",
|
|
@@ -558,6 +574,7 @@ var Select = function Select(_ref) {
|
|
|
558
574
|
large: large,
|
|
559
575
|
$fill: fill,
|
|
560
576
|
fillReverse: fillReverse,
|
|
577
|
+
onFocus: handleFocus,
|
|
561
578
|
children: [selectedItem, selectedOptions.length > 0 && !multiple && !disabled && allowClear && /*#__PURE__*/(0, _jsxRuntime.jsx)(CloseButton, {
|
|
562
579
|
onClick: function onClick() {
|
|
563
580
|
onSelect('');
|
|
@@ -23,6 +23,7 @@ var SelectedMultiple = function SelectedMultiple(_ref) {
|
|
|
23
23
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Selected, {
|
|
24
24
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
25
25
|
onClick: onClick,
|
|
26
|
+
"data-testid": "removeOption",
|
|
26
27
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaTimes, {})
|
|
27
28
|
}), content]
|
|
28
29
|
});
|
package/tagify/Tags.js
CHANGED
|
@@ -49,7 +49,7 @@ var Tags = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
49
49
|
});
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .tagify {\n --tags-disabled-bg: var(--font-on-mute);\n --tags-border-color: var(--border-color);\n --tags-hover-border-color: var(--border-color);\n --tags-focus-border-color: var(--color-primary);\n --tag-invalid-color: var(--color-danger);\n --tag-remove-btn-bg--hover: var(--color-danger);\n --input-color: var(--font-on-background);\n\n border-radius: var(--border-radius-l);\n\n .tagify__tag {\n > div::before {\n border-radius: var(--border-radius-l);\n }\n }\n }\n"])));
|
|
52
|
+
var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .tagify {\n --tags-disabled-bg: var(--font-on-mute);\n --tags-border-color: var(--border-color);\n --tags-hover-border-color: var(--border-color);\n --tags-focus-border-color: var(--color-primary);\n --tag-invalid-color: var(--color-danger);\n --tag-remove-btn-bg--hover: var(--color-danger);\n --input-color: var(--font-on-background);\n\n border-radius: var(--border-radius-l);\n width: 100%;\n\n .tagify__tag {\n > div::before {\n border-radius: var(--border-radius-l);\n }\n }\n }\n"])));
|
|
53
53
|
|
|
54
54
|
var _default = Tags;
|
|
55
55
|
exports.default = _default;
|