@tmlmobilidade/ui 20250307.1525.49 → 20250307.1656.54

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 (48) hide show
  1. package/dist/index.d.ts +117 -48
  2. package/dist/src/components/AppProvider/MapOptions.context.d.ts +23 -0
  3. package/dist/src/components/AppProvider/MapOptions.context.js +106 -0
  4. package/dist/src/components/AppProvider/MapOptions.context.js.map +1 -0
  5. package/dist/src/components/AppProvider/index.d.ts +5 -0
  6. package/dist/src/components/AppProvider/index.js +41 -0
  7. package/dist/src/components/AppProvider/index.js.map +1 -0
  8. package/dist/src/components/index.d.ts +2 -0
  9. package/dist/src/components/map/MapView/index.d.ts +28 -0
  10. package/dist/src/components/map/MapView/index.js +79 -0
  11. package/dist/src/components/map/MapView/index.js.map +1 -0
  12. package/dist/src/components/map/MapView/styles.module.css.js +4 -0
  13. package/dist/src/components/map/MapView/styles.module.css.js.map +1 -0
  14. package/dist/src/components/map/MapViewStyleActiveStops/index.d.ts +8 -0
  15. package/dist/src/components/map/MapViewStyleActiveStops/index.js +79 -0
  16. package/dist/src/components/map/MapViewStyleActiveStops/index.js.map +1 -0
  17. package/dist/src/components/map/MapViewStylePath/index.d.ts +10 -0
  18. package/dist/src/components/map/MapViewStylePath/index.js +69 -0
  19. package/dist/src/components/map/MapViewStylePath/index.js.map +1 -0
  20. package/dist/src/components/map/MapViewStyleStops/index.d.ts +9 -0
  21. package/dist/src/components/map/MapViewStyleStops/index.js +89 -0
  22. package/dist/src/components/map/MapViewStyleStops/index.js.map +1 -0
  23. package/dist/src/components/map/MapViewStyleVehicles/index.d.ts +9 -0
  24. package/dist/src/components/map/MapViewStyleVehicles/index.js +68 -0
  25. package/dist/src/components/map/MapViewStyleVehicles/index.js.map +1 -0
  26. package/dist/src/components/map/index.d.ts +5 -0
  27. package/dist/src/components/theme/ThemeProvider/index.d.ts +2 -3
  28. package/dist/src/components/theme/ThemeProvider/index.js.map +1 -1
  29. package/dist/src/components/theme/index.d.ts +1 -1
  30. package/dist/src/index.js +6 -0
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/lib/map.utils.d.ts +28 -0
  33. package/dist/src/lib/map.utils.js +14 -0
  34. package/dist/src/lib/map.utils.js.map +1 -0
  35. package/dist/src/node_modules/nuqs/dist/adapters/next/app.js +9 -0
  36. package/dist/src/node_modules/nuqs/dist/adapters/next/app.js.map +1 -0
  37. package/dist/src/node_modules/nuqs/dist/chunk-5WWTJYGR.js +119 -0
  38. package/dist/src/node_modules/nuqs/dist/chunk-5WWTJYGR.js.map +1 -0
  39. package/dist/src/node_modules/nuqs/dist/chunk-C3RNEY2H.js +50 -0
  40. package/dist/src/node_modules/nuqs/dist/chunk-C3RNEY2H.js.map +1 -0
  41. package/dist/src/settings/assets.settings.d.ts +128 -0
  42. package/dist/src/settings/assets.settings.js +36 -0
  43. package/dist/src/settings/assets.settings.js.map +1 -0
  44. package/dist/src/settings/map.settings.d.ts +84 -0
  45. package/dist/src/settings/map.settings.js +74 -0
  46. package/dist/src/settings/map.settings.js.map +1 -0
  47. package/dist/styles.css +127 -81
  48. package/package.json +16 -5
