UNPKG

laif-ds

Version:

Design System di Laif con componenti React basati su principi di Atomic Design

41 lines (40 loc) 1.25 kB
"use client"; import { useContext as u, useCallback as d } from "react"; import { GanttContext as D } from "../components/Gantt/GanttContext.js"; import { getScaleDates as z } from "../utils/getScaleDates.js"; import { getInitialScrollOffset as C } from "../utils/getInitialScrollOffset.js"; import { DragStepOptions as x } from "../constants/DragStepOptions.js"; import { GanttDimensionsSettings as O } from "../constants/DimensionsSettings.js"; const P = () => { const { setScaleDates: a, wrapRef: r, settings: t, setSettings: o, currentDate: e } = u(D); return { calculate: d( (s) => { var l; const { stepWidth: S, itemsCount: p, scaleStepItems: g, secondsInPixel: n, unitOfTime: m } = O[s], c = z(e, p, m), i = C( s, c, e ), f = x[t.dragStepSize].seconds / n; o({ stepWidth: S, initialScrollOffset: i, scaleStepItems: g, secondsInPixel: n, dimension: s, dragStepSize: t.dragStepSize, gridSize: f, draggable: t.draggable }), a(c), (l = r.current) == null || l.scrollTo({ left: i }); }, [e, a, o, t.dragStepSize, r] ) }; }; export { P as useGanttCalculate };