stellar-drive 1.2.27 → 1.2.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +145 -19
  2. package/dist/auth/loginGuard.d.ts.map +1 -1
  3. package/dist/auth/loginGuard.js +18 -24
  4. package/dist/auth/loginGuard.js.map +1 -1
  5. package/dist/auth/offlineCredentials.d.ts +3 -5
  6. package/dist/auth/offlineCredentials.d.ts.map +1 -1
  7. package/dist/auth/offlineCredentials.js +14 -15
  8. package/dist/auth/offlineCredentials.js.map +1 -1
  9. package/dist/auth/offlineSession.d.ts +7 -9
  10. package/dist/auth/offlineSession.d.ts.map +1 -1
  11. package/dist/auth/offlineSession.js +18 -31
  12. package/dist/auth/offlineSession.js.map +1 -1
  13. package/dist/auth/resolveAuthState.d.ts.map +1 -1
  14. package/dist/auth/resolveAuthState.js +12 -12
  15. package/dist/auth/resolveAuthState.js.map +1 -1
  16. package/dist/auth/singleUser.d.ts.map +1 -1
  17. package/dist/auth/singleUser.js +28 -49
  18. package/dist/auth/singleUser.js.map +1 -1
  19. package/dist/bin/install-pwa.d.ts.map +1 -1
  20. package/dist/bin/install-pwa.js +3315 -958
  21. package/dist/bin/install-pwa.js.map +1 -1
  22. package/dist/config.d.ts +23 -3
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +29 -8
  25. package/dist/config.js.map +1 -1
  26. package/dist/conflicts.d.ts.map +1 -1
  27. package/dist/conflicts.js +9 -13
  28. package/dist/conflicts.js.map +1 -1
  29. package/dist/database.d.ts +13 -0
  30. package/dist/database.d.ts.map +1 -1
  31. package/dist/database.js +16 -0
  32. package/dist/database.js.map +1 -1
  33. package/dist/demo.d.ts +7 -0
  34. package/dist/demo.d.ts.map +1 -1
  35. package/dist/demo.js +51 -3
  36. package/dist/demo.js.map +1 -1
  37. package/dist/engine.d.ts.map +1 -1
  38. package/dist/engine.js +21 -46
  39. package/dist/engine.js.map +1 -1
  40. package/dist/entries/toast.d.ts +12 -0
  41. package/dist/entries/toast.d.ts.map +1 -0
  42. package/dist/entries/toast.js +11 -0
  43. package/dist/entries/toast.js.map +1 -0
  44. package/dist/queue.d.ts.map +1 -1
  45. package/dist/queue.js +1 -16
  46. package/dist/queue.js.map +1 -1
  47. package/dist/realtime.d.ts.map +1 -1
  48. package/dist/realtime.js +9 -21
  49. package/dist/realtime.js.map +1 -1
  50. package/dist/stores/toast.d.ts +40 -0
  51. package/dist/stores/toast.d.ts.map +1 -0
  52. package/dist/stores/toast.js +39 -0
  53. package/dist/stores/toast.js.map +1 -0
  54. package/package.json +13 -1
  55. package/src/components/GlobalToast.svelte +251 -0
  56. package/src/components/OfflineToast.svelte +168 -0
package/dist/realtime.js CHANGED
@@ -73,7 +73,8 @@
73
73
  * @see {@link ./deviceId.ts} for per-device identity generation
74
74
  */
75
75
  import { debugLog, debugWarn, debugError, isDebugMode } from './debug';
76
- import { getEngineConfig, getDexieTableFor } from './config';
76
+ import { getEngineConfig, getDexieTableFor, findTableConfig, RECENTLY_MODIFIED_TTL_MS } from './config';
77
+ import { getDb } from './database';
77
78
  import { getDeviceId } from './deviceId';
78
79
  import { resolveConflicts, storeConflictHistory, getPendingOpsForEntity } from './conflicts';
79
80
  import { getPendingEntityIds } from './queue';
