@sprucelabs/calendar-utils 31.3.31 → 31.4.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.
@@ -16,6 +16,7 @@ export { default as eventExclusionDateSchema } from './.spruce/schemas/calendarU
16
16
  export { default as eventTimeBlockSchema } from './.spruce/schemas/calendarUtils/v2021_05_19/eventTimeBlock.schema';
17
17
  export { default as calendarEventLineIconSchema } from './.spruce/schemas/calendarUtils/v2021_05_19/calendarEventLineIcon.schema';
18
18
  export { default as DateParser } from './parsing/DateParser';
19
+ export { default as sortTimezoneChoices } from './utilities/sortTimezoneChoices';
19
20
  export * from './dates';
20
21
  export { SpruceSchemas } from "./.spruce/schemas/schemas.types";
21
22
  export * from './constants';
@@ -16,5 +16,6 @@ export { default as eventExclusionDateSchema } from './.spruce/schemas/calendarU
16
16
  export { default as eventTimeBlockSchema } from './.spruce/schemas/calendarUtils/v2021_05_19/eventTimeBlock.schema.js';
17
17
  export { default as calendarEventLineIconSchema } from './.spruce/schemas/calendarUtils/v2021_05_19/calendarEventLineIcon.schema.js';
18
18
  export { default as DateParser } from './parsing/DateParser.js';
19
+ export { default as sortTimezoneChoices } from './utilities/sortTimezoneChoices.js';
19
20
  export * from './dates.js';
20
21
  export * from './constants.js';
@@ -0,0 +1,3 @@
1
+ import { Schema, SchemaFieldNames } from '@sprucelabs/schema';
2
+ import { Locale } from '../types/calendar.types';
3
+ export default function sortTimezoneChoices<S extends Schema>(locale: Locale, schema: S, fieldName: SchemaFieldNames<S>): S;
@@ -0,0 +1,11 @@
1
+ import { cloneDeep } from '@sprucelabs/schema';
2
+ import { timezoneChoices } from '@sprucelabs/spruce-core-schemas';
3
+ import TimezoneChoiceSorter from '../locales/TimezoneChoiceSorter.js';
4
+ export default function sortTimezoneChoices(locale, schema, fieldName) {
5
+ const sorter = new TimezoneChoiceSorter(locale);
6
+ const choices = sorter.sort(timezoneChoices);
7
+ const copy = cloneDeep(schema);
8
+ //@ts-ignore
9
+ copy.fields[fieldName].options.choices = choices;
10
+ return copy;
11
+ }
package/build/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export { default as eventExclusionDateSchema } from './.spruce/schemas/calendarU
16
16
  export { default as eventTimeBlockSchema } from './.spruce/schemas/calendarUtils/v2021_05_19/eventTimeBlock.schema';
17
17
  export { default as calendarEventLineIconSchema } from './.spruce/schemas/calendarUtils/v2021_05_19/calendarEventLineIcon.schema';
18
18
  export { default as DateParser } from './parsing/DateParser';
19
+ export { default as sortTimezoneChoices } from './utilities/sortTimezoneChoices';
19
20
  export * from './dates';
20
21
  export { SpruceSchemas } from "./.spruce/schemas/schemas.types";
21
22
  export * from './constants';
package/build/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.DateParser = exports.calendarEventLineIconSchema = exports.eventTimeBlockSchema = exports.eventExclusionDateSchema = exports.calendarEventTargetSchema = exports.calendarEventSchema = exports.calculateEventDurationMinutes = exports.calculateEventDurationMillis = exports.TimezoneChoiceSorter = exports.DateUtilDecorator = exports.LocaleImpl = exports.PeopleSorter = exports.durationUtil = exports.dateUtil = exports.calendarUtil = void 0;
20
+ exports.sortTimezoneChoices = exports.DateParser = exports.calendarEventLineIconSchema = exports.eventTimeBlockSchema = exports.eventExclusionDateSchema = exports.calendarEventTargetSchema = exports.calendarEventSchema = exports.calculateEventDurationMinutes = exports.calculateEventDurationMillis = exports.TimezoneChoiceSorter = exports.DateUtilDecorator = exports.LocaleImpl = exports.PeopleSorter = exports.durationUtil = exports.dateUtil = exports.calendarUtil = void 0;
21
21
  var calendar_utility_1 = require("./utilities/calendar.utility");
22
22
  Object.defineProperty(exports, "calendarUtil", { enumerable: true, get: function () { return __importDefault(calendar_utility_1).default; } });
23
23
  var date_utility_1 = require("./utilities/date.utility");
@@ -51,5 +51,7 @@ var calendarEventLineIcon_schema_1 = require("./.spruce/schemas/calendarUtils/v2
51
51
  Object.defineProperty(exports, "calendarEventLineIconSchema", { enumerable: true, get: function () { return __importDefault(calendarEventLineIcon_schema_1).default; } });
52
52
  var DateParser_1 = require("./parsing/DateParser");
53
53
  Object.defineProperty(exports, "DateParser", { enumerable: true, get: function () { return __importDefault(DateParser_1).default; } });
54
+ var sortTimezoneChoices_1 = require("./utilities/sortTimezoneChoices");
55
+ Object.defineProperty(exports, "sortTimezoneChoices", { enumerable: true, get: function () { return __importDefault(sortTimezoneChoices_1).default; } });
54
56
  __exportStar(require("./dates"), exports);
55
57
  __exportStar(require("./constants"), exports);
@@ -0,0 +1,3 @@
1
+ import { Schema, SchemaFieldNames } from '@sprucelabs/schema';
2
+ import { Locale } from '../types/calendar.types';
3
+ export default function sortTimezoneChoices<S extends Schema>(locale: Locale, schema: S, fieldName: SchemaFieldNames<S>): S;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const schema_1 = require("@sprucelabs/schema");
7
+ const spruce_core_schemas_1 = require("@sprucelabs/spruce-core-schemas");
8
+ const TimezoneChoiceSorter_1 = __importDefault(require("../locales/TimezoneChoiceSorter"));
9
+ function sortTimezoneChoices(locale, schema, fieldName) {
10
+ const sorter = new TimezoneChoiceSorter_1.default(locale);
11
+ const choices = sorter.sort(spruce_core_schemas_1.timezoneChoices);
12
+ const copy = (0, schema_1.cloneDeep)(schema);
13
+ //@ts-ignore
14
+ copy.fields[fieldName].options.choices = choices;
15
+ return copy;
16
+ }
17
+ exports.default = sortTimezoneChoices;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "31.3.31",
6
+ "version": "31.4.0",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "!build/__tests__",
@@ -66,7 +66,7 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@sprucelabs/error": "^5.0.573",
69
- "@sprucelabs/mercury-event-emitter": "^35.0.121",
69
+ "@sprucelabs/mercury-event-emitter": "^35.0.122",
70
70
  "@sprucelabs/mercury-types": "^38.0.89",
71
71
  "@sprucelabs/schema": "^28.5.116",
72
72
  "@sprucelabs/spruce-core-schemas": "^35.1.152",