UNPKG

laif-ds

Version:

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

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