@wordpress/date 5.55.0 → 5.55.1-next.v.202609171837.0

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.
package/README.md CHANGED
@@ -22,18 +22,18 @@ Formats a date (like `date()` in PHP).
22
22
 
23
23
  _Related_
24
24
 
25
- - <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
26
- - <https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC>
25
+ - <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
26
+ - <https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC>
27
27
 
28
28
  _Parameters_
29
29
 
30
- - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
31
- - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
32
- - _timezone_ `string`: Timezone to output result in or a UTC offset. Defaults to timezone from site.
30
+ - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
31
+ - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
32
+ - _timezone_ `string`: Timezone to output result in or a UTC offset. Defaults to timezone from site.
33
33
 
34
34
  _Returns_
35
35
 
36
- - `string`: Formatted date in English.
36
+ - `string`: Formatted date in English.
37
37
 
38
38
  ### dateI18n
39
39
 
@@ -43,18 +43,18 @@ Backward Compatibility Notice: if `timezone` is set to `true`, the function beha
43
43
 
44
44
  _Related_
45
45
 
46
- - <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
47
- - <https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC>
46
+ - <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
47
+ - <https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC>
48
48
 
49
49
  _Parameters_
50
50
 
51
- - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
52
- - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
53
- - _timezone_ `string | number | boolean`: Timezone to output result in or a UTC offset. Defaults to timezone from site. Notice: `boolean` is effectively deprecated, but still supported for backward compatibility reasons.
51
+ - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
52
+ - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
53
+ - _timezone_ `string | number | boolean`: Timezone to output result in or a UTC offset. Defaults to timezone from site. Notice: `boolean` is effectively deprecated, but still supported for backward compatibility reasons.
54
54
 
55
55
  _Returns_
56
56
 
57
- - Formatted date.
57
+ - Formatted date.
58
58
 
59
59
  ### format
60
60
 
@@ -62,12 +62,12 @@ Formats a date. Does not alter the date's timezone.
62
62
 
63
63
  _Parameters_
64
64
 
65
- - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
66
- - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
65
+ - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
66
+ - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
67
67
 
68
68
  _Returns_
69
69
 
70
- - Formatted date.
70
+ - Formatted date.
71
71
 
72
72
  ### getDate
73
73
 
@@ -75,11 +75,11 @@ Create and return a JavaScript Date Object from a date string in the WP timezone
75
75
 
76
76
  _Parameters_
77
77
 
78
- - _dateString_ `string | null`: Date formatted in the WP timezone.
78
+ - _dateString_ `string | null`: Date formatted in the WP timezone.
79
79
 
80
80
  _Returns_
81
81
 
82
- - Date
82
+ - Date
83
83
 
84
84
  ### getSettings
85
85
 
@@ -87,7 +87,7 @@ Returns the currently defined date settings.
87
87
 
88
88
  _Returns_
89
89
 
90
- - `DateSettings`: Settings, including locale data.
90
+ - `DateSettings`: Settings, including locale data.
91
91
 
92
92
  ### gmdate
93
93
 
@@ -95,12 +95,12 @@ Formats a date (like `date()` in PHP), in the UTC timezone.
95
95
 
96
96
  _Parameters_
97
97
 
98
- - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
99
- - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
98
+ - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
99
+ - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
100
100
 
101
101
  _Returns_
102
102
 
103
- - Formatted date in English.
103
+ - Formatted date in English.
104
104
 
105
105
  ### gmdateI18n
106
106
 
@@ -108,12 +108,12 @@ Formats a date (like `wp_date()` in PHP), translating it into site's locale and
108
108
 
109
109
  _Parameters_
110
110
 
