@focus8/settings-registry 0.8.3 → 0.8.5
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 +86 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +453 -146
- package/dist/index.js.map +1 -1
- package/package.json +24 -24
- package/src/index.ts +2460 -2037
- package/tsconfig.json +22 -22
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type LocaleCode = 'en' | 'nb';
|
|
|
18
18
|
export type CalendarType = 'chronological' | 'time-based';
|
|
19
19
|
export type ClockType = 'digital' | 'analog';
|
|
20
20
|
export type TimePickerMode = 'dials' | 'keypad';
|
|
21
|
-
export type AlarmTimeout =
|
|
21
|
+
export type AlarmTimeout = 5 | 30 | 60 | 120 | 180 | 300 | 600;
|
|
22
22
|
export declare const ALARM_TIMEOUTS: AlarmTimeout[];
|
|
23
23
|
export type CalendarViewMode = 'day' | '3-days' | '5-days' | '7-days' | 'week' | 'month' | 'overview';
|
|
24
24
|
export type CalendarDayViewCellZoom = 15 | 30 | 60;
|
|
@@ -28,6 +28,7 @@ export type LockScreenImageMode = 'none' | 'background' | 'photoFrame';
|
|
|
28
28
|
export type PhotoFrameIntervalSeconds = 30 | 60 | 120 | 300;
|
|
29
29
|
export type EventVisibility = 'Public' | 'Private' | 'Custom';
|
|
30
30
|
export type SuggestEndTimeUnit = 'minutes' | 'hours';
|
|
31
|
+
export type ChronologicalDayViewDisplayMode = 'list' | 'timeline';
|
|
31
32
|
export type WeatherLocation = {
|
|
32
33
|
address: string;
|
|
33
34
|
name?: string;
|
|
@@ -49,18 +50,42 @@ export type AllDayPreset = {
|
|
|
49
50
|
daysBefore: number;
|
|
50
51
|
time: string;
|
|
51
52
|
};
|
|
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 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' | 'CUSTOM_EVENT_CATEGORIES' | 'HIDDEN';
|
|
53
54
|
export type SettingOption<T = unknown> = {
|
|
54
55
|
/** The option value */
|
|
55
56
|
value: T;
|
|
56
57
|
/** i18n message key for the option label */
|
|
57
58
|
labelKey: string;
|
|
59
|
+
/** Optional values to pass to the i18n message formatter */
|
|
60
|
+
labelValues?: Record<string, unknown>;
|
|
58
61
|
};
|
|
59
62
|
export type SliderConfig = {
|
|
60
63
|
min: number;
|
|
61
64
|
max: number;
|
|
62
65
|
step: number;
|
|
63
66
|
};
|
|
67
|
+
export type VisibilityCondition = {
|
|
68
|
+
dependsOn: string;
|
|
69
|
+
equals: unknown;
|
|
70
|
+
} | {
|
|
71
|
+
dependsOn: string;
|
|
72
|
+
notEquals: unknown;
|
|
73
|
+
} | {
|
|
74
|
+
dependsOn: string;
|
|
75
|
+
isTruthy: true;
|
|
76
|
+
};
|
|
77
|
+
/** Single condition or array of conditions (all must be true = AND). */
|
|
78
|
+
export type VisibilityRule = VisibilityCondition | VisibilityCondition[];
|
|
79
|
+
/** Alias — same shape, controls interactivity instead of visibility. */
|
|
80
|
+
export type DisabledRule = VisibilityCondition | VisibilityCondition[];
|
|
81
|
+
/**
|
|
82
|
+
* Evaluate a visibility/disabled rule against current setting values.
|
|
83
|
+
* Returns `true` if the setting should be visible (or disabled, depending on usage).
|
|
84
|
+
* `undefined` rule = always true (no restriction).
|
|
85
|
+
*/
|
|
86
|
+
export declare function evaluateVisibility(rule: VisibilityRule | undefined, getValue: (key: string) => unknown): boolean;
|
|
87
|
+
/** Convenience: returns true when the setting should be disabled. */
|
|
88
|
+
export declare function evaluateDisabled(rule: DisabledRule | undefined, getValue: (key: string) => unknown): boolean;
|
|
64
89
|
export declare const SETTINGS_CATEGORIES: readonly ["appearance", "calendarView", "calendars", "sound", "timer", "media", "lockScreen", "touch", "device", "language", "notification", "chronological", "eventForm", "chronologicalEventForm"];
|
|
65
90
|
export type SettingsCategory = (typeof SETTINGS_CATEGORIES)[number];
|
|
66
91
|
export declare const CATEGORY_LABELS: Record<SettingsCategory, string>;
|
|
@@ -74,38 +99,42 @@ export declare const TIME_BASED_ONLY_CATEGORIES: ReadonlySet<SettingsCategory>;
|
|
|
74
99
|
* Categories not exclusive to either type are always included.
|
|
75
100
|
*/
|
|
76
101
|
export declare function getCategoriesForCalendarType(calendarType: CalendarType): SettingsCategory[];
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
export
|
|
84
|
-
export
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
102
|
+
export declare const SETTINGS_SECTION_IDS: readonly ["calendar", "unit"];
|
|
103
|
+
export type SettingsSectionId = (typeof SETTINGS_SECTION_IDS)[number];
|
|
104
|
+
export type SettingsSectionDef = {
|
|
105
|
+
id: SettingsSectionId;
|
|
106
|
+
labelKey: string;
|
|
107
|
+
};
|
|
108
|
+
export declare const SETTINGS_SECTIONS: readonly SettingsSectionDef[];
|
|
109
|
+
export declare const SETTINGS_MENU_ITEM_IDS: readonly ["calendarView", "calendars", "eventCategories", "notification", "timer", "guests", "eventForm", "chronologicalEventForm", "weather", "gallery", "audioClips", "gestures", "calendarType", "sharing", "screen", "volume", "lockScreen", "language", "wifi", "devices", "profiles", "tts", "updates", "about", "help", "dev", "account", "activityLog"];
|
|
110
|
+
export type SettingsMenuItemId = (typeof SETTINGS_MENU_ITEM_IDS)[number];
|
|
111
|
+
export type SettingsMenuItemDef = {
|
|
112
|
+
id: SettingsMenuItemId;
|
|
88
113
|
labelKey: string;
|
|
89
|
-
/** Lucide icon name */
|
|
90
114
|
icon: string;
|
|
115
|
+
section: SettingsSectionId | 'account';
|
|
116
|
+
/** Screen/page identifiers rendered for this menu item */
|
|
117
|
+
screens: string[];
|
|
91
118
|
/**
|
|
92
|
-
* Setting key matchers
|
|
93
|
-
*
|
|
94
|
-
*
|
|
119
|
+
* Setting key matchers for remote editing (web portal / profile editor).
|
|
120
|
+
* A setting is included if its key equals a matcher exactly, or starts
|
|
121
|
+
* with a matcher that ends with '.' (prefix match).
|
|
122
|
+
* Items without keys are navigation-only (e.g. gallery, guests).
|
|
95
123
|
*/
|
|
96
|
-
keys
|
|
124
|
+
keys?: string[];
|
|
97
125
|
/** Only show for this calendar type (undefined = always) */
|
|
98
126
|
calendarType?: CalendarType;
|
|
99
127
|
/** Only show for this app mode (undefined = always) */
|
|
100
128
|
appMode?: 'ENROLLED';
|
|
129
|
+
/** If true, don't wrap content in a scroll container */
|
|
130
|
+
noScrollView?: boolean;
|
|
101
131
|
};
|
|
102
132
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* in every consumer's i18n catalog.
|
|
133
|
+
* Ordered list of all settings menu items. The array order defines the
|
|
134
|
+
* display order within each section. Items without registry setting keys
|
|
135
|
+
* are navigation-only (e.g. gallery, guests).
|
|
107
136
|
*/
|
|
108
|
-
export declare const
|
|
137
|
+
export declare const SETTINGS_MENU_ITEMS: readonly SettingsMenuItemDef[];
|
|
109
138
|
/**
|
|
110
139
|
* Settings excluded from remote editing (web portal / profile management).
|
|
111
140
|
* These are device-local or internal-only settings.
|
|
@@ -126,17 +155,21 @@ export type SettingLabelDef = {
|
|
|
126
155
|
*/
|
|
127
156
|
export declare const SETTINGS_LABELS: Readonly<Record<string, SettingLabelDef>>;
|
|
128
157
|
/**
|
|
129
|
-
*
|
|
130
|
-
* app's
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
*
|
|
158
|
+
* Get the ordered list of setting keys for a given menu item.
|
|
159
|
+
* Returns keys matching the app's render order, filtered by EXCLUDED_DEVICE_SETTINGS and HIDDEN.
|
|
160
|
+
*/
|
|
161
|
+
export declare function getKeysForMenuItem(menuItemId: SettingsMenuItemId, reg?: SettingsRegistry): string[];
|
|
162
|
+
/**
|
|
163
|
+
* Group parsed setting entries using the app's menu structure (SETTINGS_MENU_ITEMS).
|
|
164
|
+
* Only includes menu items that have `keys` defined (editable settings).
|
|
165
|
+
* This ensures the web editor has the exact same menu items, order, sections,
|
|
166
|
+
* labels, and icons as the mobile app.
|
|
135
167
|
*/
|
|
136
|
-
export declare function
|
|
137
|
-
id:
|
|
168
|
+
export declare function groupSettingsForWeb(allSettings: ParsedSettingEntry[], calendarType: CalendarType, appMode?: 'ENROLLED'): {
|
|
169
|
+
id: SettingsMenuItemId;
|
|
138
170
|
labelKey: string;
|
|
139
171
|
icon: string;
|
|
172
|
+
section: SettingsSectionId | 'account';
|
|
140
173
|
settings: ParsedSettingEntry[];
|
|
141
174
|
}[];
|
|
142
175
|
export type SettingsDataType = 'string' | 'number' | 'boolean' | 'json';
|
|
@@ -156,6 +189,10 @@ export type SettingDef<T = unknown> = {
|
|
|
156
189
|
appMode?: 'ENROLLED';
|
|
157
190
|
/** Only show this setting for a specific calendar type (undefined = always) */
|
|
158
191
|
calendarType?: CalendarType;
|
|
192
|
+
/** Show this setting only when condition(s) are met */
|
|
193
|
+
visibleWhen?: VisibilityRule;
|
|
194
|
+
/** Disable (but still show) this setting when condition(s) are met */
|
|
195
|
+
disabledWhen?: DisabledRule;
|
|
159
196
|
};
|
|
160
197
|
export type RegistryConfig = {
|
|
161
198
|
/** Whether the device is in enrolled/kiosk mode */
|
|
@@ -207,6 +244,7 @@ declare function buildEntries(config: RegistryConfig): {
|
|
|
207
244
|
readonly 'sound.allowCustomReminderSounds': SettingDef<boolean>;
|
|
208
245
|
readonly 'sound.ttsEnabled': SettingDef<boolean>;
|
|
209
246
|
readonly 'sound.ttsRate': SettingDef<number>;
|
|
247
|
+
readonly 'timer.face': SettingDef<"ring" | "bars">;
|
|
210
248
|
readonly 'timer.showTimeRemaining': SettingDef<boolean>;
|
|
211
249
|
readonly 'timer.showEndTime': SettingDef<boolean>;
|
|
212
250
|
readonly 'timer.showRestartButton': SettingDef<boolean>;
|
|
@@ -255,11 +293,14 @@ declare function buildEntries(config: RegistryConfig): {
|
|
|
255
293
|
readonly 'chronological.quickSettings.showMediaVolume': SettingDef<boolean>;
|
|
256
294
|
readonly 'chronological.quickSettings.showBrightness': SettingDef<boolean>;
|
|
257
295
|
readonly 'chronological.quickSettings.showLockScreen': SettingDef<boolean>;
|
|
296
|
+
readonly 'chronological.quickSettings.showDayViewMode': SettingDef<boolean>;
|
|
297
|
+
readonly 'chronological.dayView.displayMode': SettingDef<ChronologicalDayViewDisplayMode>;
|
|
258
298
|
readonly 'chronological.timeOfDay.morningStart': SettingDef<number>;
|
|
259
299
|
readonly 'chronological.timeOfDay.forenoonStart': SettingDef<number>;
|
|
260
300
|
readonly 'chronological.timeOfDay.afternoonStart': SettingDef<number>;
|
|
261
301
|
readonly 'chronological.timeOfDay.eveningStart': SettingDef<number>;
|
|
262
302
|
readonly 'chronological.timeOfDay.nightStart': SettingDef<number>;
|
|
303
|
+
readonly 'chronologicalEventForm.fixedField.category': SettingDef<boolean>;
|
|
263
304
|
readonly 'chronologicalEventForm.fixedField.allDay': SettingDef<boolean>;
|
|
264
305
|
readonly 'chronologicalEventForm.fixedField.endTime': SettingDef<boolean>;
|
|
265
306
|
readonly 'chronologicalEventForm.fixedField.alarm': SettingDef<boolean>;
|
|
@@ -271,10 +312,13 @@ declare function buildEntries(config: RegistryConfig): {
|
|
|
271
312
|
readonly 'chronologicalEventForm.field.extraImages': SettingDef<boolean>;
|
|
272
313
|
readonly 'chronologicalEventForm.field.reminders': SettingDef<boolean>;
|
|
273
314
|
readonly 'chronologicalEventForm.field.audioClips': SettingDef<boolean>;
|
|
315
|
+
readonly 'chronologicalEventForm.field.category': SettingDef<boolean>;
|
|
274
316
|
readonly 'chronologicalEventForm.suggestEndTime.enabled': SettingDef<boolean>;
|
|
275
317
|
readonly 'chronologicalEventForm.suggestEndTime.value': SettingDef<number>;
|
|
276
318
|
readonly 'chronologicalEventForm.suggestEndTime.unit': SettingDef<SuggestEndTimeUnit>;
|
|
277
319
|
readonly 'chronologicalEventForm.defaultVisibility': SettingDef<EventVisibility>;
|
|
320
|
+
readonly 'chronologicalEventForm.defaultAlarm.atStart': SettingDef<boolean>;
|
|
321
|
+
readonly 'chronologicalEventForm.defaultAlarm.atEnd': SettingDef<boolean>;
|
|
278
322
|
readonly 'chronologicalEventForm.reminderPresets.timed': SettingDef<number[]>;
|
|
279
323
|
readonly 'chronologicalEventForm.reminderPresets.allDay': SettingDef<AllDayPreset[]>;
|
|
280
324
|
};
|
|
@@ -342,6 +386,10 @@ export type ParsedSettingEntry = {
|
|
|
342
386
|
appMode?: 'ENROLLED';
|
|
343
387
|
/** Only show this setting for a specific calendar type (undefined = always) */
|
|
344
388
|
calendarType?: CalendarType;
|
|
389
|
+
/** Show this setting only when condition(s) are met */
|
|
390
|
+
visibleWhen?: VisibilityRule;
|
|
391
|
+
/** Disable (but still show) this setting when condition(s) are met */
|
|
392
|
+
disabledWhen?: DisabledRule;
|
|
345
393
|
};
|
|
346
394
|
export type ParsedSettingsGroup = {
|
|
347
395
|
/** The category key */
|
|
@@ -424,6 +472,7 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
|
|
|
424
472
|
readonly 'sound.allowCustomReminderSounds': SettingDef<boolean>;
|
|
425
473
|
readonly 'sound.ttsEnabled': SettingDef<boolean>;
|
|
426
474
|
readonly 'sound.ttsRate': SettingDef<number>;
|
|
475
|
+
readonly 'timer.face': SettingDef<"ring" | "bars">;
|
|
427
476
|
readonly 'timer.showTimeRemaining': SettingDef<boolean>;
|
|
428
477
|
readonly 'timer.showEndTime': SettingDef<boolean>;
|
|
429
478
|
readonly 'timer.showRestartButton': SettingDef<boolean>;
|
|
@@ -472,11 +521,14 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
|
|
|
472
521
|
readonly 'chronological.quickSettings.showMediaVolume': SettingDef<boolean>;
|
|
473
522
|
readonly 'chronological.quickSettings.showBrightness': SettingDef<boolean>;
|
|
474
523
|
readonly 'chronological.quickSettings.showLockScreen': SettingDef<boolean>;
|
|
524
|
+
readonly 'chronological.quickSettings.showDayViewMode': SettingDef<boolean>;
|
|
525
|
+
readonly 'chronological.dayView.displayMode': SettingDef<ChronologicalDayViewDisplayMode>;
|
|
475
526
|
readonly 'chronological.timeOfDay.morningStart': SettingDef<number>;
|
|
476
527
|
readonly 'chronological.timeOfDay.forenoonStart': SettingDef<number>;
|
|
477
528
|
readonly 'chronological.timeOfDay.afternoonStart': SettingDef<number>;
|
|
478
529
|
readonly 'chronological.timeOfDay.eveningStart': SettingDef<number>;
|
|
479
530
|
readonly 'chronological.timeOfDay.nightStart': SettingDef<number>;
|
|
531
|
+
readonly 'chronologicalEventForm.fixedField.category': SettingDef<boolean>;
|
|
480
532
|
readonly 'chronologicalEventForm.fixedField.allDay': SettingDef<boolean>;
|
|
481
533
|
readonly 'chronologicalEventForm.fixedField.endTime': SettingDef<boolean>;
|
|
482
534
|
readonly 'chronologicalEventForm.fixedField.alarm': SettingDef<boolean>;
|
|
@@ -488,10 +540,13 @@ export declare function createSettingsRegistry(config?: Partial<RegistryConfig>)
|
|
|
488
540
|
readonly 'chronologicalEventForm.field.extraImages': SettingDef<boolean>;
|
|
489
541
|
readonly 'chronologicalEventForm.field.reminders': SettingDef<boolean>;
|
|
490
542
|
readonly 'chronologicalEventForm.field.audioClips': SettingDef<boolean>;
|
|
543
|
+
readonly 'chronologicalEventForm.field.category': SettingDef<boolean>;
|
|
491
544
|
readonly 'chronologicalEventForm.suggestEndTime.enabled': SettingDef<boolean>;
|
|
492
545
|
readonly 'chronologicalEventForm.suggestEndTime.value': SettingDef<number>;
|
|
493
546
|
readonly 'chronologicalEventForm.suggestEndTime.unit': SettingDef<SuggestEndTimeUnit>;
|
|
494
547
|
readonly 'chronologicalEventForm.defaultVisibility': SettingDef<EventVisibility>;
|
|
548
|
+
readonly 'chronologicalEventForm.defaultAlarm.atStart': SettingDef<boolean>;
|
|
549
|
+
readonly 'chronologicalEventForm.defaultAlarm.atEnd': SettingDef<boolean>;
|
|
495
550
|
readonly 'chronologicalEventForm.reminderPresets.timed': SettingDef<number[]>;
|
|
496
551
|
readonly 'chronologicalEventForm.reminderPresets.allDay': SettingDef<AllDayPreset[]>;
|
|
497
552
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AACb,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|