@@ -82,19 +83,6 @@ import { isDemoMode } from './demo';
82
83
  // =============================================================================
83
84
  // CONSTANTS
84
85
  // =============================================================================
85
- /**
86
- * How long (in ms) a processed entity is considered "recent."
87
- * Must match the TTL used in engine.ts for `recentlyModifiedEntities`
88
- * so that the deduplication windows overlap correctly.
89
- *
90
- * **Why 2 seconds?** This window must be long enough to span the typical
91
- * latency gap between a realtime WebSocket push and the next polling cycle.
92
- * If the poll fires within 2s of the realtime event, the entity will still
93
- * be in the dedup map and the poll result will be skipped.
94
- *
95
- * @see {@link ./engine.ts} -- `RECENTLY_MODIFIED_TTL_MS`
96
- */
97
- const RECENTLY_MODIFIED_TTL_MS = 2000;
98
86
  /**
99
87
  * Maximum number of reconnection attempts before the module gives up
100
88
  * and falls back to polling-only mode.
@@ -546,7 +534,7 @@ async function handleRealtimeChange(table, payload) {
546
534
  return;
547
535
  }
548
536
  debugLog(`[Realtime] Processing remote change: ${eventType} ${table}/${entityId}`);
549
- const tableConfig = getEngineConfig().tables.find((t) => t.supabaseName === table);
537
+ const tableConfig = findTableConfig(table);
550
538
  const dexieTable = tableConfig ? getDexieTableFor(tableConfig) : undefined;
551
539
  if (!tableConfig || !dexieTable) {
552
540
  debugWarn('[Realtime] Unknown table:', table);
@@ -571,7 +559,7 @@ async function handleRealtimeChange(table, payload) {
571
559
  we prioritize the active editing experience over instant sync. */
572
560
  const _isBeingEdited = remoteChangesStore.isEditing(entityId, entityTypeKey);
573
561
  /* Fetch the local version so we can diff fields and detect conflicts. */
574
- const localEntity = await getEngineConfig().db.table(dexieTable).get(entityId);
562
+ const localEntity = await getDb().table(dexieTable).get(entityId);
575
563
  /* Build a list of fields whose values actually differ between local
576
564
  and remote. We skip metadata fields (updated_at, _version) because
577
565
  they always change and would produce noisy animations. These fields
@@ -609,7 +597,7 @@ async function handleRealtimeChange(table, payload) {
609
597
  remoteChangesStore.recordRemoteChange(entityId, entityTypeKey, ['*'], true, 'DELETE');
610
598
  await remoteChangesStore.markPendingDelete(entityId, entityTypeKey);
611
599
  /* Now persist the soft-deleted record; reactive stores refresh. */
612
- await getEngineConfig().db.table(dexieTable).put(newRecord);
600
+ await getDb().table(dexieTable).put(newRecord);
613
601
  recentlyProcessedByRealtime.set(entityId, Date.now());
614
602
  notifyDataUpdate(entityTypeKey, entityId);
615
603
  break;
