@rnwonder/solid-date-picker
Version:
A responsive, highly-customizable datepicker component for SolidJS.
32 lines (31 loc) • 1.36 kB
JavaScript
import { createComponent as o } from "solid-js/web";
import { createSignal as s, onMount as k, For as y } from "solid-js";
import { DatePickerDay as g } from "../DatePickerDay/index.js";
import { DatePickerWeek as p } from "../DatePickerWeek/index.js";
const C = (e) => {
const [c, m] = s([]), [n, w] = s([]);
return k(() => {
const a = Array.from({ length: 7 }, (i, t) => {
const l = new Date(0, 0, t - (1 - (e.weekStartDay || 0)) + 1).toLocaleDateString(e.locale || "en", { weekday: e.weekDaysType === "single" ? "narrow" : "short" });
return e.weekDaysType === "double" ? l.slice(0, 2) : l;
}), r = Array.from({ length: 7 }, (i, t) => new Date(0, 0, t - (1 - (e.weekStartDay || 0)) + 1).toLocaleDateString(e.locale || "en", { weekday: "long" }));
w(r), m(a);
}), o(p, { get weekNamesRowClass() {
return e.weekNamesRowClass;
}, get children() {
return o(y, { get each() {
return c();
}, children: (a, r) => o(g, { get weekDaysNameColor() {
return e.weekDaysNameColor;
}, get weekNamesClass() {
return e.weekNamesClass;
}, get wrapperProps() {
return { "data-scope": "date-picker", "data-type": "column-header", "aria-label": n()[r()], role: "columnheader" };
}, header: !0, get headerValue() {
return n()[r()];
}, children: a }) });
} });
};
export {
C as WeekDays
};