@dartcom/ui-kit 10.3.5 → 10.3.8
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/README.md +109 -3
- package/dist/components/buttons/icon/constants.d.ts +3 -0
- package/dist/components/buttons/icon/constants.d.ts.map +1 -1
- package/dist/components/buttons/icon/icon.d.ts.map +1 -1
- package/dist/components/error-boundary/error-boundary.d.ts.map +1 -1
- package/dist/components/form/input/input.d.ts +4 -0
- package/dist/components/form/input/input.d.ts.map +1 -0
- package/dist/components/list/list.d.ts +2 -19
- package/dist/components/list/list.d.ts.map +1 -1
- package/dist/components/list/list.stories.d.ts +1 -0
- package/dist/components/list/list.stories.d.ts.map +1 -1
- package/dist/components/list/types.d.ts +19 -0
- package/dist/components/list/types.d.ts.map +1 -0
- package/dist/components/loader/card.stories.d.ts +0 -2
- package/dist/components/loader/card.stories.d.ts.map +1 -1
- package/dist/components/loader/types.d.ts +1 -3
- package/dist/components/loader/types.d.ts.map +1 -1
- package/dist/index.cjs +66 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +6 -6
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/hooks/index.d.ts +1 -0
- package/dist/lib/hooks/index.d.ts.map +1 -1
- package/dist/lib/hooks/useDeviceType.d.ts +6 -0
- package/dist/lib/hooks/useDeviceType.d.ts.map +1 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -24,7 +24,6 @@ npm run storybook
|
|
|
24
24
|
|
|
25
25
|
- У вас есть аккаунт npm и токен доступа
|
|
26
26
|
|
|
27
|
-
```javascript
|
|
28
27
|
// Проверьте сборку
|
|
29
28
|
npm run build
|
|
30
29
|
|
|
@@ -33,9 +32,116 @@ npm pack
|
|
|
33
32
|
|
|
34
33
|
git push origin v3.8.16
|
|
35
34
|
|
|
36
|
-
Основные
|
|
35
|
+
Основные ссылки
|
|
37
36
|
|
|
38
37
|
```javascript
|
|
39
38
|
https://unpkg.com/leaflet-textpath@1.3.0/leaflet.textpath.js
|
|
40
39
|
```
|
|
41
|
-
|
|
40
|
+
|
|
41
|
+
Ссылка на бибилотеку, которая отвечает за отрисовку текста. Ее нужно подключать отдельно, если в проекте используются подписи по линейной геометрии
|
|
42
|
+
|
|
43
|
+
## Работа с картой
|
|
44
|
+
|
|
45
|
+
- Для начала работы потребуется установить следующие библиотеки:
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
npm i -S react react-dom leaflet react-leaflet @dartcom/ui-kit
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- Основную часть приложения, где будет использоваться карта, нужно обернуть в **DartcomProviders**:
|
|
52
|
+
|
|
53
|
+
```javascript
|
|
54
|
+
import { DartcomProviders } from '@dartcom/ui-kit';
|
|
55
|
+
|
|
56
|
+
<DartcomProviders
|
|
57
|
+
configOptions={{
|
|
58
|
+
private_key: 'Ваш приватный ключ',
|
|
59
|
+
|
|
60
|
+
apiConfig: {
|
|
61
|
+
baseURL: 'Основной адрес backend',
|
|
62
|
+
},
|
|
63
|
+
}}>
|
|
64
|
+
{...Content}
|
|
65
|
+
</DartcomProviders>;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**private_key** - ключ доступа к библиотеки, он выдается администрацией и проверяется для доступа как к самой карте, так и к определенным компонентам внтури библиотеки
|
|
69
|
+
|
|
70
|
+
**baseURL** - адрес backend части вашего приложения, куда отсылаются основные запросы
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
- Далее в вашем приложении нужно инициализировать карту leafet внтури основного **DartcomProviders**:
|
|
74
|
+
|
|
75
|
+
```javascript
|
|
76
|
+
import { MapContainer } from 'react-leaflet';
|
|
77
|
+
|
|
78
|
+
<MapContainer center={[51.505, -0.09]} zoom={13} scrollWheelZoom={false}>
|
|
79
|
+
{...Content}
|
|
80
|
+
</MapContainer>;
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- Теперь нужно поместить внутрь MapContainer компонент с нашим слоем:
|
|
84
|
+
|
|
85
|
+
```javascript
|
|
86
|
+
import DartcomLayer from './your-path';
|
|
87
|
+
|
|
88
|
+
import { MapContainer } from 'react-leaflet';
|
|
89
|
+
|
|
90
|
+
<MapContainer center={[51.505, -0.09]} zoom={13} scrollWheelZoom={false}>
|
|
91
|
+
<DartcomLayer />
|
|
92
|
+
|
|
93
|
+
{...Content}
|
|
94
|
+
</MapContainer>;
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- В компоненте нужно инициализировать слой и добавить его на карту как основную подложку:
|
|
98
|
+
|
|
99
|
+
```javascript
|
|
100
|
+
// your-path.tsx
|
|
101
|
+
|
|
102
|
+
import * as React from 'react';
|
|
103
|
+
|
|
104
|
+
import { useMap } from 'react-leaflet';
|
|
105
|
+
|
|
106
|
+
import {
|
|
107
|
+
getAllLayers,
|
|
108
|
+
SourceLayers,
|
|
109
|
+
TangramLayer,
|
|
110
|
+
TangramSourceNames,
|
|
111
|
+
} from '@dartcom/ui-kit';
|
|
112
|
+
|
|
113
|
+
const DartcomLayer: React.FC = () => {
|
|
114
|
+
const map = useMap();
|
|
115
|
+
|
|
116
|
+
React.useEffect(() => {
|
|
117
|
+
const { current: layersControl } = controlRef;
|
|
118
|
+
|
|
119
|
+
const defaultLayers = getAllLayers(TangramSourceNames.TILE);
|
|
120
|
+
|
|
121
|
+
new TangramLayer({
|
|
122
|
+
defaultLayers,
|
|
123
|
+
|
|
124
|
+
eventHandlers: {
|
|
125
|
+
[SourceLayers[name]]: {
|
|
126
|
+
click: ({ properties }) => {},
|
|
127
|
+
hover: ({ properties }) => {},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
onCreate: ({ layer }) => {
|
|
132
|
+
layer.addTo(map);
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
onDestroy: ({ layer }) => {
|
|
136
|
+
layer.removeFrom(map);
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
}, []);
|
|
140
|
+
|
|
141
|
+
return null;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export default DartcomLayer;
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
- **defaultLayers** - это основной список слоев, которые можно получить из библиотеки и который будет показываться на карте. В примере мы грузим все слои из ресурса **TangramSourceNames.TILE** с помощью функции **getAllLayers**, но пожно подгружать разные слои из разных ресурсов
|
|
@@ -14,5 +14,8 @@ export declare const icons: {
|
|
|
14
14
|
delete: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
15
15
|
muiName: string;
|
|
16
16
|
};
|
|
17
|
+
clear: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
18
|
+
muiName: string;
|
|
19
|
+
};
|
|
17
20
|
};
|
|
18
21
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/buttons/icon/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/buttons/icon/constants.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;CAOjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/components/buttons/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/components/buttons/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ1C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwCzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../../src/components/error-boundary/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../../src/components/error-boundary/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAYnD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CACjC,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAOlD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/components/form/input/input.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,iBAAS,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,2CAqDjD;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { SxProps } from '@mui/material';
|
|
4
|
-
interface CustomListProps<T> {
|
|
5
|
-
items: T[];
|
|
6
|
-
columnsCount?: number;
|
|
7
|
-
title?: string;
|
|
8
|
-
getContent: (item: T, index: number) => React.JSX.Element;
|
|
9
|
-
getKey: (item: T, index: number) => StringOrNumber;
|
|
10
|
-
onClick?: (item: T, index: number) => void;
|
|
11
|
-
sx?: {
|
|
12
|
-
root?: SxProps;
|
|
13
|
-
list?: SxProps;
|
|
14
|
-
title?: SxProps;
|
|
15
|
-
item?: SxProps;
|
|
16
|
-
};
|
|
17
|
-
isShowNoData?: boolean;
|
|
18
|
-
}
|
|
19
|
-
declare function CustomList<T>({ items, columnsCount, getContent, title, getKey, onClick, sx, isShowNoData, }: CustomListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { ListProps } from './types';
|
|
2
|
+
declare function CustomList<T>({ items, columnsCount, getContent, title, getKey, onClick, onClear, sx, isShowNoData, }: ListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
20
3
|
export default CustomList;
|
|
21
4
|
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/components/list/list.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/components/list/list.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,iBAAS,UAAU,CAAC,CAAC,EAAE,EACrB,KAAK,EACL,YAAgB,EAChB,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,EAAE,EAEF,YAAmB,GACpB,EAAE,SAAS,CAAC,CAAC,CAAC,2CA+Fd;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.stories.d.ts","sourceRoot":"","sources":["../../../src/components/list/list.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAEzB,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.stories.d.ts","sourceRoot":"","sources":["../../../src/components/list/list.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAEzB,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CAQ3B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAY3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAYzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAYvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAiBvB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { StringOrNumber } from '../../lib/types';
|
|
2
|
+
import { SystemStyleObject, Theme } from '@mui/system';
|
|
3
|
+
export type ListProps<T> = {
|
|
4
|
+
items: T[];
|
|
5
|
+
columnsCount?: number;
|
|
6
|
+
title?: string;
|
|
7
|
+
getContent: (item: T, index: number) => React.JSX.Element;
|
|
8
|
+
getKey: (item: T, index: number) => StringOrNumber;
|
|
9
|
+
onClick?: (item: T, index: number) => void;
|
|
10
|
+
onClear?: () => void;
|
|
11
|
+
sx?: {
|
|
12
|
+
root?: SystemStyleObject<Theme>;
|
|
13
|
+
list?: SystemStyleObject<Theme>;
|
|
14
|
+
title?: SystemStyleObject<Theme>;
|
|
15
|
+
item?: SystemStyleObject<Theme>;
|
|
16
|
+
};
|
|
17
|
+
isShowNoData?: boolean;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/list/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1D,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC;IAEnD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACjC,CAAC;IAEF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.stories.d.ts","sourceRoot":"","sources":["../../../src/components/loader/card.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"card.stories.d.ts","sourceRoot":"","sources":["../../../src/components/loader/card.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAE3B,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAS5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAQ7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAoBrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/loader/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/loader/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG,EAAE,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var material = require('@mui/material');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
var require$$2 = require('react-dom');
|
|
5
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
var axios = require('axios');
|
|
7
8
|
var xDatePickers = require('@mui/x-date-pickers');
|
|
8
9
|
var AdapterDateFns = require('@mui/x-date-pickers/AdapterDateFns');
|
|
9
|
-
var material = require('@mui/material');
|
|
10
10
|
var styles$2 = require('@mui/material/styles');
|
|
11
11
|
var ArrowDownwardIcon = require('@mui/icons-material/ArrowDownward');
|
|
12
12
|
var IconButton$1 = require('@mui/material/IconButton');
|
|
13
|
+
var ClearIcon = require('@mui/icons-material/Clear');
|
|
13
14
|
var DeleteIcon = require('@mui/icons-material/Delete');
|
|
14
15
|
var EditIcon = require('@mui/icons-material/Edit');
|
|
15
16
|
var MovingIcon = require('@mui/icons-material/Moving');
|
|
@@ -65,6 +66,18 @@ exports.Operations = void 0;
|
|
|
65
66
|
Operations["DELETE"] = "delete";
|
|
66
67
|
})(exports.Operations || (exports.Operations = {}));
|
|
67
68
|
|
|
69
|
+
const useDeviceType = () => {
|
|
70
|
+
const theme = material.useTheme();
|
|
71
|
+
const isMobile = material.useMediaQuery(theme.breakpoints.down('sm'));
|
|
72
|
+
const isTablet = material.useMediaQuery(theme.breakpoints.between('sm', 'md'));
|
|
73
|
+
const isDesktop = material.useMediaQuery(theme.breakpoints.up('md'));
|
|
74
|
+
return {
|
|
75
|
+
isMobile,
|
|
76
|
+
isTablet,
|
|
77
|
+
isDesktop,
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
68
81
|
const _testApiKeys = {
|
|
69
82
|
valid: '18c38ab326d12f428e90be50a5141fc8949de497df7f7e0c1796d58e99d006f3',
|
|
70
83
|
dateExpired: '8cbc5e15e61e649daf57c3a08422ae372c101afb4759036a3864a9fa588ef717',
|
|
@@ -16490,13 +16503,7 @@ const copyInformation = async (json) => {
|
|
|
16490
16503
|
const jsonString = JSON.stringify(json, null, 2);
|
|
16491
16504
|
const isSuccess = await navigator.clipboard
|
|
16492
16505
|
.writeText(jsonString)
|
|
16493
|
-
.then(() =>
|
|
16494
|
-
showSnackbar({
|
|
16495
|
-
message: 'Данные были успешно скопированы в буфер обмена',
|
|
16496
|
-
variant: 'success',
|
|
16497
|
-
});
|
|
16498
|
-
return true;
|
|
16499
|
-
})
|
|
16506
|
+
.then(() => true)
|
|
16500
16507
|
.catch(() => false);
|
|
16501
16508
|
return isSuccess;
|
|
16502
16509
|
};
|
|
@@ -26782,8 +26789,8 @@ const Provider = (props) => {
|
|
|
26782
26789
|
return (jsxRuntime.jsx(xDatePickers.LocalizationProvider, { ...props, dateAdapter: AdapterDateFns.AdapterDateFns, adapterLocale: ru }));
|
|
26783
26790
|
};
|
|
26784
26791
|
|
|
26785
|
-
const Loader = (
|
|
26786
|
-
return jsxRuntime.jsx(material.CircularProgress, {
|
|
26792
|
+
const Loader = (props) => {
|
|
26793
|
+
return jsxRuntime.jsx(material.CircularProgress, { ...props });
|
|
26787
26794
|
};
|
|
26788
26795
|
|
|
26789
26796
|
const DartcomInitializeProvider = ({ children, configOptions }) => {
|
|
@@ -29530,19 +29537,25 @@ const icons = {
|
|
|
29530
29537
|
move: MovingIcon,
|
|
29531
29538
|
save: SaveIcon,
|
|
29532
29539
|
delete: DeleteIcon,
|
|
29540
|
+
clear: ClearIcon,
|
|
29533
29541
|
};
|
|
29534
29542
|
|
|
29543
|
+
const StyledIconButton = material.styled(material.IconButton)(() => {
|
|
29544
|
+
return {
|
|
29545
|
+
padding: 0,
|
|
29546
|
+
};
|
|
29547
|
+
});
|
|
29535
29548
|
const IconButton = ({ title, iconProps, ...props }) => {
|
|
29536
29549
|
const buttonId = React__namespace.useId();
|
|
29537
29550
|
const Icon = icons[iconProps.name];
|
|
29538
29551
|
const iconColor = iconProps.color ?? 'primary';
|
|
29539
29552
|
if (title) {
|
|
29540
|
-
return (jsxRuntime.jsx(material.Tooltip, { title: title, children: jsxRuntime.jsx(
|
|
29553
|
+
return (jsxRuntime.jsx(material.Tooltip, { title: title, children: jsxRuntime.jsx(StyledIconButton, { id: buttonId, ...props, onClick: (event) => {
|
|
29541
29554
|
event.stopPropagation();
|
|
29542
29555
|
props.onClick?.(event);
|
|
29543
29556
|
}, children: jsxRuntime.jsx(Icon, { fontSize: "medium", color: iconColor }) }) }));
|
|
29544
29557
|
}
|
|
29545
|
-
return (jsxRuntime.jsx(
|
|
29558
|
+
return (jsxRuntime.jsx(StyledIconButton, { id: buttonId, ...props, onClick: (event) => {
|
|
29546
29559
|
event.stopPropagation();
|
|
29547
29560
|
props.onClick?.(event);
|
|
29548
29561
|
}, children: jsxRuntime.jsx(Icon, { fontSize: "medium", color: iconColor }) }));
|
|
@@ -32263,24 +32276,45 @@ const NoData = ({ text = 'Нет данных' }) => {
|
|
|
32263
32276
|
}, children: text }));
|
|
32264
32277
|
};
|
|
32265
32278
|
|
|
32266
|
-
function CustomList({ items, columnsCount = 1, getContent, title, getKey, onClick, sx, isShowNoData = true, }) {
|
|
32279
|
+
function CustomList({ items, columnsCount = 1, getContent, title, getKey, onClick, onClear, sx, isShowNoData = true, }) {
|
|
32267
32280
|
const isNoData = items.length === 0;
|
|
32268
|
-
return (jsxRuntime.jsxs(material.Box, { sx: {
|
|
32269
|
-
|
|
32270
|
-
|
|
32271
|
-
|
|
32272
|
-
|
|
32273
|
-
|
|
32274
|
-
|
|
32275
|
-
|
|
32276
|
-
|
|
32277
|
-
|
|
32278
|
-
|
|
32279
|
-
|
|
32280
|
-
|
|
32281
|
-
|
|
32282
|
-
|
|
32283
|
-
|
|
32281
|
+
return (jsxRuntime.jsxs(material.Box, { sx: ({ spacing, breakpoints }) => {
|
|
32282
|
+
return {
|
|
32283
|
+
display: 'grid',
|
|
32284
|
+
gridTemplateColumns: '1fr',
|
|
32285
|
+
gap: spacing(2),
|
|
32286
|
+
...sx?.root,
|
|
32287
|
+
[breakpoints.down('sm')]: {
|
|
32288
|
+
gap: spacing(1),
|
|
32289
|
+
},
|
|
32290
|
+
};
|
|
32291
|
+
}, children: [title || onClear ? (jsxRuntime.jsxs(material.Box, { sx: ({ spacing }) => {
|
|
32292
|
+
return {
|
|
32293
|
+
display: 'flex',
|
|
32294
|
+
alignItems: 'center',
|
|
32295
|
+
gap: spacing(1),
|
|
32296
|
+
};
|
|
32297
|
+
}, children: [title ? (jsxRuntime.jsx(material.Typography, { variant: "h6", noWrap: true, sx: {
|
|
32298
|
+
textAlign: 'center',
|
|
32299
|
+
fontWeight: 700,
|
|
32300
|
+
...sx?.title,
|
|
32301
|
+
}, children: title })) : null, onClear ? (jsxRuntime.jsx(IconButton, { iconProps: {
|
|
32302
|
+
name: 'clear',
|
|
32303
|
+
color: 'warning',
|
|
32304
|
+
}, onClick: onClear })) : null] })) : null, isNoData ? (jsxRuntime.jsx(React__namespace.Fragment, { children: isShowNoData ? jsxRuntime.jsx(NoData, {}) : null })) : (jsxRuntime.jsx(material.List, { sx: ({ spacing, breakpoints }) => {
|
|
32305
|
+
return {
|
|
32306
|
+
display: 'grid',
|
|
32307
|
+
gridTemplateColumns: `repeat(${columnsCount}, 1fr)`,
|
|
32308
|
+
gap: spacing(2),
|
|
32309
|
+
...sx?.list,
|
|
32310
|
+
[breakpoints.down('sm')]: {
|
|
32311
|
+
gap: spacing(1),
|
|
32312
|
+
},
|
|
32313
|
+
};
|
|
32314
|
+
}, disablePadding: true, children: items.map((item, index) => (jsxRuntime.jsx(material.ListItem, { onClick: () => onClick?.(item, index), sx: () => {
|
|
32315
|
+
return {
|
|
32316
|
+
...sx?.item,
|
|
32317
|
+
};
|
|
32284
32318
|
}, disablePadding: true, children: getContent(item, index) }, getKey(item, index)))) }))] }));
|
|
32285
32319
|
}
|
|
32286
32320
|
|
|
@@ -39338,8 +39372,8 @@ function C(r = [], e = []) {
|
|
|
39338
39372
|
return r.length !== e.length || r.some((t, o) => !Object.is(t, e[o]));
|
|
39339
39373
|
}
|
|
39340
39374
|
|
|
39341
|
-
const ErrorFallback = ({
|
|
39342
|
-
return (jsxRuntime.jsxs(material.Box, { role: "alert", sx: { padding: '20px', background: '#fee' }, children: [jsxRuntime.jsx(material.Typography, { variant: "h2", children: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F" }), jsxRuntime.jsx(
|
|
39375
|
+
const ErrorFallback = ({ resetErrorBoundary }) => {
|
|
39376
|
+
return (jsxRuntime.jsxs(material.Box, { role: "alert", sx: { padding: '20px', background: '#fee' }, children: [jsxRuntime.jsx(material.Typography, { variant: "h2", children: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F" }), jsxRuntime.jsx(Button, { onClick: resetErrorBoundary, children: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430" })] }));
|
|
39343
39377
|
};
|
|
39344
39378
|
const CustomErrorBoundary = ({ children, FallbackComponent = ErrorFallback }) => {
|
|
39345
39379
|
return (jsxRuntime.jsx(m, { FallbackComponent: FallbackComponent, children: children }));
|
|
@@ -47895,6 +47929,7 @@ exports.trafficSignConfig = trafficSignConfig;
|
|
|
47895
47929
|
exports.trafficSignalConfig = trafficSignalConfig;
|
|
47896
47930
|
exports.trafficSigns = trafficSigns;
|
|
47897
47931
|
exports.trafficSignsDop = trafficSignsDop;
|
|
47932
|
+
exports.useDeviceType = useDeviceType;
|
|
47898
47933
|
exports.useFormContext = useFormContext;
|
|
47899
47934
|
exports.useGetUser = useGetUser;
|
|
47900
47935
|
exports.useLazyGetUser = useLazyGetUser;
|