@m4l/gclick 0.2.3-beta.1 → 0.3.0-BE20260129-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.
Files changed (157) hide show
  1. package/@types/types.d.ts +9 -0
  2. package/components/Device/slots/DeviceSlots.d.ts +2 -2
  3. package/components/DeviceLabel/slots/DeviceLabelSlots.d.ts +1 -1
  4. package/components/GaugeCircular/constants.d.ts +1 -1
  5. package/components/VideoTimeLineSelector/VideoTimeLineSelector.d.ts +5 -0
  6. package/components/VideoTimeLineSelector/VideoTimeLineSelector.js +22 -0
  7. package/components/VideoTimeLineSelector/VideoTimeLineSelector.styles.d.ts +2 -0
  8. package/components/VideoTimeLineSelector/VideoTimeLineSelector.styles.js +335 -0
  9. package/components/VideoTimeLineSelector/__tests__/BaseVideoTimeLineSelector.test.d.ts +1 -0
  10. package/components/VideoTimeLineSelector/__tests__/ChannelCheckbox.test.d.ts +1 -0
  11. package/components/VideoTimeLineSelector/__tests__/ChannelRadioButton.test.d.ts +1 -0
  12. package/components/VideoTimeLineSelector/__tests__/ChartTimeLine.test.d.ts +1 -0
  13. package/components/VideoTimeLineSelector/__tests__/EventCluster.test.d.ts +1 -0
  14. package/components/VideoTimeLineSelector/__tests__/VideoTimeLineSelector.test.d.ts +1 -0
  15. package/components/VideoTimeLineSelector/__tests__/VideoTimeLineSelectorContext.test.d.ts +1 -0
  16. package/components/VideoTimeLineSelector/__tests__/VideoTimeLineSelectorStore.test.d.ts +1 -0
  17. package/components/VideoTimeLineSelector/__tests__/helpers/calculateQuadrantData.test.d.ts +1 -0
  18. package/components/VideoTimeLineSelector/__tests__/helpers/calculateTimeLineData.test.d.ts +1 -0
  19. package/components/VideoTimeLineSelector/__tests__/helpers/clusterEvents.test.d.ts +1 -0
  20. package/components/VideoTimeLineSelector/__tests__/helpers/convertHoursToTimeString.test.d.ts +1 -0
  21. package/components/VideoTimeLineSelector/__tests__/helpers/getDataWithoutProxy.test.d.ts +1 -0
  22. package/components/VideoTimeLineSelector/__tests__/helpers/getIntersectedSegments.test.d.ts +1 -0
  23. package/components/VideoTimeLineSelector/__tests__/helpers/getTimeFromPointIndex.test.d.ts +1 -0
  24. package/components/VideoTimeLineSelector/__tests__/helpers/getTimeLinePosition.test.d.ts +1 -0
  25. package/components/VideoTimeLineSelector/__tests__/helpers/getVisiblePoints.test.d.ts +1 -0
  26. package/components/VideoTimeLineSelector/__tests__/helpers/isValidTimeVisible.test.d.ts +1 -0
  27. package/components/VideoTimeLineSelector/constants.d.ts +12 -0
  28. package/components/VideoTimeLineSelector/constants.js +18 -0
  29. package/components/VideoTimeLineSelector/dictionary.d.ts +2 -0
  30. package/components/VideoTimeLineSelector/dictionary.js +16 -0
  31. package/components/VideoTimeLineSelector/helpers/calculateQuadrantData/calculateQuadrantData.d.ts +5 -0
  32. package/components/VideoTimeLineSelector/helpers/calculateQuadrantData/calculateQuadrantData.js +11 -0
  33. package/components/VideoTimeLineSelector/helpers/calculateQuadrantData/index.d.ts +0 -0
  34. package/components/VideoTimeLineSelector/helpers/calculateTimeLineData/calculateTimeLineData.d.ts +8 -0
  35. package/components/VideoTimeLineSelector/helpers/calculateTimeLineData/calculateTimeLineData.js +19 -0
  36. package/components/VideoTimeLineSelector/helpers/calculateTimeLineData/index.d.ts +0 -0
  37. package/components/VideoTimeLineSelector/helpers/clusterEvents/clusterEvents.d.ts +18 -0
  38. package/components/VideoTimeLineSelector/helpers/clusterEvents/clusterEvents.js +86 -0
  39. package/components/VideoTimeLineSelector/helpers/convertHoursToTimeString/convertHoursToTimeString.d.ts +6 -0
  40. package/components/VideoTimeLineSelector/helpers/convertHoursToTimeString/convertHoursToTimeString.js +16 -0
  41. package/components/VideoTimeLineSelector/helpers/convertHoursToTimeString/index.d.ts +1 -0
  42. package/components/VideoTimeLineSelector/helpers/getDataWithoutProxy/getDataWithoutProxy.d.ts +6 -0
  43. package/components/VideoTimeLineSelector/helpers/getDataWithoutProxy/getDataWithoutProxy.js +13 -0
  44. package/components/VideoTimeLineSelector/helpers/getDataWithoutProxy/index.d.ts +1 -0
  45. package/components/VideoTimeLineSelector/helpers/getDataWithoutProxy/index.js +1 -0
  46. package/components/VideoTimeLineSelector/helpers/getIntersectedSegments/getIntersectedSegments.d.ts +5 -0
  47. package/components/VideoTimeLineSelector/helpers/getIntersectedSegments/getIntersectedSegments.js +24 -0
  48. package/components/VideoTimeLineSelector/helpers/getTimeFromPointIndex/getTimeFromPointIndex.d.ts +9 -0
  49. package/components/VideoTimeLineSelector/helpers/getTimeFromPointIndex/getTimeFromPointIndex.js +13 -0
  50. package/components/VideoTimeLineSelector/helpers/getTimeFromPointIndex/index.d.ts +1 -0
  51. package/components/VideoTimeLineSelector/helpers/getTimeLinePosition/getTimeLinePosition.d.ts +8 -0
  52. package/components/VideoTimeLineSelector/helpers/getTimeLinePosition/getTimeLinePosition.js +13 -0
  53. package/components/VideoTimeLineSelector/helpers/getTimeLinePosition/types.d.ts +4 -0
  54. package/components/VideoTimeLineSelector/helpers/getVisiblePoints/getVisiblePoints.d.ts +38 -0
  55. package/components/VideoTimeLineSelector/helpers/getVisiblePoints/getVisiblePoints.js +32 -0
  56. package/components/VideoTimeLineSelector/helpers/getVisiblePoints/index.d.ts +2 -0
  57. package/components/VideoTimeLineSelector/helpers/getVisiblePoints/types.d.ts +24 -0
  58. package/components/VideoTimeLineSelector/helpers/isValidTimeVisible/index.d.ts +1 -0
  59. package/components/VideoTimeLineSelector/helpers/isValidTimeVisible/isValidTimeVisible.d.ts +7 -0
  60. package/components/VideoTimeLineSelector/helpers/isValidTimeVisible/isValidTimeVisible.js +7 -0
  61. package/components/VideoTimeLineSelector/icons.d.ts +4 -0
  62. package/components/VideoTimeLineSelector/icons.js +7 -0
  63. package/components/VideoTimeLineSelector/index.d.ts +4 -0
  64. package/components/VideoTimeLineSelector/index.js +1 -0
  65. package/components/VideoTimeLineSelector/slots/VideoTimeLineSelectorEnums.d.ts +24 -0
  66. package/components/VideoTimeLineSelector/slots/VideoTimeLineSelectorEnums.js +28 -0
  67. package/components/VideoTimeLineSelector/slots/VideoTimeLineSelectorSlots.d.ts +66 -0
  68. package/components/VideoTimeLineSelector/slots/VideoTimeLineSelectorSlots.js +118 -0
  69. package/components/VideoTimeLineSelector/store/VideoTimeLineSelectorContext.d.ts +8 -0
  70. package/components/VideoTimeLineSelector/store/VideoTimeLineSelectorContext.js +74 -0
  71. package/components/VideoTimeLineSelector/store/VideoTimeLineSelectorStore.d.ts +6 -0
  72. package/components/VideoTimeLineSelector/store/VideoTimeLineSelectorStore.js +224 -0
  73. package/components/VideoTimeLineSelector/store/index.d.ts +0 -0
  74. package/components/VideoTimeLineSelector/store/types.d.ts +57 -0
  75. package/components/VideoTimeLineSelector/store/useVideoTimeLineSelectorStore.d.ts +5 -0
  76. package/components/VideoTimeLineSelector/store/useVideoTimeLineSelectorStore.js +14 -0
  77. package/components/VideoTimeLineSelector/subcomponents/BaseVideoTimeLineSelector/BaseVideoTimeLineSelector.d.ts +9 -0
  78. package/components/VideoTimeLineSelector/subcomponents/BaseVideoTimeLineSelector/BaseVideoTimeLineSelector.js +119 -0
  79. package/components/VideoTimeLineSelector/subcomponents/ChannelCheckBox/ChannelCheckbox.d.ts +7 -0
  80. package/components/VideoTimeLineSelector/subcomponents/ChannelCheckBox/ChannelCheckbox.js +25 -0
  81. package/components/VideoTimeLineSelector/subcomponents/ChannelCheckBox/types.d.ts +5 -0
  82. package/components/VideoTimeLineSelector/subcomponents/ChannelRadioButton/ChannelRadioButton.d.ts +7 -0
  83. package/components/VideoTimeLineSelector/subcomponents/ChannelRadioButton/ChannelRadioButton.js +28 -0
  84. package/components/VideoTimeLineSelector/subcomponents/ChannelRadioButton/types.d.ts +5 -0
  85. package/components/VideoTimeLineSelector/subcomponents/ChartTimeLine/ChartTimeLine.d.ts +6 -0
  86. package/components/VideoTimeLineSelector/subcomponents/ChartTimeLine/ChartTimeLine.js +284 -0
  87. package/components/VideoTimeLineSelector/subcomponents/ChartTimeLine/types.d.ts +3 -0
  88. package/components/VideoTimeLineSelector/subcomponents/EventCluster/EventCluster.d.ts +11 -0
  89. package/components/VideoTimeLineSelector/subcomponents/EventCluster/EventCluster.js +97 -0
  90. package/components/VideoTimeLineSelector/types.d.ts +94 -0
  91. package/components/index.d.ts +1 -0
  92. package/components/indicators/IndicatorBattery/constants.d.ts +1 -1
  93. package/components/indicators/IndicatorBattery/slots/IndicatorBaterySlots.d.ts +1 -1
  94. package/components/indicators/IndicatorCSQ/constants.d.ts +1 -1
  95. package/components/indicators/IndicatorCSQ/slots/IndicatorCSQSlots.d.ts +1 -1
  96. package/components/indicators/IndicatorValueAndMagnitude/constants.d.ts +1 -1
  97. package/components/indicators/IndicatorValueAndMagnitude/slots/styled.d.ts +2 -2
  98. package/components/indicators/IndicatorValueStatus/constants.d.ts +1 -1
  99. package/components/indicators/IndicatorValueStatus/slots/IndicatorValueStatusSlots.d.ts +1 -1
  100. package/components/maps/components/GpsMap/GpsMap.styles.js +60 -1
  101. package/components/maps/components/GpsMap/contexts/MapContext/store.js +1 -0
  102. package/components/maps/components/GpsMap/contexts/MapContext/types.d.ts +4 -0
  103. package/components/maps/components/GpsMap/hooks/useAutoFocus/index.js +10 -5
  104. package/components/maps/components/GpsMap/hooks/useDisableMapEventsOnMouseOver/index.js +26 -18
  105. package/components/maps/components/GpsMap/popups/MapPopupDevice/slots/MapPopupDeviceSlots.d.ts +3 -3
  106. package/components/maps/components/GpsMap/slots/slots.d.ts +3 -1
  107. package/components/maps/components/GpsMap/slots/slots.js +1 -0
  108. package/components/maps/components/GpsMap/slots/styled.d.ts +4 -1
  109. package/components/maps/components/GpsMap/slots/styled.js +6 -1
  110. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/ButtonPopupTool/index.js +2 -2
  111. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/MapSourcesTool/slots/styled.d.ts +1 -1
  112. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/MeasureTool/hooks/useValidation.d.ts +4 -9
  113. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/MeasureTool/hooks/useValidation.js +9 -5
  114. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/MeasureTool/slots/styled.d.ts +2 -2
  115. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/MeasureTool/subcomponents/MeasureData/validations.d.ts +2 -1
  116. package/components/maps/components/GpsMap/subcomponents/Controls/subcomponents/ButtonsToolsList/subcomponents/MeasureTool/subcomponents/MeasureData/validations.js +2 -1
  117. package/components/maps/components/GpsMapTools/contexts/GpsMapToolsContext/types.d.ts +2 -2
  118. package/components/maps/components/GpsMapTools/dictionary.d.ts +13 -9
  119. package/components/maps/components/GpsMapTools/dictionary.js +21 -13
  120. package/components/maps/components/GpsMapTools/icons.d.ts +2 -0
  121. package/components/maps/components/GpsMapTools/icons.js +1 -0
  122. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/constants.d.ts +1 -0
  123. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/constants.js +3 -1
  124. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/hooks/useDatagridFiltered.d.ts +3 -3
  125. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/hooks/useDatagridSelected.js +2 -1
  126. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/hooks/useFilterAndSort/useFilterAndSort.d.ts +2 -2
  127. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/hooks/useRowActionsGetter.js +10 -12
  128. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/model.d.ts +30 -2
  129. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/Form.js +6 -4
  130. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/constants.js +6 -1
  131. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/helpers.js +5 -0
  132. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/hooks/useDrawing.js +17 -17
  133. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/hooks/useForm.d.ts +1 -0
  134. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/hooks/useForm.js +21 -11
  135. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/hooks/useSubmit.js +1 -1
  136. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/hooks/useAssignmentData.d.ts +18 -0
  137. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/hooks/useAssignmentData.js +67 -0
  138. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/index.d.ts +4 -0
  139. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/index.js +19 -0
  140. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/types.d.ts +6 -0
  141. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/validations.d.ts +6 -0
  142. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/AssignmentData/validations.js +20 -0
  143. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/ChooseAssignmentData/index.d.ts +4 -0
  144. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/ChooseAssignmentData/index.js +36 -0
  145. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/ChooseAssignmentData/types.d.ts +4 -0
  146. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/ChooseAssignmentData/validations.d.ts +6 -0
  147. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/ConfigData/validations.d.ts +2 -4
  148. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/GeneralData/validations.d.ts +2 -7
  149. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/GeneralData/validations.js +4 -2
  150. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/types.d.ts +5 -1
  151. package/formatters/CourseFormatter/slots/CourseFormatterSlots.d.ts +1 -1
  152. package/index.js +38 -32
  153. package/package.json +65 -47
  154. package/utils/types.d.ts +3 -0
  155. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/hooks/useValidation.d.ts +0 -28
  156. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/hooks/useValidation.js +0 -19
  157. package/components/maps/components/GpsMapTools/subcomponents/GeofencesTool/subcomponents/GeofenceAddEdit/subcomponents/ConfigData/validations.js +0 -11
