UNPKG

@zag-js/date-utils

Version:

Date utilities for zag.js

60 lines (58 loc) 2.54 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/assertion.ts var assertion_exports = {}; __export(assertion_exports, { isDateEqual: () => isDateEqual, isDateOutsideRange: () => isDateOutsideRange, isDateUnavailable: () => isDateUnavailable, isNextRangeInvalid: () => isNextRangeInvalid, isPreviousRangeInvalid: () => isPreviousRangeInvalid }); module.exports = __toCommonJS(assertion_exports); var import_date = require("@internationalized/date"); function isDateEqual(dateA, dateB) { if (dateA == null || dateB == null) return dateA === dateB; if (!("hour" in dateA) && !("hour" in dateB)) return (0, import_date.isSameDay)(dateA, dateB); return (0, import_date.toCalendarDateTime)(dateA).compare((0, import_date.toCalendarDateTime)(dateB)) === 0; } function isDateUnavailable(date, isUnavailable, locale, minValue, maxValue) { if (!date) return false; if (isUnavailable?.(date, locale)) return true; return isDateOutsideRange(date, minValue, maxValue); } function isDateOutsideRange(date, startDate, endDate) { return startDate != null && date.compare(startDate) < 0 || endDate != null && date.compare(endDate) > 0; } function isPreviousRangeInvalid(startDate, minValue, maxValue) { const prevDate = startDate.subtract({ days: 1 }); return (0, import_date.isSameDay)(prevDate, startDate) || isDateOutsideRange(prevDate, minValue, maxValue); } function isNextRangeInvalid(endDate, minValue, maxValue) { const nextDate = endDate.add({ days: 1 }); return (0, import_date.isSameDay)(nextDate, endDate) || isDateOutsideRange(nextDate, minValue, maxValue); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { isDateEqual, isDateOutsideRange, isDateUnavailable, isNextRangeInvalid, isPreviousRangeInvalid });