@jobber/components 9.14.2 → 9.14.4

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 (60) hide show
  1. package/dist/ActivityIndicator-cjs.js +1 -1
  2. package/dist/ActivityIndicator-es.js +1 -1
  3. package/dist/ConfirmationModal-cjs.js +1 -1
  4. package/dist/ConfirmationModal-es.js +1 -1
  5. package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +3 -2
  6. package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +3 -2
  7. package/dist/DataList/components/DataListFilters/index.cjs +3 -2
  8. package/dist/DataList/components/DataListFilters/index.mjs +3 -2
  9. package/dist/DataList/components/DataListTotalCount/DataListTotalCount.messages.d.ts +9 -7
  10. package/dist/DataList/index.cjs +1 -0
  11. package/dist/DataList/index.mjs +1 -0
  12. package/dist/DataListTotalCount-cjs.js +11 -9
  13. package/dist/DataListTotalCount-es.js +11 -9
  14. package/dist/DatePicker/index.cjs +2 -1
  15. package/dist/DatePicker/index.mjs +2 -1
  16. package/dist/DatePicker-cjs.js +70 -708
  17. package/dist/DatePicker-es.js +68 -706
  18. package/dist/FilterPicker/FilterPicker.messages.d.ts +51 -0
  19. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentHeader/index.cjs +3 -0
  20. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentHeader/index.mjs +3 -0
  21. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentList/index.cjs +1 -0
  22. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentList/index.mjs +1 -0
  23. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentSearch/index.cjs +3 -0
  24. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentSearch/index.mjs +3 -0
  25. package/dist/FilterPicker/components/FilterPickerContent/index.cjs +3 -2
  26. package/dist/FilterPicker/components/FilterPickerContent/index.mjs +3 -2
  27. package/dist/FilterPicker/components/FilterPickerTrigger/index.cjs +1 -0
  28. package/dist/FilterPicker/components/FilterPickerTrigger/index.mjs +1 -0
  29. package/dist/FilterPicker/index.cjs +3 -2
  30. package/dist/FilterPicker/index.mjs +3 -2
  31. package/dist/FilterPicker.messages-cjs.js +58 -0
  32. package/dist/FilterPicker.messages-es.js +56 -0
  33. package/dist/FilterPickerContentHeader-cjs.js +12 -8
  34. package/dist/FilterPickerContentHeader-es.js +12 -8
  35. package/dist/FilterPickerContentList-cjs.js +10 -10
  36. package/dist/FilterPickerContentList-es.js +10 -10
  37. package/dist/FilterPickerContentSearch-cjs.js +8 -2
  38. package/dist/FilterPickerContentSearch-es.js +8 -2
  39. package/dist/FilterPickerTrigger-cjs.js +7 -2
  40. package/dist/FilterPickerTrigger-es.js +7 -2
  41. package/dist/InputDate/index.cjs +1 -0
  42. package/dist/InputDate/index.mjs +1 -0
  43. package/dist/Spinner-cjs.js +1 -1
  44. package/dist/Spinner-es.js +1 -1
  45. package/dist/dateLocale-cjs.js +1146 -0
  46. package/dist/dateLocale-es.js +1142 -0
  47. package/dist/docs/AtlantisThemeContext/AtlantisThemeContext.md +24 -9
  48. package/dist/docs/FilterPicker/FilterPicker.md +9 -4
  49. package/dist/docs/Icon/Icon.md +1 -0
  50. package/dist/index.cjs +2 -0
  51. package/dist/index.mjs +2 -0
  52. package/dist/sharedHelpers/i18n/dateLocale.d.ts +2 -0
  53. package/dist/sharedHelpers/i18n/index.cjs +3 -0
  54. package/dist/sharedHelpers/i18n/index.d.ts +1 -0
  55. package/dist/sharedHelpers/i18n/index.mjs +1 -0
  56. package/dist/sharedHelpers/i18n/releasedLanguages.d.ts +7 -0
  57. package/dist/sharedHelpers/i18n/useAtlantisI18n.d.ts +17 -6
  58. package/dist/useAtlantisI18n-cjs.js +23 -1
  59. package/dist/useAtlantisI18n-es.js +23 -1
  60. package/package.json +4 -3