package/@types/types.d.ts CHANGED
@@ -5,6 +5,8 @@ import { DeviceOwnerState, DeviceSlotsType } from '../components/Device/types';
5
5
  import { IndicatorCSQOwnerState, IndicatorCSQSlotsType } from '../components/indicators/IndicatorCSQ/types';
6
6
  import { IndicatorBatteryOwnerState, IndicatorBatterySlotsType } from '../components/indicators/IndicatorBattery/types';
7
7
  import { IndicatorValueStatusSlotsType } from '../components/indicators/IndicatorValueStatus/types';
8
+ import { VideoTimeLineSelectorOwnerState, VideoTimeLineSelectorSlotsType } from '../components/VideoTimeLineSelector/types';
9
+
8
10
  import { MapOwnerState, MapSlotsType } from '../components/maps/components/GpsMap/types';
9
11
  declare module '@mui/material/styles' {
10
12
  // Define the slots in the theme
@@ -17,6 +19,7 @@ declare module '@mui/material/styles' {
17
19
  M4LCSQSignal: IndicatorCSQSlotsType;
18
20
  M4LIndicatorBattery: IndicatorBatterySlotsType;
19
21
  M4LIndicatorValueStatus: IndicatorValueStatusSlotsType;
22
+ M4LVideoTimeLineSelector: VideoTimeLineSelectorSlotsType;
20
23
  M4LIndicatorValueAndMagnitude: IndicatorValueAndMagnitudeSlotsType;
21
24
  }
22
25
  interface ComponentsPropsList {
@@ -28,6 +31,7 @@ declare module '@mui/material/styles' {
28
31
  M4LCSQSignal: Partial<IndicatorCSQOwnerState>;
29
32
  M4LIndicatorBattery: Partial<IndicatorBatteryOwnerState>;
30
33
  M4LIndicatorValueStatus: Partial<IndicatorValueStatusOwnerState>;
34
+ M4LVideoTimeLineSelector: Partial<VideoTimeLineSelectorOwnerState>;
31
35
  M4LIndicatorValueAndMagnitude: Partial<IndicatorValueAndMagnitudeOwnerState>;
32
36
  }
33
37
  interface Components {
@@ -66,6 +70,11 @@ declare module '@mui/material/styles' {
66
70
  styleOverrides?: ComponentsOverrides<Theme>['M4LIndicatorValueStatus'];
67
71
  variants?: ComponentsVariants['M4LIndicatorValueStatus'];
68
72
  };
73
+ M4LVideoTimeLineSelector?: {
74
+ defaultProps?: ComponentsPropsList['M4LVideoTimeLineSelector'];
75
+ styleOverrides?: ComponentsOverrides<Theme>['M4LVideoTimeLineSelector'];
76
+ variants?: ComponentsVariants['M4LVideoTimeLineSelector'];
77
+ };
69
78
  M4LIndicatorValueAndMagnitude?: {
70
79
  defaultProps?: ComponentsPropsList['M4LIndicatorValueAndMagnitude'];
71
80
  styleOverrides?: ComponentsOverrides<Theme>['M4LIndicatorValueAndMagnitude'];
@@ -1,7 +1,7 @@
1
1
  export declare const DeviceRootStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
2
2
  ownerState: Partial<import('../types').DeviceOwnerState> & Record<string, unknown>;
3
3
  }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
4
- export declare const DeviceStatusIconStyled: import('@emotion/styled').StyledComponent<Pick<import('@m4l/components').IconProps, keyof import('@m4l/components').IconProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
4
+ export declare const DeviceStatusIconStyled: import('@emotion/styled').StyledComponent<Pick<import('@m4l/components').IconProps, "src" | "icon" | keyof import('@m4l/components').IconBaseProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
5
5
  ownerState: Partial<import('../types').DeviceOwnerState> & Record<string, unknown>;
6
6
  }, {}, {}>;
7
7
  export declare const DeviceStatusRigthContainerStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
@@ -10,6 +10,6 @@ export declare const DeviceStatusRigthContainerStyled: import('@emotion/styled')
10
10
  export declare const DeviceTitleContainerStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
11
11
  ownerState: Partial<import('../types').DeviceOwnerState> & Record<string, unknown>;
12
12
  }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
13
- export declare const DeviceStatusLabelStyled: import('@emotion/styled').StyledComponent<Pick<import('@m4l/components/src/components/mui_extended/Typography/types').TypographyProps, keyof import('@m4l/components/src/components/mui_extended/Typography/types').TypographyProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
13
+ export declare const DeviceStatusLabelStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('@m4l/components/src/components/mui_extended/Typography/types').TypographyProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>, "size" | "children" | "title" | "component" | "zIndex" | "id" | "disabled" | "paragraph" | "border" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontSize" | "textTransform" | "fontFamily" | "typography" | "variant" | "color" | "dataTestid" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "content" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "top" | "translate" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "className" | "style" | "classes" | "sx" | "p" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "htmlFor" | "gutterBottom" | "noWrap" | "variantMapping" | "skeletonWidth" | "skeletonRows" | "ellipsis" | keyof import('react').RefAttributes<HTMLSpanElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
14
14
  ownerState: Partial<import('../types').DeviceOwnerState> & Record<string, unknown>;
15
15
  }, {}, {}>;
