@tak-ps/cloudtak 12.132.0 → 12.134.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.
@@ -0,0 +1,13 @@
1
+ import type { CallbackID, Position, PositionOptions } from '@capacitor/geolocation';
2
+ export declare function isNativePlatform(): boolean;
3
+ export declare function supportsServiceWorker(): boolean;
4
+ export declare function supportsLocationRequests(): boolean;
5
+ export declare function resolveRuntimeUrl(url: string | URL): URL;
6
+ export declare function openExternalUrl(url: string | URL): Promise<void>;
7
+ export declare function openSecondaryView(url: string | URL): Promise<void>;
8
+ export declare function writeClipboardText(value: string): Promise<void>;
9
+ export declare function checkNativeLocationPermission(): Promise<PermissionState | 'prompt' | 'unknown'>;
10
+ export declare function requestNativeLocationPermission(): Promise<PermissionState | 'prompt' | 'unknown'>;
11
+ export declare function getCurrentLocation(options?: PositionOptions): Promise<Position>;
12
+ export declare function watchLocation(options: PositionOptions, callback: (position: Position | null, err?: unknown) => void): Promise<CallbackID>;
13
+ export declare function clearLocationWatch(id: CallbackID): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  text: {
3
- type: (NumberConstructor | StringConstructor)[];
3
+ type: (StringConstructor | NumberConstructor)[];
4
4
  required: true;
5
5
  };
6
6
  size: {
@@ -13,7 +13,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
13
13
  };
14
14
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
15
  text: {
16
- type: (NumberConstructor | StringConstructor)[];
16
+ type: (StringConstructor | NumberConstructor)[];
17
17
  required: true;
18
18
  };
19
19
  size: {
@@ -12,7 +12,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
12
12
  default: string;
13
13
  };
14
14
  modelValue: {
15
- type: (NumberConstructor | StringConstructor)[];
15
+ type: (StringConstructor | NumberConstructor)[];
16
16
  required: true;
17
17
  };
18
18
  rows: {
@@ -61,7 +61,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
61
61
  default: string;
62
62
  };
63
63
  modelValue: {
64
- type: (NumberConstructor | StringConstructor)[];
64
+ type: (StringConstructor | NumberConstructor)[];
65
65
  required: true;
66
66
  };