111
- - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
112
- - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
111
+ - _dateFormat_ `string`: PHP-style formatting string. See [php.net/date](https://www.php.net/manual/en/function.date.php).
112
+ - _dateValue_ `Moment | Date | string | number`: Date object or string, parsable by moment.js.
113
113
 
114
114
  _Returns_
115
115
 
116
- - Formatted date.
116
+ - Formatted date.
117
117
 
118
118
  ### humanTimeDiff
119
119
 
@@ -121,12 +121,12 @@ Returns a human-readable time difference between two dates, like human_time_diff
121
121
 
122
122
  _Parameters_
123
123
 
124
- - _from_ `Moment | Date | string | number`: From date, in the WP timezone.
125
- - _to_ `Moment | Date | string | number`: To date, formatted in the WP timezone.
124
+ - _from_ `Moment | Date | string | number`: From date, in the WP timezone.
125
+ - _to_ `Moment | Date | string | number`: To date, formatted in the WP timezone.
126
126
 
127
127
  _Returns_
128
128
 
129
- - Human-readable time difference.
129
+ - Human-readable time difference.
130
130
 
131
131
  ### isInTheFuture
132
132
 
@@ -134,11 +134,11 @@ Check whether a date is considered in the future according to the WordPress sett
134
134
 
135
135
  _Parameters_
136
136
 
137
- - _dateValue_ `Date | string | number`: Date String or Date object in the Defined WP Timezone.
137
+ - _dateValue_ `Date | string | number`: Date String or Date object in the Defined WP Timezone.
138
138
 
139
139
  _Returns_
140
140
 
141
- - Is in the future.
141
+ - Is in the future.
142
142
 
143
143
  ### setSettings
144
144
 
@@ -146,7 +146,7 @@ Adds a locale to moment, using the format supplied by `wp_localize_script()`.
146
146
 
147
147
  _Parameters_
148
148
 
149
- - _dateSettings_ `DateSettings`: Settings, including locale data.
149
+ - _dateSettings_ `DateSettings`: Settings, including locale data.
150
150
 
151
151
  <!-- END TOKEN(Autogenerated API docs) -->
152
152
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import type { Moment } from 'moment';\nimport momentLib from 'moment';\nimport 'moment-timezone/moment-timezone.js';\nimport 'moment-timezone/moment-timezone-utils.js';\nimport deprecated from '@wordpress/deprecated';\nimport type { DateSettings } from './types';\n\nexport type * from './types';\n\nconst WP_ZONE = 'WP';\n\n// This regular expression tests positive for UTC offsets as described in ISO 8601.\n// See: https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\nconst VALID_UTC_OFFSET = /^[+-][0-1][0-9](:?[0-9][0-9])?$/;\n\n// Changes made here will likely need to be synced with Core in the file\n// src/wp-includes/script-loader.php in `wp_default_packages_inline_scripts()`.\nlet settings: DateSettings = {\n\tl10n: {\n\t\tlocale: 'en',\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tmonthsShort: [\n\t\t\t'Jan',\n\t\t\t'Feb',\n\t\t\t'Mar',\n\t\t\t'Apr',\n\t\t\t'May',\n\t\t\t'Jun',\n\t\t\t'Jul',\n\t\t\t'Aug',\n\t\t\t'Sep',\n\t\t\t'Oct',\n\t\t\t'Nov',\n\t\t\t'Dec',\n\t\t],\n\t\tweekdays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t\tweekdaysShort: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],\n\t\tmeridiem: { am: 'am', pm: 'pm', AM: 'AM', PM: 'PM' },\n\t\trelative: {\n\t\t\tfuture: '%s from now',\n\t\t\tpast: '%s ago',\n\t\t\ts: 'a few seconds',\n\t\t\tss: '%d seconds',\n\t\t\tm: 'a minute',\n\t\t\tmm: '%d minutes',\n\t\t\th: 'an hour',\n\t\t\thh: '%d hours',\n\t\t\td: 'a day',\n\t\t\tdd: '%d days',\n\t\t\tM: 'a month',\n\t\t\tMM: '%d months',\n\t\t\ty: 'a year',\n\t\t\tyy: '%d years',\n\t\t},\n\t\tstartOfWeek: 0,\n\t},\n\tformats: {\n\t\ttime: 'g:i a',\n\t\tdate: 'F j, Y',\n\t\tdatetime: 'F j, Y g:i a',\n\t\tdatetimeAbbreviated: 'M j, Y g:i a',\n\t},\n\ttimezone: { offset: 0, offsetFormatted: '0', string: '', abbr: '' },\n};\n\n/**\n * Adds a locale to moment, using the format supplied by `wp_localize_script()`.\n *\n * @param dateSettings Settings, including locale data.\n */\nexport function setSettings( dateSettings: DateSettings ) {\n\tsettings = dateSettings;\n\n\tsetupWPTimezone();\n\n\t// Does moment already have a locale with the right name?\n\tif ( momentLib.locales().includes( dateSettings.l10n.locale ) ) {\n\t\t// Is that locale misconfigured, e.g. because we are on a site running\n\t\t// WordPress < 6.0?\n\t\tif (\n\t\t\tmomentLib\n\t\t\t\t.localeData( dateSettings.l10n.locale )\n\t\t\t\t.longDateFormat( 'LTS' ) === null\n\t\t) {\n\t\t\t// Delete the misconfigured locale.\n\t\t\tmomentLib.defineLocale( dateSettings.l10n.locale, null );\n\t\t} else {\n\t\t\t// We have a properly configured locale, so no need to create one.\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// defineLocale() will modify the current locale, so back it up.\n\tconst currentLocale = momentLib.locale();\n\n\t// Create locale.\n\tmomentLib.defineLocale( dateSettings.l10n.locale, {\n\t\t// Inherit anything missing from English. We don't load\n\t\t// moment-with-locales.js so English is all there is.\n\t\tparentLocale: 'en',\n\t\tmonths: dateSettings.l10n.months,\n\t\tmonthsShort: dateSettings.l10n.monthsShort,\n\t\tweekdays: dateSettings.l10n.weekdays,\n\t\tweekdaysShort: dateSettings.l10n.weekdaysShort,\n\t\tmeridiem( hour, minute, isLowercase ) {\n\t\t\tif ( hour < 12 ) {\n\t\t\t\treturn isLowercase\n\t\t\t\t\t? dateSettings.l10n.meridiem.am\n\t\t\t\t\t: dateSettings.l10n.meridiem.AM;\n\t\t\t}\n\t\t\treturn isLowercase\n\t\t\t\t? dateSettings.l10n.meridiem.pm\n\t\t\t\t: dateSettings.l10n.meridiem.PM;\n\t\t},\n\t\tlongDateFormat: {\n\t\t\tLT: dateSettings.formats.time,\n\t\t\tLTS: momentLib.localeData( 'en' ).longDateFormat( 'LTS' ),\n\t\t\tL: momentLib.localeData( 'en' ).longDateFormat( 'L' ),\n\t\t\tLL: dateSettings.formats.date,\n\t\t\tLLL: dateSettings.formats.datetime,\n\t\t\tLLLL: momentLib.localeData( 'en' ).longDateFormat( 'LLLL' ),\n\t\t},\n\t\t// From human_time_diff?\n\t\t// Set to `(number, withoutSuffix, key, isFuture) => {}` instead.\n\t\trelativeTime: dateSettings.l10n.relative,\n\t} );\n\n\t// Restore the locale to what it was.\n\tmomentLib.locale( currentLocale );\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @return {DateSettings} Settings, including locale data.\n */\nexport function getSettings() {\n\treturn settings;\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @deprecated\n * @return {DateSettings} Settings, including locale data.\n */\nexport function __experimentalGetSettings() {\n\tdeprecated( 'wp.date.__experimentalGetSettings', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.date.getSettings',\n\t} );\n\treturn getSettings();\n}\n\n// Cached packed zone string, used to re-add the WP zone without requiring\n// moment-timezone-utils (which provides .pack()) after a third-party plugin\n// reloads moment-timezone and destroys both the zone and the utils.\nlet wpZonePacked: string | undefined;\n\n/**\n * Ensures the custom WP timezone zone exists in moment-timezone's registry.\n *\n * Third-party plugins (e.g. WooCommerce) may load their own copy of\n * moment-timezone, which reinitializes the internal zone storage and\n * destroys the custom 'WP' zone. This function checks for the zone's\n * existence and re-creates it if necessary.\n */\nfunction ensureWPTimezone() {\n\tif ( ! momentLib.tz.zone( WP_ZONE ) ) {\n\t\tif ( wpZonePacked ) {\n\t\t\tmomentLib.tz.add( wpZonePacked );\n\t\t} else {\n\t\t\tsetupWPTimezone();\n\t\t}\n\t}\n}\n\nfunction setupWPTimezone() {\n\t// Get the current timezone settings from the WP timezone string.\n\tconst currentTimezone = momentLib.tz.zone( settings.timezone.string );\n\n\tlet packed;\n\t// Check to see if we have a valid TZ data, if so, use it for the custom WP_ZONE timezone, otherwise just use the offset.\n\tif ( currentTimezone ) {\n\t\t// Create WP timezone based off settings.timezone.string. We need to include the additional data so that we\n\t\t// don't lose information about daylight savings time and other items.\n\t\t// See https://github.com/WordPress/gutenberg/pull/48083\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: currentTimezone.abbrs,\n\t\t\tuntils: currentTimezone.untils,\n\t\t\toffsets: currentTimezone.offsets,\n\t\t} );\n\t} else {\n\t\t// Create WP timezone based off dateSettings.\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: [ WP_ZONE ],\n\t\t\tuntils: [ null ],\n\t\t\toffsets: [ -settings.timezone.offset * 60 || 0 ],\n\t\t} );\n\t}\n\n\twpZonePacked = packed;\n\tmomentLib.tz.add( packed );\n}\n\n// Date constants.\n/**\n * Number of seconds in one minute.\n */\nconst MINUTE_IN_SECONDS = 60;\n/**\n * Number of minutes in one hour.\n */\nconst HOUR_IN_MINUTES = 60;\n/**\n * Number of seconds in one hour.\n */\nconst HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS;\n\n/**\n * Map of PHP formats to Moment.js formats.\n *\n * These are used internally by {@link format}, and are either\n * a string representing the corresponding Moment.js format code, or a\n * function which returns the formatted string.\n *\n * This should only be used through {@link format}, not\n * directly.\n */\nconst formatMap = {\n\t// Day.\n\td: 'DD',\n\tD: 'ddd',\n\tj: 'D',\n\tl: 'dddd',\n\tN: 'E',\n\n\t/**\n\t * Gets the ordinal suffix.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tS( momentDate: Moment ) {\n\t\t// Do - D.\n\t\tconst num = momentDate.format( 'D' );\n\t\tconst withOrdinal = momentDate.format( 'Do' );\n\t\treturn withOrdinal.replace( num, '' );\n\t},\n\n\tw: 'd',\n\t/**\n\t * Gets the day of the year (zero-indexed).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tz( momentDate: Moment ) {\n\t\t// DDD - 1.\n\t\treturn ( parseInt( momentDate.format( 'DDD' ), 10 ) - 1 ).toString();\n\t},\n\n\t// Week.\n\tW: 'W',\n\n\t// Month.\n\tF: 'MMMM',\n\tm: 'MM',\n\tM: 'MMM',\n\tn: 'M',\n\t/**\n\t * Gets the days in the month.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tt( momentDate: Moment ) {\n\t\treturn momentDate.daysInMonth();\n\t},\n\n\t// Year.\n\t/**\n\t * Gets whether the current year is a leap year.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tL( momentDate: Moment ) {\n\t\treturn momentDate.isLeapYear() ? '1' : '0';\n\t},\n\to: 'GGGG',\n\tY: 'YYYY',\n\ty: 'YY',\n\n\t// Time.\n\ta: 'a',\n\tA: 'A',\n\t/**\n\t * Gets the current time in Swatch Internet Time (.beats).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tB( momentDate: Moment ) {\n\t\tconst timezoned = momentLib( momentDate ).utcOffset( 60 );\n\t\tconst seconds = parseInt( timezoned.format( 's' ), 10 ),\n\t\t\tminutes = parseInt( timezoned.format( 'm' ), 10 ),\n\t\t\thours = parseInt( timezoned.format( 'H' ), 10 );\n\t\treturn parseInt(\n\t\t\t(\n\t\t\t\t( seconds +\n\t\t\t\t\tminutes * MINUTE_IN_SECONDS +\n\t\t\t\t\thours * HOUR_IN_SECONDS ) /\n\t\t\t\t86.4\n\t\t\t).toString(),\n\t\t\t10\n\t\t);\n\t},\n\tg: 'h',\n\tG: 'H',\n\th: 'hh',\n\tH: 'HH',\n\ti: 'mm',\n\ts: 'ss',\n\tu: 'SSSSSS',\n\tv: 'SSS',\n\t// Timezone.\n\te: 'zz',\n\t/**\n\t * Gets whether the timezone is in DST currently.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tI( momentDate: Moment ) {\n\t\treturn momentDate.isDST() ? '1' : '0';\n\t},\n\tO: 'ZZ',\n\tP: 'Z',\n\tT: 'z',\n\t/**\n\t * Gets the timezone offset in seconds.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tZ( momentDate: Moment ) {\n\t\t// Timezone offset in seconds.\n\t\tconst offset = momentDate.format( 'Z' );\n\t\tconst sign = offset[ 0 ] === '-' ? -1 : 1;\n\t\tconst parts = offset\n\t\t\t.substring( 1 )\n\t\t\t.split( ':' )\n\t\t\t.map( ( n ) => parseInt( n, 10 ) );\n\t\treturn (\n\t\t\tsign *\n\t\t\t( parts[ 0 ] * HOUR_IN_MINUTES + parts[ 1 ] ) *\n\t\t\tMINUTE_IN_SECONDS\n\t\t);\n\t},\n\t// Full date/time.\n\tc: 'YYYY-MM-DDTHH:mm:ssZ', // .toISOString.\n\t/**\n\t * Formats the date as RFC2822.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tr( momentDate: Moment ) {\n\t\treturn momentDate\n\t\t\t.locale( 'en' )\n\t\t\t.format( 'ddd, DD MMM YYYY HH:mm:ss ZZ' );\n\t},\n\tU: 'X',\n};\n\n/**\n * Formats a date. Does not alter the date's timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function format(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tlet i, char;\n\tconst newFormat = [];\n\tconst momentDate = momentLib( dateValue );\n\tfor ( i = 0; i < dateFormat.length; i++ ) {\n\t\tchar = dateFormat[ i ];\n\t\t// Is this an escape?\n\t\tif ( '\\\\' === char ) {\n\t\t\t// Add next character, then move on.\n\t\t\ti++;\n\t\t\tnewFormat.push( '[' + dateFormat[ i ] + ']' );\n\t\t\tcontinue;\n\t\t}\n\t\tif ( char in formatMap ) {\n\t\t\tconst formatter = formatMap[ char as keyof typeof formatMap ];\n\t\t\tif ( typeof formatter !== 'string' ) {\n\t\t\t\t// If the format is a function, call it.\n\t\t\t\tnewFormat.push( '[' + formatter( momentDate ) + ']' );\n\t\t\t} else {\n\t\t\t\t// Otherwise, add as a formatting string.\n\t\t\t\tnewFormat.push( formatter );\n\t\t\t}\n\t\t} else {\n\t\t\tnewFormat.push( '[' + char + ']' );\n\t\t}\n\t}\n\t// Join with [] between to separate characters, and replace\n\t// unneeded separators with static text.\n\treturn momentDate.format( newFormat.join( '[]' ) );\n}\n\n/**\n * Formats a date (like `date()` in PHP).\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return {string} Formatted date in English.\n */\nexport function date(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string\n) {\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `date()` in PHP), in the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date in English.\n */\nexport function gmdate(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale.\n *\n * Backward Compatibility Notice: if `timezone` is set to `true`, the function\n * behaves like `gmdateI18n`.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable by\n * moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site. Notice: `boolean` is effectively\n * deprecated, but still supported for\n * backward compatibility reasons.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return Formatted date.\n */\nexport function dateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string | number | boolean\n) {\n\tif ( true === timezone ) {\n\t\treturn gmdateI18n( dateFormat, dateValue );\n\t}\n\n\tif ( false === timezone ) {\n\t\ttimezone = undefined;\n\t}\n\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale\n * and using the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function gmdateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Check whether a date is considered in the future according to the WordPress settings.\n *\n * @param dateValue Date String or Date object in the Defined WP Timezone.\n *\n * @return Is in the future.\n */\nexport function isInTheFuture( dateValue: Date | string | number ) {\n\tensureWPTimezone();\n\tconst now = momentLib.tz( WP_ZONE );\n\tconst momentObject = momentLib.tz( dateValue, WP_ZONE );\n\n\treturn momentObject.isAfter( now );\n}\n\n/**\n * Create and return a JavaScript Date Object from a date string in the WP timezone.\n *\n * @param dateString Date formatted in the WP timezone.\n *\n * @return Date\n */\nexport function getDate( dateString?: string | null ) {\n\tensureWPTimezone();\n\tif ( ! dateString ) {\n\t\treturn momentLib.tz( WP_ZONE ).toDate();\n\t}\n\n\treturn momentLib.tz( dateString, WP_ZONE ).toDate();\n}\n\n/**\n * Returns a human-readable time difference between two dates, like human_time_diff() in PHP.\n *\n * @param from From date, in the WP timezone.\n * @param to To date, formatted in the WP timezone.\n *\n * @return Human-readable time difference.\n */\nexport function humanTimeDiff(\n\tfrom: Moment | Date | string | number,\n\tto?: Moment | Date | string | number\n) {\n\tensureWPTimezone();\n\tconst fromMoment = momentLib.tz( from, WP_ZONE );\n\tconst toMoment = to ? momentLib.tz( to, WP_ZONE ) : momentLib.tz( WP_ZONE );\n\treturn fromMoment.from( toMoment );\n}\n\n/**\n * Creates a moment instance using the given timezone or, if none is provided, using global settings.\n *\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return A moment instance.\n */\nfunction buildMoment(\n\tdateValue: Moment | Date | string | number,\n\ttimezone: string | number = ''\n) {\n\tconst dateMoment = momentLib( dateValue );\n\n\tif ( timezone !== '' ) {\n\t\treturn isUTCOffset( timezone )\n\t\t\t? dateMoment.utcOffset( timezone )\n\t\t\t: // A false isUTCOffset() guarantees that timezone is a string.\n\t\t\t dateMoment.tz( timezone as string );\n\t}\n\n\tif ( settings.timezone.string ) {\n\t\treturn dateMoment.tz( settings.timezone.string );\n\t}\n\n\treturn dateMoment.utcOffset( +settings.timezone.offset );\n}\n\n/**\n * Returns whether a certain UTC offset is valid or not.\n *\n * @param offset a UTC offset.\n *\n * @return whether a certain UTC offset is valid or not.\n */\nfunction isUTCOffset( offset: number | string ) {\n\tif ( 'number' === typeof offset ) {\n\t\treturn true;\n\t}\n\n\treturn VALID_UTC_OFFSET.test( offset );\n}\n\nsetupWPTimezone();\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { Moment } from 'moment';\nimport momentLib from 'moment';\nimport 'moment-timezone/moment-timezone.js';\nimport 'moment-timezone/moment-timezone-utils.js';\nimport deprecated from '@wordpress/deprecated';\nimport type { DateSettings } from './types';\n\nexport type * from './types';\n\nconst WP_ZONE = 'WP';\n\n// This regular expression tests positive for UTC offsets as described in ISO 8601.\n// See: https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\nconst VALID_UTC_OFFSET = /^[+-][0-1][0-9](:?[0-9][0-9])?$/;\n\n// Changes made here will likely need to be synced with Core in the file\n// src/wp-includes/script-loader.php in `wp_default_packages_inline_scripts()`.\nlet settings: DateSettings = {\n\tl10n: {\n\t\tlocale: 'en',\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tmonthsShort: [\n\t\t\t'Jan',\n\t\t\t'Feb',\n\t\t\t'Mar',\n\t\t\t'Apr',\n\t\t\t'May',\n\t\t\t'Jun',\n\t\t\t'Jul',\n\t\t\t'Aug',\n\t\t\t'Sep',\n\t\t\t'Oct',\n\t\t\t'Nov',\n\t\t\t'Dec',\n\t\t],\n\t\tweekdays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t\tweekdaysShort: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],\n\t\tmeridiem: { am: 'am', pm: 'pm', AM: 'AM', PM: 'PM' },\n\t\trelative: {\n\t\t\tfuture: '%s from now',\n\t\t\tpast: '%s ago',\n\t\t\ts: 'a few seconds',\n\t\t\tss: '%d seconds',\n\t\t\tm: 'a minute',\n\t\t\tmm: '%d minutes',\n\t\t\th: 'an hour',\n\t\t\thh: '%d hours',\n\t\t\td: 'a day',\n\t\t\tdd: '%d days',\n\t\t\tM: 'a month',\n\t\t\tMM: '%d months',\n\t\t\ty: 'a year',\n\t\t\tyy: '%d years',\n\t\t},\n\t\tstartOfWeek: 0,\n\t},\n\tformats: {\n\t\ttime: 'g:i a',\n\t\tdate: 'F j, Y',\n\t\tdatetime: 'F j, Y g:i a',\n\t\tdatetimeAbbreviated: 'M j, Y g:i a',\n\t},\n\ttimezone: { offset: 0, offsetFormatted: '0', string: '', abbr: '' },\n};\n\n/**\n * Adds a locale to moment, using the format supplied by `wp_localize_script()`.\n *\n * @param dateSettings Settings, including locale data.\n */\nexport function setSettings( dateSettings: DateSettings ) {\n\tsettings = dateSettings;\n\n\tsetupWPTimezone();\n\n\t// Does moment already have a locale with the right name?\n\tif ( momentLib.locales().includes( dateSettings.l10n.locale ) ) {\n\t\t// Is that locale misconfigured, e.g. because we are on a site running\n\t\t// WordPress < 6.0?\n\t\tif (\n\t\t\tmomentLib\n\t\t\t\t.localeData( dateSettings.l10n.locale )\n\t\t\t\t.longDateFormat( 'LTS' ) === null\n\t\t) {\n\t\t\t// Delete the misconfigured locale.\n\t\t\tmomentLib.defineLocale( dateSettings.l10n.locale, null );\n\t\t} else {\n\t\t\t// We have a properly configured locale, so no need to create one.\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// defineLocale() will modify the current locale, so back it up.\n\tconst currentLocale = momentLib.locale();\n\n\t// Create locale.\n\tmomentLib.defineLocale( dateSettings.l10n.locale, {\n\t\t// Inherit anything missing from English. We don't load\n\t\t// moment-with-locales.js so English is all there is.\n\t\tparentLocale: 'en',\n\t\tmonths: dateSettings.l10n.months,\n\t\tmonthsShort: dateSettings.l10n.monthsShort,\n\t\tweekdays: dateSettings.l10n.weekdays,\n\t\tweekdaysShort: dateSettings.l10n.weekdaysShort,\n\t\tmeridiem( hour, minute, isLowercase ) {\n\t\t\tif ( hour < 12 ) {\n\t\t\t\treturn isLowercase\n\t\t\t\t\t? dateSettings.l10n.meridiem.am\n\t\t\t\t\t: dateSettings.l10n.meridiem.AM;\n\t\t\t}\n\t\t\treturn isLowercase\n\t\t\t\t? dateSettings.l10n.meridiem.pm\n\t\t\t\t: dateSettings.l10n.meridiem.PM;\n\t\t},\n\t\tlongDateFormat: {\n\t\t\tLT: dateSettings.formats.time,\n\t\t\tLTS: momentLib.localeData( 'en' ).longDateFormat( 'LTS' ),\n\t\t\tL: momentLib.localeData( 'en' ).longDateFormat( 'L' ),\n\t\t\tLL: dateSettings.formats.date,\n\t\t\tLLL: dateSettings.formats.datetime,\n\t\t\tLLLL: momentLib.localeData( 'en' ).longDateFormat( 'LLLL' ),\n\t\t},\n\t\t// From human_time_diff?\n\t\t// Set to `(number, withoutSuffix, key, isFuture) => {}` instead.\n\t\trelativeTime: dateSettings.l10n.relative,\n\t} );\n\n\t// Restore the locale to what it was.\n\tmomentLib.locale( currentLocale );\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @return {DateSettings} Settings, including locale data.\n */\nexport function getSettings() {\n\treturn settings;\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @deprecated\n * @return {DateSettings} Settings, including locale data.\n */\nexport function __experimentalGetSettings() {\n\tdeprecated( 'wp.date.__experimentalGetSettings', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.date.getSettings',\n\t} );\n\treturn getSettings();\n}\n\n// Cached packed zone string, used to re-add the WP zone without requiring\n// moment-timezone-utils (which provides .pack()) after a third-party plugin\n// reloads moment-timezone and destroys both the zone and the utils.\nlet wpZonePacked: string | undefined;\n\n/**\n * Ensures the custom WP timezone zone exists in moment-timezone's registry.\n *\n * Third-party plugins (e.g. WooCommerce) may load their own copy of\n * moment-timezone, which reinitializes the internal zone storage and\n * destroys the custom 'WP' zone. This function checks for the zone's\n * existence and re-creates it if necessary.\n */\nfunction ensureWPTimezone() {\n\tif ( ! momentLib.tz.zone( WP_ZONE ) ) {\n\t\tif ( wpZonePacked ) {\n\t\t\tmomentLib.tz.add( wpZonePacked );\n\t\t} else {\n\t\t\tsetupWPTimezone();\n\t\t}\n\t}\n}\n\nfunction setupWPTimezone() {\n\t// Get the current timezone settings from the WP timezone string.\n\tconst currentTimezone = momentLib.tz.zone( settings.timezone.string );\n\n\tlet packed;\n\t// Check to see if we have a valid TZ data, if so, use it for the custom WP_ZONE timezone, otherwise just use the offset.\n\tif ( currentTimezone ) {\n\t\t// Create WP timezone based off settings.timezone.string. We need to include the additional data so that we\n\t\t// don't lose information about daylight savings time and other items.\n\t\t// See https://github.com/WordPress/gutenberg/pull/48083\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: currentTimezone.abbrs,\n\t\t\tuntils: currentTimezone.untils,\n\t\t\toffsets: currentTimezone.offsets,\n\t\t} );\n\t} else {\n\t\t// Create WP timezone based off dateSettings.\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: [ WP_ZONE ],\n\t\t\tuntils: [ null ],\n\t\t\toffsets: [ -settings.timezone.offset * 60 || 0 ],\n\t\t} );\n\t}\n\n\twpZonePacked = packed;\n\tmomentLib.tz.add( packed );\n}\n\n// Date constants.\n/**\n * Number of seconds in one minute.\n */\nconst MINUTE_IN_SECONDS = 60;\n/**\n * Number of minutes in one hour.\n */\nconst HOUR_IN_MINUTES = 60;\n/**\n * Number of seconds in one hour.\n */\nconst HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS;\n\n/**\n * Map of PHP formats to Moment.js formats.\n *\n * These are used internally by {@link format}, and are either\n * a string representing the corresponding Moment.js format code, or a\n * function which returns the formatted string.\n *\n * This should only be used through {@link format}, not\n * directly.\n */\nconst formatMap = {\n\t// Day.\n\td: 'DD',\n\tD: 'ddd',\n\tj: 'D',\n\tl: 'dddd',\n\tN: 'E',\n\n\t/**\n\t * Gets the ordinal suffix.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tS( momentDate: Moment ) {\n\t\t// Do - D.\n\t\tconst num = momentDate.format( 'D' );\n\t\tconst withOrdinal = momentDate.format( 'Do' );\n\t\treturn withOrdinal.replace( num, '' );\n\t},\n\n\tw: 'd',\n\t/**\n\t * Gets the day of the year (zero-indexed).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tz( momentDate: Moment ) {\n\t\t// DDD - 1.\n\t\treturn ( parseInt( momentDate.format( 'DDD' ), 10 ) - 1 ).toString();\n\t},\n\n\t// Week.\n\tW: 'W',\n\n\t// Month.\n\tF: 'MMMM',\n\tm: 'MM',\n\tM: 'MMM',\n\tn: 'M',\n\t/**\n\t * Gets the days in the month.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tt( momentDate: Moment ) {\n\t\treturn momentDate.daysInMonth();\n\t},\n\n\t// Year.\n\t/**\n\t * Gets whether the current year is a leap year.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tL( momentDate: Moment ) {\n\t\treturn momentDate.isLeapYear() ? '1' : '0';\n\t},\n\to: 'GGGG',\n\tY: 'YYYY',\n\ty: 'YY',\n\n\t// Time.\n\ta: 'a',\n\tA: 'A',\n\t/**\n\t * Gets the current time in Swatch Internet Time (.beats).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tB( momentDate: Moment ) {\n\t\tconst timezoned = momentLib( momentDate ).utcOffset( 60 );\n\t\tconst seconds = parseInt( timezoned.format( 's' ), 10 ),\n\t\t\tminutes = parseInt( timezoned.format( 'm' ), 10 ),\n\t\t\thours = parseInt( timezoned.format( 'H' ), 10 );\n\t\treturn parseInt(\n\t\t\t(\n\t\t\t\t( seconds +\n\t\t\t\t\tminutes * MINUTE_IN_SECONDS +\n\t\t\t\t\thours * HOUR_IN_SECONDS ) /\n\t\t\t\t86.4\n\t\t\t).toString(),\n\t\t\t10\n\t\t);\n\t},\n\tg: 'h',\n\tG: 'H',\n\th: 'hh',\n\tH: 'HH',\n\ti: 'mm',\n\ts: 'ss',\n\tu: 'SSSSSS',\n\tv: 'SSS',\n\t// Timezone.\n\te: 'zz',\n\t/**\n\t * Gets whether the timezone is in DST currently.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tI( momentDate: Moment ) {\n\t\treturn momentDate.isDST() ? '1' : '0';\n\t},\n\tO: 'ZZ',\n\tP: 'Z',\n\tT: 'z',\n\t/**\n\t * Gets the timezone offset in seconds.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tZ( momentDate: Moment ) {\n\t\t// Timezone offset in seconds.\n\t\tconst offset = momentDate.format( 'Z' );\n\t\tconst sign = offset[ 0 ] === '-' ? -1 : 1;\n\t\tconst parts = offset\n\t\t\t.substring( 1 )\n\t\t\t.split( ':' )\n\t\t\t.map( ( n ) => parseInt( n, 10 ) );\n\t\treturn (\n\t\t\tsign *\n\t\t\t( parts[ 0 ] * HOUR_IN_MINUTES + parts[ 1 ] ) *\n\t\t\tMINUTE_IN_SECONDS\n\t\t);\n\t},\n\t// Full date/time.\n\tc: 'YYYY-MM-DDTHH:mm:ssZ', // .toISOString.\n\t/**\n\t * Formats the date as RFC2822.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tr( momentDate: Moment ) {\n\t\treturn momentDate\n\t\t\t.locale( 'en' )\n\t\t\t.format( 'ddd, DD MMM YYYY HH:mm:ss ZZ' );\n\t},\n\tU: 'X',\n};\n\n/**\n * Formats a date. Does not alter the date's timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function format(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tlet i, char;\n\tconst newFormat = [];\n\tconst momentDate = momentLib( dateValue );\n\tfor ( i = 0; i < dateFormat.length; i++ ) {\n\t\tchar = dateFormat[ i ];\n\t\t// Is this an escape?\n\t\tif ( '\\\\' === char ) {\n\t\t\t// Add next character, then move on.\n\t\t\ti++;\n\t\t\tnewFormat.push( '[' + dateFormat[ i ] + ']' );\n\t\t\tcontinue;\n\t\t}\n\t\tif ( char in formatMap ) {\n\t\t\tconst formatter = formatMap[ char as keyof typeof formatMap ];\n\t\t\tif ( typeof formatter !== 'string' ) {\n\t\t\t\t// If the format is a function, call it.\n\t\t\t\tnewFormat.push( '[' + formatter( momentDate ) + ']' );\n\t\t\t} else {\n\t\t\t\t// Otherwise, add as a formatting string.\n\t\t\t\tnewFormat.push( formatter );\n\t\t\t}\n\t\t} else {\n\t\t\tnewFormat.push( '[' + char + ']' );\n\t\t}\n\t}\n\t// Join with [] between to separate characters, and replace\n\t// unneeded separators with static text.\n\treturn momentDate.format( newFormat.join( '[]' ) );\n}\n\n/**\n * Formats a date (like `date()` in PHP).\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return {string} Formatted date in English.\n */\nexport function date(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string\n) {\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `date()` in PHP), in the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date in English.\n */\nexport function gmdate(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale.\n *\n * Backward Compatibility Notice: if `timezone` is set to `true`, the function\n * behaves like `gmdateI18n`.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable by\n * moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site. Notice: `boolean` is effectively\n * deprecated, but still supported for\n * backward compatibility reasons.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return Formatted date.\n */\nexport function dateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string | number | boolean\n) {\n\tif ( true === timezone ) {\n\t\treturn gmdateI18n( dateFormat, dateValue );\n\t}\n\n\tif ( false === timezone ) {\n\t\ttimezone = undefined;\n\t}\n\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale\n * and using the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function gmdateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Check whether a date is considered in the future according to the WordPress settings.\n *\n * @param dateValue Date String or Date object in the Defined WP Timezone.\n *\n * @return Is in the future.\n */\nexport function isInTheFuture( dateValue: Date | string | number ) {\n\tensureWPTimezone();\n\tconst now = momentLib.tz( WP_ZONE );\n\tconst momentObject = momentLib.tz( dateValue, WP_ZONE );\n\n\treturn momentObject.isAfter( now );\n}\n\n/**\n * Create and return a JavaScript Date Object from a date string in the WP timezone.\n *\n * @param dateString Date formatted in the WP timezone.\n *\n * @return Date\n */\nexport function getDate( dateString?: string | null ) {\n\tensureWPTimezone();\n\tif ( ! dateString ) {\n\t\treturn momentLib.tz( WP_ZONE ).toDate();\n\t}\n\n\treturn momentLib.tz( dateString, WP_ZONE ).toDate();\n}\n\n/**\n * Returns a human-readable time difference between two dates, like human_time_diff() in PHP.\n *\n * @param from From date, in the WP timezone.\n * @param to To date, formatted in the WP timezone.\n *\n * @return Human-readable time difference.\n */\nexport function humanTimeDiff(\n\tfrom: Moment | Date | string | number,\n\tto?: Moment | Date | string | number\n) {\n\tensureWPTimezone();\n\tconst fromMoment = momentLib.tz( from, WP_ZONE );\n\tconst toMoment = to ? momentLib.tz( to, WP_ZONE ) : momentLib.tz( WP_ZONE );\n\treturn fromMoment.from( toMoment );\n}\n\n/**\n * Creates a moment instance using the given timezone or, if none is provided, using global settings.\n *\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return A moment instance.\n */\nfunction buildMoment(\n\tdateValue: Moment | Date | string | number,\n\ttimezone: string | number = ''\n) {\n\tconst dateMoment = momentLib( dateValue );\n\n\tif ( timezone !== '' ) {\n\t\treturn isUTCOffset( timezone )\n\t\t\t? dateMoment.utcOffset( timezone )\n\t\t\t: // A false isUTCOffset() guarantees that timezone is a string.\n\t\t\t\tdateMoment.tz( timezone as string );\n\t}\n\n\tif ( settings.timezone.string ) {\n\t\treturn dateMoment.tz( settings.timezone.string );\n\t}\n\n\treturn dateMoment.utcOffset( +settings.timezone.offset );\n}\n\n/**\n * Returns whether a certain UTC offset is valid or not.\n *\n * @param offset a UTC offset.\n *\n * @return whether a certain UTC offset is valid or not.\n */\nfunction isUTCOffset( offset: number | string ) {\n\tif ( 'number' === typeof offset ) {\n\t\treturn true;\n\t}\n\n\treturn VALID_UTC_OFFSET.test( offset );\n}\n\nsetupWPTimezone();\n"],
5
+ "mappings": "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",
6
6
  "names": ["momentLib", "deprecated"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import type { Moment } from 'moment';\nimport momentLib from 'moment';\nimport 'moment-timezone/moment-timezone.js';\nimport 'moment-timezone/moment-timezone-utils.js';\nimport deprecated from '@wordpress/deprecated';\nimport type { DateSettings } from './types';\n\nexport type * from './types';\n\nconst WP_ZONE = 'WP';\n\n// This regular expression tests positive for UTC offsets as described in ISO 8601.\n// See: https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\nconst VALID_UTC_OFFSET = /^[+-][0-1][0-9](:?[0-9][0-9])?$/;\n\n// Changes made here will likely need to be synced with Core in the file\n// src/wp-includes/script-loader.php in `wp_default_packages_inline_scripts()`.\nlet settings: DateSettings = {\n\tl10n: {\n\t\tlocale: 'en',\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tmonthsShort: [\n\t\t\t'Jan',\n\t\t\t'Feb',\n\t\t\t'Mar',\n\t\t\t'Apr',\n\t\t\t'May',\n\t\t\t'Jun',\n\t\t\t'Jul',\n\t\t\t'Aug',\n\t\t\t'Sep',\n\t\t\t'Oct',\n\t\t\t'Nov',\n\t\t\t'Dec',\n\t\t],\n\t\tweekdays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t\tweekdaysShort: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],\n\t\tmeridiem: { am: 'am', pm: 'pm', AM: 'AM', PM: 'PM' },\n\t\trelative: {\n\t\t\tfuture: '%s from now',\n\t\t\tpast: '%s ago',\n\t\t\ts: 'a few seconds',\n\t\t\tss: '%d seconds',\n\t\t\tm: 'a minute',\n\t\t\tmm: '%d minutes',\n\t\t\th: 'an hour',\n\t\t\thh: '%d hours',\n\t\t\td: 'a day',\n\t\t\tdd: '%d days',\n\t\t\tM: 'a month',\n\t\t\tMM: '%d months',\n\t\t\ty: 'a year',\n\t\t\tyy: '%d years',\n\t\t},\n\t\tstartOfWeek: 0,\n\t},\n\tformats: {\n\t\ttime: 'g:i a',\n\t\tdate: 'F j, Y',\n\t\tdatetime: 'F j, Y g:i a',\n\t\tdatetimeAbbreviated: 'M j, Y g:i a',\n\t},\n\ttimezone: { offset: 0, offsetFormatted: '0', string: '', abbr: '' },\n};\n\n/**\n * Adds a locale to moment, using the format supplied by `wp_localize_script()`.\n *\n * @param dateSettings Settings, including locale data.\n */\nexport function setSettings( dateSettings: DateSettings ) {\n\tsettings = dateSettings;\n\n\tsetupWPTimezone();\n\n\t// Does moment already have a locale with the right name?\n\tif ( momentLib.locales().includes( dateSettings.l10n.locale ) ) {\n\t\t// Is that locale misconfigured, e.g. because we are on a site running\n\t\t// WordPress < 6.0?\n\t\tif (\n\t\t\tmomentLib\n\t\t\t\t.localeData( dateSettings.l10n.locale )\n\t\t\t\t.longDateFormat( 'LTS' ) === null\n\t\t) {\n\t\t\t// Delete the misconfigured locale.\n\t\t\tmomentLib.defineLocale( dateSettings.l10n.locale, null );\n\t\t} else {\n\t\t\t// We have a properly configured locale, so no need to create one.\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// defineLocale() will modify the current locale, so back it up.\n\tconst currentLocale = momentLib.locale();\n\n\t// Create locale.\n\tmomentLib.defineLocale( dateSettings.l10n.locale, {\n\t\t// Inherit anything missing from English. We don't load\n\t\t// moment-with-locales.js so English is all there is.\n\t\tparentLocale: 'en',\n\t\tmonths: dateSettings.l10n.months,\n\t\tmonthsShort: dateSettings.l10n.monthsShort,\n\t\tweekdays: dateSettings.l10n.weekdays,\n\t\tweekdaysShort: dateSettings.l10n.weekdaysShort,\n\t\tmeridiem( hour, minute, isLowercase ) {\n\t\t\tif ( hour < 12 ) {\n\t\t\t\treturn isLowercase\n\t\t\t\t\t? dateSettings.l10n.meridiem.am\n\t\t\t\t\t: dateSettings.l10n.meridiem.AM;\n\t\t\t}\n\t\t\treturn isLowercase\n\t\t\t\t? dateSettings.l10n.meridiem.pm\n\t\t\t\t: dateSettings.l10n.meridiem.PM;\n\t\t},\n\t\tlongDateFormat: {\n\t\t\tLT: dateSettings.formats.time,\n\t\t\tLTS: momentLib.localeData( 'en' ).longDateFormat( 'LTS' ),\n\t\t\tL: momentLib.localeData( 'en' ).longDateFormat( 'L' ),\n\t\t\tLL: dateSettings.formats.date,\n\t\t\tLLL: dateSettings.formats.datetime,\n\t\t\tLLLL: momentLib.localeData( 'en' ).longDateFormat( 'LLLL' ),\n\t\t},\n\t\t// From human_time_diff?\n\t\t// Set to `(number, withoutSuffix, key, isFuture) => {}` instead.\n\t\trelativeTime: dateSettings.l10n.relative,\n\t} );\n\n\t// Restore the locale to what it was.\n\tmomentLib.locale( currentLocale );\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @return {DateSettings} Settings, including locale data.\n */\nexport function getSettings() {\n\treturn settings;\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @deprecated\n * @return {DateSettings} Settings, including locale data.\n */\nexport function __experimentalGetSettings() {\n\tdeprecated( 'wp.date.__experimentalGetSettings', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.date.getSettings',\n\t} );\n\treturn getSettings();\n}\n\n// Cached packed zone string, used to re-add the WP zone without requiring\n// moment-timezone-utils (which provides .pack()) after a third-party plugin\n// reloads moment-timezone and destroys both the zone and the utils.\nlet wpZonePacked: string | undefined;\n\n/**\n * Ensures the custom WP timezone zone exists in moment-timezone's registry.\n *\n * Third-party plugins (e.g. WooCommerce) may load their own copy of\n * moment-timezone, which reinitializes the internal zone storage and\n * destroys the custom 'WP' zone. This function checks for the zone's\n * existence and re-creates it if necessary.\n */\nfunction ensureWPTimezone() {\n\tif ( ! momentLib.tz.zone( WP_ZONE ) ) {\n\t\tif ( wpZonePacked ) {\n\t\t\tmomentLib.tz.add( wpZonePacked );\n\t\t} else {\n\t\t\tsetupWPTimezone();\n\t\t}\n\t}\n}\n\nfunction setupWPTimezone() {\n\t// Get the current timezone settings from the WP timezone string.\n\tconst currentTimezone = momentLib.tz.zone( settings.timezone.string );\n\n\tlet packed;\n\t// Check to see if we have a valid TZ data, if so, use it for the custom WP_ZONE timezone, otherwise just use the offset.\n\tif ( currentTimezone ) {\n\t\t// Create WP timezone based off settings.timezone.string. We need to include the additional data so that we\n\t\t// don't lose information about daylight savings time and other items.\n\t\t// See https://github.com/WordPress/gutenberg/pull/48083\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: currentTimezone.abbrs,\n\t\t\tuntils: currentTimezone.untils,\n\t\t\toffsets: currentTimezone.offsets,\n\t\t} );\n\t} else {\n\t\t// Create WP timezone based off dateSettings.\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: [ WP_ZONE ],\n\t\t\tuntils: [ null ],\n\t\t\toffsets: [ -settings.timezone.offset * 60 || 0 ],\n\t\t} );\n\t}\n\n\twpZonePacked = packed;\n\tmomentLib.tz.add( packed );\n}\n\n// Date constants.\n/**\n * Number of seconds in one minute.\n */\nconst MINUTE_IN_SECONDS = 60;\n/**\n * Number of minutes in one hour.\n */\nconst HOUR_IN_MINUTES = 60;\n/**\n * Number of seconds in one hour.\n */\nconst HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS;\n\n/**\n * Map of PHP formats to Moment.js formats.\n *\n * These are used internally by {@link format}, and are either\n * a string representing the corresponding Moment.js format code, or a\n * function which returns the formatted string.\n *\n * This should only be used through {@link format}, not\n * directly.\n */\nconst formatMap = {\n\t// Day.\n\td: 'DD',\n\tD: 'ddd',\n\tj: 'D',\n\tl: 'dddd',\n\tN: 'E',\n\n\t/**\n\t * Gets the ordinal suffix.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tS( momentDate: Moment ) {\n\t\t// Do - D.\n\t\tconst num = momentDate.format( 'D' );\n\t\tconst withOrdinal = momentDate.format( 'Do' );\n\t\treturn withOrdinal.replace( num, '' );\n\t},\n\n\tw: 'd',\n\t/**\n\t * Gets the day of the year (zero-indexed).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tz( momentDate: Moment ) {\n\t\t// DDD - 1.\n\t\treturn ( parseInt( momentDate.format( 'DDD' ), 10 ) - 1 ).toString();\n\t},\n\n\t// Week.\n\tW: 'W',\n\n\t// Month.\n\tF: 'MMMM',\n\tm: 'MM',\n\tM: 'MMM',\n\tn: 'M',\n\t/**\n\t * Gets the days in the month.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tt( momentDate: Moment ) {\n\t\treturn momentDate.daysInMonth();\n\t},\n\n\t// Year.\n\t/**\n\t * Gets whether the current year is a leap year.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tL( momentDate: Moment ) {\n\t\treturn momentDate.isLeapYear() ? '1' : '0';\n\t},\n\to: 'GGGG',\n\tY: 'YYYY',\n\ty: 'YY',\n\n\t// Time.\n\ta: 'a',\n\tA: 'A',\n\t/**\n\t * Gets the current time in Swatch Internet Time (.beats).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tB( momentDate: Moment ) {\n\t\tconst timezoned = momentLib( momentDate ).utcOffset( 60 );\n\t\tconst seconds = parseInt( timezoned.format( 's' ), 10 ),\n\t\t\tminutes = parseInt( timezoned.format( 'm' ), 10 ),\n\t\t\thours = parseInt( timezoned.format( 'H' ), 10 );\n\t\treturn parseInt(\n\t\t\t(\n\t\t\t\t( seconds +\n\t\t\t\t\tminutes * MINUTE_IN_SECONDS +\n\t\t\t\t\thours * HOUR_IN_SECONDS ) /\n\t\t\t\t86.4\n\t\t\t).toString(),\n\t\t\t10\n\t\t);\n\t},\n\tg: 'h',\n\tG: 'H',\n\th: 'hh',\n\tH: 'HH',\n\ti: 'mm',\n\ts: 'ss',\n\tu: 'SSSSSS',\n\tv: 'SSS',\n\t// Timezone.\n\te: 'zz',\n\t/**\n\t * Gets whether the timezone is in DST currently.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tI( momentDate: Moment ) {\n\t\treturn momentDate.isDST() ? '1' : '0';\n\t},\n\tO: 'ZZ',\n\tP: 'Z',\n\tT: 'z',\n\t/**\n\t * Gets the timezone offset in seconds.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tZ( momentDate: Moment ) {\n\t\t// Timezone offset in seconds.\n\t\tconst offset = momentDate.format( 'Z' );\n\t\tconst sign = offset[ 0 ] === '-' ? -1 : 1;\n\t\tconst parts = offset\n\t\t\t.substring( 1 )\n\t\t\t.split( ':' )\n\t\t\t.map( ( n ) => parseInt( n, 10 ) );\n\t\treturn (\n\t\t\tsign *\n\t\t\t( parts[ 0 ] * HOUR_IN_MINUTES + parts[ 1 ] ) *\n\t\t\tMINUTE_IN_SECONDS\n\t\t);\n\t},\n\t// Full date/time.\n\tc: 'YYYY-MM-DDTHH:mm:ssZ', // .toISOString.\n\t/**\n\t * Formats the date as RFC2822.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tr( momentDate: Moment ) {\n\t\treturn momentDate\n\t\t\t.locale( 'en' )\n\t\t\t.format( 'ddd, DD MMM YYYY HH:mm:ss ZZ' );\n\t},\n\tU: 'X',\n};\n\n/**\n * Formats a date. Does not alter the date's timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function format(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tlet i, char;\n\tconst newFormat = [];\n\tconst momentDate = momentLib( dateValue );\n\tfor ( i = 0; i < dateFormat.length; i++ ) {\n\t\tchar = dateFormat[ i ];\n\t\t// Is this an escape?\n\t\tif ( '\\\\' === char ) {\n\t\t\t// Add next character, then move on.\n\t\t\ti++;\n\t\t\tnewFormat.push( '[' + dateFormat[ i ] + ']' );\n\t\t\tcontinue;\n\t\t}\n\t\tif ( char in formatMap ) {\n\t\t\tconst formatter = formatMap[ char as keyof typeof formatMap ];\n\t\t\tif ( typeof formatter !== 'string' ) {\n\t\t\t\t// If the format is a function, call it.\n\t\t\t\tnewFormat.push( '[' + formatter( momentDate ) + ']' );\n\t\t\t} else {\n\t\t\t\t// Otherwise, add as a formatting string.\n\t\t\t\tnewFormat.push( formatter );\n\t\t\t}\n\t\t} else {\n\t\t\tnewFormat.push( '[' + char + ']' );\n\t\t}\n\t}\n\t// Join with [] between to separate characters, and replace\n\t// unneeded separators with static text.\n\treturn momentDate.format( newFormat.join( '[]' ) );\n}\n\n/**\n * Formats a date (like `date()` in PHP).\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return {string} Formatted date in English.\n */\nexport function date(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string\n) {\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `date()` in PHP), in the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date in English.\n */\nexport function gmdate(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale.\n *\n * Backward Compatibility Notice: if `timezone` is set to `true`, the function\n * behaves like `gmdateI18n`.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable by\n * moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site. Notice: `boolean` is effectively\n * deprecated, but still supported for\n * backward compatibility reasons.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return Formatted date.\n */\nexport function dateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string | number | boolean\n) {\n\tif ( true === timezone ) {\n\t\treturn gmdateI18n( dateFormat, dateValue );\n\t}\n\n\tif ( false === timezone ) {\n\t\ttimezone = undefined;\n\t}\n\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale\n * and using the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function gmdateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Check whether a date is considered in the future according to the WordPress settings.\n *\n * @param dateValue Date String or Date object in the Defined WP Timezone.\n *\n * @return Is in the future.\n */\nexport function isInTheFuture( dateValue: Date | string | number ) {\n\tensureWPTimezone();\n\tconst now = momentLib.tz( WP_ZONE );\n\tconst momentObject = momentLib.tz( dateValue, WP_ZONE );\n\n\treturn momentObject.isAfter( now );\n}\n\n/**\n * Create and return a JavaScript Date Object from a date string in the WP timezone.\n *\n * @param dateString Date formatted in the WP timezone.\n *\n * @return Date\n */\nexport function getDate( dateString?: string | null ) {\n\tensureWPTimezone();\n\tif ( ! dateString ) {\n\t\treturn momentLib.tz( WP_ZONE ).toDate();\n\t}\n\n\treturn momentLib.tz( dateString, WP_ZONE ).toDate();\n}\n\n/**\n * Returns a human-readable time difference between two dates, like human_time_diff() in PHP.\n *\n * @param from From date, in the WP timezone.\n * @param to To date, formatted in the WP timezone.\n *\n * @return Human-readable time difference.\n */\nexport function humanTimeDiff(\n\tfrom: Moment | Date | string | number,\n\tto?: Moment | Date | string | number\n) {\n\tensureWPTimezone();\n\tconst fromMoment = momentLib.tz( from, WP_ZONE );\n\tconst toMoment = to ? momentLib.tz( to, WP_ZONE ) : momentLib.tz( WP_ZONE );\n\treturn fromMoment.from( toMoment );\n}\n\n/**\n * Creates a moment instance using the given timezone or, if none is provided, using global settings.\n *\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return A moment instance.\n */\nfunction buildMoment(\n\tdateValue: Moment | Date | string | number,\n\ttimezone: string | number = ''\n) {\n\tconst dateMoment = momentLib( dateValue );\n\n\tif ( timezone !== '' ) {\n\t\treturn isUTCOffset( timezone )\n\t\t\t? dateMoment.utcOffset( timezone )\n\t\t\t: // A false isUTCOffset() guarantees that timezone is a string.\n\t\t\t dateMoment.tz( timezone as string );\n\t}\n\n\tif ( settings.timezone.string ) {\n\t\treturn dateMoment.tz( settings.timezone.string );\n\t}\n\n\treturn dateMoment.utcOffset( +settings.timezone.offset );\n}\n\n/**\n * Returns whether a certain UTC offset is valid or not.\n *\n * @param offset a UTC offset.\n *\n * @return whether a certain UTC offset is valid or not.\n */\nfunction isUTCOffset( offset: number | string ) {\n\tif ( 'number' === typeof offset ) {\n\t\treturn true;\n\t}\n\n\treturn VALID_UTC_OFFSET.test( offset );\n}\n\nsetupWPTimezone();\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { Moment } from 'moment';\nimport momentLib from 'moment';\nimport 'moment-timezone/moment-timezone.js';\nimport 'moment-timezone/moment-timezone-utils.js';\nimport deprecated from '@wordpress/deprecated';\nimport type { DateSettings } from './types';\n\nexport type * from './types';\n\nconst WP_ZONE = 'WP';\n\n// This regular expression tests positive for UTC offsets as described in ISO 8601.\n// See: https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\nconst VALID_UTC_OFFSET = /^[+-][0-1][0-9](:?[0-9][0-9])?$/;\n\n// Changes made here will likely need to be synced with Core in the file\n// src/wp-includes/script-loader.php in `wp_default_packages_inline_scripts()`.\nlet settings: DateSettings = {\n\tl10n: {\n\t\tlocale: 'en',\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tmonthsShort: [\n\t\t\t'Jan',\n\t\t\t'Feb',\n\t\t\t'Mar',\n\t\t\t'Apr',\n\t\t\t'May',\n\t\t\t'Jun',\n\t\t\t'Jul',\n\t\t\t'Aug',\n\t\t\t'Sep',\n\t\t\t'Oct',\n\t\t\t'Nov',\n\t\t\t'Dec',\n\t\t],\n\t\tweekdays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t\tweekdaysShort: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],\n\t\tmeridiem: { am: 'am', pm: 'pm', AM: 'AM', PM: 'PM' },\n\t\trelative: {\n\t\t\tfuture: '%s from now',\n\t\t\tpast: '%s ago',\n\t\t\ts: 'a few seconds',\n\t\t\tss: '%d seconds',\n\t\t\tm: 'a minute',\n\t\t\tmm: '%d minutes',\n\t\t\th: 'an hour',\n\t\t\thh: '%d hours',\n\t\t\td: 'a day',\n\t\t\tdd: '%d days',\n\t\t\tM: 'a month',\n\t\t\tMM: '%d months',\n\t\t\ty: 'a year',\n\t\t\tyy: '%d years',\n\t\t},\n\t\tstartOfWeek: 0,\n\t},\n\tformats: {\n\t\ttime: 'g:i a',\n\t\tdate: 'F j, Y',\n\t\tdatetime: 'F j, Y g:i a',\n\t\tdatetimeAbbreviated: 'M j, Y g:i a',\n\t},\n\ttimezone: { offset: 0, offsetFormatted: '0', string: '', abbr: '' },\n};\n\n/**\n * Adds a locale to moment, using the format supplied by `wp_localize_script()`.\n *\n * @param dateSettings Settings, including locale data.\n */\nexport function setSettings( dateSettings: DateSettings ) {\n\tsettings = dateSettings;\n\n\tsetupWPTimezone();\n\n\t// Does moment already have a locale with the right name?\n\tif ( momentLib.locales().includes( dateSettings.l10n.locale ) ) {\n\t\t// Is that locale misconfigured, e.g. because we are on a site running\n\t\t// WordPress < 6.0?\n\t\tif (\n\t\t\tmomentLib\n\t\t\t\t.localeData( dateSettings.l10n.locale )\n\t\t\t\t.longDateFormat( 'LTS' ) === null\n\t\t) {\n\t\t\t// Delete the misconfigured locale.\n\t\t\tmomentLib.defineLocale( dateSettings.l10n.locale, null );\n\t\t} else {\n\t\t\t// We have a properly configured locale, so no need to create one.\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// defineLocale() will modify the current locale, so back it up.\n\tconst currentLocale = momentLib.locale();\n\n\t// Create locale.\n\tmomentLib.defineLocale( dateSettings.l10n.locale, {\n\t\t// Inherit anything missing from English. We don't load\n\t\t// moment-with-locales.js so English is all there is.\n\t\tparentLocale: 'en',\n\t\tmonths: dateSettings.l10n.months,\n\t\tmonthsShort: dateSettings.l10n.monthsShort,\n\t\tweekdays: dateSettings.l10n.weekdays,\n\t\tweekdaysShort: dateSettings.l10n.weekdaysShort,\n\t\tmeridiem( hour, minute, isLowercase ) {\n\t\t\tif ( hour < 12 ) {\n\t\t\t\treturn isLowercase\n\t\t\t\t\t? dateSettings.l10n.meridiem.am\n\t\t\t\t\t: dateSettings.l10n.meridiem.AM;\n\t\t\t}\n\t\t\treturn isLowercase\n\t\t\t\t? dateSettings.l10n.meridiem.pm\n\t\t\t\t: dateSettings.l10n.meridiem.PM;\n\t\t},\n\t\tlongDateFormat: {\n\t\t\tLT: dateSettings.formats.time,\n\t\t\tLTS: momentLib.localeData( 'en' ).longDateFormat( 'LTS' ),\n\t\t\tL: momentLib.localeData( 'en' ).longDateFormat( 'L' ),\n\t\t\tLL: dateSettings.formats.date,\n\t\t\tLLL: dateSettings.formats.datetime,\n\t\t\tLLLL: momentLib.localeData( 'en' ).longDateFormat( 'LLLL' ),\n\t\t},\n\t\t// From human_time_diff?\n\t\t// Set to `(number, withoutSuffix, key, isFuture) => {}` instead.\n\t\trelativeTime: dateSettings.l10n.relative,\n\t} );\n\n\t// Restore the locale to what it was.\n\tmomentLib.locale( currentLocale );\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @return {DateSettings} Settings, including locale data.\n */\nexport function getSettings() {\n\treturn settings;\n}\n\n/**\n * Returns the currently defined date settings.\n *\n * @deprecated\n * @return {DateSettings} Settings, including locale data.\n */\nexport function __experimentalGetSettings() {\n\tdeprecated( 'wp.date.__experimentalGetSettings', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.date.getSettings',\n\t} );\n\treturn getSettings();\n}\n\n// Cached packed zone string, used to re-add the WP zone without requiring\n// moment-timezone-utils (which provides .pack()) after a third-party plugin\n// reloads moment-timezone and destroys both the zone and the utils.\nlet wpZonePacked: string | undefined;\n\n/**\n * Ensures the custom WP timezone zone exists in moment-timezone's registry.\n *\n * Third-party plugins (e.g. WooCommerce) may load their own copy of\n * moment-timezone, which reinitializes the internal zone storage and\n * destroys the custom 'WP' zone. This function checks for the zone's\n * existence and re-creates it if necessary.\n */\nfunction ensureWPTimezone() {\n\tif ( ! momentLib.tz.zone( WP_ZONE ) ) {\n\t\tif ( wpZonePacked ) {\n\t\t\tmomentLib.tz.add( wpZonePacked );\n\t\t} else {\n\t\t\tsetupWPTimezone();\n\t\t}\n\t}\n}\n\nfunction setupWPTimezone() {\n\t// Get the current timezone settings from the WP timezone string.\n\tconst currentTimezone = momentLib.tz.zone( settings.timezone.string );\n\n\tlet packed;\n\t// Check to see if we have a valid TZ data, if so, use it for the custom WP_ZONE timezone, otherwise just use the offset.\n\tif ( currentTimezone ) {\n\t\t// Create WP timezone based off settings.timezone.string. We need to include the additional data so that we\n\t\t// don't lose information about daylight savings time and other items.\n\t\t// See https://github.com/WordPress/gutenberg/pull/48083\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: currentTimezone.abbrs,\n\t\t\tuntils: currentTimezone.untils,\n\t\t\toffsets: currentTimezone.offsets,\n\t\t} );\n\t} else {\n\t\t// Create WP timezone based off dateSettings.\n\t\tpacked = momentLib.tz.pack( {\n\t\t\tname: WP_ZONE,\n\t\t\tabbrs: [ WP_ZONE ],\n\t\t\tuntils: [ null ],\n\t\t\toffsets: [ -settings.timezone.offset * 60 || 0 ],\n\t\t} );\n\t}\n\n\twpZonePacked = packed;\n\tmomentLib.tz.add( packed );\n}\n\n// Date constants.\n/**\n * Number of seconds in one minute.\n */\nconst MINUTE_IN_SECONDS = 60;\n/**\n * Number of minutes in one hour.\n */\nconst HOUR_IN_MINUTES = 60;\n/**\n * Number of seconds in one hour.\n */\nconst HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS;\n\n/**\n * Map of PHP formats to Moment.js formats.\n *\n * These are used internally by {@link format}, and are either\n * a string representing the corresponding Moment.js format code, or a\n * function which returns the formatted string.\n *\n * This should only be used through {@link format}, not\n * directly.\n */\nconst formatMap = {\n\t// Day.\n\td: 'DD',\n\tD: 'ddd',\n\tj: 'D',\n\tl: 'dddd',\n\tN: 'E',\n\n\t/**\n\t * Gets the ordinal suffix.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tS( momentDate: Moment ) {\n\t\t// Do - D.\n\t\tconst num = momentDate.format( 'D' );\n\t\tconst withOrdinal = momentDate.format( 'Do' );\n\t\treturn withOrdinal.replace( num, '' );\n\t},\n\n\tw: 'd',\n\t/**\n\t * Gets the day of the year (zero-indexed).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tz( momentDate: Moment ) {\n\t\t// DDD - 1.\n\t\treturn ( parseInt( momentDate.format( 'DDD' ), 10 ) - 1 ).toString();\n\t},\n\n\t// Week.\n\tW: 'W',\n\n\t// Month.\n\tF: 'MMMM',\n\tm: 'MM',\n\tM: 'MMM',\n\tn: 'M',\n\t/**\n\t * Gets the days in the month.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tt( momentDate: Moment ) {\n\t\treturn momentDate.daysInMonth();\n\t},\n\n\t// Year.\n\t/**\n\t * Gets whether the current year is a leap year.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tL( momentDate: Moment ) {\n\t\treturn momentDate.isLeapYear() ? '1' : '0';\n\t},\n\to: 'GGGG',\n\tY: 'YYYY',\n\ty: 'YY',\n\n\t// Time.\n\ta: 'a',\n\tA: 'A',\n\t/**\n\t * Gets the current time in Swatch Internet Time (.beats).\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tB( momentDate: Moment ) {\n\t\tconst timezoned = momentLib( momentDate ).utcOffset( 60 );\n\t\tconst seconds = parseInt( timezoned.format( 's' ), 10 ),\n\t\t\tminutes = parseInt( timezoned.format( 'm' ), 10 ),\n\t\t\thours = parseInt( timezoned.format( 'H' ), 10 );\n\t\treturn parseInt(\n\t\t\t(\n\t\t\t\t( seconds +\n\t\t\t\t\tminutes * MINUTE_IN_SECONDS +\n\t\t\t\t\thours * HOUR_IN_SECONDS ) /\n\t\t\t\t86.4\n\t\t\t).toString(),\n\t\t\t10\n\t\t);\n\t},\n\tg: 'h',\n\tG: 'H',\n\th: 'hh',\n\tH: 'HH',\n\ti: 'mm',\n\ts: 'ss',\n\tu: 'SSSSSS',\n\tv: 'SSS',\n\t// Timezone.\n\te: 'zz',\n\t/**\n\t * Gets whether the timezone is in DST currently.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tI( momentDate: Moment ) {\n\t\treturn momentDate.isDST() ? '1' : '0';\n\t},\n\tO: 'ZZ',\n\tP: 'Z',\n\tT: 'z',\n\t/**\n\t * Gets the timezone offset in seconds.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tZ( momentDate: Moment ) {\n\t\t// Timezone offset in seconds.\n\t\tconst offset = momentDate.format( 'Z' );\n\t\tconst sign = offset[ 0 ] === '-' ? -1 : 1;\n\t\tconst parts = offset\n\t\t\t.substring( 1 )\n\t\t\t.split( ':' )\n\t\t\t.map( ( n ) => parseInt( n, 10 ) );\n\t\treturn (\n\t\t\tsign *\n\t\t\t( parts[ 0 ] * HOUR_IN_MINUTES + parts[ 1 ] ) *\n\t\t\tMINUTE_IN_SECONDS\n\t\t);\n\t},\n\t// Full date/time.\n\tc: 'YYYY-MM-DDTHH:mm:ssZ', // .toISOString.\n\t/**\n\t * Formats the date as RFC2822.\n\t *\n\t * @param momentDate Moment instance.\n\t *\n\t * @return Formatted date.\n\t */\n\tr( momentDate: Moment ) {\n\t\treturn momentDate\n\t\t\t.locale( 'en' )\n\t\t\t.format( 'ddd, DD MMM YYYY HH:mm:ss ZZ' );\n\t},\n\tU: 'X',\n};\n\n/**\n * Formats a date. Does not alter the date's timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function format(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tlet i, char;\n\tconst newFormat = [];\n\tconst momentDate = momentLib( dateValue );\n\tfor ( i = 0; i < dateFormat.length; i++ ) {\n\t\tchar = dateFormat[ i ];\n\t\t// Is this an escape?\n\t\tif ( '\\\\' === char ) {\n\t\t\t// Add next character, then move on.\n\t\t\ti++;\n\t\t\tnewFormat.push( '[' + dateFormat[ i ] + ']' );\n\t\t\tcontinue;\n\t\t}\n\t\tif ( char in formatMap ) {\n\t\t\tconst formatter = formatMap[ char as keyof typeof formatMap ];\n\t\t\tif ( typeof formatter !== 'string' ) {\n\t\t\t\t// If the format is a function, call it.\n\t\t\t\tnewFormat.push( '[' + formatter( momentDate ) + ']' );\n\t\t\t} else {\n\t\t\t\t// Otherwise, add as a formatting string.\n\t\t\t\tnewFormat.push( formatter );\n\t\t\t}\n\t\t} else {\n\t\t\tnewFormat.push( '[' + char + ']' );\n\t\t}\n\t}\n\t// Join with [] between to separate characters, and replace\n\t// unneeded separators with static text.\n\treturn momentDate.format( newFormat.join( '[]' ) );\n}\n\n/**\n * Formats a date (like `date()` in PHP).\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return {string} Formatted date in English.\n */\nexport function date(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string\n) {\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `date()` in PHP), in the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date in English.\n */\nexport function gmdate(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale.\n *\n * Backward Compatibility Notice: if `timezone` is set to `true`, the function\n * behaves like `gmdateI18n`.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string, parsable by\n * moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site. Notice: `boolean` is effectively\n * deprecated, but still supported for\n * backward compatibility reasons.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return Formatted date.\n */\nexport function dateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date(),\n\ttimezone?: string | number | boolean\n) {\n\tif ( true === timezone ) {\n\t\treturn gmdateI18n( dateFormat, dateValue );\n\t}\n\n\tif ( false === timezone ) {\n\t\ttimezone = undefined;\n\t}\n\n\tconst dateMoment = buildMoment( dateValue, timezone );\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Formats a date (like `wp_date()` in PHP), translating it into site's locale\n * and using the UTC timezone.\n *\n * @param dateFormat PHP-style formatting string.\n * See [php.net/date](https://www.php.net/manual/en/function.date.php).\n * @param dateValue Date object or string,\n * parsable by moment.js.\n *\n * @return Formatted date.\n */\nexport function gmdateI18n(\n\tdateFormat: string,\n\tdateValue: Moment | Date | string | number = new Date()\n) {\n\tconst dateMoment = momentLib( dateValue ).utc();\n\tdateMoment.locale( settings.l10n.locale );\n\treturn format( dateFormat, dateMoment );\n}\n\n/**\n * Check whether a date is considered in the future according to the WordPress settings.\n *\n * @param dateValue Date String or Date object in the Defined WP Timezone.\n *\n * @return Is in the future.\n */\nexport function isInTheFuture( dateValue: Date | string | number ) {\n\tensureWPTimezone();\n\tconst now = momentLib.tz( WP_ZONE );\n\tconst momentObject = momentLib.tz( dateValue, WP_ZONE );\n\n\treturn momentObject.isAfter( now );\n}\n\n/**\n * Create and return a JavaScript Date Object from a date string in the WP timezone.\n *\n * @param dateString Date formatted in the WP timezone.\n *\n * @return Date\n */\nexport function getDate( dateString?: string | null ) {\n\tensureWPTimezone();\n\tif ( ! dateString ) {\n\t\treturn momentLib.tz( WP_ZONE ).toDate();\n\t}\n\n\treturn momentLib.tz( dateString, WP_ZONE ).toDate();\n}\n\n/**\n * Returns a human-readable time difference between two dates, like human_time_diff() in PHP.\n *\n * @param from From date, in the WP timezone.\n * @param to To date, formatted in the WP timezone.\n *\n * @return Human-readable time difference.\n */\nexport function humanTimeDiff(\n\tfrom: Moment | Date | string | number,\n\tto?: Moment | Date | string | number\n) {\n\tensureWPTimezone();\n\tconst fromMoment = momentLib.tz( from, WP_ZONE );\n\tconst toMoment = to ? momentLib.tz( to, WP_ZONE ) : momentLib.tz( WP_ZONE );\n\treturn fromMoment.from( toMoment );\n}\n\n/**\n * Creates a moment instance using the given timezone or, if none is provided, using global settings.\n *\n * @param dateValue Date object or string, parsable\n * by moment.js.\n * @param timezone Timezone to output result in or a\n * UTC offset. Defaults to timezone from\n * site.\n *\n * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC\n *\n * @return A moment instance.\n */\nfunction buildMoment(\n\tdateValue: Moment | Date | string | number,\n\ttimezone: string | number = ''\n) {\n\tconst dateMoment = momentLib( dateValue );\n\n\tif ( timezone !== '' ) {\n\t\treturn isUTCOffset( timezone )\n\t\t\t? dateMoment.utcOffset( timezone )\n\t\t\t: // A false isUTCOffset() guarantees that timezone is a string.\n\t\t\t\tdateMoment.tz( timezone as string );\n\t}\n\n\tif ( settings.timezone.string ) {\n\t\treturn dateMoment.tz( settings.timezone.string );\n\t}\n\n\treturn dateMoment.utcOffset( +settings.timezone.offset );\n}\n\n/**\n * Returns whether a certain UTC offset is valid or not.\n *\n * @param offset a UTC offset.\n *\n * @return whether a certain UTC offset is valid or not.\n */\nfunction isUTCOffset( offset: number | string ) {\n\tif ( 'number' === typeof offset ) {\n\t\treturn true;\n\t}\n\n\treturn VALID_UTC_OFFSET.test( offset );\n}\n\nsetupWPTimezone();\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/date",
3
- "version": "5.55.0",
3
+ "version": "5.55.1-next.v.202609171837.0",
4
4
  "description": "Date module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -42,7 +42,7 @@
42
42
  "wpScript": true,
43
43
  "types": "build-types",
44
44
  "dependencies": {
45
- "@wordpress/deprecated": "^4.55.0",
45
+ "@wordpress/deprecated": "^4.55.1-next.v.202609171837.0",
46
46
  "moment": "^2.29.4",
47
47
  "moment-timezone": "^0.5.40"
48
48
  },
@@ -52,5 +52,5 @@
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  },
55
- "gitHead": "485f42ae8a1c58ceea18371a507fd4acfa86fbd8"
55
+ "gitHead": "7fc9f6676debc888d2f071d17cb71837040d4b48"
56
56
  }
package/src/index.ts CHANGED
@@ -624,7 +624,7 @@ function buildMoment(
624
624
  return isUTCOffset( timezone )
625
625
  ? dateMoment.utcOffset( timezone )
626
626
  : // A false isUTCOffset() guarantees that timezone is a string.
627
- dateMoment.tz( timezone as string );
627
+ dateMoment.tz( timezone as string );
628
628
  }
629
629
 
630
630
  if ( settings.timezone.string ) {