@map-colonies/react-components 3.7.3 → 3.9.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/autocomplete/autocomplete.css +25 -0
  3. package/dist/autocomplete/autocomplete.d.ts +34 -0
  4. package/dist/autocomplete/autocomplete.d.ts.map +1 -0
  5. package/dist/autocomplete/autocomplete.js +467 -0
  6. package/dist/autocomplete/autocomplete.js.map +1 -0
  7. package/dist/autocomplete/index.d.ts +2 -0
  8. package/dist/autocomplete/index.d.ts.map +1 -0
  9. package/dist/autocomplete/index.js +5 -0
  10. package/dist/autocomplete/index.js.map +1 -0
  11. package/dist/cesium-map/layers/3d.tileset.update.d.ts +2 -0
  12. package/dist/cesium-map/layers/3d.tileset.update.d.ts.map +1 -0
  13. package/dist/cesium-map/layers/3d.tileset.update.js +6 -0
  14. package/dist/cesium-map/layers/3d.tileset.update.js.map +1 -0
  15. package/dist/cesium-map/layers-manager.d.ts +2 -1
  16. package/dist/cesium-map/layers-manager.d.ts.map +1 -1
  17. package/dist/cesium-map/layers-manager.js.map +1 -1
  18. package/dist/cesium-map/map.d.ts +2 -1
  19. package/dist/cesium-map/map.d.ts.map +1 -1
  20. package/dist/cesium-map/map.js.map +1 -1
  21. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts +4 -0
  22. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts.map +1 -0
  23. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +245 -0
  24. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js.map +1 -0
  25. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +10 -0
  26. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts.map +1 -0
  27. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +201 -0
  28. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js.map +1 -0
  29. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +51 -0
  30. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts.map +1 -0
  31. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +137 -0
  32. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js.map +1 -0
  33. package/dist/date-picker/date-picker.css +9 -0
  34. package/dist/date-picker/date-picker.d.ts +15 -0
  35. package/dist/date-picker/date-picker.d.ts.map +1 -0
  36. package/dist/date-picker/date-picker.js +65 -0
  37. package/dist/date-picker/date-picker.js.map +1 -0
  38. package/dist/date-picker/index.d.ts +2 -0
  39. package/dist/date-picker/index.d.ts.map +1 -0
  40. package/dist/date-picker/index.js +7 -0
  41. package/dist/date-picker/index.js.map +1 -0
  42. package/dist/date-range-picker/date-range-picker.d.ts.map +1 -1
  43. package/dist/date-range-picker/date-range-picker.form-control.d.ts.map +1 -1
  44. package/dist/date-range-picker/date-range-picker.form-control.js +9 -7
  45. package/dist/date-range-picker/date-range-picker.form-control.js.map +1 -1
  46. package/dist/date-range-picker/date-range-picker.js +10 -10
  47. package/dist/date-range-picker/date-range-picker.js.map +1 -1
  48. package/dist/index.d.ts +2 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +2 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/models/defaults.d.ts +11 -0
  53. package/dist/models/defaults.d.ts.map +1 -1
  54. package/dist/models/defaults.js +12 -0
  55. package/dist/models/defaults.js.map +1 -1
  56. package/package.json +100 -95
  57. package/src/lib/autocomplete/autocomplete.css +25 -0
  58. package/src/lib/autocomplete/autocomplete.stories.tsx +101 -0
  59. package/src/lib/autocomplete/autocomplete.tsx +683 -0
  60. package/src/lib/autocomplete/get-input-selection.d.ts +1 -0
  61. package/src/lib/autocomplete/index.ts +1 -0
  62. package/src/lib/cesium-map/context-menu.stories.tsx +1 -2
  63. package/src/lib/cesium-map/layers/3d.tileset.stories.tsx +1 -2
  64. package/src/lib/cesium-map/layers/3d.tileset.update.ts +72 -0
  65. package/src/lib/cesium-map/layers/layers.rect.stories.tsx +171 -0
  66. package/src/lib/cesium-map/layers-manager.stories.tsx +2 -3
  67. package/src/lib/cesium-map/layers-manager.ts +3 -1
  68. package/src/lib/cesium-map/map.stories.tsx +3 -3
  69. package/src/lib/cesium-map/map.tsx +2 -0
  70. package/src/lib/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.ts +243 -0
  71. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-decoder.ts +321 -0
  72. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.ts +237 -0
  73. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +183 -0
  74. package/src/lib/date-picker/date-picker.css +9 -0
  75. package/src/lib/date-picker/date-picker.stories.tsx +130 -0
  76. package/src/lib/date-picker/date-picker.tsx +90 -0
  77. package/src/lib/date-picker/index.ts +1 -0
  78. package/src/lib/date-range-picker/date-range-picker.form-control.tsx +9 -7
  79. package/src/lib/date-range-picker/date-range-picker.tsx +12 -10
  80. package/src/lib/index.ts +2 -0
  81. package/src/lib/models/defaults.ts +12 -0
  82. package/src/types/quantized-mesh-decoder.d.ts +1 -0
  83. /package/storybook-static/mock/{tileset → tileset_1}/ll.b3dm +0 -0
  84. /package/storybook-static/mock/{tileset → tileset_1}/lr.b3dm +0 -0
  85. /package/storybook-static/mock/{tileset → tileset_1}/parent.b3dm +0 -0
  86. /package/storybook-static/mock/{tileset → tileset_1}/tileset.json +0 -0
  87. /package/storybook-static/mock/{tileset → tileset_1}/ul.b3dm +0 -0
  88. /package/storybook-static/mock/{tileset → tileset_1}/ur.b3dm +0 -0
@@ -0,0 +1,183 @@
1
+ import React, { ChangeEvent, useState } from 'react';
2
+ import {
3
+ ArcGISTiledElevationTerrainProvider,
4
+ EllipsoidTerrainProvider,
5
+ TerrainProvider,
6
+ VRTheWorldTerrainProvider,
7
+ WebMercatorProjection,
8
+ CesiumTerrainProvider,
9
+ Resource,
10
+ WebMercatorTilingScheme,
11
+ } from 'cesium';
12
+ import { Story, Meta } from '@storybook/react/types-6-0';
13
+ import { CesiumMap, useCesiumMap } from '../map';
14
+ import { CesiumSceneMode } from '../map.types';
15
+ import { Cesium3DTileset } from '../layers';
16
+ import QuantizedMeshTerrainProvider from './custom/quantized-mesh-terrain-provider';
17
+
18
+ export default {
19
+ title: 'Cesium Map',
20
+ component: CesiumMap,
21
+ parameters: {
22
+ layout: 'fullscreen',
23
+ },
24
+ } as Meta;
25
+
26
+ const mapDivStyle = {
27
+ height: '90%',
28
+ width: '100%',
29
+ position: 'absolute' as const,
30
+ };
31
+
32
+ const BASE_MAPS = {
33
+ maps: [
34
+ {
35
+ id: '1st',
36
+ title: '1st Map Title',
37
+ isCurrent: true,
38
+ thumbnail:
39
+ 'https://nsw.digitaltwin.terria.io/build/efa2f6c408eb790753a9b5fb2f3dc678.png',
40
+ baseRasteLayers: [
41
+ {
42
+ id: 'GOOGLE_TERRAIN',
43
+ type: 'XYZ_LAYER',
44
+ opacity: 1,
45
+ zIndex: 0,
46
+ options: {
47
+ url: 'https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}',
48
+ layers: '',
49
+ credit: 'GOOGLE',
50
+ },
51
+ },
52
+ ],
53
+ baseVectorLayers: [],
54
+ },
55
+ ],
56
+ };
57
+
58
+ const EllipsoidProvider = new EllipsoidTerrainProvider({});
59
+
60
+ const CesiumProvider = new CesiumTerrainProvider({
61
+ url: new Resource({
62
+ url: 'https://my-assets.cesium.com/1',
63
+ headers: {
64
+ authorization: 'Bearer <my-access-token>',
65
+ },
66
+ }),
67
+ });
68
+
69
+ const VRTheWorldProvider = new VRTheWorldTerrainProvider({
70
+ url: 'http://www.vr-theworld.com/vr-theworld/tiles1.0.0/73/',
71
+ });
72
+
73
+ const ArcGisProvider = new ArcGISTiledElevationTerrainProvider({
74
+ url:
75
+ 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer',
76
+ });
77
+
78
+ const QuantizedMeshProvider = new QuantizedMeshTerrainProvider({
79
+ getUrl: (x: number, y: number, level: number): string => {
80
+ const tilingScheme = new WebMercatorTilingScheme();
81
+ const column = x;
82
+ const row = tilingScheme.getNumberOfYTilesAtLevel(level) - y - 1;
83
+
84
+ return `/mock/terrain_example_tiles/${level}/${column}/${row}.terrain`;
85
+ },
86
+ credit: `Mapcolonies`,
87
+ });
88
+
89
+ const terrainProviderList = [
90
+ {
91
+ id: 'NONE',
92
+ value: EllipsoidProvider,
93
+ },
94
+ {
95
+ id: 'Cesium Terrain Provider',
96
+ value: CesiumProvider,
97
+ },
98
+ {
99
+ id: 'V R The World Terrain Provider (Hight Map)',
100
+ value: VRTheWorldProvider,
101
+ },
102
+ {
103
+ id: 'Arc Gis Terrain Provider',
104
+ value: ArcGisProvider,
105
+ },
106
+ {
107
+ id: 'Custom Terrain Provider',
108
+ value: QuantizedMeshProvider,
109
+ },
110
+ ];
111
+
112
+ interface ITerrainProviderItem {
113
+ id: string;
114
+ value: TerrainProvider | undefined;
115
+ }
116
+
117
+ interface ITerrainProviderSelectorProps {
118
+ terrainProviderList: ITerrainProviderItem[];
119
+ }
120
+
121
+ const TerrainProviderSelector: React.FC<ITerrainProviderSelectorProps> = ({
122
+ terrainProviderList,
123
+ }) => {
124
+ const mapViewer = useCesiumMap();
125
+ const [depthTest, setDepthTest] = useState<boolean>(false);
126
+
127
+ const scene = mapViewer.scene;
128
+
129
+ const handleDepthTestChange = (e: ChangeEvent<HTMLInputElement>): void => {
130
+ setDepthTest(e.target.checked);
131
+ scene.globe.depthTestAgainstTerrain = !depthTest;
132
+ };
133
+
134
+ return (
135
+ <>
136
+ <select
137
+ defaultValue={terrainProviderList[0].id}
138
+ onChange={(evt): void => {
139
+ const selected = terrainProviderList.find(
140
+ (item) => item.id === evt.target.value
141
+ );
142
+ mapViewer.terrainProvider = (selected as ITerrainProviderItem)
143
+ .value as TerrainProvider;
144
+ }}
145
+ >
146
+ {terrainProviderList.map((provider) => {
147
+ return <option key={provider.id}>{provider.id}</option>;
148
+ })}
149
+ </select>
150
+ <br />
151
+ <input
152
+ type="checkbox"
153
+ id="input"
154
+ checked={depthTest}
155
+ onChange={handleDepthTestChange}
156
+ />
157
+ <label htmlFor="input">depthTestAgainstTerrain</label>
158
+ </>
159
+ );
160
+ };
161
+
162
+ export const QuantizedMesh: Story = () => {
163
+ // const [center] = useState<[number, number]>([24, -200]);
164
+ const [center] = useState<[number, number]>([-122, 43]);
165
+ return (
166
+ <div style={mapDivStyle}>
167
+ <CesiumMap
168
+ center={center}
169
+ zoom={5}
170
+ imageryProvider={false}
171
+ sceneModes={[CesiumSceneMode.SCENE3D, CesiumSceneMode.COLUMBUS_VIEW]}
172
+ baseMaps={BASE_MAPS}
173
+ mapProjection={new WebMercatorProjection()}
174
+ >
175
+ <Cesium3DTileset
176
+ isZoomTo={true}
177
+ url="/mock/tileset_2/L16_31023/L16_31023.json"
178
+ />
179
+ <TerrainProviderSelector terrainProviderList={terrainProviderList} />
180
+ </CesiumMap>
181
+ </div>
182
+ );
183
+ };
@@ -0,0 +1,9 @@
1
+ body[dir='rtl'] .drpContainer .MuiInputLabel-formControl {
2
+ right: 0px;
3
+ left: unset;
4
+ }
5
+
6
+ body[dir='rtl'] .drpContainer .MuiInputBase-input {
7
+ direction: ltr;
8
+ text-align: end;
9
+ }
@@ -0,0 +1,130 @@
1
+ import React from 'react';
2
+ import { action } from '@storybook/addon-actions';
3
+ import { Story } from '@storybook/react/types-6-0';
4
+ import { CSFStory } from '../utils/story';
5
+ import { SupportedLocales } from '../models/enums';
6
+ import { DateTimePicker } from './date-picker';
7
+
8
+ const TODAY = new Date();
9
+
10
+ export default {
11
+ title: 'Date Picker',
12
+ component: DateTimePicker,
13
+ };
14
+
15
+ export const DatePickerDefault: CSFStory<JSX.Element> = () => (
16
+ <DateTimePicker onChange={action('date changed')} value={TODAY} />
17
+ );
18
+
19
+ DatePickerDefault.story = {
20
+ name: 'Date picker default',
21
+ };
22
+
23
+ export const DateTimePickerMode: CSFStory<JSX.Element> = () => (
24
+ <DateTimePicker
25
+ value={TODAY}
26
+ onChange={action('date changed')}
27
+ showTime={true}
28
+ format={'dd/MM/yyyy HH:mm'}
29
+ />
30
+ );
31
+
32
+ DateTimePickerMode.story = {
33
+ name: 'Date time picker',
34
+ };
35
+
36
+ export const DateNoFutureLimitTime: CSFStory<JSX.Element> = () => (
37
+ <DateTimePicker
38
+ value={TODAY}
39
+ disableFuture={false}
40
+ onChange={action('date changed')}
41
+ />
42
+ );
43
+
44
+ DateNoFutureLimitTime.story = {
45
+ name: 'Date time no future limit',
46
+ };
47
+
48
+ export const DateMinMaxLimitTime: CSFStory<JSX.Element> = () => {
49
+ const minDate = new Date();
50
+ const maxDate = new Date();
51
+ const deltaInDays = 6;
52
+ minDate.setDate(maxDate.getDate() - deltaInDays);
53
+ maxDate.setDate(maxDate.getDate() + deltaInDays);
54
+ return (
55
+ <DateTimePicker
56
+ value={TODAY}
57
+ onChange={(date) => {
58
+ action('date changed')(date);
59
+ console.log(date?.toDateString());
60
+ }}
61
+ minDate={minDate}
62
+ maxDate={maxDate}
63
+ />
64
+ );
65
+ };
66
+
67
+ DateMinMaxLimitTime.story = {
68
+ name: 'Date time with minDate & maxDate ',
69
+ };
70
+
71
+ export const DateMinMaxLimitTimeWithOnBlur: CSFStory<JSX.Element> = () => {
72
+ const minDate = new Date();
73
+ const maxDate = new Date();
74
+ const deltaInDays = 6;
75
+ minDate.setDate(maxDate.getDate() - deltaInDays);
76
+ maxDate.setDate(maxDate.getDate() + deltaInDays);
77
+ return (
78
+ <DateTimePicker
79
+ value={TODAY}
80
+ onChange={(date) => {
81
+ action('date changed')(date);
82
+ console.log(date?.toDateString());
83
+ }}
84
+ onBlur={(date) => {
85
+ action('OnBlur invoked')(date);
86
+ console.log('OnBlur invoked');
87
+ }}
88
+ minDate={minDate}
89
+ maxDate={maxDate}
90
+ />
91
+ );
92
+ };
93
+
94
+ DateMinMaxLimitTimeWithOnBlur.story = {
95
+ name: 'Date time with OnBlur ',
96
+ };
97
+
98
+ export const DateTimeWithControlArgs: Story = (args: unknown) => {
99
+ return (
100
+ <DateTimePicker {...args} value={TODAY} onChange={action('date changed')} />
101
+ );
102
+ };
103
+
104
+ DateTimeWithControlArgs.storyName = 'Date time control with args';
105
+
106
+ DateTimeWithControlArgs.argTypes = {
107
+ local: {
108
+ control: {
109
+ type: 'object',
110
+ },
111
+ },
112
+ };
113
+
114
+ export const DateTimeHebrewLocalized: Story = (args: unknown) => {
115
+ const local = {
116
+ placeHolderText: 'הכנס תאריך',
117
+ calendarLocale: SupportedLocales.HE,
118
+ };
119
+ return (
120
+ <DateTimePicker
121
+ local={local}
122
+ {...args}
123
+ value={TODAY}
124
+ onChange={action('date changed')}
125
+ />
126
+ );
127
+ };
128
+
129
+ DateTimeHebrewLocalized.storyName =
130
+ 'Date time range looks like input with Hebrew calendar';
@@ -0,0 +1,90 @@
1
+ import React, { useState } from 'react';
2
+ import { he, enUS } from 'date-fns/locale';
3
+ import {
4
+ MuiPickersUtilsProvider,
5
+ KeyboardDateTimePicker,
6
+ KeyboardDatePicker,
7
+ KeyboardDatePickerProps,
8
+ } from '@material-ui/pickers';
9
+ import { ParsableDate } from '@material-ui/pickers/constants/prop-types';
10
+ import { WrapperVariant } from '@material-ui/pickers/wrappers/Wrapper';
11
+ import DateFnsUtils from '@date-io/date-fns';
12
+ import { ThemeProvider } from '@material-ui/core';
13
+
14
+ import { useTheme } from '@map-colonies/react-core';
15
+ import { SupportedLocales } from '../models/enums';
16
+ import DEFAULTS from '../models/defaults';
17
+ import { useMappedMuiTheme } from '../theme';
18
+
19
+ import '@map-colonies/react-core/dist/button/styles';
20
+ import './date-picker.css';
21
+
22
+ interface DatePickerProps extends KeyboardDatePickerProps {
23
+ local?: {
24
+ placeHolderText?: string;
25
+ calendarLocale?: SupportedLocales;
26
+ };
27
+ showTime?: boolean;
28
+ }
29
+
30
+ export const DateTimePicker: React.FC<DatePickerProps> = (props) => {
31
+ const theme: { [key: string]: string } = useTheme();
32
+ const themeMui = useMappedMuiTheme(theme);
33
+
34
+ const [value, setValue] = useState<ParsableDate>(props.value);
35
+
36
+ const {
37
+ format = DEFAULTS.DATE_PICKER.dateFormat,
38
+ variant = DEFAULTS.DATE_PICKER.variant,
39
+ disableFuture = DEFAULTS.DATE_PICKER.disableFuture,
40
+ local,
41
+ onChange,
42
+ showTime = DEFAULTS.DATE_PICKER.showTime,
43
+ value: propValue,
44
+ ...resProps
45
+ } = props;
46
+
47
+ const {
48
+ placeHolderText = DEFAULTS.DATE_PICKER.local.placeHolderText,
49
+ calendarLocale,
50
+ } = local ?? {
51
+ placeHolderText: DEFAULTS.DATE_PICKER.local.placeHolderText,
52
+ calendarLocale: SupportedLocales.EN,
53
+ };
54
+
55
+ const locale = calendarLocale === SupportedLocales.HE ? he : enUS;
56
+
57
+ const handleOnChange = (e: any): void => {
58
+ setValue(e);
59
+ onChange(e as Date);
60
+ };
61
+
62
+ return (
63
+ <ThemeProvider theme={themeMui}>
64
+ <MuiPickersUtilsProvider utils={DateFnsUtils} locale={locale}>
65
+ {showTime && (
66
+ <KeyboardDateTimePicker
67
+ variant={variant as WrapperVariant}
68
+ placeholder={placeHolderText}
69
+ onChange={handleOnChange}
70
+ value={value}
71
+ disableFuture={disableFuture}
72
+ format={format}
73
+ {...resProps}
74
+ />
75
+ )}
76
+ {!showTime && (
77
+ <KeyboardDatePicker
78
+ variant={variant as WrapperVariant}
79
+ placeholder={placeHolderText}
80
+ onChange={handleOnChange}
81
+ value={value}
82
+ disableFuture={disableFuture}
83
+ format={format}
84
+ {...resProps}
85
+ />
86
+ )}
87
+ </MuiPickersUtilsProvider>
88
+ </ThemeProvider>
89
+ );
90
+ };
@@ -0,0 +1 @@
1
+ export * from './date-picker';
@@ -34,7 +34,7 @@ export const DateTimeRangePickerFormControl: React.FC<DateRangePickerProps> = (
34
34
  const [from, setFrom] = useState<Date | null>(null);
35
35
  const [to, setTo] = useState<Date | null>(null);
36
36
  const [dateFormat, setDateFormat] = useState<string>(
37
- DEFAULTS.DATE_PICKER.dateFormat
37
+ DEFAULTS.DATE_RANGE_PICKER.dateFormat
38
38
  );
39
39
  const [anchorEl, setAnchorEl] = React.useState<HTMLButtonElement | null>(
40
40
  null
@@ -66,24 +66,26 @@ export const DateTimeRangePickerFormControl: React.FC<DateRangePickerProps> = (
66
66
  }, [props.to]);
67
67
 
68
68
  useEffect(() => {
69
- setDateFormat(props.dateFormat ?? DEFAULTS.DATE_PICKER.dateFormat);
69
+ setDateFormat(props.dateFormat ?? DEFAULTS.DATE_RANGE_PICKER.dateFormat);
70
70
  }, [props.dateFormat]);
71
71
 
72
72
  const startPlaceHolderText =
73
73
  props.local?.startPlaceHolderText ??
74
- DEFAULTS.DATE_PICKER.local.startPlaceHolderText;
74
+ DEFAULTS.DATE_RANGE_PICKER.local.startPlaceHolderText;
75
75
  const endPlaceHolderText =
76
76
  props.local?.endPlaceHolderText ??
77
- DEFAULTS.DATE_PICKER.local.endPlaceHolderText;
77
+ DEFAULTS.DATE_RANGE_PICKER.local.endPlaceHolderText;
78
78
  const renderAsButton =
79
79
  props.renderAsButton === undefined
80
- ? DEFAULTS.DATE_PICKER.renderAsButton
80
+ ? DEFAULTS.DATE_RANGE_PICKER.renderAsButton
81
81
  : props.renderAsButton;
82
82
  const offset =
83
- props.offset === undefined ? DEFAULTS.DATE_PICKER.offset : props.offset;
83
+ props.offset === undefined
84
+ ? DEFAULTS.DATE_RANGE_PICKER.offset
85
+ : props.offset;
84
86
  const disableFuture =
85
87
  props.disableFuture === undefined
86
- ? DEFAULTS.DATE_PICKER.disableFuture
88
+ ? DEFAULTS.DATE_RANGE_PICKER.disableFuture
87
89
  : props.disableFuture;
88
90
 
89
91
  const controlText = useMemo(() => {
@@ -61,22 +61,24 @@ export const DateTimeRangePicker: React.FC<DateRangePickerProps> = (props) => {
61
61
  const [from, setFrom] = useState<Date | null>(null);
62
62
  const [to, setTo] = useState<Date | null>(null);
63
63
  const [dateFormat, setDateFormat] = useState<string>(
64
- DEFAULTS.DATE_PICKER.dateFormat
64
+ DEFAULTS.DATE_RANGE_PICKER.dateFormat
65
65
  );
66
66
 
67
67
  const flexDirection =
68
- props.controlsLayout ?? DEFAULTS.DATE_PICKER.controlsLayout;
68
+ props.controlsLayout ?? DEFAULTS.DATE_RANGE_PICKER.controlsLayout;
69
69
  const disableFuture =
70
- props.disableFuture ?? DEFAULTS.DATE_PICKER.disableFuture;
70
+ props.disableFuture ?? DEFAULTS.DATE_RANGE_PICKER.disableFuture;
71
71
  const startPlaceHolderText =
72
72
  props.local?.startPlaceHolderText ??
73
- DEFAULTS.DATE_PICKER.local.startPlaceHolderText;
73
+ DEFAULTS.DATE_RANGE_PICKER.local.startPlaceHolderText;
74
74
  const endPlaceHolderText =
75
75
  props.local?.endPlaceHolderText ??
76
- DEFAULTS.DATE_PICKER.local.endPlaceHolderText;
77
- const setText = props.local?.setText ?? DEFAULTS.DATE_PICKER.local.setText;
76
+ DEFAULTS.DATE_RANGE_PICKER.local.endPlaceHolderText;
77
+ const setText =
78
+ props.local?.setText ?? DEFAULTS.DATE_RANGE_PICKER.local.setText;
78
79
  const calendarLocale =
79
- props.local?.calendarLocale ?? DEFAULTS.DATE_PICKER.local.calendarLocale;
80
+ props.local?.calendarLocale ??
81
+ DEFAULTS.DATE_RANGE_PICKER.local.calendarLocale;
80
82
 
81
83
  const locale = calendarLocale === SupportedLocales.HE ? he : enUS;
82
84
 
@@ -89,7 +91,7 @@ export const DateTimeRangePicker: React.FC<DateRangePickerProps> = (props) => {
89
91
  }, [props.to]);
90
92
 
91
93
  useEffect(() => {
92
- setDateFormat(props.dateFormat ?? DEFAULTS.DATE_PICKER.dateFormat);
94
+ setDateFormat(props.dateFormat ?? DEFAULTS.DATE_RANGE_PICKER.dateFormat);
93
95
  }, [props.dateFormat]);
94
96
 
95
97
  const isRangeValid = Boolean(
@@ -116,7 +118,7 @@ export const DateTimeRangePicker: React.FC<DateRangePickerProps> = (props) => {
116
118
  <MuiPickersUtilsProvider utils={DateFnsUtils} locale={locale}>
117
119
  <KeyboardDateTimePicker
118
120
  variant="inline"
119
- label={startPlaceHolderText}
121
+ placeholder={startPlaceHolderText}
120
122
  onChange={(date): void => setFrom(date as Date)}
121
123
  value={from}
122
124
  disableFuture={disableFuture}
@@ -126,7 +128,7 @@ export const DateTimeRangePicker: React.FC<DateRangePickerProps> = (props) => {
126
128
  />
127
129
  <KeyboardDateTimePicker
128
130
  variant="inline"
129
- label={endPlaceHolderText}
131
+ placeholder={endPlaceHolderText}
130
132
  className={classes.margin}
131
133
  onChange={(date): void => setTo(date as Date)}
132
134
  value={to}
package/src/lib/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './date-range-picker';
2
+ export * from './date-picker';
2
3
  export * from './map-filter-container';
3
4
  export * from './models';
4
5
  export * from './ol-map';
@@ -8,3 +9,4 @@ export * from './box';
8
9
  export * from './cssbaseline';
9
10
  export * from './theme';
10
11
  export * from './cesium-map';
12
+ export * from './autocomplete';
@@ -3,6 +3,18 @@ import { SupportedLocales } from './enums';
3
3
  const DEFAULTS = {
4
4
  // eslint-disable-next-line @typescript-eslint/naming-convention
5
5
  DATE_PICKER: {
6
+ dateFormat: 'dd/MM/yyyy',
7
+ local: {
8
+ setText: 'set',
9
+ placeHolderText: 'Enter the Date',
10
+ calendarLocale: SupportedLocales.EN,
11
+ },
12
+ disableFuture: true,
13
+ showTime: false,
14
+ variant: 'inline',
15
+ },
16
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17
+ DATE_RANGE_PICKER: {
6
18
  dateFormat: 'dd/MM/yyyy HH:mm',
7
19
  controlsLayout: 'row',
8
20
  local: {
@@ -0,0 +1 @@
1
+ declare module '@here/quantized-mesh-decoder';