@rnwonder/solid-date-picker
Version:
A responsive, highly-customizable datepicker component for SolidJS.
65 lines (64 loc) • 3.46 kB
JavaScript
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
};