@mtes-mct/monitor-ui 2.7.1 → 2.8.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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [2.7.2](https://github.com/MTES-MCT/monitor-ui/compare/v2.7.1...v2.7.2) (2023-01-13)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **elements:** set Button icon size in px instead of rem ([363ffab](https://github.com/MTES-MCT/monitor-ui/commit/363ffab6d6d2c65e997eafa7378f4ead377cb6f2))
7
+
8
+ ## [2.7.1](https://github.com/MTES-MCT/monitor-ui/compare/v2.7.0...v2.7.1) (2023-01-13)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **fields:** handle detached click outside for time in DatePicker & DateRangePicker ([afa0a13](https://github.com/MTES-MCT/monitor-ui/commit/afa0a13394f650b0d26a5cf868a325cc79335dcb))
14
+
1
15
  # [2.7.0](https://github.com/MTES-MCT/monitor-ui/compare/v2.6.0...v2.7.0) (2023-01-12)
2
16
 
3
17
 
package/index.js CHANGED
@@ -1955,9 +1955,9 @@ const Dropdown = Object.assign(RawDropdown, {
1955
1955
  });
1956
1956
 
1957
1957
  const ICON_SIZE = {
1958
- [Size.LARGE]: 1.25,
1959
- [Size.NORMAL]: 1.25,
1960
- [Size.SMALL]: 0.75
1958
+ [Size.LARGE]: 20,
1959
+ [Size.NORMAL]: 20,
1960
+ [Size.SMALL]: 12
1961
1961
  };
1962
1962
  function Button({ accent = Accent.PRIMARY, children, Icon, isFullWidth = false, size = Size.NORMAL, type = 'button', ...nativeProps }) {
1963
1963
  const commonChildren = useMemo(() => (jsxs(Fragment, { children: [Icon && jsx(Icon, { size: ICON_SIZE[size] }), children] })), [children, Icon, size]);
@@ -3440,9 +3440,13 @@ dayjs_minExports.tz.setDefault('UTC');
3440
3440
  * `2022-01-02T03:04:05.006Z` => `2022-01-02T03:04:05.006+01:00` (or `+02:00` during DST) in Europe/Paris timezone.
3441
3441
  */
3442
3442
  function getLocalizedDayjs(utcDate) {
3443
+ if (typeof utcDate === 'string') {
3444
+ return dayjs_minExports(utcDate);
3445
+ }
3446
+ const utcDateAsDate = dayjs_minExports(utcDate).toDate();
3443
3447
  // The number of minutes returned by getTimezoneOffset() is positive if the local time zone is behind UTC,
3444
3448
  // and negative if the local time zone is ahead of UTC. For example, for UTC+10, -600 will be returned.
3445
- const timezoneOffsetInMinutes = utcDate.getTimezoneOffset();
3449
+ const timezoneOffsetInMinutes = utcDateAsDate.getTimezoneOffset();
3446
3450
  return dayjs_minExports(utcDate).add(timezoneOffsetInMinutes, 'minutes');
3447
3451
  }
3448
3452
 
@@ -4463,7 +4467,7 @@ const Box$5 = styled.div `
4463
4467
 
4464
4468
  function DatePicker({ baseContainer, defaultValue,
4465
4469
  // eslint-disable-next-line @typescript-eslint/naming-convention
4466
- disabled = false, isCompact = false, isHistorical = false, isLabelHidden = false, isLight = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
4470
+ disabled = false, isCompact = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
4467
4471
  const boxRef = useRef();
4468
4472
  const dateInputRef = useRef();
4469
4473
  const timeInputRef = useRef();
@@ -4481,9 +4485,14 @@ disabled = false, isCompact = false, isHistorical = false, isLabelHidden = false
4481
4485
  if (!onChange || !selectedDateRef.current) {
4482
4486
  return;
4483
4487
  }
4484
- const nextDate = getUtcizedDayjs(selectedDateRef.current).toDate();
4485
- onChange(nextDate);
4486
- }, [onChange]);
4488
+ const nextDateAsDayjs = getUtcizedDayjs(selectedDateRef.current);
4489
+ if (isStringDate) {
4490
+ onChange(nextDateAsDayjs.toISOString());
4491
+ }
4492
+ else {
4493
+ onChange(nextDateAsDayjs.toDate());
4494
+ }
4495
+ }, [isStringDate, onChange]);
4487
4496
  const closeCalendarPicker = useCallback(() => {
4488
4497
  isCalendarPickerOpenRef.current = false;
4489
4498
  forceUpdate();
@@ -4769,7 +4778,7 @@ var DateRangePosition;
4769
4778
 
4770
4779
  function DateRangePicker({ baseContainer, defaultValue,
4771
4780
  // eslint-disable-next-line @typescript-eslint/naming-convention
4772
- disabled = false, isCompact = false, isHistorical = false, isLabelHidden = false, isLight = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
4781
+ disabled = false, isCompact = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
4773
4782
  const startDateInputRef = useRef();
4774
4783
  const startTimeInputRef = useRef();
4775
4784
  const endDateInputRef = useRef();
@@ -4794,11 +4803,19 @@ disabled = false, isCompact = false, isHistorical = false, isLabelHidden = false
4794
4803
  if (!onChange || !selectedStartDateRef.current || !selectedEndDateRef.current) {
4795
4804
  return;
4796
4805
  }
4797
- const utcizedStartDate = getUtcizedDayjs(selectedStartDateRef.current).toDate();
4798
- const utcizedEndDate = getUtcizedDayjs(selectedEndDateRef.current).toDate();
4799
- const nextDateRange = [utcizedStartDate, utcizedEndDate];
4800
- onChange(nextDateRange);
4801
- }, [onChange]);
4806
+ if (isStringDate) {
4807
+ const utcizedStartDateAsString = getUtcizedDayjs(selectedStartDateRef.current).toISOString();
4808
+ const utcizedEndDateAsString = getUtcizedDayjs(selectedEndDateRef.current).toISOString();
4809
+ const nextDateAsStringRange = [utcizedStartDateAsString, utcizedEndDateAsString];
4810
+ onChange(nextDateAsStringRange);
4811
+ }
4812
+ else {
4813
+ const utcizedStartDate = getUtcizedDayjs(selectedStartDateRef.current).toDate();
4814
+ const utcizedEndDate = getUtcizedDayjs(selectedEndDateRef.current).toDate();
4815
+ const nextDateRange = [utcizedStartDate, utcizedEndDate];
4816
+ onChange(nextDateRange);
4817
+ }
4818
+ }, [isStringDate, onChange]);
4802
4819
  const closeRangeCalendarPicker = useCallback(() => {
4803
4820
  isRangeCalendarPickerOpenRef.current = false;
4804
4821
  forceUpdate();
@@ -5335,18 +5352,20 @@ function FormikCheckbox({ name, ...originalProps }) {
5335
5352
  return jsx(Checkbox, { defaultChecked: defaultChecked, name: name, onChange: helpers.setValue, ...originalProps });
5336
5353
  }
5337
5354
 
5355
+ const UntypedDatePicker = DatePicker;
5338
5356
  function FormikDatePicker({ name, ...originalProps }) {
5339
5357
  const [field, , helpers] = useField(name);
5340
5358
  // eslint-disable-next-line react-hooks/exhaustive-deps
5341
5359
  const defaultValue = useMemo(() => field.value, []);
5342
- return jsx(DatePicker, { defaultValue: defaultValue, onChange: helpers.setValue, ...originalProps });
5360
+ return jsx(UntypedDatePicker, { defaultValue: defaultValue, onChange: helpers.setValue, ...originalProps });
5343
5361
  }
5344
5362
 
5363
+ const UntypedDateRangePicker = DateRangePicker;
5345
5364
  function FormikDateRangePicker({ name, ...originalProps }) {
5346
5365
  const [field, , helpers] = useField(name);
5347
5366
  // eslint-disable-next-line react-hooks/exhaustive-deps
5348
5367
  const defaultValue = useMemo(() => field.value, []);
5349
- return jsx(DateRangePicker, { defaultValue: defaultValue, onChange: helpers.setValue, ...originalProps });
5368
+ return jsx(UntypedDateRangePicker, { defaultValue: defaultValue, onChange: helpers.setValue, ...originalProps });
5350
5369
  }
5351
5370
 
5352
5371
  function FormikEffect({ onChange }) {