@opendatasoft/visualizations
Version:
Opendatasoft's components to easily build dashboards and visualizations.
67 lines (57 loc) • 2.31 kB
text/typescript
import type {
DataDrivenPropertyValueSpecification,
StyleSpecification,
ControlPosition,
PopupOptions,
} from 'maplibre-gl';
import type { Color } from 'types';
import type { PopupDisplayTypes } from './types';
export const DEFAULT_BASEMAP_STYLE: StyleSpecification = {
version: 8,
name: 'Opendatasoft default basemap style',
sources: {},
layers: [],
};
export const DEFAULT_DARK_GREY: Color = '#515457';
export const DEFAULT_SORT_KEY_VALUE: DataDrivenPropertyValueSpecification<number> = [
'case',
['==', ['id'], ''],
0,
0,
];
export const POPUP_DISPLAY = {
tooltip: 'tooltip',
sidebar: 'sidebar',
modal: 'modal',
} as const;
export const POPUP_WIDTH = 300;
export const CONTROL_POSITION: ControlPosition = 'top-right';
// Update styles in ./MapRender.svelte if one of these classnames must change.
const POPUP_CLASSNAME = 'maplibregl-popup';
export const POPUP_FEATURE_CONTENT = 'ods-visualization__map-popup-feature-content';
export const POPUP_FEATURE_CONTENT_LOADING =
'ods-visualization__map-popup-feature-content--loading';
export const POPUP_NAVIGATION_CONTROLS_CLASSNAME =
'ods-visualization__map-popup-navigation-controls';
export const POPUP_NAVIGATION_CONTROLS_OFFSET_CLASSNAME =
'ods-visualization__map-popup-navigation-controls-offset';
export const POPUP_NAVIGATION_ARROWS_WRAPPER_CLASSNAME =
'ods-visualization__map-popup-arrows-wrapper';
export const POPUP_NAVIGATION_ARROW_BUTTON_CLASSNAME =
'ods-visualization__map-popup-navigation-arrow-button';
export const POPUP_NAVIGATION_ARROW_BUTTON_ICON_CLASSNAME =
'ods-visualization__map-popup-navigation-arrow-button-icon';
export const POPUP_NAVIGATION_CLOSE_BUTTON_CLASSNAME =
'ods-visualization__map-popup-navigation-close-button';
export const POPUP_NAVIGATION_CLOSE_BUTTON_ICON_CLASSNAME =
'ods-visualization__map-popup-navigation-close-button-icon';
export const POPUP_DISPLAY_CLASSNAME_MODIFIER: Record<PopupDisplayTypes, string> = {
[POPUP_DISPLAY.tooltip]: `${POPUP_CLASSNAME}--as-tooltip`,
[POPUP_DISPLAY.sidebar]: `${POPUP_CLASSNAME}--as-sidebar`,
[POPUP_DISPLAY.modal]: `${POPUP_CLASSNAME}--as-modal`,
};
export const POPUP_OPTIONS: PopupOptions = {
closeButton: false,
closeOnClick: false,
maxWidth: 'none',
};