react-timezone-select 1.1.12 → 1.1.16

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 (42) hide show
  1. package/README.md +3 -3
  2. package/dist/__mocks__/cssStub.d.ts +0 -0
  3. package/dist/__mocks__/cssStub.js +6 -0
  4. package/dist/__mocks__/cssStub.js.map +1 -0
  5. package/dist/__tests__/TimezoneSelect.test.d.ts +1 -0
  6. package/dist/__tests__/TimezoneSelect.test.js +178 -0
  7. package/dist/__tests__/TimezoneSelect.test.js.map +1 -0
  8. package/dist/cjs/index.d.ts +11 -0
  9. package/dist/cjs/index.js +134 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/timezone-list.d.ts +3 -0
  12. package/dist/cjs/timezone-list.js +85 -0
  13. package/dist/cjs/timezone-list.js.map +1 -0
  14. package/dist/cjs/types/globals.d.ts +1 -0
  15. package/dist/cjs/types/globals.js +4 -0
  16. package/dist/cjs/types/globals.js.map +1 -0
  17. package/dist/cjs/types/timezone.d.ts +19 -0
  18. package/dist/cjs/types/timezone.js +3 -0
  19. package/dist/cjs/types/timezone.js.map +1 -0
  20. package/dist/esm/index.d.ts +11 -0
  21. package/dist/esm/index.js +127 -0
  22. package/dist/esm/index.js.map +1 -0
  23. package/dist/esm/timezone-list.d.ts +3 -0
  24. package/dist/esm/timezone-list.js +83 -0
  25. package/dist/esm/timezone-list.js.map +1 -0
  26. package/dist/esm/types/globals.d.ts +1 -0
  27. package/dist/esm/types/globals.js +2 -0
  28. package/dist/esm/types/globals.js.map +1 -0
  29. package/dist/esm/types/timezone.d.ts +19 -0
  30. package/dist/esm/types/timezone.js +2 -0
  31. package/dist/esm/types/timezone.js.map +1 -0
  32. package/dist/index.d.ts +2 -4
  33. package/dist/index.js +47 -30
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.jsx +139 -0
  36. package/dist/index.jsx.map +1 -0
  37. package/dist/timezone-list.js +2 -2
  38. package/dist/timezone-list.js.map +1 -1
  39. package/dist/types/globals.d.ts +1 -0
  40. package/dist/types/globals.js +2 -0
  41. package/dist/types/globals.js.map +1 -0
  42. package/package.json +21 -18
package/README.md CHANGED
@@ -11,8 +11,8 @@ Another react timezone select component, I know.. However this one has a few key
11
11
 
12
12
  While looking around for a good option, I had trouble finding a timezone select components which:
13
13
 
14
- 1) Adjusted the choices automatically with Daylight Savings Time (DST)
15
- 2) Didn't have a huge list of choices to scroll through when technically only 24 (ish) are necessary
14
+ 1. Adjusted the choices automatically with Daylight Savings Time (DST)
15
+ 2. Didn't have a huge list of choices to scroll through when technically only 24 (ish) are necessary
16
16
 
17
17
  #### Demo: [ndom91.github.io/react-timezone-select](https://ndom91.github.io/react-timezone-select/)
18
18
 
@@ -101,7 +101,7 @@ module.exports = withTM({
101
101
  })