@@ -4,6 +4,6 @@ export declare const DeviceRootStyled: import('@emotion/styled').StyledComponent
4
4
  export declare const ImageStyled: import('@emotion/styled').StyledComponent<Pick<import('@m4l/components/src/components/Image').ImageProps, keyof import('@m4l/components/src/components/Image').ImageProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
5
5
  ownerState?: (Partial<import('../../Device/types').DeviceOwnerState> & Record<string, unknown>) | undefined;
6
6
  }, {}, {}>;
7
- export declare const LabelStyled: import('@emotion/styled').StyledComponent<Pick<import('@m4l/components/src/components/mui_extended/Typography/types').TypographyProps, keyof import('@m4l/components/src/components/mui_extended/Typography/types').TypographyProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
7
+ export declare const LabelStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('@m4l/components/src/components/mui_extended/Typography/types').TypographyProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>, "size" | "children" | "title" | "component" | "zIndex" | "id" | "disabled" | "paragraph" | "border" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontSize" | "textTransform" | "fontFamily" | "typography" | "variant" | "color" | "dataTestid" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "content" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "top" | "translate" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "className" | "style" | "classes" | "sx" | "p" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "htmlFor" | "gutterBottom" | "noWrap" | "variantMapping" | "skeletonWidth" | "skeletonRows" | "ellipsis" | keyof import('react').RefAttributes<HTMLSpanElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
8
8
  ownerState?: (Partial<import('../../Device/types').DeviceOwnerState> & Record<string, unknown>) | undefined;
