forstok-ui-lib 7.5.3 → 7.6.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forstok-ui-lib",
3
- "version": "7.5.3",
3
+ "version": "7.6.0",
4
4
  "description": "Forstok UI Components Library",
5
5
  "path": "dist",
6
6
  "main": "dist/index.js",
@@ -46,7 +46,6 @@
46
46
  "moment": "^2.30.1",
47
47
  "moment-range": "^4.0.2",
48
48
  "npm-force-resolutions": "^0.0.10",
49
- "rc-picker": "^4.11.3",
50
49
  "react": "^19.0.0",
51
50
  "react-content-loader": "^7.0.2",
52
51
  "react-datepicker": "^8.1.0",
@@ -67,10 +66,9 @@
67
66
  "peerDependencies": {
68
67
  "react": "^19.0.0",
69
68
  "react-dom": "^19.0.0",
70
- "styled-components": "^6.1.15",
71
69
  "react-select": "^5.10.0",
72
70
  "react-select-async-paginate": "^0.7.9",
73
- "rc-picker": "^4.11.3"
71
+ "styled-components": "^6.1.15"
74
72
  },
75
73
  "overrides": {}
76
74
  }
package/rollup.config.js CHANGED
@@ -60,7 +60,6 @@ export default [
60
60
  'styled-components',
61
61
  'react-select',
62
62
  'react-select-async-paginate',
63
- 'rc-picker',
64
63
  '@wojtekmaj/react-daterange-picker',
65
64
  'approvejs',
66
65
  'html-to-text',
@@ -23,7 +23,6 @@ export { default as UploadDragDropComponent } from './upload/drag.drop';
23
23
  export { default as TextAreaComponent } from './textarea';
24
24
  export { default as TextAreaRefComponent } from './textarea/ref';
25
25
  export { default as DateComponent } from './date';
26
- export { default as DateRangeComponent } from './date/range';
27
26
  export { default as DateRefComponent } from './date/ref';
28
27
  export { default as DateTimeComponent } from './datetime';
29
28
  export { default as RadioComponent } from './radio';
@@ -42,6 +41,7 @@ export * from './dropdown/typed';
42
41
  export * from './date/typed';
43
42
 
44
43
  export * from './form/styles';
44
+ export * from './date/styles';
45
45
  export * from './dropdown/styles';
46
46
  export * from './select/styles';
47
47
 
@@ -1,118 +0,0 @@
1
- import { useState, useRef, useEffect } from 'react';
2
- import moment, { Moment } from 'moment';
3
- import { RangePicker } from 'rc-picker';
4
- import { RangePickerRef } from 'rc-picker/lib/interface';
5
-
6
- import generateMoment from 'rc-picker/lib/generate/moment.js';
7
- import enUS from 'rc-picker/lib/locale/en_US.js';
8
-
9
- import IconComponent from '../icon';
10
-
11
- import 'rc-picker/assets/index.css';
12
- import { RangeContainer } from './styles';
13
-
14
- import { TMoment, TState } from '../../typeds/base.typed';
15
- import { TModerateDateAntFunction } from './typed';
16
-
17
- import { configDateRangeAnt } from '../../maps/common';
18
-
19
- type TDateRange = {
20
- $mode?: 'white';
21
- startDate?: TMoment;
22
- endDate?: TMoment;
23
- minDate?: TMoment;
24
- maxDate?: TMoment;
25
- evModDate: TModerateDateAntFunction;
26
- isForceUpdate?: boolean;
27
- setForceUpdate?: TState<boolean | undefined>;
28
- };
29
-
30
- const DateRangeComponent = (props: TDateRange) => {
31
- const {
32
- $mode,
33
- startDate,
34
- endDate,
35
- minDate,
36
- maxDate,
37
- evModDate,
38
- isForceUpdate,
39
- setForceUpdate,
40
- } = props;
41
-
42
- // Ensure ALWAYS Moment objects
43
- const _minDate: Moment = moment(minDate ?? configDateRangeAnt.minDate);
44
- let _startDate: Moment = moment(startDate ?? configDateRangeAnt.startDate);
45
- let _endDate: Moment = moment(endDate ?? configDateRangeAnt.endDate);
46
-
47
- if (_startDate < _minDate) _startDate = _minDate;
48
- if (maxDate && moment(maxDate).isBefore(_endDate)) {
49
- _endDate = moment(maxDate);
50
- }
51
-
52
- const [value, setValue] = useState<[Moment, Moment]>([_startDate, _endDate]);
53
-
54
- useEffect(() => {
55
- if (isForceUpdate) {
56
- setValue([_startDate, _endDate]);
57
- setForceUpdate && setForceUpdate(false);
58
- }
59
- }, [isForceUpdate]);
60
-
61
- const onChange = (
62
- dates: [Moment | null, Moment | null] | null,
63
- dateStrings: [string, string],
64
- ) => {
65
- if (!dates) return;
66
-
67
- const [start, end] = dates;
68
-
69
- if (!start || !end) return;
70
-
71
- setValue([start, end]);
72
- evModDate(start, end);
73
- };
74
-
75
- const rangePickerRef = useRef<RangePickerRef>(null);
76
-
77
- return (
78
- <RangeContainer className="_refRangeContainer" $mode={$mode}>
79
- <RangePicker
80
- ref={rangePickerRef}
81
- generateConfig={generateMoment}
82
- locale={enUS}
83
- value={value} // controlled
84
- onChange={onChange}
85
- allowEmpty
86
- allowClear={false}
87
- separator="-"
88
- format="MMM D, YYYY"
89
- placeholder={['Start Date', 'End Date']}
90
- minDate={_minDate}
91
- maxDate={maxDate ? moment(maxDate) : moment()}
92
- suffixIcon={<IconComponent $width="14px" $name="calendar" />}
93
- prevIcon={<IconComponent $width="12px" $name="arrow-left" />}
94
- nextIcon={<IconComponent $width="12px" $name="arrow-right" />}
95
- superPrevIcon={<IconComponent $width="12px" $name="arrow-left-double" />}
96
- superNextIcon={<IconComponent $width="12px" $name="arrow-right-double" />}
97
- presets={[
98
- { label: 'Today', value: [moment(), moment()] },
99
- { label: 'Last 7 days', value: [moment().subtract(6, 'days'), moment()] },
100
- { label: 'Last 14 days', value: [moment().subtract(13, 'days'), moment()] },
101
- { label: 'Last 30 days', value: [moment().subtract(29, 'days'), moment()] },
102
- { label: 'Last 90 days', value: [moment().subtract(89, 'days'), moment()] },
103
- ]}
104
- onOpenChange={(open) => {
105
- const parentEl = rangePickerRef.current?.nativeElement?.closest(
106
- '._refRangeContainer'
107
- );
108
- if (!parentEl) return;
109
- open
110
- ? parentEl.classList.add('is-actived')
111
- : parentEl.classList.remove('is-actived');
112
- }}
113
- />
114
- </RangeContainer>
115
- );
116
- };
117
-
118
- export default DateRangeComponent;