102
102
  ```
103
103
 
104
- **Update**: Next.js 11.1.0 now supports ESM packages natively! Until 12.0.0 you need to include `esmExternals: true` in your `next.js.config` though.
104
+ **Update**: Next.js 12 now supports ESM packages by default. If you have any problems with this package in a Next.js 12 project, please let me know!
105
105
 
106
106
  ### 🕒 Custom Timezones
107
107
 
File without changes
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ process: function () {
3
+ return "module.exports = {};";
4
+ }
5
+ };
6
+ //# sourceMappingURL=cssStub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssStub.js","sourceRoot":"","sources":["../../src/__mocks__/cssStub.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO;QACL,OAAO,sBAAsB,CAAA;IAC/B,CAAC;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
69
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
70
+ if (ar || !(i in from)) {
71
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
72
+ ar[i] = from[i];
73
+ }
74
+ }
75
+ return to.concat(ar || Array.prototype.slice.call(from));
76
+ };
77
+ exports.__esModule = true;
78
+ var jsx_runtime_1 = require("react/jsx-runtime");
79
+ require("react");
80
+ var react_1 = require("@testing-library/react");
81
+ var index_1 = __importStar(require("../index"));
82
+ // react-select react-testing-library jest example tests:
83
+ // https://github.com/JedWatson/react-select/blob/master/packages/react-select/src/__tests__/Select.test.js
84
+ test("snapshot - defaults", function () {
85
+ var container = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "Europe/Amsterdam", onChange: function (e) { return e; } }, void 0)).container;
86
+ expect(container).toMatchSnapshot();
87
+ });
88
+ test("loads and displays default timezone - passing string", function () { return __awaiter(void 0, void 0, void 0, function () {
89
+ var getByText;
90
+ return __generator(this, function (_a) {
91
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "Europe/Amsterdam", onChange: function (e) { return e; } }, void 0)).getByText;
92
+ expect(getByText(/\(GMT\+[1-2]:00\) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna$/)).toBeInTheDocument();
93
+ return [2 /*return*/];
94
+ });
95
+ }); });
96
+ test("loads and displays default timezone - passing full object", function () { return __awaiter(void 0, void 0, void 0, function () {
97
+ var getByText;
98
+ return __generator(this, function (_a) {
99
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: {
100
+ value: "Europe/Amsterdam",
101
+ label: "(GMT+1:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"
102
+ }, onChange: function (e) { return e; } }, void 0)).getByText;
103
+ expect(getByText(/\(GMT\+[1-2]:00\) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna$/)).toBeInTheDocument();
104
+ return [2 /*return*/];
105
+ });
106
+ }); });
107
+ test("load and displays labelStyle - altName", function () { return __awaiter(void 0, void 0, void 0, function () {
108
+ var getByText;
109
+ return __generator(this, function (_a) {
110
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "America/Juneau", labelStyle: "altName", onChange: function (e) { return e; } }, void 0)).getByText;
111
+ expect(getByText(/\(GMT-[8-9]:00\) Alaska \(Alaska (Daylight|Standard) Time\)$/)).toBeInTheDocument();
112
+ return [2 /*return*/];
113
+ });
114
+ }); });
115
+ test("load and displays labelStyle - abbrev", function () { return __awaiter(void 0, void 0, void 0, function () {
116
+ var getByText;
117
+ return __generator(this, function (_a) {
118
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "America/Juneau", labelStyle: "abbrev", onChange: function (e) { return e; } }, void 0)).getByText;
119
+ expect(getByText(/\(GMT-[8-9]:00\) Alaska \(AK[D|S]T\)$/)).toBeInTheDocument();
120
+ return [2 /*return*/];
121
+ });
122
+ }); });
123
+ test("load and displays custom timezone", function () { return __awaiter(void 0, void 0, void 0, function () {
124
+ var getByText;
125
+ return __generator(this, function (_a) {
126
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "America/Lima", timezones: __assign(__assign({}, index_1.allTimezones), { "America/Lima": "Pittsburgh" }), onChange: function (e) { return e; } }, void 0)).getByText;
127
+ expect(getByText(/\(GMT-[5-6]:00\) Pittsburgh$/)).toBeInTheDocument();
128
+ return [2 /*return*/];
129
+ });
130
+ }); });
131
+ test("load and displays only 2 custom timezone choices", function () { return __awaiter(void 0, void 0, void 0, function () {
132
+ var container, items;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ container = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "", timezones: {
137
+ "America/Lima": "Pittsburgh",
138
+ "Europe/Berlin": "Frankfurt"
139
+ }, menuIsOpen: true, onChange: function (e) { return e; } }, void 0)).container;
140
+ return [4 /*yield*/, (0, react_1.findAllByText)(container, /^\(GMT[+-][0-9]{1,2}:[0-9]{2}/)];
141
+ case 1:
142
+ items = _a.sent();
143
+ expect(items).toHaveLength(2);
144
+ return [2 /*return*/];
145
+ }
146
+ });
147
+ }); });
148
+ test("load and passes react-select props", function () { return __awaiter(void 0, void 0, void 0, function () {
149
+ var getByText;
150
+ return __generator(this, function (_a) {
151
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "", timezones: __assign(__assign({}, index_1.allTimezones), { "America/Lima": "Pittsburgh" }), placeholder: "Please Select a Timezone", onChange: function (e) { return e; } }, void 0)).getByText;
152
+ expect(getByText("Please Select a Timezone")).toBeInTheDocument();
153
+ return [2 /*return*/];
154
+ });
155
+ }); });
156
+ test("can determine timezone by approximate match", function () { return __awaiter(void 0, void 0, void 0, function () {
157
+ var getByText;
158
+ return __generator(this, function (_a) {
159
+ getByText = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "Europe/Rome", onChange: function (e) { return e; } }, void 0)).getByText;
160
+ expect(getByText(/\(GMT\+[1-2]:00\) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna$/)).toBeInTheDocument();
161
+ return [2 /*return*/];
162
+ });
163
+ }); });
164
+ test("select drop-downs must use the fireEvent.change", function () {
165
+ var onChangeSpy = jest.fn();
166
+ var container = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1["default"], { value: "Europe/Amsterdam", onChange: onChangeSpy, menuIsOpen: true }, void 0)).container;
167
+ var selectOption = __spreadArray([], container.querySelectorAll('div[id^="react-select"]'), true).find(function (n) { return n.textContent === "(GMT-10:00) Hawaii"; });
168
+ react_1.fireEvent.click(selectOption);
169
+ expect(onChangeSpy).toHaveBeenCalledTimes(1);
170
+ expect(onChangeSpy).toHaveBeenCalledWith({
171
+ value: "Pacific/Honolulu",
172
+ label: "(GMT-10:00) Hawaii",
173
+ altName: "Hawaii-Aleutian Standard Time",
174
+ offset: -10,
175
+ abbrev: "HAST"
176
+ });
177
+ });
178
+ //# sourceMappingURL=TimezoneSelect.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimezoneSelect.test.js","sourceRoot":"","sources":["../../src/__tests__/TimezoneSelect.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import allTimezones from './timezone-list';
3
+ import type { Props, ITimezone, ITimezoneOption, ILabelStyle } from './types/timezone';
4
+ export declare enum LabelType {
5
+ ORIGINAL = "original",
6
+ ALTNAME = "altName",
7
+ ABBREV = "abbrev"
8
+ }
9
+ export { allTimezones };
10
+ export type { ITimezone, ITimezoneOption, Props, ILabelStyle };
11
+ export default function TimezoneSelect({ value, onBlur, onChange, labelStyle, timezones, ...props }: Props): JSX.Element;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.allTimezones = exports.LabelType = void 0;
18
+ const react_1 = __importDefault(require("react"));
19
+ const react_select_1 = __importDefault(require("react-select"));
20
+ const spacetime_1 = __importDefault(require("spacetime"));
21
+ const timezone_soft_1 = __importDefault(require("timezone-soft"));
22
+ const timezone_list_1 = __importDefault(require("./timezone-list"));
23
+ exports.allTimezones = timezone_list_1.default;
24
+ var LabelType;
25
+ (function (LabelType) {
26
+ LabelType["ORIGINAL"] = "original";
27
+ LabelType["ALTNAME"] = "altName";
28
+ LabelType["ABBREV"] = "abbrev";
29
+ })(LabelType = exports.LabelType || (exports.LabelType = {}));
30
+ function TimezoneSelect(_a) {
31
+ var { value, onBlur, onChange, labelStyle = 'original', timezones } = _a, props = __rest(_a, ["value", "onBlur", "onChange", "labelStyle", "timezones"]);
32
+ if (!timezones)
33
+ timezones = timezone_list_1.default;
34
+ const getOptions = react_1.default.useMemo(() => {
35
+ return Object.entries(timezones)
36
+ .reduce((selectOptions, zone) => {
37
+ var _a, _b, _c, _d;
38
+ const now = spacetime_1.default.now(zone[0]);
39
+ const tz = now.timezone();
40
+ const tzStrings = (0, timezone_soft_1.default)(zone[0]);
41
+ let label = '';
42
+ let abbr = now.isDST()
43
+ ? // @ts-expect-error
44
+ (_a = tzStrings[0].daylight) === null || _a === void 0 ? void 0 : _a.abbr
45
+ : // @ts-expect-error
46
+ (_b = tzStrings[0].standard) === null || _b === void 0 ? void 0 : _b.abbr;
47
+ let altName = now.isDST()
48
+ ? (_c = tzStrings[0].daylight) === null || _c === void 0 ? void 0 : _c.name
49
+ : (_d = tzStrings[0].standard) === null || _d === void 0 ? void 0 : _d.name;
50
+ const min = tz.current.offset * 60;
51
+ const hr = `${(min / 60) ^ 0}:` + (min % 60 === 0 ? '00' : Math.abs(min % 60));
52
+ const prefix = `(GMT${hr.includes('-') ? hr : `+${hr}`}) ${zone[1]}`;
53
+ switch (labelStyle) {
54
+ case 'original':
55
+ label = prefix;
56
+ break;
57
+ case 'altName':
58
+ label = `${prefix} ${(altName === null || altName === void 0 ? void 0 : altName.length) ? `(${altName})` : ''}`;
59
+ break;
60
+ case 'abbrev':
61
+ label = `${prefix} ${(abbr === null || abbr === void 0 ? void 0 : abbr.length) < 5 ? `(${abbr})` : ''}`;
62
+ break;
63
+ default:
64
+ label = `${prefix}`;
65
+ }
66
+ selectOptions.push({
67
+ value: tz.name,
68
+ label: label,
69
+ offset: tz.current.offset,
70
+ abbrev: abbr,
71
+ altName: altName,
72
+ });
73
+ return selectOptions;
74
+ }, [])
75
+ .sort((a, b) => a.offset - b.offset);
76
+ }, [labelStyle, timezones]);
77
+ const handleChange = (tz) => {
78
+ onChange && onChange(tz);
79
+ };
80
+ const findFuzzyTz = (zone) => {
81
+ let currentTime = spacetime_1.default.now('GMT');
82
+ try {
83
+ currentTime = spacetime_1.default.now(zone);
84
+ }
85
+ catch (err) {
86
+ return;
87
+ }
88
+ return getOptions
89
+ .filter((tz) => tz.offset === currentTime.timezone().current.offset)
90
+ .map((tz) => {
91
+ let score = 0;
92
+ if (currentTime.timezones[tz.value.toLowerCase()] &&
93
+ !!currentTime.timezones[tz.value.toLowerCase()].dst ===
94
+ currentTime.timezone().hasDst) {
95
+ if (tz.value
96
+ .toLowerCase()
97
+ .indexOf(currentTime.tz.substr(currentTime.tz.indexOf('/') + 1)) !== -1) {
98
+ score += 8;
99
+ }
100
+ if (tz.label
101
+ .toLowerCase()
102
+ .indexOf(currentTime.tz.substr(currentTime.tz.indexOf('/') + 1)) !== -1) {
103
+ score += 4;
104
+ }
105
+ if (tz.value
106
+ .toLowerCase()
107
+ .indexOf(currentTime.tz.substr(0, currentTime.tz.indexOf('/')))) {
108
+ score += 2;
109
+ }
110
+ score += 1;
111
+ }
112
+ else if (tz.value === 'GMT') {
113
+ score += 1;
114
+ }
115
+ return { tz, score };
116
+ })
117
+ .sort((a, b) => b.score - a.score)
118
+ .map(({ tz }) => tz)[0];
119
+ };
120
+ const parseTimezone = (zone) => {
121
+ if (typeof zone === 'object' && zone.value && zone.label)
122
+ return zone;
123
+ if (typeof zone === 'string') {
124
+ return (getOptions.find(tz => tz.value === zone) ||
125
+ (zone.indexOf('/') !== -1 && findFuzzyTz(zone)));
126
+ }
127
+ else if (zone.value && !zone.label) {
128
+ return getOptions.find(tz => tz.value === zone.value);
129
+ }
130
+ };
131
+ return (react_1.default.createElement(react_select_1.default, Object.assign({ value: parseTimezone(value), onChange: handleChange, options: getOptions, onBlur: onBlur }, props)));
132
+ }
133
+ exports.default = TimezoneSelect;
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ICustomTimezone } from './types/timezone';
2
+ declare const allTimezones: ICustomTimezone;
3
+ export default allTimezones;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const allTimezones = {
4
+ "Pacific/Midway": "Midway Island, Samoa",
5
+ "Pacific/Honolulu": "Hawaii",
6
+ "America/Juneau": "Alaska",
7
+ "America/Boise": "Mountain Time",
8
+ "America/Dawson": "Dawson, Yukon",
9
+ "America/Chihuahua": "Chihuahua, La Paz, Mazatlan",
10
+ "America/Phoenix": "Arizona",
11
+ "America/Chicago": "Central Time",
12
+ "America/Regina": "Saskatchewan",
13
+ "America/Mexico_City": "Guadalajara, Mexico City, Monterrey",
14
+ "America/Belize": "Central America",
15
+ "America/Detroit": "Eastern Time",
16
+ "America/Bogota": "Bogota, Lima, Quito",
17
+ "America/Caracas": "Caracas, La Paz",
18
+ "America/Santiago": "Santiago",
19
+ "America/St_Johns": "Newfoundland and Labrador",
20
+ "America/Sao_Paulo": "Brasilia",
21
+ "America/Tijuana": "Tijuana",
22
+ "America/Montevideo": "Montevideo",
23
+ "America/Argentina/Buenos_Aires": "Buenos Aires, Georgetown",
24
+ "America/Godthab": "Greenland",
25
+ "America/Los_Angeles": "Pacific Time",
26
+ "Atlantic/Azores": "Azores",
27
+ "Atlantic/Cape_Verde": "Cape Verde Islands",
28
+ GMT: "UTC",
29
+ "Europe/London": "Edinburgh, London",
30
+ "Europe/Dublin": "Dublin",
31
+ "Europe/Lisbon": "Lisbon",
32
+ "Africa/Casablanca": "Casablanca, Monrovia",
33
+ "Atlantic/Canary": "Canary Islands",
34
+ "Europe/Belgrade": "Belgrade, Bratislava, Budapest, Ljubljana, Prague",
35
+ "Europe/Sarajevo": "Sarajevo, Skopje, Warsaw, Zagreb",
36
+ "Europe/Brussels": "Brussels, Copenhagen, Madrid, Paris",
37
+ "Europe/Amsterdam": "Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
38
+ "Africa/Algiers": "West Central Africa",
39
+ "Europe/Bucharest": "Bucharest",
40
+ "Africa/Cairo": "Cairo",
41
+ "Europe/Helsinki": "Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius",
42
+ "Europe/Athens": "Athens, Istanbul, Minsk",
43
+ "Asia/Jerusalem": "Jerusalem",
44
+ "Africa/Harare": "Harare, Pretoria",
45
+ "Europe/Moscow": "Moscow, St. Petersburg, Volgograd",
46
+ "Asia/Kuwait": "Kuwait, Riyadh",
47
+ "Africa/Nairobi": "Nairobi",
48
+ "Asia/Baghdad": "Baghdad",
49
+ "Asia/Tehran": "Tehran",
50
+ "Asia/Dubai": "Abu Dhabi, Muscat",
51
+ "Asia/Baku": "Baku, Tbilisi, Yerevan",
52
+ "Asia/Kabul": "Kabul",
53
+ "Asia/Yekaterinburg": "Ekaterinburg",
54
+ "Asia/Karachi": "Islamabad, Karachi, Tashkent",
55
+ "Asia/Kolkata": "Chennai, Kolkata, Mumbai, New Delhi",
56
+ "Asia/Kathmandu": "Kathmandu",
57
+ "Asia/Dhaka": "Astana, Dhaka",
58
+ "Asia/Colombo": "Sri Jayawardenepura",
59
+ "Asia/Almaty": "Almaty, Novosibirsk",
60
+ "Asia/Rangoon": "Yangon Rangoon",
61
+ "Asia/Bangkok": "Bangkok, Hanoi, Jakarta",
62
+ "Asia/Krasnoyarsk": "Krasnoyarsk",
63
+ "Asia/Shanghai": "Beijing, Chongqing, Hong Kong SAR, Urumqi",
64
+ "Asia/Kuala_Lumpur": "Kuala Lumpur, Singapore",
65
+ "Asia/Taipei": "Taipei",
66
+ "Australia/Perth": "Perth",
67
+ "Asia/Irkutsk": "Irkutsk, Ulaanbaatar",
68
+ "Asia/Seoul": "Seoul",
69
+ "Asia/Tokyo": "Osaka, Sapporo, Tokyo",
70
+ "Asia/Yakutsk": "Yakutsk",
71
+ "Australia/Darwin": "Darwin",
72
+ "Australia/Adelaide": "Adelaide",
73
+ "Australia/Sydney": "Canberra, Melbourne, Sydney",
74
+ "Australia/Brisbane": "Brisbane",
75
+ "Australia/Hobart": "Hobart",
76
+ "Asia/Vladivostok": "Vladivostok",
77
+ "Pacific/Guam": "Guam, Port Moresby",
78
+ "Asia/Magadan": "Magadan, Solomon Islands, New Caledonia",
79
+ "Asia/Kamchatka": "Kamchatka, Marshall Islands",
80
+ "Pacific/Fiji": "Fiji Islands",
81
+ "Pacific/Auckland": "Auckland, Wellington",
82
+ "Pacific/Tongatapu": "Nuku'alofa",
83
+ };
84
+ exports.default = allTimezones;
85
+ //# sourceMappingURL=timezone-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone-list.js","sourceRoot":"","sources":["../../src/timezone-list.ts"],"names":[],"mappings":";;AAEA,MAAM,YAAY,GAAoB;IACpC,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,QAAQ;IAC5B,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,eAAe;IAChC,gBAAgB,EAAE,eAAe;IACjC,mBAAmB,EAAE,6BAA6B;IAClD,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,cAAc;IAChC,qBAAqB,EAAE,qCAAqC;IAC5D,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,qBAAqB;IACvC,iBAAiB,EAAE,iBAAiB;IACpC,kBAAkB,EAAE,UAAU;IAC9B,kBAAkB,EAAE,2BAA2B;IAC/C,mBAAmB,EAAE,UAAU;IAC/B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,YAAY;IAClC,gCAAgC,EAAE,0BAA0B;IAC5D,iBAAiB,EAAE,WAAW;IAC9B,qBAAqB,EAAE,cAAc;IACrC,iBAAiB,EAAE,QAAQ;IAC3B,qBAAqB,EAAE,oBAAoB;IAC3C,GAAG,EAAE,KAAK;IACV,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,mBAAmB,EAAE,sBAAsB;IAC3C,iBAAiB,EAAE,gBAAgB;IACnC,iBAAiB,EAAE,mDAAmD;IACtE,iBAAiB,EAAE,kCAAkC;IACrD,iBAAiB,EAAE,qCAAqC;IACxD,kBAAkB,EAAE,kDAAkD;IACtE,gBAAgB,EAAE,qBAAqB;IACvC,kBAAkB,EAAE,WAAW;IAC/B,cAAc,EAAE,OAAO;IACvB,iBAAiB,EAAE,+CAA+C;IAClE,eAAe,EAAE,yBAAyB;IAC1C,gBAAgB,EAAE,WAAW;IAC7B,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,mCAAmC;IACpD,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,cAAc;IACpC,cAAc,EAAE,8BAA8B;IAC9C,cAAc,EAAE,qCAAqC;IACrD,gBAAgB,EAAE,WAAW;IAC7B,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,qBAAqB;IACrC,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,yBAAyB;IACzC,kBAAkB,EAAE,aAAa;IACjC,eAAe,EAAE,2CAA2C;IAC5D,mBAAmB,EAAE,yBAAyB;IAC9C,aAAa,EAAE,QAAQ;IACvB,iBAAiB,EAAE,OAAO;IAC1B,cAAc,EAAE,sBAAsB;IACtC,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,uBAAuB;IACrC,cAAc,EAAE,SAAS;IACzB,kBAAkB,EAAE,QAAQ;IAC5B,oBAAoB,EAAE,UAAU;IAChC,kBAAkB,EAAE,6BAA6B;IACjD,oBAAoB,EAAE,UAAU;IAChC,kBAAkB,EAAE,QAAQ;IAC5B,kBAAkB,EAAE,aAAa;IACjC,cAAc,EAAE,oBAAoB;IACpC,cAAc,EAAE,yCAAyC;IACzD,gBAAgB,EAAE,6BAA6B;IAC/C,cAAc,EAAE,cAAc;IAC9B,kBAAkB,EAAE,sBAAsB;IAC1C,mBAAmB,EAAE,YAAY;CAClC,CAAA;AAED,kBAAe,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ import "@testing-library/jest-dom/extend-expect";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@testing-library/jest-dom/extend-expect");
4
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../src/types/globals.ts"],"names":[],"mappings":";;AAAA,mDAAgD"}
@@ -0,0 +1,19 @@
1
+ import type { Props as ReactSelectProps } from "react-select";
2
+ export declare type ICustomTimezone = {
3
+ [key: string]: string;
4
+ };
5
+ export declare type ILabelStyle = "original" | "altName" | "abbrev";
6
+ export interface ITimezoneOption {
7
+ value: string;
8
+ label: string;
9
+ abbrev?: string;
10
+ altName?: string;
11
+ offset?: number;
12
+ }
13
+ export declare type ITimezone = ITimezoneOption | string;
14
+ export interface Props extends Omit<ReactSelectProps, "onChange"> {
15
+ value: ITimezone;
16
+ labelStyle?: ILabelStyle;
17
+ onChange?: (timezone: ITimezoneOption) => void;
18
+ timezones?: ICustomTimezone;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=timezone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone.js","sourceRoot":"","sources":["../../../src/types/timezone.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import allTimezones from './timezone-list';
3
+ import type { Props, ITimezone, ITimezoneOption, ILabelStyle } from './types/timezone';
4
+ export declare enum LabelType {
5
+ ORIGINAL = "original",
6
+ ALTNAME = "altName",
7
+ ABBREV = "abbrev"
8
+ }
9
+ export { allTimezones };
10
+ export type { ITimezone, ITimezoneOption, Props, ILabelStyle };
11
+ export default function TimezoneSelect({ value, onBlur, onChange, labelStyle, timezones, ...props }: Props): JSX.Element;