@@ -0,0 +1,1142 @@
1
+ import { a as useReleasedLocale } from './useAtlantisI18n-es.js';
2
+
3
+ function buildFormatLongFn(args) {
4
+ return (options = {}) => {
5
+ // TODO: Remove String()
6
+ const width = options.width ? String(options.width) : args.defaultWidth;
7
+ const format = args.formats[width] || args.formats[args.defaultWidth];
8
+ return format;
9
+ };
10
+ }
11
+
12
+ /**
13
+ * The localize function argument callback which allows to convert raw value to
14
+ * the actual type.
15
+ *
16
+ * @param value - The value to convert
17
+ *
18
+ * @returns The converted value
19
+ */
20
+
21
+ /**
22
+ * The map of localized values for each width.
23
+ */
24
+
25
+ /**
26
+ * The index type of the locale unit value. It types conversion of units of
27
+ * values that don't start at 0 (i.e. quarters).
28
+ */
29
+
30
+ /**
31
+ * Converts the unit value to the tuple of values.
32
+ */
33
+
34
+ /**
35
+ * The tuple of localized era values. The first element represents BC,
36
+ * the second element represents AD.
37
+ */
38
+
39
+ /**
40
+ * The tuple of localized quarter values. The first element represents Q1.
41
+ */
42
+
43
+ /**
44
+ * The tuple of localized day values. The first element represents Sunday.
45
+ */
46
+
47
+ /**
48
+ * The tuple of localized month values. The first element represents January.
49
+ */
50
+
51
+ function buildLocalizeFn(args) {
52
+ return (value, options) => {
53
+ const context = options?.context ? String(options.context) : "standalone";
54
+
55
+ let valuesArray;
56
+ if (context === "formatting" && args.formattingValues) {
57
+ const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
58
+ const width = options?.width ? String(options.width) : defaultWidth;
59
+
60
+ valuesArray =
61
+ args.formattingValues[width] || args.formattingValues[defaultWidth];
62
+ } else {
63
+ const defaultWidth = args.defaultWidth;
64
+ const width = options?.width ? String(options.width) : args.defaultWidth;
65
+
66
+ valuesArray = args.values[width] || args.values[defaultWidth];
67
+ }
68
+ const index = args.argumentCallback ? args.argumentCallback(value) : value;
69
+
70
+ // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!
71
+ return valuesArray[index];
72
+ };
73
+ }
74
+
75
+ function buildMatchFn(args) {
76
+ return (string, options = {}) => {
77
+ const width = options.width;
78
+
79
+ const matchPattern =
80
+ (width && args.matchPatterns[width]) ||
81
+ args.matchPatterns[args.defaultMatchWidth];
82
+ const matchResult = string.match(matchPattern);
83
+
84
+ if (!matchResult) {
85
+ return null;
86
+ }
87
+ const matchedString = matchResult[0];
88
+
89
+ const parsePatterns =
90
+ (width && args.parsePatterns[width]) ||
91
+ args.parsePatterns[args.defaultParseWidth];
92
+
93
+ const key = Array.isArray(parsePatterns)
94
+ ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))
95
+ : // [TODO] -- I challenge you to fix the type
96
+ findKey(parsePatterns, (pattern) => pattern.test(matchedString));
97
+
98
+ let value;
99
+
100
+ value = args.valueCallback ? args.valueCallback(key) : key;
101
+ value = options.valueCallback
102
+ ? // [TODO] -- I challenge you to fix the type
103
+ options.valueCallback(value)
104
+ : value;
105
+
106
+ const rest = string.slice(matchedString.length);
107
+
108
+ return { value, rest };
109
+ };
110
+ }
111
+
112
+ function findKey(object, predicate) {
113
+ for (const key in object) {
114
+ if (
115
+ Object.prototype.hasOwnProperty.call(object, key) &&
116
+ predicate(object[key])
117
+ ) {
118
+ return key;
119
+ }
120
+ }
121
+ return undefined;
122
+ }
123
+
124
+ function findIndex(array, predicate) {
125
+ for (let key = 0; key < array.length; key++) {
126
+ if (predicate(array[key])) {
127
+ return key;
128
+ }
129
+ }
130
+ return undefined;
131
+ }
132
+
133
+ function buildMatchPatternFn(args) {
134
+ return (string, options = {}) => {
135
+ const matchResult = string.match(args.matchPattern);
136
+ if (!matchResult) return null;
137
+ const matchedString = matchResult[0];
138
+
139
+ const parseResult = string.match(args.parsePattern);
140
+ if (!parseResult) return null;
141
+ let value = args.valueCallback
142
+ ? args.valueCallback(parseResult[0])
143
+ : parseResult[0];
144
+
145
+ // [TODO] I challenge you to fix the type
146
+ value = options.valueCallback ? options.valueCallback(value) : value;
147
+
148
+ const rest = string.slice(matchedString.length);
149
+
150
+ return { value, rest };
151
+ };
152
+ }
153
+
154
+ const formatDistanceLocale$1 = {
155
+ lessThanXSeconds: {
156
+ one: "less than a second",
157
+ other: "less than {{count}} seconds",
158
+ },
159
+
160
+ xSeconds: {
161
+ one: "1 second",
162
+ other: "{{count}} seconds",
163
+ },
164
+
165
+ halfAMinute: "half a minute",
166
+
167
+ lessThanXMinutes: {
168
+ one: "less than a minute",
169
+ other: "less than {{count}} minutes",
170
+ },
171
+
172
+ xMinutes: {
173
+ one: "1 minute",
174
+ other: "{{count}} minutes",
175
+ },
176
+
177
+ aboutXHours: {
178
+ one: "about 1 hour",
179
+ other: "about {{count}} hours",
180
+ },
181
+
182
+ xHours: {
183
+ one: "1 hour",
184
+ other: "{{count}} hours",
185
+ },
186
+
187
+ xDays: {
188
+ one: "1 day",
189
+ other: "{{count}} days",
190
+ },
191
+
192
+ aboutXWeeks: {
193
+ one: "about 1 week",
194
+ other: "about {{count}} weeks",
195
+ },
196
+
197
+ xWeeks: {
198
+ one: "1 week",
199
+ other: "{{count}} weeks",
200
+ },
201
+
202
+ aboutXMonths: {
203
+ one: "about 1 month",
204
+ other: "about {{count}} months",
205
+ },
206
+
207
+ xMonths: {
208
+ one: "1 month",
209
+ other: "{{count}} months",
210
+ },
211
+
212
+ aboutXYears: {
213
+ one: "about 1 year",
214
+ other: "about {{count}} years",
215
+ },
216
+
217
+ xYears: {
218
+ one: "1 year",
219
+ other: "{{count}} years",
220
+ },
221
+
222
+ overXYears: {
223
+ one: "over 1 year",
224
+ other: "over {{count}} years",
225
+ },
226
+
227
+ almostXYears: {
228
+ one: "almost 1 year",
229
+ other: "almost {{count}} years",
230
+ },
231
+ };
232
+
233
+ const formatDistance$1 = (token, count, options) => {
234
+ let result;
235
+
236
+ const tokenValue = formatDistanceLocale$1[token];
237
+ if (typeof tokenValue === "string") {
238
+ result = tokenValue;
239
+ } else if (count === 1) {
240
+ result = tokenValue.one;
241
+ } else {
242
+ result = tokenValue.other.replace("{{count}}", count.toString());
243
+ }
244
+
245
+ if (options?.addSuffix) {
246
+ if (options.comparison && options.comparison > 0) {
247
+ return "in " + result;
248
+ } else {
249
+ return result + " ago";
250
+ }
251
+ }
252
+
253
+ return result;
254
+ };
255
+
256
+ const formatRelativeLocale$1 = {
257
+ lastWeek: "'last' eeee 'at' p",
258
+ yesterday: "'yesterday at' p",
259
+ today: "'today at' p",
260
+ tomorrow: "'tomorrow at' p",
261
+ nextWeek: "eeee 'at' p",
262
+ other: "P",
263
+ };
264
+
265
+ const formatRelative$1 = (token, _date, _baseDate, _options) =>
266
+ formatRelativeLocale$1[token];
267
+
268
+ const eraValues$1 = {
269
+ narrow: ["B", "A"],
270
+ abbreviated: ["BC", "AD"],
271
+ wide: ["Before Christ", "Anno Domini"],
272
+ };
273
+
274
+ const quarterValues$1 = {
275
+ narrow: ["1", "2", "3", "4"],
276
+ abbreviated: ["Q1", "Q2", "Q3", "Q4"],
277
+ wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
278
+ };
279
+
280
+ // Note: in English, the names of days of the week and months are capitalized.
281
+ // If you are making a new locale based on this one, check if the same is true for the language you're working on.
282
+ // Generally, formatted dates should look like they are in the middle of a sentence,
283
+ // e.g. in Spanish language the weekdays and months should be in the lowercase.
284
+ const monthValues$1 = {
285
+ narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
286
+ abbreviated: [
287
+ "Jan",
288
+ "Feb",
289
+ "Mar",
290
+ "Apr",
291
+ "May",
292
+ "Jun",
293
+ "Jul",
294
+ "Aug",
295
+ "Sep",
296
+ "Oct",
297
+ "Nov",
298
+ "Dec",
299
+ ],
300
+
301
+ wide: [
302
+ "January",
303
+ "February",
304
+ "March",
305
+ "April",
306
+ "May",
307
+ "June",
308
+ "July",
309
+ "August",
310
+ "September",
311
+ "October",
312
+ "November",
313
+ "December",
314
+ ],
315
+ };
316
+
317
+ const dayValues$1 = {
318
+ narrow: ["S", "M", "T", "W", "T", "F", "S"],
319
+ short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
320
+ abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
321
+ wide: [
322
+ "Sunday",
323
+ "Monday",
324
+ "Tuesday",
325
+ "Wednesday",
326
+ "Thursday",
327
+ "Friday",
328
+ "Saturday",
329
+ ],
330
+ };
331
+
332
+ const dayPeriodValues$1 = {
333
+ narrow: {
334
+ am: "a",
335
+ pm: "p",
336
+ midnight: "mi",
337
+ noon: "n",
338
+ morning: "morning",
339
+ afternoon: "afternoon",
340
+ evening: "evening",
341
+ night: "night",
342
+ },
343
+ abbreviated: {
344
+ am: "AM",
345
+ pm: "PM",
346
+ midnight: "midnight",
347
+ noon: "noon",
348
+ morning: "morning",
349
+ afternoon: "afternoon",
350
+ evening: "evening",
351
+ night: "night",
352
+ },
353
+ wide: {
354
+ am: "a.m.",
355
+ pm: "p.m.",
356
+ midnight: "midnight",
357
+ noon: "noon",
358
+ morning: "morning",
359
+ afternoon: "afternoon",
360
+ evening: "evening",
361
+ night: "night",
362
+ },
363
+ };
364
+
365
+ const formattingDayPeriodValues$1 = {
366
+ narrow: {
367
+ am: "a",
368
+ pm: "p",
369
+ midnight: "mi",
370
+ noon: "n",
371
+ morning: "in the morning",
372
+ afternoon: "in the afternoon",
373
+ evening: "in the evening",
374
+ night: "at night",
375
+ },
376
+ abbreviated: {
377
+ am: "AM",
378
+ pm: "PM",
379
+ midnight: "midnight",
380
+ noon: "noon",
381
+ morning: "in the morning",
382
+ afternoon: "in the afternoon",
383
+ evening: "in the evening",
384
+ night: "at night",
385
+ },
386
+ wide: {
387
+ am: "a.m.",
388
+ pm: "p.m.",
389
+ midnight: "midnight",
390
+ noon: "noon",
391
+ morning: "in the morning",
392
+ afternoon: "in the afternoon",
393
+ evening: "in the evening",
394
+ night: "at night",
395
+ },
396
+ };
397
+
398
+ const ordinalNumber$1 = (dirtyNumber, _options) => {
399
+ const number = Number(dirtyNumber);
400
+
401
+ // If ordinal numbers depend on context, for example,
402
+ // if they are different for different grammatical genders,
403
+ // use `options.unit`.
404
+ //
405
+ // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
406
+ // 'day', 'hour', 'minute', 'second'.
407
+
408
+ const rem100 = number % 100;
409
+ if (rem100 > 20 || rem100 < 10) {
410
+ switch (rem100 % 10) {
411
+ case 1:
412
+ return number + "st";
413
+ case 2:
414
+ return number + "nd";
415
+ case 3:
416
+ return number + "rd";
417
+ }
418
+ }
419
+ return number + "th";
420
+ };
421
+
422
+ const localize$1 = {
423
+ ordinalNumber: ordinalNumber$1,
424
+
425
+ era: buildLocalizeFn({
426
+ values: eraValues$1,
427
+ defaultWidth: "wide",
428
+ }),
429
+
430
+ quarter: buildLocalizeFn({
431
+ values: quarterValues$1,
432
+ defaultWidth: "wide",
433
+ argumentCallback: (quarter) => quarter - 1,
434
+ }),
435
+
436
+ month: buildLocalizeFn({
437
+ values: monthValues$1,
438
+ defaultWidth: "wide",
439
+ }),
440
+
441
+ day: buildLocalizeFn({
442
+ values: dayValues$1,
443
+ defaultWidth: "wide",
444
+ }),
445
+
446
+ dayPeriod: buildLocalizeFn({
447
+ values: dayPeriodValues$1,
448
+ defaultWidth: "wide",
449
+ formattingValues: formattingDayPeriodValues$1,
450
+ defaultFormattingWidth: "wide",
451
+ }),
452
+ };
453
+
454
+ const matchOrdinalNumberPattern$1 = /^(\d+)(th|st|nd|rd)?/i;
455
+ const parseOrdinalNumberPattern$1 = /\d+/i;
456
+
457
+ const matchEraPatterns$1 = {
458
+ narrow: /^(b|a)/i,
459
+ abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
460
+ wide: /^(before christ|before common era|anno domini|common era)/i,
461
+ };
462
+ const parseEraPatterns$1 = {
463
+ any: [/^b/i, /^(a|c)/i],
464
+ };
465
+
466
+ const matchQuarterPatterns$1 = {
467
+ narrow: /^[1234]/i,
468
+ abbreviated: /^q[1234]/i,
469
+ wide: /^[1234](th|st|nd|rd)? quarter/i,
470
+ };
471
+ const parseQuarterPatterns$1 = {
472
+ any: [/1/i, /2/i, /3/i, /4/i],
473
+ };
474
+
475
+ const matchMonthPatterns$1 = {
476
+ narrow: /^[jfmasond]/i,
477
+ abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
478
+ wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,
479
+ };
480
+ const parseMonthPatterns$1 = {
481
+ narrow: [
482
+ /^j/i,
483
+ /^f/i,
484
+ /^m/i,
485
+ /^a/i,
486
+ /^m/i,
487
+ /^j/i,
488
+ /^j/i,
489
+ /^a/i,
490
+ /^s/i,
491
+ /^o/i,
492
+ /^n/i,
493
+ /^d/i,
494
+ ],
495
+
496
+ any: [
497
+ /^ja/i,
498
+ /^f/i,
499
+ /^mar/i,
500
+ /^ap/i,
501
+ /^may/i,
502
+ /^jun/i,
503
+ /^jul/i,
504
+ /^au/i,
505
+ /^s/i,
506
+ /^o/i,
507
+ /^n/i,
508
+ /^d/i,
509
+ ],
510
+ };
511
+
512
+ const matchDayPatterns$1 = {
513
+ narrow: /^[smtwf]/i,
514
+ short: /^(su|mo|tu|we|th|fr|sa)/i,
515
+ abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
516
+ wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,
517
+ };
518
+ const parseDayPatterns$1 = {
519
+ narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
520
+ any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],
521
+ };
522
+
523
+ const matchDayPeriodPatterns$1 = {
524
+ narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
525
+ any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,
526
+ };
527
+ const parseDayPeriodPatterns$1 = {
528
+ any: {
529
+ am: /^a/i,
530
+ pm: /^p/i,
531
+ midnight: /^mi/i,
532
+ noon: /^no/i,
533
+ morning: /morning/i,
534
+ afternoon: /afternoon/i,
535
+ evening: /evening/i,
536
+ night: /night/i,
537
+ },
538
+ };
539
+
540
+ const match$1 = {
541
+ ordinalNumber: buildMatchPatternFn({
542
+ matchPattern: matchOrdinalNumberPattern$1,
543
+ parsePattern: parseOrdinalNumberPattern$1,
544
+ valueCallback: (value) => parseInt(value, 10),
545
+ }),
546
+
547
+ era: buildMatchFn({
548
+ matchPatterns: matchEraPatterns$1,
549
+ defaultMatchWidth: "wide",
550
+ parsePatterns: parseEraPatterns$1,
551
+ defaultParseWidth: "any",
552
+ }),
553
+
554
+ quarter: buildMatchFn({
555
+ matchPatterns: matchQuarterPatterns$1,
556
+ defaultMatchWidth: "wide",
557
+ parsePatterns: parseQuarterPatterns$1,
558
+ defaultParseWidth: "any",
559
+ valueCallback: (index) => index + 1,
560
+ }),
561
+
562
+ month: buildMatchFn({
563
+ matchPatterns: matchMonthPatterns$1,
564
+ defaultMatchWidth: "wide",
565
+ parsePatterns: parseMonthPatterns$1,
566
+ defaultParseWidth: "any",
567
+ }),
568
+
569
+ day: buildMatchFn({
570
+ matchPatterns: matchDayPatterns$1,
571
+ defaultMatchWidth: "wide",
572
+ parsePatterns: parseDayPatterns$1,
573
+ defaultParseWidth: "any",
574
+ }),
575
+
576
+ dayPeriod: buildMatchFn({
577
+ matchPatterns: matchDayPeriodPatterns$1,
578
+ defaultMatchWidth: "any",
579
+ parsePatterns: parseDayPeriodPatterns$1,
580
+ defaultParseWidth: "any",
581
+ }),
582
+ };
583
+
584
+ const dateFormats$1 = {
585
+ full: "EEEE, MMMM do, y",
586
+ long: "MMMM do, y",
587
+ medium: "MMM d, y",
588
+ short: "MM/dd/yyyy",
589
+ };
590
+
591
+ const timeFormats$1 = {
592
+ full: "h:mm:ss a zzzz",
593
+ long: "h:mm:ss a z",
594
+ medium: "h:mm:ss a",
595
+ short: "h:mm a",
596
+ };
597
+
598
+ const dateTimeFormats$1 = {
599
+ full: "{{date}} 'at' {{time}}",
600
+ long: "{{date}} 'at' {{time}}",
601
+ medium: "{{date}}, {{time}}",
602
+ short: "{{date}}, {{time}}",
603
+ };
604
+
605
+ const formatLong$1 = {
606
+ date: buildFormatLongFn({
607
+ formats: dateFormats$1,
608
+ defaultWidth: "full",
609
+ }),
610
+
611
+ time: buildFormatLongFn({
612
+ formats: timeFormats$1,
613
+ defaultWidth: "full",
614
+ }),
615
+
616
+ dateTime: buildFormatLongFn({
617
+ formats: dateTimeFormats$1,
618
+ defaultWidth: "full",
619
+ }),
620
+ };
621
+
622
+ /**
623
+ * @category Locales
624
+ * @summary English locale (United States).
625
+ * @language English
626
+ * @iso-639-2 eng
627
+ * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)
628
+ * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)
629
+ */
630
+ const enUS = {
631
+ code: "en-US",
632
+ formatDistance: formatDistance$1,
633
+ formatLong: formatLong$1,
634
+ formatRelative: formatRelative$1,
635
+ localize: localize$1,
636
+ match: match$1,
637
+ options: {
638
+ weekStartsOn: 0 /* Sunday */,
639
+ firstWeekContainsDate: 1,
640
+ },
641
+ };
642
+
643
+ const formatDistanceLocale = {
644
+ lessThanXSeconds: {
645
+ one: "menos de un segundo",
646
+ other: "menos de {{count}} segundos",
647
+ },
648
+
649
+ xSeconds: {
650
+ one: "1 segundo",
651
+ other: "{{count}} segundos",
652
+ },
653
+
654
+ halfAMinute: "medio minuto",
655
+
656
+ lessThanXMinutes: {
657
+ one: "menos de un minuto",
658
+ other: "menos de {{count}} minutos",
659
+ },
660
+
661
+ xMinutes: {
662
+ one: "1 minuto",
663
+ other: "{{count}} minutos",
664
+ },
665
+
666
+ aboutXHours: {
667
+ one: "alrededor de 1 hora",
668
+ other: "alrededor de {{count}} horas",
669
+ },
670
+
671
+ xHours: {
672
+ one: "1 hora",
673
+ other: "{{count}} horas",
674
+ },
675
+
676
+ xDays: {
677
+ one: "1 día",
678
+ other: "{{count}} días",
679
+ },
680
+
681
+ aboutXWeeks: {
682
+ one: "alrededor de 1 semana",
683
+ other: "alrededor de {{count}} semanas",
684
+ },
685
+
686
+ xWeeks: {
687
+ one: "1 semana",
688
+ other: "{{count}} semanas",
689
+ },
690
+
691
+ aboutXMonths: {
692
+ one: "alrededor de 1 mes",
693
+ other: "alrededor de {{count}} meses",
694
+ },
695
+
696
+ xMonths: {
697
+ one: "1 mes",
698
+ other: "{{count}} meses",
699
+ },
700
+
701
+ aboutXYears: {
702
+ one: "alrededor de 1 año",
703
+ other: "alrededor de {{count}} años",
704
+ },
705
+
706
+ xYears: {
707
+ one: "1 año",
708
+ other: "{{count}} años",
709
+ },
710
+
711
+ overXYears: {
712
+ one: "más de 1 año",
713
+ other: "más de {{count}} años",
714
+ },
715
+
716
+ almostXYears: {
717
+ one: "casi 1 año",
718
+ other: "casi {{count}} años",
719
+ },
720
+ };
721
+
722
+ const formatDistance = (token, count, options) => {
723
+ let result;
724
+
725
+ const tokenValue = formatDistanceLocale[token];
726
+ if (typeof tokenValue === "string") {
727
+ result = tokenValue;
728
+ } else if (count === 1) {
729
+ result = tokenValue.one;
730
+ } else {
731
+ result = tokenValue.other.replace("{{count}}", count.toString());
732
+ }
733
+
734
+ if (options?.addSuffix) {
735
+ if (options.comparison && options.comparison > 0) {
736
+ return "en " + result;
737
+ } else {
738
+ return "hace " + result;
739
+ }
740
+ }
741
+
742
+ return result;
743
+ };
744
+
745
+ const dateFormats = {
746
+ full: "EEEE, d 'de' MMMM 'de' y",
747
+ long: "d 'de' MMMM 'de' y",
748
+ medium: "d MMM y",
749
+ short: "dd/MM/y",
750
+ };
751
+
752
+ const timeFormats = {
753
+ full: "HH:mm:ss zzzz",
754
+ long: "HH:mm:ss z",
755
+ medium: "HH:mm:ss",
756
+ short: "HH:mm",
757
+ };
758
+
759
+ const dateTimeFormats = {
760
+ full: "{{date}} 'a las' {{time}}",
761
+ long: "{{date}} 'a las' {{time}}",
762
+ medium: "{{date}}, {{time}}",
763
+ short: "{{date}}, {{time}}",
764
+ };
765
+
766
+ const formatLong = {
767
+ date: buildFormatLongFn({
768
+ formats: dateFormats,
769
+ defaultWidth: "full",
770
+ }),
771
+
772
+ time: buildFormatLongFn({
773
+ formats: timeFormats,
774
+ defaultWidth: "full",
775
+ }),
776
+
777
+ dateTime: buildFormatLongFn({
778
+ formats: dateTimeFormats,
779
+ defaultWidth: "full",
780
+ }),
781
+ };
782
+
783
+ const formatRelativeLocale = {
784
+ lastWeek: "'el' eeee 'pasado a la' p",
785
+ yesterday: "'ayer a la' p",
786
+ today: "'hoy a la' p",
787
+ tomorrow: "'mañana a la' p",
788
+ nextWeek: "eeee 'a la' p",
789
+ other: "P",
790
+ };
791
+
792
+ const formatRelativeLocalePlural = {
793
+ lastWeek: "'el' eeee 'pasado a las' p",
794
+ yesterday: "'ayer a las' p",
795
+ today: "'hoy a las' p",
796
+ tomorrow: "'mañana a las' p",
797
+ nextWeek: "eeee 'a las' p",
798
+ other: "P",
799
+ };
800
+
801
+ const formatRelative = (token, date, _baseDate, _options) => {
802
+ if (date.getHours() !== 1) {
803
+ return formatRelativeLocalePlural[token];
804
+ } else {
805
+ return formatRelativeLocale[token];
806
+ }
807
+ };
808
+
809
+ const eraValues = {
810
+ narrow: ["AC", "DC"],
811
+ abbreviated: ["AC", "DC"],
812
+ wide: ["antes de cristo", "después de cristo"],
813
+ };
814
+
815
+ const quarterValues = {
816
+ narrow: ["1", "2", "3", "4"],
817
+ abbreviated: ["T1", "T2", "T3", "T4"],
818
+ wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"],
819
+ };
820
+
821
+ const monthValues = {
822
+ narrow: ["e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"],
823
+ abbreviated: [
824
+ "ene",
825
+ "feb",
826
+ "mar",
827
+ "abr",
828
+ "may",
829
+ "jun",
830
+ "jul",
831
+ "ago",
832
+ "sep",
833
+ "oct",
834
+ "nov",
835
+ "dic",
836
+ ],
837
+
838
+ wide: [
839
+ "enero",
840
+ "febrero",
841
+ "marzo",
842
+ "abril",
843
+ "mayo",
844
+ "junio",
845
+ "julio",
846
+ "agosto",
847
+ "septiembre",
848
+ "octubre",
849
+ "noviembre",
850
+ "diciembre",
851
+ ],
852
+ };
853
+
854
+ const dayValues = {
855
+ narrow: ["d", "l", "m", "m", "j", "v", "s"],
856
+ short: ["do", "lu", "ma", "mi", "ju", "vi", "sá"],
857
+ abbreviated: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"],
858
+ wide: [
859
+ "domingo",
860
+ "lunes",
861
+ "martes",
862
+ "miércoles",
863
+ "jueves",
864
+ "viernes",
865
+ "sábado",
866
+ ],
867
+ };
868
+
869
+ const dayPeriodValues = {
870
+ narrow: {
871
+ am: "a",
872
+ pm: "p",
873
+ midnight: "mn",
874
+ noon: "md",
875
+ morning: "mañana",
876
+ afternoon: "tarde",
877
+ evening: "tarde",
878
+ night: "noche",
879
+ },
880
+ abbreviated: {
881
+ am: "AM",
882
+ pm: "PM",
883
+ midnight: "medianoche",
884
+ noon: "mediodia",
885
+ morning: "mañana",
886
+ afternoon: "tarde",
887
+ evening: "tarde",
888
+ night: "noche",
889
+ },
890
+ wide: {
891
+ am: "a.m.",
892
+ pm: "p.m.",
893
+ midnight: "medianoche",
894
+ noon: "mediodia",
895
+ morning: "mañana",
896
+ afternoon: "tarde",
897
+ evening: "tarde",
898
+ night: "noche",
899
+ },
900
+ };
901
+
902
+ const formattingDayPeriodValues = {
903
+ narrow: {
904
+ am: "a",
905
+ pm: "p",
906
+ midnight: "mn",
907
+ noon: "md",
908
+ morning: "de la mañana",
909
+ afternoon: "de la tarde",
910
+ evening: "de la tarde",
911
+ night: "de la noche",
912
+ },
913
+ abbreviated: {
914
+ am: "AM",
915
+ pm: "PM",
916
+ midnight: "medianoche",
917
+ noon: "mediodia",
918
+ morning: "de la mañana",
919
+ afternoon: "de la tarde",
920
+ evening: "de la tarde",
921
+ night: "de la noche",
922
+ },
923
+ wide: {
924
+ am: "a.m.",
925
+ pm: "p.m.",
926
+ midnight: "medianoche",
927
+ noon: "mediodia",
928
+ morning: "de la mañana",
929
+ afternoon: "de la tarde",
930
+ evening: "de la tarde",
931
+ night: "de la noche",
932
+ },
933
+ };
934
+
935
+ const ordinalNumber = (dirtyNumber, _options) => {
936
+ const number = Number(dirtyNumber);
937
+ return number + "º";
938
+ };
939
+
940
+ const localize = {
941
+ ordinalNumber: ordinalNumber,
942
+
943
+ era: buildLocalizeFn({
944
+ values: eraValues,
945
+ defaultWidth: "wide",
946
+ }),
947
+
948
+ quarter: buildLocalizeFn({
949
+ values: quarterValues,
950
+ defaultWidth: "wide",
951
+ argumentCallback: (quarter) => Number(quarter) - 1,
952
+ }),
953
+
954
+ month: buildLocalizeFn({
955
+ values: monthValues,
956
+ defaultWidth: "wide",
957
+ }),
958
+
959
+ day: buildLocalizeFn({
960
+ values: dayValues,
961
+ defaultWidth: "wide",
962
+ }),
963
+
964
+ dayPeriod: buildLocalizeFn({
965
+ values: dayPeriodValues,
966
+ defaultWidth: "wide",
967
+ formattingValues: formattingDayPeriodValues,
968
+ defaultFormattingWidth: "wide",
969
+ }),
970
+ };
971
+
972
+ const matchOrdinalNumberPattern = /^(\d+)(º)?/i;
973
+ const parseOrdinalNumberPattern = /\d+/i;
974
+
975
+ const matchEraPatterns = {
976
+ narrow: /^(ac|dc|a|d)/i,
977
+ abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,
978
+ wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i,
979
+ };
980
+ const parseEraPatterns = {
981
+ any: [/^ac/i, /^dc/i],
982
+ wide: [
983
+ /^(antes de cristo|antes de la era com[uú]n)/i,
984
+ /^(despu[eé]s de cristo|era com[uú]n)/i,
985
+ ],
986
+ };
987
+
988
+ const matchQuarterPatterns = {
989
+ narrow: /^[1234]/i,
990
+ abbreviated: /^T[1234]/i,
991
+ wide: /^[1234](º)? trimestre/i,
992
+ };
993
+ const parseQuarterPatterns = {
994
+ any: [/1/i, /2/i, /3/i, /4/i],
995
+ };
996
+
997
+ const matchMonthPatterns = {
998
+ narrow: /^[efmajsond]/i,
999
+ abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,
1000
+ wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
1001
+ };
1002
+ const parseMonthPatterns = {
1003
+ narrow: [
1004
+ /^e/i,
1005
+ /^f/i,
1006
+ /^m/i,
1007
+ /^a/i,
1008
+ /^m/i,
1009
+ /^j/i,
1010
+ /^j/i,
1011
+ /^a/i,
1012
+ /^s/i,
1013
+ /^o/i,
1014
+ /^n/i,
1015
+ /^d/i,
1016
+ ],
1017
+
1018
+ any: [
1019
+ /^en/i,
1020
+ /^feb/i,
1021
+ /^mar/i,
1022
+ /^abr/i,
1023
+ /^may/i,
1024
+ /^jun/i,
1025
+ /^jul/i,
1026
+ /^ago/i,
1027
+ /^sep/i,
1028
+ /^oct/i,
1029
+ /^nov/i,
1030
+ /^dic/i,
1031
+ ],
1032
+ };
1033
+
1034
+ const matchDayPatterns = {
1035
+ narrow: /^[dlmjvs]/i,
1036
+ short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,
1037
+ abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,
1038
+ wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i,
1039
+ };
1040
+ const parseDayPatterns = {
1041
+ narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],
1042
+ any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i],
1043
+ };
1044
+
1045
+ const matchDayPeriodPatterns = {
1046
+ narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,
1047
+ any: /^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i,
1048
+ };
1049
+ const parseDayPeriodPatterns = {
1050
+ any: {
1051
+ am: /^a/i,
1052
+ pm: /^p/i,
1053
+ midnight: /^mn/i,
1054
+ noon: /^md/i,
1055
+ morning: /mañana/i,
1056
+ afternoon: /tarde/i,
1057
+ evening: /tarde/i,
1058
+ night: /noche/i,
1059
+ },
1060
+ };
1061
+
1062
+ const match = {
1063
+ ordinalNumber: buildMatchPatternFn({
1064
+ matchPattern: matchOrdinalNumberPattern,
1065
+ parsePattern: parseOrdinalNumberPattern,
1066
+ valueCallback: function (value) {
1067
+ return parseInt(value, 10);
1068
+ },
1069
+ }),
1070
+
1071
+ era: buildMatchFn({
1072
+ matchPatterns: matchEraPatterns,
1073
+ defaultMatchWidth: "wide",
1074
+ parsePatterns: parseEraPatterns,
1075
+ defaultParseWidth: "any",
1076
+ }),
1077
+
1078
+ quarter: buildMatchFn({
1079
+ matchPatterns: matchQuarterPatterns,
1080
+ defaultMatchWidth: "wide",
1081
+ parsePatterns: parseQuarterPatterns,
1082
+ defaultParseWidth: "any",
1083
+ valueCallback: (index) => index + 1,
1084
+ }),
1085
+
1086
+ month: buildMatchFn({
1087
+ matchPatterns: matchMonthPatterns,
1088
+ defaultMatchWidth: "wide",
1089
+ parsePatterns: parseMonthPatterns,
1090
+ defaultParseWidth: "any",
1091
+ }),
1092
+
1093
+ day: buildMatchFn({
1094
+ matchPatterns: matchDayPatterns,
1095
+ defaultMatchWidth: "wide",
1096
+ parsePatterns: parseDayPatterns,
1097
+ defaultParseWidth: "any",
1098
+ }),
1099
+
1100
+ dayPeriod: buildMatchFn({
1101
+ matchPatterns: matchDayPeriodPatterns,
1102
+ defaultMatchWidth: "any",
1103
+ parsePatterns: parseDayPeriodPatterns,
1104
+ defaultParseWidth: "any",
1105
+ }),
1106
+ };
1107
+
1108
+ /**
1109
+ * @category Locales
1110
+ * @summary Spanish locale.
1111
+ * @language Spanish
1112
+ * @iso-639-2 spa
1113
+ * @author Juan Angosto [@juanangosto](https://github.com/juanangosto)
1114
+ * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa)
1115
+ * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero)
1116
+ * @author Gastón Haro [@harogaston](https://github.com/harogaston)
1117
+ * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo)
1118
+ */
1119
+ const es = {
1120
+ code: "es",
1121
+ formatDistance: formatDistance,
1122
+ formatLong: formatLong,
1123
+ formatRelative: formatRelative,
1124
+ localize: localize,
1125
+ match: match,
1126
+ options: {
1127
+ weekStartsOn: 1 /* Monday */,
1128
+ firstWeekContainsDate: 1,
1129
+ },
1130
+ };
1131
+
1132
+ function getDateLocale(locale) {
1133
+ const language = locale.split("-")[0];
1134
+ if (language === "es")
1135
+ return es;
1136
+ return enUS;
1137
+ }
1138
+ function useDateLocale() {
1139
+ return getDateLocale(useReleasedLocale());
1140
+ }
1141
+
1142
+ export { enUS as e, getDateLocale as g, useDateLocale as u };