UNPKG

react-datepicker-jalali

Version:

A React component for selecting dates in the Jalali calendar.

1 lines 98.6 kB
{"version":3,"file":"index.mjs","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/locale/fa.js","../node_modules/jalali-plugin-dayjs/dist/jalaliday.esm.js","../src/options/click-outside.tsx","../src/components/Dialog.tsx","../src/components/Popper.tsx","../src/modes/DatePickerMode.tsx","../src/modes/YearPickerMode.tsx","../src/modes/MonthPickerMode.tsx","../src/index.tsx","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";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(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(_,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],e):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_fa=e(_.dayjs)}(this,(function(_){\"use strict\";function e(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var t=e(_),d={name:\"fa\",weekdays:\"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه\".split(\"_\"),weekdaysShort:\"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه\".split(\"_\"),weekdaysMin:\"ی_د_س_چ_پ_ج_ش\".split(\"_\"),weekStart:6,months:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),monthsShort:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),ordinal:function(_){return _},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},relativeTime:{future:\"در %s\",past:\"%s پیش\",s:\"چند ثانیه\",m:\"یک دقیقه\",mm:\"%d دقیقه\",h:\"یک ساعت\",hh:\"%d ساعت\",d:\"یک روز\",dd:\"%d روز\",M:\"یک ماه\",MM:\"%d ماه\",y:\"یک سال\",yy:\"%d سال\"}};return t.default.locale(d,null,!0),d}));","import fa$1 from 'dayjs/locale/fa';\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n/* eslint-disable */\nfunction gregorianToJulian(year, month, day) {\n if (month <= 2) {\n year -= 1;\n month += 12;\n }\n\n var A = Math.floor(year / 100);\n var B = 2 - A + Math.floor(A / 4);\n var JD = Math.floor(365.25 * (year + 4716)) + Math.floor(30.6001 * (month + 1)) + day + B - 1524.5;\n return JD;\n}\n\nfunction julianToPersian(jd) {\n jd = jd + 0.5;\n var Z = Math.floor(jd);\n var F = jd - Z;\n var A = Z;\n\n if (Z >= 2299161) {\n var alpha = Math.floor((Z - 1867216.25) / 36524.25);\n A = Z + 1 + alpha - Math.floor(alpha / 4);\n }\n\n var B = A + 1524;\n var C = Math.floor((B - 122.1) / 365.25);\n var D = Math.floor(365.25 * C);\n var E = Math.floor((B - D) / 30.6001);\n var day = B - D - Math.floor(30.6001 * E) + F;\n var month = E < 14 ? E - 1 : E - 13;\n var year = month > 2 ? C - 4716 : C - 4715;\n return gregorianToJalali(year, month, day);\n}\n\nfunction julianToGregorian(jd) {\n jd = jd + 0.5;\n var Z = Math.floor(jd);\n var F = jd - Z;\n var A = Z;\n\n if (Z >= 2299161) {\n var alpha = Math.floor((Z - 1867216.25) / 36524.25);\n A = Z + 1 + alpha - Math.floor(alpha / 4);\n }\n\n var B = A + 1524;\n var C = Math.floor((B - 122.1) / 365.25);\n var D = Math.floor(365.25 * C);\n var E = Math.floor((B - D) / 30.6001);\n var day = B - D - Math.floor(30.6001 * E) + F;\n var month = E < 14 ? E - 1 : E - 13;\n var year = month > 2 ? C - 4716 : C - 4715;\n return [Math.floor(year), Math.floor(month), Math.floor(day)];\n}\n\nfunction persianToJulian(jy, jm, jd) {\n var g_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n var j_days_in_month = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29];\n\n function div(a, b) {\n return Math.floor(a / b);\n }\n\n jy -= 979;\n var j_day_no = 365 * jy + div(jy, 33) * 8 + div(jy % 33 + 3, 4);\n\n for (var i = 0; i < jm - 1; ++i) {\n j_day_no += j_days_in_month[i];\n }\n\n j_day_no += jd - 1;\n var g_day_no = j_day_no + 79;\n var gy = 1600 + 400 * div(g_day_no, 146097);\n g_day_no = g_day_no % 146097;\n var leap = true;\n\n if (g_day_no >= 36525) {\n g_day_no--;\n gy += 100 * div(g_day_no, 36524);\n g_day_no = g_day_no % 36524;\n\n if (g_day_no >= 365) {\n g_day_no++;\n } else {\n leap = false;\n }\n }\n\n gy += 4 * div(g_day_no, 1461);\n g_day_no %= 1461;\n\n if (g_day_no >= 366) {\n leap = false;\n g_day_no--;\n gy += div(g_day_no, 365);\n g_day_no = g_day_no % 365;\n }\n\n for (i = 0; g_day_no >= g_days_in_month[i] + (i == 1 && leap); i++) {\n g_day_no -= g_days_in_month[i] + (i == 1 && leap);\n }\n\n var gm = i + 1;\n var gd = g_day_no + 1;\n return gregorianToJulian(gy, gm, gd);\n}\n\nfunction gregorianToJalali(gYear, gMonth, gDay) {\n var g_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n var j_days_in_month = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29];\n\n function div(a, b) {\n return Math.floor(a / b);\n }\n\n var gy = gYear - 1600;\n var gm = gMonth - 1;\n var gd = gDay - 1;\n var g_day_no = 365 * gy + div(gy + 3, 4) - div(gy + 99, 100) + div(gy + 399, 400);\n\n for (var i = 0; i < gm; ++i) {\n g_day_no += g_days_in_month[i];\n }\n\n if (gm > 1 && (gYear % 4 == 0 && gYear % 100 != 0 || gYear % 400 == 0)) g_day_no++;\n g_day_no += gd;\n var j_day_no = g_day_no - 79;\n var j_np = div(j_day_no, 12053);\n j_day_no %= 12053;\n var jy = 979 + 33 * j_np + 4 * div(j_day_no, 1461);\n j_day_no %= 1461;\n\n if (j_day_no >= 366) {\n jy += div(j_day_no - 1, 365);\n j_day_no = (j_day_no - 1) % 365;\n }\n\n for (var j = 0; j < 11 && j_day_no >= j_days_in_month[j]; ++j) {\n j_day_no -= j_days_in_month[j];\n }\n\n var jm = j + 1;\n var jd = j_day_no + 1;\n return [jy, jm, jd];\n}\n\nvar jdate = {\n J: function J(y, m, d) {\n return julianToPersian(gregorianToJulian(y, m, d));\n },\n G: function G(y, m, d) {\n return julianToGregorian(persianToJulian(y, m, d));\n }\n};\n\nvar REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})[-/]?(\\d{0,2})(.*)?$/;\nvar REGEX_FORMAT = /\\[.*?\\]|jY{2,4}|jM{1,4}|jD{1,2}|Y{2,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;\nvar DATE = 'date';\nvar D = 'day';\nvar M = 'month';\nvar Y = 'year';\nvar W = 'week';\nvar FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ssZ';\nvar fa = {\n jmonths: 'فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند'.split('_')\n};\n\nvar plugin = (function (o, Dayjs, dayjs) {\n var proto = Dayjs.prototype;\n var U = proto.$utils();\n\n var $isJalali = function $isJalali(v) {\n return v.$C === 'jalali';\n };\n\n var $prettyUnit = U.prettyUnit || U.p;\n var $isUndefined = U.isUndefined || U.u;\n var $padStart = U.padStart || U.s;\n var $monthDiff = U.monthDiff || U.m;\n var $absFloor = U.absFloor || U.a;\n\n var wrapperOfTruth = function wrapperOfTruth(action) {\n return function () {\n var unsure = action.bind(this).apply(void 0, arguments);\n unsure.$C = this.$C;\n\n if (unsure.isJalali()) {\n unsure.InitJalali();\n }\n\n return unsure;\n };\n }; // keep calendar on date manipulation\n\n\n proto.startOf = wrapperOfTruth(proto.startOf);\n proto.endOf = wrapperOfTruth(proto.endOf);\n proto.add = wrapperOfTruth(proto.add);\n proto.subtract = wrapperOfTruth(proto.subtract);\n proto.set = wrapperOfTruth(proto.set);\n var oldParse = proto.parse;\n var oldInit = proto.init;\n var oldStartOf = proto.startOf;\n var old$Set = proto.$set;\n var oldAdd = proto.add;\n var oldFormat = proto.format;\n var oldDiff = proto.diff;\n var oldYear = proto.year;\n var oldMonth = proto.month;\n var oldDate = proto.date;\n var oldDaysInMonth = proto.daysInMonth;\n var oldToArray = proto.toArray;\n dayjs.$C = 'gregory'; // First Day Of Week\n\n dayjs.$fdow = 6; // 0: sunday, ...\n\n dayjs.calendar = function (calendar) {\n dayjs.$C = calendar;\n return dayjs;\n };\n\n proto.calendar = function (calendar) {\n var that = this.clone();\n that.$C = calendar;\n\n if (that.isJalali()) {\n that.InitJalali();\n }\n\n return that;\n };\n\n proto.isJalali = function () {\n return $isJalali(this);\n };\n\n dayjs.en.jmonths = 'Farvardin_Ordibehesht_Khordaad_Tir_Mordaad_Shahrivar_Mehr_Aabaan_Aazar_Dey_Bahman_Esfand'.split('_');\n dayjs.locale('fa', Object.assign({}, fa$1, {}, fa), true);\n\n var wrapper = function wrapper(date, instance) {\n return dayjs(date, {\n locale: instance.$L,\n utc: instance.$u,\n calendar: instance.$C\n });\n };\n\n proto.init = function () {\n var cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n oldInit.bind(this)(cfg);\n\n if (this.isJalali()) {\n this.InitJalali();\n }\n };\n\n proto.parse = function (cfg) {\n var reg;\n this.$C = cfg.calendar || this.$C || dayjs.$C; // eslint-disable-next-line no-cond-assign\n\n if (cfg.jalali && typeof cfg.date === 'string' && /.*[^Z]$/i.test(cfg.date) // looking for a better way\n && (reg = cfg.date.match(REGEX_PARSE))) {\n // 1397-08-08 or 13970808\n var _jdate$G = jdate.G(parseInt(reg[1], 10), parseInt(reg[2], 10), parseInt(reg[3] || 1, 10)),\n _jdate$G2 = _slicedToArray(_jdate$G, 3),\n y = _jdate$G2[0],\n m = _jdate$G2[1],\n d = _jdate$G2[2];\n\n cfg.date = \"\".concat(y, \"-\").concat(m, \"-\").concat(d).concat(reg[4] || '');\n }\n\n return oldParse.bind(this)(cfg);\n };\n\n proto.InitJalali = function () {\n var _jdate$J = jdate.J(this.$y, this.$M + 1, this.$D),\n _jdate$J2 = _slicedToArray(_jdate$J, 3),\n jy = _jdate$J2[0],\n jm = _jdate$J2[1],\n jd = _jdate$J2[2];\n\n this.$jy = jy;\n this.$jM = jm - 1;\n this.$jD = jd;\n };\n\n proto.startOf = function (units, startOf) {\n var _this = this;\n\n // startOf -> endOf\n if (!$isJalali(this)) {\n return oldStartOf.bind(this)(units, startOf);\n }\n\n var isStartOf = !$isUndefined(startOf) ? startOf : true;\n var unit = $prettyUnit(units);\n\n var instanceFactory = function instanceFactory(d, m) {\n var y = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _this.$jy;\n\n var _jdate$G3 = jdate.G(y, m + 1, d),\n _jdate$G4 = _slicedToArray(_jdate$G3, 3),\n gy = _jdate$G4[0],\n gm = _jdate$G4[1],\n gd = _jdate$G4[2];\n\n var ins = wrapper(new Date(gy, gm - 1, gd), _this);\n return (isStartOf ? ins : ins.endOf(D)).$set('hour', 1); // prevent daylight saving issue in safari\n };\n\n var WModifier = (this.$W + (7 - dayjs.$fdow)) % 7;\n\n switch (unit) {\n case Y:\n return isStartOf ? instanceFactory(1, 0) : instanceFactory(0, 0, this.$jy + 1);\n\n case M:\n return isStartOf ? instanceFactory(1, this.$jM) : instanceFactory(0, (this.$jM + 1) % 12, this.$jy + parseInt((this.$jM + 1) / 12, 10));\n\n case W:\n return isStartOf ? instanceFactory(this.$jD - WModifier, this.$jM) : instanceFactory(this.$jD + (6 - WModifier), this.$jM);\n\n default:\n return oldStartOf.bind(this)(units, startOf);\n }\n };\n\n proto.$set = function (units, _int) {\n var _this2 = this;\n\n if (!$isJalali(this)) {\n return old$Set.bind(this)(units, _int);\n }\n\n var unit = $prettyUnit(units);\n\n var instanceFactory = function instanceFactory(d, m) {\n var y = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _this2.$jy;\n\n var _jdate$G5 = jdate.G(y, m + 1, d),\n _jdate$G6 = _slicedToArray(_jdate$G5, 3),\n gy = _jdate$G6[0],\n gm = _jdate$G6[1],\n gd = _jdate$G6[2];\n\n _this2.$d.setFullYear(gy);\n\n _this2.$d.setMonth(gm - 1);\n\n _this2.$d.setDate(gd);\n\n return _this2;\n };\n\n switch (unit) {\n case DATE:\n case D:\n instanceFactory(_int, this.$jM);\n break;\n\n case M:\n instanceFactory(this.$jD, _int);\n break;\n\n case Y:\n instanceFactory(this.$jD, this.$jM, _int);\n break;\n\n default:\n return old$Set.bind(this)(units, _int);\n }\n\n this.init();\n return this;\n };\n\n proto.add = function (number, units) {\n var _this3 = this;\n\n if (!$isJalali(this)) {\n return oldAdd.bind(this)(number, units);\n }\n\n number = Number(number); // eslint-disable-line no-param-reassign\n // units === 'ms' hard code here, will update in next release\n\n var unit = units && (units.length === 1 || units === 'ms') ? units : $prettyUnit(units);\n\n var instanceFactory = function instanceFactory(u, n) {\n var date = _this3.set(DATE, 1).set(u, n + number);\n\n return date.set(DATE, Math.min(_this3.$jD, date.daysInMonth()));\n };\n\n if (['M', M].indexOf(unit) > -1) {\n var n = this.$jM + number;\n var y = n < 0 ? -Math.ceil(-n / 12) : Math.floor(n / 12);\n var d = this.$jD;\n var x = this.set(D, 1).add(y, Y).set(M, n - y * 12);\n return x.set(D, Math.min(x.daysInMonth(), d));\n }\n\n if (['y', Y].indexOf(unit) > -1) {\n return instanceFactory(Y, this.$jy);\n }\n\n if (['d', D].indexOf(unit) > -1) {\n var date = new Date(this.$d);\n date.setDate(date.getDate() + number);\n return wrapper(date, this);\n }\n\n if (['w', W].indexOf(unit) > -1) {\n var _date = new Date(this.$d);\n\n _date.setDate(_date.getDate() + number * 7);\n\n return wrapper(_date, this);\n }\n\n return oldAdd.bind(this)(number, units);\n };\n\n proto.format = function (formatStr, localeObject) {\n var _this4 = this;\n\n if (!$isJalali(this)) {\n return oldFormat.bind(this)(formatStr, localeObject);\n }\n\n var str = formatStr || FORMAT_DEFAULT;\n var locale = localeObject || this.$locale();\n var jmonths = locale.jmonths;\n return str.replace(REGEX_FORMAT, function (match) {\n if (match.indexOf('[') > -1) return match.replace(/\\[|\\]/g, '');\n\n switch (match) {\n case 'YY':\n return String(_this4.$jy).slice(-2);\n\n case 'YYYY':\n return String(_this4.$jy);\n\n case 'M':\n return String(_this4.$jM + 1);\n\n case 'MM':\n return $padStart(_this4.$jM + 1, 2, '0');\n\n case 'MMM':\n return jmonths[_this4.$jM].slice(0, 3);\n\n case 'MMMM':\n return jmonths[_this4.$jM];\n\n case 'D':\n return String(_this4.$jD);\n\n case 'DD':\n return $padStart(_this4.$jD, 2, '0');\n\n default:\n return oldFormat.bind(_this4)(match, localeObject);\n }\n });\n };\n\n proto.diff = function (input, units, _float) {\n if (!$isJalali(this)) {\n return oldDiff.bind(this)(input, units, _float);\n }\n\n var unit = $prettyUnit(units);\n var that = dayjs(input);\n var result = $monthDiff(this, that);\n\n switch (unit) {\n case Y:\n result /= 12;\n break;\n\n case M:\n break;\n\n default:\n // milliseconds\n return oldDiff.bind(this)(input, units, _float);\n }\n\n return _float ? result : $absFloor(result);\n };\n\n proto.$g = function (input, get, set) {\n if ($isUndefined(input)) return this[get];\n return this.set(set, input);\n };\n\n proto.year = function (input) {\n if (!$isJalali(this)) {\n return oldYear.bind(this)(input);\n }\n\n return this.$g(input, '$jy', Y);\n };\n\n proto.month = function (input) {\n if (!$isJalali(this)) {\n return oldMonth.bind(this)(input);\n }\n\n return this.$g(input, '$jM', M);\n };\n\n proto.date = function (input) {\n if (!$isJalali(this)) {\n return oldDate.bind(this)(input);\n }\n\n return this.$g(input, '$jD', D);\n };\n\n proto.daysInMonth = function () {\n if (!$isJalali(this)) {\n return oldDaysInMonth.bind(this)();\n }\n\n return this.endOf(M).$jD;\n };\n /**\n * toArray function moved to official plugin\n * Check function existence before override\n */\n\n\n if (oldToArray) {\n proto.toArray = function () {\n if (!$isJalali(this)) {\n return oldToArray.bind(this)();\n }\n\n return [this.$jy, this.$jM, this.$jD, this.$H, this.$m, this.$s, this.$ms];\n };\n }\n\n proto.clone = function () {\n return wrapper(this.toDate(), this);\n };\n});\n\nexport default plugin;\n","import { useEffect } from \"react\";\n\nexport function useClickOutside(\n ref: React.RefObject<HTMLElement>,\n callback: () => void\n) {\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (\n ref.current?.children[0] &&\n !ref.current.children[0].contains(event.target as Node)\n ) {\n callback();\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, callback]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { useClickOutside } from \"../options/click-outside\";\n\ntype PropsType = {\n show: boolean;\n onClose: () => void;\n dialogClassName?: string;\n children?: React.ReactNode;\n};\n\nexport default function Dialog({\n show,\n onClose,\n dialogClassName,\n children,\n}: PropsType) {\n const datePickerModal = useRef<HTMLDialogElement>(null);\n\n useClickOutside(datePickerModal, () => {\n onClose();\n });\n\n useEffect(() => {\n if (show) {\n datePickerModal.current?.showModal();\n } else {\n datePickerModal.current?.close();\n }\n }, [show]);\n\n return (\n <dialog\n ref={datePickerModal}\n className={dialogClassName || \"datepicker-dialog\"}\n >\n {children}\n </dialog>\n );\n}\n","import { useEffect, useRef, useState } from \"react\";\nimport { useClickOutside } from \"../options/click-outside\";\n\ntype PropsType = {\n show: boolean;\n onClose: () => void;\n popperClassName?: string;\n triggerRef?: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n};\n\nexport default function Popper({\n show,\n onClose,\n popperClassName,\n triggerRef,\n children,\n}: PropsType) {\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n useClickOutside(dropdownRef, () => {\n onClose();\n });\n\n if (!show) return null;\n\n return (\n <div\n ref={dropdownRef}\n className={popperClassName || \"datepicker-popper\"}\n // style={{\n // position: \"absolute\",\n // top: 0,\n // left: position.left,\n // zIndex: 1000,\n // }}\n >\n {children}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport dayjs, { Dayjs } from \"dayjs\";\nimport jalaliday from \"jalali-plugin-dayjs\";\nimport Dialog from \"../components/Dialog\";\nimport Popper from \"../components/Popper\";\n\ndayjs.extend(jalaliday);\n\ntype PropsType = {\n showDatePicker: boolean;\n dialogClassName?: string;\n popperClassName?: string;\n renderLeftIcon?: JSX.Element;\n renderRightIcon?: JSX.Element;\n dayClassName?: string;\n datePickerType?: \"dialog\" | \"popper\";\n selectsPosition?: \"top\" | \"bottom\";\n triggerRef?: React.RefObject<HTMLElement>;\n onSelectDate: (value: Dayjs) => void;\n onClose: () => void;\n};\n\nexport default function DatePickerMode({\n showDatePicker,\n dialogClassName,\n popperClassName,\n renderRightIcon,\n renderLeftIcon,\n dayClassName,\n datePickerType,\n selectsPosition,\n triggerRef,\n onSelectDate,\n onClose,\n}: PropsType) {\n const [currentDate, setCurrentDate] = useState(dayjs().calendar(\"jalali\"));\n const [currentYear, setCurrentYear] = useState(currentDate.get(\"year\"));\n const [currentMonth, setCurrentMonth] = useState(\n currentDate.get(\"month\") + 1\n );\n\n const handlePrevMonth = () => {\n setCurrentDate(currentDate.subtract(1, \"month\"));\n };\n const handleNextMonth = () => {\n setCurrentDate(currentDate.add(1, \"month\"));\n };\n\n const handleChangeMonth = (value: string) => {\n setCurrentDate(currentDate.set(\"month\", +value - 1));\n };\n\n const handleChangeYear = (value: string) => {\n setCurrentDate(currentDate.set(\"year\", +value));\n };\n\n const generateYears = () => {\n const years = [];\n for (let i = currentYear - 110; i < currentYear + 110; i++) {\n years.push(i);\n }\n return years;\n };\n\n const generateDaysOfMonth = () => {\n const startOfMonth = currentDate.startOf(\"month\");\n const endOfMonth = currentDate.endOf(\"month\");\n const days: Dayjs[] = [];\n let day = startOfMonth.clone();\n\n const firstDayIndex = day.day();\n const lastDayIndex = endOfMonth.day();\n\n if (firstDayIndex < 6) {\n for (let i = 0; i < firstDayIndex + 1; i++) {\n days.push(startOfMonth.clone().subtract(firstDayIndex + 1 - i, \"day\"));\n }\n }\n\n while (day.isBefore(endOfMonth) || day.isSame(endOfMonth)) {\n days.push(day.clone());\n day = day.add(1, \"day\");\n }\n\n for (let i = 0; i < (lastDayIndex === 6 ? 6 : 6 - lastDayIndex - 1); i++) {\n days.push(endOfMonth.clone().add(i + 1, \"day\"));\n }\n\n return days;\n };\n\n const handleSelectDate = (day: Dayjs) => {\n onSelectDate(day);\n onClose();\n };\n\n const daysOfMonth = generateDaysOfMonth();\n const yearsList = generateYears();\n\n const dayNames = [\"ش\", \"ی\", \"د\", \"س\", \"چ\", \"پ\", \"ج\"];\n const monthNames = [\n { title: \"فروردین\", value: 1 },\n { title: \"اردیبهشت\", value: 2 },\n { title: \"خرداد\", value: 3 },\n { title: \"تیر\", value: 4 },\n { title: