@focus8/settings-registry 0.6.0 → 0.8.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/dist/index.d.ts CHANGED
@@ -49,6 +49,18 @@ export type AllDayPreset = {
49
49
  daysBefore: number;
50
50
  time: string;
51
51
  };
52
+ export type SettingUiType = 'TOGGLE' | 'SELECT' | 'VOLUME_SLIDER' | 'SLIDER' | 'NUMBER_INPUT' | 'TEXT_INPUT' | 'PIN_INPUT' | 'CUSTOM_THEME_PICKER' | 'CUSTOM_LANGUAGE_PICKER' | 'CUSTOM_CALENDAR_TYPE' | 'CUSTOM_CLOCK_TYPE' | 'CUSTOM_WEATHER_LOCATION' | 'CUSTOM_IMAGE' | 'CUSTOM_IMAGE_ARRAY' | 'CUSTOM_CALENDAR_IDS' | 'CUSTOM_REMINDER_PRESETS' | 'CUSTOM_EVENT_FORM' | 'CUSTOM_CHRONOLOGICAL_EVENT_FORM' | 'CUSTOM_DISPLAY_DENSITY' | 'CUSTOM_BRIGHTNESS' | 'CUSTOM_SPLIT_VIEW_CONFIG' | 'HIDDEN';
53
+ export type SettingOption<T = unknown> = {
54
+ /** The option value */
55
+ value: T;
56
+ /** i18n message key for the option label */
57
+ labelKey: string;
58
+ };
59
+ export type SliderConfig = {
60
+ min: number;
61
+ max: number;
62
+ step: number;
63
+ };
52
64
  export declare const SETTINGS_CATEGORIES: readonly ["appearance", "calendarView", "calendars", "sound", "timer", "media", "lockScreen", "touch", "device", "language", "notification", "chronological", "eventForm", "chronologicalEventForm"];
53
65
  export type SettingsCategory = (typeof SETTINGS_CATEGORIES)[number];
54
66
  export declare const CATEGORY_LABELS: Record<SettingsCategory, string>;
@@ -84,6 +96,8 @@ export type SettingsGroupDef = {
84
96
  keys: string[];
85
97
  /** Only show for this calendar type (undefined = always) */
86
98
  calendarType?: CalendarType;
99
+ /** Only show for this app mode (undefined = always) */
100
+ appMode?: 'ENROLLED';
87
101
  };
88
102
  /**
89
103
  * Group definitions matching the mobile app's settings structure.
@@ -119,7 +133,7 @@ export declare const SETTINGS_LABELS: Readonly<Record<string, SettingLabelDef>>;
119
133
  * buckets them into the standard groups, filtering by calendar type and
120
134
  * excluded keys.
121
135
  */
