@freeappstore/sdk 0.14.36 → 0.15.1

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
@@ -161,6 +161,37 @@ const keys = await fas.keys.status();
161
161
 
162
162
  Supported providers: OpenAI, Anthropic, Google AI, OpenRouter, Replicate, Stability AI, ElevenLabs, Stripe.
163
163
 
164
+ ### Push reminders (`fas.push`)
165
+
166
+ Scheduled Web Push notifications for the signed-in user. The platform sends a push to each of the user's devices for your app when a reminder comes due (checked every 15 minutes).
167
+
168
+ ```ts
169
+ const { supported, reason } = fas.push.isSupported();
170
+ // reason 'requires-home-screen': on iPhone/iPad, add the app to the Home Screen first
171
+
172
+ // From a button tap (browsers block permission prompts outside a user gesture):
173
+ await fas.push.subscribe(); // asks permission, registers this device
174
+
175
+ await fas.push.schedule('period-due', { at: new Date('2026-11-02T09:00') });
176
+ await fas.push.schedule('log', { daily: '21:00' }, { quietHours: { start: '22:00', end: '07:00' } });
177
+ await fas.push.schedule('refill', { everyDays: 28, at: '09:00' }, { tz: 'Europe/London' });
178
+
179
+ const reminders = await fas.push.list(); // [{ reminderId, when, tz, quietHours, nextAt }]
180
+ await fas.push.cancel('log');
181
+ await fas.push.unsubscribe(); // this device only
182
+ ```
183
+
184
+ Errors: `PushNotSignedInError`, `PushNotSupportedError` (with `reason`), `PushPermissionDeniedError`, `PushNotConfiguredError`.
185
+
186
+ Pushes carry **no payload**: your service worker shows the notification text, so nothing about the reminder passes through the browser's push service. With vite-plugin-pwa's `injectManifest` strategy, add this to your service worker:
187
+
188
+ ```ts
189
+ import { registerFasPushHandler } from '@freeappstore/sdk/push-sw';
190
+ registerFasPushHandler({ title: 'Cycle', body: 'Time to check in.', onClick: () => '/' });
191
+ ```
192
+
193
+ Keep the text generic for anything sensitive; it can show on a lock screen. Limits: 10 devices and 20 reminders per user per app.
194
+
164
195
  ### React Hooks
165
196
 
166
197
  Import from `@freeappstore/sdk/hooks`. Requires React 18+ as a peer dependency.
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ import { Keys } from './keys.js';
7
7
  import { Kv } from './kv.js';
8
8
  import { Logger } from './logger.js';
9
9
  import { ApiProxy } from './proxy.js';
10
+ import { Push } from './push.js';
10
11
  import { Roles } from './roles.js';
11
12
  import { Rooms } from './rooms.js';
12
13
  import type { FasInitOptions } from './types.js';
@@ -15,11 +16,13 @@ export type { AuthProvider } from './auth.js';
15
16
  export type { Collection, GeoBBox, QueryOptions, QueryResult } from './db.js';
16
17
  export { Collections } from './db.js';
17
18
  export type { Friend, FriendSearchResult, FriendshipStatus } from './friends.js';
19
+ export type { PushIsSupported, PushReminder, PushScheduleOptions, PushSupportReason, PushWhen, } from './push.js';
20
+ export { PushNotConfiguredError, PushNotSignedInError, PushNotSupportedError, PushPermissionDeniedError, } from './push.js';
18
21
  export type { DefaultRole, RoleAssignment } from './roles.js';
19
22
  export { DEFAULT_ROLES } from './roles.js';
20
23
  export type { ConnectionState, Room, RoomMessage, RoomPeer } from './rooms.js';
21
24
  export type { FasInitOptions, Unsubscribe, User } from './types.js';
