UNPKG

@brightsoftware/date-np

Version:

Simple & minimal Nepali date picker that just works.

129 lines (128 loc) 6.94 kB
import { jsxs as u, jsx as n } from "react/jsx-runtime"; import { cn as t } from "../../../utils/clsx.js"; import { useTimePicker as je } from "../hooks/useTimePicker.js"; import { TimeColumn as m } from "./time-column.js"; import { useRef as Be, useEffect as Se } from "react"; const ye = ({ className: Pe, ...e }) => { var c, C, N, d, P, f, v, b, h, V, w, x, g, j, B, S, D, H, E, I, T, y, M, k, W, L, R, A, q, z, F, G, J, K, O, Q, U, X, Y, Z, _, $, p, ee, ae, se, ne, le, te, me, oe, ue, re, ie, ce, Ce; const r = Be(null), { timePickerState: fe, incrementHours: ve, decrementHours: be, incrementMinutes: he, decrementMinutes: Ve, incrementSeconds: we, decrementSeconds: xe, togglePeriod: i } = je(), { selectedTime: s, format: l, shouldInclude: o } = fe; Se(() => { const a = r.current; if (!a) return; const Ne = (de) => { de.preventDefault(), de.stopPropagation(); }; return a.addEventListener("wheel", Ne, { passive: !1 }), () => { a.removeEventListener("wheel", Ne); }; }, []); const ge = (a) => { a.preventDefault(), a.stopPropagation(), a.nativeEvent && (a.nativeEvent.preventDefault(), a.nativeEvent.stopImmediatePropagation()); }; return /* @__PURE__ */ u( "div", { ref: r, className: t("flex flex-col items-center space-y-4", Pe), onWheel: ge, children: [ /* @__PURE__ */ u("div", { className: "flex justify-between w-full items-center", children: [ /* @__PURE__ */ n("div", { className: t("text-lg font-semibold text-gray-900", e.titleClassName), children: e.titleText || "Select Time" }), /* @__PURE__ */ n( "button", { onClick: (a) => e.onSave && e.onSave(s), className: t( "px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-400", e.buttonClassname ), children: "Save" } ) ] }), /* @__PURE__ */ u("div", { className: t("flex items-center space-x-8", e.columnsContainerClassName), children: [ o.hours && /* @__PURE__ */ n( m, { label: ((C = (c = e.timeColumnProps) == null ? void 0 : c.hours) == null ? void 0 : C.label) || "Hours", value: s.hours, onIncrement: ve, onDecrement: be, format: l, isHours: !0, className: (d = (N = e.timeColumnProps) == null ? void 0 : N.hours) == null ? void 0 : d.className, labelClassName: (f = (P = e.timeColumnProps) == null ? void 0 : P.hours) == null ? void 0 : f.labelClassName, currentValueClassName: (b = (v = e.timeColumnProps) == null ? void 0 : v.hours) == null ? void 0 : b.currentValueClassName, adjacentValueClassName: (V = (h = e.timeColumnProps) == null ? void 0 : h.hours) == null ? void 0 : V.adjacentValueClassName, arrowButtonClassName: (x = (w = e.timeColumnProps) == null ? void 0 : w.hours) == null ? void 0 : x.arrowButtonClassName, columnContainerClassName: (j = (g = e.timeColumnProps) == null ? void 0 : g.hours) == null ? void 0 : j.columnContainerClassName } ), o.minutes && /* @__PURE__ */ n( m, { label: ((S = (B = e.timeColumnProps) == null ? void 0 : B.minutes) == null ? void 0 : S.label) || "Minutes", value: s.minutes, onIncrement: he, onDecrement: Ve, format: l, isHours: !1, className: (H = (D = e.timeColumnProps) == null ? void 0 : D.minutes) == null ? void 0 : H.className, labelClassName: (I = (E = e.timeColumnProps) == null ? void 0 : E.minutes) == null ? void 0 : I.labelClassName, currentValueClassName: (y = (T = e.timeColumnProps) == null ? void 0 : T.minutes) == null ? void 0 : y.currentValueClassName, adjacentValueClassName: (k = (M = e.timeColumnProps) == null ? void 0 : M.minutes) == null ? void 0 : k.adjacentValueClassName, arrowButtonClassName: (L = (W = e.timeColumnProps) == null ? void 0 : W.minutes) == null ? void 0 : L.arrowButtonClassName, columnContainerClassName: (A = (R = e.timeColumnProps) == null ? void 0 : R.minutes) == null ? void 0 : A.columnContainerClassName } ), o.seconds && /* @__PURE__ */ n( m, { label: ((z = (q = e.timeColumnProps) == null ? void 0 : q.seconds) == null ? void 0 : z.label) || "Seconds", value: s.seconds, onIncrement: we, onDecrement: xe, format: l, isHours: !1, className: (G = (F = e.timeColumnProps) == null ? void 0 : F.seconds) == null ? void 0 : G.className, labelClassName: (K = (J = e.timeColumnProps) == null ? void 0 : J.seconds) == null ? void 0 : K.labelClassName, currentValueClassName: (Q = (O = e.timeColumnProps) == null ? void 0 : O.seconds) == null ? void 0 : Q.currentValueClassName, adjacentValueClassName: (X = (U = e.timeColumnProps) == null ? void 0 : U.seconds) == null ? void 0 : X.adjacentValueClassName, arrowButtonClassName: (Z = (Y = e.timeColumnProps) == null ? void 0 : Y.seconds) == null ? void 0 : Z.arrowButtonClassName, columnContainerClassName: ($ = (_ = e.timeColumnProps) == null ? void 0 : _.seconds) == null ? void 0 : $.columnContainerClassName } ), l === "am/pm" && s.period && /* @__PURE__ */ n( m, { label: ((ee = (p = e.timeColumnProps) == null ? void 0 : p.period) == null ? void 0 : ee.label) || "AM/PM", value: s.period, onIncrement: i, onDecrement: i, format: l, isHours: !1, className: (se = (ae = e.timeColumnProps) == null ? void 0 : ae.period) == null ? void 0 : se.className, labelClassName: (le = (ne = e.timeColumnProps) == null ? void 0 : ne.period) == null ? void 0 : le.labelClassName, currentValueClassName: (me = (te = e.timeColumnProps) == null ? void 0 : te.period) == null ? void 0 : me.currentValueClassName, adjacentValueClassName: (ue = (oe = e.timeColumnProps) == null ? void 0 : oe.period) == null ? void 0 : ue.adjacentValueClassName, arrowButtonClassName: (ie = (re = e.timeColumnProps) == null ? void 0 : re.period) == null ? void 0 : ie.arrowButtonClassName, columnContainerClassName: (Ce = (ce = e.timeColumnProps) == null ? void 0 : ce.period) == null ? void 0 : Ce.columnContainerClassName } ) ] }) ] } ); }; export { ye as TimePickerBody };