@playbooks/ui
Version:
An interface library for Playbooks.
1,225 lines (1,224 loc) • 76.9 kB
JavaScript
"use strict";
const require$$0$1 = require("react/jsx-runtime");
const isArray$1 = (data) => {
return Array.isArray(data);
};
const isObject$1 = (data) => {
return data !== null && data && typeof data === "object";
};
const isEmpty$1 = (data) => {
if (data === null || data === void 0 || data === "undefined") {
return true;
}
if (isArray$1(data)) {
return data.length === 0 ? true : false;
}
if (isObject$1(data)) {
return Object.keys(data).length === 0 ? true : false;
}
return data.length === 0 ? true : false;
};
const tailwindContainer = {
center: "",
gutters: ""
};
const tailwindGrid = {
cols: "",
rows: "",
flow: "",
gap: ""
};
const tailwindCols = {
sm: "",
md: "",
lg: "",
xl: "",
xxl: "",
span: "",
order: ""
};
const tailwindProps = {
align: "",
animation: "",
aspect: "",
bgClip: "",
bgColor: "",
bgImage: "",
bgPosition: "",
bgSize: "",
border: "",
borderColor: "",
borderRadius: "",
borderStyle: "",
color: "",
cursor: "",
display: "",
divide: "",
divideColor: "",
duration: "",
ease: "",
focus: "",
fontFamily: "",
fontSize: "",
fontStyle: "",
fontWeight: "",
fontVariant: "",
flex: "",
grid: "",
gridFlow: "",
group: "",
height: "",
hover: "",
inset: "",
leading: "",
lineClamp: "",
listImg: "",
listPosition: "",
listStyle: "",
location: "",
margin: "",
maxHeight: "",
minHeight: "",
opacity: "",
origin: "",
outline: "",
outlineColor: "",
outlineOffset: "",
overflow: "",
padding: "",
placeholderColor: "",
pointerEvents: "",
position: "",
ring: "",
ringColor: "",
ringOffset: "",
ringOffsetColor: "",
rotate: "",
scale: "",
shadow: "",
shadowColor: "",
size: "",
space: "",
spacing: "",
stroke: "",
textDecoration: "",
textTransform: "",
tracking: "",
transform: "",
transition: "",
translate: "",
weight: "",
whiteSpace: "",
width: "",
zIndex: "",
...tailwindContainer,
...tailwindGrid,
...tailwindCols
};
const computeTailwind = (props) => {
let classes = "";
Object.keys(props).filter((key, i, s) => s.indexOf(key) === i).map((key) => {
const data = props[key];
if (isArray$1(data))
return;
if (isObject$1(data))
return;
if (isEmpty$1(data))
return;
if (typeof data === "function")
return;
classes = classes.concat(data + " ");
});
return classes;
};
const computeProps = (props) => {
const computed = {};
Object.keys(props).filter((key, i, s) => s.indexOf(key) === i).filter((key) => !Object.keys(tailwindProps).includes(key)).map((key) => {
const data = props[key];
return computed[key] = data;
});
return computed;
};
const A = ({ name = "A", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("a", { "data-name": name, className: classes, ...props });
};
const Article = ({ name = "Article", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("article", { "data-name": name, className: classes, ...props });
};
const Aside = ({ name = "Aside", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("aside", { "data-name": name, className: classes, ...props });
};
const Blockquote = ({ name = "Blockquote", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("blockquote", { "data-name": name, className: classes, ...props });
};
const Body = ({ name = "Body", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("body", { "data-name": name, className: classes, ...props });
};
const Button = ({ name = "Button", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("button", { "data-name": name, className: classes, ...props });
};
const Caption = ({ name = "Caption", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("caption", { "data-name": name, className: classes, ...props });
};
const Code = ({ name = "Code", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("code", { "data-name": name, className: classes, ...props });
};
const Div = ({ name = "Div", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("div", { "data-name": name, className: classes, ...props });
};
const Form = ({ name = "Form", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("form", { "data-name": name, className: classes, ...props });
};
const Figure = ({ name = "Figure", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("figure", { "data-name": name, className: classes, ...props });
};
const Footer = ({ name = "Footer", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("footer", { "data-name": name, className: classes, ...props });
};
const H1 = ({ name = "H1", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("h1", { "data-name": name, className: classes, ...props });
};
const H2 = ({ name = "H2", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("h2", { "data-name": name, className: classes, ...props });
};
const H3 = ({ name = "H3", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("h3", { "data-name": name, className: classes, ...props });
};
const H4 = ({ name = "H4", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("h4", { "data-name": name, className: classes, ...props });
};
const H5 = ({ name = "H5", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("h5", { "data-name": name, className: classes, ...props });
};
const H6 = ({ name = "H6", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("h6", { "data-name": name, className: classes, ...props });
};
const Header = ({ name = "Header", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("header", { "data-name": name, className: classes, ...props });
};
const Hr = ({ name = "Hr", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("hr", { "data-name": name, className: classes, ...props });
};
const Html = ({ name = "HTML", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("html", { "data-name": name, className: classes, ...props });
};
const Iframe = ({ name = "Iframe", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("iframe", { "data-name": name, className: classes, ...props });
};
const Img = ({ name = "Img", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("img", { "data-name": name, className: classes, ...props });
};
const Input = ({ name = "Input", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("input", { "data-name": name, className: classes, ...props });
};
const Label = ({ name = "Label", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("label", { "data-name": name, className: classes, ...props });
};
const Li = ({ name = "Li", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("li", { "data-name": name, className: classes, ...props });
};
const Main = ({ name = "Main", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("main", { "data-name": name, className: classes, ...props });
};
const Nav = ({ name = "Nav", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("nav", { "data-name": name, className: classes, ...props });
};
const Option = ({ name = "Option", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("option", { "data-name": name, className: classes, ...props });
};
const P = ({ name = "P", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("p", { "data-name": name, className: classes, ...props });
};
const Pre = ({ name = "Pre", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("pre", { "data-name": name, className: classes, ...props });
};
const Section = ({ name = "Section", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("section", { "data-name": name, className: classes, ...props });
};
const Select = ({ name = "Select", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("select", { "data-name": name, className: classes, ...props });
};
const Small = ({ name = "Small", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("small", { "data-name": name, className: classes, ...props });
};
const Span = ({ name = "Span", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("span", { "data-name": name, className: classes, ...props });
};
const Ul = ({ name = "Ul", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("ul", { "data-name": name, className: classes, ...props });
};
const Table = ({ name = "Table", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("table", { "data-name": name, className: classes, ...props });
};
const TBody = ({ name = "TBody", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("tbody", { "data-name": name, className: classes, ...props });
};
const TD = ({ name = "TD", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("td", { "data-name": name, className: classes, ...props });
};
const TextArea = ({ name = "TextArea", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("textarea", { "data-name": name, className: classes, ...props });
};
const TH = ({ name = "TH", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("th", { "data-name": name, className: classes, ...props });
};
const THead = ({ name = "THead", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("thead", { "data-name": name, className: classes, ...props });
};
const TR = ({ name = "TR", tailwind, className, ...props }) => {
const base = {};
const classes = computeTailwind({ ...base, ...tailwind, className });
return /* @__PURE__ */ require$$0$1.jsx("tr", { "data-name": name, className: classes, ...props });
};
function getDefaultExportFromCjs$1(x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
function getAugmentedNamespace(n) {
if (Object.prototype.hasOwnProperty.call(n, "__esModule")) return n;
var f = n.default;
if (typeof f == "function") {
var a = function a2() {
if (this instanceof a2) {
return Reflect.construct(f, arguments, this.constructor);
}
return f.apply(this, arguments);
};
a.prototype = f.prototype;
} else a = {};
Object.defineProperty(a, "__esModule", { value: true });
Object.keys(n).forEach(function(k) {
var d = Object.getOwnPropertyDescriptor(n, k);
Object.defineProperty(a, k, d.get ? d : {
enumerable: true,
get: function() {
return n[k];
}
});
});
return a;
}
function getDefaultExportFromCjs(x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
var dayjs_min$1 = { exports: {} };
var dayjs_min = dayjs_min$1.exports;
var hasRequiredDayjs_min;
function requireDayjs_min() {
if (hasRequiredDayjs_min) return dayjs_min$1.exports;
hasRequiredDayjs_min = 1;
(function(module2, exports2) {
!function(t, e) {
module2.exports = e();
}(dayjs_min, function() {
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
} }, m = function(t2, e2, n2) {
var r2 = String(t2);
return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
}, v = { s: m, z: function(t2) {
var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
}, m: function t2(e2, n2) {
if (e2.date() < n2.date()) return -t2(n2, e2);
var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
}, a: function(t2) {
return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
}, p: function(t2) {
return { M: c, y: h, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
}, u: function(t2) {
return void 0 === t2;
} }, g = "en", D = {};
D[g] = M;
var p = "$isDayjsObject", S = function(t2) {
return t2 instanceof _ || !(!t2 || !t2[p]);
}, w = function t2(e2, n2, r2) {
var i2;
if (!e2) return g;
if ("string" == typeof e2) {
var s2 = e2.toLowerCase();
D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
var u2 = e2.split("-");
if (!i2 && u2.length > 1) return t2(u2[0]);
} else {
var a2 = e2.name;
D[a2] = e2, i2 = a2;
}
return !r2 && i2 && (g = i2), i2 || !r2 && g;
}, O = function(t2, e2) {
if (S(t2)) return t2.clone();
var n2 = "object" == typeof e2 ? e2 : {};
return n2.date = t2, n2.args = arguments, new _(n2);
}, b = v;
b.l = w, b.i = S, b.w = function(t2, e2) {
return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
};
var _ = function() {
function M2(t2) {
this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
}
var m2 = M2.prototype;
return m2.parse = function(t2) {
this.$d = function(t3) {
var e2 = t3.date, n2 = t3.utc;
if (null === e2) return /* @__PURE__ */ new Date(NaN);
if (b.u(e2)) return /* @__PURE__ */ new Date();
if (e2 instanceof Date) return new Date(e2);
if ("string" == typeof e2 && !/Z$/i.test(e2)) {
var r2 = e2.match($);
if (r2) {
var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
}
}
return new Date(e2);
}(t2), this.init();
}, m2.init = function() {
var t2 = this.$d;
this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
}, m2.$utils = function() {
return b;
}, m2.isValid = function() {
return !(this.$d.toString() === l);
}, m2.isSame = function(t2, e2) {
var n2 = O(t2);
return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
}, m2.isAfter = function(t2, e2) {
return O(t2) < this.startOf(e2);
}, m2.isBefore = function(t2, e2) {
return this.endOf(e2) < O(t2);
}, m2.$g = function(t2, e2, n2) {
return b.u(t2) ? this[e2] : this.set(n2, t2);
}, m2.unix = function() {
return Math.floor(this.valueOf() / 1e3);
}, m2.valueOf = function() {
return this.$d.getTime();
}, m2.startOf = function(t2, e2) {
var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {
var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
return r2 ? i2 : i2.endOf(a);
}, $2 = function(t3, e3) {
return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
}, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
switch (f2) {
case h:
return r2 ? l2(1, 0) : l2(31, 11);
case c:
return r2 ? l2(1, M3) : l2(0, M3 + 1);
case o:
var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
case a:
case d:
return $2(v2 + "Hours", 0);
case u:
return $2(v2 + "Minutes", 1);
case s:
return $2(v2 + "Seconds", 2);
case i:
return $2(v2 + "Milliseconds", 3);
default:
return this.clone();
}
}, m2.endOf = function(t2) {
return this.startOf(t2, false);
}, m2.$set = function(t2, e2) {
var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
if (o2 === c || o2 === h) {
var y2 = this.clone().set(d, 1);
y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
} else l2 && this.$d[l2]($2);
return this.init(), this;
}, m2.set = function(t2, e2) {
return this.clone().$set(t2, e2);
}, m2.get = function(t2) {
return this[b.p(t2)]();
}, m2.add = function(r2, f2) {
var d2, l2 = this;
r2 = Number(r2);
var $2 = b.p(f2), y2 = function(t2) {
var e2 = O(l2);
return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
};
if ($2 === c) return this.set(c, this.$M + r2);
if ($2 === h) return this.set(h, this.$y + r2);
if ($2 === a) return y2(1);
if ($2 === o) return y2(7);
var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
return b.w(m3, this);
}, m2.subtract = function(t2, e2) {
return this.add(-1 * t2, e2);
}, m2.format = function(t2) {
var e2 = this, n2 = this.$locale();
if (!this.isValid()) return n2.invalidDate || l;
var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h2 = function(t3, n3, i3, s3) {
return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
}, d2 = function(t3) {
return b.s(s2 % 12 || 12, t3, "0");
}, $2 = f2 || function(t3, e3, n3) {
var r3 = t3 < 12 ? "AM" : "PM";
return n3 ? r3.toLowerCase() : r3;
};
return r2.replace(y, function(t3, r3) {
return r3 || function(t4) {
switch (t4) {
case "YY":
return String(e2.$y).slice(-2);
case "YYYY":
return b.s(e2.$y, 4, "0");
case "M":
return a2 + 1;
case "MM":
return b.s(a2 + 1, 2, "0");
case "MMM":
return h2(n2.monthsShort, a2, c2, 3);
case "MMMM":
return h2(c2, a2);
case "D":
return e2.$D;
case "DD":
return b.s(e2.$D, 2, "0");
case "d":
return String(e2.$W);
case "dd":
return h2(n2.weekdaysMin, e2.$W, o2, 2);
case "ddd":
return h2(n2.weekdaysShort, e2.$W, o2, 3);
case "dddd":
return o2[e2.$W];
case "H":
return String(s2);
case "HH":
return b.s(s2, 2, "0");
case "h":
return d2(1);
case "hh":
return d2(2);
case "a":
return $2(s2, u2, true);
case "A":
return $2(s2, u2, false);
case "m":
return String(u2);
case "mm":
return b.s(u2, 2, "0");
case "s":
return String(e2.$s);
case "ss":
return b.s(e2.$s, 2, "0");
case "SSS":
return b.s(e2.$ms, 3, "0");
case "Z":
return i2;
}
return null;
}(t3) || i2.replace(":", "");
});
}, m2.utcOffset = function() {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, m2.diff = function(r2, d2, l2) {
var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
return b.m(y2, m3);
};
switch (M3) {
case h:
$2 = D2() / 12;
break;
case c:
$2 = D2();
break;
case f:
$2 = D2() / 3;
break;
case o:
$2 = (g2 - v2) / 6048e5;
break;
case a:
$2 = (g2 - v2) / 864e5;
break;
case u:
$2 = g2 / n;
break;
case s:
$2 = g2 / e;
break;
case i:
$2 = g2 / t;
break;
default:
$2 = g2;
}
return l2 ? $2 : b.a($2);
}, m2.daysInMonth = function() {
return this.endOf(c).$D;
}, m2.$locale = function() {
return D[this.$L];
}, m2.locale = function(t2, e2) {
if (!t2) return this.$L;
var n2 = this.clone(), r2 = w(t2, e2, true);
return r2 && (n2.$L = r2), n2;
}, m2.clone = function() {
return b.w(this.$d, this);
}, m2.toDate = function() {
return new Date(this.valueOf());
}, m2.toJSON = function() {
return this.isValid() ? this.toISOString() : null;
}, m2.toISOString = function() {
return this.$d.toISOString();
}, m2.toString = function() {
return this.$d.toUTCString();
}, M2;
}(), k = _.prototype;
return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h], ["$D", d]].forEach(function(t2) {
k[t2[1]] = function(e2) {
return this.$g(e2, t2[0], t2[1]);
};
}), O.extend = function(t2, e2) {
return t2.$i || (t2(e2, _, O), t2.$i = true), O;
}, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
return O(1e3 * t2);
}, O.en = D[g], O.Ls = D, O.p = {}, O;
});
})(dayjs_min$1);
return dayjs_min$1.exports;
}
var dayjs_minExports = requireDayjs_min();
const Dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
var advancedFormat$1 = { exports: {} };
var advancedFormat = advancedFormat$1.exports;
var hasRequiredAdvancedFormat;
function requireAdvancedFormat() {
if (hasRequiredAdvancedFormat) return advancedFormat$1.exports;
hasRequiredAdvancedFormat = 1;
(function(module2, exports2) {
!function(e, t) {
module2.exports = t();
}(advancedFormat, function() {
return function(e, t) {
var r = t.prototype, n = r.format;
r.format = function(e2) {
var t2 = this, r2 = this.$locale();
if (!this.isValid()) return n.bind(this)(e2);
var s = this.$utils(), a = (e2 || "YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function(e3) {
switch (e3) {
case "Q":
return Math.ceil((t2.$M + 1) / 3);
case "Do":
return r2.ordinal(t2.$D);
case "gggg":
return t2.weekYear();
case "GGGG":
return t2.isoWeekYear();
case "wo":
return r2.ordinal(t2.week(), "W");
case "w":
case "ww":
return s.s(t2.week(), "w" === e3 ? 1 : 2, "0");
case "W":
case "WW":
return s.s(t2.isoWeek(), "W" === e3 ? 1 : 2, "0");
case "k":
case "kk":
return s.s(String(0 === t2.$H ? 24 : t2.$H), "k" === e3 ? 1 : 2, "0");
case "X":
return Math.floor(t2.$d.getTime() / 1e3);
case "x":
return t2.$d.getTime();
case "z":
return "[" + t2.offsetName() + "]";
case "zzz":
return "[" + t2.offsetName("long") + "]";
default:
return e3;
}
});
return n.bind(this)(a);
};
};
});
})(advancedFormat$1);
return advancedFormat$1.exports;
}
var advancedFormatExports = requireAdvancedFormat();
const AdvancedFormat = /* @__PURE__ */ getDefaultExportFromCjs(advancedFormatExports);
var quarterOfYear$1 = { exports: {} };
var quarterOfYear = quarterOfYear$1.exports;
var hasRequiredQuarterOfYear;
function requireQuarterOfYear() {
if (hasRequiredQuarterOfYear) return quarterOfYear$1.exports;
hasRequiredQuarterOfYear = 1;
(function(module2, exports2) {
!function(t, n) {
module2.exports = n();
}(quarterOfYear, function() {
var t = "month", n = "quarter";
return function(e, i) {
var r = i.prototype;
r.quarter = function(t2) {
return this.$utils().u(t2) ? Math.ceil((this.month() + 1) / 3) : this.month(this.month() % 3 + 3 * (t2 - 1));
};
var s = r.add;
r.add = function(e2, i2) {
return e2 = Number(e2), this.$utils().p(i2) === n ? this.add(3 * e2, t) : s.bind(this)(e2, i2);
};
var u = r.startOf;
r.startOf = function(e2, i2) {
var r2 = this.$utils(), s2 = !!r2.u(i2) || i2;
if (r2.p(e2) === n) {
var o = this.quarter() - 1;
return s2 ? this.month(3 * o).startOf(t).startOf("day") : this.month(3 * o + 2).endOf(t).endOf("day");
}
return u.bind(this)(e2, i2);
};
};
});
})(quarterOfYear$1);
return quarterOfYear$1.exports;
}
var quarterOfYearExports = requireQuarterOfYear();
const QuarterOfYear = /* @__PURE__ */ getDefaultExportFromCjs(quarterOfYearExports);
var relativeTime$1 = { exports: {} };
var relativeTime = relativeTime$1.exports;
var hasRequiredRelativeTime;
function requireRelativeTime() {
if (hasRequiredRelativeTime) return relativeTime$1.exports;
hasRequiredRelativeTime = 1;
(function(module2, exports2) {
!function(r, e) {
module2.exports = e();
}(relativeTime, function() {
return function(r, e, t) {
r = r || {};
var n = e.prototype, o = { future: "in %s", past: "%s ago", s: "a few 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" };
function i(r2, e2, t2, o2) {
return n.fromToBase(r2, e2, t2, o2);
}
t.en.relativeTime = o, n.fromToBase = function(e2, n2, i2, d2, u) {
for (var f, a, s, l = i2.$locale().relativeTime || o, h = r.thresholds || [{ l: "s", r: 44, d: "second" }, { l: "m", r: 89 }, { l: "mm", r: 44, d: "minute" }, { l: "h", r: 89 }, { l: "hh", r: 21, d: "hour" }, { l: "d", r: 35 }, { l: "dd", r: 25, d: "day" }, { l: "M", r: 45 }, { l: "MM", r: 10, d: "month" }, { l: "y", r: 17 }, { l: "yy", d: "year" }], m = h.length, c = 0; c < m; c += 1) {
var y = h[c];
y.d && (f = d2 ? t(e2).diff(i2, y.d, true) : i2.diff(e2, y.d, true));
var p = (r.rounding || Math.round)(Math.abs(f));
if (s = f > 0, p <= y.r || !y.r) {
p <= 1 && c > 0 && (y = h[c - 1]);
var v = l[y.l];
u && (p = u("" + p)), a = "string" == typeof v ? v.replace("%d", p) : v(p, n2, y.l, s);
break;
}
}
if (n2) return a;
var M = s ? l.future : l.past;
return "function" == typeof M ? M(a) : M.replace("%s", a);
}, n.to = function(r2, e2) {
return i(r2, e2, this, true);
}, n.from = function(r2, e2) {
return i(r2, e2, this);
};
var d = function(r2) {
return r2.$u ? t.utc() : t();
};
n.toNow = function(r2) {
return this.to(d(this), r2);
}, n.fromNow = function(r2) {
return this.from(d(this), r2);
};
};
});
})(relativeTime$1);
return relativeTime$1.exports;
}
var relativeTimeExports = requireRelativeTime();
const RelativeTime = /* @__PURE__ */ getDefaultExportFromCjs(relativeTimeExports);
var timezone$1 = { exports: {} };
var timezone = timezone$1.exports;
var hasRequiredTimezone;
function requireTimezone() {
if (hasRequiredTimezone) return timezone$1.exports;
hasRequiredTimezone = 1;
(function(module2, exports2) {
!function(t, e) {
module2.exports = e();
}(timezone, function() {
var t = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, e = {};
return function(n, i, o) {
var r, a = function(t2, n2, i2) {
void 0 === i2 && (i2 = {});
var o2 = new Date(t2), r2 = function(t3, n3) {
void 0 === n3 && (n3 = {});
var i3 = n3.timeZoneName || "short", o3 = t3 + "|" + i3, r3 = e[o3];
return r3 || (r3 = new Intl.DateTimeFormat("en-US", { hour12: false, timeZone: t3, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: i3 }), e[o3] = r3), r3;
}(n2, i2);
return r2.formatToParts(o2);
}, u = function(e2, n2) {
for (var i2 = a(e2, n2), r2 = [], u2 = 0; u2 < i2.length; u2 += 1) {
var f2 = i2[u2], s2 = f2.type, m = f2.value, c = t[s2];
c >= 0 && (r2[c] = parseInt(m, 10));
}
var d = r2[3], l = 24 === d ? 0 : d, h = r2[0] + "-" + r2[1] + "-" + r2[2] + " " + l + ":" + r2[4] + ":" + r2[5] + ":000", v = +e2;
return (o.utc(h).valueOf() - (v -= v % 1e3)) / 6e4;
}, f = i.prototype;
f.tz = function(t2, e2) {
void 0 === t2 && (t2 = r);
var n2, i2 = this.utcOffset(), a2 = this.toDate(), u2 = a2.toLocaleString("en-US", { timeZone: t2 }), f2 = Math.round((a2 - new Date(u2)) / 1e3 / 60), s2 = 15 * -Math.round(a2.getTimezoneOffset() / 15) - f2;
if (!Number(s2)) n2 = this.utcOffset(0, e2);
else if (n2 = o(u2, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(s2, true), e2) {
var m = n2.utcOffset();
n2 = n2.add(i2 - m, "minute");
}
return n2.$x.$timezone = t2, n2;
}, f.offsetName = function(t2) {
var e2 = this.$x.$timezone || o.tz.guess(), n2 = a(this.valueOf(), e2, { timeZoneName: t2 }).find(function(t3) {
return "timezonename" === t3.type.toLowerCase();
});
return n2 && n2.value;
};
var s = f.startOf;
f.startOf = function(t2, e2) {
if (!this.$x || !this.$x.$timezone) return s.call(this, t2, e2);
var n2 = o(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
return s.call(n2, t2, e2).tz(this.$x.$timezone, true);
}, o.tz = function(t2, e2, n2) {
var i2 = n2 && e2, a2 = n2 || e2 || r, f2 = u(+o(), a2);
if ("string" != typeof t2) return o(t2).tz(a2);
var s2 = function(t3, e3, n3) {
var i3 = t3 - 60 * e3 * 1e3, o2 = u(i3, n3);
if (e3 === o2) return [i3, e3];
var r2 = u(i3 -= 60 * (o2 - e3) * 1e3, n3);
return o2 === r2 ? [i3, o2] : [t3 - 60 * Math.min(o2, r2) * 1e3, Math.max(o2, r2)];
}(o.utc(t2, i2).valueOf(), f2, a2), m = s2[0], c = s2[1], d = o(m).utcOffset(c);
return d.$x.$timezone = a2, d;
}, o.tz.guess = function() {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
}, o.tz.setDefault = function(t2) {
r = t2;
};
};
});
})(timezone$1);
return timezone$1.exports;
}
var timezoneExports = requireTimezone();
const Timezone = /* @__PURE__ */ getDefaultExportFromCjs(timezoneExports);
var utc$1 = { exports: {} };
var utc = utc$1.exports;
var hasRequiredUtc;
function requireUtc() {
if (hasRequiredUtc) return utc$1.exports;
hasRequiredUtc = 1;
(function(module2, exports2) {
!function(t, i) {
module2.exports = i();
}(utc, function() {
var t = "minute", i = /[+-]\d\d(?::?\d\d)?/g, e = /([+-]|\d\d)/g;
return function(s, f, n) {
var u = f.prototype;
n.utc = function(t2) {
var i2 = { date: t2, utc: true, args: arguments };
return new f(i2);
}, u.utc = function(i2) {
var e2 = n(this.toDate(), { locale: this.$L, utc: true });
return i2 ? e2.add(this.utcOffset(), t) : e2;
}, u.local = function() {
return n(this.toDate(), { locale: this.$L, utc: false });
};
var o = u.parse;
u.parse = function(t2) {
t2.utc && (this.$u = true), this.$utils().u(t2.$offset) || (this.$offset = t2.$offset), o.call(this, t2);
};
var r = u.init;
u.init = function() {
if (this.$u) {
var t2 = this.$d;
this.$y = t2.getUTCFullYear(), this.$M = t2.getUTCMonth(), this.$D = t2.getUTCDate(), this.$W = t2.getUTCDay(), this.$H = t2.getUTCHours(), this.$m = t2.getUTCMinutes(), this.$s = t2.getUTCSeconds(), this.$ms = t2.getUTCMilliseconds();
} else r.call(this);
};
var a = u.utcOffset;
u.utcOffset = function(s2, f2) {
var n2 = this.$utils().u;
if (n2(s2)) return this.$u ? 0 : n2(this.$offset) ? a.call(this) : this.$offset;
if ("string" == typeof s2 && (s2 = function(t2) {
void 0 === t2 && (t2 = "");
var s3 = t2.match(i);
if (!s3) return null;
var f3 = ("" + s3[0]).match(e) || ["-", 0, 0], n3 = f3[0], u3 = 60 * +f3[1] + +f3[2];
return 0 === u3 ? 0 : "+" === n3 ? u3 : -u3;
}(s2), null === s2)) return this;
var u2 = Math.abs(s2) <= 16 ? 60 * s2 : s2, o2 = this;
if (f2) return o2.$offset = u2, o2.$u = 0 === s2, o2;
if (0 !== s2) {
var r2 = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
(o2 = this.local().add(u2 + r2, t)).$offset = u2, o2.$x.$localOffset = r2;
} else o2 = this.utc();
return o2;
};
var h = u.format;
u.format = function(t2) {
var i2 = t2 || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
return h.call(this, i2);
}, u.valueOf = function() {
var t2 = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
return this.$d.valueOf() - 6e4 * t2;
}, u.isUTC = function() {
return !!this.$u;
}, u.toISOString = function() {
return this.toDate().toISOString();
}, u.toString = function() {
return this.toDate().toUTCString();
};
var l = u.toDate;
u.toDate = function(t2) {
return "s" === t2 && this.$offset ? n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l.call(this);
};
var c = u.diff;
u.diff = function(t2, i2, e2) {
if (t2 && this.$u === t2.$u) return c.call(this, t2, i2, e2);
var s2 = this.local(), f2 = n(t2).local();
return c.call(s2, f2, i2, e2);
};
};
});
})(utc$1);
return utc$1.exports;
}
var utcExports = requireUtc();
const UTC = /* @__PURE__ */ getDefaultExportFromCjs(utcExports);
Dayjs.extend(AdvancedFormat);
Dayjs.extend(QuarterOfYear);
Dayjs.extend(RelativeTime);
Dayjs.extend(Timezone);
Dayjs.extend(UTC);
const dayjs = Dayjs;
const zonedDayjs = (value, timezone2 = "America/Denver") => {
return dayjs(value).tz(timezone2);
};
const fromUnix = (value) => {
return Dayjs.unix(value);
};
const formatDate = (value, format) => {
return Dayjs(value).format(format || "MMM Do, YYYY @ hhover:mmA");
};
const formatTimestamp = (value) => {
return Dayjs(value).fromNow(true);
};
const toDate = (value) => {
return Dayjs(value).toDate();
};
const toJson = (value) => {
return Dayjs(value).toJSON();
};
const toYear = (value) => {
return Dayjs(value).year();
};
const toUnix = (value) => {
return Dayjs(value).valueOf();
};
const toStartOfTime = () => {
return Dayjs().subtract(10, "y").startOf("d").toJSON();
};
const toEndOfTime = () => {
return Dayjs().add(10, "y").endOf("d").toJSON();
};
const toTimezone = (value, timezone2 = "America/Denver") => {
return Dayjs(value).tz(timezone2);
};
const timeElapsed = (startDate, endDate = /* @__PURE__ */ new Date()) => {
return Dayjs(endDate).diff(startDate, "ms") + "ms";
};
const env = process.env.NEXT_PUBLIC_NODE_ENV || process.env.NODE_ENV;
function commonjsRequire$1(path) {
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var uniqid$1 = { exports: {} };
const __viteBrowserExternal = {};
const __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
default: __viteBrowserExternal
}, Symbol.toStringTag, { value: "Module" }));
const require$$0 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);
var hasRequiredUniqid;
function requireUniqid() {
if (hasRequiredUniqid) return uniqid$1.exports;
hasRequiredUniqid = 1;
var pid = typeof process !== "undefined" && process.pid ? process.pid.toString(36) : "";
var address = "";
if (typeof __webpack_require__ !== "function" && typeof commonjsRequire$1 !== "undefined") {
var mac = "", os = require$$0;
if (os.networkInterfaces) var networkInterfaces = os.networkInterfaces();
if (networkInterfaces) {
loop:
for (let interface_key in networkInterfaces) {
const networkInterface = networkInterfaces[interface_key];
const length = networkInterface.length;
for (var i = 0; i < length; i++) {
if (networkInterface[i] !== void 0 && networkInterface[i].mac && networkInterface[i].mac != "00:00:00:00:00:00") {
mac = networkInterface[i].mac;
break loop;
}
}
}
address = mac ? parseInt(mac.replace(/\:|\D+/gi, "")).toString(36) : "";
}
}
uniqid$1.exports = uniqid$1.exports.default = function(prefix, suffix) {
return (prefix ? prefix : "") + address + pid + now().toString(36) + (suffix ? suffix : "");
};
uniqid$1.exports.process = function(prefix, suffix) {
return (prefix ? prefix : "") + pid + now().toString(36) + (suffix ? suffix : "");
};
uniqid$1.exports.time = function(prefix, suffix) {
return (prefix ? prefix : "") + now().toString(36) + (suffix ? suffix : "");
};
function now() {
var time = Date.now();
var last = now.last || time;
return now.last = time > last ? time : last + 1;
}
return uniqid$1.exports;
}
var uniqidExports = requireUniqid();
const uniqid = /* @__PURE__ */ getDefaultExportFromCjs$1(uniqidExports);
function commonjsRequire(path) {
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var pluralize$2 = { exports: {} };
var pluralize$1 = pluralize$2.exports;
var hasRequiredPluralize;
function requirePluralize() {
if (hasRequiredPluralize) return pluralize$2.exports;
hasRequiredPluralize = 1;
(function(module2, exports2) {
(function(root, pluralize2) {
if (typeof commonjsRequire === "function" && true && true) {
module2.exports = pluralize2();
} else {
root.pluralize = pluralize2();
}
})(pluralize$1, function() {
var pluralRules = [];
var singularRules = [];
var uncountables = {};
var irregularPlurals = {};
var irregularSingles = {};
function sanitizeRule(rule) {
if (typeof rule === "string") {
return new RegExp("^" + rule + "$", "i");
}
return rule;
}
function restoreCase(word, token) {
if (word === token) return token;
if (word === word.toLowerCase()) return token.toLowerCase();
if (word === word.toUpperCase()) return token.toUpperCase();
if (word[0] === word[0].toUpperCase()) {
return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();
}
return token.toLowerCase();
}
function interpolate(str, args) {
return str.replace(/\$(\d{1,2})/g, function(match, index) {
return args[index] || "";
});
}
function replace(word, rule) {
return word.replace(rule[0], function(match, index) {
var result = interpolate(rule[1], arguments);
if (match === "") {
return restoreCase(word[index - 1], result);
}
return restoreCase(match, result);
});
}
function sanitizeWord(token, word, rules) {
if (!token.length || uncountables.hasOwnProperty(token)) {
return word;
}
var len = rules.length;
while (len--) {
var rule = rules[len];
if (rule[0].test(word)) return replace(word, rule);
}
return word;
}
function replaceWord(replaceMap, keepMap, rules) {
return function(word) {
var token = word.toLowerCase();
if (keepMap.hasOwnProperty(token)) {
return restoreCase(word, token);
}
if (replaceMap.hasOwnProperty(token)) {
return restoreCase(word, replaceMap[token]);
}
return sanitizeWord(token, word, rules);
};
}
function checkWord(replaceMap, keepMap, rules, bool) {
return function(word) {
var token = word.toLowerCase();
if (keepMap.hasOwnProperty(token)) return true;
if (replaceMap.hasOwnProperty(token)) return false;
return sanitizeWord(token, token, rules) === token;
};
}
function pluralize2(word, count, inclusive) {
var pluralized = count === 1 ? pluralize2.singular(word) : pluralize2.plural(word);
return (inclusive ? count + " " : "") + pluralized;
}
pluralize2.plural = replaceWord(
irregularSingles,
irregularPlurals,
pluralRules
);
pluralize2.isPlural = checkWord(
irregularSingles,
irregularPlurals,
pluralRules
);
pluralize2.singular = replaceWord(
irregularPlurals,
irregularSingles,
singularRules
);
pluralize2.isSingular = checkWord(
irregularPlurals,
irregularSingles,
singularRules
);
pluralize2.addPluralRule = function(rule, replacement) {
pluralRules.push([sanitizeRule(rule), replacement]);
};
pluralize2.addSingularRule = function(rule, replacement) {
singularRules.push([sanitizeRule(rule), replacement]);
};
pluralize2.addUncountableRule = function(word) {
if (typeof word === "string") {
uncountables[word.toLowerCase()] = true;
return;
}
pluralize2.addPluralRule(word, "$0");
pluralize2.addSingularRule(word, "$0");
};
pluralize2.addIrregularRule = function(single, plural) {
plural = plural.toLowerCase();
single = single.toLowerCase();
irregularSingles[single] = plural;
irregularPlurals[plural] = single;
};
[
// Pronouns.
["I", "we"],
["me", "us"],
["he", "they"],
["she", "they"],
["them", "them"],
["myself", "ourselves"],
["yourself", "yourselves"],
["itself", "themselves"],
["herself", "themselves"],
["himself", "themselves"],
["themself", "themselves"],
["is", "are"],
["was", "were"],
["has", "have"],
["this", "these"],
["that", "those"],
// Words ending in with a consonant and `o`.
["echo", "echoes"],
["dingo", "dingoes"],
["volcano", "volcanoes"],
["tornado", "tornadoes"],
["torpedo", "torpedoes"],
// Ends with `us`.
["genus", "genera"],
["viscus", "viscera"],
// Ends with `ma`.
["stigma", "stigmata"],
["stoma", "stomata"],
["dogma", "dogmata"],
["lemma", "lemmata"],
["schema", "schemata"],
["anathema", "anathemata"],
// Other irregular rules.