strapi-plugin-wysiwyg-react-md-editor
Version:
Replaces the default Strapi WYSIWYG editor with react md editor.
1,312 lines • 1.78 MB
JavaScript
"use strict";
const React = require("react");
const jsxRuntime = require("react/jsx-runtime");
const ReactDOM = require("react-dom");
const styledComponents = require("styled-components");
const icons = require("@strapi/icons");
const MDEditor = require("@uiw/react-md-editor");
const admin = require("@strapi/strapi/admin");
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
function _interopNamespace(e) {
if (e && e.__esModule)
return e;
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
if (e) {
for (const k in e) {
if (k !== "default") {
const d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: () => e[k]
});
}
}
}
n.default = e;
return Object.freeze(n);
}
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
const ReactDOM__namespace = /* @__PURE__ */ _interopNamespace(ReactDOM);
const MDEditor__default = /* @__PURE__ */ _interopDefault(MDEditor);
const __variableDynamicImportRuntimeHelper = (glob, path) => {
const v = glob[path];
if (v) {
return typeof v === "function" ? v() : Promise.resolve(v);
}
return new Promise((_, reject) => {
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
};
const name$2 = "strapi-plugin-wysiwyg-react-md-editor";
const version = "5.8.2";
const description = "Replaces the default Strapi WYSIWYG editor with react md editor.";
const keywords = [
"strapi",
"plugins",
"rich text editor"
];
const homepage = "https://github.com/kwinyyyc/strapi-plugin-wysiwyg-react-md-editor#readme";
const bugs = {
url: "https://github.com/kwinyyyc/strapi-plugin-wysiwyg-react-md-editor/issues"
};
const repository = {
type: "git",
url: "git+https://github.com/kwinyyyc/strapi-plugin-wysiwyg-react-md-editor.git"
};
const license = "MIT";
const author = {
name: "Kwinten",
email: "kwinten.yc.li@gmail.com",
url: "https://github.com/kwinyyyc"
};
const maintainers = [
{
name: "Kwinten",
email: "kwinten.yc.li@gmail.com",
url: "https://github.com/kwinyyyc"
}
];
const contributors = [
{
name: "John Mitchell-Grant",
url: "https://github.com/johnmgrant"
},
{
name: "Saikat Mitra",
url: "https://github.com/saikatmitra91"
},
{
name: "琚致远 / Zhiyuan Ju",
url: "https://github.com/juzhiyuan"
},
{
name: "Oscar Martin Glez-Chavez",
url: "https://github.com/omartin9203"
},
{
name: "gordielachance",
url: "https://github.com/gordielachance"
},
{
name: "Brew-Adam",
url: "https://github.com/AC-CE"
}
];
const type = "commonjs";
const exports$1 = {
"./package.json": "./package.json",
"./strapi-admin": {
types: "./dist/admin/src/index.d.ts",
source: "./admin/src/index.ts",
"import": "./dist/admin/index.mjs",
require: "./dist/admin/index.js",
"default": "./dist/admin/index.js"
},
"./strapi-server": {
types: "./dist/server/src/index.d.ts",
source: "./server/src/index.ts",
"import": "./dist/server/index.mjs",
require: "./dist/server/index.js",
"default": "./dist/server/index.js"
}
};
const files = [
"dist"
];
const scripts = {
build: "strapi-plugin build",
clean: "rimraf dist",
develop: "yarn watch",
prepack: "yarn build",
"test:ts:back": "run -T tsc -p server/tsconfig.json",
"test:ts:front": "run -T tsc -p admin/tsconfig.json",
verify: "strapi-plugin verify",
watch: "strapi-plugin watch",
"watch:link": "strapi-plugin watch:link"
};
const dependencies = {
"@uiw/react-md-editor": "^4.0.0"
};
const devDependencies = {
"@strapi/icons": "^2.0.0-rc.11",
"@strapi/sdk-plugin": "^5.2.6",
"@strapi/strapi": "^5.0.2",
"@strapi/typescript-utils": "^5.0.2",
"@types/react": "^17.0.53",
"@types/react-dom": "^18.0.28",
"@types/react-router-dom": "^5.3.3",
"@types/styled-components": "^5.1.26",
react: "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.26.2",
rimraf: "^5.0.5",
"styled-components": "^6.1.13",
typescript: "^5.6.0"
};
const peerDependencies = {
"@strapi/icons": "^2.0.0-rc.11",
"@strapi/sdk-plugin": "^5.2.6",
"@strapi/strapi": "^5.0.2",
"@strapi/typescript-utils": "^5.0.2",
react: "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.26.2",
"styled-components": "^6.1.13"
};
const engines = {
node: ">=18.0.0 <=20.x.x",
npm: ">=6.0.0"
};
const strapi = {
name: "wysiwyg-react-md-editor",
icon: "plug",
displayName: "React MD Editor",
description: "Replaces the default Strapi WYSIWYG editor with react md editor.",
required: false,
kind: "plugin"
};
const pluginPkg = {
name: name$2,
version,
description,
keywords,
homepage,
bugs,
repository,
license,
author,
maintainers,
contributors,
type,
exports: exports$1,
files,
scripts,
dependencies,
devDependencies,
peerDependencies,
engines,
strapi
};
const PLUGIN_ID = pluginPkg.strapi.name;
const Initializer = ({ setPlugin }) => {
const ref = React.useRef(setPlugin);
React.useEffect(() => {
ref.current(PLUGIN_ID);
}, []);
return null;
};
function $2b4dce13dd5a17fa$export$842a2cf37af977e1(amount, numerator) {
return amount - numerator * Math.floor(amount / numerator);
}
const $3b62074eb05584b2$var$EPOCH = 1721426;
function $3b62074eb05584b2$export$f297eb839006d339(era, year, month, day) {
year = $3b62074eb05584b2$export$c36e0ecb2d4fa69d(era, year);
let y1 = year - 1;
let monthOffset = -2;
if (month <= 2)
monthOffset = 0;
else if ($3b62074eb05584b2$export$553d7fa8e3805fc0(year))
monthOffset = -1;
return $3b62074eb05584b2$var$EPOCH - 1 + 365 * y1 + Math.floor(y1 / 4) - Math.floor(y1 / 100) + Math.floor(y1 / 400) + Math.floor((367 * month - 362) / 12 + monthOffset + day);
}
function $3b62074eb05584b2$export$553d7fa8e3805fc0(year) {
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
}
function $3b62074eb05584b2$export$c36e0ecb2d4fa69d(era, year) {
return era === "BC" ? 1 - year : year;
}
function $3b62074eb05584b2$export$4475b7e617eb123c(year) {
let era = "AD";
if (year <= 0) {
era = "BC";
year = 1 - year;
}
return [
era,
year
];
}
const $3b62074eb05584b2$var$daysInMonth = {
standard: [
31,
28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
],
leapyear: [
31,
29,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
]
};
class $3b62074eb05584b2$export$80ee6245ec4f29ec {
fromJulianDay(jd) {
let jd0 = jd;
let depoch = jd0 - $3b62074eb05584b2$var$EPOCH;
let quadricent = Math.floor(depoch / 146097);
let dqc = $2b4dce13dd5a17fa$export$842a2cf37af977e1(depoch, 146097);
let cent = Math.floor(dqc / 36524);
let dcent = $2b4dce13dd5a17fa$export$842a2cf37af977e1(dqc, 36524);
let quad = Math.floor(dcent / 1461);
let dquad = $2b4dce13dd5a17fa$export$842a2cf37af977e1(dcent, 1461);
let yindex = Math.floor(dquad / 365);
let extendedYear = quadricent * 400 + cent * 100 + quad * 4 + yindex + (cent !== 4 && yindex !== 4 ? 1 : 0);
let [era, year] = $3b62074eb05584b2$export$4475b7e617eb123c(extendedYear);
let yearDay = jd0 - $3b62074eb05584b2$export$f297eb839006d339(era, year, 1, 1);
let leapAdj = 2;
if (jd0 < $3b62074eb05584b2$export$f297eb839006d339(era, year, 3, 1))
leapAdj = 0;
else if ($3b62074eb05584b2$export$553d7fa8e3805fc0(year))
leapAdj = 1;
let month = Math.floor(((yearDay + leapAdj) * 12 + 373) / 367);
let day = jd0 - $3b62074eb05584b2$export$f297eb839006d339(era, year, month, 1) + 1;
return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(era, year, month, day);
}
toJulianDay(date) {
return $3b62074eb05584b2$export$f297eb839006d339(date.era, date.year, date.month, date.day);
}
getDaysInMonth(date) {
return $3b62074eb05584b2$var$daysInMonth[$3b62074eb05584b2$export$553d7fa8e3805fc0(date.year) ? "leapyear" : "standard"][date.month - 1];
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
getMonthsInYear(date) {
return 12;
}
getDaysInYear(date) {
return $3b62074eb05584b2$export$553d7fa8e3805fc0(date.year) ? 366 : 365;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
getYearsInEra(date) {
return 9999;
}
getEras() {
return [
"BC",
"AD"
];
}
isInverseEra(date) {
return date.era === "BC";
}
balanceDate(date) {
if (date.year <= 0) {
date.era = date.era === "BC" ? "AD" : "BC";
date.year = 1 - date.year;
}
}
constructor() {
this.identifier = "gregory";
}
}
const $2fe286d2fb449abb$export$7a5acbd77d414bd9 = {
"001": 1,
AD: 1,
AE: 6,
AF: 6,
AI: 1,
AL: 1,
AM: 1,
AN: 1,
AR: 1,
AT: 1,
AU: 1,
AX: 1,
AZ: 1,
BA: 1,
BE: 1,
BG: 1,
BH: 6,
BM: 1,
BN: 1,
BY: 1,
CH: 1,
CL: 1,
CM: 1,
CN: 1,
CR: 1,
CY: 1,
CZ: 1,
DE: 1,
DJ: 6,
DK: 1,
DZ: 6,
EC: 1,
EE: 1,
EG: 6,
ES: 1,
FI: 1,
FJ: 1,
FO: 1,
FR: 1,
GB: 1,
GE: 1,
GF: 1,
GP: 1,
GR: 1,
HR: 1,
HU: 1,
IE: 1,
IQ: 6,
IR: 6,
IS: 1,
IT: 1,
JO: 6,
KG: 1,
KW: 6,
KZ: 1,
LB: 1,
LI: 1,
LK: 1,
LT: 1,
LU: 1,
LV: 1,
LY: 6,
MC: 1,
MD: 1,
ME: 1,
MK: 1,
MN: 1,
MQ: 1,
MV: 5,
MY: 1,
NL: 1,
NO: 1,
NZ: 1,
OM: 6,
PL: 1,
QA: 6,
RE: 1,
RO: 1,
RS: 1,
RU: 1,
SD: 6,
SE: 1,
SI: 1,
SK: 1,
SM: 1,
SY: 6,
TJ: 1,
TM: 1,
TR: 1,
UA: 1,
UY: 1,
UZ: 1,
VA: 1,
VN: 1,
XK: 1
};
function $14e0f24ef4ac5c92$export$ea39ec197993aef0(a, b) {
b = $11d87f3f76e88657$export$b4a036af3fc0b032(b, a.calendar);
return a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;
}
function $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale) {
let julian = date.calendar.toJulianDay(date);
let dayOfWeek = Math.ceil(julian + 1 - $14e0f24ef4ac5c92$var$getWeekStart(locale)) % 7;
if (dayOfWeek < 0)
dayOfWeek += 7;
return dayOfWeek;
}
function $14e0f24ef4ac5c92$export$461939dd4422153(timeZone) {
return $11d87f3f76e88657$export$1b96692a1ba042ac(Date.now(), timeZone);
}
function $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone) {
return $11d87f3f76e88657$export$93522d1a439f3617($14e0f24ef4ac5c92$export$461939dd4422153(timeZone));
}
function $14e0f24ef4ac5c92$export$68781ddf31c0090f(a, b) {
return a.calendar.toJulianDay(a) - b.calendar.toJulianDay(b);
}
function $14e0f24ef4ac5c92$export$c19a80a9721b80f6(a, b) {
return $14e0f24ef4ac5c92$var$timeToMs(a) - $14e0f24ef4ac5c92$var$timeToMs(b);
}
function $14e0f24ef4ac5c92$var$timeToMs(a) {
return a.hour * 36e5 + a.minute * 6e4 + a.second * 1e3 + a.millisecond;
}
let $14e0f24ef4ac5c92$var$localTimeZone = null;
function $14e0f24ef4ac5c92$export$aa8b41735afcabd2() {
if ($14e0f24ef4ac5c92$var$localTimeZone == null)
$14e0f24ef4ac5c92$var$localTimeZone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
return $14e0f24ef4ac5c92$var$localTimeZone;
}
function $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date) {
return date.subtract({
days: date.day - 1
});
}
function $14e0f24ef4ac5c92$export$a2258d9c4118825c(date) {
return date.add({
days: date.calendar.getDaysInMonth(date) - date.day
});
}
function $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale) {
let dayOfWeek = $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale);
return date.subtract({
days: dayOfWeek
});
}
const $14e0f24ef4ac5c92$var$cachedRegions = /* @__PURE__ */ new Map();
function $14e0f24ef4ac5c92$var$getRegion(locale) {
if (Intl.Locale) {
let region = $14e0f24ef4ac5c92$var$cachedRegions.get(locale);
if (!region) {
region = new Intl.Locale(locale).maximize().region;
if (region)
$14e0f24ef4ac5c92$var$cachedRegions.set(locale, region);
}
return region;
}
let part = locale.split("-")[1];
return part === "u" ? void 0 : part;
}
function $14e0f24ef4ac5c92$var$getWeekStart(locale) {
let region = $14e0f24ef4ac5c92$var$getRegion(locale);
return region ? $2fe286d2fb449abb$export$7a5acbd77d414bd9[region] || 0 : 0;
}
function $14e0f24ef4ac5c92$export$5c333a116e949cdd(a, b) {
if (a && b)
return a.compare(b) <= 0 ? a : b;
return a || b;
}
function $14e0f24ef4ac5c92$export$a75f2bff57811055(a, b) {
if (a && b)
return a.compare(b) >= 0 ? a : b;
return a || b;
}
function $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) {
date = $11d87f3f76e88657$export$b4a036af3fc0b032(date, new $3b62074eb05584b2$export$80ee6245ec4f29ec());
let year = $3b62074eb05584b2$export$c36e0ecb2d4fa69d(date.era, date.year);
return $11d87f3f76e88657$var$epochFromParts(year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);
}
function $11d87f3f76e88657$var$epochFromParts(year, month, day, hour, minute, second, millisecond) {
let date = /* @__PURE__ */ new Date();
date.setUTCHours(hour, minute, second, millisecond);
date.setUTCFullYear(year, month - 1, day);
return date.getTime();
}
function $11d87f3f76e88657$export$59c99f3515d3493f(ms, timeZone) {
if (timeZone === "UTC")
return 0;
if (ms > 0 && timeZone === $14e0f24ef4ac5c92$export$aa8b41735afcabd2())
return new Date(ms).getTimezoneOffset() * -6e4;
let { year, month, day, hour, minute, second } = $11d87f3f76e88657$var$getTimeZoneParts(ms, timeZone);
let utc = $11d87f3f76e88657$var$epochFromParts(year, month, day, hour, minute, second, 0);
return utc - Math.floor(ms / 1e3) * 1e3;
}
const $11d87f3f76e88657$var$formattersByTimeZone = /* @__PURE__ */ new Map();
function $11d87f3f76e88657$var$getTimeZoneParts(ms, timeZone) {
let formatter = $11d87f3f76e88657$var$formattersByTimeZone.get(timeZone);
if (!formatter) {
formatter = new Intl.DateTimeFormat("en-US", {
timeZone,
hour12: false,
era: "short",
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
second: "numeric"
});
$11d87f3f76e88657$var$formattersByTimeZone.set(timeZone, formatter);
}
let parts = formatter.formatToParts(new Date(ms));
let namedParts = {};
for (let part of parts)
if (part.type !== "literal")
namedParts[part.type] = part.value;
return {
// Firefox returns B instead of BC... https://bugzilla.mozilla.org/show_bug.cgi?id=1752253
year: namedParts.era === "BC" || namedParts.era === "B" ? -namedParts.year + 1 : +namedParts.year,
month: +namedParts.month,
day: +namedParts.day,
hour: namedParts.hour === "24" ? 0 : +namedParts.hour,
minute: +namedParts.minute,
second: +namedParts.second
};
}
const $11d87f3f76e88657$var$DAYMILLIS = 864e5;
function $11d87f3f76e88657$var$getValidWallTimes(date, timeZone, earlier, later) {
let found = earlier === later ? [
earlier
] : [
earlier,
later
];
return found.filter((absolute) => $11d87f3f76e88657$var$isValidWallTime(date, timeZone, absolute));
}
function $11d87f3f76e88657$var$isValidWallTime(date, timeZone, absolute) {
let parts = $11d87f3f76e88657$var$getTimeZoneParts(absolute, timeZone);
return date.year === parts.year && date.month === parts.month && date.day === parts.day && date.hour === parts.hour && date.minute === parts.minute && date.second === parts.second;
}
function $11d87f3f76e88657$export$5107c82f94518f5c(date, timeZone, disambiguation = "compatible") {
let dateTime = $11d87f3f76e88657$export$b21e0b124e224484(date);
if (timeZone === "UTC")
return $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime);
if (timeZone === $14e0f24ef4ac5c92$export$aa8b41735afcabd2() && disambiguation === "compatible") {
dateTime = $11d87f3f76e88657$export$b4a036af3fc0b032(dateTime, new $3b62074eb05584b2$export$80ee6245ec4f29ec());
let date2 = /* @__PURE__ */ new Date();
let year = $3b62074eb05584b2$export$c36e0ecb2d4fa69d(dateTime.era, dateTime.year);
date2.setFullYear(year, dateTime.month - 1, dateTime.day);
date2.setHours(dateTime.hour, dateTime.minute, dateTime.second, dateTime.millisecond);
return date2.getTime();
}
let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime);
let offsetBefore = $11d87f3f76e88657$export$59c99f3515d3493f(ms - $11d87f3f76e88657$var$DAYMILLIS, timeZone);
let offsetAfter = $11d87f3f76e88657$export$59c99f3515d3493f(ms + $11d87f3f76e88657$var$DAYMILLIS, timeZone);
let valid = $11d87f3f76e88657$var$getValidWallTimes(dateTime, timeZone, ms - offsetBefore, ms - offsetAfter);
if (valid.length === 1)
return valid[0];
if (valid.length > 1)
switch (disambiguation) {
case "compatible":
case "earlier":
return valid[0];
case "later":
return valid[valid.length - 1];
case "reject":
throw new RangeError("Multiple possible absolute times found");
}
switch (disambiguation) {
case "earlier":
return Math.min(ms - offsetBefore, ms - offsetAfter);
case "compatible":
case "later":
return Math.max(ms - offsetBefore, ms - offsetAfter);
case "reject":
throw new RangeError("No such absolute time found");
}
}
function $11d87f3f76e88657$export$e67a095c620b86fe(dateTime, timeZone, disambiguation = "compatible") {
return new Date($11d87f3f76e88657$export$5107c82f94518f5c(dateTime, timeZone, disambiguation));
}
function $11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone) {
let offset2 = $11d87f3f76e88657$export$59c99f3515d3493f(ms, timeZone);
let date = new Date(ms + offset2);
let year = date.getUTCFullYear();
let month = date.getUTCMonth() + 1;
let day = date.getUTCDate();
let hour = date.getUTCHours();
let minute = date.getUTCMinutes();
let second = date.getUTCSeconds();
let millisecond = date.getUTCMilliseconds();
return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(year, month, day, timeZone, offset2, hour, minute, second, millisecond);
}
function $11d87f3f76e88657$export$93522d1a439f3617(dateTime) {
return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(dateTime.calendar, dateTime.era, dateTime.year, dateTime.month, dateTime.day);
}
function $11d87f3f76e88657$export$b21e0b124e224484(date, time) {
let hour = 0, minute = 0, second = 0, millisecond = 0;
if ("timeZone" in date)
({ hour, minute, second, millisecond } = date);
else if ("hour" in date && !time)
return date;
if (time)
({ hour, minute, second, millisecond } = time);
return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(date.calendar, date.era, date.year, date.month, date.day, hour, minute, second, millisecond);
}
function $11d87f3f76e88657$export$b4a036af3fc0b032(date, calendar) {
if (date.calendar.identifier === calendar.identifier)
return date;
let calendarDate = calendar.fromJulianDay(date.calendar.toJulianDay(date));
let copy = date.copy();
copy.calendar = calendar;
copy.era = calendarDate.era;
copy.year = calendarDate.year;
copy.month = calendarDate.month;
copy.day = calendarDate.day;
$735220c2d4774dd3$export$c4e2ecac49351ef2(copy);
return copy;
}
function $11d87f3f76e88657$export$84c95a83c799e074(date, timeZone, disambiguation) {
if (date instanceof $35ea8db9cb2ccb90$export$d3b7288e7994edea) {
if (date.timeZone === timeZone)
return date;
return $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone);
}
let ms = $11d87f3f76e88657$export$5107c82f94518f5c(date, timeZone, disambiguation);
return $11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone);
}
function $11d87f3f76e88657$export$83aac07b4c37b25(date) {
let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) - date.offset;
return new Date(ms);
}
function $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone) {
let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) - date.offset;
return $11d87f3f76e88657$export$b4a036af3fc0b032($11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone), date.calendar);
}
const $735220c2d4774dd3$var$ONE_HOUR = 36e5;
function $735220c2d4774dd3$export$e16d8520af44a096(date, duration) {
let mutableDate = date.copy();
let days = "hour" in mutableDate ? $735220c2d4774dd3$var$addTimeFields(mutableDate, duration) : 0;
$735220c2d4774dd3$var$addYears(mutableDate, duration.years || 0);
if (mutableDate.calendar.balanceYearMonth)
mutableDate.calendar.balanceYearMonth(mutableDate, date);
mutableDate.month += duration.months || 0;
$735220c2d4774dd3$var$balanceYearMonth(mutableDate);
$735220c2d4774dd3$var$constrainMonthDay(mutableDate);
mutableDate.day += (duration.weeks || 0) * 7;
mutableDate.day += duration.days || 0;
mutableDate.day += days;
$735220c2d4774dd3$var$balanceDay(mutableDate);
if (mutableDate.calendar.balanceDate)
mutableDate.calendar.balanceDate(mutableDate);
if (mutableDate.year < 1) {
mutableDate.year = 1;
mutableDate.month = 1;
mutableDate.day = 1;
}
let maxYear = mutableDate.calendar.getYearsInEra(mutableDate);
if (mutableDate.year > maxYear) {
var _mutableDate_calendar_isInverseEra, _mutableDate_calendar;
let isInverseEra = (_mutableDate_calendar_isInverseEra = (_mutableDate_calendar = mutableDate.calendar).isInverseEra) === null || _mutableDate_calendar_isInverseEra === void 0 ? void 0 : _mutableDate_calendar_isInverseEra.call(_mutableDate_calendar, mutableDate);
mutableDate.year = maxYear;
mutableDate.month = isInverseEra ? 1 : mutableDate.calendar.getMonthsInYear(mutableDate);
mutableDate.day = isInverseEra ? 1 : mutableDate.calendar.getDaysInMonth(mutableDate);
}
if (mutableDate.month < 1) {
mutableDate.month = 1;
mutableDate.day = 1;
}
let maxMonth = mutableDate.calendar.getMonthsInYear(mutableDate);
if (mutableDate.month > maxMonth) {
mutableDate.month = maxMonth;
mutableDate.day = mutableDate.calendar.getDaysInMonth(mutableDate);
}
mutableDate.day = Math.max(1, Math.min(mutableDate.calendar.getDaysInMonth(mutableDate), mutableDate.day));
return mutableDate;
}
function $735220c2d4774dd3$var$addYears(date, years) {
var _date_calendar_isInverseEra, _date_calendar;
if ((_date_calendar_isInverseEra = (_date_calendar = date.calendar).isInverseEra) === null || _date_calendar_isInverseEra === void 0 ? void 0 : _date_calendar_isInverseEra.call(_date_calendar, date))
years = -years;
date.year += years;
}
function $735220c2d4774dd3$var$balanceYearMonth(date) {
while (date.month < 1) {
$735220c2d4774dd3$var$addYears(date, -1);
date.month += date.calendar.getMonthsInYear(date);
}
let monthsInYear = 0;
while (date.month > (monthsInYear = date.calendar.getMonthsInYear(date))) {
date.month -= monthsInYear;
$735220c2d4774dd3$var$addYears(date, 1);
}
}
function $735220c2d4774dd3$var$balanceDay(date) {
while (date.day < 1) {
date.month--;
$735220c2d4774dd3$var$balanceYearMonth(date);
date.day += date.calendar.getDaysInMonth(date);
}
while (date.day > date.calendar.getDaysInMonth(date)) {
date.day -= date.calendar.getDaysInMonth(date);
date.month++;
$735220c2d4774dd3$var$balanceYearMonth(date);
}
}
function $735220c2d4774dd3$var$constrainMonthDay(date) {
date.month = Math.max(1, Math.min(date.calendar.getMonthsInYear(date), date.month));
date.day = Math.max(1, Math.min(date.calendar.getDaysInMonth(date), date.day));
}
function $735220c2d4774dd3$export$c4e2ecac49351ef2(date) {
if (date.calendar.constrainDate)
date.calendar.constrainDate(date);
date.year = Math.max(1, Math.min(date.calendar.getYearsInEra(date), date.year));
$735220c2d4774dd3$var$constrainMonthDay(date);
}
function $735220c2d4774dd3$export$3e2544e88a25bff8(duration) {
let inverseDuration = {};
for (let key in duration)
if (typeof duration[key] === "number")
inverseDuration[key] = -duration[key];
return inverseDuration;
}
function $735220c2d4774dd3$export$4e2d2ead65e5f7e3(date, duration) {
return $735220c2d4774dd3$export$e16d8520af44a096(date, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));
}
function $735220c2d4774dd3$export$adaa4cf7ef1b65be(date, fields) {
let mutableDate = date.copy();
if (fields.era != null)
mutableDate.era = fields.era;
if (fields.year != null)
mutableDate.year = fields.year;
if (fields.month != null)
mutableDate.month = fields.month;
if (fields.day != null)
mutableDate.day = fields.day;
$735220c2d4774dd3$export$c4e2ecac49351ef2(mutableDate);
return mutableDate;
}
function $735220c2d4774dd3$export$e5d5e1c1822b6e56(value, fields) {
let mutableValue = value.copy();
if (fields.hour != null)
mutableValue.hour = fields.hour;
if (fields.minute != null)
mutableValue.minute = fields.minute;
if (fields.second != null)
mutableValue.second = fields.second;
if (fields.millisecond != null)
mutableValue.millisecond = fields.millisecond;
$735220c2d4774dd3$export$7555de1e070510cb(mutableValue);
return mutableValue;
}
function $735220c2d4774dd3$var$balanceTime(time) {
time.second += Math.floor(time.millisecond / 1e3);
time.millisecond = $735220c2d4774dd3$var$nonNegativeMod(time.millisecond, 1e3);
time.minute += Math.floor(time.second / 60);
time.second = $735220c2d4774dd3$var$nonNegativeMod(time.second, 60);
time.hour += Math.floor(time.minute / 60);
time.minute = $735220c2d4774dd3$var$nonNegativeMod(time.minute, 60);
let days = Math.floor(time.hour / 24);
time.hour = $735220c2d4774dd3$var$nonNegativeMod(time.hour, 24);
return days;
}
function $735220c2d4774dd3$export$7555de1e070510cb(time) {
time.millisecond = Math.max(0, Math.min(time.millisecond, 1e3));
time.second = Math.max(0, Math.min(time.second, 59));
time.minute = Math.max(0, Math.min(time.minute, 59));
time.hour = Math.max(0, Math.min(time.hour, 23));
}
function $735220c2d4774dd3$var$nonNegativeMod(a, b) {
let result = a % b;
if (result < 0)
result += b;
return result;
}
function $735220c2d4774dd3$var$addTimeFields(time, duration) {
time.hour += duration.hours || 0;
time.minute += duration.minutes || 0;
time.second += duration.seconds || 0;
time.millisecond += duration.milliseconds || 0;
return $735220c2d4774dd3$var$balanceTime(time);
}
function $735220c2d4774dd3$export$d52ced6badfb9a4c(value, field, amount, options) {
let mutable = value.copy();
switch (field) {
case "era": {
let eras = value.calendar.getEras();
let eraIndex = eras.indexOf(value.era);
if (eraIndex < 0)
throw new Error("Invalid era: " + value.era);
eraIndex = $735220c2d4774dd3$var$cycleValue(eraIndex, amount, 0, eras.length - 1, options === null || options === void 0 ? void 0 : options.round);
mutable.era = eras[eraIndex];
$735220c2d4774dd3$export$c4e2ecac49351ef2(mutable);
break;
}
case "year":
var _mutable_calendar_isInverseEra, _mutable_calendar;
if ((_mutable_calendar_isInverseEra = (_mutable_calendar = mutable.calendar).isInverseEra) === null || _mutable_calendar_isInverseEra === void 0 ? void 0 : _mutable_calendar_isInverseEra.call(_mutable_calendar, mutable))
amount = -amount;
mutable.year = $735220c2d4774dd3$var$cycleValue(value.year, amount, -Infinity, 9999, options === null || options === void 0 ? void 0 : options.round);
if (mutable.year === -Infinity)
mutable.year = 1;
if (mutable.calendar.balanceYearMonth)
mutable.calendar.balanceYearMonth(mutable, value);
break;
case "month":
mutable.month = $735220c2d4774dd3$var$cycleValue(value.month, amount, 1, value.calendar.getMonthsInYear(value), options === null || options === void 0 ? void 0 : options.round);
break;
case "day":
mutable.day = $735220c2d4774dd3$var$cycleValue(value.day, amount, 1, value.calendar.getDaysInMonth(value), options === null || options === void 0 ? void 0 : options.round);
break;
default:
throw new Error("Unsupported field " + field);
}
if (value.calendar.balanceDate)
value.calendar.balanceDate(mutable);
$735220c2d4774dd3$export$c4e2ecac49351ef2(mutable);
return mutable;
}
function $735220c2d4774dd3$export$dd02b3e0007dfe28(value, field, amount, options) {
let mutable = value.copy();
switch (field) {
case "hour": {
let hours = value.hour;
let min2 = 0;
let max2 = 23;
if ((options === null || options === void 0 ? void 0 : options.hourCycle) === 12) {
let isPM = hours >= 12;
min2 = isPM ? 12 : 0;
max2 = isPM ? 23 : 11;
}
mutable.hour = $735220c2d4774dd3$var$cycleValue(hours, amount, min2, max2, options === null || options === void 0 ? void 0 : options.round);
break;
}
case "minute":
mutable.minute = $735220c2d4774dd3$var$cycleValue(value.minute, amount, 0, 59, options === null || options === void 0 ? void 0 : options.round);
break;
case "second":
mutable.second = $735220c2d4774dd3$var$cycleValue(value.second, amount, 0, 59, options === null || options === void 0 ? void 0 : options.round);
break;
case "millisecond":
mutable.millisecond = $735220c2d4774dd3$var$cycleValue(value.millisecond, amount, 0, 999, options === null || options === void 0 ? void 0 : options.round);
break;
default:
throw new Error("Unsupported field " + field);
}
return mutable;
}
function $735220c2d4774dd3$var$cycleValue(value, amount, min2, max2, round2 = false) {
if (round2) {
value += Math.sign(amount);
if (value < min2)
value = max2;
let div = Math.abs(amount);
if (amount > 0)
value = Math.ceil(value / div) * div;
else
value = Math.floor(value / div) * div;
if (value > max2)
value = min2;
} else {
value += amount;
if (value < min2)
value = max2 - (min2 - value - 1);
else if (value > max2)
value = min2 + (value - max2 - 1);
}
return value;
}
function $735220c2d4774dd3$export$96b1d28349274637(dateTime, duration) {
let ms;
if (duration.years != null && duration.years !== 0 || duration.months != null && duration.months !== 0 || duration.weeks != null && duration.weeks !== 0 || duration.days != null && duration.days !== 0) {
let res2 = $735220c2d4774dd3$export$e16d8520af44a096($11d87f3f76e88657$export$b21e0b124e224484(dateTime), {
years: duration.years,
months: duration.months,
weeks: duration.weeks,
days: duration.days
});
ms = $11d87f3f76e88657$export$5107c82f94518f5c(res2, dateTime.timeZone);
} else
ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime) - dateTime.offset;
ms += duration.milliseconds || 0;
ms += (duration.seconds || 0) * 1e3;
ms += (duration.minutes || 0) * 6e4;
ms += (duration.hours || 0) * 36e5;
let res = $11d87f3f76e88657$export$1b96692a1ba042ac(ms, dateTime.timeZone);
return $11d87f3f76e88657$export$b4a036af3fc0b032(res, dateTime.calendar);
}
function $735220c2d4774dd3$export$6814caac34ca03c7(dateTime, duration) {
return $735220c2d4774dd3$export$96b1d28349274637(dateTime, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));
}
function $735220c2d4774dd3$export$9a297d111fc86b79(dateTime, field, amount, options) {
switch (field) {
case "hour": {
let min2 = 0;
let max2 = 23;
if ((options === null || options === void 0 ? void 0 : options.hourCycle) === 12) {
let isPM = dateTime.hour >= 12;
min2 = isPM ? 12 : 0;
max2 = isPM ? 23 : 11;
}
let plainDateTime = $11d87f3f76e88657$export$b21e0b124e224484(dateTime);
let minDate = $11d87f3f76e88657$export$b4a036af3fc0b032($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {
hour: min2
}), new $3b62074eb05584b2$export$80ee6245ec4f29ec());
let minAbsolute = [
$11d87f3f76e88657$export$5107c82f94518f5c(minDate, dateTime.timeZone, "earlier"),
$11d87f3f76e88657$export$5107c82f94518f5c(minDate, dateTime.timeZone, "later")
].filter((ms2) => $11d87f3f76e88657$export$1b96692a1ba042ac(ms2, dateTime.timeZone).day === minDate.day)[0];
let maxDate = $11d87f3f76e88657$export$b4a036af3fc0b032($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {
hour: max2
}), new $3b62074eb05584b2$export$80ee6245ec4f29ec());
let maxAbsolute = [
$11d87f3f76e88657$export$5107c82f94518f5c(maxDate, dateTime.timeZone, "earlier"),
$11d87f3f76e88657$export$5107c82f94518f5c(maxDate, dateTime.timeZone, "later")
].filter((ms2) => $11d87f3f76e88657$export$1b96692a1ba042ac(ms2, dateTime.timeZone).day === maxDate.day).pop();
let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime) - dateTime.offset;
let hours = Math.floor(ms / $735220c2d4774dd3$var$ONE_HOUR);
let remainder = ms % $735220c2d4774dd3$var$ONE_HOUR;
ms = $735220c2d4774dd3$var$cycleValue(hours, amount, Math.floor(minAbsolute / $735220c2d4774dd3$var$ONE_HOUR), Math.floor(maxAbsolute / $735220c2d4774dd3$var$ONE_HOUR), options === null || options === void 0 ? void 0 : options.round) * $735220c2d4774dd3$var$ONE_HOUR + remainder;
return $11d87f3f76e88657$export$b4a036af3fc0b032($11d87f3f76e88657$export$1b96692a1ba042ac(ms, dateTime.timeZone), dateTime.calendar);
}
case "minute":
case "second":
case "millisecond":
return $735220c2d4774dd3$export$dd02b3e0007dfe28(dateTime, field, amount, options);
case "era":
case "year":
case "month":
case "day": {
let res = $735220c2d4774dd3$export$d52ced6badfb9a4c($11d87f3f76e88657$export$b21e0b124e224484(dateTime), field, amount, options);
let ms = $11d87f3f76e88657$export$5107c82f94518f5c(res, dateTime.timeZone);
return $11d87f3f76e88657$export$b4a036af3fc0b032($11d87f3f76e88657$export$1b96692a1ba042ac(ms, dateTime.timeZone), dateTime.calendar);
}
default:
throw new Error("Unsupported field " + field);
}
}
function $735220c2d4774dd3$export$31b5430eb18be4f8(dateTime, fields, disambiguation) {
let plainDateTime = $11d87f3f76e88657$export$b21e0b124e224484(dateTime);
let res = $735220c2d4774dd3$export$e5d5e1c1822b6e56($735220c2d4774dd3$export$adaa4cf7ef1b65be(plainDateTime, fields), fields);
if (res.compare(plainDateTime) === 0)
return dateTime;
let ms = $11d87f3f76e88657$export$5107c82f94518f5c(res, dateTime.timeZone, disambiguation);
return $11d87f3f76e88657$export$b4a036af3fc0b032($11d87f3f76e88657$export$1b96692a1ba042ac(ms, dateTime.timeZone), dateTime.calendar);
}
const $fae977aafc393c5c$var$ABSOLUTE_RE = /^(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;
function $fae977aafc393c5c$export$5adfdab05168c219(value, timeZone) {
let m = value.match($fae977aafc393c5c$var$ABSOLUTE_RE);
if (!m)
throw new Error("Invalid ISO 8601 date time string: " + value);
let date = new $35ea8db9cb2ccb90$export$d3b7288e7994edea($fae977aafc393c5c$var$parseNumber(m[1], 1, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, timeZone, 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1e3 : 0);
date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));
var _m_;
if (m[8])
date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 36e5 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : "0", 0, 59) * 6e4;
return $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone);
}
function $fae977aafc393c5c$export$8e384432362ed0f0(value) {
return $fae977aafc393c5c$export$5adfdab05168c219(value, $14e0f24ef4ac5c92$export$aa8b41735afcabd2());
}
function $fae977aafc393c5c$var$parseNumber(value, min2, max2) {
let val = Number(value);
if (val < min2 || val > max2)
throw new RangeError(`Value out of range: ${min2} <= ${val} <= ${max2}`);
return val;
}
function $fae977aafc393c5c$export$f59dee82248f5ad4(time) {
return `${String(time.hour).padStart(2, "0")}:${String(time.minute).padStart(2, "0")}:${String(time.second).padStart(2, "0")}${time.millisecond ? String(time.millisecond / 1e3).slice(1) : ""}`;
}
function $fae977aafc393c5c$export$60dfd74aa96791bd(date) {
let gregorianDate = $11d87f3f76e88657$export$b4a036af3fc0b032(date, new $3b62074eb05584b2$export$80ee6245ec4f29ec());
return `${String(gregorianDate.year).padStart(4, "0")}-${String(gregorianDate.month).padStart(2, "0")}-${String(gregorianDate.day).padStart(2, "0")}`;
}
function $fae977aafc393c5c$export$4223de14708adc63(date) {
return `${$fae977aafc393c5c$export$60dfd74aa96791bd(date)}T${$fae977aafc393c5c$export$f59dee82248f5ad4(date)}`;
}
function $fae977aafc393c5c$var$offsetToString(offset2) {
let sign = Math.sign(offset2) < 0 ? "-" : "+";
offset2 = Math.abs(offset2);
let offsetHours = Math.floor(offset2 / 36e5);
let offsetMinutes = offset2 % 36e5 / 6e4;
return `${sign}${String(offsetHours).padStart(2, "0")}:${String(offsetMinutes).padStart(2, "0")}`;
}
function $fae977aafc393c5c$export$bf79f1ebf4b18792(date) {
return `${$fae977aafc393c5c$export$4223de14708adc63(date)}${$fae977aafc393c5c$var$offsetToString(date.offset)}[${date.timeZone}]`;
}
function _check_private_redeclaration(obj, privateCollection) {
if (privateCollection.has(obj)) {
throw new TypeError("Cannot initialize the same private elements twice on an object");
}
}
function _class_private_field_init(obj, privateMap, value) {
_check_private_redeclaration(obj, privateMap);
privateMap.set(obj, value);
}
function $35ea8db9cb2ccb90$var$shiftArgs(args) {
let calendar = typeof args[0] === "object" ? args.shift() : new $3b62074eb05584b2$export$80ee6245ec4f29ec();
let era;
if (typeof args[0] === "string")
era = args.shift();
else {
let eras = calendar.getEras();
era = eras[eras.length - 1];
}
let year = args.shift();
let month = args.shift();
let day = args.shift();
return [
calendar,
era,
year,
month,
day
];
}
var $35ea8db9cb2ccb90$var$_type = /* @__PURE__ */ new WeakMap();
class $35ea8db9cb2ccb90$export$99faa760c7908e4f {
/** Returns a copy of this date. */
copy() {
if (this.era)
return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(this.calendar, this.era, this.year, this.month, this.day);
else
return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(this.calendar, this.year, this.month, this.day);
}
/** Returns a new `CalendarDate` with the given duration added to it. */
add(duration) {
return $735220c2d4774dd3$export$e16d8520af44a096(this, duration);
}
/** Returns a new `CalendarDate` with the given duration subtracted from it. */
subtract(duration) {
return $735220c2d4774dd3$export$4e2d2ead65e5f7e3(this, duration);
}
/** Returns a new `CalendarDate` with the given fields set to the provided values. Other fields will be constrained accordingly. */
set(fields) {
return $735220c2d4774dd3$export$adaa4cf7ef1b65be(this, fields);
}
/**
* Returns a new `CalendarDate` with the given field adjusted by a specified amount.
* When the resulting value reaches the limits of the field, it wraps around.
*/
cycle(field, amount, options) {
return $735220c2d4774dd3$export$d52ced6badfb9a4c(this, field, amount, options);
}
/** Converts the date to a native JavaScript Date object, with the time set to midnight in the given time zone. */
toDate(timeZone) {
return $11d87f3f76e88657$export$e67a095c620b86fe(this, timeZone);
}
/** Converts the date to an ISO 8601 formatted string. */
toString() {
return $fae977aafc393c5c$export$60dfd74aa96791bd(this);
}
/** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */
compare(b) {
return $14e0f24ef4ac5c92$export$68781ddf31c0090f(this, b);
}
constructor(...args) {
_class_private_field_init(this, $35ea8db9cb2ccb90$var$_type, {
writable: true,
value: void 0
});
let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);
this.calendar = calendar;
this.era = era;
this.year = year;
this.month = month;
this.day = day;
$735220c2d4774dd3$export$c4e2ecac49351ef2(this);
}
}
var $35ea8db9cb2ccb90$var$_type2 = /* @__PURE__ */ new WeakMap();
class $35ea8db9cb2ccb90$export$ca871e8dbb80966f {
/** Returns a copy of this date. */
copy() {
if (this.era)
return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(this.calendar, this.era, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);
else
return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(this.calendar, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);
}
/** Returns a new `CalendarDateTime` with the given duration added to it. */
add(duration) {
return $735220c2d4774dd3$export$e16d8520af44a096(this, duration);
}
/** Returns a new `CalendarDateTime` with the given duration subtracted from it. */
subtract(duration) {
return $735220c2d4774dd3$export$4e2d2ead65e5f7e3(this, duration);
}
/** Returns a new `CalendarDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */
set(fields) {
return $735220c2d4774dd3$export$adaa4cf7ef1b65be($735220c2d4774dd3$export$e5d5e1c1822b6e56(this, fields), fields);
}
/**
* Returns a new `CalendarDateTime` with the given field adjusted by a specified amount.
* When the resulting value reaches the limits of the field, it wraps around.
*/
cycle(field, amount, options) {
switch (field) {
case "era":
case "year":
case "month":
case "day":
return $735220c2d4774dd3$export$d52ced6badfb9a4c(this, field, amount, options);
default:
return $735220c2d4774dd3$export$dd02b3e0007dfe28(this, field, amount, options);
}
}
/** Converts the date to a native JavaScript Date object in the given time zone. */
toDate(timeZone, disambiguation) {
return $11d87f3f76e88657$export$e67a095c620b86fe(this, timeZone, disambiguation);
}
/** Converts the date to an ISO 8601 formatted string. */
toString() {
return $fae977aafc393c5c$export$4223de14708adc63(this);
}
/** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */
compare(b) {
let res = $14e0f24ef4ac5c92$export$68781ddf31c0090f(this, b);
if (res === 0)
return $14e0f24ef4ac5c92$export$c19a80a9721b80f6(this, $11d87f3f76e88657$export$b21e0b124e224484(b));
return res;
}
constructor(...args) {
_class_private_field_init(this, $35ea8db9cb2ccb90$var$_type2, {
writable: true,
value: void 0
});
let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);
this.calendar = calendar;
this.era = era;
this.year = year;
this.month = month;
this.day = day;
this.hour = args.shift() || 0;
this.minute = args.shift() || 0;
this.second = args.shift() || 0;
this.millisecond = args.shift() || 0;
$735220c2d4774dd3$export$c4e2ecac49351ef2(this);
}
}
var $35ea8db9cb2ccb90$var$_type3 = /* @__PURE__ */ new WeakMap();
class $35ea8db9cb2ccb90$export$d3b7288e7994edea {
/** Returns a copy of this date. */
copy() {
if (this.era)
return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(this.calendar, this.era, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);
else
return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(this.calendar, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);
}
/** Returns a new `ZonedDateTime` with the given duration added to it. */
add(duration) {
return $735220c2d4774dd3$export$96b1d28349274637(this, duration);
}
/** Returns a new `ZonedDateTime` with the given duration subtracted from it. */
subtract(duration) {
return $735220c2d4774dd3$export$6814caac34ca03c7(this, duration);
}
/** Returns a new `ZonedDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */
set(fields, disambiguation) {
return $735220c2d4774dd3$export$31b5430eb18be4f8(this, fields, disambiguation);
}
/**
* Returns a new `ZonedDateTime` with the given field adjusted by a specified amount.
* When the resulting value reaches the limits of the field, it wraps around.
*/
cycle(field, amount, options) {
return $735220c2d4774dd3$export$9a297d111fc86b79(this, field, amount, options);
}
/** Converts the date to a native JavaScript Date object. */
toDate() {
return $11d87f3f76e88657$export$83aac07b4c37b25(this);
}
/** Converts the date to an ISO 8601 formatted string, including the UTC offset and time zone identifier. */
toString() {
return $fae977aafc393c5c$export$bf79f1ebf4b18792(this);
}
/** Converts the date to an ISO 8601 formatted string in UTC. */
toAbsoluteString() {
return this.toDate().toISOString();
}
/** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */
compare(b) {
return this.toDate().getTime() - $11d87f3f76e88657$export$84c95a83c799e074(b, this.timeZone).toDate().getTime();
}
constructor(...args) {
_class_private_field_init(this, $35ea8db9cb2ccb90$var$_type3, {
writable: true,
value: void 0
});
let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);
let timeZone = args.shift();
let offset2 = args.shift();
this.calendar = calendar;
this.era = era;
this.year = year;
this.month = month;
this.day = day;
this.timeZone = timeZone;
this.offset = offset2;
this.hour = args.shift() || 0;
this.minute = args.shift() || 0;
this.second = args.shift() || 0;
this.millisecond = args.shift() || 0;
$735220c2d4774dd3$export$c4e2ecac49351ef2(this);
}
}
let $fb18d541ea1ad717$var$formatterCache = /* @__PURE__ */ new Map();
class $fb18d541ea1ad717$export$ad991b66133851cf {
/** Formats a date as a string according to the locale and format options passed to the constructor. */
format(value) {
return this.formatter.format(value);
}
/** Formats a date to an array of parts such as separators, numbers, punctuation, and more. */
formatToParts(value) {
return this.formatter.formatToParts(value);
}
/** Formats a date range as a string. */
formatRange(start, end) {
if (typeof this.formatter.formatRange === "function")
return this.formatter.formatRange(start, end);
if (end < start)
throw new RangeError("End date must be >= start date");
return `${this.formatter.format(start)} – ${this.formatter.format(end)}`;
}
/** Formats a date range as an array of parts. */
formatRangeToParts(start, end) {
if (typeof this.formatter.formatRangeToParts === "function")
return this.formatter.formatRangeToParts(start, end);
if (end < start)
throw new RangeError("End date must be >= start date");
let startParts = this.formatter.formatToParts(start);
let endParts = this.formatter.formatToParts(end);
return [
...startParts.map((p) => ({
...p,
source: "startRange"
})),
{
type: "literal",
value: " – ",
source: "shared"
},
...endParts.map((p) => ({
...p,
source: "endRange"
}))
];
}
/** Returns the resolved formatting options based on the values passed to the constructor. */
resolvedOptions() {
let resolvedOptions = this.formatter.resolvedOptions();
if ($fb18d541ea1ad717$var$hasBuggyResolvedHourCycle()) {
if (!this.resolvedHourCycle)
this.resolvedHourCycle = $fb18d541ea1ad717$var$getResolvedHourCycle(resolvedOptions.locale, this.options);
resolvedOptions.hourCycle = this.resolvedHourCycle;
resolvedOptions.hour12 = this.resolvedHourCycle === "h11" || this.resolvedHourCycle === "h12";
}
if (resolvedOptions.calendar === "ethiopic-amete-alem")
resolvedOptions.calendar = "ethioaa";
return resolvedOptions;
}
constructor(locale, options = {}) {
this.formatter = $fb18d541ea1ad717$var$getCachedDateFormatter(locale, options);
this.options = options;
}
}
const $fb18d541ea1ad717$var$hour12Preferences = {
true: {
// Only Japanese uses the h11 style for 12 hour time. All others use h12.
ja: "h11"
},
false: {}
};
function $fb18d541ea1ad717$var$getCachedDateFormatter(locale, options = {}) {
if (typeof options.hour12 === "boolean" && $fb18d541ea1ad717$var$hasBuggyHour12Behavior()) {
options = {
...options
};
let pref = $fb18d541ea1ad717$var$hour12Preferences[String(options.hour12)][locale.split("-")[0]];
let defaultHourCycle = options.hour12 ? "h12" : "h23";
options.hourCycle = pref !== null && pref !== void 0 ? pref : defaultHourCycle;
delete options.hour12;
}
let cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : "");
if ($fb18d541ea1ad717$var$formatterCache.has(cacheKey))
return $fb18d541ea1ad717$var$formatterCache.get(cacheKey);
let numberFormatter = new Intl.DateTimeFormat(locale, options);
$fb18d541ea1ad717$var$formatterCache.set(cacheKey, numberFormatter);
return numberFormatter;
}
let $fb18d541ea1ad717$var$_hasBuggyHour12Behavior = null;
function $fb18d541ea1ad717$var$hasBuggyHour12Behavior() {
if ($fb18d541ea1ad717$var$_hasBuggyHour12Behavior == null)
$fb18d541ea1ad717$var$_hasBuggyHour12Behavior = new Intl.DateTimeFormat("en-US", {
hour: "numeric",
hour12: false
}).format(new