@decisiv/ui-components 2.0.1-alpha.75 → 2.0.1-alpha.84
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/lib/atoms/InputField/Containers.d.ts +7 -2
- package/lib/atoms/InputField/Containers.d.ts.map +1 -1
- package/lib/atoms/InputField/Containers.js +5 -5
- package/lib/atoms/InputField/InputLabel.d.ts +1 -0
- package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
- package/lib/atoms/InputField/InputLabel.js +2 -1
- package/lib/atoms/InputField/index.d.ts +3 -0
- package/lib/atoms/InputField/index.d.ts.map +1 -1
- package/lib/atoms/InputField/index.js +17 -4
- package/lib/atoms/InputField/schema.d.ts.map +1 -1
- package/lib/atoms/InputField/schema.js +1 -0
- package/lib/components/Combobox/Target.d.ts.map +1 -1
- package/lib/components/Combobox/Target.js +3 -4
- package/lib/components/Combobox/index.test.js +122 -98
- package/lib/components/Select/Target.js +1 -1
- package/lib/components/Select/index.d.ts.map +1 -1
- package/lib/components/Select/index.js +17 -0
- package/lib/components/Select/index.test.js +82 -23
- package/lib/components/Select/schema.d.ts.map +1 -1
- package/lib/components/Select/schema.js +2 -0
- package/lib/components/Select/types.d.ts +2 -0
- package/lib/components/Select/types.d.ts.map +1 -1
- package/lib/components/SelectDate/Target.js +1 -1
- package/lib/components/SelectDate/index.d.ts.map +1 -1
- package/lib/components/SelectDate/index.js +17 -0
- package/lib/components/SelectDate/index.test.js +108 -51
- package/lib/components/SelectDate/schema.d.ts.map +1 -1
- package/lib/components/SelectDate/schema.js +2 -0
- package/lib/components/SelectDate/types.d.ts +2 -0
- package/lib/components/SelectDate/types.d.ts.map +1 -1
- package/lib/components/SelectDateRange/index.d.ts.map +1 -1
- package/lib/components/SelectDateRange/index.js +17 -0
- package/lib/components/SelectDateRange/index.test.js +115 -58
- package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
- package/lib/components/SelectDateRange/schema.js +2 -0
- package/lib/components/TextArea/index.js +1 -0
- package/lib/components/TextArea/index.test.js +5 -0
- package/lib/components/TextField/Input.js +1 -1
- package/lib/components/TextField/index.test.js +5 -0
- package/lib/utils/useFirstMount.d.ts +2 -0
- package/lib/utils/useFirstMount.d.ts.map +1 -0
- package/lib/utils/useFirstMount.js +19 -0
- package/lib/utils/useUpdateEffect.d.ts +4 -0
- package/lib/utils/useUpdateEffect.d.ts.map +1 -0
- package/lib/utils/useUpdateEffect.js +28 -0
- package/package.json +2 -2
|
@@ -45,6 +45,8 @@ var _useTranslations = _interopRequireDefault(require("../../utils/useTranslatio
|
|
|
45
45
|
|
|
46
46
|
var _useUniqueId = _interopRequireDefault(require("../../utils/useUniqueId"));
|
|
47
47
|
|
|
48
|
+
var _useUpdateEffect = _interopRequireDefault(require("../../utils/useUpdateEffect"));
|
|
49
|
+
|
|
48
50
|
var _Calendar = _interopRequireWildcard(require("../../atoms/Calendar"));
|
|
49
51
|
|
|
50
52
|
var _InputField = _interopRequireDefault(require("../../atoms/InputField"));
|
|
@@ -104,6 +106,8 @@ function SelectDateRange(props, ref) {
|
|
|
104
106
|
onRangeChange = props.onRangeChange,
|
|
105
107
|
onClick = props.onClick,
|
|
106
108
|
onKeyDown = props.onKeyDown,
|
|
109
|
+
onShow = props.onShow,
|
|
110
|
+
onHide = props.onHide,
|
|
107
111
|
propValue = props.values,
|
|
108
112
|
propRange = props.range,
|
|
109
113
|
disabledDateRules = props.disabledDateRules,
|
|
@@ -247,6 +251,19 @@ function SelectDateRange(props, ref) {
|
|
|
247
251
|
}, [closePopover]);
|
|
248
252
|
(0, _useClickOutside.default)([popoverContentRef], handleClickOutsidePopover);
|
|
249
253
|
var inputContainerRefs = (0, _compact.default)([inputContainerRef, popoverTargetRef]);
|
|
254
|
+
/**
|
|
255
|
+
* Triggers onShow/onHide callbacks representing wether the Popover is open or not.
|
|
256
|
+
*/
|
|
257
|
+
|
|
258
|
+
(0, _useUpdateEffect.default)(function () {
|
|
259
|
+
if (isPopoverVisible) {
|
|
260
|
+
onShow && onShow();
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (!isPopoverVisible) {
|
|
264
|
+
onHide && onHide();
|
|
265
|
+
}
|
|
266
|
+
}, [isPopoverVisible, onShow, onHide]);
|
|
250
267
|
return _react.default.createElement(_InputField.default, _extends({}, (0, _omit.default)(props, ['onChange']), {
|
|
251
268
|
"aria-live": "assertive",
|
|
252
269
|
cursor: "default",
|
|
@@ -95,16 +95,36 @@ describe('SelectDateRange', function () {
|
|
|
95
95
|
|
|
96
96
|
expect(queryByText(defaultProps.label)).toBeInTheDocument();
|
|
97
97
|
});
|
|
98
|
+
describe('when label is hidden', function () {
|
|
99
|
+
it('does not display the label element', function () {
|
|
100
|
+
var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
101
|
+
hideLabel: true
|
|
102
|
+
}))),
|
|
103
|
+
getByText = _render2.getByText;
|
|
104
|
+
|
|
105
|
+
expect(getByText(defaultProps.label, {
|
|
106
|
+
selector: 'span'
|
|
107
|
+
})).not.toBeVisible();
|
|
108
|
+
});
|
|
109
|
+
it('does display the input related to the label', function () {
|
|
110
|
+
var _render3 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
111
|
+
hideLabel: true
|
|
112
|
+
}))),
|
|
113
|
+
getByLabelText = _render3.getByLabelText;
|
|
114
|
+
|
|
115
|
+
expect(getByLabelText(defaultProps.label)).toBeVisible();
|
|
116
|
+
});
|
|
117
|
+
});
|
|
98
118
|
it('renders the calendar icon', function () {
|
|
99
119
|
var _rtlRender = (0, _react2.render)(_react.default.createElement(_Calendar.default, null)),
|
|
100
120
|
iconContainer = _rtlRender.container;
|
|
101
121
|
|
|
102
122
|
var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
|
|
103
123
|
|
|
104
|
-
var
|
|
124
|
+
var _render4 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
105
125
|
icon: _Calendar.default
|
|
106
126
|
}))),
|
|
107
|
-
container =
|
|
127
|
+
container = _render4.container; // There will be other icons rendered as well, like the expanded indicator.
|
|
108
128
|
// The Calendar icon should be first in the render tree.
|
|
109
129
|
|
|
110
130
|
|
|
@@ -117,8 +137,8 @@ describe('SelectDateRange', function () {
|
|
|
117
137
|
|
|
118
138
|
var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
|
|
119
139
|
|
|
120
|
-
var
|
|
121
|
-
container =
|
|
140
|
+
var _render5 = render(_react.default.createElement(_.default, defaultProps)),
|
|
141
|
+
container = _render5.container; // With no value rendered and no icon prop provided, the expanded indicator
|
|
122
142
|
// will be first in the render tree.
|
|
123
143
|
|
|
124
144
|
|
|
@@ -132,10 +152,10 @@ describe('SelectDateRange', function () {
|
|
|
132
152
|
|
|
133
153
|
var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
|
|
134
154
|
|
|
135
|
-
var
|
|
136
|
-
baseElement =
|
|
137
|
-
container =
|
|
138
|
-
getByText =
|
|
155
|
+
var _render6 = render(_react.default.createElement(_.default, defaultProps)),
|
|
156
|
+
baseElement = _render6.baseElement,
|
|
157
|
+
container = _render6.container,
|
|
158
|
+
getByText = _render6.getByText;
|
|
139
159
|
|
|
140
160
|
expect((0, _react2.queryByText)(baseElement, /today/i)).not.toBeInTheDocument();
|
|
141
161
|
var label = getByText(defaultProps.label);
|
|
@@ -146,12 +166,49 @@ describe('SelectDateRange', function () {
|
|
|
146
166
|
expect(expandedIconPathD).toEqual(iconPathD);
|
|
147
167
|
expect((0, _react2.queryByText)(baseElement, /today/i)).toBeInTheDocument();
|
|
148
168
|
});
|
|
169
|
+
it('triggers onShow callback', function () {
|
|
170
|
+
var onShow = jest.fn();
|
|
171
|
+
|
|
172
|
+
var _render7 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
173
|
+
onShow: onShow
|
|
174
|
+
}))),
|
|
175
|
+
queryByText = _render7.queryByText;
|
|
176
|
+
|
|
177
|
+
expect(onShow).not.toHaveBeenCalled();
|
|
178
|
+
var label = queryByText(defaultProps.label);
|
|
179
|
+
|
|
180
|
+
_react2.fireEvent.click(label);
|
|
181
|
+
|
|
182
|
+
expect(onShow).toHaveBeenCalled();
|
|
183
|
+
});
|
|
184
|
+
it('triggers onHide callback', function () {
|
|
185
|
+
var onHide = jest.fn();
|
|
186
|
+
|
|
187
|
+
var _render8 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
188
|
+
onHide: onHide
|
|
189
|
+
}))),
|
|
190
|
+
queryByText = _render8.queryByText;
|
|
191
|
+
|
|
192
|
+
expect(onHide).not.toHaveBeenCalled();
|
|
193
|
+
var label = queryByText(defaultProps.label);
|
|
194
|
+
|
|
195
|
+
_react2.fireEvent.click(label);
|
|
196
|
+
|
|
197
|
+
_react2.fireEvent.keyDown(label, {
|
|
198
|
+
key: 'Escape',
|
|
199
|
+
code: 'Escape',
|
|
200
|
+
keyCode: 27,
|
|
201
|
+
charCode: 27
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
expect(onHide).toHaveBeenCalled();
|
|
205
|
+
});
|
|
149
206
|
});
|
|
150
207
|
describe('when clicking the InputField value button', function () {
|
|
151
208
|
it('opens a popover with the calendar', function () {
|
|
152
|
-
var
|
|
153
|
-
baseElement =
|
|
154
|
-
getByLabelText =
|
|
209
|
+
var _render9 = render(_react.default.createElement(_.default, defaultProps)),
|
|
210
|
+
baseElement = _render9.baseElement,
|
|
211
|
+
getByLabelText = _render9.getByLabelText;
|
|
155
212
|
|
|
156
213
|
expect((0, _react2.queryByText)(baseElement, /today/i)).not.toBeInTheDocument();
|
|
157
214
|
var valueButton = getByLabelText(defaultProps.label);
|
|
@@ -163,9 +220,9 @@ describe('SelectDateRange', function () {
|
|
|
163
220
|
});
|
|
164
221
|
describe('when the calendar popover is open', function () {
|
|
165
222
|
it('renders the calendar', function () {
|
|
166
|
-
var
|
|
167
|
-
baseElement =
|
|
168
|
-
getByText =
|
|
223
|
+
var _render10 = render(_react.default.createElement(_.default, defaultProps)),
|
|
224
|
+
baseElement = _render10.baseElement,
|
|
225
|
+
getByText = _render10.getByText;
|
|
169
226
|
|
|
170
227
|
var today = new Date();
|
|
171
228
|
var lastDateInMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0);
|
|
@@ -209,9 +266,9 @@ describe('SelectDateRange', function () {
|
|
|
209
266
|
}
|
|
210
267
|
});
|
|
211
268
|
it('renders apply, cancel and clear buttons inside the popover', function () {
|
|
212
|
-
var
|
|
213
|
-
baseElement =
|
|
214
|
-
getByLabelText =
|
|
269
|
+
var _render11 = render(_react.default.createElement(_.default, defaultProps)),
|
|
270
|
+
baseElement = _render11.baseElement,
|
|
271
|
+
getByLabelText = _render11.getByLabelText;
|
|
215
272
|
|
|
216
273
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
217
274
|
|
|
@@ -220,10 +277,10 @@ describe('SelectDateRange', function () {
|
|
|
220
277
|
expect((0, _react2.queryByText)(baseElement, /clear/i)).toBeInTheDocument();
|
|
221
278
|
});
|
|
222
279
|
it('enables apply button only when selection is complete', function () {
|
|
223
|
-
var
|
|
224
|
-
baseElement =
|
|
225
|
-
getByLabelText =
|
|
226
|
-
getByText =
|
|
280
|
+
var _render12 = render(_react.default.createElement(_.default, defaultProps)),
|
|
281
|
+
baseElement = _render12.baseElement,
|
|
282
|
+
getByLabelText = _render12.getByLabelText,
|
|
283
|
+
getByText = _render12.getByText;
|
|
227
284
|
|
|
228
285
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
229
286
|
|
|
@@ -244,9 +301,9 @@ describe('SelectDateRange', function () {
|
|
|
244
301
|
});
|
|
245
302
|
describe('when navigating with the calendar controls', function () {
|
|
246
303
|
it('does NOT close the popover after each click', function () {
|
|
247
|
-
var
|
|
248
|
-
baseElement =
|
|
249
|
-
getByText =
|
|
304
|
+
var _render13 = render(_react.default.createElement(_.default, defaultProps)),
|
|
305
|
+
baseElement = _render13.baseElement,
|
|
306
|
+
getByText = _render13.getByText; // open the calendar popover
|
|
250
307
|
|
|
251
308
|
|
|
252
309
|
_react2.fireEvent.click(getByText(defaultProps.label)); // the "today" button is a part of the calendar controls
|
|
@@ -271,11 +328,11 @@ describe('SelectDateRange', function () {
|
|
|
271
328
|
});
|
|
272
329
|
describe('when clearing the value with the clear button inside the popover', function () {
|
|
273
330
|
it('does not closes the popover after click', function () {
|
|
274
|
-
var
|
|
331
|
+
var _render14 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
275
332
|
defaultValue: []
|
|
276
333
|
}))),
|
|
277
|
-
baseElement =
|
|
278
|
-
getByLabelText =
|
|
334
|
+
baseElement = _render14.baseElement,
|
|
335
|
+
getByLabelText = _render14.getByLabelText;
|
|
279
336
|
|
|
280
337
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
281
338
|
|
|
@@ -288,13 +345,13 @@ describe('SelectDateRange', function () {
|
|
|
288
345
|
it('calls the onChange prop with `undefined`', function () {
|
|
289
346
|
var onChange = jest.fn();
|
|
290
347
|
|
|
291
|
-
var
|
|
348
|
+
var _render15 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
292
349
|
defaultValue: [],
|
|
293
350
|
onChange: onChange
|
|
294
351
|
}))),
|
|
295
|
-
baseElement =
|
|
296
|
-
getByLabelText =
|
|
297
|
-
queryByLabelText =
|
|
352
|
+
baseElement = _render15.baseElement,
|
|
353
|
+
getByLabelText = _render15.getByLabelText,
|
|
354
|
+
queryByLabelText = _render15.queryByLabelText;
|
|
298
355
|
|
|
299
356
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
300
357
|
|
|
@@ -315,10 +372,10 @@ describe('SelectDateRange', function () {
|
|
|
315
372
|
_createDateRange2 = _slicedToArray(_createDateRange, 2),
|
|
316
373
|
endDate = _createDateRange2[1];
|
|
317
374
|
|
|
318
|
-
var
|
|
319
|
-
baseElement =
|
|
320
|
-
getByLabelText =
|
|
321
|
-
queryByLabelText =
|
|
375
|
+
var _render16 = render(_react.default.createElement(_.default, defaultProps)),
|
|
376
|
+
baseElement = _render16.baseElement,
|
|
377
|
+
getByLabelText = _render16.getByLabelText,
|
|
378
|
+
queryByLabelText = _render16.queryByLabelText;
|
|
322
379
|
|
|
323
380
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
324
381
|
|
|
@@ -335,9 +392,9 @@ describe('SelectDateRange', function () {
|
|
|
335
392
|
it('does not close the calendar popover', function () {
|
|
336
393
|
var today = new Date();
|
|
337
394
|
|
|
338
|
-
var
|
|
339
|
-
baseElement =
|
|
340
|
-
getByLabelText =
|
|
395
|
+
var _render17 = render(_react.default.createElement(_.default, defaultProps)),
|
|
396
|
+
baseElement = _render17.baseElement,
|
|
397
|
+
getByLabelText = _render17.getByLabelText;
|
|
341
398
|
|
|
342
399
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
343
400
|
|
|
@@ -358,11 +415,11 @@ describe('SelectDateRange', function () {
|
|
|
358
415
|
_createDateRange4 = _slicedToArray(_createDateRange3, 2),
|
|
359
416
|
endDate = _createDateRange4[1];
|
|
360
417
|
|
|
361
|
-
var
|
|
418
|
+
var _render18 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
362
419
|
onRangeChange: onRangeChange
|
|
363
420
|
}))),
|
|
364
|
-
baseElement =
|
|
365
|
-
getByLabelText =
|
|
421
|
+
baseElement = _render18.baseElement,
|
|
422
|
+
getByLabelText = _render18.getByLabelText;
|
|
366
423
|
|
|
367
424
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
368
425
|
|
|
@@ -391,10 +448,10 @@ describe('SelectDateRange', function () {
|
|
|
391
448
|
var endDate = new Date();
|
|
392
449
|
endDate.setDate(startDate.getDate() + 2);
|
|
393
450
|
|
|
394
|
-
var
|
|
451
|
+
var _render19 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
395
452
|
values: [startDate, endDate]
|
|
396
453
|
}))),
|
|
397
|
-
container =
|
|
454
|
+
container = _render19.container;
|
|
398
455
|
|
|
399
456
|
var clearButtonIconPathD = container.querySelectorAll('svg path')[0].getAttribute('d');
|
|
400
457
|
expect(clearButtonIconPathD).toEqual(iconPathD);
|
|
@@ -402,10 +459,10 @@ describe('SelectDateRange', function () {
|
|
|
402
459
|
it('renders the date in the correct format', function () {
|
|
403
460
|
var value = createDateRange(new Date(), -2);
|
|
404
461
|
|
|
405
|
-
var
|
|
462
|
+
var _render20 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
406
463
|
values: value
|
|
407
464
|
}))),
|
|
408
|
-
getByLabelText =
|
|
465
|
+
getByLabelText = _render20.getByLabelText;
|
|
409
466
|
|
|
410
467
|
expect(getByLabelText(defaultProps.label)).toHaveTextContent(formatDateRange(value));
|
|
411
468
|
});
|
|
@@ -413,14 +470,14 @@ describe('SelectDateRange', function () {
|
|
|
413
470
|
var onChange = jest.fn();
|
|
414
471
|
var value = createDateRange(new Date(2020, 1, 15), 2);
|
|
415
472
|
|
|
416
|
-
var
|
|
473
|
+
var _render21 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
417
474
|
onChange: onChange,
|
|
418
475
|
values: value
|
|
419
476
|
}))),
|
|
420
|
-
baseElement =
|
|
421
|
-
rerender =
|
|
422
|
-
getByLabelText =
|
|
423
|
-
queryByText =
|
|
477
|
+
baseElement = _render21.baseElement,
|
|
478
|
+
rerender = _render21.rerender,
|
|
479
|
+
getByLabelText = _render21.getByLabelText,
|
|
480
|
+
queryByText = _render21.queryByText;
|
|
424
481
|
|
|
425
482
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
426
483
|
|
|
@@ -455,12 +512,12 @@ describe('SelectDateRange', function () {
|
|
|
455
512
|
var onChange = jest.fn();
|
|
456
513
|
var value = createDateRange(new Date(2020, 1, 15), 2);
|
|
457
514
|
|
|
458
|
-
var
|
|
515
|
+
var _render22 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
459
516
|
onChange: onChange,
|
|
460
517
|
values: value
|
|
461
518
|
}))),
|
|
462
|
-
baseElement =
|
|
463
|
-
getByLabelText =
|
|
519
|
+
baseElement = _render22.baseElement,
|
|
520
|
+
getByLabelText = _render22.getByLabelText;
|
|
464
521
|
|
|
465
522
|
_react2.fireEvent.click(getByLabelText(defaultProps.label));
|
|
466
523
|
|
|
@@ -475,10 +532,10 @@ describe('SelectDateRange', function () {
|
|
|
475
532
|
it('initializes with the default value', function () {
|
|
476
533
|
var value = createDateRange(new Date(2020, 1, 15));
|
|
477
534
|
|
|
478
|
-
var
|
|
535
|
+
var _render23 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
479
536
|
defaultValue: value
|
|
480
537
|
}))),
|
|
481
|
-
getByLabelText =
|
|
538
|
+
getByLabelText = _render23.getByLabelText;
|
|
482
539
|
|
|
483
540
|
expect(getByLabelText(defaultProps.label)).toHaveTextContent(formatDateRange(value));
|
|
484
541
|
});
|
|
@@ -486,12 +543,12 @@ describe('SelectDateRange', function () {
|
|
|
486
543
|
var onRangeChange = jest.fn();
|
|
487
544
|
var value = createDateRange(new Date(2020, 1, 15));
|
|
488
545
|
|
|
489
|
-
var
|
|
546
|
+
var _render24 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
490
547
|
onRangeChange: onRangeChange,
|
|
491
548
|
defaultValue: value
|
|
492
549
|
}))),
|
|
493
|
-
baseElement =
|
|
494
|
-
getByLabelText =
|
|
550
|
+
baseElement = _render24.baseElement,
|
|
551
|
+
getByLabelText = _render24.getByLabelText;
|
|
495
552
|
|
|
496
553
|
var _value2 = _slicedToArray(value, 2),
|
|
497
554
|
endDate = _value2[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDateRange/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDateRange/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAsC,CAAC;AA2CnD,eAAe,MAAM,CAAC"}
|
|
@@ -26,6 +26,8 @@ schema.propTypes = _objectSpread({}, (0, _omit.default)(_InputField.schema.makeP
|
|
|
26
26
|
clearButtonLabel: _reactDesc.PropTypes.string.description("A hidden label value for the clear button. The select component's label is available within the string for clarity.").defaultValue('Clear {label} value'),
|
|
27
27
|
defaultValues: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.instanceOf(Date)).description('An array of two `Date` values indicating the start and the end of the range that should be selected by default.'),
|
|
28
28
|
onChange: _reactDesc.PropTypes.func.description('Called with an array of two `Date` values indicating the start and the end of the selected range when the `apply` button is clicked or with `undefined` when the value is cleared'),
|
|
29
|
+
onHide: _reactDesc.PropTypes.func.description('A callback which is triggered when the popover is closed'),
|
|
30
|
+
onShow: _reactDesc.PropTypes.func.description('A callback which is triggered when the popover is opened'),
|
|
29
31
|
values: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.instanceOf(Date)).description('An array of two `Date` values indicating the start and the end of the range. If provided, controlling the SelectDateRange must be handled externally. Overrides `defaultValues`.'),
|
|
30
32
|
onRangeChange: _reactDesc.PropTypes.func.description("Called when dates are being selected and the calendar is open. It's called with an array that contains one or two values depending of selected dates or undefined when it is cleared. Used along with `range` when controlling the selection of dates"),
|
|
31
33
|
range: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.instanceOf(Date)).description('An array of two `Date` values indicating the start and the end of the range being selected when the calendar is open. Used when controlling the selection of dates'),
|
|
@@ -21,6 +21,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
21
21
|
|
|
22
22
|
function TextField(props, ref) {
|
|
23
23
|
return _react.default.createElement(_InputField.default, _extends({}, props, {
|
|
24
|
+
isTextArea: true,
|
|
24
25
|
overflow: "auto",
|
|
25
26
|
ref: ref
|
|
26
27
|
}), function (p) {
|
|
@@ -100,6 +100,11 @@ describe('TextArea', function () {
|
|
|
100
100
|
props: _objectSpread({}, defaultProps, {
|
|
101
101
|
disabled: true
|
|
102
102
|
})
|
|
103
|
+
}, {
|
|
104
|
+
test: 'when label hidden',
|
|
105
|
+
props: _objectSpread({}, defaultProps, {
|
|
106
|
+
hideLabel: true
|
|
107
|
+
})
|
|
103
108
|
}, {
|
|
104
109
|
test: 'when readOnly',
|
|
105
110
|
props: _objectSpread({}, defaultProps, {
|
|
@@ -16,7 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
16
16
|
var Input = _styledComponents.default.input.withConfig({
|
|
17
17
|
displayName: "Input",
|
|
18
18
|
componentId: "sc-1vtz9kb-0"
|
|
19
|
-
})(["font-family:", ";font-size:", ";font-weight:", ";overflow:visible;&::-moz-focus-inner{border:0;padding:0;margin:0;}background-color:inherit;border:transparent;display:block;line-height:140%;padding:
|
|
19
|
+
})(["font-family:", ";font-size:", ";font-weight:", ";overflow:visible;&::-moz-focus-inner{border:0;padding:0;margin:0;}background-color:inherit;border:transparent;display:block;line-height:140%;padding:0 10px 6px 1px;width:100%;&:active,&:focus{outline:none;}"], _designTokens.typography.typeface.default, (0, _rem.default)(_designTokens.typography.size.alias.default), _designTokens.typography.weight.alias.default);
|
|
20
20
|
|
|
21
21
|
var _default = Input;
|
|
22
22
|
exports.default = _default;
|
|
@@ -105,6 +105,11 @@ describe('TextField', function () {
|
|
|
105
105
|
props: _objectSpread({}, defaultProps, {
|
|
106
106
|
disabled: true
|
|
107
107
|
})
|
|
108
|
+
}, {
|
|
109
|
+
test: 'when label hidden',
|
|
110
|
+
props: _objectSpread({}, defaultProps, {
|
|
111
|
+
hideLabel: true
|
|
112
|
+
})
|
|
108
113
|
}, {
|
|
109
114
|
test: 'when readOnly',
|
|
110
115
|
props: _objectSpread({}, defaultProps, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFirstMount.d.ts","sourceRoot":"","sources":["../../src/utils/useFirstMount.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,kBAAkB,IAAI,OAAO,CAUpD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useFirstMountState;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
function useFirstMountState() {
|
|
11
|
+
var isFirst = (0, _react.useRef)(true);
|
|
12
|
+
|
|
13
|
+
if (isFirst.current) {
|
|
14
|
+
isFirst.current = false;
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return isFirst.current;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUpdateEffect.d.ts","sourceRoot":"","sources":["../../src/utils/useUpdateEffect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAC;AAGlE,QAAA,MAAM,eAAe,EAAE,OAAO,SAY7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var _useFirstMount = _interopRequireDefault(require("./useFirstMount"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
15
|
+
var useUpdateEffect = function useUpdateEffect(effect) {
|
|
16
|
+
var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
17
|
+
var isFirstMount = (0, _useFirstMount.default)();
|
|
18
|
+
(0, _react.useEffect)(function () {
|
|
19
|
+
if (!isFirstMount) {
|
|
20
|
+
return effect();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return undefined;
|
|
24
|
+
}, deps);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var _default = useUpdateEffect;
|
|
28
|
+
exports.default = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decisiv/ui-components",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.84+fbb603d",
|
|
4
4
|
"description": "Decisiv's design system React components",
|
|
5
5
|
"author": "Decisiv UI Development Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"private": false,
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "fbb603d8e3d978e98d5b8a60ce51a3970bc645ce"
|
|
75
75
|
}
|