react-native-maplibre-lite 0.2.0 → 0.2.2
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 +92 -6
- package/lib/module/components/MapView.js +116 -14
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/NavigatorHud.js +152 -0
- package/lib/module/components/NavigatorHud.js.map +1 -0
- package/lib/module/components/NavigatorRecenterButton.js +48 -0
- package/lib/module/components/NavigatorRecenterButton.js.map +1 -0
- package/lib/module/components/NavigatorVoiceControl.js +173 -0
- package/lib/module/components/NavigatorVoiceControl.js.map +1 -0
- package/lib/module/components/navigatorChromeTheme.js +98 -0
- package/lib/module/components/navigatorChromeTheme.js.map +1 -0
- package/lib/module/components/navigatorManeuverIcon.js +210 -0
- package/lib/module/components/navigatorManeuverIcon.js.map +1 -0
- package/lib/module/components/navigatorVoiceCatalog.js +261 -0
- package/lib/module/components/navigatorVoiceCatalog.js.map +1 -0
- package/lib/module/components/navigatorVoiceKeys.js +14 -0
- package/lib/module/components/navigatorVoiceKeys.js.map +1 -0
- package/lib/module/components/navigatorVoicePlayer.js +100 -0
- package/lib/module/components/navigatorVoicePlayer.js.map +1 -0
- package/lib/module/components/navigatorVoiceStrings.js +31 -0
- package/lib/module/components/navigatorVoiceStrings.js.map +1 -0
- package/lib/module/components/types.js +22 -0
- package/lib/module/components/types.js.map +1 -1
- package/lib/module/components/useNavigatorVoice.js +78 -0
- package/lib/module/components/useNavigatorVoice.js.map +1 -0
- package/lib/module/components/utils.js +26 -0
- package/lib/module/components/utils.js.map +1 -1
- package/lib/module/components/webMapBuild.js +1 -1
- package/lib/module/components/webMapBuild.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/MapView.d.ts +14 -1
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- package/lib/typescript/src/components/NavigatorHud.d.ts +13 -0
- package/lib/typescript/src/components/NavigatorHud.d.ts.map +1 -0
- package/lib/typescript/src/components/NavigatorRecenterButton.d.ts +11 -0
- package/lib/typescript/src/components/NavigatorRecenterButton.d.ts.map +1 -0
- package/lib/typescript/src/components/NavigatorVoiceControl.d.ts +20 -0
- package/lib/typescript/src/components/NavigatorVoiceControl.d.ts.map +1 -0
- package/lib/typescript/src/components/navigatorChromeTheme.d.ts +19 -0
- package/lib/typescript/src/components/navigatorChromeTheme.d.ts.map +1 -0
- package/lib/typescript/src/components/navigatorManeuverIcon.d.ts +20 -0
- package/lib/typescript/src/components/navigatorManeuverIcon.d.ts.map +1 -0
- package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts +50 -0
- package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts.map +1 -0
- package/lib/typescript/src/components/navigatorVoiceKeys.d.ts +10 -0
- package/lib/typescript/src/components/navigatorVoiceKeys.d.ts.map +1 -0
- package/lib/typescript/src/components/navigatorVoicePlayer.d.ts +15 -0
- package/lib/typescript/src/components/navigatorVoicePlayer.d.ts.map +1 -0
- package/lib/typescript/src/components/navigatorVoiceStrings.d.ts +19 -0
- package/lib/typescript/src/components/navigatorVoiceStrings.d.ts.map +1 -0
- package/lib/typescript/src/components/types.d.ts +83 -17
- package/lib/typescript/src/components/types.d.ts.map +1 -1
- package/lib/typescript/src/components/useNavigatorVoice.d.ts +20 -0
- package/lib/typescript/src/components/useNavigatorVoice.d.ts.map +1 -0
- package/lib/typescript/src/components/utils.d.ts +9 -0
- package/lib/typescript/src/components/utils.d.ts.map +1 -1
- package/lib/typescript/src/components/webMapBuild.d.ts +1 -1
- package/lib/typescript/src/components/webMapBuild.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +16 -7
- package/resources/README.md +62 -0
- package/resources/map.html +797 -0
- package/src/components/MapView.tsx +154 -8
- package/src/components/NavigatorHud.tsx +166 -0
- package/src/components/NavigatorRecenterButton.tsx +45 -0
- package/src/components/NavigatorVoiceControl.tsx +198 -0
- package/src/components/navigatorChromeTheme.ts +118 -0
- package/src/components/navigatorManeuverIcon.tsx +177 -0
- package/src/components/navigatorVoiceCatalog.ts +316 -0
- package/src/components/navigatorVoiceKeys.ts +132 -0
- package/src/components/navigatorVoicePlayer.tsx +126 -0
- package/src/components/navigatorVoiceStrings.ts +42 -0
- package/src/components/types.ts +87 -18
- package/src/components/useNavigatorVoice.ts +96 -0
- package/src/components/utils.ts +28 -0
- package/src/components/webMapBuild.ts +1 -1
- package/src/index.tsx +8 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Pressable } from 'react-native';
|
|
4
|
+
import { NavigatorRecenterIcon } from "./navigatorManeuverIcon.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
/**
|
|
7
|
+
* FAB «вернуть камеру на положение». При нажатии шлёт команду
|
|
8
|
+
* `recenterNavigatorCamera` в WebView — навигатор делает recenter.
|
|
9
|
+
*/
|
|
10
|
+
export function NavigatorRecenterButton({
|
|
11
|
+
theme,
|
|
12
|
+
accessibilityLabel,
|
|
13
|
+
onPress
|
|
14
|
+
}) {
|
|
15
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
16
|
+
accessibilityRole: "button",
|
|
17
|
+
accessibilityLabel: accessibilityLabel,
|
|
18
|
+
onPress: onPress,
|
|
19
|
+
style: ({
|
|
20
|
+
pressed
|
|
21
|
+
}) => ({
|
|
22
|
+
position: 'absolute',
|
|
23
|
+
right: 16,
|
|
24
|
+
bottom: 16,
|
|
25
|
+
width: 56,
|
|
26
|
+
height: 56,
|
|
27
|
+
borderRadius: 28,
|
|
28
|
+
alignItems: 'center',
|
|
29
|
+
justifyContent: 'center',
|
|
30
|
+
backgroundColor: theme.background,
|
|
31
|
+
shadowColor: '#0f172a',
|
|
32
|
+
shadowOpacity: 0.32,
|
|
33
|
+
shadowRadius: 24,
|
|
34
|
+
shadowOffset: {
|
|
35
|
+
width: 0,
|
|
36
|
+
height: 10
|
|
37
|
+
},
|
|
38
|
+
elevation: 6,
|
|
39
|
+
transform: [{
|
|
40
|
+
scale: pressed ? 0.96 : 1
|
|
41
|
+
}]
|
|
42
|
+
}),
|
|
43
|
+
children: /*#__PURE__*/_jsx(NavigatorRecenterIcon, {
|
|
44
|
+
color: theme.iconForeground
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=NavigatorRecenterButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Pressable","NavigatorRecenterIcon","jsx","_jsx","NavigatorRecenterButton","theme","accessibilityLabel","onPress","accessibilityRole","style","pressed","position","right","bottom","width","height","borderRadius","alignItems","justifyContent","backgroundColor","background","shadowColor","shadowOpacity","shadowRadius","shadowOffset","elevation","transform","scale","children","color","iconForeground"],"sourceRoot":"../../../src","sources":["components/NavigatorRecenterButton.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,cAAc;AAExC,SAASC,qBAAqB,QAAQ,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGhE;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAAC;EACpCC,KAAK;EACLC,kBAAkB;EAClBC;AAKJ,CAAC,EAAE;EACC,oBACIJ,IAAA,CAACH,SAAS;IACNQ,iBAAiB,EAAC,QAAQ;IAC1BF,kBAAkB,EAAEA,kBAAmB;IACvCC,OAAO,EAAEA,OAAQ;IACjBE,KAAK,EAAEA,CAAC;MAAEC;IAAQ,CAAC,MAAM;MACrBC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,EAAE;MACVC,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,EAAE;MACVC,YAAY,EAAE,EAAE;MAChBC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE,QAAQ;MACxBC,eAAe,EAAEd,KAAK,CAACe,UAAU;MACjCC,WAAW,EAAE,SAAS;MACtBC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,EAAE;MAChBC,YAAY,EAAE;QAAEV,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAG,CAAC;MACtCU,SAAS,EAAE,CAAC;MACZC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAEjB,OAAO,GAAG,IAAI,GAAG;MAAE,CAAC;IAC7C,CAAC,CAAE;IAAAkB,QAAA,eAEHzB,IAAA,CAACF,qBAAqB;MAAC4B,KAAK,EAAExB,KAAK,CAACyB;IAAe,CAAE;EAAC,CAC/C,CAAC;AAEpB","ignoreList":[]}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Pressable, ScrollView, Text, View } from 'react-native';
|
|
5
|
+
import { NavigatorVoiceIcon } from "./navigatorManeuverIcon.js";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
/**
|
|
8
|
+
* FAB выбора голоса + меню (список голосов, громкость 1–5, «отключить»).
|
|
9
|
+
* Порт DOM-меню из веб-навигатора. Каталог/манифест и персист — в
|
|
10
|
+
* `useNavigatorVoice`; компонент только презентационный.
|
|
11
|
+
*/
|
|
12
|
+
export function NavigatorVoiceControl({
|
|
13
|
+
theme,
|
|
14
|
+
strings,
|
|
15
|
+
catalog,
|
|
16
|
+
selectedDir,
|
|
17
|
+
voiceEnabled,
|
|
18
|
+
volumeLevel,
|
|
19
|
+
onSelectVoice,
|
|
20
|
+
onSelectVolume,
|
|
21
|
+
onDisable
|
|
22
|
+
}) {
|
|
23
|
+
const [open, setOpen] = useState(false);
|
|
24
|
+
if (catalog.length === 0) return null;
|
|
25
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
26
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
27
|
+
accessibilityRole: "button",
|
|
28
|
+
accessibilityLabel: strings.voicePickerAria,
|
|
29
|
+
onPress: () => setOpen(v => !v),
|
|
30
|
+
style: ({
|
|
31
|
+
pressed
|
|
32
|
+
}) => ({
|
|
33
|
+
position: 'absolute',
|
|
34
|
+
right: 16,
|
|
35
|
+
bottom: 16 + 56 + 8,
|
|
36
|
+
width: 56,
|
|
37
|
+
height: 56,
|
|
38
|
+
borderRadius: 28,
|
|
39
|
+
alignItems: 'center',
|
|
40
|
+
justifyContent: 'center',
|
|
41
|
+
backgroundColor: theme.background,
|
|
42
|
+
shadowColor: '#0f172a',
|
|
43
|
+
shadowOpacity: 0.32,
|
|
44
|
+
shadowRadius: 24,
|
|
45
|
+
shadowOffset: {
|
|
46
|
+
width: 0,
|
|
47
|
+
height: 10
|
|
48
|
+
},
|
|
49
|
+
elevation: 6,
|
|
50
|
+
opacity: pressed ? 0.9 : 1
|
|
51
|
+
}),
|
|
52
|
+
children: /*#__PURE__*/_jsx(NavigatorVoiceIcon, {
|
|
53
|
+
color: voiceEnabled ? theme.iconForeground : theme.muted
|
|
54
|
+
})
|
|
55
|
+
}), open ? /*#__PURE__*/_jsx(View, {
|
|
56
|
+
style: {
|
|
57
|
+
position: 'absolute',
|
|
58
|
+
right: 16,
|
|
59
|
+
bottom: 16 + 56 + 8 + 56 + 8,
|
|
60
|
+
minWidth: 200,
|
|
61
|
+
maxWidth: 280,
|
|
62
|
+
paddingVertical: 6,
|
|
63
|
+
borderRadius: 12,
|
|
64
|
+
backgroundColor: theme.background,
|
|
65
|
+
shadowColor: '#0f172a',
|
|
66
|
+
shadowOpacity: 0.32,
|
|
67
|
+
shadowRadius: 24,
|
|
68
|
+
shadowOffset: {
|
|
69
|
+
width: 0,
|
|
70
|
+
height: 10
|
|
71
|
+
},
|
|
72
|
+
elevation: 8
|
|
73
|
+
},
|
|
74
|
+
children: /*#__PURE__*/_jsxs(ScrollView, {
|
|
75
|
+
style: {
|
|
76
|
+
maxHeight: 280
|
|
77
|
+
},
|
|
78
|
+
children: [catalog.map(entry => {
|
|
79
|
+
const active = voiceEnabled && entry.dir === selectedDir;
|
|
80
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
81
|
+
accessibilityRole: "menuitem",
|
|
82
|
+
onPress: () => {
|
|
83
|
+
setOpen(false);
|
|
84
|
+
onSelectVoice(entry.dir);
|
|
85
|
+
},
|
|
86
|
+
style: {
|
|
87
|
+
paddingVertical: 10,
|
|
88
|
+
paddingHorizontal: 16
|
|
89
|
+
},
|
|
90
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
91
|
+
style: {
|
|
92
|
+
fontSize: 15,
|
|
93
|
+
color: active ? theme.iconForeground : theme.foreground,
|
|
94
|
+
fontWeight: active ? '600' : '400'
|
|
95
|
+
},
|
|
96
|
+
children: entry.name
|
|
97
|
+
})
|
|
98
|
+
}, entry.dir);
|
|
99
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
100
|
+
style: {
|
|
101
|
+
marginTop: 4,
|
|
102
|
+
paddingTop: 12,
|
|
103
|
+
paddingHorizontal: 16,
|
|
104
|
+
borderTopWidth: 1,
|
|
105
|
+
borderTopColor: 'rgba(255, 255, 255, 0.12)'
|
|
106
|
+
},
|
|
107
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
108
|
+
style: {
|
|
109
|
+
marginBottom: 10,
|
|
110
|
+
fontSize: 13,
|
|
111
|
+
color: theme.muted
|
|
112
|
+
},
|
|
113
|
+
children: strings.voiceVolumeLabel
|
|
114
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
115
|
+
style: {
|
|
116
|
+
flexDirection: 'row',
|
|
117
|
+
alignItems: 'flex-end',
|
|
118
|
+
gap: 6
|
|
119
|
+
},
|
|
120
|
+
children: [1, 2, 3, 4, 5].map(step => {
|
|
121
|
+
const stepActive = step <= volumeLevel;
|
|
122
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
123
|
+
accessibilityRole: "button",
|
|
124
|
+
accessibilityLabel: strings.voiceVolumeStepAria(step),
|
|
125
|
+
onPress: () => onSelectVolume(step),
|
|
126
|
+
style: {
|
|
127
|
+
flex: 1,
|
|
128
|
+
height: 36,
|
|
129
|
+
justifyContent: 'flex-end',
|
|
130
|
+
alignItems: 'center',
|
|
131
|
+
paddingBottom: 4,
|
|
132
|
+
borderRadius: 6,
|
|
133
|
+
backgroundColor: step === volumeLevel ? 'rgba(59, 130, 246, 0.18)' : 'transparent'
|
|
134
|
+
},
|
|
135
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
136
|
+
style: {
|
|
137
|
+
width: 14,
|
|
138
|
+
height: Math.max(6, step * 6),
|
|
139
|
+
borderRadius: 2,
|
|
140
|
+
backgroundColor: stepActive ? theme.iconForeground : theme.muted
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
}, step);
|
|
144
|
+
})
|
|
145
|
+
})]
|
|
146
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
147
|
+
accessibilityRole: "menuitem",
|
|
148
|
+
onPress: () => {
|
|
149
|
+
setOpen(false);
|
|
150
|
+
onDisable();
|
|
151
|
+
},
|
|
152
|
+
style: {
|
|
153
|
+
marginTop: 4,
|
|
154
|
+
paddingTop: 12,
|
|
155
|
+
paddingBottom: 10,
|
|
156
|
+
paddingHorizontal: 16,
|
|
157
|
+
borderTopWidth: 1,
|
|
158
|
+
borderTopColor: 'rgba(255, 255, 255, 0.12)'
|
|
159
|
+
},
|
|
160
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
161
|
+
style: {
|
|
162
|
+
fontSize: 15,
|
|
163
|
+
color: !voiceEnabled ? theme.iconForeground : theme.muted,
|
|
164
|
+
fontWeight: !voiceEnabled ? '600' : '400'
|
|
165
|
+
},
|
|
166
|
+
children: strings.voiceDisable
|
|
167
|
+
})
|
|
168
|
+
})]
|
|
169
|
+
})
|
|
170
|
+
}) : null]
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=NavigatorVoiceControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","Pressable","ScrollView","Text","View","NavigatorVoiceIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NavigatorVoiceControl","theme","strings","catalog","selectedDir","voiceEnabled","volumeLevel","onSelectVoice","onSelectVolume","onDisable","open","setOpen","length","children","accessibilityRole","accessibilityLabel","voicePickerAria","onPress","v","style","pressed","position","right","bottom","width","height","borderRadius","alignItems","justifyContent","backgroundColor","background","shadowColor","shadowOpacity","shadowRadius","shadowOffset","elevation","opacity","color","iconForeground","muted","minWidth","maxWidth","paddingVertical","maxHeight","map","entry","active","dir","paddingHorizontal","fontSize","foreground","fontWeight","name","marginTop","paddingTop","borderTopWidth","borderTopColor","marginBottom","voiceVolumeLabel","flexDirection","gap","step","stepActive","voiceVolumeStepAria","flex","paddingBottom","Math","max","voiceDisable"],"sourceRoot":"../../../src","sources":["components/NavigatorVoiceControl.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Цвета HUD/FAB навигатора, выведенные из `navigatorChrome`. Порт
|
|
5
|
+
* HUD-части `resolveNavigatorChrome` из веб-навигатора: раньше эти
|
|
6
|
+
* CSS-переменные применялись к DOM, теперь панель рисует нативная часть.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const DEF_ACCENT = '#3b82f6';
|
|
10
|
+
const DEF_HUD_BG = 'rgba(15, 23, 42, 0.92)';
|
|
11
|
+
const DEF_HUD_FG = '#f8fafc';
|
|
12
|
+
const DEF_HUD_MUTED = '#94a3b8';
|
|
13
|
+
const DEF_HUD_SUBTLE = '#e2e8f0';
|
|
14
|
+
const DEF_HUD_SUMMARY = '#cbd5e1';
|
|
15
|
+
const RGB_WHITE = {
|
|
16
|
+
r: 255,
|
|
17
|
+
g: 255,
|
|
18
|
+
b: 255
|
|
19
|
+
};
|
|
20
|
+
function clamp255(n) {
|
|
21
|
+
return Math.max(0, Math.min(255, Math.round(n)));
|
|
22
|
+
}
|
|
23
|
+
function mixRgb(a, b, t) {
|
|
24
|
+
return {
|
|
25
|
+
r: clamp255(a.r + (b.r - a.r) * t),
|
|
26
|
+
g: clamp255(a.g + (b.g - a.g) * t),
|
|
27
|
+
b: clamp255(a.b + (b.b - a.b) * t)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function toHex({
|
|
31
|
+
r,
|
|
32
|
+
g,
|
|
33
|
+
b
|
|
34
|
+
}) {
|
|
35
|
+
const h = n => n.toString(16).padStart(2, '0');
|
|
36
|
+
return `#${h(r)}${h(g)}${h(b)}`;
|
|
37
|
+
}
|
|
38
|
+
function parseHexColor(input) {
|
|
39
|
+
if (typeof input !== 'string') return null;
|
|
40
|
+
const s = input.trim();
|
|
41
|
+
if (!/^#[0-9a-fA-F]{3}$|^#[0-9a-fA-F]{6}$/.test(s)) return null;
|
|
42
|
+
if (s.length === 4) {
|
|
43
|
+
const r = parseInt(s[1] + s[1], 16);
|
|
44
|
+
const g = parseInt(s[2] + s[2], 16);
|
|
45
|
+
const b = parseInt(s[3] + s[3], 16);
|
|
46
|
+
return {
|
|
47
|
+
r,
|
|
48
|
+
g,
|
|
49
|
+
b
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
r: parseInt(s.slice(1, 3), 16),
|
|
54
|
+
g: parseInt(s.slice(3, 5), 16),
|
|
55
|
+
b: parseInt(s.slice(5, 7), 16)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function rgba(rgb, a) {
|
|
59
|
+
return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${a})`;
|
|
60
|
+
}
|
|
61
|
+
function mixCssHexOr(a, b, t, fallback) {
|
|
62
|
+
const ra = parseHexColor(a);
|
|
63
|
+
const rb = parseHexColor(b);
|
|
64
|
+
if (!ra || !rb) return fallback;
|
|
65
|
+
return toHex(mixRgb(ra, rb, t));
|
|
66
|
+
}
|
|
67
|
+
function dividerFromMutedCss(muted) {
|
|
68
|
+
const m = parseHexColor(muted);
|
|
69
|
+
if (m) return rgba(m, 0.28);
|
|
70
|
+
return 'rgba(148, 163, 184, 0.28)';
|
|
71
|
+
}
|
|
72
|
+
export function resolveNavigatorChromeTheme(input) {
|
|
73
|
+
const accentRgb = parseHexColor(input?.accent) ?? parseHexColor(DEF_ACCENT) ?? {
|
|
74
|
+
r: 59,
|
|
75
|
+
g: 130,
|
|
76
|
+
b: 246
|
|
77
|
+
};
|
|
78
|
+
const background = typeof input?.hudBackground === 'string' && input.hudBackground.trim() ? input.hudBackground.trim() : DEF_HUD_BG;
|
|
79
|
+
const foreground = typeof input?.hudForeground === 'string' && input.hudForeground.trim() ? input.hudForeground.trim() : DEF_HUD_FG;
|
|
80
|
+
const muted = typeof input?.hudMuted === 'string' && input.hudMuted.trim() ? input.hudMuted.trim() : DEF_HUD_MUTED;
|
|
81
|
+
const subtle = mixCssHexOr(foreground, muted, 0.52, DEF_HUD_SUBTLE);
|
|
82
|
+
const summary = mixCssHexOr(foreground, muted, 0.3, DEF_HUD_SUMMARY);
|
|
83
|
+
const divider = dividerFromMutedCss(muted);
|
|
84
|
+
const iconForeground = toHex(mixRgb(accentRgb, RGB_WHITE, 0.38));
|
|
85
|
+
const iconBackground = rgba(accentRgb, 0.18);
|
|
86
|
+
return {
|
|
87
|
+
background,
|
|
88
|
+
foreground,
|
|
89
|
+
subtle,
|
|
90
|
+
muted,
|
|
91
|
+
summary,
|
|
92
|
+
divider,
|
|
93
|
+
iconBackground,
|
|
94
|
+
iconForeground,
|
|
95
|
+
shadow: 'rgba(15, 23, 42, 0.32)'
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=navigatorChromeTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEF_ACCENT","DEF_HUD_BG","DEF_HUD_FG","DEF_HUD_MUTED","DEF_HUD_SUBTLE","DEF_HUD_SUMMARY","RGB_WHITE","r","g","b","clamp255","n","Math","max","min","round","mixRgb","a","t","toHex","h","toString","padStart","parseHexColor","input","s","trim","test","length","parseInt","slice","rgba","rgb","mixCssHexOr","fallback","ra","rb","dividerFromMutedCss","muted","m","resolveNavigatorChromeTheme","accentRgb","accent","background","hudBackground","foreground","hudForeground","hudMuted","subtle","summary","divider","iconForeground","iconBackground","shadow"],"sourceRoot":"../../../src","sources":["components/navigatorChromeTheme.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import Svg, { Circle, G, Path } from 'react-native-svg';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* SVG-иконка манёвра навигатора. Порт `getSignIcon` из веб-части
|
|
7
|
+
* (`webProject/src/map/navigator.ts`) на `react-native-svg`.
|
|
8
|
+
*/
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export function NavigatorManeuverIcon({
|
|
11
|
+
sign,
|
|
12
|
+
color,
|
|
13
|
+
size = 32
|
|
14
|
+
}) {
|
|
15
|
+
const stroke = color;
|
|
16
|
+
const arrow = rotation => /*#__PURE__*/_jsx(Svg, {
|
|
17
|
+
width: size,
|
|
18
|
+
height: size,
|
|
19
|
+
viewBox: "0 0 24 24",
|
|
20
|
+
fill: "none",
|
|
21
|
+
children: /*#__PURE__*/_jsxs(G, {
|
|
22
|
+
rotation: rotation,
|
|
23
|
+
origin: "12, 12",
|
|
24
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
25
|
+
d: "M12 21 V5",
|
|
26
|
+
stroke: stroke,
|
|
27
|
+
strokeWidth: 2.4,
|
|
28
|
+
strokeLinecap: "round",
|
|
29
|
+
strokeLinejoin: "round"
|
|
30
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
31
|
+
d: "M5 12 L12 5 L19 12",
|
|
32
|
+
stroke: stroke,
|
|
33
|
+
strokeWidth: 2.4,
|
|
34
|
+
strokeLinecap: "round",
|
|
35
|
+
strokeLinejoin: "round"
|
|
36
|
+
})]
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
switch (sign) {
|
|
40
|
+
case -3:
|
|
41
|
+
return arrow(-135);
|
|
42
|
+
case -2:
|
|
43
|
+
return arrow(-90);
|
|
44
|
+
case -1:
|
|
45
|
+
return arrow(-45);
|
|
46
|
+
case 0:
|
|
47
|
+
return arrow(0);
|
|
48
|
+
case 1:
|
|
49
|
+
return arrow(45);
|
|
50
|
+
case 2:
|
|
51
|
+
return arrow(90);
|
|
52
|
+
case 3:
|
|
53
|
+
return arrow(135);
|
|
54
|
+
case 4:
|
|
55
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
56
|
+
width: size,
|
|
57
|
+
height: size,
|
|
58
|
+
viewBox: "0 0 24 24",
|
|
59
|
+
fill: "none",
|
|
60
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
61
|
+
cx: 12,
|
|
62
|
+
cy: 12,
|
|
63
|
+
r: 9,
|
|
64
|
+
stroke: stroke,
|
|
65
|
+
strokeWidth: 2.2
|
|
66
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
67
|
+
cx: 12,
|
|
68
|
+
cy: 12,
|
|
69
|
+
r: 3,
|
|
70
|
+
fill: stroke
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
73
|
+
case 5:
|
|
74
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
75
|
+
width: size,
|
|
76
|
+
height: size,
|
|
77
|
+
viewBox: "0 0 24 24",
|
|
78
|
+
fill: "none",
|
|
79
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
80
|
+
cx: 12,
|
|
81
|
+
cy: 12,
|
|
82
|
+
r: 4,
|
|
83
|
+
stroke: stroke,
|
|
84
|
+
strokeWidth: 2.2
|
|
85
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
86
|
+
cx: 12,
|
|
87
|
+
cy: 12,
|
|
88
|
+
r: 9,
|
|
89
|
+
stroke: stroke,
|
|
90
|
+
strokeWidth: 2.2
|
|
91
|
+
})]
|
|
92
|
+
});
|
|
93
|
+
case 6:
|
|
94
|
+
case -6:
|
|
95
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
96
|
+
width: size,
|
|
97
|
+
height: size,
|
|
98
|
+
viewBox: "0 0 24 24",
|
|
99
|
+
fill: "none",
|
|
100
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
101
|
+
cx: 12,
|
|
102
|
+
cy: 12,
|
|
103
|
+
r: 6,
|
|
104
|
+
stroke: stroke,
|
|
105
|
+
strokeWidth: 2.2
|
|
106
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
107
|
+
d: "M12 18 V21",
|
|
108
|
+
stroke: stroke,
|
|
109
|
+
strokeWidth: 2.2,
|
|
110
|
+
strokeLinecap: "round",
|
|
111
|
+
strokeLinejoin: "round"
|
|
112
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
113
|
+
d: "M9 21 H15",
|
|
114
|
+
stroke: stroke,
|
|
115
|
+
strokeWidth: 2.2,
|
|
116
|
+
strokeLinecap: "round",
|
|
117
|
+
strokeLinejoin: "round"
|
|
118
|
+
})]
|
|
119
|
+
});
|
|
120
|
+
case -8:
|
|
121
|
+
case 8:
|
|
122
|
+
case -98:
|
|
123
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
124
|
+
width: size,
|
|
125
|
+
height: size,
|
|
126
|
+
viewBox: "0 0 24 24",
|
|
127
|
+
fill: "none",
|
|
128
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
129
|
+
d: "M8 20 V11 a5 5 0 0 1 10 0 V14",
|
|
130
|
+
stroke: stroke,
|
|
131
|
+
strokeWidth: 2.4,
|
|
132
|
+
strokeLinecap: "round",
|
|
133
|
+
strokeLinejoin: "round"
|
|
134
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
135
|
+
d: "M14 18 L18 14 L22 18",
|
|
136
|
+
stroke: stroke,
|
|
137
|
+
strokeWidth: 2.4,
|
|
138
|
+
strokeLinecap: "round",
|
|
139
|
+
strokeLinejoin: "round"
|
|
140
|
+
})]
|
|
141
|
+
});
|
|
142
|
+
default:
|
|
143
|
+
return arrow(0);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** Иконка кнопки «вернуть камеру на положение» (порт из веб recenter FAB). */
|
|
148
|
+
export function NavigatorRecenterIcon({
|
|
149
|
+
color,
|
|
150
|
+
size = 28
|
|
151
|
+
}) {
|
|
152
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
153
|
+
width: size,
|
|
154
|
+
height: size,
|
|
155
|
+
viewBox: "0 0 24 24",
|
|
156
|
+
fill: "none",
|
|
157
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
158
|
+
cx: 12,
|
|
159
|
+
cy: 12,
|
|
160
|
+
r: 8.5,
|
|
161
|
+
stroke: color,
|
|
162
|
+
strokeWidth: 2.2
|
|
163
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
164
|
+
d: "M12 15.5 V8.5",
|
|
165
|
+
stroke: color,
|
|
166
|
+
strokeWidth: 2.2,
|
|
167
|
+
strokeLinecap: "round",
|
|
168
|
+
strokeLinejoin: "round"
|
|
169
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
170
|
+
d: "M9.25 11.25 L12 8.5 L14.75 11.25",
|
|
171
|
+
stroke: color,
|
|
172
|
+
strokeWidth: 2.2,
|
|
173
|
+
strokeLinecap: "round",
|
|
174
|
+
strokeLinejoin: "round"
|
|
175
|
+
})]
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** Иконка кнопки выбора голоса озвучки (порт из веб voice FAB). */
|
|
180
|
+
export function NavigatorVoiceIcon({
|
|
181
|
+
color,
|
|
182
|
+
size = 26
|
|
183
|
+
}) {
|
|
184
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
185
|
+
width: size,
|
|
186
|
+
height: size,
|
|
187
|
+
viewBox: "0 0 24 24",
|
|
188
|
+
fill: "none",
|
|
189
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
190
|
+
d: "M11 5 L6 9 L2 9 L2 15 L6 15 L11 19 Z",
|
|
191
|
+
stroke: color,
|
|
192
|
+
strokeWidth: 2,
|
|
193
|
+
strokeLinecap: "round",
|
|
194
|
+
strokeLinejoin: "round"
|
|
195
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
196
|
+
d: "M15.54 8.46a5 5 0 0 1 0 7.07",
|
|
197
|
+
stroke: color,
|
|
198
|
+
strokeWidth: 2,
|
|
199
|
+
strokeLinecap: "round",
|
|
200
|
+
strokeLinejoin: "round"
|
|
201
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
202
|
+
d: "M19.07 4.93a10 10 0 0 1 0 14.14",
|
|
203
|
+
stroke: color,
|
|
204
|
+
strokeWidth: 2,
|
|
205
|
+
strokeLinecap: "round",
|
|
206
|
+
strokeLinejoin: "round"
|
|
207
|
+
})]
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=navigatorManeuverIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Svg","Circle","G","Path","jsx","_jsx","jsxs","_jsxs","NavigatorManeuverIcon","sign","color","size","stroke","arrow","rotation","width","height","viewBox","fill","children","origin","d","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","NavigatorRecenterIcon","NavigatorVoiceIcon"],"sourceRoot":"../../../src","sources":["components/navigatorManeuverIcon.tsx"],"mappings":"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","ignoreList":[]}
|