@@ -630,7 +618,7 @@ async function handleRealtimeChange(table, payload) {
630
618
  if (!localEntity) {
631
619
  /* Branch 1: Entity doesn't exist locally -- just insert.
632
620
  This happens when another device creates a new entity. */
633
- await getEngineConfig().db.table(dexieTable).put(newRecord);
621
+ await getDb().table(dexieTable).put(newRecord);
634
622
  applied = true;
635
623
  }
636
624
  else if (!hasPendingOps) {
@@ -642,7 +630,7 @@ async function handleRealtimeChange(table, payload) {
642
630
  const localUpdatedAt = new Date(localEntity.updated_at).getTime();
643
631
  const remoteUpdatedAt = new Date(newRecord.updated_at).getTime();
644
632
  if (remoteUpdatedAt > localUpdatedAt) {
645
- await getEngineConfig().db.table(dexieTable).put(newRecord);
633
+ await getDb().table(dexieTable).put(newRecord);
646
634
  applied = true;
647
635
  }
648
636
  }
@@ -653,7 +641,7 @@ async function handleRealtimeChange(table, payload) {
653
641
  See conflicts.ts for the three-tier resolution algorithm. */
654
642
  const pendingOps = await getPendingOpsForEntity(entityId);
655
643
  const resolution = await resolveConflicts(entityTypeKey, entityId, localEntity, newRecord, pendingOps);
656
- await getEngineConfig().db.table(dexieTable).put(resolution.mergedEntity);
644
+ await getDb().table(dexieTable).put(resolution.mergedEntity);
657
645
  applied = true;
658
646
  /* Persist conflict history for auditability and potential undo.
659
647
  Only stored when actual field-level conflicts were detected
@@ -715,7 +703,7 @@ async function handleRealtimeChange(table, payload) {
715
703
  time to play an exit transition before the DOM element disappears. */
716
704
  await remoteChangesStore.markPendingDelete(entityId, entityTypeKey);
717
705
  /* Now remove the record from Dexie (triggers reactive DOM removal). */
718
- await getEngineConfig().db.table(dexieTable).delete(entityId);
706
+ await getDb().table(dexieTable).delete(entityId);
719
707
  recentlyProcessedByRealtime.set(entityId, Date.now());
720
708
  notifyDataUpdate(entityTypeKey, entityId);
721
709
  }
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @fileoverview Toast notification store — `stellar-drive/toast`
3
+ *
4
+ * Provides a single, app-wide toast queue that any component or store
5
+ * can push messages into. Toasts auto-dismiss after a configurable duration
6
+ * and are displayed by `GlobalToast` (stellar-drive/components/GlobalToast).
7
+ *
8
+ * Variant semantics:
9
+ * - info — informational / neutral messages (default)
10
+ * - success — confirmations, completed operations
11
+ * - error — failures, deletions, blocked operations
12
+ * - warning — caution, non-fatal issues
13
+ */
14
+ /** Visual variant that drives the icon and colour in the toast UI. */
15
+ export type ToastVariant = 'info' | 'success' | 'error' | 'warning';
16
+ export interface Toast {
17
+ id: number;
18
+ message: string;
19
+ variant: ToastVariant;
20
+ duration: number;
21
+ /** Timestamp when the toast was created (for fade timing). */
22
+ createdAt: number;
23
+ }
24
+ /**
25
+ * Add a toast notification to the queue.
26
+ *
27
+ * @param message - The text content of the toast.
28
+ * @param variant - Visual variant. Default: 'info'.
29
+ * @param duration - Auto-dismiss delay in ms. Default: 3000.
30
+ */
31
+ export declare function addToast(message: string, variant?: ToastVariant, duration?: number): void;
32
+ /**
33
+ * Remove a specific toast by ID.
34
+ */
35
+ export declare function dismissToast(id: number): void;
36
+ /** The reactive toast store — subscribe to get the current toast queue. */
37
+ export declare const toastStore: {
38
+ subscribe: (this: void, run: import("svelte/store").Subscriber<Toast[]>, invalidate?: () => void) => import("svelte/store").Unsubscriber;
39
+ };
40
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/stores/toast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,sEAAsE;AACtE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAqB,EAAE,QAAQ,SAAO,GAAG,IAAI,CAO/F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,2EAA2E;AAC3E,eAAO,MAAM,UAAU;;CAAgB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @fileoverview Toast notification store — `stellar-drive/toast`
3
+ *
4
+ * Provides a single, app-wide toast queue that any component or store
5
+ * can push messages into. Toasts auto-dismiss after a configurable duration
6
+ * and are displayed by `GlobalToast` (stellar-drive/components/GlobalToast).
7
+ *
8
+ * Variant semantics:
9
+ * - info — informational / neutral messages (default)
10
+ * - success — confirmations, completed operations
11
+ * - error — failures, deletions, blocked operations
12
+ * - warning — caution, non-fatal issues
13
+ */
14
+ import { writable } from 'svelte/store';
15
+ let nextId = 0;
16
+ const { subscribe, update } = writable([]);
17
+ /**
18
+ * Add a toast notification to the queue.
19
+ *
20
+ * @param message - The text content of the toast.
21
+ * @param variant - Visual variant. Default: 'info'.
22
+ * @param duration - Auto-dismiss delay in ms. Default: 3000.
23
+ */
24
+ export function addToast(message, variant = 'info', duration = 3000) {
25
+ const id = nextId++;
26
+ update((toasts) => [...toasts, { id, message, variant, duration, createdAt: Date.now() }]);
27
+ setTimeout(() => {
28
+ dismissToast(id);
29
+ }, duration);
30
+ }
31
+ /**
32
+ * Remove a specific toast by ID.
33
+ */
34
+ export function dismissToast(id) {
35
+ update((toasts) => toasts.filter((t) => t.id !== id));
36
+ }
37
+ /** The reactive toast store — subscribe to get the current toast queue. */
38
+ export const toastStore = { subscribe };
39
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/stores/toast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAcxC,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,UAAwB,MAAM,EAAE,QAAQ,GAAG,IAAI;IACvF,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3F,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stellar-drive",
3
- "version": "1.2.27",
3
+ "version": "1.2.29",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -68,6 +68,18 @@
68
68
  "./components/DemoBlockedMessage": {
69
69
  "svelte": "./src/components/DemoBlockedMessage.svelte",
70
70
  "default": "./src/components/DemoBlockedMessage.svelte"
71
+ },
72
+ "./components/OfflineToast": {
73
+ "svelte": "./src/components/OfflineToast.svelte",
74
+ "default": "./src/components/OfflineToast.svelte"
75
+ },
76
+ "./components/GlobalToast": {
77
+ "svelte": "./src/components/GlobalToast.svelte",
78
+ "default": "./src/components/GlobalToast.svelte"
79
+ },
80
+ "./toast": {
81
+ "types": "./dist/entries/toast.d.ts",
82
+ "import": "./dist/entries/toast.js"
71
83
  }
72
84
  },
73
85
  "bin": {
@@ -0,0 +1,251 @@
1
+ <!--
2
+ @fileoverview GlobalToast — toast notification queue renderer.
3
+
4
+ Self-contained: subscribes to the stellar-drive toast store internally and
5
+ renders toasts at the bottom of the viewport.
6
+
7
+ - Mount once in your root `+layout.svelte`. No props required.
8
+ - Automatically raises toasts above the demo banner in demo mode.
9
+ - Stacks up to three toasts with distinct bottom offsets.
10
+ - Toasts slide up on entry and fade out on dismiss (via Svelte out:fade).
11
+ - Four variants: info (blue), success (green), error (red), warning (purple).
12
+ - z-index 9100 — above DemoBanner (9000), below modals.
13
+
14
+ Example mount:
15
+ ```svelte
16
+ import GlobalToast from 'stellar-drive/components/GlobalToast';
17
+ <GlobalToast />
18
+ ```
19
+ -->
20
+ <script lang="ts">
21
+ import { fade } from 'svelte/transition';
22
+ import { toastStore, dismissToast } from 'stellar-drive/toast';
23
+ import { isDemoMode } from 'stellar-drive/demo';
24
+ import type { ToastVariant } from 'stellar-drive/toast';
25
+
26
+ // ==========================================================================
27
+ // COMPONENT STATE
28
+ // ==========================================================================
29
+
30
+ /** Whether demo mode is active — raises toasts above the demo banner. */
31
+ const inDemoMode = $derived(isDemoMode());
32
+
33
+ /** SVG icon paths for each variant. */
34
+ const ICONS: Record<ToastVariant, { paths: string[]; type: 'stroke' }> = {
35
+ info: {
36
+ type: 'stroke',
37
+ paths: [
38
+ 'M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z',
39
+ 'M12 16L12 12',
40
+ 'M12 8L12.01 8'
41
+ ]
42
+ },
43
+ success: {
44
+ type: 'stroke',
45
+ paths: [
46
+ 'M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z',
47
+ 'M9 12L11 14L15 10'
48
+ ]
49
+ },
50
+ error: {
51
+ type: 'stroke',
52
+ paths: [
53
+ 'M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z',
54
+ 'M15 9L9 15',
55
+ 'M9 9L15 15'
56
+ ]
57
+ },
58
+ warning: {
59
+ type: 'stroke',
60
+ paths: [
61
+ 'M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z',
62
+ 'M12 9L12 13',
63
+ 'M12 17L12.01 17'
64
+ ]
65
+ }
66
+ };
67
+ </script>
68
+
69
+ <!-- demo-mode class raises toasts above the demo banner -->
70
+ <div class="toast-stack" class:demo-mode={inDemoMode}>
71
+ {#each $toastStore as toast (toast.id)}
72
+ <div class="toast-item toast-{toast.variant}" out:fade={{ duration: 180 }}>
73
+ <div class="toast-content">
74
+ <svg class="toast-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
75
+ {#each ICONS[toast.variant].paths as d}
76
+ <path {d} />
77
+ {/each}
78
+ </svg>
79
+ <span class="toast-text">{toast.message}</span>
80
+ <button
81
+ class="toast-dismiss"
82
+ onclick={() => dismissToast(toast.id)}
83
+ aria-label="Dismiss"
84
+ >
85
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round">
86
+ <line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" />
87
+ </svg>
88
+ </button>
89
+ </div>
90
+ </div>
91
+ {/each}
92
+ </div>
93
+
94
+ <style>
95
+ /* ==========================================================================
96
+ TOAST NOTIFICATIONS
97
+ ========================================================================== */
98
+
99
+ .toast-item {
100
+ position: fixed;
101
+ bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
102
+ left: 50%;
103
+ transform: translateX(-50%);
104
+ z-index: 9100; /* above DemoBanner (9000) */
105
+ max-width: 420px;
106
+ width: calc(100% - 32px);
107
+ animation: toastSlideUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
108
+ pointer-events: auto;
109
+ }
110
+
111
+ /* Stack multiple toasts */
112
+ .toast-item + .toast-item {
113
+ bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
114
+ }
115
+ .toast-item + .toast-item + .toast-item {
116
+ bottom: calc(8rem + env(safe-area-inset-bottom, 0px));
117
+ }
118
+
119
+ /* Demo mode — raise above demo banner */
120
+ .toast-stack.demo-mode .toast-item {
121
+ bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
122
+ }
123
+ .toast-stack.demo-mode .toast-item + .toast-item {
124
+ bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
125
+ }
126
+ .toast-stack.demo-mode .toast-item + .toast-item + .toast-item {
127
+ bottom: calc(11rem + env(safe-area-inset-bottom, 0px));
128
+ }
129
+
130
+ @keyframes toastSlideUp {
131
+ from {
132
+ opacity: 0;
133
+ transform: translateX(-50%) translateY(20px) scale(0.94);
134
+ }
135
+ to {
136
+ opacity: 1;
137
+ transform: translateX(-50%) translateY(0) scale(1);
138
+ }
139
+ }
140
+
141
+ .toast-content {
142
+ display: flex;
143
+ align-items: center;
144
+ gap: 10px;
145
+ padding: 12px 16px;
146
+ background: var(--color-glass, rgba(20, 18, 30, 0.85));
147
+ backdrop-filter: blur(24px);
148
+ -webkit-backdrop-filter: blur(24px);
149
+ border: 1px solid var(--color-glass-border, rgba(255, 255, 255, 0.08));
150
+ border-radius: 14px;
151
+ color: var(--color-text, #f0ede8);
152
+ font-size: 0.875rem;
153
+ line-height: 1.4;
154
+ box-shadow:
155
+ 0 8px 32px rgba(0, 0, 0, 0.4),
156
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
157
+ transition:
158
+ border-color 0.3s,
159
+ box-shadow 0.3s;
160
+ }
161
+
162
+ /* ── Info (blue) ── */
163
+ .toast-info .toast-content {
164
+ border-color: rgba(96, 165, 250, 0.3);
165
+ box-shadow:
166
+ 0 8px 32px rgba(96, 165, 250, 0.12),
167
+ 0 0 0 1px rgba(96, 165, 250, 0.06),
168
+ inset 0 1px 0 rgba(96, 165, 250, 0.08);
169
+ }
170
+ .toast-info .toast-icon { color: #60a5fa; }
171
+
172
+ /* ── Success (green) ── */
173
+ .toast-success .toast-content {
174
+ border-color: rgba(16, 185, 129, 0.3);
175
+ box-shadow:
176
+ 0 8px 32px rgba(16, 185, 129, 0.12),
177
+ 0 0 0 1px rgba(16, 185, 129, 0.06),
178
+ inset 0 1px 0 rgba(16, 185, 129, 0.08);
179
+ }
180
+ .toast-success .toast-icon { color: #34d399; }
181
+
182
+ /* ── Error (red) ── */
183
+ .toast-error .toast-content {
184
+ border-color: rgba(220, 50, 70, 0.3);
185
+ box-shadow:
186
+ 0 8px 32px rgba(220, 50, 70, 0.12),
187
+ 0 0 0 1px rgba(220, 50, 70, 0.06),
188
+ inset 0 1px 0 rgba(220, 50, 70, 0.08);
189
+ }
190
+ .toast-error .toast-icon { color: #e85d75; }
191
+
192
+ /* ── Warning (purple) ── */
193
+ .toast-warning .toast-content {
194
+ border-color: rgba(167, 139, 250, 0.3);
195
+ box-shadow:
196
+ 0 8px 32px rgba(167, 139, 250, 0.12),
197
+ 0 0 0 1px rgba(167, 139, 250, 0.06),
198
+ inset 0 1px 0 rgba(167, 139, 250, 0.08);
199
+ }
200
+ .toast-warning .toast-icon { color: #a78bfa; }
201
+
202
+ .toast-icon {
203
+ flex-shrink: 0;
204
+ opacity: 0.9;
205
+ }
206
+
207
+ .toast-text {
208
+ flex: 1;
209
+ }
210
+
211
+ .toast-dismiss {
212
+ flex-shrink: 0;
213
+ background: none;
214
+ border: none;
215
+ color: var(--color-text-muted, rgba(240, 237, 232, 0.5));
216
+ cursor: pointer;
217
+ padding: 4px;
218
+ border-radius: 6px;
219
+ transition:
220
+ color 0.15s,
221
+ background 0.15s;
222
+ }
223
+
224
+ .toast-dismiss:hover {
225
+ color: var(--color-text, #f0ede8);
226
+ background: rgba(255, 255, 255, 0.06);
227
+ }
228
+
229
+ /* Push toasts above the mobile tab bar */
230
+ @media (max-width: 767px) {
231
+ .toast-item {
232
+ bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
233
+ }
234
+ .toast-item + .toast-item {
235
+ bottom: calc(9rem + env(safe-area-inset-bottom, 0px));
236
+ }
237
+ .toast-item + .toast-item + .toast-item {
238
+ bottom: calc(12.5rem + env(safe-area-inset-bottom, 0px));
239
+ }
240
+
241
+ .toast-stack.demo-mode .toast-item {
242
+ bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
243
+ }
244
+ .toast-stack.demo-mode .toast-item + .toast-item {
245
+ bottom: calc(11rem + env(safe-area-inset-bottom, 0px));
246
+ }
247
+ .toast-stack.demo-mode .toast-item + .toast-item + .toast-item {
248
+ bottom: calc(14.5rem + env(safe-area-inset-bottom, 0px));
249
+ }
250
+ }
251
+ </style>