@react-fabric/date 1.0.0-beta.32 → 1.0.0-beta.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +2 -9
  2. package/dist/cjs/hijri/DateConverter.js +154 -0
  3. package/dist/cjs/hijri/FormatDate.js +115 -0
  4. package/dist/cjs/hijri/HijriDate.js +531 -0
  5. package/dist/cjs/hijri/StringDateParser.js +74 -0
  6. package/dist/cjs/hijri/index.js +17 -1025
  7. package/dist/cjs/hijri/initializer.js +113 -0
  8. package/dist/cjs/hijri/locales.js +19 -0
  9. package/dist/cjs/hijri/safe.js +17 -0
  10. package/dist/cjs/i18n/index.js +0 -6
  11. package/dist/cjs/index.js +11 -2
  12. package/dist/cjs/{superdate → panels}/EventPanel.js +1 -1
  13. package/dist/esm/hijri/DateConverter.js +152 -0
  14. package/dist/esm/hijri/FormatDate.js +112 -0
  15. package/dist/esm/hijri/HijriDate.js +528 -0
  16. package/dist/esm/hijri/StringDateParser.js +74 -0
  17. package/dist/esm/hijri/index.js +17 -1025
  18. package/dist/esm/hijri/initializer.js +113 -0
  19. package/dist/esm/hijri/locales.js +18 -0
  20. package/dist/esm/hijri/safe.js +14 -0
  21. package/dist/esm/i18n/index.js +0 -6
  22. package/dist/esm/index.js +5 -1
  23. package/dist/esm/{superdate → panels}/EventPanel.js +1 -1
  24. package/dist/types/hijri/DateConverter.d.ts +13 -0
  25. package/dist/types/hijri/FormatDate.d.ts +19 -0
  26. package/dist/types/hijri/HijriDate.d.ts +214 -0
  27. package/dist/types/hijri/StringDateParser.d.ts +11 -0
  28. package/dist/types/hijri/index.d.ts +2 -2
  29. package/dist/types/hijri/initializer.d.ts +129 -0
  30. package/dist/types/hijri/locales.d.ts +19 -0
  31. package/dist/types/hijri/safe.d.ts +3 -0
  32. package/dist/types/index.d.ts +5 -1
  33. package/dist/types/panels/EventPanel.d.ts +17 -0
  34. package/dist/types/types/index.d.ts +8 -40
  35. package/package.json +4 -6
  36. package/src/hijri/DateConverter.js +175 -0
  37. package/src/hijri/FormatDate.js +132 -0
  38. package/src/hijri/HijriDate.js +477 -0
  39. package/src/hijri/StringDateParser.js +68 -0
  40. package/src/hijri/index.js +16 -1535
  41. package/src/hijri/initializer.js +96 -0
  42. package/src/hijri/locales.js +109 -0
  43. package/src/hijri/safe.js +16 -0
  44. package/src/i18n/index.ts +0 -3
  45. package/src/index.ts +6 -1
  46. package/src/{superdate → panels}/EventPanel.tsx +20 -3
  47. package/src/types/index.ts +8 -43
  48. package/src/utils/dateUtil.ts +0 -1
  49. package/dist/cjs/i18n/superdate/ar.json.js +0 -86
  50. package/dist/cjs/i18n/superdate/en.json.js +0 -93
  51. package/dist/cjs/superdate/QuickSelect.js +0 -134
  52. package/dist/cjs/superdate/RelativeInput.js +0 -79
  53. package/dist/cjs/superdate/RelativePanel.js +0 -91
  54. package/dist/cjs/superdate/SuperDate.module.css +0 -1
  55. package/dist/cjs/superdate/Superdate.js +0 -177
  56. package/dist/esm/i18n/superdate/ar.json.js +0 -79
  57. package/dist/esm/i18n/superdate/en.json.js +0 -85
  58. package/dist/esm/superdate/QuickSelect.js +0 -134
  59. package/dist/esm/superdate/RelativeInput.js +0 -79
  60. package/dist/esm/superdate/RelativePanel.js +0 -91
  61. package/dist/esm/superdate/SuperDate.module.css +0 -1
  62. package/dist/esm/superdate/Superdate.js +0 -176
  63. package/dist/types/superdate/EventPanel.d.ts +0 -4
  64. package/dist/types/superdate/QuickSelect.d.ts +0 -1
  65. package/dist/types/superdate/RelativeInput.d.ts +0 -1
  66. package/dist/types/superdate/RelativePanel.d.ts +0 -1
  67. package/dist/types/superdate/Superdate.d.ts +0 -17
  68. package/src/i18n/superdate/ar.json +0 -70
  69. package/src/i18n/superdate/en.json +0 -75
  70. package/src/superdate/QuickSelect.tsx +0 -121
  71. package/src/superdate/RelativeInput.tsx +0 -64
  72. package/src/superdate/RelativePanel.tsx +0 -103
  73. package/src/superdate/SuperDate.module.css +0 -30
  74. package/src/superdate/Superdate.tsx +0 -198
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+
3
+ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
+ var _createClass = require('@babel/runtime/helpers/createClass');
5
+ var DateConverter = require('./DateConverter.js');
6
+ var StringDateParser = require('./StringDateParser.js');
7
+
8
+ var defaultFormat = 'yyyy/mm/dd';
9
+ var defaultProps = {
10
+ month: 1,
11
+ date: 1,
12
+ hours: 0,
13
+ minutes: 0,
14
+ seconds: 0,
15
+ milliseconds: 0
16
+ };
17
+ var Initializer = /*#__PURE__*/function () {
18
+ function Initializer() {
19
+ _classCallCheck(this, Initializer);
20
+ }
21
+ return _createClass(Initializer, null, [{
22
+ key: "initDefault",
23
+ value: function initDefault() {
24
+ return DateConverter.GregToHijri(new Date());
25
+ }
26
+ }, {
27
+ key: "init_number",
28
+ value: function init_number(number) {
29
+ return DateConverter.GregToHijri(new Date(number));
30
+ }
31
+ }, {
32
+ key: "init_number_number",
33
+ value: function init_number_number(year, month) {
34
+ return this.init_number_number_number(year, month, 1);
35
+ }
36
+ }, {
37
+ key: "init_number_number_number",
38
+ value: function init_number_number_number() {
39
+ return this.initFromNumbers.apply(this, arguments);
40
+ }
41
+ }, {
42
+ key: "init_number_number_number_number",
43
+ value: function init_number_number_number_number() {
44
+ return this.initFromNumbers.apply(this, arguments);
45
+ }
46
+ }, {
47
+ key: "init_number_number_number_number_number",
48
+ value: function init_number_number_number_number_number() {
49
+ return this.initFromNumbers.apply(this, arguments);
50
+ }
51
+ }, {
52
+ key: "init_number_number_number_number_number_number",
53
+ value: function init_number_number_number_number_number_number() {
54
+ return this.initFromNumbers.apply(this, arguments);
55
+ }
56
+ }, {
57
+ key: "init_number_number_number_number_number_number_number",
58
+ value: function init_number_number_number_number_number_number_number() {
59
+ return this.initFromNumbers.apply(this, arguments);
60
+ }
61
+ }, {
62
+ key: "init_string",
63
+ value: function init_string() {
64
+ return this.initFromStrings.apply(this, arguments);
65
+ }
66
+ }, {
67
+ key: "init_string_string",
68
+ value: function init_string_string() {
69
+ return this.initFromStrings.apply(this, arguments);
70
+ }
71
+ }, {
72
+ key: "init_object",
73
+ value: function init_object(object) {
74
+ return Object.assign({}, defaultProps, object);
75
+ }
76
+ }, {
77
+ key: "initFromNumbers",
78
+ value: function initFromNumbers(year, month, date) {
79
+ var _arguments = arguments;
80
+ var hours = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
81
+ var minutes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
82
+ var seconds = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
83
+ var milliseconds = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
84
+ Array.from(arguments).forEach(function (arg, index) {
85
+ _arguments[index] = parseInt(arg);
86
+ });
87
+ return {
88
+ year: year,
89
+ month: month,
90
+ date: date,
91
+ hours: hours,
92
+ minutes: minutes,
93
+ seconds: seconds,
94
+ milliseconds: milliseconds
95
+ };
96
+ }
97
+
98
+ //TODO
99
+ }, {
100
+ key: "initFromStrings",
101
+ value: function initFromStrings(dateString) {
102
+ var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFormat;
103
+ var props = {};
104
+ props.year = StringDateParser.extractYear(dateString, format);
105
+ props.month = StringDateParser.extractMonth(dateString, format);
106
+ props.date = StringDateParser.extractDate(dateString, format);
107
+ return Object.assign({}, defaultProps, props);
108
+ }
109
+ }]);
110
+ }();
111
+ Initializer.defaultFormat = defaultFormat;
112
+
113
+ module.exports = Initializer;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var ar = {
4
+ dayNames: ["ح", "ن", "ث", "ر", "خ", "ج", "س", "أحد", "اثن", "ثلا", "ارب", "خم", "جم", "سبت", "الأحد", "الإثنين", "الثلاثاء", "الإربعاء", "الخميس", "الجمعة", "السبت"],
5
+ monthNames: ["مح", "صف", "ربع١", "ربع٢", "جم١", "جم٢", "رجب", "شعب", "رمض", "شو", "ذو ق", "ذو ح", "محرّم", "صفر", "ربيع أول", "ربيع الآخر", "جمادى أولى", "جمادى الآخرة", "رجب", "شعبان", "رمضان", "شوال", "ذو القعدة", "ذو الحجّة"],
6
+ separator: "عند",
7
+ am: "ص",
8
+ pm: "م"
9
+ };
10
+ var en = {
11
+ dayNames: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
12
+ monthNames: ["Muha", "Saf", "Rab1", "Rab2", "Jumd1", "Jumd2", "Rajb", "Shbn", "Rmdn", "Shwl", "Qada", "Hija", "Muharram", "Safar", "Rabi'ul Awwal", "Rabi'ul Akhir", "Jumadal Ula", "Jumadal Akhira", "Rajab", "Sha'ban", "Ramadan", "Shawwal", "Dhul Qa'ada", "Dhul Hijja"],
13
+ separator: "at",
14
+ am: "am",
15
+ pm: "pm"
16
+ };
17
+
18
+ exports.ar = ar;
19
+ exports.en = en;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var HijriDate = require('./HijriDate.js');
6
+ var DateConverter = require('./DateConverter.js');
7
+
8
+ var toHijri = function toHijri(gregDate) {
9
+ var _GregToHijri = DateConverter.GregToHijri(gregDate),
10
+ year = _GregToHijri.year,
11
+ month = _GregToHijri.month,
12
+ date = _GregToHijri.date;
13
+ return new HijriDate.default(year, month, date, gregDate.getHours(), gregDate.getMinutes(), gregDate.getSeconds(), gregDate.getMilliseconds());
14
+ };
15
+
16
+ exports.default = HijriDate.default;
17
+ exports.toHijri = toHijri;
@@ -3,8 +3,6 @@
3
3
  var core = require('@react-fabric/core');
