cortex-react-ui 0.2.9 → 0.2.11
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/cjs/Map/{App.d.ts → Map.d.ts} +6 -5
- package/lib/cjs/Map/components/DrawTools.d.ts +2 -0
- package/lib/cjs/Map/components/Maps.d.ts +3 -0
- package/lib/cjs/Map/index.d.ts +1 -1
- package/lib/cjs/index.d.ts +0 -1
- package/lib/cjs/index.js +3 -15
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/Map/{App.d.ts → Map.d.ts} +6 -5
- package/lib/esm/Map/components/DrawTools.d.ts +2 -0
- package/lib/esm/Map/components/Maps.d.ts +3 -0
- package/lib/esm/Map/index.d.ts +1 -1
- package/lib/esm/index.d.ts +0 -1
- package/lib/esm/index.js +3 -15
- package/lib/esm/index.js.map +1 -1
- package/lib/index.d.ts +1 -77
- package/lib/styles/Camera/index.scss +6 -2
- package/lib/styles/Scanner/index.scss +110 -0
- package/lib/typings/typings/css.d.ts +0 -3
- package/package.json +20 -4
- package/lib/cjs/Map/utils/httpService.d.ts +0 -16
- package/lib/esm/Map/utils/httpService.d.ts +0 -16
- package/lib/styles/Scanner/index.css +0 -75
package/lib/index.d.ts
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
import React$1, { CSSProperties } from 'react';
|
|
3
3
|
import { IDetectedBarcode, IScannerProps } from '@yudiel/react-qr-scanner';
|
|
4
4
|
import { WebcamProps } from 'react-webcam';
|
|
5
|
-
import { MapContainerProps } from 'react-leaflet';
|
|
6
|
-
import { ControlPosition, LatLngTuple } from 'leaflet';
|
|
7
5
|
|
|
8
6
|
declare const PopperPlacement: {
|
|
9
7
|
readonly Center: "center";
|
|
@@ -166,80 +164,6 @@ interface TooltipProps {
|
|
|
166
164
|
}
|
|
167
165
|
declare const TagInput: React$1.FC<TooltipProps>;
|
|
168
166
|
|
|
169
|
-
declare class Point {
|
|
170
|
-
id: number;
|
|
171
|
-
order: number;
|
|
172
|
-
latitude: number;
|
|
173
|
-
longitude: number;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
declare class Location {
|
|
177
|
-
id: number;
|
|
178
|
-
objId: string;
|
|
179
|
-
points: Point[];
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
type CenterActiveAreaControlProps = {
|
|
183
|
-
autoCenter?: boolean;
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
/** Props interface for MapFullscreenControl component */
|
|
187
|
-
type MapFullscreenControlProps = {
|
|
188
|
-
/** Change the content of the button, can be HTML, default null */
|
|
189
|
-
content?: string | undefined;
|
|
190
|
-
/** Change the position of the button can be topleft, topright, bottomright or bottomleft, default topleft */
|
|
191
|
-
position?: ControlPosition | undefined;
|
|
192
|
-
/** Change the title of the button, default Full Screen */
|
|
193
|
-
title?: string | undefined;
|
|
194
|
-
/** Change the title of the button when fullscreen is on, default Exit Full Screen */
|
|
195
|
-
titleCancel?: string | undefined;
|
|
196
|
-
/** Force separate button to detach from zoom buttons, default false */
|
|
197
|
-
forceSeparateButton?: boolean | undefined;
|
|
198
|
-
/** Force use of pseudo full screen even if full screen API is available, default false */
|
|
199
|
-
forcePseudoFullscreen?: boolean | undefined;
|
|
200
|
-
/** Use pseudo fullscreen */
|
|
201
|
-
pseudoFullscreen?: boolean | undefined;
|
|
202
|
-
/** Dom element to render in full screen, false by default, fallback to map._container */
|
|
203
|
-
fullscreenElement?: false | HTMLElement | undefined;
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
type DrawToolsProps = {
|
|
207
|
-
position?: ControlPosition | undefined;
|
|
208
|
-
handleOnCreated?: (v: void) => void;
|
|
209
|
-
handleOnDeleted?: (v: void) => void;
|
|
210
|
-
draw?: drawType;
|
|
211
|
-
};
|
|
212
|
-
type drawType = {
|
|
213
|
-
polyline?: boolean;
|
|
214
|
-
polygon?: boolean;
|
|
215
|
-
rectangle?: boolean;
|
|
216
|
-
circle?: boolean;
|
|
217
|
-
marker?: boolean;
|
|
218
|
-
circlemarker?: boolean;
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
type MapsProps = {
|
|
222
|
-
MapContainerProps?: MapContainerProps;
|
|
223
|
-
center?: LatLngTuple;
|
|
224
|
-
fullscreen?: MapFullscreenControlProps | boolean;
|
|
225
|
-
centerActiveArea?: CenterActiveAreaControlProps | boolean;
|
|
226
|
-
drawTools?: DrawToolsProps | boolean;
|
|
227
|
-
minZoom?: number;
|
|
228
|
-
maxZoom?: number;
|
|
229
|
-
zoom?: number;
|
|
230
|
-
data?: Location[];
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
declare const App: React$1.FC<AppProps>;
|
|
234
|
-
type AppProps = MapsProps & {
|
|
235
|
-
onClose: (() => void);
|
|
236
|
-
onSave: ((points: Point[]) => void);
|
|
237
|
-
customButtons?: {
|
|
238
|
-
cancelButton?: HTMLElement;
|
|
239
|
-
saveButton?: HTMLElement;
|
|
240
|
-
};
|
|
241
|
-
};
|
|
242
|
-
|
|
243
167
|
interface MenuProps {
|
|
244
168
|
containerRef: React$1.RefObject<HTMLElement>;
|
|
245
169
|
className?: string;
|
|
@@ -403,4 +327,4 @@ interface Props {
|
|
|
403
327
|
}
|
|
404
328
|
declare const CrossIcon: React$1.FC<Props>;
|
|
405
329
|
|
|
406
|
-
export { AuthDownloadLink, BarLoader, Button, Camera, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ConfirmDialog, ContextMenu, CrossIcon, Dialog, DialogActions, DialogContent$1 as DialogContent, DialogFooter, DialogHeader, DialogContent as DialogTitle, Divider, DomContainer, ErrorDialog,
|
|
330
|
+
export { AuthDownloadLink, BarLoader, Button, Camera, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ConfirmDialog, ContextMenu, CrossIcon, Dialog, DialogActions, DialogContent$1 as DialogContent, DialogFooter, DialogHeader, DialogContent as DialogTitle, Divider, DomContainer, ErrorDialog, Menu, MenuGroup, MenuItem, Popper, PopupMenu, Scanner, Selected, Spinner, TagInput, ToggleButton, Tooltip, WarningDialog };
|
|
@@ -110,17 +110,21 @@
|
|
|
110
110
|
width: 100%;
|
|
111
111
|
height: 90%;
|
|
112
112
|
overflow: hidden;
|
|
113
|
+
display: flex;
|
|
114
|
+
flex-direction: column;
|
|
115
|
+
justify-content: center;
|
|
116
|
+
align-items: center;
|
|
113
117
|
}
|
|
114
118
|
|
|
115
119
|
.camera-controls {
|
|
116
120
|
z-index: 999;
|
|
117
121
|
display: flex;
|
|
118
122
|
justify-content: center;
|
|
123
|
+
align-items: center;
|
|
119
124
|
gap: 1rem;
|
|
120
|
-
margin: 0 auto;
|
|
121
125
|
padding: 1rem;
|
|
122
126
|
width: 100%;
|
|
123
|
-
|
|
127
|
+
flex-direction: column;
|
|
124
128
|
}
|
|
125
129
|
|
|
126
130
|
.video-play-btn {
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
@use "../global.scss";
|
|
2
|
+
|
|
3
|
+
@mixin scanner($props: null, $options: null) {
|
|
4
|
+
$internal-options: global.$default-options;
|
|
5
|
+
|
|
6
|
+
$internal-props: (
|
|
7
|
+
bgColor: #ffffff,
|
|
8
|
+
fgColor: global.$color-grey-darker,
|
|
9
|
+
closeBtnColor: global.$color-grey,
|
|
10
|
+
closeBtnHoverColor: global.$color-blue,
|
|
11
|
+
closeBtnDisableColor: global.$color-blue-grey-lighter,
|
|
12
|
+
confirm: (
|
|
13
|
+
headerBgColor: global.$color-orange-dark,
|
|
14
|
+
headerFgColor: #ffffff,
|
|
15
|
+
bgColor: #ffffff,
|
|
16
|
+
fgColor: global.$color-grey-darker,
|
|
17
|
+
),
|
|
18
|
+
error: (
|
|
19
|
+
headerBgColor: global.$color-red,
|
|
20
|
+
headerFgColor: #ffffff,
|
|
21
|
+
bgColor: #ffffff,
|
|
22
|
+
fgColor: global.$color-grey-darker,
|
|
23
|
+
),
|
|
24
|
+
warning: (
|
|
25
|
+
headerBgColor: global.$color-grey,
|
|
26
|
+
headerFgColor: #ffffff,
|
|
27
|
+
bgColor: #ffffff,
|
|
28
|
+
fgColor: global.$color-grey-darker,
|
|
29
|
+
),
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
$internal-props: global.safe-map-merge($internal-props, $props);
|
|
33
|
+
$internal-options: global.safe-map-merge($internal-options, $options);
|
|
34
|
+
|
|
35
|
+
.btn {
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: center;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
padding: 0.5rem 1rem;
|
|
40
|
+
border: 1px solid transparent;
|
|
41
|
+
border-radius: 0.375rem;
|
|
42
|
+
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
43
|
+
font-size: 0.875rem;
|
|
44
|
+
font-weight: 500;
|
|
45
|
+
line-height: 1.25rem;
|
|
46
|
+
text-align: center;
|
|
47
|
+
text-transform: none;
|
|
48
|
+
white-space: nowrap;
|
|
49
|
+
vertical-align: middle;
|
|
50
|
+
user-select: none;
|
|
51
|
+
background-color: #4F46E5;
|
|
52
|
+
color: #fff;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
outline: none;
|
|
55
|
+
transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.btn-default {
|
|
59
|
+
background-color: #4F46E5;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.btn-default:hover {
|
|
63
|
+
opacity: 0.8;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.select {
|
|
67
|
+
display: block;
|
|
68
|
+
width: 100%;
|
|
69
|
+
padding-left: 0.75rem;
|
|
70
|
+
color: #000;
|
|
71
|
+
padding-right: 2.5rem;
|
|
72
|
+
padding-top: 0.5rem;
|
|
73
|
+
padding-bottom: 0.5rem;
|
|
74
|
+
font-size: 1rem;
|
|
75
|
+
border-radius: 0.375rem;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* DIALOG */
|
|
79
|
+
.dialog-header {
|
|
80
|
+
display: flex;
|
|
81
|
+
justify-content: space-between;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.dialog-header h4 {
|
|
85
|
+
margin: 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.dialog-mask {
|
|
89
|
+
overflow-x: hidden;
|
|
90
|
+
overflow-y: auto;
|
|
91
|
+
display: flex;
|
|
92
|
+
justify-content: center;
|
|
93
|
+
padding-top: 2.5rem;
|
|
94
|
+
padding-bottom: 5rem;
|
|
95
|
+
background-color: #0005;
|
|
96
|
+
position: fixed;
|
|
97
|
+
inset: 0;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.dialog-body {
|
|
101
|
+
display: flex;
|
|
102
|
+
flex-direction: column;
|
|
103
|
+
gap: 1.25rem;
|
|
104
|
+
padding: 1.25rem;
|
|
105
|
+
height: max-content;
|
|
106
|
+
background-color: white;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* DIALOG */
|
|
110
|
+
}
|
|
@@ -9,7 +9,4 @@ declare module '*.scss' {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
// Add specific CSS module declarations
|
|
12
|
-
declare module 'leaflet/dist/leaflet.css';
|
|
13
|
-
declare module 'leaflet-draw/dist/leaflet.draw.css';
|
|
14
|
-
declare module 'leaflet.fullscreen/Control.FullScreen.css';
|
|
15
12
|
declare module './css/center-active-control.css';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cortex-react-ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "React UI",
|
|
5
5
|
"author": "Anthony",
|
|
6
6
|
"license": "MIT",
|
|
@@ -84,10 +84,13 @@
|
|
|
84
84
|
"@testing-library/react": "^11.1.0",
|
|
85
85
|
"@testing-library/user-event": "^12.1.10",
|
|
86
86
|
"@types/jest": "^26.0.15",
|
|
87
|
+
"@types/leaflet": "^1.7.10",
|
|
88
|
+
"@types/leaflet-draw": "^1.0.11",
|
|
89
|
+
"@types/leaflet.fullscreen": "^1.6.1",
|
|
87
90
|
"@types/node": "^22.10.5",
|
|
88
91
|
"@types/react": "^17.0.0",
|
|
89
92
|
"@types/react-dom": "^17.0.0",
|
|
90
|
-
"@yudiel/react-qr-scanner": "
|
|
93
|
+
"@yudiel/react-qr-scanner": "2.1.0",
|
|
91
94
|
"css-loader": "5.2.6",
|
|
92
95
|
"eslint-config-airbnb": "^18.2.1",
|
|
93
96
|
"eslint-plugin-import": "^2.25.2",
|
|
@@ -100,7 +103,6 @@
|
|
|
100
103
|
"react-dom": "^18.1.0",
|
|
101
104
|
"react-icons": "^5.3.0",
|
|
102
105
|
"react-scripts": "^5.0.1",
|
|
103
|
-
"react-webcam": "^7.2.0",
|
|
104
106
|
"rollup": "^2.60.2",
|
|
105
107
|
"rollup-plugin-copy": "^3.4.0",
|
|
106
108
|
"rollup-plugin-css-only": "^4.5.2",
|
|
@@ -119,6 +121,20 @@
|
|
|
119
121
|
"url-loader": "^4.1.1"
|
|
120
122
|
},
|
|
121
123
|
"dependencies": {
|
|
122
|
-
"@rollup/plugin-replace": "^5.0.2"
|
|
124
|
+
"@rollup/plugin-replace": "^5.0.2",
|
|
125
|
+
"leaflet": "^1.8.0",
|
|
126
|
+
"leaflet-active-area": "^1.2.1",
|
|
127
|
+
"leaflet-draw": "^1.0.4",
|
|
128
|
+
"leaflet.fullscreen": "^2.4.0",
|
|
129
|
+
"react-leaflet": "^4.0.0",
|
|
130
|
+
"react-leaflet-draw": "^0.20.4",
|
|
131
|
+
"react-webcam": "^7.2.0",
|
|
132
|
+
"screenfull": "^6.0.2"
|
|
133
|
+
},
|
|
134
|
+
"overrides": {
|
|
135
|
+
"@yudiel/react-qr-scanner": "2.1.0"
|
|
136
|
+
},
|
|
137
|
+
"resolutions": {
|
|
138
|
+
"@yudiel/react-qr-scanner": "2.1.0"
|
|
123
139
|
}
|
|
124
140
|
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
interface IHttpOption {
|
|
2
|
-
token?: string;
|
|
3
|
-
headers?: KeyValue<string, string>[];
|
|
4
|
-
}
|
|
5
|
-
export declare class HttpResponse<T = any> {
|
|
6
|
-
status: number;
|
|
7
|
-
data: T | null;
|
|
8
|
-
error: string | null;
|
|
9
|
-
}
|
|
10
|
-
export default class HttpService {
|
|
11
|
-
static get: <T = any>(url: string, params: Record<string, any>, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
12
|
-
static post: <T = any>(url: string, data: any, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
13
|
-
static put: <T = any>(url: string, data: any, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
14
|
-
static delete: <T = any>(url: string, params: Record<string, any>, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
interface IHttpOption {
|
|
2
|
-
token?: string;
|
|
3
|
-
headers?: KeyValue<string, string>[];
|
|
4
|
-
}
|
|
5
|
-
export declare class HttpResponse<T = any> {
|
|
6
|
-
status: number;
|
|
7
|
-
data: T | null;
|
|
8
|
-
error: string | null;
|
|
9
|
-
}
|
|
10
|
-
export default class HttpService {
|
|
11
|
-
static get: <T = any>(url: string, params: Record<string, any>, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
12
|
-
static post: <T = any>(url: string, data: any, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
13
|
-
static put: <T = any>(url: string, data: any, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
14
|
-
static delete: <T = any>(url: string, params: Record<string, any>, options?: IHttpOption) => Promise<HttpResponse<T>>;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
.btn {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
justify-content: center;
|
|
5
|
-
padding: 0.5rem 1rem;
|
|
6
|
-
border: 1px solid transparent;
|
|
7
|
-
border-radius: 0.375rem;
|
|
8
|
-
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
9
|
-
font-size: 0.875rem;
|
|
10
|
-
font-weight: 500;
|
|
11
|
-
line-height: 1.25rem;
|
|
12
|
-
text-align: center;
|
|
13
|
-
text-transform: none;
|
|
14
|
-
white-space: nowrap;
|
|
15
|
-
vertical-align: middle;
|
|
16
|
-
user-select: none;
|
|
17
|
-
background-color: #4F46E5;
|
|
18
|
-
color: #fff;
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
outline: none;
|
|
21
|
-
transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.btn-default {
|
|
25
|
-
background-color: #4F46E5;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.btn-default:hover {
|
|
29
|
-
opacity: 0.8;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.select {
|
|
33
|
-
display: block;
|
|
34
|
-
width: 100%;
|
|
35
|
-
padding-left: 0.75rem;
|
|
36
|
-
color: #000;
|
|
37
|
-
padding-right: 2.5rem;
|
|
38
|
-
padding-top: 0.5rem;
|
|
39
|
-
padding-bottom: 0.5rem;
|
|
40
|
-
font-size: 1rem;
|
|
41
|
-
border-radius: 0.375rem;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/* DIALOG */
|
|
45
|
-
.dialog-header {
|
|
46
|
-
display: flex;
|
|
47
|
-
justify-content: space-between;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.dialog-header h4 {
|
|
51
|
-
margin: 0;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.dialog-mask {
|
|
55
|
-
overflow-x: hidden;
|
|
56
|
-
overflow-y: auto;
|
|
57
|
-
display: flex;
|
|
58
|
-
justify-content: center;
|
|
59
|
-
padding-top: 2.5rem;
|
|
60
|
-
padding-bottom: 5rem;
|
|
61
|
-
background-color: #0005;
|
|
62
|
-
position: fixed;
|
|
63
|
-
inset: 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.dialog-body {
|
|
67
|
-
display: flex;
|
|
68
|
-
flex-direction: column;
|
|
69
|
-
gap: 1.25rem;
|
|
70
|
-
padding: 1.25rem;
|
|
71
|
-
height: max-content;
|
|
72
|
-
background-color: white;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/* DIALOG */
|