67
67
  rows: {
@@ -0,0 +1,64 @@
1
+ type __VLS_Props = {
2
+ value?: string | null;
3
+ modelValue: string;
4
+ editing: boolean;
5
+ editable?: boolean;
6
+ label?: string;
7
+ editTitle?: string;
8
+ containerClass?: string;
9
+ borderClass?: string;
10
+ labelClass?: string;
11
+ background?: string;
12
+ shadow?: boolean;
13
+ fillHeight?: boolean;
14
+ gap?: string;
15
+ saving?: boolean;
16
+ inputLabel?: string;
17
+ emptyLabel?: string;
18
+ emptyClass?: string;
19
+ displayClass?: string;
20
+ interactive?: boolean;
21
+ showClear?: boolean;
22
+ clearLabel?: string;
23
+ saveLabel?: string;
24
+ savingLabel?: string;
25
+ };
26
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
+ "update:modelValue": (value: string) => any;
28
+ clear: () => any;
29
+ edit: () => any;
30
+ save: (value: string) => any;
31
+ cancel: () => any;
32
+ displayClick: () => any;
33
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
34
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
35
+ onClear?: (() => any) | undefined;
36
+ onEdit?: (() => any) | undefined;
37
+ onSave?: ((value: string) => any) | undefined;
38
+ onCancel?: (() => any) | undefined;
39
+ onDisplayClick?: (() => any) | undefined;
40
+ }>, {
41
+ label: string;
42
+ value: string | null;
43
+ gap: string;
44
+ background: string;
45
+ shadow: boolean;
46
+ fillHeight: boolean;
47
+ interactive: boolean;
48
+ editable: boolean;
49
+ editTitle: string;
50
+ containerClass: string;
51
+ borderClass: string;
52
+ labelClass: string;
53
+ saving: boolean;
54
+ inputLabel: string;
55
+ emptyLabel: string;
56
+ emptyClass: string;
57
+ displayClass: string;
58
+ showClear: boolean;
59
+ clearLabel: string;
60
+ saveLabel: string;
61
+ savingLabel: string;
62
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
63
+ declare const _default: typeof __VLS_export;
64
+ export default _default;
@@ -0,0 +1,63 @@
1
+ type __VLS_Props = {
2
+ value: string[];
3
+ modelValue: string[];
4
+ editing: boolean;
5
+ editable?: boolean;
6
+ label?: string;
7
+ editTitle?: string;
8
+ containerClass?: string;
9
+ borderClass?: string;
10
+ labelClass?: string;
11
+ background?: string;
12
+ shadow?: boolean;
13
+ fillHeight?: boolean;
14
+ gap?: string;
15
+ active?: boolean;
16
+ direction?: string;
17
+ limit?: number;
18
+ saving?: boolean;
19
+ saveLabel?: string;
20
+ savingLabel?: string;
21
+ emptyLabel?: string;
22
+ emptyClass?: string;
23
+ badgeClass?: string;
24
+ badgeBackgroundColor?: string;
25
+ badgeBorderColor?: string;
26
+ badgeTextColor?: string;
27
+ };
28
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ "update:modelValue": (value: string[]) => any;
30
+ edit: () => any;
31
+ save: (value: string[]) => any;
32
+ cancel: () => any;
33
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
34
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
35
+ onEdit?: (() => any) | undefined;
36
+ onSave?: ((value: string[]) => any) | undefined;
37
+ onCancel?: (() => any) | undefined;
38
+ }>, {
39
+ label: string;
40
+ direction: string;
41
+ active: boolean;
42
+ gap: string;
43
+ background: string;
44
+ shadow: boolean;
45
+ fillHeight: boolean;
46
+ limit: number;
47
+ editable: boolean;
48
+ editTitle: string;
49
+ containerClass: string;
50
+ borderClass: string;
51
+ labelClass: string;
52
+ saving: boolean;
53
+ emptyLabel: string;
54
+ emptyClass: string;
55
+ saveLabel: string;
56
+ savingLabel: string;
57
+ badgeClass: string;
58
+ badgeBackgroundColor: string;
59
+ badgeBorderColor: string;
60
+ badgeTextColor: string;
61
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
62
+ declare const _default: typeof __VLS_export;
63
+ export default _default;
@@ -0,0 +1,51 @@
1
+ type __VLS_Props = {
2
+ value: string[];
3
+ modelValue: string[];
4
+ editing: boolean;
5
+ editable?: boolean;
6
+ label?: string;
7
+ editTitle?: string;
8
+ containerClass?: string;
9
+ borderClass?: string;
10
+ labelClass?: string;
11
+ background?: string;
12
+ shadow?: boolean;
13
+ fillHeight?: boolean;
14
+ gap?: string;
15
+ saving?: boolean;
16
+ placeholder?: string;
17
+ inputPlaceholder?: string;
18
+ tone?: 'muted' | 'accent';
19
+ saveLabel?: string;
20
+ savingLabel?: string;
21
+ };
22
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ "update:modelValue": (value: string[]) => any;
24
+ edit: () => any;
25
+ save: (value: string[]) => any;
26
+ cancel: () => any;
27
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
28
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
29
+ onEdit?: (() => any) | undefined;
30
+ onSave?: ((value: string[]) => any) | undefined;
31
+ onCancel?: (() => any) | undefined;
32
+ }>, {
33
+ label: string;
34
+ placeholder: string;
35
+ gap: string;
36
+ background: string;
37
+ shadow: boolean;
38
+ fillHeight: boolean;
39
+ tone: "muted" | "accent";
40
+ editable: boolean;
41
+ editTitle: string;
42
+ containerClass: string;
43
+ borderClass: string;
44
+ labelClass: string;
45
+ saving: boolean;
46
+ saveLabel: string;
47
+ savingLabel: string;
48
+ inputPlaceholder: string;
49
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
50
+ declare const _default: typeof __VLS_export;
51
+ export default _default;
@@ -42,12 +42,12 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
42
42
  onClose?: ((...args: any[]) => any) | undefined;
43
43
  }>, {
44
44
  feats: Feature[];
45
- action: string;
46
45
  assets: {
47
46
  type: "profile";
48
47
  id: string;
49
48
  name: string;
50
49
  }[];
50
+ action: string;
51
51
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
52
52
  declare const _default: typeof __VLS_export;
53
53
  export default _default;
@@ -12,6 +12,7 @@ import mapgl from 'maplibre-gl';
12
12
  import type Atlas from '../workers/atlas.ts';
13
13
  import type { Basemap, APIList, Feature, ConfigMap } from '../types.ts';
14
14
  import type { LngLat, Point, MapGeoJSONFeature } from 'maplibre-gl';
15
+ import type { CallbackID } from '@capacitor/geolocation';
15
16
  export type TAKNotification = {
16
17
  type: string;
17
18
  name: string;
@@ -46,7 +47,7 @@ export declare const useMapStore: import("pinia").StoreDefinition<"cloudtak", {
46
47
  defaultPointType: string;
47
48
  manualLocationMode: boolean;
48
49
  isMobileDetected: boolean;
49
- gpsWatchId: number | null;
50
+ gpsWatchId: CallbackID | null;
50
51
  tokenExpiry: number | null;
51
52
  lastUpdateCOTErrorSignature: string | null;
52
53
  toastOffset: {
@@ -118,7 +119,8 @@ export declare const useMapStore: import("pinia").StoreDefinition<"cloudtak", {
118
119
  reload: boolean;
119
120
  }) => Promise<Subscription | null>;
120
121
  init: (container: HTMLElement) => Promise<void>;
121
- startGPSWatch: () => void;
122
+ stopGPSWatch: () => Promise<void>;
123
+ startGPSWatch: () => Promise<void>;
122
124
  initOverlays: () => Promise<void>;
123
125
  updateIconRotation: (enabled: boolean) => void;
124
126
  updateDistanceUnit: (unit: string) => void;
@@ -10,6 +10,7 @@ export default class IconManager {
10
10
  private loggedErrors;
11
11
  private inflightImage;
12
12
  private fallbackBitmap;
13
+ private requestedIconsetImageIds;
13
14
  constructor(map: MapLibreMap, worker: Comlink.Remote<Atlas>);
14
15
  private logWarnOnce;
15
16
  private logErrorOnce;
@@ -62,6 +63,9 @@ export default class IconManager {
62
63
  * MapLibre. Falls back to a generic point icon when the icon isn't cached.
63
64
  */
64
65
  private loadIconsetImage;
66
+ private reloadIconsetImages;
67
+ private reloadRequestedIconsetImage;
68
+ private removeRequestedImagesForIconset;
65
69
  private getFallbackBitmap;
66
70
  /**
67
71
  * Get or create a colored version of an icon
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/cloudtak",
3
3
  "type": "module",
4
- "version": "12.132.0",
4
+ "version": "12.134.0",
5
5
  "types": "dist/types/plugin.d.ts",
6
6
  "files": [
7
7
  "dist/types"
@@ -29,8 +29,16 @@
29
29
  "url": "git+https://github.com/dfpc-coe/CloudTAK.git"
30
30
  },
31
31
  "dependencies": {
32
+ "@capacitor/app": "8.1.0",
33
+ "@capacitor/browser": "^8.0.1",
34
+ "@capacitor/clipboard": "^8.0.1",
35
+ "@capacitor/core": "8.3.1",
36
+ "@capacitor/geolocation": "^8.1.0",
37
+ "@capacitor/haptics": "8.0.2",
38
+ "@capacitor/ios": "8.3.1",
39
+ "@capacitor/keyboard": "8.0.3",
40
+ "@capacitor/status-bar": "8.0.2",
32
41
  "@mapbox/tile-cover": "^3.0.2",
33
- "@react-hookz/deep-equal": "^3.0.3",
34
42
  "@simplewebauthn/browser": "^13.3.0",
35
43
  "@tabler/core": "^1.4.0",
36
44
  "@tabler/icons-vue": "^3.0.0",
@@ -52,6 +60,7 @@
52
60
  "@turf/meta": "^7.2.0",
53
61
  "@turf/nearest-point-on-line": "^7.3.4",
54
62
  "@turf/point-on-feature": "^7.0.0",
63
+ "@ver0/deep-equal": "^2.0.1",
55
64
  "@vueuse/core": "^14.0.0",
56
65
  "autosize": "^6.0.1",
57
66
  "comlink": "^4.4.2",
@@ -67,7 +76,6 @@
67
76
  "jsonata": "^2.0.4",
68
77
  "maplibre-gl": "5.24.0",
69
78
  "milsymbol": "^3.0.2",
70
- "moment": "^2.29.3",
71
79
  "openapi-fetch": "^0.17.0",
72
80
  "phone": "^3.1.59",
73
81
  "pinia": "^3.0.0",
@@ -86,6 +94,7 @@
86
94
  "yaml": "^2.8.2"
87
95
  },
88
96
  "devDependencies": {
97
+ "@capacitor/cli": "8.3.1",
89
98
  "@eslint/js": "^10.0.0",
90
99
  "@testing-library/vue": "^8.1.0",
91
100
  "@types/mapbox__tile-cover": "^3.0.4",