4
4
  var ar = require('./ar.json.js');
5
5
  var en = require('./en.json.js');
6
- var ar$1 = require('./superdate/ar.json.js');
7
- var en$1 = require('./superdate/en.json.js');
8
6
 
9
7
  /*
10
8
  * React Fabric
@@ -33,7 +31,3 @@ core.addTranslationBundle("date", {
33
31
  en: en.default,
34
32
  ar: ar.default
35
33
  });
36
- core.addTranslationBundle("superdate", {
37
- en: en$1.default,
38
- ar: ar$1.default
39
- });
package/dist/cjs/index.js CHANGED
@@ -2,19 +2,28 @@
2
2
 
3
3
  require('./hijri/index.js');
4
4
  require('./i18n/index.js');
5
+ var DateHeader = require('./components/DateHeader.js');
6
+ var DecadePage = require('./components/DecadePage.js');
7
+ var YearPage = require('./components/YearPage.js');
5
8
  var DateDisplay = require('./display/DateDisplay.js');
6
9
  var DatePanel = require('./panels/DatePanel.js');
10
+ var EventPanel = require('./panels/EventPanel.js');
7
11
  var RangePanel = require('./panels/RangePanel.js');
8
- var Superdate = require('./superdate/Superdate.js');
9
12
  var dateUtil = require('./utils/dateUtil.js');
13
+ var index = require('./types/index.js');
10
14
 
11
15
 
12
16
 
17
+ exports.DateHeader = DateHeader.DateHeader;
18
+ exports.DecadePage = DecadePage.DecadePage;
19
+ exports.YearPage = YearPage.YearPage;
13
20
  exports.DateDisplay = DateDisplay.DateDisplay;
14
21
  exports.DatePanel = DatePanel.DatePanel;
22
+ exports.EventPanel = EventPanel.EventPanel;
15
23
  exports.RangePanel = RangePanel.RangePanel;
16
- exports.SuperDate = Superdate.SuperDate;
17
24
  Object.defineProperty(exports, "DateUtil", {
18
25
  enumerable: true,
19
26
  get: function () { return dateUtil.DateUtil; }
20
27
  });
28
+ exports.DatePart = index.DatePart;
29
+ exports.PageType = index.PageType;
@@ -82,7 +82,7 @@ var EventPanel = function EventPanel(_ref) {
82
82
  if (action.type === "changePageDate") {
83
83
  resetList = true;
84
84
  state.pageDate = action.date;
85
- if (action.changePage !== false) {
85
+ if (action.changePage) {
86
86
  state.page = Math.max(state.page - 1, index.PageType.MONTH);
87
87
  }
88
88
  }
@@ -0,0 +1,152 @@
1
+ 'use client';
2
+
3
+ function intPart(floatNum) {
4
+ if (floatNum < -0.0000001) {
5
+ return Math.ceil(floatNum - 0.0000001);
6
+ }
7
+ return Math.floor(floatNum + 0.0000001);
8
+ }
9
+ var delta = 1;
10
+ function GregToIsl(arg) {
11
+ var d = parseInt(arg.CDay.value);
12
+ var m = parseInt(arg.CMonth.value);
13
+ var y = parseInt(arg.CYear.value);
14
+ var jd,
15
+ l,
16
+ jd1,
17
+ n,
18
+ j,
19
+ delta = 1;
20
+ if (y > 1582 || y == 1582 && m > 10 || y == 1582 && m == 10 && d > 14) {
21
+ //added delta=1 on jd to comply isna rulling 2007
22
+ jd = intPart(1461 * (y + 4800 + intPart((m - 14) / 12)) / 4) + intPart(367 * (m - 2 - 12 * intPart((m - 14) / 12)) / 12) - intPart(3 * intPart((y + 4900 + intPart((m - 14) / 12)) / 100) / 4) + d - 32075 + delta;
23
+ } else {
24
+ //added +1 on jd to comply isna rulling
25
+ jd = 367 * y - intPart(7 * (y + 5001 + intPart((m - 9) / 7)) / 4) + intPart(275 * m / 9) + d + 1729777 + delta;
26
+ }
27
+
28
+ //added -1 on jd1 to comply isna rulling
29
+ jd1 = jd - delta;
30
+ l = jd - 1948440 + 10632;
31
+ n = intPart((l - 1) / 10631);
32
+ l = l - 10631 * n + 354;
33
+ j = intPart((10985 - l) / 5316) * intPart(50 * l / 17719) + intPart(l / 5670) * intPart(43 * l / 15238);
34
+ l = l - intPart((30 - j) / 15) * intPart(17719 * j / 50) - intPart(j / 16) * intPart(15238 * j / 43) + 29;
35
+ m = intPart(24 * l / 709);
36
+ d = l - intPart(709 * m / 24);
37
+ y = 30 * n + j - 30;
38
+ return {
39
+ d: d,
40
+ m: m,
41
+ y: y,
42
+ dateOfWeek: jd1 % 7,
43
+ dayName: weekDay(jd1 % 7)
44
+ };
45
+ }
46
+ function IslToGreg(arg) {
47
+ var d = parseInt(arg.HDay.value);
48
+ var m = parseInt(arg.HMonth.value);
49
+ var y = parseInt(arg.HYear.value);
50
+ //added - delta=1 on jd to comply isna rulling
51
+ var jd = intPart((11 * y + 3) / 30) + 354 * y + 30 * m - intPart((m - 1) / 2) + d + 1948440 - 385 - delta;
52
+ var l, n, i, j, k;
53
+ if (jd > 2299160) {
54
+ l = jd + 68569;
55
+ n = intPart(4 * l / 146097);
56
+ l = l - intPart((146097 * n + 3) / 4);
57
+ i = intPart(4000 * (l + 1) / 1461001);
58
+ l = l - intPart(1461 * i / 4) + 31;
59
+ j = intPart(80 * l / 2447);
60
+ d = l - intPart(2447 * j / 80);
61
+ l = intPart(j / 11);
62
+ m = j + 2 - 12 * l;
63
+ y = 100 * (n - 49) + i + l;
64
+ } else {
65
+ j = jd + 1402;
66
+ k = intPart((j - 1) / 1461);
67
+ l = j - 1461 * k;
68
+ n = intPart((l - 1) / 365) - intPart(l / 1461);
69
+ i = l - 365 * n + 30;
70
+ j = intPart(80 * i / 2447);
71
+ d = i - intPart(2447 * j / 80);
72
+ i = intPart(j / 11);
73
+ m = j + 2 - 12 * i;
74
+ y = 4 * k + n + i - 4716;
75
+ }
76
+
77
+ //arg.CDay.value=d
78
+ //arg.CMonth.value=m
79
+ //arg.CYear.value=y
80
+
81
+ return {
82
+ d: d,
83
+ m: m,
84
+ y: y,
85
+ dateOfWeek: jd % 7,
86
+ dayName: weekDay(jd % 7)
87
+ };
88
+ }
89
+ function weekDay(wdn) {
90
+ if (wdn == 0) {
91
+ return "Mon";
92
+ }
93
+ if (wdn == 1) {
94
+ return "Tue";
95
+ }
96
+ if (wdn == 2) {
97
+ return "Wed";
98
+ }
99
+ if (wdn == 3) {
100
+ return "Thu";
101
+ }
102
+ if (wdn == 4) {
103
+ return "Fri";
104
+ }
105
+ if (wdn == 5) {
106
+ return "Sat";
107
+ }
108
+ if (wdn == 6) {
109
+ return "Sun";
110
+ }
111
+ return "";
112
+ }
113
+ function GregToHijri(gregDate) {
114
+ var hijriDate = GregToIsl({
115
+ CDay: {
116
+ value: gregDate.getDate()
117
+ },
118
+ CYear: {
119
+ value: gregDate.getFullYear()
120
+ },
121
+ CMonth: {
122
+ value: gregDate.getMonth() + 1
123
+ }
124
+ });
125
+ return {
126
+ year: hijriDate.y,
127
+ month: hijriDate.m,
128
+ date: hijriDate.d,
129
+ hours: gregDate.getHours(),
130
+ minutes: gregDate.getMinutes(),
131
+ seconds: gregDate.getSeconds(),
132
+ milliseconds: gregDate.getMilliseconds(),
133
+ day: hijriDate.dateOfWeek,
134
+ dayName: hijriDate.dayName
135
+ };
136
+ }
137
+ function HijriToGreg(hijriDate) {
138
+ var gregDate = IslToGreg({
139
+ HDay: {
140
+ value: hijriDate._date || hijriDate.date
141
+ },
142
+ HYear: {
143
+ value: hijriDate._year || hijriDate.year
144
+ },
145
+ HMonth: {
146
+ value: hijriDate._month || hijriDate.month
147
+ }
148
+ });
149
+ return new Date(gregDate.y, gregDate.m - 1, gregDate.d, hijriDate.getHours(), hijriDate.getMinutes(), hijriDate.getSeconds(), hijriDate.getMilliseconds());
150
+ }
151
+
152
+ export { GregToHijri, HijriToGreg, weekDay };
@@ -0,0 +1,112 @@
1
+ 'use client';
2
+
3
+ var dateFormat = function () {
4
+ var token = /P{1,4}|p{1,4}|d{1,2}|e{3,6}|M{1,4}|yy(?:yy)?|([Hhms])\1?|[a]{1,4}|[LloSZ]|('at')|"[^"]*"|'[^']*'/g,
5
+ pad = function pad(val, len) {
6
+ val = String(val);
7
+ len = len || 2;
8
+ while (val.length < len) val = "0" + val;
9
+ return val;
10
+ };
11
+
12
+ // Regexes and supporting functions are cached through closure
13
+ return function (date, mask) {
14
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
15
+ utc: false
16
+ };
17
+ var _require$default = require("./HijriDate")["default"],
18
+ locales = _require$default.locales,
19
+ defaultLocale = _require$default.defaultLocale;
20
+ options.locale = options.locale || defaultLocale;
21
+ if (!locales[options.locale]) {
22
+ throw new Error("Locale ".concat(options.locale, " is not supported yet .\n Please, try to extend \"HijriDate.locales\" :\n i.e: HijriDate.locales.").concat(options.locale, " = {dayNames:[..14 items..], monthNames:[..24 items..]}\n "));
23
+ }
24
+ // You can't provide utc if you skip other args (use the "UTC:" mask prefix)
25
+ if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
26
+ mask = date;
27
+ date = undefined;
28
+ }
29
+ mask = String(masks[mask] || mask || masks["default"]);
30
+
31
+ // Allow setting the utc argument via the mask
32
+ if (mask.slice(0, 4) == "UTC:") {
33
+ mask = mask.slice(4);
34
+ options.utc = true;
35
+ }
36
+ var _ = options.utc ? "getUTC" : "get",
37
+ d = date[_ + "Date"](),
38
+ D = date[_ + "Day"](),
39
+ M = date[_ + "Month"](),
40
+ mIndex = date[_ + "MonthIndex"](),
41
+ y = date[_ + "FullYear"](),
42
+ H = date[_ + "Hours"](),
43
+ m = date[_ + "Minutes"](),
44
+ s = date[_ + "Seconds"](),
45
+ L = date[_ + "Milliseconds"](),
46
+ o = options.utc ? 0 : date.getTimezoneOffset(),
47
+ flags = {
48
+ d: d,
49
+ dd: pad(d),
50
+ ddd: locales[options.locale].dayNames[D === 7 ? 0 : D + 1],
51
+ dddd: locales[options.locale].dayNames[(D === 7 ? 0 : D + 1) + 7],
52
+ ee: locales[options.locale].dayNames[D],
53
+ eee: locales[options.locale].dayNames[D + 7],
54
+ eeee: locales[options.locale].dayNames[D + 14],
55
+ eeeeee: locales[options.locale].dayNames[D],
56
+ M: M,
57
+ MM: pad(M),
58
+ MMM: locales[options.locale].monthNames[mIndex],
59
+ MMMM: locales[options.locale].monthNames[mIndex + 12],
60
+ yy: String(y).slice(2),
61
+ yyyy: y,
62
+ h: H % 12 || 12,
63
+ hh: pad(H % 12 || 12),
64
+ H: H,
65
+ HH: pad(H),
66
+ m: m,
67
+ mm: pad(m),
68
+ s: s,
69
+ ss: pad(s),
70
+ l: pad(L, 3),
71
+ L: pad(L > 99 ? Math.round(L / 10) : L),
72
+ a: H < 12 ? locales[options.locale].am : locales[options.locale].pm,
73
+ aa: H < 12 ? locales[options.locale].am : locales[options.locale].pm,
74
+ aaa: H < 12 ? locales[options.locale].am : locales[options.locale].pm,
75
+ aaaa: H < 12 ? locales[options.locale].am : locales[options.locale].pm,
76
+ aaaaa: H < 12 ? locales[options.locale].am : locales[options.locale].pm,
77
+ "'at'": locales[options.locale].separator,
78
+ t: H < 12 ? "a" : "p",
79
+ tt: H < 12 ? "am" : "pm",
80
+ T: H < 12 ? "A" : "P",
81
+ TT: H < 12 ? "AM" : "PM",
82
+ // Z: options.utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
83
+ o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
84
+ S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
85
+ };
86
+ return mask.replace(token, function ($0) {
87
+ if ($0 === "P") return "".concat(flags.d, "/").concat(flags.M, "/").concat(flags.yyyy, " ");
88
+ if ($0.startsWith("PP")) return "".concat(flags.MMM, " ").concat(flags.dd, ", ").concat(flags.yyyy, " ");
89
+ if ($0 === "p") return "".concat(flags.h, ":").concat(flags.m, " ").concat(flags.a);
90
+ if ($0.startsWith("pp")) return "".concat(flags.hh, ":").concat(flags.mm, ":").concat(flags.ss, " ").concat(flags.a);
91
+ return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
92
+ });
93
+ };
94
+ }();
95
+
96
+ // Some common format strings
97
+ var masks = {
98
+ "default": "ddd MMM dd yyyy HH:mm:ss",
99
+ shortDate: "M/d/yy",
100
+ mediumDate: "MMM d, yyyy",
101
+ longDate: "MMMM d, yyyy",
102
+ fullDate: "dddd, MMMM d, yyyy",
103
+ shortTime: "h:mm TT",
104
+ mediumTime: "h:mm:ss TT",
105
+ longTime: "h:mm:ss TT Z",
106
+ isoDate: "yyyy-MM-dd",
107
+ isoTime: "HH:mm:ss",
108
+ isoDateTime: "yyyy-MM-dd'T'HH:mm:ss",
109
+ isoUtcDateTime: "UTC:yyyy-MM-dd'T'HH:mm:ss'Z'"
110
+ };
111
+
112
+ export { dateFormat as default, masks };