22
- /** Root SDK instance — provides auth, kv, collections, counters, rooms, and proxy sub-clients. */
25
+ /** Root SDK instance — provides auth, kv, collections, counters, rooms, proxy, push and the other sub-clients. */
23
26
  export declare class FreeAppStore {
24
27
  readonly auth: Auth;
25
28
  readonly kv: Kv;
@@ -33,6 +36,7 @@ export declare class FreeAppStore {
33
36
  readonly log: Logger;
34
37
  readonly webhooks: Webhooks;
35
38
  readonly friends: Friends;
39
+ readonly push: Push;
36
40
  constructor(opts: FasInitOptions);
37
41
  }
38
42
  /** Create a new FreeAppStore SDK instance for the given app. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOpE,kGAAkG;AAClG,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,IAAI,EAAE,cAAc;CAejC;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,CAE1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjF,YAAY,EACV,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOpE,kHAAkH;AAClH,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;gBAER,IAAI,EAAE,cAAc;CAgBjC;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,CAE1D"}
package/dist/index.js CHANGED
@@ -7,17 +7,19 @@ import { Keys } from './keys.js';
7
7
  import { Kv } from './kv.js';
8
8
  import { Logger } from './logger.js';
9
9
  import { ApiProxy } from './proxy.js';
10
+ import { Push } from './push.js';
10
11
  import { Roles } from './roles.js';
11
12
  import { Rooms } from './rooms.js';
12
13
  import { Webhooks } from './webhooks.js';
13
14
  export { Collections } from './db.js';
15
+ export { PushNotConfiguredError, PushNotSignedInError, PushNotSupportedError, PushPermissionDeniedError, } from './push.js';
14
16
  export { DEFAULT_ROLES } from './roles.js';
15
17
  // React-dependent exports (useVoiceInput, UseVoiceInputReturn) live in the
16
18
  // './hooks' subpath, NOT this barrel. Re-exporting them here forced the main
17
19
  // entry to statically import 'react' — an *optional* peer dep — so any
18
20
  // non-React consumer doing `import { initApp } from '@freeappstore/sdk'`
19
21
  // crashed with ERR_MODULE_NOT_FOUND: react. See prod-smoke steps 2 & 6.
20
- /** Root SDK instance — provides auth, kv, collections, counters, rooms, and proxy sub-clients. */
22
+ /** Root SDK instance — provides auth, kv, collections, counters, rooms, proxy, push and the other sub-clients. */
21
23
  export class FreeAppStore {
22
24
  auth;
23
25
  kv;
@@ -31,6 +33,7 @@ export class FreeAppStore {
31
33
  log;
32
34
  webhooks;
33
35
  friends;
36
+ push;
34
37
  constructor(opts) {
35
38
  const apiBase = opts.apiBase ?? 'https://api.freeappstore.online';
36
39
  this.auth = new Auth(opts.appId, apiBase);
@@ -45,6 +48,7 @@ export class FreeAppStore {
45
48
  this.log = new Logger(opts.appId, apiBase, this.auth);
46
49
  this.webhooks = new Webhooks(opts.appId, apiBase, this.auth);
47
50
  this.friends = new Friends(opts.appId, apiBase, this.auth);
51
+ this.push = new Push(opts.appId, apiBase, this.auth);
48
52
  }
49
53
  }
50
54
  /** Create a new FreeAppStore SDK instance for the given app. */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAStC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,yEAAyE;AACzE,wEAAwE;AAExE,kHAAkH;AAClH,MAAM,OAAO,YAAY;IACd,IAAI,CAAO;IACX,EAAE,CAAK;IACP,WAAW,CAAc;IACzB,QAAQ,CAAW;IACnB,KAAK,CAAQ;IACb,KAAK,CAAW;IAChB,KAAK,CAAQ;IACb,IAAI,CAAO;IACX,KAAK,CAAQ;IACb,GAAG,CAAS;IACZ,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,IAAI,CAAO;IAEpB,YAAY,IAAoB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,iCAAiC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,UAAU,OAAO,CAAC,IAAoB;IAC1C,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
package/dist/logger.d.ts CHANGED
@@ -35,7 +35,7 @@ export interface BuildMeta {
35
35
  viewport: string;
36
36
  theme?: string | undefined;
37
37
  }
38
- export declare const SDK_VERSION = "0.14.36";
38
+ export declare const SDK_VERSION = "0.15.1";
39
39
  export declare class Logger {
40
40
  private readonly appId;
41
41
  private readonly apiBase;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAID,eAAO,MAAM,WAAW,YAAY,CAAC;AAOrC,qBAAa,MAAM;IAYf,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAbvB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,aAAa,CAAS;IAK9B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,OAAO,CAAK;gBAGD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI;IAW7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAGrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAGpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAGpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIrC,oDAAoD;IACpD,OAAO,IAAI,QAAQ,EAAE;IAIrB,sEAAsE;IACtE,IAAI,IAAI,MAAM;IAUd,8CAA8C;IAC9C,KAAK;IASL,+CAA+C;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,kDAAkD;IAClD,YAAY,IAAI,SAAS;IAiBzB,4CAA4C;IAC5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IASrF,qEAAqE;IACrE,YAAY,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B;IAOH,OAAO,CAAC,GAAG;IAmBX,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;YAMV,WAAW;IAYzB,OAAO,CAAC,SAAS,CAA8B;YAEjC,aAAa;IA0B3B,OAAO;CAGR"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAID,eAAO,MAAM,WAAW,WAAW,CAAC;AAOpC,qBAAa,MAAM;IAYf,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAbvB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,aAAa,CAAS;IAK9B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,OAAO,CAAK;gBAGD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI;IAW7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAGrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAGpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAGpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIrC,oDAAoD;IACpD,OAAO,IAAI,QAAQ,EAAE;IAIrB,sEAAsE;IACtE,IAAI,IAAI,MAAM;IAUd,8CAA8C;IAC9C,KAAK;IASL,+CAA+C;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,kDAAkD;IAClD,YAAY,IAAI,SAAS;IAiBzB,4CAA4C;IAC5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IASrF,qEAAqE;IACrE,YAAY,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B;IAOH,OAAO,CAAC,GAAG;IAmBX,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;YAMV,WAAW;IAYzB,OAAO,CAAC,SAAS,CAA8B;YAEjC,aAAa;IA0B3B,OAAO;CAGR"}
package/dist/logger.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Must track package.json version — bumped on release. Guarded by version.test.ts
2
2
  // so a forgotten bump fails CI instead of silently misattributing telemetry.
3
- export const SDK_VERSION = '0.14.36';
3
+ export const SDK_VERSION = '0.15.1';
4
4
  const MEMORY_LIMIT = 200;
5
5
  const STORAGE_LIMIT = 500;
6
6
  const STORAGE_KEY_PREFIX = 'fas_logs:';
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Service-worker side of `fas.push`. Import it in your service worker entry
3
+ * (vite-plugin-pwa `strategies: 'injectManifest'`, e.g. `src/sw.ts`):
4
+ *
5
+ * ```ts
6
+ * import { registerFasPushHandler } from '@freeappstore/sdk/push-sw'
7
+ * registerFasPushHandler({ title: 'Cycle', body: 'Time to check in.' })
8
+ * ```
9
+ *
10
+ * Pushes from the platform carry no payload, so the reminder's text lives
11
+ * here, in your app, and nothing about it passes through the browser's push
12
+ * service. Keep it generic for anything sensitive ("Check your calendar"),
13
+ * since it can show on a lock screen. Tapping the notification focuses an
14
+ * open window of the app, or opens one.
15
+ */
16
+ export interface FasPushHandlerOptions {
17
+ /** Notification title. Default: 'Reminder'. */
18
+ title?: string;
19
+ /** Notification body. Default: 'Open the app to see what\'s due.' */
20
+ body?: string;
21
+ /** Icon URL. Default: '/icon-192.png' (the template's icon). */
22
+ icon?: string;
23
+ /** Replaces an earlier notification with the same tag instead of stacking. Default: 'fas-push'. */
24
+ tag?: string;
25
+ /** The URL to open or focus when tapped. Default: the service worker's scope (the app's start). */
26
+ onClick?: () => string;
27
+ }
28
+ /** Shows a notification for each fas.push push and focuses or opens the app when it's tapped. */
29
+ export declare function registerFasPushHandler(opts?: FasPushHandlerOptions): void;
30
+ //# sourceMappingURL=push-sw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-sw.d.ts","sourceRoot":"","sources":["../src/push-sw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB;AA6BD,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,qBAA0B,GAAG,IAAI,CA0B7E"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Service-worker side of `fas.push`. Import it in your service worker entry
3
+ * (vite-plugin-pwa `strategies: 'injectManifest'`, e.g. `src/sw.ts`):
4
+ *
5
+ * ```ts
6
+ * import { registerFasPushHandler } from '@freeappstore/sdk/push-sw'
7
+ * registerFasPushHandler({ title: 'Cycle', body: 'Time to check in.' })
8
+ * ```
9
+ *
10
+ * Pushes from the platform carry no payload, so the reminder's text lives
11
+ * here, in your app, and nothing about it passes through the browser's push
12
+ * service. Keep it generic for anything sensitive ("Check your calendar"),
13
+ * since it can show on a lock screen. Tapping the notification focuses an
14
+ * open window of the app, or opens one.
15
+ */
16
+ /** Shows a notification for each fas.push push and focuses or opens the app when it's tapped. */
17
+ export function registerFasPushHandler(opts = {}) {
18
+ const sw = globalThis;
19
+ sw.addEventListener('push', (event) => {
20
+ event.waitUntil(sw.registration.showNotification(opts.title ?? 'Reminder', {
21
+ body: opts.body ?? "Open the app to see what's due.",
22
+ icon: opts.icon ?? '/icon-192.png',
23
+ tag: opts.tag ?? 'fas-push',
24
+ }));
25
+ });
26
+ sw.addEventListener('notificationclick', (event) => {
27
+ const e = event;
28
+ e.notification.close();
29
+ const target = new URL(opts.onClick?.() ?? sw.registration.scope, sw.registration.scope).href;
30
+ e.waitUntil(sw.clients.matchAll({ type: 'window', includeUncontrolled: true }).then(async (windows) => {
31
+ const open = windows.find((w) => w.url.startsWith(sw.registration.scope));
32
+ if (!open)
33
+ return sw.clients.openWindow(target);
34
+ await open.focus();
35
+ if (open.url !== target && open.navigate)
36
+ await open.navigate(target);
37
+ }));
38
+ });
39
+ }
40
+ //# sourceMappingURL=push-sw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-sw.js","sourceRoot":"","sources":["../src/push-sw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0CH,iGAAiG;AACjG,MAAM,UAAU,sBAAsB,CAAC,OAA8B,EAAE;IACrE,MAAM,EAAE,GAAG,UAAgC,CAAC;IAE5C,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACnC,KAA2B,CAAC,SAAS,CACpC,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE;YACzD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,iCAAiC;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,eAAe;YAClC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,UAAU;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACjD,MAAM,CAAC,GAAG,KAA4B,CAAC;QACvC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAC9F,CAAC,CAAC,SAAS,CACT,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACxF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/push.d.ts ADDED
@@ -0,0 +1,116 @@
1
+ import type { Auth } from './auth.js';
2
+ /**
3
+ * Web Push reminders for the signed-in user (`fas.push`).
4
+ *
5
+ * Register this device with `subscribe()` (from a user gesture), then set
6
+ * reminders with `schedule()`; the platform sends a push to every device the
7
+ * user subscribed for this app when a reminder comes due (every 15 minutes,
8
+ * so up to ~15 min late). Pushes carry no payload: the app's service worker
9
+ * shows its own notification text, so nothing about the reminder travels
10
+ * through the browser's push service. Use `@freeappstore/sdk/push-sw` in the
11
+ * service worker.
12
+ *
13
+ * Limits (enforced server-side): 10 devices and 20 reminders per user per app.
14
+ */
15
+ /** No session: sign in before subscribing or scheduling. */
16
+ export declare class PushNotSignedInError extends Error {
17
+ constructor();
18
+ }
19
+ /** This browser can't receive push here; `reason` says why (see `PushIsSupported`). */
20
+ export declare class PushNotSupportedError extends Error {
21
+ readonly reason: Exclude<PushSupportReason, 'ok'>;
22
+ constructor(reason: Exclude<PushSupportReason, 'ok'>);
23
+ }
24
+ /** The user declined (or previously blocked) notifications for this site. */
25
+ export declare class PushPermissionDeniedError extends Error {
26
+ constructor();
27
+ }
28
+ /** The platform has push turned off (its VAPID key isn't configured yet). */
29
+ export declare class PushNotConfiguredError extends Error {
30
+ constructor();
31
+ }
32
+ export type PushSupportReason = 'ok' | 'requires-home-screen' | 'browser-unsupported';
33
+ export interface PushIsSupported {
34
+ supported: boolean;
35
+ /**
36
+ * `'requires-home-screen'`: iPhone/iPad Safari only allows web push for
37
+ * apps added to the Home Screen and opened from there.
38
+ */
39
+ reason: PushSupportReason;
40
+ }
41
+ /** When a reminder fires. Times are wall-clock `HH:MM` (24-hour) in `tz`. */
42
+ export type PushWhen =
43
+ /** Once, at this instant. */
44
+ {
45
+ at: Date | string | number;
46
+ }
47
+ /** Every day at this time. */
48
+ | {
49
+ daily: string;
50
+ }
51
+ /** Every N days at `at` (HH:MM). */
52
+ | {
53
+ everyDays: number;
54
+ at: string;
55
+ };
56
+ export interface PushScheduleOptions {
57
+ /** IANA time zone, e.g. 'Europe/London'. Defaults to this device's zone. */
58
+ tz?: string;
59
+ /** Hold reminders that fall inside this daily window until it ends (may wrap midnight). */
60
+ quietHours?: {
61
+ start: string;
62
+ end: string;
63
+ };
64
+ }
65
+ export interface PushReminder {
66
+ reminderId: string;
67
+ when: PushWhen;
68
+ tz: string;
69
+ quietHours: {
70
+ start: string;
71
+ end: string;
72
+ } | null;
73
+ /** When it will next be sent. */
74
+ nextAt: Date;
75
+ }
76
+ export declare class Push {
77
+ private readonly appId;
78
+ private readonly apiBase;
79
+ private readonly auth;
80
+ constructor(appId: string, apiBase: string, auth: Auth);
81
+ /** Whether this browser can receive push for this app right now, and if not, why. */
82
+ isSupported(): PushIsSupported;
83
+ /** The notification permission for this site: 'default' (not asked yet), 'granted' or 'denied'. */
84
+ permission(): NotificationPermission;
85
+ /**
86
+ * Asks for notification permission and registers this device for the
87
+ * signed-in user. Call it from a user gesture (a button tap): browsers
88
+ * ignore or block permission prompts that aren't. Safe to call again; it
89
+ * re-registers the existing subscription.
90
+ *
91
+ * @throws PushNotSignedInError, PushNotSupportedError, PushPermissionDeniedError, PushNotConfiguredError
92
+ */
93
+ subscribe(): Promise<void>;
94
+ /** Stops push on this device: removes it from the user's devices and unsubscribes the browser. */
95
+ unsubscribe(): Promise<void>;
96
+ /**
97
+ * Creates or replaces a reminder. `reminderId` is yours to choose
98
+ * (1-64 letters, digits, `_` or `-`); scheduling the same id again replaces it.
99
+ *
100
+ * ```ts
101
+ * await fas.push.schedule('period-due', { at: new Date('2026-11-02T09:00') })
102
+ * await fas.push.schedule('log', { daily: '21:00' }, { quietHours: { start: '22:00', end: '07:00' } })
103
+ * await fas.push.schedule('refill', { everyDays: 28, at: '09:00' }, { tz: 'Europe/London' })
104
+ * ```
105
+ */
106
+ schedule(reminderId: string, when: PushWhen, opts?: PushScheduleOptions): Promise<PushReminder>;
107
+ /** Cancels a reminder. Does nothing if it doesn't exist. */
108
+ cancel(reminderId: string): Promise<void>;
109
+ /** The user's reminders for this app, soonest first. */
110
+ list(): Promise<PushReminder[]>;
111
+ private requireToken;
112
+ private vapidPublicKey;
113
+ /** An app-scoped API call; `allow` lists non-2xx statuses to treat as success. */
114
+ private request;
115
+ }
116
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;;;;;;;;GAYG;AAEH,4DAA4D;AAC5D,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AAED,uFAAuF;AACvF,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;gBAAxC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;CAQ9D;AAED,6EAA6E;AAC7E,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AAED,6EAA6E;AAC7E,qBAAa,sBAAuB,SAAQ,KAAK;;CAKhD;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,6EAA6E;AAC7E,MAAM,MAAM,QAAQ;AAClB,6BAA6B;AAC3B;IAAE,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE;AAChC,8BAA8B;GAC5B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;AACnB,oCAAoC;GAClC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2FAA2F;IAC3F,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,iCAAiC;IACjC,MAAM,EAAE,IAAI,CAAC;CACd;AA4DD,qBAAa,IAAI;IAEb,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI;IAG7B,qFAAqF;IACrF,WAAW,IAAI,eAAe;IAgB9B,mGAAmG;IACnG,UAAU,IAAI,sBAAsB;IAIpC;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBhC,kGAAkG;IAC5F,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBlC;;;;;;;;;OASG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,YAAY,CAAC;IAgBxB,4DAA4D;IACtD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C,wDAAwD;IAClD,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAOrC,OAAO,CAAC,YAAY;YAMN,cAAc;IAO5B,kFAAkF;YACpE,OAAO;CAiCtB"}
package/dist/push.js ADDED
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Web Push reminders for the signed-in user (`fas.push`).
3
+ *
4
+ * Register this device with `subscribe()` (from a user gesture), then set
5
+ * reminders with `schedule()`; the platform sends a push to every device the
6
+ * user subscribed for this app when a reminder comes due (every 15 minutes,
7
+ * so up to ~15 min late). Pushes carry no payload: the app's service worker
8
+ * shows its own notification text, so nothing about the reminder travels
9
+ * through the browser's push service. Use `@freeappstore/sdk/push-sw` in the
10
+ * service worker.
11
+ *
12
+ * Limits (enforced server-side): 10 devices and 20 reminders per user per app.
13
+ */
14
+ /** No session: sign in before subscribing or scheduling. */
15
+ export class PushNotSignedInError extends Error {
16
+ constructor() {
17
+ super('Not signed in.');
18
+ this.name = 'PushNotSignedInError';
19
+ }
20
+ }
21
+ /** This browser can't receive push here; `reason` says why (see `PushIsSupported`). */
22
+ export class PushNotSupportedError extends Error {
23
+ reason;
24
+ constructor(reason) {
25
+ super(reason === 'requires-home-screen'
26
+ ? 'Notifications need the app installed: on iPhone and iPad, Share → Add to Home Screen, then open it from there.'
27
+ : "This browser doesn't support push notifications.");
28
+ this.reason = reason;
29
+ this.name = 'PushNotSupportedError';
30
+ }
31
+ }
32
+ /** The user declined (or previously blocked) notifications for this site. */
33
+ export class PushPermissionDeniedError extends Error {
34
+ constructor() {
35
+ super('Notification permission was not granted.');
36
+ this.name = 'PushPermissionDeniedError';
37
+ }
38
+ }
39
+ /** The platform has push turned off (its VAPID key isn't configured yet). */
40
+ export class PushNotConfiguredError extends Error {
41
+ constructor() {
42
+ super('Push notifications are not available on the platform yet.');
43
+ this.name = 'PushNotConfiguredError';
44
+ }
45
+ }
46
+ function toRule(when) {
47
+ if ('daily' in when)
48
+ return { type: 'daily', time: when.daily };
49
+ if ('everyDays' in when)
50
+ return { type: 'every', days: when.everyDays, time: when.at };
51
+ const at = when.at instanceof Date
52
+ ? when.at.getTime()
53
+ : typeof when.at === 'string'
54
+ ? Date.parse(when.at)
55
+ : when.at;
56
+ if (!Number.isFinite(at))
57
+ throw new Error('push: `at` must be a valid date.');
58
+ return { type: 'at', at };
59
+ }
60
+ function fromRule(rule) {
61
+ if (rule.type === 'daily')
62
+ return { daily: rule.time };
63
+ if (rule.type === 'every')
64
+ return { everyDays: rule.days, at: rule.time };
65
+ return { at: new Date(rule.at) };
66
+ }
67
+ /** base64url (the VAPID key format) → bytes for `applicationServerKey`. */
68
+ function base64UrlToBytes(value) {
69
+ const b64 = value.replace(/-/g, '+').replace(/_/g, '/');
70
+ const bin = atob(b64 + '='.repeat((4 - (b64.length % 4)) % 4));
71
+ const bytes = new Uint8Array(new ArrayBuffer(bin.length));
72
+ for (let i = 0; i < bin.length; i++)
73
+ bytes[i] = bin.charCodeAt(i);
74
+ return bytes;
75
+ }
76
+ function isIos() {
77
+ const nav = navigator;
78
+ return (/iPad|iPhone|iPod/.test(nav.userAgent) ||
79
+ // iPadOS reports itself as a Mac.
80
+ (nav.platform === 'MacIntel' && (nav.maxTouchPoints ?? 0) > 1));
81
+ }
82
+ function isStandalone() {
83
+ const nav = navigator;
84
+ return (nav.standalone === true ||
85
+ (typeof matchMedia === 'function' && matchMedia('(display-mode: standalone)').matches));
86
+ }
87
+ export class Push {
88
+ appId;
89
+ apiBase;
90
+ auth;
91
+ constructor(appId, apiBase, auth) {
92
+ this.appId = appId;
93
+ this.apiBase = apiBase;
94
+ this.auth = auth;
95
+ }
96
+ /** Whether this browser can receive push for this app right now, and if not, why. */
97
+ isSupported() {
98
+ if (typeof window === 'undefined' || typeof navigator === 'undefined') {
99
+ return { supported: false, reason: 'browser-unsupported' };
100
+ }
101
+ // iOS hides the Push API until the app runs from the Home Screen, so check this first.
102
+ if (isIos() && !isStandalone())
103
+ return { supported: false, reason: 'requires-home-screen' };
104
+ if (!('serviceWorker' in navigator) ||
105
+ !('PushManager' in window) ||
106
+ !('Notification' in window)) {
107
+ return { supported: false, reason: 'browser-unsupported' };
108
+ }
109
+ return { supported: true, reason: 'ok' };
110
+ }
111
+ /** The notification permission for this site: 'default' (not asked yet), 'granted' or 'denied'. */
112
+ permission() {
113
+ return typeof Notification === 'undefined' ? 'denied' : Notification.permission;
114
+ }
115
+ /**
116
+ * Asks for notification permission and registers this device for the
117
+ * signed-in user. Call it from a user gesture (a button tap): browsers
118
+ * ignore or block permission prompts that aren't. Safe to call again; it
119
+ * re-registers the existing subscription.
120
+ *
121
+ * @throws PushNotSignedInError, PushNotSupportedError, PushPermissionDeniedError, PushNotConfiguredError
122
+ */
123
+ async subscribe() {
124
+ const token = this.requireToken();
125
+ const support = this.isSupported();
126
+ if (!support.supported)
127
+ throw new PushNotSupportedError(support.reason);
128
+ // Ask first, while the user gesture is still active.
129
+ const permission = Notification.permission === 'granted' ? 'granted' : await Notification.requestPermission();
130
+ if (permission !== 'granted')
131
+ throw new PushPermissionDeniedError();
132
+ const registration = await navigator.serviceWorker.ready;
133
+ let subscription = await registration.pushManager.getSubscription();
134
+ if (!subscription) {
135
+ subscription = await registration.pushManager.subscribe({
136
+ userVisibleOnly: true,
137
+ applicationServerKey: base64UrlToBytes(await this.vapidPublicKey()),
138
+ });
139
+ }
140
+ const json = subscription.toJSON();
141
+ await this.request(token, 'POST', '/push/subscriptions', {
142
+ endpoint: json.endpoint,
143
+ keys: json.keys,
144
+ });
145
+ }
146
+ /** Stops push on this device: removes it from the user's devices and unsubscribes the browser. */
147
+ async unsubscribe() {
148
+ const token = this.requireToken();
149
+ if (!this.isSupported().supported)
150
+ return;
151
+ const registration = await navigator.serviceWorker.ready;
152
+ const subscription = await registration.pushManager.getSubscription();
153
+ if (!subscription)
154
+ return;
155
+ await this.request(token, 'DELETE', '/push/subscriptions', { endpoint: subscription.endpoint }, [404]);
156
+ await subscription.unsubscribe();
157
+ }
158
+ /**
159
+ * Creates or replaces a reminder. `reminderId` is yours to choose
160
+ * (1-64 letters, digits, `_` or `-`); scheduling the same id again replaces it.
161
+ *
162
+ * ```ts
163
+ * await fas.push.schedule('period-due', { at: new Date('2026-11-02T09:00') })
164
+ * await fas.push.schedule('log', { daily: '21:00' }, { quietHours: { start: '22:00', end: '07:00' } })
165
+ * await fas.push.schedule('refill', { everyDays: 28, at: '09:00' }, { tz: 'Europe/London' })
166
+ * ```
167
+ */
168
+ async schedule(reminderId, when, opts = {}) {
169
+ const token = this.requireToken();
170
+ const body = {
171
+ rule: toRule(when),
172
+ tz: opts.tz ?? Intl.DateTimeFormat().resolvedOptions().timeZone,
173
+ ...(opts.quietHours && { quietHours: opts.quietHours }),
174
+ };
175
+ const res = await this.request(token, 'PUT', `/push/schedules/${encodeURIComponent(reminderId)}`, body);
176
+ return toReminder((await res.json()));
177
+ }
178
+ /** Cancels a reminder. Does nothing if it doesn't exist. */
179
+ async cancel(reminderId) {
180
+ const token = this.requireToken();
181
+ await this.request(token, 'DELETE', `/push/schedules/${encodeURIComponent(reminderId)}`, undefined, [404]);
182
+ }
183
+ /** The user's reminders for this app, soonest first. */
184
+ async list() {
185
+ const token = this.requireToken();
186
+ const res = await this.request(token, 'GET', '/push/schedules');
187
+ const { schedules } = (await res.json());
188
+ return schedules.map(toReminder);
189
+ }
190
+ requireToken() {
191
+ const token = this.auth.token;
192
+ if (!token)
193
+ throw new PushNotSignedInError();
194
+ return token;
195
+ }
196
+ async vapidPublicKey() {
197
+ const res = await fetch(new URL('/v1/push/vapid-public-key', this.apiBase));
198
+ if (res.status === 503)
199
+ throw new PushNotConfiguredError();
200
+ if (!res.ok)
201
+ throw new Error(`push: couldn't get the VAPID key (${res.status})`);
202
+ return (await res.json()).publicKey;
203
+ }
204
+ /** An app-scoped API call; `allow` lists non-2xx statuses to treat as success. */
205
+ async request(token, method, path, body, allow = []) {
206
+ const res = await fetch(new URL(`/v1/apps/${encodeURIComponent(this.appId)}${path}`, this.apiBase), {
207
+ method,
208
+ headers: {
209
+ Authorization: `Bearer ${token}`,
210
+ ...(body !== undefined && { 'Content-Type': 'application/json' }),
211
+ },
212
+ ...(body !== undefined && { body: JSON.stringify(body) }),
213
+ });
214
+ if (res.status === 401) {
215
+ this.auth.handleUnauthorized();
216
+ throw new PushNotSignedInError();
217
+ }
218
+ if (!res.ok && !allow.includes(res.status)) {
219
+ const detail = await res
220
+ .json()
221
+ .then((j) => j.error)
222
+ .catch(() => undefined);
223
+ throw new Error(`push: ${method} ${path} failed (${res.status})${detail ? `: ${detail}` : ''}`);
224
+ }
225
+ return res;
226
+ }
227
+ }
228
+ function toReminder(s) {
229
+ return {
230
+ reminderId: s.reminderId,
231
+ when: fromRule(s.rule),
232
+ tz: s.tz,
233
+ quietHours: s.quietHours,
234
+ nextAt: new Date(s.nextAt),
235
+ };
236
+ }
237
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,4DAA4D;AAC5D,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACzB;IAArB,YAAqB,MAAwC;QAC3D,KAAK,CACH,MAAM,KAAK,sBAAsB;YAC/B,CAAC,CAAC,gHAAgH;YAClH,CAAC,CAAC,kDAAkD,CACvD,CAAC;QALiB,WAAM,GAAN,MAAM,CAAkC;QAM3D,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD;QACE,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAmDD,SAAS,MAAM,CAAC,IAAc;IAC5B,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAChE,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACvF,MAAM,EAAE,GACN,IAAI,CAAC,EAAE,YAAY,IAAI;QACrB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;QACnB,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;YAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,QAAQ,CAAC,IAAiB;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,OAAO,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK;IACZ,MAAM,GAAG,GAAG,SAAoD,CAAC;IACjE,OAAO,CACL,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QACtC,kCAAkC;QAClC,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,SAAiD,CAAC;IAC9D,OAAO,CACL,GAAG,CAAC,UAAU,KAAK,IAAI;QACvB,CAAC,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,CACvF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,IAAI;IAEI;IACA;IACA;IAHnB,YACmB,KAAa,EACb,OAAe,EACf,IAAU;QAFV,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAM;IAC1B,CAAC;IAEJ,qFAAqF;IACrF,WAAW;QACT,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YACtE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC7D,CAAC;QACD,uFAAuF;QACvF,IAAI,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAC5F,IACE,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC;YAC/B,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC;YAC1B,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAC3B,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,mGAAmG;IACnG,UAAU;QACR,OAAO,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,SAAS;YACpB,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAA0C,CAAC,CAAC;QACtF,qDAAqD;QACrD,MAAM,UAAU,GACd,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAC7F,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,yBAAyB,EAAE,CAAC;QAEpE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;QACzD,IAAI,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;gBACtD,eAAe,EAAE,IAAI;gBACrB,oBAAoB,EAAE,gBAAgB,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;aACpE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE;YACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS;YAAE,OAAO;QAC1C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACtE,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,MAAM,IAAI,CAAC,OAAO,CAChB,KAAK,EACL,QAAQ,EACR,qBAAqB,EACrB,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,EACnC,CAAC,GAAG,CAAC,CACN,CAAC;QACF,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CACZ,UAAkB,EAClB,IAAc,EACd,OAA4B,EAAE;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ;YAC/D,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;SACxD,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAC5B,KAAK,EACL,KAAK,EACL,mBAAmB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EACnD,IAAI,CACL,CAAC;QACF,OAAO,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC,CAAC;IAC3D,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,CAChB,KAAK,EACL,QAAQ,EACR,mBAAmB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EACnD,SAAS,EACT,CAAC,GAAG,CAAC,CACN,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAChE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAqC,CAAC;QAC7E,OAAO,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAEO,YAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,sBAAsB,EAAE,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACjF,OAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,OAAO,CACnB,KAAa,EACb,MAAc,EACd,IAAY,EACZ,IAAc,EACd,QAAkB,EAAE;QAEpB,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,IAAI,GAAG,CAAC,YAAY,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAC1E;YACE,MAAM;YACN,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;aAClE;YACD,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;SAC1D,CACF,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,GAAG;iBACrB,IAAI,EAAE;iBACN,IAAI,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACxC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,IAAI,IAAI,YAAY,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAkB;IACpC,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACtB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;KAC3B,CAAC;AACJ,CAAC"}
@@ -32,10 +32,23 @@ export interface ModalProps {
32
32
  open: boolean;
33
33
  onClose: () => void;
34
34
  children: ReactNode;
35
+ /** Shown as the dialog's heading and used as its accessible name. */
35
36
  title?: string;
37
+ /** Accessible name when there is no visible `title`. */
38
+ ariaLabel?: string;
39
+ /** Esc closes the dialog (calls `onClose`). Default: true. */
40
+ closeOnEscape?: boolean;
36
41
  maxWidth?: number;
37
42
  }
38
- export declare function Modal({ open, onClose, children, title, maxWidth }: ModalProps): import("react").JSX.Element | null;
43
+ /**
44
+ * An accessible modal dialog (`role="dialog"`, `aria-modal`), labelled by its
45
+ * title. On open, focus moves into it: to an element marked `data-autofocus`,
46
+ * else the first focusable element in the content, else the close button,
47
+ * else the dialog itself. Tab and Shift-Tab stay inside it, Esc closes it
48
+ * (unless `closeOnEscape={false}`), and on close focus returns to the element
49
+ * that had it before, usually the button that opened the dialog.
50
+ */
51
+ export declare function Modal({ open, onClose, children, title, ariaLabel, closeOnEscape, maxWidth, }: ModalProps): import("react").JSX.Element | null;
39
52
  export interface ConfirmDialogProps {
40
53
  open: boolean;
41
54
  onConfirm: () => void;
@@ -44,8 +57,10 @@ export interface ConfirmDialogProps {
44
57
  message: string;
45
58
  confirmLabel?: string;
46
59
  variant?: 'danger' | 'default';
60
+ /** Esc cancels the dialog. Default: true. */
61
+ closeOnEscape?: boolean;
47
62
  }
48
- export declare function ConfirmDialog({ open, onConfirm, onCancel, title, message, confirmLabel, variant, }: ConfirmDialogProps): import("react").JSX.Element;
63
+ export declare function ConfirmDialog({ open, onConfirm, onCancel, title, message, confirmLabel, variant, closeOnEscape, }: ConfirmDialogProps): import("react").JSX.Element;
49
64
  export interface EmptyStateProps {
50
65
  icon?: ReactNode;
51
66
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/ui/components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/ui/components.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAehD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAS,EAAE,KAAuB,EAAE,EAAE,YAAY,+BAa3E;AAMD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClE,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA0BD,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,+BAsBrF;AAMD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,+BA0BzF;AAMD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,+BAmC5E;AAMD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAoB,EACpB,QAAc,GACf,EAAE,UAAU,sCA6JZ;AAMD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,YAAwB,EACxB,OAAmB,EACnB,aAAoB,GACrB,EAAE,kBAAkB,+BAkDpB;AAMD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,+BAkC3E;AAMD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,GAAS,EACT,KAAuB,EACvB,MAAU,EACV,KAAK,GACN,EAAE,gBAAgB,+BAqClB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,WAAyB,EACzB,KAAK,EAAE,UAAU,GAClB,EAAE,gBAAgB,+BA0ClB;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,+BAmDjF;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AACD,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACzE,KAAK,EAAE,kBAAkB,CAAmB;IACrD,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAGxD,MAAM;CAehB;AAMD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,cAAc,sCAgG9E;AAMD,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,sCAoD3C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAiBvC;AAED,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,cAAc,+BAsEjF"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Component, useEffect, useState } from 'react';
2
+ import { Component, useEffect, useId, useRef, useState, } from 'react';
3
3
  // Inject keyframes once
4
4
  if (typeof document !== 'undefined' && !document.getElementById('fas-ui-keyframes')) {
5
5
  const style = document.createElement('style');
@@ -100,17 +100,103 @@ export function Tabs({ tabs, active, onChange, style: extraStyle }) {
100
100
  color: active === tab.key ? 'var(--panel)' : 'var(--muted)',
101
101
  }, children: tab.label }, tab.key))) }));