122
- export declare function groupSettingsForDevice(allSettings: ParsedSettingEntry[], calendarType: CalendarType): {
136
+ export declare function groupSettingsForDevice(allSettings: ParsedSettingEntry[], calendarType: CalendarType, appMode?: 'ENROLLED'): {
123
137
  id: SettingsGroupId;
124
138
  labelKey: string;
125
139
  icon: string;
@@ -132,6 +146,16 @@ export type SettingDef<T = unknown> = {
132
146
  default: T;
133
147
  /** Whether this setting should be synced to the server. Default true. */
134
148
  sync: boolean;
149
+ /** UI component type for rendering this setting */
150
+ uiType: SettingUiType;
151
+ /** Available options for SELECT-type settings */
152
+ options?: readonly SettingOption<T>[];
153
+ /** Slider configuration for SLIDER-type settings */
154
+ sliderConfig?: SliderConfig;
155
+ /** Only show this setting for enrolled/kiosk devices (undefined = always) */
156
+ appMode?: 'ENROLLED';
157
+ /** Only show this setting for a specific calendar type (undefined = always) */
158
+ calendarType?: CalendarType;
135
159
  };
136
160
  export type RegistryConfig = {
137
161
  /** Whether the device is in enrolled/kiosk mode */
@@ -160,10 +184,10 @@ declare function buildEntries(config: RegistryConfig): {
160
184
  readonly 'calendarView.showWeatherOnTimeline': SettingDef<boolean>;
161
185
  readonly 'calendarView.weatherLocation': SettingDef<WeatherLocation | null>;
162
186
  readonly 'eventForm.recurrence': SettingDef<boolean>;
163
- readonly 'eventForm.reminders': SettingDef<boolean>;
164
- readonly 'eventForm.emailReminders': SettingDef<boolean>;
165
187
  readonly 'eventForm.location': SettingDef<boolean>;
166
188
  readonly 'eventForm.travelTime': SettingDef<boolean>;
189
+ readonly 'eventForm.reminders': SettingDef<boolean>;
190
+ readonly 'eventForm.emailReminders': SettingDef<boolean>;
167
191
  readonly 'eventForm.description': SettingDef<boolean>;
168
192
  readonly 'eventForm.checklist': SettingDef<boolean>;
169
193
  readonly 'eventForm.images': SettingDef<boolean>;
@@ -185,16 +209,16 @@ declare function buildEntries(config: RegistryConfig): {
185
209
  readonly 'timer.showEndTime': SettingDef<boolean>;
186
210
  readonly 'timer.showRestartButton': SettingDef<boolean>;
187
211
  readonly 'timer.showPauseButton': SettingDef<boolean>;
188
- readonly 'lockScreen.pin': SettingDef<string>;
189
212
  readonly 'lockScreen.inactivityLockEnabled': SettingDef<boolean>;
190
213
  readonly 'lockScreen.inactivityTimeoutMinutes': SettingDef<InactivityTimeoutMinutes>;
214
+ readonly 'lockScreen.pin': SettingDef<string>;
191
215
  readonly 'lockScreen.clockDisplay': SettingDef<LockScreenClockDisplay>;
192
- readonly 'lockScreen.showDate': SettingDef<boolean>;
193
216
  readonly 'lockScreen.showHourNumbers': SettingDef<boolean>;
217
+ readonly 'lockScreen.showDate': SettingDef<boolean>;
194
218
  readonly 'lockScreen.imageMode': SettingDef<LockScreenImageMode>;
195
219
  readonly 'lockScreen.backgroundImage': SettingDef<string | null>;
196
- readonly 'lockScreen.photoFrameImages': SettingDef<LockScreenImage[]>;
197
220
  readonly 'lockScreen.photoFrameIntervalSeconds': SettingDef<PhotoFrameIntervalSeconds>;
221
+ readonly 'lockScreen.photoFrameImages': SettingDef<LockScreenImage[]>;
198
222
  readonly 'touch.enableTapToCreate': SettingDef<boolean>;
199
223
  readonly 'touch.enableDragDrop': SettingDef<boolean>;
200
224
  readonly 'device.id': SettingDef<string>;
@@ -207,8 +231,8 @@ declare function buildEntries(config: RegistryConfig): {
207
231
  readonly 'notification.enabledCalendarIds': SettingDef<string[]>;
208
232
  readonly 'notification.hasBeenPrompted': SettingDef<boolean>;
209
233
  readonly 'chronological.header.showNavigationArrows': SettingDef<boolean>;
210
- readonly 'chronological.header.showClock': SettingDef<boolean>;
211
234
  readonly 'chronological.header.showCurrentYearInDate': SettingDef<boolean>;
235
+ readonly 'chronological.header.showClock': SettingDef<boolean>;
212
236
  readonly 'chronological.header.showTimeOfDay': SettingDef<boolean>;
213
237
  readonly 'chronological.footer.showMenuButton': SettingDef<boolean>;
214
238
  readonly 'chronological.footer.showViewSwitcherDay': SettingDef<boolean>;
@@ -219,9 +243,9 @@ declare function buildEntries(config: RegistryConfig): {
219
243
  readonly 'chronological.footer.showSettingsButton': SettingDef<boolean>;
220
244
  readonly 'chronological.timer.showNewCountdown': SettingDef<boolean>;
221
245
  readonly 'chronological.timer.showFromTemplate': SettingDef<boolean>;
246
+ readonly 'chronological.timer.showAddTemplate': SettingDef<boolean>;
222
247
  readonly 'chronological.timer.showEditTemplate': SettingDef<boolean>;
223
248
  readonly 'chronological.timer.showDeleteTemplate': SettingDef<boolean>;
224
- readonly 'chronological.timer.showAddTemplate': SettingDef<boolean>;
225
249
  readonly 'chronological.menu.showSettingsButton': SettingDef<boolean>;
226
250
  readonly 'chronological.quickSettings.showTimerVolume': SettingDef<boolean>;
227
251
  readonly 'chronological.quickSettings.showReminderVolume': SettingDef<boolean>;
@@ -233,16 +257,16 @@ declare function buildEntries(config: RegistryConfig): {
233
257
  readonly 'chronological.timeOfDay.afternoonStart': SettingDef<number>;
234
258
  readonly 'chronological.timeOfDay.eveningStart': SettingDef<number>;
235
259
  readonly 'chronological.timeOfDay.nightStart': SettingDef<number>;
260
+ readonly 'chronologicalEventForm.fixedField.allDay': SettingDef<boolean>;
261
+ readonly 'chronologicalEventForm.fixedField.endTime': SettingDef<boolean>;
262
+ readonly 'chronologicalEventForm.fixedField.visibility': SettingDef<boolean>;
263
+ readonly 'chronologicalEventForm.field.acknowledge': SettingDef<boolean>;
236
264
  readonly 'chronologicalEventForm.field.description': SettingDef<boolean>;
237
265
  readonly 'chronologicalEventForm.field.recurrence': SettingDef<boolean>;
238
- readonly 'chronologicalEventForm.field.acknowledge': SettingDef<boolean>;
239
266
  readonly 'chronologicalEventForm.field.checklist': SettingDef<boolean>;
240
267
  readonly 'chronologicalEventForm.field.extraImages': SettingDef<boolean>;
241
268
  readonly 'chronologicalEventForm.field.reminders': SettingDef<boolean>;
242
269
  readonly 'chronologicalEventForm.field.audioClips': SettingDef<boolean>;
243
- readonly 'chronologicalEventForm.fixedField.allDay': SettingDef<boolean>;
244
- readonly 'chronologicalEventForm.fixedField.endTime': SettingDef<boolean>;
245
- readonly 'chronologicalEventForm.fixedField.visibility': SettingDef<boolean>;
246
270
  readonly 'chronologicalEventForm.suggestEndTime.enabled': SettingDef<boolean>;
247
271
  readonly 'chronologicalEventForm.suggestEndTime.value': SettingDef<number>;
248
272
  readonly 'chronologicalEventForm.suggestEndTime.unit': SettingDef<SuggestEndTimeUnit>;
@@ -304,6 +328,16 @@ export type ParsedSettingEntry = {
304
328
  descriptionKey?: string;
305
329
  /** The setting value */
306
330
  value: unknown;
331
+ /** UI component type for rendering this setting */
332
+ uiType: SettingUiType;
333
+ /** Available options for SELECT-type settings */
334
+ options?: readonly SettingOption[];
335
+ /** Slider configuration for SLIDER-type settings */
336
+ sliderConfig?: SliderConfig;
337
+ /** Only show this setting for enrolled/kiosk devices (undefined = always) */
338
+ appMode?: 'ENROLLED';
339
+ /** Only show this setting for a specific calendar type (undefined = always) */
340
+ calendarType?: CalendarType;
307
341
  };
308
342
  export type ParsedSettingsGroup = {
309
343
  /** The category key */
@@ -328,6 +362,23 @@ export declare function parseSettingsSnapshot(json: string | Record<string, unkn
328
362
  * Handles booleans, numbers, strings, arrays, objects, and null/undefined.
329
363
  */
330
364
  export declare function formatSettingValue(value: unknown): string;
365
+ /**
366
+ * Serialize a settings object (with mixed native types) into a
367
+ * string-values-only snapshot suitable for pushing to a mobile device.
368
+ *
369
+ * Uses the registry's `serialize()` method for known keys so that
370
+ * booleans become "true"/"false", numbers become digit strings, etc.
371
+ * Unknown keys are converted with `String(value)`.
372
+ */
373
+ export declare function serializeSettingsSnapshot(settings: Record<string, unknown>, registry: SettingsRegistry): Record<string, string>;
374
+ /**
375
+ * Deserialize a settings snapshot (string values from the server/DB) into
376
+ * native-typed values using the registry.
377
+ *
378
+ * This ensures local state always contains native types (boolean, number, etc.)
379
+ * so that subsequent `serializeSettingsSnapshot` calls produce correct results.
380
+ */
381
+ export declare function deserializeSettingsSnapshot(snapshot: Record<string, unknown>, registry?: SettingsRegistry): Record<string, unknown>;
331
382
  export declare const defaultRegistry: SettingsRegistry;
332
383
  export declare function createSettingsRegistry(config?: Partial<RegistryConfig>): {
333
384
  readonly 'appearance.theme': SettingDef<ThemeSetting>;
@@ -346,10 +397,10 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
346
397
  readonly 'calendarView.showWeatherOnTimeline': SettingDef<boolean>;
347
398
  readonly 'calendarView.weatherLocation': SettingDef<WeatherLocation | null>;
348
399
  readonly 'eventForm.recurrence': SettingDef<boolean>;
349
- readonly 'eventForm.reminders': SettingDef<boolean>;
350
- readonly 'eventForm.emailReminders': SettingDef<boolean>;
351
400
  readonly 'eventForm.location': SettingDef<boolean>;
352
401
  readonly 'eventForm.travelTime': SettingDef<boolean>;
402
+ readonly 'eventForm.reminders': SettingDef<boolean>;
403
+ readonly 'eventForm.emailReminders': SettingDef<boolean>;
353
404
  readonly 'eventForm.description': SettingDef<boolean>;
354
405
  readonly 'eventForm.checklist': SettingDef<boolean>;
355
406
  readonly 'eventForm.images': SettingDef<boolean>;
@@ -371,16 +422,16 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
371
422
  readonly 'timer.showEndTime': SettingDef<boolean>;
372
423
  readonly 'timer.showRestartButton': SettingDef<boolean>;
373
424
  readonly 'timer.showPauseButton': SettingDef<boolean>;
374
- readonly 'lockScreen.pin': SettingDef<string>;
375
425
  readonly 'lockScreen.inactivityLockEnabled': SettingDef<boolean>;
376
426
  readonly 'lockScreen.inactivityTimeoutMinutes': SettingDef<InactivityTimeoutMinutes>;
427
+ readonly 'lockScreen.pin': SettingDef<string>;
377
428
  readonly 'lockScreen.clockDisplay': SettingDef<LockScreenClockDisplay>;
378
- readonly 'lockScreen.showDate': SettingDef<boolean>;
379
429
  readonly 'lockScreen.showHourNumbers': SettingDef<boolean>;
430
+ readonly 'lockScreen.showDate': SettingDef<boolean>;
380
431
  readonly 'lockScreen.imageMode': SettingDef<LockScreenImageMode>;
381
432
  readonly 'lockScreen.backgroundImage': SettingDef<string | null>;
382
- readonly 'lockScreen.photoFrameImages': SettingDef<LockScreenImage[]>;
383
433
  readonly 'lockScreen.photoFrameIntervalSeconds': SettingDef<PhotoFrameIntervalSeconds>;
434
+ readonly 'lockScreen.photoFrameImages': SettingDef<LockScreenImage[]>;
384
435
  readonly 'touch.enableTapToCreate': SettingDef<boolean>;
385
436
  readonly 'touch.enableDragDrop': SettingDef<boolean>;
386
437
  readonly 'device.id': SettingDef<string>;
@@ -393,8 +444,8 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
393
444
  readonly 'notification.enabledCalendarIds': SettingDef<string[]>;
394
445
  readonly 'notification.hasBeenPrompted': SettingDef<boolean>;
395
446
  readonly 'chronological.header.showNavigationArrows': SettingDef<boolean>;
396
- readonly 'chronological.header.showClock': SettingDef<boolean>;
397
447
  readonly 'chronological.header.showCurrentYearInDate': SettingDef<boolean>;
448
+ readonly 'chronological.header.showClock': SettingDef<boolean>;
398
449
  readonly 'chronological.header.showTimeOfDay': SettingDef<boolean>;
399
450
  readonly 'chronological.footer.showMenuButton': SettingDef<boolean>;
400
451
  readonly 'chronological.footer.showViewSwitcherDay': SettingDef<boolean>;
@@ -405,9 +456,9 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
405
456
  readonly 'chronological.footer.showSettingsButton': SettingDef<boolean>;
406
457
  readonly 'chronological.timer.showNewCountdown': SettingDef<boolean>;
407
458
  readonly 'chronological.timer.showFromTemplate': SettingDef<boolean>;
459
+ readonly 'chronological.timer.showAddTemplate': SettingDef<boolean>;
408
460
  readonly 'chronological.timer.showEditTemplate': SettingDef<boolean>;
409
461
  readonly 'chronological.timer.showDeleteTemplate': SettingDef<boolean>;
410
- readonly 'chronological.timer.showAddTemplate': SettingDef<boolean>;
411
462
  readonly 'chronological.menu.showSettingsButton': SettingDef<boolean>;
412
463
  readonly 'chronological.quickSettings.showTimerVolume': SettingDef<boolean>;
413
464
  readonly 'chronological.quickSettings.showReminderVolume': SettingDef<boolean>;
@@ -419,16 +470,16 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
419
470
  readonly 'chronological.timeOfDay.afternoonStart': SettingDef<number>;
420
471
  readonly 'chronological.timeOfDay.eveningStart': SettingDef<number>;
421
472
  readonly 'chronological.timeOfDay.nightStart': SettingDef<number>;
473
+ readonly 'chronologicalEventForm.fixedField.allDay': SettingDef<boolean>;
474
+ readonly 'chronologicalEventForm.fixedField.endTime': SettingDef<boolean>;
475
+ readonly 'chronologicalEventForm.fixedField.visibility': SettingDef<boolean>;
476
+ readonly 'chronologicalEventForm.field.acknowledge': SettingDef<boolean>;
422
477
  readonly 'chronologicalEventForm.field.description': SettingDef<boolean>;
423
478
  readonly 'chronologicalEventForm.field.recurrence': SettingDef<boolean>;
424
- readonly 'chronologicalEventForm.field.acknowledge': SettingDef<boolean>;
425
479
  readonly 'chronologicalEventForm.field.checklist': SettingDef<boolean>;
426
480
  readonly 'chronologicalEventForm.field.extraImages': SettingDef<boolean>;
427
481
  readonly 'chronologicalEventForm.field.reminders': SettingDef<boolean>;
428
482
  readonly 'chronologicalEventForm.field.audioClips': SettingDef<boolean>;
429
- readonly 'chronologicalEventForm.fixedField.allDay': SettingDef<boolean>;
430
- readonly 'chronologicalEventForm.fixedField.endTime': SettingDef<boolean>;
431
- readonly 'chronologicalEventForm.fixedField.visibility': SettingDef<boolean>;
432
483
  readonly 'chronologicalEventForm.suggestEndTime.enabled': SettingDef<boolean>;
433
484
  readonly 'chronologicalEventForm.suggestEndTime.value': SettingDef<number>;
434
485
  readonly 'chronologicalEventForm.suggestEndTime.unit': SettingDef<SuggestEndTimeUnit>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}