UNPKG

@rnwonder/solid-date-picker

Version:

A responsive, highly-customizable datepicker component for SolidJS.

65 lines (64 loc) 3.46 kB
import { insert as n, createComponent as i, mergeProps as A, effect as I, className as O, template as J } from "solid-js/web"; import { createSignal as t, onMount as W, createEffect as E, Show as m } from "solid-js"; import { TimeAnalog as _ } from "../TimeAnalog/index.js"; import { TimeAnalogGroupTop as q } from "../TimeAnalogGroupTop/index.js"; import { TimeAnalogBottom as z } from "../TimeAnalogBottom/index.js"; import { convert12HourTo24Hour as D } from "../../../node_modules/.pnpm/@rnwonder_simple-datejs@1.1.1/node_modules/@rnwonder/simple-datejs/dist/utils.js"; import { cn as F } from "../../utils/class.js"; var H = J("<div data-type=custom-jsx>"), K = J('<div><div class="rn-flex rn-flex-row"><div>'); const ee = (e) => { const [l, o] = t("hour"), [d, N] = t(["hour", "minute"]), [w, g] = t("AM"), [v, P] = t(), [V, X] = t(), [T, B] = t(), [G, j] = t(); W(() => { var r, a, u, f, y; e.allowedView && N(e.allowedView), !((r = e.allowedView) != null && r.includes("hour")) && ((a = e.allowedView) != null && a.includes("minute")) && o("minute"), (u = e.allowedView) != null && u.includes("hour") || (f = e.allowedView) != null && f.includes("minute") || !((y = e.allowedView) != null && y.includes("second")) || o("second"); }), E(() => { j({ hour: v() !== void 0 ? D(v(), w()) : void 0, minute: V(), second: T() }); }); const S = () => { var r; l() === "hour" && d().includes("minute") ? o("minute") : l() === "minute" && d().includes("second") ? o("second") : e.shouldCloseOnSelect && ((r = e.setIsShown) == null || r.call(e, !1)); }, b = () => { l() === "second" && d().includes("minute") ? o("minute") : l() === "minute" && d().includes("hour") && o("hour"); }, p = (r) => { if (r) { if (typeof r == "function") { const f = r({ handleNext: S, handlePrev: b, setView: o, view: l, meridiem: w, setMeridiem: g, time: G }); return a = H(), n(a, f), a; } var a, u; return u = H(), n(u, r), u; } }, x = p(e.topAreaJSX), C = p(e.bottomAreaJSX), M = p(e.leftAreaJSX), k = p(e.rightAreaJSX); return s = K(), c = s.firstChild, h = c.firstChild, n(s, i(m, { when: x, children: x }), c), n(c, i(m, { when: M, children: M }), h), n(h, i(m, { get when() { return !e.hideTopArea; }, get children() { return i(q, A(e, { view: l, get allowedView() { return d(); }, handleNext: S, handlePrev: b })); } }), null), n(h, i(_, A(e, { get allowedView() { return d(); }, view: l, setView: o, handleNext: S, meridiem: w, get handleTimeChange() { return e.handleTimeChange; }, setMeridiem: g, selectedHour: v, selectedMinute: V, selectedSeconds: T, setSelectedHour: P, setSelectedMinute: X, setSelectedSeconds: B })), null), n(h, i(m, { get when() { return d().includes("hour") && !e.hideBottomArea; }, keyed: !0, get children() { return i(z, A(e, { meridiem: w, setMeridiem: g })); } }), null), n(c, i(m, { when: k, children: k }), null), n(s, i(m, { when: C, children: C }), null), I(() => O(s, F(` time-picker-wrapper rn-rounded-md rn-border-t rn-border-solid rn-border-gray-300 rn-bg-white rn-px-[1rem] rn-pb-[0.5rem] rn-pt-[0.625rem] rn-shadow-lg dark:rn-border-gray-700 dark:rn-bg-dreamless-sleep `, e.timePickerWrapperClass))), s; var s, c, h; }; export { ee as TimeAnalogGroup };