UNPKG

@rnwonder/solid-date-picker

Version:

A responsive, highly-customizable datepicker component for SolidJS.

62 lines (61 loc) 2.96 kB
import { memo as m, createComponent as u, mergeProps as A } from "solid-js/web"; import { createSignal as n, createEffect as g } from "solid-js"; import { Selector as z } from "../Selector/index.js"; import { r as N, t as I, s as d } from "../../../node_modules/.pnpm/@rnwonder_simple-datejs@1.1.1/node_modules/@rnwonder/simple-datejs/dist/general-DZqASQRm.js"; import { k as R, p as b } from "../../../node_modules/.pnpm/@rnwonder_simple-datejs@1.1.1/node_modules/@rnwonder/simple-datejs/dist/format-CMbjATj9.js"; import { SelectorTriggerButton as v } from "../SelectorTriggerButton/index.js"; const E = (e) => { const [f, S] = n(""), [T, w] = n([]), [o, s] = n(), [a, l] = n(), [p, B] = n(e.yearSelectorCount ? Math.abs(e.yearSelectorCount) : 20); g(() => { if (e.yearSelectorType === "compact-dropdown") return; const { range: r, array: t, endYear: i, startYear: h } = R({ startYear: o(), endYear: a(), count: p(), year: e.year(), yearRange: e.yearRange, locale: e.locale || "en-US" }); S(r), w(N(t, 4)), s(h), l(i); }), g(() => { e.yearSelectorType !== "compact-dropdown" && e.showSelectorTwo && (e.showSelectorTwo() || (s(), l())); }); const C = () => { if (!o() || !a()) return; const r = a(); s(r + 1), l(r + p()); }, x = () => { if (!o() || !a()) return; const r = o(); l(r - 1), s(r - p()); }, Y = () => { var r, t; (r = e.setSelectorTwoProps) == null || r.call(e, { ...e, optionsArray: [], locale: e.locale || "en-US", yearArray: T, option: e.year, setOption: e.setYear, ref: e.ref, attributes: { "data-year": "true" }, handleNext: C, handlePrev: x, range: f, className: "year-selector-option", zIndex: e.zIndex, primaryTextColor: e.primaryTextColor, primaryColor: e.primaryColor, useValueAsName: !0, startYear: o, endYear: a, count: p }), (t = e.setShowSelectorTwo) == null || t.call(e, !0); }; return m((y = m(() => e.yearSelectorType === "compact-dropdown"), () => y() ? u(z, A(e, { get optionsArray() { var r, t; return I(((r = e.yearRange) == null ? void 0 : r.start) || d - 51, ((t = e.yearRange) == null ? void 0 : t.end) || d + 20).map((i) => i.toString()); }, get option() { return e.year; }, get setOption() { return e.setYear; }, ref(r) { var t = e.ref; typeof t == "function" ? t(r) : e.ref = r; }, attributes: { "data-year": "true" }, useValueAsName: !0, className: "year-selector-option", get zIndex() { return e.zIndex; }, get primaryColor() { return e.primaryColor; }, get primaryTextColor() { return e.primaryTextColor; } })) : u(v, { get option() { return e.year; }, optionsArray: [], type: "full-size", get isOpen() { var r; return ((r = e.showSelectorTwo) == null ? void 0 : r.call(e)) || !1; }, onClick: Y, get noButtonAnimation() { return e.noButtonAnimation; }, get children() { return b(e.year(), e.locale); } }))); var y; }; export { E as YearSelector };