UNPKG

@lifespikes/ui

Version:
1,411 lines 574 kB
import { jsx as s, Fragment as Ae, jsxs as w } from "react/jsx-runtime"; import { useReactTable as W2, getCoreRowModel as K2, flexRender as ul } from "@tanstack/react-table"; import { ChevronUp as Y2, ChevronDown as Xt, Dot as $2, Check as Jt, ChevronRight as _1, Circle as Ol, X as Ft, ChevronLeft as q2, Calendar as Pl, CheckIcon as Ul, Loader2 as Z2, Info as X2, File as J2, UploadCloud as Q2, XIcon as ea, ChevronsUpDown as Gl, Search as ta, GripVertical as la, ArrowLeft as ra, ArrowRight as aa, MoreHorizontal as na } from "lucide-react"; import * as f from "react"; import l, { useState as Mt, useId as jl, Fragment as ia, useMemo as lt, createElement as sa, memo as Wl, useImperativeHandle as ca, useCallback as oa } from "react"; import { Slottable as ha, Slot as B1 } from "@radix-ui/react-slot"; import { cva as _e } from "class-variance-authority"; import { clsx as da } from "clsx"; import { twMerge as ua } from "tailwind-merge"; import ml from "voca"; import { OTPInput as ma, OTPInputContext as pa } from "input-otp"; import * as k1 from "@radix-ui/react-checkbox"; import * as oe from "@radix-ui/react-dropdown-menu"; import * as we from "@radix-ui/react-select"; import * as ut from "@radix-ui/react-avatar"; import * as ce from "@radix-ui/react-dialog"; import * as He from "@radix-ui/react-alert-dialog"; import * as st from "@radix-ui/react-tabs"; import * as it from "@radix-ui/react-accordion"; import * as Kl from "@radix-ui/react-label"; import * as C1 from "@radix-ui/react-switch"; import * as Ct from "@radix-ui/react-tooltip"; import { format as Lt } from "date-fns"; import { DayPicker as va } from "react-day-picker"; import * as yt from "@radix-ui/react-popover"; import * as Yl from "@radix-ui/react-separator"; import * as nt from "@radix-ui/react-scroll-area"; import * as Ie from "@radix-ui/react-toast"; import * as bt from "@radix-ui/react-radio-group"; import { useDropzone as fa } from "react-dropzone"; import { Command as Be } from "cmdk"; import * as V1 from "react-resizable-panels"; import { Drawer as Ge } from "vaul"; import Ea from "embla-carousel-react"; import * as Ve from "@radix-ui/react-navigation-menu"; import * as Qt from "@radix-ui/react-hover-card"; import * as N1 from "@radix-ui/react-collapsible"; import { Toaster as ga } from "sonner"; import * as $l from "react-phone-number-input"; import { MixerHorizontalIcon as wa, ArrowDownIcon as pl, ArrowUpIcon as vl, CaretSortIcon as xa, EyeNoneIcon as za, DoubleArrowLeftIcon as Fa, ChevronLeftIcon as Ma, ChevronRightIcon as ya, DoubleArrowRightIcon as ba, HamburgerMenuIcon as Ha } from "@radix-ui/react-icons"; const ka = ({ table: r }) => /* @__PURE__ */ s(Ae, { children: Array.from({ length: 5 }).map((e, t) => /* @__PURE__ */ s(gt, { children: Array.from({ length: r.getAllColumns().length }).map((a, n) => /* @__PURE__ */ s(jt, { children: /* @__PURE__ */ s(f2, { className: "h-4 w-full" }) }, n)) }, t)) }), rd = ({ data: r, columns: e, ...t }) => { var g; const { tableOptions: a, renderHeader: n, renderFooter: i, variant: c, variantClassName: o, isLoading: v } = t, p = W2({ data: r, columns: e, getCoreRowModel: K2(), ...a, state: { ...a == null ? void 0 : a.state } }); return /* @__PURE__ */ w("div", { className: "w-full", children: [ n ? /* @__PURE__ */ w("div", { className: "flex items-center py-4", children: [ n({ table: p }), " " ] }) : null, /* @__PURE__ */ s("div", { className: "rounded-md", children: /* @__PURE__ */ w(cr, { variant: c, className: o, children: [ /* @__PURE__ */ s(or, { className: "bg-muted/50", children: p.getHeaderGroups().map((z) => /* @__PURE__ */ s(gt, { children: z.headers.map((b) => { const C = b.column.getIsSorted(); return /* @__PURE__ */ s( dr, { className: "text-muted-foreground", onClick: b.column.getToggleSortingHandler(), children: /* @__PURE__ */ w("div", { className: "flex space-x-2 items-center", children: [ b.isPlaceholder ? null : ul( b.column.columnDef.header, b.getContext() ), C ? C === "asc" ? /* @__PURE__ */ s(Y2, { className: "w-4 h-4" }) : /* @__PURE__ */ s(Xt, { className: "w-4 h-4" }) : null ] }) }, b.id ); }) }, z.id)) }), /* @__PURE__ */ s(hr, { children: v ? /* @__PURE__ */ s(ka, { table: p }) : (g = p.getRowModel().rows) != null && g.length ? p.getRowModel().rows.map((z) => /* @__PURE__ */ s( gt, { className: o, variant: c, "data-state": z.getIsSelected() && "selected", children: z.getVisibleCells().map((b) => /* @__PURE__ */ s(jt, { children: ul( b.column.columnDef.cell, b.getContext() ) }, b.id)) }, z.id )) : /* @__PURE__ */ s(gt, { children: /* @__PURE__ */ s( jt, { colSpan: e.length, className: "h-24 text-center", children: "No results." } ) }) }) ] }) }), i ? i({ table: p }) : /* @__PURE__ */ s(Sh, { table: p, className: "mt-2" }) ] }); }; function Xe(r) { return typeof r == "string" || r instanceof String; } function fl(r) { var e; return typeof r == "object" && r != null && (r == null || (e = r.constructor) == null ? void 0 : e.name) === "Object"; } function ql(r, e) { return Array.isArray(e) ? ql(r, (t, a) => e.includes(a)) : Object.entries(r).reduce((t, a) => { let [n, i] = a; return e(i, n) && (t[n] = i), t; }, {}); } const S = { NONE: "NONE", LEFT: "LEFT", FORCE_LEFT: "FORCE_LEFT", RIGHT: "RIGHT", FORCE_RIGHT: "FORCE_RIGHT" }; function Ca(r) { switch (r) { case S.LEFT: return S.FORCE_LEFT; case S.RIGHT: return S.FORCE_RIGHT; default: return r; } } function v1(r) { return r.replace(/([.*+?^=!:${}()|[\]/\\])/g, "\\$1"); } function Ut(r, e) { if (e === r) return !0; const t = Array.isArray(e), a = Array.isArray(r); let n; if (t && a) { if (e.length != r.length) return !1; for (n = 0; n < e.length; n++) if (!Ut(e[n], r[n])) return !1; return !0; } if (t != a) return !1; if (e && r && typeof e == "object" && typeof r == "object") { const i = e instanceof Date, c = r instanceof Date; if (i && c) return e.getTime() == r.getTime(); if (i != c) return !1; const o = e instanceof RegExp, v = r instanceof RegExp; if (o && v) return e.toString() == r.toString(); if (o != v) return !1; const p = Object.keys(e); for (n = 0; n < p.length; n++) if (!Object.prototype.hasOwnProperty.call(r, p[n])) return !1; for (n = 0; n < p.length; n++) if (!Ut(r[p[n]], e[p[n]])) return !1; return !0; } else if (e && r && typeof e == "function" && typeof r == "function") return e.toString() === r.toString(); return !1; } class Da { /** Current input value */ /** Current cursor position */ /** Old input value */ /** Old selection */ constructor(e) { for (Object.assign(this, e); this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos); ) --this.oldSelection.start; if (this.insertedCount) for (; this.value.slice(this.cursorPos) !== this.oldValue.slice(this.oldSelection.end); ) this.value.length - this.cursorPos < this.oldValue.length - this.oldSelection.end ? ++this.oldSelection.end : ++this.cursorPos; } /** Start changing position */ get startChangePos() { return Math.min(this.cursorPos, this.oldSelection.start); } /** Inserted symbols count */ get insertedCount() { return this.cursorPos - this.startChangePos; } /** Inserted symbols */ get inserted() { return this.value.substr(this.startChangePos, this.insertedCount); } /** Removed symbols count */ get removedCount() { return Math.max(this.oldSelection.end - this.startChangePos || // for Delete this.oldValue.length - this.value.length, 0); } /** Removed symbols */ get removed() { return this.oldValue.substr(this.startChangePos, this.removedCount); } /** Unchanged head symbols */ get head() { return this.value.substring(0, this.startChangePos); } /** Unchanged tail symbols */ get tail() { return this.value.substring(this.startChangePos + this.insertedCount); } /** Remove direction */ get removeDirection() { return !this.removedCount || this.insertedCount ? S.NONE : (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && // if not range removed (event with backspace) this.oldSelection.end === this.oldSelection.start ? S.RIGHT : S.LEFT; } } function O(r, e) { return new O.InputMask(r, e); } function Zl(r) { if (r == null) throw new Error("mask property should be defined"); return r instanceof RegExp ? O.MaskedRegExp : Xe(r) ? O.MaskedPattern : r === Date ? O.MaskedDate : r === Number ? O.MaskedNumber : Array.isArray(r) || r === Array ? O.MaskedDynamic : O.Masked && r.prototype instanceof O.Masked ? r : O.Masked && r instanceof O.Masked ? r.constructor : r instanceof Function ? O.MaskedFunction : (console.warn("Mask not found for mask", r), O.Masked); } function Ht(r) { if (!r) throw new Error("Options in not defined"); if (O.Masked) { if (r.prototype instanceof O.Masked) return { mask: r }; const { mask: e = void 0, ...t } = r instanceof O.Masked ? { mask: r } : fl(r) && r.mask instanceof O.Masked ? r : {}; if (e) { const a = e.mask; return { ...ql(e, (n, i) => !i.startsWith("_")), mask: e.constructor, _mask: a, ...t }; } } return fl(r) ? { ...r } : { mask: r }; } function qe(r) { if (O.Masked && r instanceof O.Masked) return r; const e = Ht(r), t = Zl(e.mask); if (!t) throw new Error("Masked class is not found for provided mask " + e.mask + ", appropriate module needs to be imported manually before creating mask."); return e.mask === t && delete e.mask, e._mask && (e.mask = e._mask, delete e._mask), new t(e); } O.createMask = qe; class S1 { /** */ /** */ /** */ /** Safely returns selection start */ get selectionStart() { let e; try { e = this._unsafeSelectionStart; } catch { } return e ?? this.value.length; } /** Safely returns selection end */ get selectionEnd() { let e; try { e = this._unsafeSelectionEnd; } catch { } return e ?? this.value.length; } /** Safely sets element selection */ select(e, t) { if (!(e == null || t == null || e === this.selectionStart && t === this.selectionEnd)) try { this._unsafeSelect(e, t); } catch { } } /** */ get isActive() { return !1; } /** */ /** */ /** */ } O.MaskElement = S1; const El = 90, Aa = 89; class e1 extends S1 { /** HTMLElement to use mask on */ constructor(e) { super(), this.input = e, this._onKeydown = this._onKeydown.bind(this), this._onInput = this._onInput.bind(this), this._onBeforeinput = this._onBeforeinput.bind(this), this._onCompositionEnd = this._onCompositionEnd.bind(this); } get rootElement() { var e, t, a; return (e = (t = (a = this.input).getRootNode) == null ? void 0 : t.call(a)) != null ? e : document; } /** Is element in focus */ get isActive() { return this.input === this.rootElement.activeElement; } /** Binds HTMLElement events to mask internal events */ bindEvents(e) { this.input.addEventListener("keydown", this._onKeydown), this.input.addEventListener("input", this._onInput), this.input.addEventListener("beforeinput", this._onBeforeinput), this.input.addEventListener("compositionend", this._onCompositionEnd), this.input.addEventListener("drop", e.drop), this.input.addEventListener("click", e.click), this.input.addEventListener("focus", e.focus), this.input.addEventListener("blur", e.commit), this._handlers = e; } _onKeydown(e) { if (this._handlers.redo && (e.keyCode === El && e.shiftKey && (e.metaKey || e.ctrlKey) || e.keyCode === Aa && e.ctrlKey)) return e.preventDefault(), this._handlers.redo(e); if (this._handlers.undo && e.keyCode === El && (e.metaKey || e.ctrlKey)) return e.preventDefault(), this._handlers.undo(e); e.isComposing || this._handlers.selectionChange(e); } _onBeforeinput(e) { if (e.inputType === "historyUndo" && this._handlers.undo) return e.preventDefault(), this._handlers.undo(e); if (e.inputType === "historyRedo" && this._handlers.redo) return e.preventDefault(), this._handlers.redo(e); } _onCompositionEnd(e) { this._handlers.input(e); } _onInput(e) { e.isComposing || this._handlers.input(e); } /** Unbinds HTMLElement events to mask internal events */ unbindEvents() { this.input.removeEventListener("keydown", this._onKeydown), this.input.removeEventListener("input", this._onInput), this.input.removeEventListener("beforeinput", this._onBeforeinput), this.input.removeEventListener("compositionend", this._onCompositionEnd), this.input.removeEventListener("drop", this._handlers.drop), this.input.removeEventListener("click", this._handlers.click), this.input.removeEventListener("focus", this._handlers.focus), this.input.removeEventListener("blur", this._handlers.commit), this._handlers = {}; } } O.HTMLMaskElement = e1; class _a extends e1 { /** InputElement to use mask on */ constructor(e) { super(e), this.input = e; } /** Returns InputElement selection start */ get _unsafeSelectionStart() { return this.input.selectionStart != null ? this.input.selectionStart : this.value.length; } /** Returns InputElement selection end */ get _unsafeSelectionEnd() { return this.input.selectionEnd; } /** Sets InputElement selection */ _unsafeSelect(e, t) { this.input.setSelectionRange(e, t); } get value() { return this.input.value; } set value(e) { this.input.value = e; } } O.HTMLMaskElement = e1; class Xl extends e1 { /** Returns HTMLElement selection start */ get _unsafeSelectionStart() { const e = this.rootElement, t = e.getSelection && e.getSelection(), a = t && t.anchorOffset, n = t && t.focusOffset; return n == null || a == null || a < n ? a : n; } /** Returns HTMLElement selection end */ get _unsafeSelectionEnd() { const e = this.rootElement, t = e.getSelection && e.getSelection(), a = t && t.anchorOffset, n = t && t.focusOffset; return n == null || a == null || a > n ? a : n; } /** Sets HTMLElement selection */ _unsafeSelect(e, t) { if (!this.rootElement.createRange) return; const a = this.rootElement.createRange(); a.setStart(this.input.firstChild || this.input, e), a.setEnd(this.input.lastChild || this.input, t); const n = this.rootElement, i = n.getSelection && n.getSelection(); i && (i.removeAllRanges(), i.addRange(a)); } /** HTMLElement value */ get value() { return this.input.textContent || ""; } set value(e) { this.input.textContent = e; } } O.HTMLContenteditableMaskElement = Xl; class t1 { constructor() { this.states = [], this.currentIndex = 0; } get currentState() { return this.states[this.currentIndex]; } get isEmpty() { return this.states.length === 0; } push(e) { this.currentIndex < this.states.length - 1 && (this.states.length = this.currentIndex + 1), this.states.push(e), this.states.length > t1.MAX_LENGTH && this.states.shift(), this.currentIndex = this.states.length - 1; } go(e) { return this.currentIndex = Math.min(Math.max(this.currentIndex + e, 0), this.states.length - 1), this.currentState; } undo() { return this.go(-1); } redo() { return this.go(1); } clear() { this.states.length = 0, this.currentIndex = 0; } } t1.MAX_LENGTH = 100; class Ba { /** View element */ /** Internal {@link Masked} model */ constructor(e, t) { this.el = e instanceof S1 ? e : e.isContentEditable && e.tagName !== "INPUT" && e.tagName !== "TEXTAREA" ? new Xl(e) : new _a(e), this.masked = qe(t), this._listeners = {}, this._value = "", this._unmaskedValue = "", this._rawInputValue = "", this.history = new t1(), this._saveSelection = this._saveSelection.bind(this), this._onInput = this._onInput.bind(this), this._onChange = this._onChange.bind(this), this._onDrop = this._onDrop.bind(this), this._onFocus = this._onFocus.bind(this), this._onClick = this._onClick.bind(this), this._onUndo = this._onUndo.bind(this), this._onRedo = this._onRedo.bind(this), this.alignCursor = this.alignCursor.bind(this), this.alignCursorFriendly = this.alignCursorFriendly.bind(this), this._bindEvents(), this.updateValue(), this._onChange(); } maskEquals(e) { var t; return e == null || ((t = this.masked) == null ? void 0 : t.maskEquals(e)); } /** Masked */ get mask() { return this.masked.mask; } set mask(e) { if (this.maskEquals(e)) return; if (!(e instanceof O.Masked) && this.masked.constructor === Zl(e)) { this.masked.updateOptions({ mask: e }); return; } const t = e instanceof O.Masked ? e : qe({ mask: e }); t.unmaskedValue = this.masked.unmaskedValue, this.masked = t; } /** Raw value */ get value() { return this._value; } set value(e) { this.value !== e && (this.masked.value = e, this.updateControl("auto")); } /** Unmasked value */ get unmaskedValue() { return this._unmaskedValue; } set unmaskedValue(e) { this.unmaskedValue !== e && (this.masked.unmaskedValue = e, this.updateControl("auto")); } /** Raw input value */ get rawInputValue() { return this._rawInputValue; } set rawInputValue(e) { this.rawInputValue !== e && (this.masked.rawInputValue = e, this.updateControl(), this.alignCursor()); } /** Typed unmasked value */ get typedValue() { return this.masked.typedValue; } set typedValue(e) { this.masked.typedValueEquals(e) || (this.masked.typedValue = e, this.updateControl("auto")); } /** Display value */ get displayValue() { return this.masked.displayValue; } /** Starts listening to element events */ _bindEvents() { this.el.bindEvents({ selectionChange: this._saveSelection, input: this._onInput, drop: this._onDrop, click: this._onClick, focus: this._onFocus, commit: this._onChange, undo: this._onUndo, redo: this._onRedo }); } /** Stops listening to element events */ _unbindEvents() { this.el && this.el.unbindEvents(); } /** Fires custom event */ _fireEvent(e, t) { const a = this._listeners[e]; a && a.forEach((n) => n(t)); } /** Current selection start */ get selectionStart() { return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart; } /** Current cursor position */ get cursorPos() { return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd; } set cursorPos(e) { !this.el || !this.el.isActive || (this.el.select(e, e), this._saveSelection()); } /** Stores current selection */ _saveSelection() { this.displayValue !== this.el.value && console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."), this._selection = { start: this.selectionStart, end: this.cursorPos }; } /** Syncronizes model value from view */ updateValue() { this.masked.value = this.el.value, this._value = this.masked.value, this._unmaskedValue = this.masked.unmaskedValue, this._rawInputValue = this.masked.rawInputValue; } /** Syncronizes view from model value, fires change events */ updateControl(e) { const t = this.masked.unmaskedValue, a = this.masked.value, n = this.masked.rawInputValue, i = this.displayValue, c = this.unmaskedValue !== t || this.value !== a || this._rawInputValue !== n; this._unmaskedValue = t, this._value = a, this._rawInputValue = n, this.el.value !== i && (this.el.value = i), e === "auto" ? this.alignCursor() : e != null && (this.cursorPos = e), c && this._fireChangeEvents(), !this._historyChanging && (c || this.history.isEmpty) && this.history.push({ unmaskedValue: t, selection: { start: this.selectionStart, end: this.cursorPos } }); } /** Updates options with deep equal check, recreates {@link Masked} model if mask type changes */ updateOptions(e) { const { mask: t, ...a } = e, n = !this.maskEquals(t), i = this.masked.optionsIsChanged(a); n && (this.mask = t), i && this.masked.updateOptions(a), (n || i) && this.updateControl(); } /** Updates cursor */ updateCursor(e) { e != null && (this.cursorPos = e, this._delayUpdateCursor(e)); } /** Delays cursor update to support mobile browsers */ _delayUpdateCursor(e) { this._abortUpdateCursor(), this._changingCursorPos = e, this._cursorChanging = setTimeout(() => { this.el && (this.cursorPos = this._changingCursorPos, this._abortUpdateCursor()); }, 10); } /** Fires custom events */ _fireChangeEvents() { this._fireEvent("accept", this._inputEvent), this.masked.isComplete && this._fireEvent("complete", this._inputEvent); } /** Aborts delayed cursor update */ _abortUpdateCursor() { this._cursorChanging && (clearTimeout(this._cursorChanging), delete this._cursorChanging); } /** Aligns cursor to nearest available position */ alignCursor() { this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, S.LEFT)); } /** Aligns cursor only if selection is empty */ alignCursorFriendly() { this.selectionStart === this.cursorPos && this.alignCursor(); } /** Adds listener on custom event */ on(e, t) { return this._listeners[e] || (this._listeners[e] = []), this._listeners[e].push(t), this; } /** Removes custom event listener */ off(e, t) { if (!this._listeners[e]) return this; if (!t) return delete this._listeners[e], this; const a = this._listeners[e].indexOf(t); return a >= 0 && this._listeners[e].splice(a, 1), this; } /** Handles view input event */ _onInput(e) { this._inputEvent = e, this._abortUpdateCursor(); const t = new Da({ // new state value: this.el.value, cursorPos: this.cursorPos, // old state oldValue: this.displayValue, oldSelection: this._selection }), a = this.masked.rawInputValue, n = this.masked.splice(t.startChangePos, t.removed.length, t.inserted, t.removeDirection, { input: !0, raw: !0 }).offset, i = a === this.masked.rawInputValue ? t.removeDirection : S.NONE; let c = this.masked.nearestInputPos(t.startChangePos + n, i); i !== S.NONE && (c = this.masked.nearestInputPos(c, S.NONE)), this.updateControl(c), delete this._inputEvent; } /** Handles view change event and commits model value */ _onChange() { this.displayValue !== this.el.value && this.updateValue(), this.masked.doCommit(), this.updateControl(), this._saveSelection(); } /** Handles view drop event, prevents by default */ _onDrop(e) { e.preventDefault(), e.stopPropagation(); } /** Restore last selection on focus */ _onFocus(e) { this.alignCursorFriendly(); } /** Restore last selection on focus */ _onClick(e) { this.alignCursorFriendly(); } _onUndo() { this._applyHistoryState(this.history.undo()); } _onRedo() { this._applyHistoryState(this.history.redo()); } _applyHistoryState(e) { e && (this._historyChanging = !0, this.unmaskedValue = e.unmaskedValue, this.el.select(e.selection.start, e.selection.end), this._saveSelection(), this._historyChanging = !1); } /** Unbind view events and removes element reference */ destroy() { this._unbindEvents(), this._listeners.length = 0, delete this.el; } } O.InputMask = Ba; class W { /** Inserted symbols */ /** Additional offset if any changes occurred before tail */ /** Raw inserted is used by dynamic mask */ /** Can skip chars */ static normalize(e) { return Array.isArray(e) ? e : [e, new W()]; } constructor(e) { Object.assign(this, { inserted: "", rawInserted: "", tailShift: 0, skip: !1 }, e); } /** Aggregate changes */ aggregate(e) { return this.inserted += e.inserted, this.rawInserted += e.rawInserted, this.tailShift += e.tailShift, this.skip = this.skip || e.skip, this; } /** Total offset considering all changes */ get offset() { return this.tailShift + this.inserted.length; } get consumed() { return !!this.rawInserted || this.skip; } equals(e) { return this.inserted === e.inserted && this.tailShift === e.tailShift && this.rawInserted === e.rawInserted && this.skip === e.skip; } } O.ChangeDetails = W; class We { /** Tail value as string */ /** Tail start position */ /** Start position */ constructor(e, t, a) { e === void 0 && (e = ""), t === void 0 && (t = 0), this.value = e, this.from = t, this.stop = a; } toString() { return this.value; } extend(e) { this.value += String(e); } appendTo(e) { return e.append(this.toString(), { tail: !0 }).aggregate(e._appendPlaceholder()); } get state() { return { value: this.value, from: this.from, stop: this.stop }; } set state(e) { Object.assign(this, e); } unshift(e) { if (!this.value.length || e != null && this.from >= e) return ""; const t = this.value[0]; return this.value = this.value.slice(1), t; } shift() { if (!this.value.length) return ""; const e = this.value[this.value.length - 1]; return this.value = this.value.slice(0, -1), e; } } class Me { /** */ /** */ /** Transforms value before mask processing */ /** Transforms each char before mask processing */ /** Validates if value is acceptable */ /** Does additional processing at the end of editing */ /** Format typed value to string */ /** Parse string to get typed value */ /** Enable characters overwriting */ /** */ /** */ /** */ /** */ constructor(e) { this._value = "", this._update({ ...Me.DEFAULTS, ...e }), this._initialized = !0; } /** Sets and applies new options */ updateOptions(e) { this.optionsIsChanged(e) && this.withValueRefresh(this._update.bind(this, e)); } /** Sets new options */ _update(e) { Object.assign(this, e); } /** Mask state */ get state() { return { _value: this.value, _rawInputValue: this.rawInputValue }; } set state(e) { this._value = e._value; } /** Resets value */ reset() { this._value = ""; } get value() { return this._value; } set value(e) { this.resolve(e, { input: !0 }); } /** Resolve new value */ resolve(e, t) { t === void 0 && (t = { input: !0 }), this.reset(), this.append(e, t, ""), this.doCommit(); } get unmaskedValue() { return this.value; } set unmaskedValue(e) { this.resolve(e, {}); } get typedValue() { return this.parse ? this.parse(this.value, this) : this.unmaskedValue; } set typedValue(e) { this.format ? this.value = this.format(e, this) : this.unmaskedValue = String(e); } /** Value that includes raw user input */ get rawInputValue() { return this.extractInput(0, this.displayValue.length, { raw: !0 }); } set rawInputValue(e) { this.resolve(e, { raw: !0 }); } get displayValue() { return this.value; } get isComplete() { return !0; } get isFilled() { return this.isComplete; } /** Finds nearest input position in direction */ nearestInputPos(e, t) { return e; } totalInputPositions(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this.displayValue.length), Math.min(this.displayValue.length, t - e); } /** Extracts value in range considering flags */ extractInput(e, t, a) { return e === void 0 && (e = 0), t === void 0 && (t = this.displayValue.length), this.displayValue.slice(e, t); } /** Extracts tail in range */ extractTail(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this.displayValue.length), new We(this.extractInput(e, t), e); } /** Appends tail */ appendTail(e) { return Xe(e) && (e = new We(String(e))), e.appendTo(this); } /** Appends char */ _appendCharRaw(e, t) { return e ? (this._value += e, new W({ inserted: e, rawInserted: e })) : new W(); } /** Appends char */ _appendChar(e, t, a) { t === void 0 && (t = {}); const n = this.state; let i; if ([e, i] = this.doPrepareChar(e, t), e && (i = i.aggregate(this._appendCharRaw(e, t)), !i.rawInserted && this.autofix === "pad")) { const c = this.state; this.state = n; let o = this.pad(t); const v = this._appendCharRaw(e, t); o = o.aggregate(v), v.rawInserted || o.equals(i) ? i = o : this.state = c; } if (i.inserted) { let c, o = this.doValidate(t) !== !1; if (o && a != null) { const v = this.state; if (this.overwrite === !0) { c = a.state; for (let g = 0; g < i.rawInserted.length; ++g) a.unshift(this.displayValue.length - i.tailShift); } let p = this.appendTail(a); if (o = p.rawInserted.length === a.toString().length, !(o && p.inserted) && this.overwrite === "shift") { this.state = v, c = a.state; for (let g = 0; g < i.rawInserted.length; ++g) a.shift(); p = this.appendTail(a), o = p.rawInserted.length === a.toString().length; } o && p.inserted && (this.state = v); } o || (i = new W(), this.state = n, a && c && (a.state = c)); } return i; } /** Appends optional placeholder at the end */ _appendPlaceholder() { return new W(); } /** Appends optional eager placeholder at the end */ _appendEager() { return new W(); } /** Appends symbols considering flags */ append(e, t, a) { if (!Xe(e)) throw new Error("value should be string"); const n = Xe(a) ? new We(String(a)) : a; t != null && t.tail && (t._beforeTailState = this.state); let i; [e, i] = this.doPrepare(e, t); for (let c = 0; c < e.length; ++c) { const o = this._appendChar(e[c], t, n); if (!o.rawInserted && !this.doSkipInvalid(e[c], t, n)) break; i.aggregate(o); } return (this.eager === !0 || this.eager === "append") && t != null && t.input && e && i.aggregate(this._appendEager()), n != null && (i.tailShift += this.appendTail(n).tailShift), i; } remove(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this.displayValue.length), this._value = this.displayValue.slice(0, e) + this.displayValue.slice(t), new W(); } /** Calls function and reapplies current value */ withValueRefresh(e) { if (this._refreshing || !this._initialized) return e(); this._refreshing = !0; const t = this.rawInputValue, a = this.value, n = e(); return this.rawInputValue = t, this.value && this.value !== a && a.indexOf(this.value) === 0 && (this.append(a.slice(this.displayValue.length), {}, ""), this.doCommit()), delete this._refreshing, n; } runIsolated(e) { if (this._isolated || !this._initialized) return e(this); this._isolated = !0; const t = this.state, a = e(this); return this.state = t, delete this._isolated, a; } doSkipInvalid(e, t, a) { return !!this.skipInvalid; } /** Prepares string before mask processing */ doPrepare(e, t) { return t === void 0 && (t = {}), W.normalize(this.prepare ? this.prepare(e, this, t) : e); } /** Prepares each char before mask processing */ doPrepareChar(e, t) { return t === void 0 && (t = {}), W.normalize(this.prepareChar ? this.prepareChar(e, this, t) : e); } /** Validates if value is acceptable */ doValidate(e) { return (!this.validate || this.validate(this.value, this, e)) && (!this.parent || this.parent.doValidate(e)); } /** Does additional processing at the end of editing */ doCommit() { this.commit && this.commit(this.value, this); } splice(e, t, a, n, i) { a === void 0 && (a = ""), n === void 0 && (n = S.NONE), i === void 0 && (i = { input: !0 }); const c = e + t, o = this.extractTail(c), v = this.eager === !0 || this.eager === "remove"; let p; v && (n = Ca(n), p = this.extractInput(0, c, { raw: !0 })); let g = e; const z = new W(); if (n !== S.NONE && (g = this.nearestInputPos(e, t > 1 && e !== 0 && !v ? S.NONE : n), z.tailShift = g - e), z.aggregate(this.remove(g)), v && n !== S.NONE && p === this.rawInputValue) if (n === S.FORCE_LEFT) { let b; for (; p === this.rawInputValue && (b = this.displayValue.length); ) z.aggregate(new W({ tailShift: -1 })).aggregate(this.remove(b - 1)); } else n === S.FORCE_RIGHT && o.unshift(); return z.aggregate(this.append(a, i, o)); } maskEquals(e) { return this.mask === e; } optionsIsChanged(e) { return !Ut(this, e); } typedValueEquals(e) { const t = this.typedValue; return e === t || Me.EMPTY_VALUES.includes(e) && Me.EMPTY_VALUES.includes(t) || (this.format ? this.format(e, this) === this.format(this.typedValue, this) : !1); } pad(e) { return new W(); } } Me.DEFAULTS = { skipInvalid: !0 }; Me.EMPTY_VALUES = [void 0, null, ""]; O.Masked = Me; class rt { /** */ constructor(e, t) { e === void 0 && (e = []), t === void 0 && (t = 0), this.chunks = e, this.from = t; } toString() { return this.chunks.map(String).join(""); } extend(e) { if (!String(e)) return; e = Xe(e) ? new We(String(e)) : e; const t = this.chunks[this.chunks.length - 1], a = t && // if stops are same or tail has no stop (t.stop === e.stop || e.stop == null) && // if tail chunk goes just after last chunk e.from === t.from + t.toString().length; if (e instanceof We) a ? t.extend(e.toString()) : this.chunks.push(e); else if (e instanceof rt) { if (e.stop == null) { let n; for (; e.chunks.length && e.chunks[0].stop == null; ) n = e.chunks.shift(), n.from += e.from, this.extend(n); } e.toString() && (e.stop = e.blockIndex, this.chunks.push(e)); } } appendTo(e) { if (!(e instanceof O.MaskedPattern)) return new We(this.toString()).appendTo(e); const t = new W(); for (let a = 0; a < this.chunks.length; ++a) { const n = this.chunks[a], i = e._mapPosToBlock(e.displayValue.length), c = n.stop; let o; if (c != null && // if block not found or stop is behind lastBlock (!i || i.index <= c) && ((n instanceof rt || // for continuous block also check if stop is exist e._stops.indexOf(c) >= 0) && t.aggregate(e._appendPlaceholder(c)), o = n instanceof rt && e._blocks[c]), o) { const v = o.appendTail(n); t.aggregate(v); const p = n.toString().slice(v.rawInserted.length); p && t.aggregate(e.append(p, { tail: !0 })); } else t.aggregate(e.append(n.toString(), { tail: !0 })); } return t; } get state() { return { chunks: this.chunks.map((e) => e.state), from: this.from, stop: this.stop, blockIndex: this.blockIndex }; } set state(e) { const { chunks: t, ...a } = e; Object.assign(this, a), this.chunks = t.map((n) => { const i = "chunks" in n ? new rt() : new We(); return i.state = n, i; }); } unshift(e) { if (!this.chunks.length || e != null && this.from >= e) return ""; const t = e != null ? e - this.from : e; let a = 0; for (; a < this.chunks.length; ) { const n = this.chunks[a], i = n.unshift(t); if (n.toString()) { if (!i) break; ++a; } else this.chunks.splice(a, 1); if (i) return i; } return ""; } shift() { if (!this.chunks.length) return ""; let e = this.chunks.length - 1; for (; 0 <= e; ) { const t = this.chunks[e], a = t.shift(); if (t.toString()) { if (!a) break; --e; } else this.chunks.splice(e, 1); if (a) return a; } return ""; } } class Va { constructor(e, t) { this.masked = e, this._log = []; const { offset: a, index: n } = e._mapPosToBlock(t) || (t < 0 ? ( // first { index: 0, offset: 0 } ) : ( // last { index: this.masked._blocks.length, offset: 0 } )); this.offset = a, this.index = n, this.ok = !1; } get block() { return this.masked._blocks[this.index]; } get pos() { return this.masked._blockStartPos(this.index) + this.offset; } get state() { return { index: this.index, offset: this.offset, ok: this.ok }; } set state(e) { Object.assign(this, e); } pushState() { this._log.push(this.state); } popState() { const e = this._log.pop(); return e && (this.state = e), e; } bindBlock() { this.block || (this.index < 0 && (this.index = 0, this.offset = 0), this.index >= this.masked._blocks.length && (this.index = this.masked._blocks.length - 1, this.offset = this.block.displayValue.length)); } _pushLeft(e) { for (this.pushState(), this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((t = this.block) == null ? void 0 : t.displayValue.length) || 0) { var t; if (e()) return this.ok = !0; } return this.ok = !1; } _pushRight(e) { for (this.pushState(), this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) if (e()) return this.ok = !0; return this.ok = !1; } pushLeftBeforeFilled() { return this._pushLeft(() => { if (!(this.block.isFixed || !this.block.value) && (this.offset = this.block.nearestInputPos(this.offset, S.FORCE_LEFT), this.offset !== 0)) return !0; }); } pushLeftBeforeInput() { return this._pushLeft(() => { if (!this.block.isFixed) return this.offset = this.block.nearestInputPos(this.offset, S.LEFT), !0; }); } pushLeftBeforeRequired() { return this._pushLeft(() => { if (!(this.block.isFixed || this.block.isOptional && !this.block.value)) return this.offset = this.block.nearestInputPos(this.offset, S.LEFT), !0; }); } pushRightBeforeFilled() { return this._pushRight(() => { if (!(this.block.isFixed || !this.block.value) && (this.offset = this.block.nearestInputPos(this.offset, S.FORCE_RIGHT), this.offset !== this.block.value.length)) return !0; }); } pushRightBeforeInput() { return this._pushRight(() => { if (!this.block.isFixed) return this.offset = this.block.nearestInputPos(this.offset, S.NONE), !0; }); } pushRightBeforeRequired() { return this._pushRight(() => { if (!(this.block.isFixed || this.block.isOptional && !this.block.value)) return this.offset = this.block.nearestInputPos(this.offset, S.NONE), !0; }); } } class Jl { /** */ /** */ /** */ /** */ /** */ /** */ constructor(e) { Object.assign(this, e), this._value = "", this.isFixed = !0; } get value() { return this._value; } get unmaskedValue() { return this.isUnmasking ? this.value : ""; } get rawInputValue() { return this._isRawInput ? this.value : ""; } get displayValue() { return this.value; } reset() { this._isRawInput = !1, this._value = ""; } remove(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this._value.length), this._value = this._value.slice(0, e) + this._value.slice(t), this._value || (this._isRawInput = !1), new W(); } nearestInputPos(e, t) { t === void 0 && (t = S.NONE); const a = 0, n = this._value.length; switch (t) { case S.LEFT: case S.FORCE_LEFT: return a; case S.NONE: case S.RIGHT: case S.FORCE_RIGHT: default: return n; } } totalInputPositions(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this._value.length), this._isRawInput ? t - e : 0; } extractInput(e, t, a) { return e === void 0 && (e = 0), t === void 0 && (t = this._value.length), a === void 0 && (a = {}), a.raw && this._isRawInput && this._value.slice(e, t) || ""; } get isComplete() { return !0; } get isFilled() { return !!this._value; } _appendChar(e, t) { if (t === void 0 && (t = {}), this.isFilled) return new W(); const a = this.eager === !0 || this.eager === "append", i = this.char === e && (this.isUnmasking || t.input || t.raw) && (!t.raw || !a) && !t.tail, c = new W({ inserted: this.char, rawInserted: i ? this.char : "" }); return this._value = this.char, this._isRawInput = i && (t.raw || t.input), c; } _appendEager() { return this._appendChar(this.char, { tail: !0 }); } _appendPlaceholder() { const e = new W(); return this.isFilled || (this._value = e.inserted = this.char), e; } extractTail() { return new We(""); } appendTail(e) { return Xe(e) && (e = new We(String(e))), e.appendTo(this); } append(e, t, a) { const n = this._appendChar(e[0], t); return a != null && (n.tailShift += this.appendTail(a).tailShift), n; } doCommit() { } get state() { return { _value: this._value, _rawInputValue: this.rawInputValue }; } set state(e) { this._value = e._value, this._isRawInput = !!e._rawInputValue; } pad(e) { return this._appendPlaceholder(); } } class Gt { /** */ /** */ /** */ /** */ /** */ /** */ /** */ /** */ constructor(e) { const { parent: t, isOptional: a, placeholderChar: n, displayChar: i, lazy: c, eager: o, ...v } = e; this.masked = qe(v), Object.assign(this, { parent: t, isOptional: a, placeholderChar: n, displayChar: i, lazy: c, eager: o }); } reset() { this.isFilled = !1, this.masked.reset(); } remove(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this.value.length), e === 0 && t >= 1 ? (this.isFilled = !1, this.masked.remove(e, t)) : new W(); } get value() { return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : ""); } get unmaskedValue() { return this.masked.unmaskedValue; } get rawInputValue() { return this.masked.rawInputValue; } get displayValue() { return this.masked.value && this.displayChar || this.value; } get isComplete() { return !!this.masked.value || this.isOptional; } _appendChar(e, t) { if (t === void 0 && (t = {}), this.isFilled) return new W(); const a = this.masked.state; let n = this.masked._appendChar(e, this.currentMaskFlags(t)); return n.inserted && this.doValidate(t) === !1 && (n = new W(), this.masked.state = a), !n.inserted && !this.isOptional && !this.lazy && !t.input && (n.inserted = this.placeholderChar), n.skip = !n.inserted && !this.isOptional, this.isFilled = !!n.inserted, n; } append(e, t, a) { return this.masked.append(e, this.currentMaskFlags(t), a); } _appendPlaceholder() { return this.isFilled || this.isOptional ? new W() : (this.isFilled = !0, new W({ inserted: this.placeholderChar })); } _appendEager() { return new W(); } extractTail(e, t) { return this.masked.extractTail(e, t); } appendTail(e) { return this.masked.appendTail(e); } extractInput(e, t, a) { return e === void 0 && (e = 0), t === void 0 && (t = this.value.length), this.masked.extractInput(e, t, a); } nearestInputPos(e, t) { t === void 0 && (t = S.NONE); const a = 0, n = this.value.length, i = Math.min(Math.max(e, a), n); switch (t) { case S.LEFT: case S.FORCE_LEFT: return this.isComplete ? i : a; case S.RIGHT: case S.FORCE_RIGHT: return this.isComplete ? i : n; case S.NONE: default: return i; } } totalInputPositions(e, t) { return e === void 0 && (e = 0), t === void 0 && (t = this.value.length), this.value.slice(e, t).length; } doValidate(e) { return this.masked.doValidate(this.currentMaskFlags(e)) && (!this.parent || this.parent.doValidate(this.currentMaskFlags(e))); } doCommit() { this.masked.doCommit(); } get state() { return { _value: this.value, _rawInputValue: this.rawInputValue, masked: this.masked.state, isFilled: this.isFilled }; } set state(e) { this.masked.state = e.masked, this.isFilled = e.isFilled; } currentMaskFlags(e) { var t; return { ...e, _beforeTailState: (e == null || (t = e._beforeTailState) == null ? void 0 : t.masked) || (e == null ? void 0 : e._beforeTailState) }; } pad(e) { return new W(); } } Gt.DEFAULT_DEFINITIONS = { 0: /\d/, a: /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, // http://stackoverflow.com/a/22075070 "*": /./ }; class Na extends Me { /** */ /** Enable characters overwriting */ /** */ /** */ /** */ updateOptions(e) { super.updateOptions(e); } _update(e) { const t = e.mask; t && (e.validate = (a) => a.sea