102
102
  }
103
- export function Modal({ open, onClose, children, title, maxWidth = 480 }) {
103
+ const FOCUSABLE = 'a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), iframe, [contenteditable="true"], [tabindex]:not([tabindex="-1"])';
104
+ /** Focusable elements inside `root`, in tab order, skipping hidden ones. */
105
+ function focusableIn(root) {
106
+ return [...root.querySelectorAll(FOCUSABLE)].filter((el) => !el.closest('[hidden], [inert], [aria-hidden="true"]'));
107
+ }
108
+ /** Open dialogs, innermost last: only the top one handles Tab and Esc. */
109
+ const openDialogs = [];
110
+ /**
111
+ * An accessible modal dialog (`role="dialog"`, `aria-modal`), labelled by its
112
+ * title. On open, focus moves into it: to an element marked `data-autofocus`,
113
+ * else the first focusable element in the content, else the close button,
114
+ * else the dialog itself. Tab and Shift-Tab stay inside it, Esc closes it
115
+ * (unless `closeOnEscape={false}`), and on close focus returns to the element
116
+ * that had it before, usually the button that opened the dialog.
117
+ */
118
+ export function Modal({ open, onClose, children, title, ariaLabel, closeOnEscape = true, maxWidth = 480, }) {
119
+ const titleId = useId();
120
+ const dialogRef = useRef(null);
121
+ const contentRef = useRef(null);
122
+ // Read through refs so an inline `onClose={() => …}` doesn't re-run the
123
+ // open effect (and re-steal focus) on every render.
124
+ const onCloseRef = useRef(onClose);
125
+ onCloseRef.current = onClose;
126
+ const closeOnEscapeRef = useRef(closeOnEscape);
127
+ closeOnEscapeRef.current = closeOnEscape;
104
128
  useEffect(() => {
105
- if (!open)
129
+ const dialog = dialogRef.current;
130
+ if (!open || !dialog)
106
131
  return;
107
- const handler = (e) => {
108
- if (e.key === 'Escape')
109
- onClose();
132
+ const opener = document.activeElement instanceof HTMLElement ? document.activeElement : null;
133
+ // Order by nesting, not by mount: React runs a nested dialog's effect
134
+ // before its parent's, so a parent goes below any dialog it contains.
135
+ const nested = openDialogs.findIndex((d) => dialog.contains(d));
136
+ if (nested === -1)
137
+ openDialogs.push(dialog);
138
+ else
139
+ openDialogs.splice(nested, 0, dialog);
140
+ if (openDialogs[openDialogs.length - 1] === dialog) {
141
+ const content = contentRef.current;
142
+ const initial = dialog.querySelector('[data-autofocus]') ??
143
+ (content ? focusableIn(content)[0] : undefined) ??
144
+ focusableIn(dialog)[0] ??
145
+ dialog;
146
+ initial.focus();
147
+ }
148
+ const onKeyDown = (e) => {
149
+ if (openDialogs[openDialogs.length - 1] !== dialog)
150
+ return;
151
+ if (e.key === 'Escape') {
152
+ if (!closeOnEscapeRef.current)
153
+ return;
154
+ e.preventDefault();
155
+ onCloseRef.current();
156
+ return;
157
+ }
158
+ if (e.key !== 'Tab')
159
+ return;
160
+ const items = focusableIn(dialog);
161
+ if (items.length === 0) {
162
+ e.preventDefault();
163
+ dialog.focus();
164
+ return;
165
+ }
166
+ const first = items[0];
167
+ const last = items[items.length - 1];
168
+ const active = document.activeElement;
169
+ const inside = active instanceof Node && dialog.contains(active);
170
+ if (e.shiftKey && (active === first || !inside || active === dialog)) {
171
+ e.preventDefault();
172
+ last.focus();
173
+ }
174
+ else if (!e.shiftKey && (active === last || !inside)) {
175
+ e.preventDefault();
176
+ first.focus();
177
+ }
178
+ };
179
+ // Focus that escapes some other way (a click on the backdrop, assistive
180
+ // tech) is pulled back in.
181
+ const onFocusIn = (e) => {
182
+ if (openDialogs[openDialogs.length - 1] !== dialog)
183
+ return;
184
+ if (e.target instanceof Node && !dialog.contains(e.target)) {
185
+ (focusableIn(dialog)[0] ?? dialog).focus();
186
+ }
187
+ };
188
+ document.addEventListener('keydown', onKeyDown);
189
+ document.addEventListener('focusin', onFocusIn);
190
+ return () => {
191
+ document.removeEventListener('keydown', onKeyDown);
192
+ document.removeEventListener('focusin', onFocusIn);
193
+ const index = openDialogs.lastIndexOf(dialog);
194
+ if (index !== -1)
195
+ openDialogs.splice(index, 1);
196
+ if (opener?.isConnected)
197
+ opener.focus();
110
198
  };
111
- document.addEventListener('keydown', handler);
112
- return () => document.removeEventListener('keydown', handler);
113
- }, [open, onClose]);
199
+ }, [open]);
114
200
  if (!open)
115
201
  return null;
116
202
  return (_jsx("div", { onClick: onClose, style: {
@@ -124,7 +210,8 @@ export function Modal({ open, onClose, children, title, maxWidth = 480 }) {
124
210
  justifyContent: 'center',
125
211
  padding: '1rem',
126
212
  animation: 'fas-fade-in 0.15s',
127
- }, children: _jsxs("div", { onClick: (e) => e.stopPropagation(), style: {
213
+ }, children: _jsxs("div", { ref: dialogRef, role: "dialog", "aria-modal": "true", "aria-labelledby": title ? titleId : undefined, "aria-label": title ? undefined : ariaLabel, tabIndex: -1, onClick: (e) => e.stopPropagation(), style: {
214
+ outline: 'none',
128
215
  background: 'var(--panel)',
129
216
  border: '1px solid var(--line)',
130
217
  borderRadius: 'var(--radius-lg, var(--radius, 0.75rem))',
@@ -139,7 +226,7 @@ export function Modal({ open, onClose, children, title, maxWidth = 480 }) {
139
226
  justifyContent: 'space-between',
140
227
  padding: '1rem 1.25rem',
141
228
  borderBottom: '1px solid var(--line)',
142
- }, children: [_jsx("h2", { style: { margin: 0, fontSize: '1rem', fontWeight: 700, color: 'var(--ink)' }, children: title }), _jsx("button", { onClick: onClose, "aria-label": "Close", style: {
229
+ }, children: [_jsx("h2", { id: titleId, style: { margin: 0, fontSize: '1rem', fontWeight: 700, color: 'var(--ink)' }, children: title }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close", style: {
143
230
  background: 'none',
144
231
  border: 'none',
145
232
  cursor: 'pointer',
@@ -148,11 +235,13 @@ export function Modal({ open, onClose, children, title, maxWidth = 480 }) {
148
235
  fontSize: '1.25rem',
149
236
  lineHeight: 1,
150
237
  fontFamily: 'inherit',
151
- }, children: "\u00D7" })] })), _jsx("div", { style: { padding: '1.25rem' }, children: children })] }) }));
238
+ }, children: "\u00D7" })] })), _jsx("div", { ref: contentRef, style: { padding: '1.25rem' }, children: children })] }) }));
152
239
  }
