@opengeoweb/time-slider 13.0.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.
Files changed (83) hide show
  1. package/README.md +11 -0
  2. package/index.d.ts +1 -0
  3. package/index.esm.js +3941 -0
  4. package/package.json +34 -0
  5. package/src/index.d.ts +5 -0
  6. package/src/lib/Providers/Providers.d.ts +8 -0
  7. package/src/lib/Providers/index.d.ts +1 -0
  8. package/src/lib/components/TimeSlider/TimeSlider.d.ts +16 -0
  9. package/src/lib/components/TimeSlider/TimeSlider.spec.d.ts +1 -0
  10. package/src/lib/components/TimeSlider/TimeSlider.stories.d.ts +7 -0
  11. package/src/lib/components/TimeSlider/changeTimeFunctions.d.ts +14 -0
  12. package/src/lib/components/TimeSlider/changeTimeFunctions.spec.d.ts +1 -0
  13. package/src/lib/components/TimeSlider/index.d.ts +4 -0
  14. package/src/lib/components/TimeSlider/timeSliderEffects.d.ts +2 -0
  15. package/src/lib/components/TimeSlider/timeSliderUtils.d.ts +138 -0
  16. package/src/lib/components/TimeSlider/timeSliderUtils.spec.d.ts +1 -0
  17. package/src/lib/components/TimeSliderButtons/AnimationLengthButton/AnimationLengthButton.d.ts +12 -0
  18. package/src/lib/components/TimeSliderButtons/AnimationLengthButton/AnimationLengthButton.spec.d.ts +1 -0
  19. package/src/lib/components/TimeSliderButtons/AutoUpdateButton/AutoUpdateButton.d.ts +8 -0
  20. package/src/lib/components/TimeSliderButtons/AutoUpdateButton/AutoUpdateButton.spec.d.ts +1 -0
  21. package/src/lib/components/TimeSliderButtons/BackwardForwardStepButton/BackwardForwardStepButton.d.ts +7 -0
  22. package/src/lib/components/TimeSliderButtons/BackwardForwardStepButton/BackwardForwardStepButton.spec.d.ts +1 -0
  23. package/src/lib/components/TimeSliderButtons/ControlButtons/ControlButtons.d.ts +8 -0
  24. package/src/lib/components/TimeSliderButtons/HideSliderButton/HideSliderButton.d.ts +6 -0
  25. package/src/lib/components/TimeSliderButtons/HideSliderButton/HideSliderButton.spec.d.ts +1 -0
  26. package/src/lib/components/TimeSliderButtons/NowButton/NowButton.d.ts +7 -0
  27. package/src/lib/components/TimeSliderButtons/NowButton/NowButton.spec.d.ts +1 -0
  28. package/src/lib/components/TimeSliderButtons/OptionsMenuButton/OptionsMenu.d.ts +7 -0
  29. package/src/lib/components/TimeSliderButtons/OptionsMenuButton/OptionsMenuButton.d.ts +10 -0
  30. package/src/lib/components/TimeSliderButtons/OptionsMenuButton/OptionsMenuButton.spec.d.ts +1 -0
  31. package/src/lib/components/TimeSliderButtons/OptionsMenuButton/index.d.ts +2 -0
  32. package/src/lib/components/TimeSliderButtons/PlayButton/PlayButton.d.ts +7 -0
  33. package/src/lib/components/TimeSliderButtons/PlayButton/PlayButton.spec.d.ts +1 -0
  34. package/src/lib/components/TimeSliderButtons/SpeedButton/SpeedButton.d.ts +6 -0
  35. package/src/lib/components/TimeSliderButtons/SpeedButton/SpeedButton.spec.d.ts +1 -0
  36. package/src/lib/components/TimeSliderButtons/TimeSliderButtons.d.ts +10 -0
  37. package/src/lib/components/TimeSliderButtons/TimeSliderButtons.spec.d.ts +1 -0
  38. package/src/lib/components/TimeSliderButtons/TimeSliderButtons.stories.d.ts +8 -0
  39. package/src/lib/components/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.d.ts +24 -0
  40. package/src/lib/components/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.spec.d.ts +1 -0
  41. package/src/lib/components/TimeSliderButtons/TimeSpanButton/TimeSpanButton.d.ts +17 -0
  42. package/src/lib/components/TimeSliderButtons/TimeSpanButton/TimeSpanButton.spec.d.ts +1 -0
  43. package/src/lib/components/TimeSliderButtons/TimeSpanButton/TimeSpanButton.stories.d.ts +9 -0
  44. package/src/lib/components/TimeSliderButtons/TimeSpanButton/TimeSpanButtonCustomSelect.d.ts +7 -0
  45. package/src/lib/components/TimeSliderButtons/TimeSpanButton/TimeSpanButtonCustomSelect.spec.d.ts +1 -0
  46. package/src/lib/components/TimeSliderButtons/TimeStepButton/TimeStepButton.d.ts +11 -0
  47. package/src/lib/components/TimeSliderButtons/TimeStepButton/TimeStepButton.spec.d.ts +1 -0
  48. package/src/lib/components/TimeSliderButtons/TimeStepButton/TimeStepButton.stories.d.ts +9 -0
  49. package/src/lib/components/TimeSliderButtons/index.d.ts +13 -0
  50. package/src/lib/components/TimeSliderClock/ClockContainer.d.ts +18 -0
  51. package/src/lib/components/TimeSliderClock/PopperMenu.d.ts +9 -0
  52. package/src/lib/components/TimeSliderClock/TimeSliderClock.d.ts +9 -0
  53. package/src/lib/components/TimeSliderClock/TimeSliderClock.spec.d.ts +1 -0
  54. package/src/lib/components/TimeSliderClock/TimeSliderClock.stories.d.ts +11 -0
  55. package/src/lib/components/TimeSliderClock/clockContainerUtils.d.ts +1 -0
  56. package/src/lib/components/TimeSliderClock/clockContainerUtils.spec.d.ts +1 -0
  57. package/src/lib/components/TimeSliderClock/index.d.ts +1 -0
  58. package/src/lib/components/TimeSliderCurrentTimeBox/CalendarButton/CalendarButton.d.ts +10 -0
  59. package/src/lib/components/TimeSliderCurrentTimeBox/CalendarButton/CalendarButton.spec.d.ts +1 -0
  60. package/src/lib/components/TimeSliderCurrentTimeBox/MarkerTimeSelector/MarkerTimeSelector.d.ts +24 -0
  61. package/src/lib/components/TimeSliderCurrentTimeBox/MarkerTimeSelector/MarkerTimeSelector.spec.d.ts +1 -0
  62. package/src/lib/components/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBox.d.ts +16 -0
  63. package/src/lib/components/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBox.spec.d.ts +1 -0
  64. package/src/lib/components/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxMouseEvents.d.ts +2 -0
  65. package/src/lib/components/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxMouseEvents.spec.d.ts +1 -0
  66. package/src/lib/components/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxRenderFunctions.d.ts +3 -0
  67. package/src/lib/components/TimeSliderCurrentTimeBox/index.d.ts +1 -0
  68. package/src/lib/components/TimeSliderLegend/TimeSliderLegend.d.ts +35 -0
  69. package/src/lib/components/TimeSliderLegend/TimeSliderLegend.spec.d.ts +1 -0
  70. package/src/lib/components/TimeSliderLegend/TimeSliderLegend.stories.d.ts +9 -0
  71. package/src/lib/components/TimeSliderLegend/drawFunctions/drawBackground.d.ts +4 -0
  72. package/src/lib/components/TimeSliderLegend/drawFunctions/drawBackground.spec.d.ts +1 -0
  73. package/src/lib/components/TimeSliderLegend/drawFunctions/drawCurrentTime.d.ts +2 -0
  74. package/src/lib/components/TimeSliderLegend/drawFunctions/drawNeedle.d.ts +2 -0
  75. package/src/lib/components/TimeSliderLegend/drawFunctions/drawTimeScale.d.ts +7 -0
  76. package/src/lib/components/TimeSliderLegend/drawFunctions/drawTimeScale.spec.d.ts +1 -0
  77. package/src/lib/components/TimeSliderLegend/drawFunctions/drawTimeSliderLegend.d.ts +2 -0
  78. package/src/lib/components/TimeSliderLegend/drawFunctions/index.d.ts +1 -0
  79. package/src/lib/components/TimeSliderLegend/index.d.ts +1 -0
  80. package/src/lib/components/TimeSliderLegend/timeSliderLegendUtils.d.ts +37 -0
  81. package/src/lib/components/TimeSliderLegend/timeSliderLegenedUtils.spec.d.ts +1 -0
  82. package/src/lib/index.d.ts +6 -0
  83. package/src/lib/utils/i18n.d.ts +6 -0
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export interface TimeSliderCurrentTimeBoxProps {
3
+ centerTime: number;
4
+ secondsPerPx: number;
5
+ span?: number;
6
+ dataStartTime?: number;
7
+ dataEndTime?: number;
8
+ timeStep?: number;
9
+ unfilteredSelectedTime: number;
10
+ isAutoUpdating?: boolean;
11
+ setUnfilteredSelectedTime: (unfilteredSelectedTime: number) => void;
12
+ onCalendarSelect: (newTime: number) => void;
13
+ onSetCenterTime?: (newTime: number) => void;
14
+ }
15
+ export declare const getTimeBoxWidth: (span: number) => number;
16
+ export declare const TimeSliderCurrentTimeBox: React.FC<TimeSliderCurrentTimeBoxProps>;
@@ -0,0 +1,2 @@
1
+ export declare const onMouseMove: (x: number, width: number, selectedTime: number, centerTime: number, secondsPerPx: number, mouseDownInTimeBox: boolean, isTimeBoxArea: (location: number, timePx: number) => boolean, setCursorStyle: (style: string) => void) => void;
2
+ export declare const onMouseDown: (x: number, width: number, selectedTime: number, centerTime: number, secondsPerPx: number, isTimeBoxArea: (location: number, timePx: number) => boolean, setCursorStyle: (style: string) => void, setMouseDownInTimeBox: (dragging: boolean) => void) => void;
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const secondsInYear: number;
3
+ export declare const renderTimeSliderCurrentTimeBox: (ctx: CanvasRenderingContext2D, theme: Theme, width: number, height: number, centerTime: number, selected: number, secondsPerPx: number, span: number, isAutoUpdating: boolean) => void;
@@ -0,0 +1 @@
1
+ export * from './TimeSliderCurrentTimeBox';
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+ export interface TimeSliderLegendProps {
3
+ mapId: string;
4
+ isTimeScrollingEnabled?: boolean;
5
+ mapWindowRef?: React.MutableRefObject<HTMLElement | null>;
6
+ centerTime: number;
7
+ timeSliderWidth: number;
8
+ secondsPerPx: number;
9
+ currentTime?: number;
10
+ dataStartTime?: number;
11
+ dataEndTime?: number;
12
+ reduxAnimationStartTime?: string;
13
+ reduxAnimationEndTime?: string;
14
+ isTimeSliderHoverOn?: boolean;
15
+ timeStep?: number;
16
+ unfilteredSelectedTime?: number;
17
+ timeSliderSpan?: number;
18
+ setUnfilteredSelectedTime?: (unfilteredSelectedTime: number) => void;
19
+ onSetCenterTime?: (newTime: number) => void;
20
+ onSetAnimationStartTime?: (time: string) => void;
21
+ onSetAnimationEndTime?: (time: string) => void;
22
+ updateCanvasWidth?: (storeWidth: number, newWidth: number) => void;
23
+ isDraggingStartAnimation?: boolean;
24
+ setIsDraggingStartAnimation?: (isDraggingStartAnimation: boolean) => void;
25
+ isDraggingEndAnimation?: boolean;
26
+ setIsDraggingEndAnimation?: (isDraggingEndAnimation: boolean) => void;
27
+ onStartTimeChange?: (startTime: number) => void;
28
+ onEndTimeChange?: (endTime: number) => void;
29
+ onSetTimeSliderSpan?: (newSpan: number, newCenterTime: number) => void;
30
+ adjustSelectedTimeOnWheel?: ({ event, deltaY, }: {
31
+ event: WheelEvent | KeyboardEvent;
32
+ deltaY: number;
33
+ }) => void;
34
+ }
35
+ export declare const TimeSliderLegend: React.FC<TimeSliderLegendProps>;
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import { TimeSliderLegend } from './TimeSliderLegend';
3
+ declare const meta: Meta<typeof TimeSliderLegend>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof TimeSliderLegend>;
6
+ export declare const Component: Story;
7
+ export declare const ComponentDark: Story;
8
+ export declare const TimeSliderLegendDemoLight: Story;
9
+ export declare const TimeSliderLegendDemoDark: Story;
@@ -0,0 +1,4 @@
1
+ import { Theme } from '@mui/material';
2
+ import { Scale } from '../../TimeSlider/timeSliderUtils';
3
+ export declare const drawBackground: (context: CanvasRenderingContext2D, theme: Theme, visibleTimeStart: number, visibleTimeEnd: number, animationStartPx: number, animationEndPx: number, canvasWidth: number, height: number, secondsPerPx: number, timeSliderSpan: number, dataStartPx: number, dataEndPx: number, currentTimePx: number) => void;
4
+ export declare function getColorChangeTimesteps(scale: Scale, visibleTimeStart: number, visibleTimeEnd: number): number[];
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const drawCurrentTime: (context: CanvasRenderingContext2D, theme: Theme, width: number, height: number, startTime: number, endTime: number, currentTime: number) => void;
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const drawNeedle: (context: CanvasRenderingContext2D, theme: Theme, width: number, height: number, startTime: number, endTime: number, selectedTime: number) => void;
@@ -0,0 +1,7 @@
1
+ import { Theme } from '@mui/material';
2
+ import { Scale } from '../../TimeSlider/timeSliderUtils';
3
+ export declare const roundByUnitOfTime: (timeUnix: number, unit: string, roundUp?: boolean) => number;
4
+ export declare const getRoundedStartAndEnd: (visibleTimeStart: number, visibleTimeEnd: number, scale: Scale) => [number, number];
5
+ export declare const getCustomRoundedStartAndEnd: (visibleTimeStart: number, visibleTimeEnd: number, unit: Scale) => [number, number];
6
+ export declare const getCustomTimesteps: (roundedStart: number, roundedEnd: number, increment: string) => number[];
7
+ export declare const drawTimeScale: (context: CanvasRenderingContext2D, theme: Theme, visibleTimeStart: number, visibleTimeEnd: number, canvasWidth: number, height: number, secondsPerPx: number) => void;
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const drawTimeSliderLegend: (context: CanvasRenderingContext2D, theme: Theme, canvasWidth: number, height: number, centerTime: number, secondsPerPx: number, timeSliderSpan: number, selectedTimeUnix: number, currentTimeUnix: number, animationStartTime: number, animationEndTime: number, dataStartTime: number, dataEndTime: number) => void;
@@ -0,0 +1 @@
1
+ export { drawTimeSliderLegend } from './drawTimeSliderLegend';
@@ -0,0 +1 @@
1
+ export * from './TimeSliderLegend';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @param x The pin location
3
+ * @param selectedTimePx The selected px
4
+ * @param width The default width of a hoverable icon (usually 24px)
5
+ * @returns
6
+ */
7
+ export declare const isSelectedTimeIconArea: (x: number, selectedTimePx: number, width: number) => boolean;
8
+ /**
9
+ * @param x The pin location
10
+ * @param selectedTimePx The selected px
11
+ * @param width The default width of a hoverable icon (usually 24px)
12
+ * @returns
13
+ */
14
+ export declare const isRightAnimationIconArea: (x: number, rightMarkerPx: number, width: number) => boolean;
15
+ export declare const isInsideAnimationArea: (x: number, leftMarkerPx: number, rightMarkerPx: number) => boolean;
16
+ /**
17
+ * @param x The pin location
18
+ * @param selectedTimePx The selected px
19
+ * @param width The default width of a hoverable icon (usually 24px)
20
+ * @returns
21
+ */
22
+ export declare const isLeftAnimationIconArea: (x: number, leftMarkerPx: number, width: number) => boolean;
23
+ export declare function convertStringTimeToUnix(time: string | undefined): number | undefined;
24
+ export declare const timeValues: number[];
25
+ export declare const TIME_SLIDER_LEGEND_HEIGHT = 24;
26
+ export declare const DRAG_AREA_WIDTH = 24;
27
+ export type ShowTooltip = 'animationStart' | 'animationEnd' | 'mousePointer' | undefined;
28
+ export declare const isDraggingStartWithinBounds: (endPos: number, mousePosition: number) => boolean;
29
+ export declare const isDraggingEndWithinBounds: (startPos: number, mousePosition: number, canvasWidth: number) => boolean;
30
+ export declare const getTimeSliderLegendId: (mapId: string) => string;
31
+ export declare const getTimeSliderLegendElement: (mapId: string) => Element | null;
32
+ export declare const getPixelsBetweenViewportAndTimesliderOnLeft: (mapId: string) => number | undefined;
33
+ export declare function getPositions(width: number, unfilteredSelectedTime: number | undefined, centerTime: number, secondsPerPx: number, start: number, end: number): {
34
+ startAnimationPosition: number;
35
+ endAnimationPosition: number;
36
+ selectedTimePosition: number;
37
+ };
@@ -0,0 +1,6 @@
1
+ export * from './components/TimeSlider';
2
+ export * from './components/TimeSliderClock';
3
+ export * from './components/TimeSliderLegend';
4
+ export * from './components/TimeSliderButtons';
5
+ export * from './components/TimeSliderCurrentTimeBox';
6
+ export * from './components/TimeSliderLegend/timeSliderLegendUtils';
@@ -0,0 +1,6 @@
1
+ import i18n from 'i18next';
2
+ import { UseTranslationResponse } from 'react-i18next';
3
+ export declare const TIME_SLIDER_NAMESPACE = "timeslider";
4
+ export declare const initTimesliderI18n: () => void;
5
+ export declare const translateKeyOutsideComponents: (key: string, params?: Record<string, string | number> | undefined) => string;
6
+ export declare const useTimesliderTranslation: () => UseTranslationResponse<typeof TIME_SLIDER_NAMESPACE, typeof i18n>;