This commit is contained in:
Hanson.xyz Dev
2026-01-04 17:50:08 -06:00
parent 7e45ce0756
commit acc8ac87a0
4131 changed files with 232562 additions and 250244 deletions
+220 -437
View File
@@ -1058,6 +1058,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
}));
/***/ }),
/***/ 4040:
/***/ ((module) => {
"use strict";
module.exports = window["wp"]["deprecated"];
/***/ }),
/***/ 5537:
@@ -1075,6 +1083,13 @@ moment.tz.load(__webpack_require__(1681));
"use strict";
module.exports = window["moment"];
/***/ }),
/***/ 7140:
/***/ (() => {
/***/ })
/******/ });
@@ -1149,180 +1164,123 @@ var __webpack_exports__ = {};
// This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
(() => {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
__experimentalGetSettings: () => (/* binding */ __experimentalGetSettings),
date: () => (/* binding */ date),
dateI18n: () => (/* binding */ dateI18n),
format: () => (/* binding */ format),
getDate: () => (/* binding */ getDate),
getSettings: () => (/* binding */ getSettings),
gmdate: () => (/* binding */ gmdate),
gmdateI18n: () => (/* binding */ gmdateI18n),
humanTimeDiff: () => (/* binding */ humanTimeDiff),
isInTheFuture: () => (/* binding */ isInTheFuture),
setSettings: () => (/* binding */ setSettings)
});
// EXTERNAL MODULE: external "moment"
var external_moment_ = __webpack_require__(6154);
var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
// EXTERNAL MODULE: ./node_modules/moment-timezone/moment-timezone.js
var moment_timezone = __webpack_require__(3849);
// EXTERNAL MODULE: ./node_modules/moment-timezone/moment-timezone-utils.js
var moment_timezone_utils = __webpack_require__(1685);
;// external ["wp","deprecated"]
const external_wp_deprecated_namespaceObject = window["wp"]["deprecated"];
var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_namespaceObject);
;// ./node_modules/@wordpress/date/build-module/index.js
/**
* External dependencies
*/
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ __experimentalGetSettings: () => (/* binding */ __experimentalGetSettings),
/* harmony export */ date: () => (/* binding */ date),
/* harmony export */ dateI18n: () => (/* binding */ dateI18n),
/* harmony export */ format: () => (/* binding */ format),
/* harmony export */ getDate: () => (/* binding */ getDate),
/* harmony export */ getSettings: () => (/* binding */ getSettings),
/* harmony export */ gmdate: () => (/* binding */ gmdate),
/* harmony export */ gmdateI18n: () => (/* binding */ gmdateI18n),
/* harmony export */ humanTimeDiff: () => (/* binding */ humanTimeDiff),
/* harmony export */ isInTheFuture: () => (/* binding */ isInTheFuture),
/* harmony export */ setSettings: () => (/* binding */ setSettings)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6154);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var moment_timezone_moment_timezone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3849);
/* harmony import */ var moment_timezone_moment_timezone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment_timezone_moment_timezone__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var moment_timezone_moment_timezone_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1685);
/* harmony import */ var moment_timezone_moment_timezone_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment_timezone_moment_timezone_utils__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4040);
/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7140);
/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_types__WEBPACK_IMPORTED_MODULE_4__);
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_4__) if(["default","__experimentalGetSettings","date","dateI18n","format","getDate","getSettings","gmdate","gmdateI18n","humanTimeDiff","isInTheFuture","setSettings"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _types__WEBPACK_IMPORTED_MODULE_4__[__WEBPACK_IMPORT_KEY__]
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
/**
* WordPress dependencies
*/
/** @typedef {import('moment').Moment} Moment */
/** @typedef {import('moment').LocaleSpecification} MomentLocaleSpecification */
/**
* @typedef MeridiemConfig
* @property {string} am Lowercase AM.
* @property {string} AM Uppercase AM.
* @property {string} pm Lowercase PM.
* @property {string} PM Uppercase PM.
*/
/**
* @typedef FormatsConfig
* @property {string} time Time format.
* @property {string} date Date format.
* @property {string} datetime Datetime format.
* @property {string} datetimeAbbreviated Abbreviated datetime format.
*/
/**
* @typedef TimezoneConfig
* @property {string} offset Offset setting.
* @property {string} offsetFormatted Offset setting with decimals formatted to minutes.
* @property {string} string The timezone as a string (e.g., `'America/Los_Angeles'`).
* @property {string} abbr Abbreviation for the timezone.
*/
/* eslint-disable jsdoc/valid-types */
/**
* @typedef L10nSettings
* @property {string} locale Moment locale.
* @property {MomentLocaleSpecification['months']} months Locale months.
* @property {MomentLocaleSpecification['monthsShort']} monthsShort Locale months short.
* @property {MomentLocaleSpecification['weekdays']} weekdays Locale weekdays.
* @property {MomentLocaleSpecification['weekdaysShort']} weekdaysShort Locale weekdays short.
* @property {MeridiemConfig} meridiem Meridiem config.
* @property {MomentLocaleSpecification['relativeTime']} relative Relative time config.
* @property {0|1|2|3|4|5|6} startOfWeek Day that the week starts on.
*/
/* eslint-enable jsdoc/valid-types */
/**
* @typedef DateSettings
* @property {L10nSettings} l10n Localization settings.
* @property {FormatsConfig} formats Date/time formats config.
* @property {TimezoneConfig} timezone Timezone settings.
*/
const WP_ZONE = 'WP';
// This regular expression tests positive for UTC offsets as described in ISO 8601.
// See: https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC
const WP_ZONE = "WP";
const VALID_UTC_OFFSET = /^[+-][0-1][0-9](:?[0-9][0-9])?$/;
// Changes made here will likely need to be synced with Core in the file
// src/wp-includes/script-loader.php in `wp_default_packages_inline_scripts()`.
/** @type {DateSettings} */
let settings = {
l10n: {
locale: 'en',
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
meridiem: {
am: 'am',
pm: 'pm',
AM: 'AM',
PM: 'PM'
},
locale: "en",
months: [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
monthsShort: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
weekdays: [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
meridiem: { am: "am", pm: "pm", AM: "AM", PM: "PM" },
relative: {
future: '%s from now',
past: '%s ago',
s: 'a few seconds',
ss: '%d seconds',
m: 'a minute',
mm: '%d minutes',
h: 'an hour',
hh: '%d hours',
d: 'a day',
dd: '%d days',
M: 'a month',
MM: '%d months',
y: 'a year',
yy: '%d years'
future: "%s from now",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
},
startOfWeek: 0
},
formats: {
time: 'g: i a',
date: 'F j, Y',
datetime: 'F j, Y g: i a',
datetimeAbbreviated: 'M j, Y g: i a'
time: "g: i a",
date: "F j, Y",
datetime: "F j, Y g: i a",
datetimeAbbreviated: "M j, Y g: i a"
},
timezone: {
offset: '0',
offsetFormatted: '0',
string: '',
abbr: ''
}
timezone: { offset: "0", offsetFormatted: "0", string: "", abbr: "" }
};
/**
* Adds a locale to moment, using the format supplied by `wp_localize_script()`.
*
* @param {DateSettings} dateSettings Settings, including locale data.
*/
function setSettings(dateSettings) {
settings = dateSettings;
setupWPTimezone();
// Does moment already have a locale with the right name?
if (external_moment_default().locales().includes(dateSettings.l10n.locale)) {
// Is that locale misconfigured, e.g. because we are on a site running
// WordPress < 6.0?
if (external_moment_default().localeData(dateSettings.l10n.locale).longDateFormat('LTS') === null) {
// Delete the misconfigured locale.
// @ts-ignore Type definitions are incorrect - null is permitted.
external_moment_default().defineLocale(dateSettings.l10n.locale, null);
if (moment__WEBPACK_IMPORTED_MODULE_0___default().locales().includes(dateSettings.l10n.locale)) {
if (moment__WEBPACK_IMPORTED_MODULE_0___default().localeData(dateSettings.l10n.locale).longDateFormat("LTS") === null) {
moment__WEBPACK_IMPORTED_MODULE_0___default().defineLocale(dateSettings.l10n.locale, null);
} else {
// We have a properly configured locale, so no need to create one.
return;
}
}
// defineLocale() will modify the current locale, so back it up.
const currentLocale = external_moment_default().locale();
// Create locale.
external_moment_default().defineLocale(dateSettings.l10n.locale, {
const currentLocale = moment__WEBPACK_IMPORTED_MODULE_0___default().locale();
moment__WEBPACK_IMPORTED_MODULE_0___default().defineLocale(dateSettings.l10n.locale, {
// Inherit anything missing from English. We don't load
// moment-with-locales.js so English is all there is.
parentLocale: 'en',
parentLocale: "en",
months: dateSettings.l10n.months,
monthsShort: dateSettings.l10n.monthsShort,
weekdays: dateSettings.l10n.weekdays,
@@ -1335,144 +1293,96 @@ function setSettings(dateSettings) {
},
longDateFormat: {
LT: dateSettings.formats.time,
LTS: external_moment_default().localeData('en').longDateFormat('LTS'),
L: external_moment_default().localeData('en').longDateFormat('L'),
LTS: moment__WEBPACK_IMPORTED_MODULE_0___default().localeData("en").longDateFormat("LTS"),
L: moment__WEBPACK_IMPORTED_MODULE_0___default().localeData("en").longDateFormat("L"),
LL: dateSettings.formats.date,
LLL: dateSettings.formats.datetime,
LLLL: external_moment_default().localeData('en').longDateFormat('LLLL')
LLLL: moment__WEBPACK_IMPORTED_MODULE_0___default().localeData("en").longDateFormat("LLLL")
},
// From human_time_diff?
// Set to `(number, withoutSuffix, key, isFuture) => {}` instead.
relativeTime: dateSettings.l10n.relative
});
// Restore the locale to what it was.
external_moment_default().locale(currentLocale);
moment__WEBPACK_IMPORTED_MODULE_0___default().locale(currentLocale);
}
/**
* Returns the currently defined date settings.
*
* @return {DateSettings} Settings, including locale data.
*/
function getSettings() {
return settings;
}
/**
* Returns the currently defined date settings.
*
* @deprecated
* @return {DateSettings} Settings, including locale data.
*/
function __experimentalGetSettings() {
external_wp_deprecated_default()('wp.date.__experimentalGetSettings', {
since: '6.1',
alternative: 'wp.date.getSettings'
_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3___default()("wp.date.__experimentalGetSettings", {
since: "6.1",
alternative: "wp.date.getSettings"
});
return getSettings();
}
function setupWPTimezone() {
// Get the current timezone settings from the WP timezone string.
const currentTimezone = external_moment_default().tz.zone(settings.timezone.string);
// Check to see if we have a valid TZ data, if so, use it for the custom WP_ZONE timezone, otherwise just use the offset.
const currentTimezone = moment__WEBPACK_IMPORTED_MODULE_0___default().tz.zone(settings.timezone.string);
if (currentTimezone) {
// Create WP timezone based off settings.timezone.string. We need to include the additional data so that we
// don't lose information about daylight savings time and other items.
// See https://github.com/WordPress/gutenberg/pull/48083
external_moment_default().tz.add(external_moment_default().tz.pack({
name: WP_ZONE,
abbrs: currentTimezone.abbrs,
untils: currentTimezone.untils,
offsets: currentTimezone.offsets
}));
moment__WEBPACK_IMPORTED_MODULE_0___default().tz.add(
moment__WEBPACK_IMPORTED_MODULE_0___default().tz.pack({
name: WP_ZONE,
abbrs: currentTimezone.abbrs,
untils: currentTimezone.untils,
offsets: currentTimezone.offsets
})
);
} else {
// Create WP timezone based off dateSettings.
external_moment_default().tz.add(external_moment_default().tz.pack({
name: WP_ZONE,
abbrs: [WP_ZONE],
untils: [null],
offsets: [-settings.timezone.offset * 60 || 0]
}));
moment__WEBPACK_IMPORTED_MODULE_0___default().tz.add(
moment__WEBPACK_IMPORTED_MODULE_0___default().tz.pack({
name: WP_ZONE,
abbrs: [WP_ZONE],
untils: [null],
offsets: [-settings.timezone.offset * 60 || 0]
})
);
}
}
// Date constants.
/**
* Number of seconds in one minute.
*
* @type {number}
*/
const MINUTE_IN_SECONDS = 60;
/**
* Number of minutes in one hour.
*
* @type {number}
*/
const HOUR_IN_MINUTES = 60;
/**
* Number of seconds in one hour.
*
* @type {number}
*/
const HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS;
/**
* Map of PHP formats to Moment.js formats.
*
* These are used internally by {@link wp.date.format}, and are either
* a string representing the corresponding Moment.js format code, or a
* function which returns the formatted string.
*
* This should only be used through {@link wp.date.format}, not
* directly.
*/
const formatMap = {
// Day.
d: 'DD',
D: 'ddd',
j: 'D',
l: 'dddd',
N: 'E',
d: "DD",
D: "ddd",
j: "D",
l: "dddd",
N: "E",
/**
* Gets the ordinal suffix.
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {string} Formatted date.
* @return Formatted date.
*/
S(momentDate) {
// Do - D.
const num = momentDate.format('D');
const withOrdinal = momentDate.format('Do');
return withOrdinal.replace(num, '');
const num = momentDate.format("D");
const withOrdinal = momentDate.format("Do");
return withOrdinal.replace(num, "");
},
w: 'd',
w: "d",
/**
* Gets the day of the year (zero-indexed).
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {string} Formatted date.
* @return Formatted date.
*/
z(momentDate) {
// DDD - 1.
return (parseInt(momentDate.format('DDD'), 10) - 1).toString();
return (parseInt(momentDate.format("DDD"), 10) - 1).toString();
},
// Week.
W: 'W',
W: "W",
// Month.
F: 'MMMM',
m: 'MM',
M: 'MMM',
n: 'M',
F: "MMMM",
m: "MM",
M: "MMM",
n: "M",
/**
* Gets the days in the month.
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {number} Formatted date.
* @return Formatted date.
*/
t(momentDate) {
return momentDate.daysInMonth();
@@ -1481,273 +1391,153 @@ const formatMap = {
/**
* Gets whether the current year is a leap year.
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {string} Formatted date.
* @return Formatted date.
*/
L(momentDate) {
return momentDate.isLeapYear() ? '1' : '0';
return momentDate.isLeapYear() ? "1" : "0";
},
o: 'GGGG',
Y: 'YYYY',
y: 'YY',
o: "GGGG",
Y: "YYYY",
y: "YY",
// Time.
a: 'a',
A: 'A',
a: "a",
A: "A",
/**
* Gets the current time in Swatch Internet Time (.beats).
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {number} Formatted date.
* @return Formatted date.
*/
B(momentDate) {
const timezoned = external_moment_default()(momentDate).utcOffset(60);
const seconds = parseInt(timezoned.format('s'), 10),
minutes = parseInt(timezoned.format('m'), 10),
hours = parseInt(timezoned.format('H'), 10);
return parseInt(((seconds + minutes * MINUTE_IN_SECONDS + hours * HOUR_IN_SECONDS) / 86.4).toString(), 10);
const timezoned = moment__WEBPACK_IMPORTED_MODULE_0___default()(momentDate).utcOffset(60);
const seconds = parseInt(timezoned.format("s"), 10), minutes = parseInt(timezoned.format("m"), 10), hours = parseInt(timezoned.format("H"), 10);
return parseInt(
((seconds + minutes * MINUTE_IN_SECONDS + hours * HOUR_IN_SECONDS) / 86.4).toString(),
10
);
},
g: 'h',
G: 'H',
h: 'hh',
H: 'HH',
i: 'mm',
s: 'ss',
u: 'SSSSSS',
v: 'SSS',
g: "h",
G: "H",
h: "hh",
H: "HH",
i: "mm",
s: "ss",
u: "SSSSSS",
v: "SSS",
// Timezone.
e: 'zz',
e: "zz",
/**
* Gets whether the timezone is in DST currently.
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {string} Formatted date.
* @return Formatted date.
*/
I(momentDate) {
return momentDate.isDST() ? '1' : '0';
return momentDate.isDST() ? "1" : "0";
},
O: 'ZZ',
P: 'Z',
T: 'z',
O: "ZZ",
P: "Z",
T: "z",
/**
* Gets the timezone offset in seconds.
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {number} Formatted date.
* @return Formatted date.
*/
Z(momentDate) {
// Timezone offset in seconds.
const offset = momentDate.format('Z');
const sign = offset[0] === '-' ? -1 : 1;
const parts = offset.substring(1).split(':').map(n => parseInt(n, 10));
const offset = momentDate.format("Z");
const sign = offset[0] === "-" ? -1 : 1;
const parts = offset.substring(1).split(":").map((n) => parseInt(n, 10));
return sign * (parts[0] * HOUR_IN_MINUTES + parts[1]) * MINUTE_IN_SECONDS;
},
// Full date/time.
c: 'YYYY-MM-DDTHH:mm:ssZ',
c: "YYYY-MM-DDTHH:mm:ssZ",
// .toISOString.
/**
* Formats the date as RFC2822.
*
* @param {Moment} momentDate Moment instance.
* @param momentDate Moment instance.
*
* @return {string} Formatted date.
* @return Formatted date.
*/
r(momentDate) {
return momentDate.locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ');
return momentDate.locale("en").format("ddd, DD MMM YYYY HH:mm:ss ZZ");
},
U: 'X'
U: "X"
};
/**
* Formats a date. Does not alter the date's timezone.
*
* @param {string} dateFormat PHP-style formatting string.
* See [php.net/date](https://www.php.net/manual/en/function.date.php).
* @param {Moment | Date | string | undefined} dateValue Date object or string,
* parsable by moment.js.
*
* @return {string} Formatted date.
*/
function format(dateFormat, dateValue = new Date()) {
function format(dateFormat, dateValue = /* @__PURE__ */ new Date()) {
let i, char;
const newFormat = [];
const momentDate = external_moment_default()(dateValue);
const momentDate = moment__WEBPACK_IMPORTED_MODULE_0___default()(dateValue);
for (i = 0; i < dateFormat.length; i++) {
char = dateFormat[i];
// Is this an escape?
if ('\\' === char) {
// Add next character, then move on.
if ("\\" === char) {
i++;
newFormat.push('[' + dateFormat[i] + ']');
newFormat.push("[" + dateFormat[i] + "]");
continue;
}
if (char in formatMap) {
const formatter = formatMap[(/** @type {keyof formatMap} */char)];
if (typeof formatter !== 'string') {
// If the format is a function, call it.
newFormat.push('[' + formatter(momentDate) + ']');
const formatter = formatMap[char];
if (typeof formatter !== "string") {
newFormat.push("[" + formatter(momentDate) + "]");
} else {
// Otherwise, add as a formatting string.
newFormat.push(formatter);
}
} else {
newFormat.push('[' + char + ']');
newFormat.push("[" + char + "]");
}
}
// Join with [] between to separate characters, and replace
// unneeded separators with static text.
return momentDate.format(newFormat.join('[]'));
return momentDate.format(newFormat.join("[]"));
}
/**
* Formats a date (like `date()` in PHP).
*
* @param {string} dateFormat PHP-style formatting string.
* See [php.net/date](https://www.php.net/manual/en/function.date.php).
* @param {Moment | Date | string | undefined} dateValue Date object or string, parsable
* by moment.js.
* @param {string | number | undefined} timezone Timezone to output result in or a
* UTC offset. Defaults to timezone from
* site.
*
* @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
* @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC
*
* @return {string} Formatted date in English.
*/
function date(dateFormat, dateValue = new Date(), timezone) {
function date(dateFormat, dateValue = /* @__PURE__ */ new Date(), timezone) {
const dateMoment = buildMoment(dateValue, timezone);
return format(dateFormat, dateMoment);
}
/**
* Formats a date (like `date()` in PHP), in the UTC timezone.
*
* @param {string} dateFormat PHP-style formatting string.
* See [php.net/date](https://www.php.net/manual/en/function.date.php).
* @param {Moment | Date | string | undefined} dateValue Date object or string,
* parsable by moment.js.
*
* @return {string} Formatted date in English.
*/
function gmdate(dateFormat, dateValue = new Date()) {
const dateMoment = external_moment_default()(dateValue).utc();
function gmdate(dateFormat, dateValue = /* @__PURE__ */ new Date()) {
const dateMoment = moment__WEBPACK_IMPORTED_MODULE_0___default()(dateValue).utc();
return format(dateFormat, dateMoment);
}
/**
* Formats a date (like `wp_date()` in PHP), translating it into site's locale.
*
* Backward Compatibility Notice: if `timezone` is set to `true`, the function
* behaves like `gmdateI18n`.
*
* @param {string} dateFormat PHP-style formatting string.
* See [php.net/date](https://www.php.net/manual/en/function.date.php).
* @param {Moment | Date | string | undefined} dateValue Date object or string, parsable by
* moment.js.
* @param {string | number | boolean | undefined=} timezone Timezone to output result in or a
* UTC offset. Defaults to timezone from
* site. Notice: `boolean` is effectively
* deprecated, but still supported for
* backward compatibility reasons.
*
* @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
* @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC
*
* @return {string} Formatted date.
*/
function dateI18n(dateFormat, dateValue = new Date(), timezone) {
function dateI18n(dateFormat, dateValue = /* @__PURE__ */ new Date(), timezone) {
if (true === timezone) {
return gmdateI18n(dateFormat, dateValue);
}
if (false === timezone) {
timezone = undefined;
timezone = void 0;
}
const dateMoment = buildMoment(dateValue, timezone);
dateMoment.locale(settings.l10n.locale);
return format(dateFormat, dateMoment);
}
/**
* Formats a date (like `wp_date()` in PHP), translating it into site's locale
* and using the UTC timezone.
*
* @param {string} dateFormat PHP-style formatting string.
* See [php.net/date](https://www.php.net/manual/en/function.date.php).
* @param {Moment | Date | string | undefined} dateValue Date object or string,
* parsable by moment.js.
*
* @return {string} Formatted date.
*/
function gmdateI18n(dateFormat, dateValue = new Date()) {
const dateMoment = external_moment_default()(dateValue).utc();
function gmdateI18n(dateFormat, dateValue = /* @__PURE__ */ new Date()) {
const dateMoment = moment__WEBPACK_IMPORTED_MODULE_0___default()(dateValue).utc();
dateMoment.locale(settings.l10n.locale);
return format(dateFormat, dateMoment);
}
/**
* Check whether a date is considered in the future according to the WordPress settings.
*
* @param {string} dateValue Date String or Date object in the Defined WP Timezone.
*
* @return {boolean} Is in the future.
*/
function isInTheFuture(dateValue) {
const now = external_moment_default().tz(WP_ZONE);
const momentObject = external_moment_default().tz(dateValue, WP_ZONE);
const now = moment__WEBPACK_IMPORTED_MODULE_0___default().tz(WP_ZONE);
const momentObject = moment__WEBPACK_IMPORTED_MODULE_0___default().tz(dateValue, WP_ZONE);
return momentObject.isAfter(now);
}
/**
* Create and return a JavaScript Date Object from a date string in the WP timezone.
*
* @param {?string} dateString Date formatted in the WP timezone.
*
* @return {Date} Date
*/
function getDate(dateString) {
if (!dateString) {
return external_moment_default().tz(WP_ZONE).toDate();
return moment__WEBPACK_IMPORTED_MODULE_0___default().tz(WP_ZONE).toDate();
}
return external_moment_default().tz(dateString, WP_ZONE).toDate();
return moment__WEBPACK_IMPORTED_MODULE_0___default().tz(dateString, WP_ZONE).toDate();
}
/**
* Returns a human-readable time difference between two dates, like human_time_diff() in PHP.
*
* @param {Moment | Date | string} from From date, in the WP timezone.
* @param {Moment | Date | string | undefined} to To date, formatted in the WP timezone.
*
* @return {string} Human-readable time difference.
*/
function humanTimeDiff(from, to) {
const fromMoment = external_moment_default().tz(from, WP_ZONE);
const toMoment = to ? external_moment_default().tz(to, WP_ZONE) : external_moment_default().tz(WP_ZONE);
const fromMoment = moment__WEBPACK_IMPORTED_MODULE_0___default().tz(from, WP_ZONE);
const toMoment = to ? moment__WEBPACK_IMPORTED_MODULE_0___default().tz(to, WP_ZONE) : moment__WEBPACK_IMPORTED_MODULE_0___default().tz(WP_ZONE);
return fromMoment.from(toMoment);
}
/**
* Creates a moment instance using the given timezone or, if none is provided, using global settings.
*
* @param {Moment | Date | string | undefined} dateValue Date object or string, parsable
* by moment.js.
* @param {string | number | undefined} timezone Timezone to output result in or a
* UTC offset. Defaults to timezone from
* site.
*
* @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
* @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC
*
* @return {Moment} a moment instance.
*/
function buildMoment(dateValue, timezone = '') {
const dateMoment = external_moment_default()(dateValue);
function buildMoment(dateValue, timezone = "") {
const dateMoment = moment__WEBPACK_IMPORTED_MODULE_0___default()(dateValue);
if (timezone && !isUTCOffset(timezone)) {
// The ! isUTCOffset() check guarantees that timezone is a string.
return dateMoment.tz(/** @type {string} */timezone);
return dateMoment.tz(timezone);
}
if (timezone && isUTCOffset(timezone)) {
return dateMoment.utcOffset(timezone);
@@ -1757,22 +1547,15 @@ function buildMoment(dateValue, timezone = '') {
}
return dateMoment.utcOffset(+settings.timezone.offset);
}
/**
* Returns whether a certain UTC offset is valid or not.
*
* @param {number|string} offset a UTC offset.
*
* @return {boolean} whether a certain UTC offset is valid or not.
*/
function isUTCOffset(offset) {
if ('number' === typeof offset) {
if ("number" === typeof offset) {
return true;
}
return VALID_UTC_OFFSET.test(offset);
}
setupWPTimezone();
})();
(window.wp = window.wp || {}).date = __webpack_exports__;