153
- export function ConfirmDialog({ open, onConfirm, onCancel, title, message, confirmLabel = 'Confirm', variant = 'default', }) {
240
+ export function ConfirmDialog({ open, onConfirm, onCancel, title, message, confirmLabel = 'Confirm', variant = 'default', closeOnEscape = true, }) {
154
241
  const isDanger = variant === 'danger';
155
- return (_jsxs(Modal, { open: open, onClose: onCancel, title: title, maxWidth: 400, children: [_jsx("p", { style: { fontSize: '0.9rem', color: 'var(--muted)', margin: '0 0 1.25rem' }, children: message }), _jsxs("div", { style: { display: 'flex', gap: '0.5rem', justifyContent: 'flex-end' }, children: [_jsx("button", { onClick: onCancel, style: {
242
+ return (
243
+ // Focus starts on Cancel (the first button), the safe choice for a destructive confirm.
244
+ _jsxs(Modal, { open: open, onClose: onCancel, title: title, maxWidth: 400, closeOnEscape: closeOnEscape, children: [_jsx("p", { style: { fontSize: '0.9rem', color: 'var(--muted)', margin: '0 0 1.25rem' }, children: message }), _jsxs("div", { style: { display: 'flex', gap: '0.5rem', justifyContent: 'flex-end' }, children: [_jsx("button", { type: "button", onClick: onCancel, style: {
156
245
  padding: '0.5rem 1rem',
157
246
  borderRadius: 'var(--radius-sm, 0.5rem)',
158
247
  border: '1px solid var(--line)',
@@ -162,7 +251,7 @@ export function ConfirmDialog({ open, onConfirm, onCancel, title, message, confi
162
251
  fontWeight: 600,
163
252
  cursor: 'pointer',
164
253
  fontFamily: 'inherit',
165
- }, children: "Cancel" }), _jsx("button", { onClick: onConfirm, style: {
254
+ }, children: "Cancel" }), _jsx("button", { type: "button", onClick: onConfirm, style: {
166
255
  padding: '0.5rem 1rem',
167
256
  borderRadius: 'var(--radius-sm, 0.5rem)',
168
257
  border: 'none',
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/ui/components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/ui/components.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@freeappstore/sdk",
3
- "version": "0.14.36",
3
+ "version": "0.15.1",
4
4
  "description": "Browser SDK for apps on freeappstore.online — auth, per-user KV, shared counters, document collections, real-time rooms, API proxy, user API key vault, RBAC roles, React hooks, and 18 UI components.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -18,6 +18,10 @@
18
18
  "./ui": {
19
19
  "types": "./dist/ui.d.ts",
20
20
  "import": "./dist/ui.js"
21
+ },
22
+ "./push-sw": {
23
+ "types": "./dist/push-sw.d.ts",
24
+ "import": "./dist/push-sw.js"
21
25
  }
22
26
  },
23
27
  "homepage": "https://github.com/freeappstore-online/platform#readme",