9
9
  }, {}, {}>;
@@ -1,2 +1,2 @@
1
1
  export declare const GAUGE_CIRCULAR_KEY_COMPONENT = "M4LGaugeCircular";
2
- export declare const GAUGE_CIRCULAR_CLASSES: Record<string, string>;
2
+ export declare const GAUGE_CIRCULAR_CLASSES: Record<"root" | "inner" | "circularBg", string>;
@@ -0,0 +1,5 @@
1
+ import { VideoTimeLineSelectorProps } from './types';
2
+ /**
3
+ * VideoTimeLineSelector component
4
+ */
5
+ export declare const VideoTimeLineSelector: <T>(props: VideoTimeLineSelectorProps<T>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { V as VideoTimeLineSelectorProvider } from "./store/VideoTimeLineSelectorContext.js";
3
+ import { B as BaseVideoTimeLineSelector } from "./subcomponents/BaseVideoTimeLineSelector/BaseVideoTimeLineSelector.js";
4
+ import { AppearanceComponentProvider } from "@m4l/components";
5
+ const VideoTimeLineSelector = (props) => {
6
+ const { maxChannelsSelected = 1, channels, segments, events, onChange, size = "medium", defaultTime, loading } = props;
7
+ return /* @__PURE__ */ jsx(AppearanceComponentProvider, { defaultSize: size, children: /* @__PURE__ */ jsx(
8
+ VideoTimeLineSelectorProvider,
9
+ {
10
+ channels,
11
+ maxChannelsSelected,
12
+ segments,
13
+ events,
14
+ defaultTime,
15
+ loading,
16
+ children: /* @__PURE__ */ jsx(BaseVideoTimeLineSelector, { onChange })
17
+ }
18
+ ) });
19
+ };
20
+ export {
21
+ VideoTimeLineSelector as V
22
+ };
@@ -0,0 +1,2 @@
1
+ import { VideoTimeLineSelectorStyles } from './types';
2
+ export declare const chartTimeLineStyles: VideoTimeLineSelectorStyles;
@@ -0,0 +1,335 @@
1
+ import { getPropertyByString } from "@m4l/core";
2
+ import { getTypographyStyles } from "@m4l/components";
3
+ const chartTimeLineStyles = {
4
+ /**
5
+ * Estilos para el contenedor principal
6
+ */
7
+ root: ({ theme }) => ({
8
+ display: "flex",
9
+ gap: theme.vars.size.baseSpacings.sp4,
10
+ width: "100%",
11
+ height: "auto"
12
+ }),
13
+ /**
14
+ * Estilos para el contenedor del select y de los check de los canales
15
+ */
16
+ containerSelectTimeChannels: ({ theme }) => ({
17
+ display: "flex",
18
+ flexDirection: "column",
19
+ gap: theme.vars.size.baseSpacings["sp0-5"],
20
+ minWidth: "170px"
21
+ }),
22
+ /**
23
+ * Estilos para el contenedor del checkbox de los canales
24
+ */
25
+ containerChannelCheckbox: ({ theme }) => ({
26
+ width: "100%",
27
+ display: "flex",
28
+ flexDirection: "row",
29
+ gap: theme.vars.size.baseSpacings["sp0-5"],
30
+ height: theme.vars.size.baseSpacings.sp6,
31
+ "&&& .M4LCheckBox-root": {
32
+ width: "100%"
33
+ },
34
+ "& .MuiTypography-root": {
35
+ width: "100%",
36
+ overflow: "hidden",
37
+ display: "block"
38
+ }
39
+ }),
40
+ /**
41
+ * Estilos para el grupo de los canales
42
+ */
43
+ channelsRadioGroup: ({ theme, ownerState }) => ({
44
+ display: "flex",
45
+ flexDirection: "column",
46
+ flexWrap: "wrap",
47
+ gap: theme.vars.size.baseSpacings["sp0-5"],
48
+ paddingTop: theme.vars.size.baseSpacings.sp3,
49
+ "& .MuiRadio-root": {
50
+ padding: "unset",
51
+ marginRight: theme.vars.size.baseSpacings.sp1,
52
+ width: theme.vars.size.baseSpacings.sp6,
53
+ "& svg": {
54
+ fontSize: theme.vars.size.baseSpacings.sp4
55
+ }
56
+ },
57
+ "& .MuiFormControlLabel-root": {
58
+ width: "100%",
59
+ overflow: "hidden",
60
+ margin: "unset",
61
+ "& > span": {
62
+ ...getTypographyStyles(theme.generalSettings.isMobile, ownerState?.size || "medium", "body")
63
+ }
64
+ }
65
+ }),
66
+ /**
67
+ * Estilos para el grupo de los canales
68
+ */
69
+ channelsGroup: ({ theme }) => ({
70
+ display: "flex",
71
+ flexDirection: "column",
72
+ gap: theme.vars.size.baseSpacings["sp0-5"],
73
+ paddingTop: theme.vars.size.baseSpacings.sp3
74
+ }),
75
+ /**
76
+ * Estilos para el contenedor de los canales
77
+ */
78
+ containerDialTimeLine: ({ theme }) => ({
79
+ display: "flex",
80
+ flexDirection: "column",
81
+ position: "relative",
82
+ paddingTop: "38px",
83
+ transition: "all 0.3s ease",
84
+ height: "auto",
85
+ gap: theme.vars.size.baseSpacings["sp0-5"]
86
+ }),
87
+ /**
88
+ * Estilos para el contenedor de la línea de tiempo
89
+ */
90
+ dashLine: ({ theme }) => ({
91
+ height: "1px",
92
+ borderTop: "1px dashed",
93
+ borderColor: theme.vars.palette.border.default,
94
+ width: "100%"
95
+ }),
96
+ /**
97
+ * Estilos para el contenedor de la línea de tiempo
98
+ */
99
+ dashLineContainer: () => ({
100
+ position: "absolute",
101
+ height: "20px",
102
+ top: "15px",
103
+ left: "0",
104
+ right: "0",
105
+ display: "flex",
106
+ alignItems: "center",
107
+ justifyContent: "center",
108
+ cursor: "pointer"
109
+ }),
110
+ /**
111
+ * Estilos para el punto de evento
112
+ */
113
+ pointEvent: ({ theme, ownerState }) => ({
114
+ position: "absolute",
115
+ top: "20px",
116
+ width: "11px",
117
+ height: "11px",
118
+ borderRadius: "50%",
119
+ border: "4px solid",
120
+ borderColor: getPropertyByString(theme.vars.palette, ownerState?.color || "error.active", "error.active")
121
+ }),
122
+ /**
123
+ * Estilos para el clúster de eventos
124
+ */
125
+ eventCluster: ({ theme }) => ({
126
+ position: "absolute",
127
+ top: "18px",
128
+ width: "14px",
129
+ height: "14px",
130
+ borderRadius: "50%",
131
+ backgroundColor: theme.vars.palette.primary.active,
132
+ border: "2px solid",
133
+ borderColor: theme.vars.palette.primary.active,
134
+ display: "flex",
135
+ alignItems: "center",
136
+ justifyContent: "center",
137
+ cursor: "pointer",
138
+ zIndex: 3,
139
+ transition: "all 0.2s ease",
140
+ boxShadow: theme.vars.customShadows.z1,
141
+ "& > .M4LTypography-root": {
142
+ color: `${theme.vars.palette.primary.contrastText}!important`,
143
+ fontSize: `${theme.vars.size.baseSpacings["sp2-5"]}!important`
144
+ },
145
+ "&:hover": {
146
+ transform: "scale(1.1)",
147
+ boxShadow: theme.vars.customShadows.z1
148
+ }
149
+ }),
150
+ /**
151
+ * Estilos para el contenedor de los canales
152
+ */
153
+ timeLineChannelWrapper: ({ theme }) => ({
154
+ display: "flex",
155
+ width: "100%",
156
+ height: theme.vars.size.baseSpacings.sp6,
157
+ maxHeight: theme.vars.size.baseSpacings.sp6,
158
+ alignItems: "center",
159
+ position: "relative",
160
+ margin: "unset",
161
+ "&::before": {
162
+ content: '""',
163
+ position: "absolute",
164
+ height: theme.vars.size.baseSpacings.sp5,
165
+ top: "50%",
166
+ transform: "translateY(-50%)",
167
+ left: 0,
168
+ right: 0,
169
+ backgroundColor: theme.vars.palette.default.enabledOpacity,
170
+ borderRadius: theme.vars.size.borderRadius.r1
171
+ },
172
+ "&.active": {
173
+ "& .M4LVideoTimeLineSelector-pointChannelSegment": {
174
+ backgroundColor: theme.vars.palette.primary.activeOpacity
175
+ }
176
+ }
177
+ }),
178
+ /**
179
+ * Estilos para cada segmento de punto en el dial
180
+ */
181
+ pointSegment: () => ({
182
+ display: "flex",
183
+ alignItems: "center",
184
+ justifyContent: "center",
185
+ position: "relative",
186
+ cursor: "pointer",
187
+ transition: "all 0.3s ease",
188
+ height: "100%",
189
+ borderLeft: "1px solid",
190
+ borderColor: "transparent",
191
+ listStyleType: "none",
192
+ paddingLeft: 0,
193
+ marginLeft: 0
194
+ }),
195
+ /**
196
+ * Estilos para el segmento de punto de la cámara
197
+ */
198
+ pointChannelSegment: ({ theme }) => ({
199
+ backgroundColor: theme.vars.palette.default.opacity,
200
+ height: theme.vars.size.baseSpacings.sp3,
201
+ borderRadius: theme.vars.size.borderRadius.r1,
202
+ position: "absolute",
203
+ listStyleType: "none",
204
+ paddingLeft: 0,
205
+ marginLeft: 0
206
+ }),
207
+ /**
208
+ * Estilos para el indicador del punto actual
209
+ */
210
+ dialPointIndicator: ({ theme }) => ({
211
+ width: "1px",
212
+ backgroundColor: theme.vars.palette.text.primary,
213
+ overflow: "visible",
214
+ position: "absolute",
215
+ zIndex: 2,
216
+ transition: "all 0.5s ease",
217
+ top: "30px",
218
+ bottom: 0,
219
+ cursor: "ew-resize",
220
+ borderRadius: "50%",
221
+ // Deshabilitar transiciones durante el arrastre
222
+ "&.dragging": {
223
+ transition: "none"
224
+ }
225
+ }),
226
+ /**
227
+ * Estilos para el indicador del punto actual
228
+ */
229
+ dialPointIndicatorInner: ({ theme }) => ({
230
+ position: "absolute",
231
+ top: "-15px",
232
+ width: theme.vars.size.baseSpacings.sp2,
233
+ height: theme.vars.size.baseSpacings.sp2,
234
+ borderRadius: theme.vars.size.borderRadius["r0-5"],
235
+ backgroundColor: theme.vars.palette.primary.semanticText,
236
+ transform: "translateX(-45%)",
237
+ "&::before": {
238
+ content: '""',
239
+ position: "absolute",
240
+ bottom: "-7px",
241
+ height: 0,
242
+ borderLeft: "4px solid transparent",
243
+ borderRight: "4px solid transparent",
244
+ borderTop: `${theme.vars.size.baseSpacings.sp2} solid ${theme.vars.palette.primary.semanticText}`
245
+ }
246
+ }),
247
+ /**
248
+ * Estilos para el contenedor del número del eje
249
+ */
250
+ axisTickContainer: () => ({
251
+ position: "absolute",
252
+ left: "0",
253
+ right: "0",
254
+ transform: "translateX(-50%)",
255
+ top: "-40px",
256
+ height: "24px",
257
+ display: "flex",
258
+ flexDirection: "column",
259
+ alignItems: "center",
260
+ justifyContent: "center",
261
+ gap: "4px",
262
+ cursor: "pointer",
263
+ [`&.last-tick`]: {
264
+ transform: "translateX(50%)"
265
+ }
266
+ }),
267
+ /**
268
+ * Estilos para la línea del eje
269
+ */
270
+ axisTickLine: ({ theme }) => ({
271
+ width: "1px",
272
+ height: "10px",
273
+ backgroundColor: theme.vars.palette.border.default
274
+ }),
275
+ /**
276
+ * Estilos para el número del eje
277
+ */
278
+ axisTickNumber: ({ theme, ownerState }) => ({
279
+ position: "relative",
280
+ cursor: "pointer",
281
+ color: theme.vars.palette.text.secondary,
282
+ ...getTypographyStyles(theme.generalSettings.isMobile, ownerState?.size || "medium", "body"),
283
+ fontFamily: "Jura"
284
+ }),
285
+ /**
286
+ * Estilos para el contenedor del dial
287
+ */
288
+ wrapperDialTimeLine: ({ theme }) => ({
289
+ width: "100%",
290
+ height: "auto",
291
+ paddingLeft: theme.vars.size.baseSpacings.sp4,
292
+ paddingRight: theme.vars.size.baseSpacings.sp4,
293
+ overflowX: "hidden"
294
+ }),
295
+ /**
296
+ * Estilos para el contenedor de los iconos de las flechas
297
+ */
298
+ wrapperDialTimeLineArrows: () => ({
299
+ display: "flex",
300
+ flexDirection: "row",
301
+ position: "relative",
302
+ width: "100%",
303
+ height: "auto",
304
+ paddingLeft: "35px",
305
+ paddingRight: "35px",
306
+ minWidth: "850px"
307
+ }),
308
+ /**
309
+ * Estilos para el icono de la flecha izquierda
310
+ */
311
+ arrowLeft: ({ theme }) => ({
312
+ display: "flex",
313
+ alignItems: "center",
314
+ justifyContent: "center",
315
+ position: "absolute",
316
+ width: `${theme.vars.size.baseSpacings["sp3-5"]}!important`,
317
+ left: 0,
318
+ top: 0
319
+ }),
320
+ /**
321
+ * Estilos para el icono de la flecha derecha
322
+ */
323
+ arrowRight: ({ theme }) => ({
324
+ display: "flex",
325
+ alignItems: "center",
326
+ justifyContent: "center",
327
+ position: "absolute",
328
+ width: `${theme.vars.size.baseSpacings["sp3-5"]}!important`,
329
+ right: 0,
330
+ top: 0
331
+ })
332
+ };
333
+ export {
334
+ chartTimeLineStyles as c
335
+ };
@@ -0,0 +1,12 @@
1
+ import { TimeVisible } from './types';
2
+ export declare const VIDEO_TIME_LINE_SELECTOR_KEY_COMPONENT = "M4LVideoTimeLineSelector";
3
+ export declare const TIME_VISIBLE_OPTIONS_KEYS: Array<TimeVisible>;
4
+ export declare const TIME_SCALES: Record<TimeVisible, {
5
+ timeVisibleMinutes: number;
6
+ zoom: number;
7
+ quadrants: number;
8
+ points: number;
9
+ clusterThresholdMinutes: number;
10
+ pointsPerQuadrant: number;
11
+ }>;
12
+ export declare const VIDEO_TIME_LINE_SELECTOR_CLASSES: Record<"root" | "wrapperDialTimeLineArrows" | "arrowLeft" | "arrowRight" | "channelsRadioGroup" | "containerSelectTimeChannels" | "channelsGroup" | "containerChannelCheckbox" | "containerDialTimeLine" | "pointSegment" | "dialPointIndicator" | "pointChannelSegment" | "dashLine" | "dashLineContainer" | "pointEvent" | "eventCluster" | "dialPointIndicatorInner" | "wrapperDialTimeLine" | "timeLineChannelWrapper" | "axisTickContainer" | "axisTickNumber" | "axisTickLine", string>;
@@ -0,0 +1,18 @@
1
+ import { getComponentClasses } from "@m4l/components";
2
+ import { V as VideoTimeLineSelectorSlots } from "./slots/VideoTimeLineSelectorEnums.js";
3
+ const VIDEO_TIME_LINE_SELECTOR_KEY_COMPONENT = "M4LVideoTimeLineSelector";
4
+ const TIME_VISIBLE_OPTIONS_KEYS = ["24h", "6h", "2h", "1h", "10min"];
5
+ const TIME_SCALES = {
6
+ "24h": { timeVisibleMinutes: 1440, zoom: 100, quadrants: 1, points: 24, clusterThresholdMinutes: 19, pointsPerQuadrant: 24 },
7
+ "6h": { timeVisibleMinutes: 360, zoom: 400, quadrants: 4, points: 96, clusterThresholdMinutes: 5, pointsPerQuadrant: 24 },
8
+ "2h": { timeVisibleMinutes: 120, zoom: 1200, quadrants: 12, points: 288, clusterThresholdMinutes: 2, pointsPerQuadrant: 24 },
9
+ "1h": { timeVisibleMinutes: 60, zoom: 2400, quadrants: 24, points: 576, clusterThresholdMinutes: 1, pointsPerQuadrant: 24 },
10
+ "10min": { timeVisibleMinutes: 10, zoom: 14400, quadrants: 144, points: 3456, clusterThresholdMinutes: 0.133333333, pointsPerQuadrant: 20 }
11
+ };
12
+ const VIDEO_TIME_LINE_SELECTOR_CLASSES = getComponentClasses(VIDEO_TIME_LINE_SELECTOR_KEY_COMPONENT, VideoTimeLineSelectorSlots);
13
+ export {
14
+ TIME_SCALES as T,
15
+ VIDEO_TIME_LINE_SELECTOR_KEY_COMPONENT as V,
16
+ TIME_VISIBLE_OPTIONS_KEYS as a,
17
+ VIDEO_TIME_LINE_SELECTOR_CLASSES as b
18
+ };
@@ -0,0 +1,2 @@
1
+ export declare const getVideoTimeLineSelectorComponentDictionary: () => string[];
2
+ export declare const VIDEO_TIME_LINE_SELECTOR_DICTIONARY_KEYS: Record<string, string>;
@@ -0,0 +1,16 @@
1
+ const COMPONENT_KEY = "video_time_line_selector";
2
+ const getVideoTimeLineSelectorComponentDictionary = () => {
3
+ return [COMPONENT_KEY];
4
+ };
5
+ const VIDEO_TIME_LINE_SELECTOR_DICTIONARY_KEYS = {
6
+ "24h": `${COMPONENT_KEY}.label_time_visible_24h`,
7
+ "6h": `${COMPONENT_KEY}.label_time_visible_6h`,
8
+ "2h": `${COMPONENT_KEY}.label_time_visible_2h`,
9
+ "1h": `${COMPONENT_KEY}.label_time_visible_1h`,
10
+ "10min": `${COMPONENT_KEY}.label_time_visible_10min`,
11
+ "event_cluster": `${COMPONENT_KEY}.label_event_cluster`
12
+ };
13
+ export {
14
+ VIDEO_TIME_LINE_SELECTOR_DICTIONARY_KEYS as V,
15
+ getVideoTimeLineSelectorComponentDictionary as g
16
+ };
@@ -0,0 +1,5 @@
1
+ import { VideoTimeLineSelectorStoreState } from '../../store/types';
2
+ /**
3
+ * Calcula el cuadrante actual
4
+ */
5
+ export declare const calculateQuadrantData: (newCuandrant: number, currentCuandrant: number, totalCuandrants: number) => Pick<VideoTimeLineSelectorStoreState, "currentQuadrant"> | undefined;
@@ -0,0 +1,11 @@
1
+ const calculateQuadrantData = (newCuandrant, currentCuandrant, totalCuandrants) => {
2
+ if (newCuandrant === currentCuandrant || newCuandrant < 1 || newCuandrant > totalCuandrants) {
3
+ return void 0;
4
+ }
5
+ return {
6
+ currentQuadrant: newCuandrant
7
+ };
8
+ };
9
+ export {
10
+ calculateQuadrantData as c
11
+ };
@@ -0,0 +1,8 @@
1
+ import { VideoTimeLineSelectorStoreState } from '../../store/types';
2
+ import { TimeVisible } from '../../types';
3
+ /**
4
+ * Calcula los datos del timeline basado en el tiempo visible
5
+ * @param timeVisible - El tiempo visible seleccionado
6
+ * @returns Objeto con zoom, cuadrantes, secciones y puntos calculados
7
+ */
8
+ export declare const calculateTimeLineData: (timeVisible: TimeVisible, currentTime: number) => Pick<VideoTimeLineSelectorStoreState, "zoomQty" | "quadrantsQty" | "currentQuadrant" | "pointsQty">;