package/dist/index.d.ts CHANGED
@@ -4,11 +4,63 @@ export { RenderTreeNodePayload, Tree, TreeNodeData, getTreeExpandedState, useTre
4
4
  import * as React$1 from 'react';
5
5
  import React__default from 'react';
6
6
  import { DateTimePickerProps as DateTimePickerProps$1 } from '@mantine/dates';
7
+ import { MapRef, MapLayerMouseEvent, ViewStateChangeEvent } from '@vis.gl/react-maplibre';
7
8
  import { NotificationData } from '@mantine/notifications';
8
9
  export * from '@mantine/form';
9
10
  export * from '@mantine/hooks';
10
11
  export * from '@mantine/modals';
11
12
 
13
+ declare const THEMES: readonly ["ocean", "park", "path", "pool", "royal", "street"];
14
+ interface ThemeContextType {
15
+ setTheme: (theme: typeof THEMES[number]) => void;
16
+ theme: typeof THEMES[number];
17
+ }
18
+ interface ThemeProviderProps {
19
+ children: React.ReactNode;
20
+ fontFamilyStyle?: string;
21
+ initialTheme?: typeof THEMES[number];
22
+ }
23
+ declare function ThemeProvider({ children, fontFamilyStyle, initialTheme }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
24
+
25
+ declare function useTheme(): ThemeContextType;
26
+
27
+ /**
28
+ * Use to show children only when light theme is active. Hidden otherwise.
29
+ * @param {ReactNode} children The content to display in light theme.
30
+ * @returns {JSX.Element} The rendered ThemeLight component.
31
+ */
32
+ declare function ThemeLight({ children }: {
33
+ children: React.ReactNode;
34
+ }): react_jsx_runtime.JSX.Element;
35
+ /**
36
+ * Use to show children only when dark theme is active. Hidden otherwise.
37
+ * @param {ReactNode} children The content to display in dark theme.
38
+ * @returns {JSX.Element} The rendered ThemeDark component.
39
+ */
40
+ declare function ThemeDark({ children }: {
41
+ children: React.ReactNode;
42
+ }): react_jsx_runtime.JSX.Element;
43
+ /**
44
+ * ThemeSwitch component to automatically toggle children components between dark and light themes.
45
+ * @param {ReactNode} dark The content to display in dark theme.
46
+ * @param {ReactNode} light The content to display in light theme.
47
+ * @returns {JSX.Element} The rendered ThemeSwitch component.
48
+ */
49
+ declare function Themer({ dark, light }: {
50
+ dark: React.ReactNode;
51
+ light: React.ReactNode;
52
+ }): react_jsx_runtime.JSX.Element;
53
+
54
+ interface ThemeSwitcherProps {
55
+ onThemeChange?: (theme: string) => void;
56
+ }
57
+ declare function ThemeSwitcher({ onThemeChange }: ThemeSwitcherProps): react_jsx_runtime.JSX.Element;
58
+
59
+ interface AppProviderProps extends ThemeProviderProps {
60
+ children: React.ReactNode;
61
+ }
62
+ declare function AppProvider({ children, fontFamilyStyle, initialTheme }: AppProviderProps): react_jsx_runtime.JSX.Element;
63
+
12
64
  interface ActionIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
13
65
  disabled?: boolean;
14
66
  loading?: boolean;
@@ -74,8 +126,8 @@ interface MultipleProps extends BaseProps {
74
126
  onChange?: (value: string[] | undefined) => void;
75
127
  value?: string[] | undefined;
76
128
  }
77
- type Props$2 = MultipleProps | SingleProps;
78
- declare function ComboboxComponent(props: Props$2): react_jsx_runtime.JSX.Element;
129
+ type Props$6 = MultipleProps | SingleProps;
130
+ declare function ComboboxComponent(props: Props$6): react_jsx_runtime.JSX.Element;
79
131
 
80
132
  interface DateTimePickerProps extends DateTimePickerProps$1 {
81
133
  /**
@@ -404,13 +456,13 @@ interface AppWrapperProps {
404
456
  }
405
457
  declare function AppWrapper({ children, headerProps, icon, sidebarItems, }: AppWrapperProps): react_jsx_runtime.JSX.Element;
406
458
 
407
- interface Props$1 extends React.HTMLAttributes<HTMLDivElement> {
459
+ interface Props$5 extends React.HTMLAttributes<HTMLDivElement> {
408
460
  columns?: 'a' | 'aab' | 'ab' | 'abb' | 'abc' | 'abcd';
409
461
  gap?: 'lg' | 'md' | 'none' | 'sm' | 'xl' | 'xs';
410
462
  hAlign?: 'center' | 'end' | 'start';
411
463
  vAlign?: 'center' | 'end' | 'start';
412
464
  }
413
- declare function Grid({ children, className, columns, gap, hAlign, vAlign, ...props }: Props$1): react_jsx_runtime.JSX.Element;
465
+ declare function Grid({ children, className, columns, gap, hAlign, vAlign, ...props }: Props$5): react_jsx_runtime.JSX.Element;
414
466
 
415
467
  interface SectionProps {
416
468
  children: React__default.ReactNode;
@@ -454,51 +506,68 @@ interface SurfaceProps extends React.HTMLAttributes<HTMLDivElement> {
454
506
  }
455
507
  declare function Surface({ alignItems, borderRadius, children, classNames, divider, flexDirection, gap, justifyContent, padding, variant, ...props }: SurfaceProps): react_jsx_runtime.JSX.Element;
456
508
 
457
- declare const THEMES: readonly ["ocean", "park", "path", "pool", "royal", "street"];
458
- interface ThemeContextType {
459
- setTheme: (theme: typeof THEMES[number]) => void;
460
- theme: typeof THEMES[number];
461
- }
462
- interface Props {
509
+ type MapStyle = 'map' | 'satellite';
510
+ interface Props$4 {
463
511
  children: React.ReactNode;
464
- fontFamilyStyle?: string;
465
- initialTheme?: typeof THEMES[number];
466
- }
467
- declare function ThemeProvider({ children, fontFamilyStyle, initialTheme }: Props): react_jsx_runtime.JSX.Element;
468
-
469
- declare function useTheme(): ThemeContextType;
470
-
471
- /**
472
- * Use to show children only when light theme is active. Hidden otherwise.
473
- * @param {ReactNode} children The content to display in light theme.
474
- * @returns {JSX.Element} The rendered ThemeLight component.
475
- */
476
- declare function ThemeLight({ children }: {
477
- children: React.ReactNode;
478
- }): react_jsx_runtime.JSX.Element;
479
- /**
480
- * Use to show children only when dark theme is active. Hidden otherwise.
481
- * @param {ReactNode} children The content to display in dark theme.
482
- * @returns {JSX.Element} The rendered ThemeDark component.
483
- */
484
- declare function ThemeDark({ children }: {
485
- children: React.ReactNode;
486
- }): react_jsx_runtime.JSX.Element;
487
- /**
488
- * ThemeSwitch component to automatically toggle children components between dark and light themes.
489
- * @param {ReactNode} dark The content to display in dark theme.
490
- * @param {ReactNode} light The content to display in light theme.
491
- * @returns {JSX.Element} The rendered ThemeSwitch component.
492
- */
493
- declare function Themer({ dark, light }: {
494
- dark: React.ReactNode;
495
- light: React.ReactNode;
496
- }): react_jsx_runtime.JSX.Element;
497
-
498
- interface ThemeSwitcherProps {
499
- onThemeChange?: (theme: string) => void;
512
+ fullscreen?: boolean;
513
+ geolocate?: boolean;
514
+ id?: string;
515
+ interactiveLayerIds?: string[];
516
+ mapObject?: MapRef;
517
+ mapStyle?: MapStyle;
518
+ navigation?: boolean;
519
+ onCenterMap?: () => void;
520
+ onClick?: (e: MapLayerMouseEvent) => void;
521
+ onDrag?: (e: ViewStateChangeEvent) => void;
522
+ onDragEnd?: (e: ViewStateChangeEvent) => void;
523
+ onDragStart?: (e: ViewStateChangeEvent) => void;
524
+ onMouseDrag?: (e: ViewStateChangeEvent) => void;
525
+ onMouseEnter?: (e: MapLayerMouseEvent) => void;
526
+ onMouseLeave?: (e: MapLayerMouseEvent) => void;
527
+ onMouseOut?: (e: MapLayerMouseEvent) => void;
528
+ onMouseOver?: (e: MapLayerMouseEvent) => void;
529
+ primarySourceId?: string;
530
+ scale?: boolean;
531
+ scrollZoom?: boolean;
532
+ toolbar?: boolean;
533
+ }
534
+ declare function MapView({ children, fullscreen, geolocate, id, interactiveLayerIds, mapStyle, navigation, onClick, onDragEnd, onDragStart, onMouseEnter, onMouseLeave, onMouseOut, onMouseOver, scale, scrollZoom, }: Props$4): react_jsx_runtime.JSX.Element;
535
+
536
+ declare const MapViewStyleActiveStopsPrimaryLayerId = "default-layer-active-stops-circle";
537
+ declare const MapViewStyleActiveStopsInteractiveLayerId = "";
538
+ interface Props$3 {
539
+ presentBeforeId?: string;
540
+ stopsData?: GeoJSON.FeatureCollection;
541
+ }
542
+ declare function MapViewStyleActiveStops({ presentBeforeId, stopsData }: Props$3): react_jsx_runtime.JSX.Element;
543
+
544
+ declare const MapViewStylePathPrimaryLayerId = "default-layer-path-shape-line";
545
+ declare const MapViewStylePathInteractiveLayerId = "default-layer-path-waypoints";
546
+ interface Props$2 {
547
+ presentBeforeId?: string;
548
+ shapeData?: GeoJSON.Feature | GeoJSON.FeatureCollection;
549
+ viewId: string;
550
+ waypointsData?: GeoJSON.FeatureCollection;
551
+ }
552
+ declare function MapViewStylePath({ presentBeforeId, shapeData, viewId, waypointsData }: Props$2): react_jsx_runtime.JSX.Element;
553
+
554
+ declare const MapViewStyleStopsPrimaryLayerId = "default-layer-stops-all";
555
+ declare const MapViewStyleStopsInteractiveLayerId = "default-layer-stops-all";
556
+ interface Props$1 {
557
+ presentBeforeId?: string;
558
+ stopsData?: GeoJSON.FeatureCollection;
559
+ style?: 'muted' | 'primary';
560
+ }
561
+ declare function MapViewStyleStops({ presentBeforeId, stopsData, style }: Props$1): react_jsx_runtime.JSX.Element;
562
+
563
+ declare const MapViewStyleVehiclesPrimaryLayerId = "default-layer-vehicles-regular";
564
+ declare const MapViewStyleVehiclesInteractiveLayerId = "default-layer-vehicles-regular";
565
+ interface Props {
566
+ presentBeforeId?: string;
567
+ showCounter?: 'always' | 'positive';
568
+ vehiclesData?: GeoJSON.FeatureCollection;
500
569
  }
501
- declare function ThemeSwitcher({ onThemeChange }: ThemeSwitcherProps): react_jsx_runtime.JSX.Element;
570
+ declare function MapViewStyleVehicles({ presentBeforeId, vehiclesData }: Props): react_jsx_runtime.JSX.Element;
502
571
 
503
572
  interface ToastProps extends NotificationData {
504
573
  type?: 'error' | 'info' | 'success' | 'warning';
@@ -575,4 +644,4 @@ declare function useSearchQuery<T>(data: T[], { accessors, customSearch, debounc
575
644
  setSearchQuery: React$1.Dispatch<React$1.SetStateAction<string | undefined>>;
576
645
  };
577
646
 
578
- export { ActionIcon, AppWrapper, Badge, Button, CMIcon, CMLogo, Checkbox, ComboboxComponent as Combobox, type DataItem, DataTable, type DataTableColumn, type DataTableColumnProps, type DataTableHeaderProps, type DataTableProps, type DataTableRowProps, type DataTableSearchProps, type DataTableTitleProps, DateTimePicker, DeleteActionIcon, Description, FileButton, Grid, Label, Menu, PasswordInput, Section, SegmentedControl, Sidebar, type SidebarItemProps, SimpleSurface, Slider, Spacer, Surface, Switch, TMLogo, TMLogoDark, TMLogoLight, Tag, Text, Component$1 as TextArea, Component as TextInput, ThemeDark, ThemeLight, ThemeProvider, ThemeSwitcher, Themer, type ToastPromiseParams, type ToastProps, Tooltip, useScreenSize, useSearchQuery, useTheme, useToast };
647
+ export { ActionIcon, AppProvider, type AppProviderProps, AppWrapper, Badge, Button, CMIcon, CMLogo, Checkbox, ComboboxComponent as Combobox, type DataItem, DataTable, type DataTableColumn, type DataTableColumnProps, type DataTableHeaderProps, type DataTableProps, type DataTableRowProps, type DataTableSearchProps, type DataTableTitleProps, DateTimePicker, DeleteActionIcon, Description, FileButton, Grid, Label, type MapStyle, MapView, MapViewStyleActiveStops, MapViewStyleActiveStopsInteractiveLayerId, MapViewStyleActiveStopsPrimaryLayerId, MapViewStylePath, MapViewStylePathInteractiveLayerId, MapViewStylePathPrimaryLayerId, MapViewStyleStops, MapViewStyleStopsInteractiveLayerId, MapViewStyleStopsPrimaryLayerId, MapViewStyleVehicles, MapViewStyleVehiclesInteractiveLayerId, MapViewStyleVehiclesPrimaryLayerId, Menu, PasswordInput, Section, SegmentedControl, Sidebar, type SidebarItemProps, SimpleSurface, Slider, Spacer, Surface, Switch, TMLogo, TMLogoDark, TMLogoLight, Tag, Text, Component$1 as TextArea, Component as TextInput, ThemeDark, ThemeLight, ThemeProvider, type ThemeProviderProps, ThemeSwitcher, Themer, type ToastPromiseParams, type ToastProps, Tooltip, useScreenSize, useSearchQuery, useTheme, useToast };
@@ -0,0 +1,23 @@
1
+ import { MapStyle } from '@/components/map/MapView';
2
+ import { MapRef } from '@vis.gl/react-maplibre';
3
+ interface MapOptionsContextState {
4
+ actions: {
5
+ centerMap: (source: string) => void;
6
+ setMap: (map: MapRef) => void;
7
+ setStyle: (value: MapStyle) => void;
8
+ setViewportHeight: (value: number) => void;
9
+ };
10
+ data: {
11
+ map: MapRef | undefined;
12
+ style: string;
13
+ viewport_height: null | number;
14
+ };
15
+ flags: {
16
+ is_loading: boolean;
17
+ };
18
+ }
19
+ export declare function useMapOptionsContext(): MapOptionsContextState;
20
+ export declare const MapOptionsContextProvider: ({ children }: {
21
+ children: React.ReactNode;
22
+ }) => import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,106 @@
1
+ 'use client';
2
+ import { j as jsxRuntimeExports } from '../../node_modules/react/jsx-runtime.js';
3
+ import * as turf from '@turf/turf';
4
+ import maplibregl from 'maplibre-gl';
5
+ import { createContext, useState, useEffect, useContext } from 'react';
6
+
7
+ /* * */
8
+ const LOCAL_STORAGE_KEYS = {
9
+ viewport_height: 'map|viewport_height',
10
+ };
11
+ const DEFAULT_OPTIONS = {
12
+ viewport_height: { max: 600, min: 300 },
13
+ };
14
+ /* * */
15
+ const MapOptionsContext = createContext(undefined);
16
+ function useMapOptionsContext() {
17
+ const context = useContext(MapOptionsContext);
18
+ if (!context) {
19
+ throw new Error('useMapOptionsContext must be used within a MapOptionsContextProvider');
20
+ }
21
+ return context;
22
+ }
23
+ /* * */
24
+ const MapOptionsContextProvider = ({ children }) => {
25
+ //
26
+ //
27
+ // A. Setup variables
28
+ const [dataViewportHeightState, setDataViewportHeightState] = useState(null);
29
+ const [dataStyleState, setDataStyleState] = useState('map');
30
+ const [dataMapState, setDataMapState] = useState(undefined);
31
+ //
32
+ // B. Transform data
33
+ useEffect(() => {
34
+ // Get viewport height from local storage
35
+ if (typeof window === 'undefined')
36
+ return;
37
+ const viewportHeightLocal = localStorage.getItem(LOCAL_STORAGE_KEYS.viewport_height);
38
+ if (viewportHeightLocal) {
39
+ setDataViewportHeightState(Number(viewportHeightLocal));
40
+ }
41
+ }, []);
42
+ useEffect(() => {
43
+ // Save viewport height to local storage
44
+ if (typeof window === 'undefined' || dataViewportHeightState === null)
45
+ return;
46
+ const viewportHeightTxt = String(dataViewportHeightState);
47
+ localStorage.setItem(LOCAL_STORAGE_KEYS.viewport_height, viewportHeightTxt);
48
+ }, [dataViewportHeightState]);
49
+ //
50
+ // C. Handle actions
51
+ const setViewportHeight = (value) => {
52
+ if (value < DEFAULT_OPTIONS.viewport_height.min)
53
+ value = DEFAULT_OPTIONS.viewport_height.min;
54
+ if (value > DEFAULT_OPTIONS.viewport_height.max)
55
+ value = DEFAULT_OPTIONS.viewport_height.max;
56
+ setDataViewportHeightState(value);
57
+ };
58
+ const setStyle = (value) => {
59
+ setDataStyleState(value);
60
+ };
61
+ const setMap = (map) => {
62
+ setDataMapState(map);
63
+ };
64
+ const centerMap = (sourceId) => {
65
+ if (!dataMapState || !sourceId)
66
+ return;
67
+ const sourceData = dataMapState.getSource(sourceId);
68
+ if (!sourceData)
69
+ return;
70
+ const combine = turf.combine(sourceData.serialize().data);
71
+ const coordinates = combine.features[0]?.geometry?.coordinates;
72
+ if (!coordinates)
73
+ return;
74
+ // Calculate bounds
75
+ const bounds = coordinates.reduce((bounds, coord) => {
76
+ return bounds.extend(coord);
77
+ }, new maplibregl.LngLatBounds(coordinates[0], coordinates[0]));
78
+ dataMapState.fitBounds(bounds, { padding: 25 });
79
+ // return;
80
+ };
81
+ //
82
+ // D. Define context value
83
+ const contextValue = {
84
+ actions: {
85
+ centerMap,
86
+ setMap,
87
+ setStyle,
88
+ setViewportHeight,
89
+ },
90
+ data: {
91
+ map: dataMapState,
92
+ style: dataStyleState,
93
+ viewport_height: dataViewportHeightState,
94
+ },
95
+ flags: {
96
+ is_loading: false,
97
+ },
98
+ };
99
+ //
100
+ // E. Render components
101
+ return (jsxRuntimeExports.jsx(MapOptionsContext.Provider, { value: contextValue, children: children }));
102
+ //
103
+ };
104
+
105
+ export { MapOptionsContextProvider, useMapOptionsContext };
106
+ //# sourceMappingURL=MapOptions.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapOptions.context.js","sources":["../../../../../src/components/AppProvider/MapOptions.context.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type ThemeProviderProps } from '../theme';
2
+ export interface AppProviderProps extends ThemeProviderProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare function AppProvider({ children, fontFamilyStyle, initialTheme }: AppProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ import { j as jsxRuntimeExports } from '../../node_modules/react/jsx-runtime.js';
3
+ import { MapProvider } from '@vis.gl/react-maplibre';
4
+ import { NuqsAdapter } from '../../node_modules/nuqs/dist/adapters/next/app.js';
5
+ import { SWRConfig } from 'swr';
6
+ import ThemeProvider from '../theme/ThemeProvider/index.js';
7
+ import 'react';
8
+ import '@mantine/core';
9
+ import { MapOptionsContextProvider } from './MapOptions.context.js';
10
+
11
+ function AppProvider({ children, fontFamilyStyle, initialTheme }) {
12
+ //
13
+ //
14
+ // A. Setup variables
15
+ const swrSettings = {
16
+ async fetcher(...args) {
17
+ const res = await fetch(...args);
18
+ if (!res.ok) {
19
+ const errorDetails = await res.json();
20
+ const error = new Error(errorDetails.message || 'An error occurred while fetching data.');
21
+ const customError = {
22
+ ...error,
23
+ description: errorDetails.description || 'No additional information was provided by the API.',
24
+ status: res.status,
25
+ };
26
+ throw customError;
27
+ }
28
+ return res.json();
29
+ },
30
+ refreshInterval: 900000, // 15 minutes
31
+ revalidateOnFocus: true,
32
+ revalidateOnMount: true,
33
+ };
34
+ //
35
+ // B. Render components
36
+ return (jsxRuntimeExports.jsx(ThemeProvider, { fontFamilyStyle: fontFamilyStyle, initialTheme: initialTheme, children: jsxRuntimeExports.jsx(SWRConfig, { value: swrSettings, children: jsxRuntimeExports.jsx(NuqsAdapter, { children: jsxRuntimeExports.jsx(MapOptionsContextProvider, { children: jsxRuntimeExports.jsx(MapProvider, { children: children }) }) }) }) }));
37
+ //
38
+ }
39
+
40
+ export { AppProvider };
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/AppProvider/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ export * from './AppProvider';
1
2
  export * from './common';
2
3
  export * from './datatable';
3
4
  export * from './layout';
5
+ export * from './map';
4
6
  export * from './theme';
@@ -0,0 +1,28 @@
1
+ import { MapLayerMouseEvent, MapRef, ViewStateChangeEvent } from '@vis.gl/react-maplibre';
2
+ export type MapStyle = 'map' | 'satellite';
3
+ interface Props {
4
+ children: React.ReactNode;
5
+ fullscreen?: boolean;
6
+ geolocate?: boolean;
7
+ id?: string;
8
+ interactiveLayerIds?: string[];
9
+ mapObject?: MapRef;
10
+ mapStyle?: MapStyle;
11
+ navigation?: boolean;
12
+ onCenterMap?: () => void;
13
+ onClick?: (e: MapLayerMouseEvent) => void;
14
+ onDrag?: (e: ViewStateChangeEvent) => void;
15
+ onDragEnd?: (e: ViewStateChangeEvent) => void;
16
+ onDragStart?: (e: ViewStateChangeEvent) => void;
17
+ onMouseDrag?: (e: ViewStateChangeEvent) => void;
18
+ onMouseEnter?: (e: MapLayerMouseEvent) => void;
19
+ onMouseLeave?: (e: MapLayerMouseEvent) => void;
20
+ onMouseOut?: (e: MapLayerMouseEvent) => void;
21
+ onMouseOver?: (e: MapLayerMouseEvent) => void;
22
+ primarySourceId?: string;
23
+ scale?: boolean;
24
+ scrollZoom?: boolean;
25
+ toolbar?: boolean;
26
+ }
27
+ export declare function MapView({ children, fullscreen, geolocate, id, interactiveLayerIds, mapStyle, navigation, onClick, onDragEnd, onDragStart, onMouseEnter, onMouseLeave, onMouseOut, onMouseOver, scale, scrollZoom, }: Props): import("react/jsx-runtime").JSX.Element;
28
+ export {};
@@ -0,0 +1,79 @@
1
+ 'use client';
2
+ import { j as jsxRuntimeExports } from '../../../node_modules/react/jsx-runtime.js';
3
+ import { useMapOptionsContext } from '../../AppProvider/MapOptions.context.js';
4
+ import { IconsMap } from '../../../settings/assets.settings.js';
5
+ import { mapDefaultConfig } from '../../../settings/map.settings.js';
6
+ import Map, { useMap, NavigationControl, FullscreenControl, GeolocateControl, ScaleControl } from '@vis.gl/react-maplibre';
7
+ import { useState, useEffect, useCallback } from 'react';
8
+ import styles from './styles.module.css.js';
9
+
10
+ /* * */
11
+ const MAP_LOAD_ASSETS = [
12
+ { name: 'cmet-bus-delay', sdf: false, url: IconsMap.bus_delay },
13
+ { name: 'cmet-bus-regular', sdf: false, url: IconsMap.bus_regular },
14
+ { name: 'cmet-bus-error', sdf: false, url: IconsMap.bus_error },
15
+ { name: 'cmet-pin', sdf: false, url: IconsMap.pin },
16
+ { name: 'cmet-shape-direction', sdf: true, url: IconsMap.shape_direction },
17
+ { name: 'cmet-stop-selected', sdf: false, url: IconsMap.stop_selected },
18
+ { name: 'cmet-store-busy', sdf: false, url: IconsMap.store_busy },
19
+ { name: 'cmet-store-closed', sdf: false, url: IconsMap.store_closed },
20
+ { name: 'cmet-store-open', sdf: false, url: IconsMap.store_open },
21
+ ];
22
+ /* * */
23
+ function MapView({ children, fullscreen = true, geolocate = true, id, interactiveLayerIds = [], mapStyle, navigation = true,
24
+ // onCenterMap,
25
+ onClick, onDragEnd, onDragStart, onMouseEnter, onMouseLeave, onMouseOut, onMouseOver, scale = false, scrollZoom = true,
26
+ // toolbar = true,
27
+ }) {
28
+ //
29
+ // A. Setup variables
30
+ const [cursor, setCursor] = useState('auto');
31
+ const allMaps = useMap();
32
+ const mapOptionsContext = useMapOptionsContext();
33
+ //
34
+ // B. Transform data
35
+ useEffect(() => {
36
+ if (!id || !allMaps || !allMaps[id])
37
+ return;
38
+ const mapObject = allMaps[id];
39
+ mapOptionsContext.actions.setMap(mapObject);
40
+ for (const mapLoadAsset of MAP_LOAD_ASSETS) {
41
+ mapObject.loadImage(mapLoadAsset.url).then((image) => {
42
+ mapObject.addImage(mapLoadAsset.name, image.data, { sdf: mapLoadAsset.sdf });
43
+ });
44
+ }
45
+ }, [allMaps, id]);
46
+ const mapStyleValue = mapStyle ?? mapOptionsContext.data.style;
47
+ //
48
+ // C. Handle actions
49
+ const handleOnMouseEnter = useCallback((event) => {
50
+ setCursor('pointer');
51
+ if (onMouseEnter) {
52
+ onMouseEnter(event);
53
+ }
54
+ }, []);
55
+ const handleOnMouseLeave = useCallback((event) => {
56
+ setCursor('auto');
57
+ if (onMouseLeave) {
58
+ onMouseLeave(event);
59
+ }
60
+ }, []);
61
+ const handleOnDragStart = useCallback((event) => {
62
+ setCursor('grab');
63
+ if (onDragStart) {
64
+ onDragStart(event);
65
+ }
66
+ }, []);
67
+ const handleOnDragEnd = useCallback((event) => {
68
+ setCursor('auto');
69
+ if (onDragEnd) {
70
+ onDragEnd(event);
71
+ }
72
+ }, []);
73
+ //
74
+ // C. Render components
75
+ return (jsxRuntimeExports.jsxs("div", { className: styles.container, children: [jsxRuntimeExports.jsxs(Map, { attributionControl: false, cursor: cursor, id: id || 'map', initialViewState: mapDefaultConfig.initialViewState, interactive: !!interactiveLayerIds, interactiveLayerIds: interactiveLayerIds, mapStyle: mapDefaultConfig.styles[mapStyleValue], maxZoom: mapDefaultConfig.maxZoom, minZoom: mapDefaultConfig.minZoom, onClick: onClick, onDragEnd: handleOnDragEnd, onDragStart: handleOnDragStart, onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, onMouseOut: onMouseOut, onMouseOver: onMouseOver, scrollZoom: scrollZoom, style: { height: '100%', width: '100%' }, children: [navigation && jsxRuntimeExports.jsx(NavigationControl, {}), fullscreen && jsxRuntimeExports.jsx(FullscreenControl, {}), geolocate && jsxRuntimeExports.jsx(GeolocateControl, {}), scale && jsxRuntimeExports.jsx(ScaleControl, {}), jsxRuntimeExports.jsx("div", { className: styles.childrenWrapper, children: children })] }), jsxRuntimeExports.jsxs("div", { className: styles.attributionWrapper, children: [jsxRuntimeExports.jsx("a", { href: "https://maplibre.org/", target: "_blank", children: "MapLibre" }), jsxRuntimeExports.jsx("a", { href: "https://www.openmaptiles.org/", target: "_blank", children: "\u00A9 OpenMapTiles" }), jsxRuntimeExports.jsx("a", { href: "https://www.openstreetmap.org/copyright", target: "_blank", children: "\u00A9 OpenStreetMap contributors" })] })] }));
76
+ }
77
+
78
+ export { MapView };
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/map/MapView/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var styles = {"container":"styles-module_container__Rs2HW","attributionWrapper":"styles-module_attributionWrapper__ZTRVc"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=styles.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,8 @@
1
+ export declare const MapViewStyleActiveStopsPrimaryLayerId = "default-layer-active-stops-circle";
2
+ export declare const MapViewStyleActiveStopsInteractiveLayerId = "";
3
+ interface Props {
4
+ presentBeforeId?: string;
5
+ stopsData?: GeoJSON.FeatureCollection;
6
+ }
7
+ export declare function MapViewStyleActiveStops({ presentBeforeId, stopsData }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export {};