@fuzdev/fuz_app 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/ui/AdminAuditLog.svelte +2 -2
  2. package/dist/ui/AdminInvites.svelte +2 -2
  3. package/dist/ui/AdminSurface.svelte +3 -3
  4. package/dist/ui/BootstrapForm.svelte +4 -4
  5. package/dist/ui/Datatable.svelte +3 -3
  6. package/dist/ui/LoginForm.svelte +2 -2
  7. package/dist/ui/LogoutButton.svelte +1 -1
  8. package/dist/ui/SignupForm.svelte +4 -4
  9. package/dist/ui/SurfaceExplorer.svelte +3 -3
  10. package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -1
  11. package/dist/ui/account_sessions_state.svelte.js +1 -1
  12. package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -1
  13. package/dist/ui/admin_accounts_state.svelte.js +2 -2
  14. package/dist/ui/admin_invites_state.svelte.d.ts.map +1 -1
  15. package/dist/ui/admin_invites_state.svelte.js +2 -2
  16. package/dist/ui/admin_sessions_state.svelte.d.ts.map +1 -1
  17. package/dist/ui/admin_sessions_state.svelte.js +1 -1
  18. package/dist/ui/app_settings_state.svelte.d.ts.map +1 -1
  19. package/dist/ui/app_settings_state.svelte.js +2 -2
  20. package/dist/ui/audit_log_state.svelte.d.ts.map +1 -1
  21. package/dist/ui/audit_log_state.svelte.js +3 -3
  22. package/dist/ui/auth_state.svelte.d.ts.map +1 -1
  23. package/dist/ui/auth_state.svelte.js +6 -6
  24. package/dist/ui/form_state.svelte.d.ts +1 -1
  25. package/dist/ui/form_state.svelte.js +2 -2
  26. package/dist/ui/loadable.svelte.d.ts +1 -1
  27. package/dist/ui/loadable.svelte.d.ts.map +1 -1
  28. package/dist/ui/loadable.svelte.js +4 -4
  29. package/dist/ui/popover.svelte.d.ts.map +1 -1
  30. package/dist/ui/popover.svelte.js +6 -6
  31. package/dist/ui/sidebar_state.svelte.js +2 -2
  32. package/dist/ui/table_state.svelte.d.ts.map +1 -1
  33. package/dist/ui/table_state.svelte.js +9 -9
  34. package/package.json +1 -1
@@ -17,8 +17,8 @@
17
17
 
18
18
  const audit_log = new AuditLogState();
19
19
 
20
- let filter_event_type: string = $state('');
21
- let streaming = $state(false);
20
+ let filter_event_type: string = $state.raw('');
21
+ let streaming = $state.raw(false);
22
22
 
23
23
  const load = (): void => {
24
24
  void audit_log.fetch(filter_event_type ? {event_type: filter_event_type} : undefined);
@@ -11,8 +11,8 @@
11
11
 
12
12
  const admin_invites = new AdminInvitesState();
13
13
 
14
- let invite_email = $state('');
15
- let invite_username = $state('');
14
+ let invite_email = $state.raw('');
15
+ let invite_username = $state.raw('');
16
16
 
17
17
  const can_create = $derived(
18
18
  (invite_email.trim() || invite_username.trim()) && !admin_invites.creating,
@@ -3,9 +3,9 @@
3
3
  import SurfaceExplorer from './SurfaceExplorer.svelte';
4
4
  import {ui_fetch} from './ui_fetch.js';
5
5
 
6
- let surface: AppSurface | null = $state(null);
7
- let loading = $state(true);
8
- let error: string | null = $state(null);
6
+ let surface: AppSurface | null = $state.raw(null);
7
+ let loading = $state.raw(true);
8
+ let error: string | null = $state.raw(null);
9
9
 
10
10
  const load = async (): Promise<void> => {
11
11
  loading = true;
@@ -10,10 +10,10 @@
10
10
  const auth_state = auth_state_context.get();
11
11
  const form_state = new FormState();
12
12
 
13
- let token = $state('');
14
- let username = $state('');
15
- let password = $state('');
16
- let password_confirm = $state('');
13
+ let token = $state.raw('');
14
+ let username = $state.raw('');
15
+ let password = $state.raw('');
16
+ let password_confirm = $state.raw('');
17
17
 
18
18
  const username_valid = $derived(Username.safeParse(username).success);
19
19
  const passwords_match = $derived(password === password_confirm);
@@ -44,9 +44,9 @@
44
44
  const grid_template_columns = $derived(column_widths.map((w) => `${w}px`).join(' '));
45
45
 
46
46
  // column resize
47
- let resize_col_index: number | null = $state(null);
48
- let resize_start_x = $state(0);
49
- let resize_start_width = $state(0);
47
+ let resize_col_index: number | null = $state.raw(null);
48
+ let resize_start_x = $state.raw(0);
49
+ let resize_start_width = $state.raw(0);
50
50
 
51
51
  const handle_resize_start = (e: PointerEvent, index: number): void => {
52
52
  e.preventDefault();
@@ -18,8 +18,8 @@
18
18
  const auth_state = auth_state_context.get();
19
19
  const form_state = new FormState();
20
20
 
21
- let username = $state('');
22
- let password = $state('');
21
+ let username = $state.raw('');
22
+ let password = $state.raw('');
23
23
 
24
24
  const handle_login = async (): Promise<void> => {
25
25
  const u = username.trim();
@@ -15,7 +15,7 @@
15
15
 
16
16
  const auth_state = auth_state_context.get();
17
17
 
18
- let pending = $state(false);
18
+ let pending = $state.raw(false);
19
19
  </script>
20
20
 
21
21
  <PendingButton
@@ -18,10 +18,10 @@
18
18
  const auth_state = auth_state_context.get();
19
19
  const form_state = new FormState();
20
20
 
21
- let username = $state('');
22
- let email = $state('');
23
- let password = $state('');
24
- let password_confirm = $state('');
21
+ let username = $state.raw('');
22
+ let email = $state.raw('');
23
+ let password = $state.raw('');
24
+ let password_confirm = $state.raw('');
25
25
 
26
26
  const username_valid = $derived(Username.safeParse(username).success);
27
27
  const passwords_match = $derived(password === password_confirm);
@@ -12,8 +12,8 @@
12
12
 
13
13
  const auth_types = ['all', 'none', 'authenticated', 'role', 'keeper'] as const;
14
14
 
15
- let auth_filter: (typeof auth_types)[number] = $state('all');
16
- let expanded_route: string | null = $state(null);
15
+ let auth_filter: (typeof auth_types)[number] = $state.raw('all');
16
+ let expanded_route: string | null = $state.raw(null);
17
17
 
18
18
  const summary = $derived(surface_auth_summary(surface));
19
19
 
@@ -23,7 +23,7 @@
23
23
  : surface.routes.filter((r) => r.auth.type === auth_filter),
24
24
  );
25
25
 
26
- let expanded_event: string | null = $state(null);
26
+ let expanded_event: string | null = $state.raw(null);
27
27
 
28
28
  const toggle_route = (key: string): void => {
29
29
  expanded_route = expanded_route === key ? null : key;
@@ -1 +1 @@
1
- {"version":3,"file":"account_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/account_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,oBAAqB,SAAQ,QAAQ;IACjD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAc;IAE1C,QAAQ,CAAC,YAAY,SAAkC;IAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAajC"}
1
+ {"version":3,"file":"account_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/account_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,oBAAqB,SAAQ,QAAQ;IACjD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAkB;IAE9C,QAAQ,CAAC,YAAY,SAAkC;IAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAajC"}
@@ -6,7 +6,7 @@
6
6
  import { Loadable } from './loadable.svelte.js';
7
7
  import { parse_response_error, ui_fetch } from './ui_fetch.js';
8
8
  export class AccountSessionsState extends Loadable {
9
- sessions = $state([]);
9
+ sessions = $state.raw([]);
10
10
  active_count = $derived(this.sessions.length);
11
11
  async fetch() {
12
12
  await this.run(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"admin_accounts_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_accounts_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAc;IACpD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAc;IAC5C,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAC5D,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAE3D,QAAQ,CAAC,aAAa,SAAkC;IAElD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBzE"}
1
+ {"version":3,"file":"admin_accounts_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_accounts_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAkB;IACxD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkB;IAChD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAC5D,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAE3D,QAAQ,CAAC,aAAa,SAAkC;IAElD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBzE"}
@@ -7,8 +7,8 @@ import { SvelteSet } from 'svelte/reactivity';
7
7
  import { Loadable } from './loadable.svelte.js';
8
8
  import { parse_response_error, ui_fetch } from './ui_fetch.js';
9
9
  export class AdminAccountsState extends Loadable {
10
- accounts = $state([]);
11
- grantable_roles = $state([]);
10
+ accounts = $state.raw([]);
11
+ grantable_roles = $state.raw([]);
12
12
  granting_keys = new SvelteSet();
13
13
  revoking_ids = new SvelteSet();
14
14
  account_count = $derived(this.accounts.length);
@@ -1 +1 @@
1
- {"version":3,"file":"admin_invites_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_invites_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,QAAQ;IAC9C,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAc;IACrD,QAAQ,UAAiB;IACzB,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAE3D,QAAQ,CAAC,YAAY,SAAiC;IACtD,QAAQ,CAAC,eAAe,SAA8D;IAEhF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BlE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe9C"}
1
+ {"version":3,"file":"admin_invites_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_invites_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,QAAQ;IAC9C,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAkB;IACzD,QAAQ,UAAqB;IAC7B,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAE3D,QAAQ,CAAC,YAAY,SAAiC;IACtD,QAAQ,CAAC,eAAe,SAA8D;IAEhF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BlE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe9C"}
@@ -7,8 +7,8 @@ import { SvelteSet } from 'svelte/reactivity';
7
7
  import { Loadable } from './loadable.svelte.js';
8
8
  import { parse_response_error, ui_fetch } from './ui_fetch.js';
9
9
  export class AdminInvitesState extends Loadable {
10
- invites = $state([]);
11
- creating = $state(false);
10
+ invites = $state.raw([]);
11
+ creating = $state.raw(false);
12
12
  deleting_ids = new SvelteSet();
13
13
  invite_count = $derived(this.invites.length);
14
14
  unclaimed_count = $derived(this.invites.filter((i) => !i.claimed_at).length);
@@ -1 +1 @@
1
- {"version":3,"file":"admin_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAElE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAc;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IACnE,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAEzE,QAAQ,CAAC,YAAY,SAAkC;IAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBtE"}
1
+ {"version":3,"file":"admin_sessions_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/admin_sessions_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAElE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAkB;IACnD,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IACnE,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;IAEzE,QAAQ,CAAC,YAAY,SAAkC;IAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBtE"}
@@ -7,7 +7,7 @@ import { SvelteSet } from 'svelte/reactivity';
7
7
  import { Loadable } from './loadable.svelte.js';
8
8
  import { parse_response_error, ui_fetch } from './ui_fetch.js';
9
9
  export class AdminSessionsState extends Loadable {
10
- sessions = $state([]);
10
+ sessions = $state.raw([]);
11
11
  revoking_account_ids = new SvelteSet();
12
12
  revoking_token_account_ids = new SvelteSet();
13
13
  active_count = $derived(this.sessions.length);
@@ -1 +1 @@
1
- {"version":3,"file":"app_settings_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/app_settings_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAEhF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC7C,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAgB;IAC5D,QAAQ,UAAiB;IAEnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBvD"}
1
+ {"version":3,"file":"app_settings_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/app_settings_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAEhF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC7C,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAoB;IAChE,QAAQ,UAAqB;IAEvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBvD"}
@@ -6,8 +6,8 @@
6
6
  import { Loadable } from './loadable.svelte.js';
7
7
  import { parse_response_error, ui_fetch } from './ui_fetch.js';
8
8
  export class AppSettingsState extends Loadable {
9
- settings = $state(null);
10
- updating = $state(false);
9
+ settings = $state.raw(null);
10
+ updating = $state.raw(false);
11
11
  async fetch() {
12
12
  await this.run(async () => {
13
13
  const response = await ui_fetch('/api/admin/settings');
@@ -1 +1 @@
1
- {"version":3,"file":"audit_log_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/audit_log_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAEX,8BAA8B,EAC9B,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAc,SAAQ,QAAQ;;IAC1C,MAAM,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAc;IAC3D,qBAAqB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAc;IAElE,QAAQ,CAAC,KAAK,SAAgC;IAE9C,qDAAqD;IACrD,SAAS,UAAiB;gBAWd,UAAU,SAAgC;IAKhD,KAAK,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpD,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1E;;;;;;;OAOG;IACH,SAAS,IAAI,MAAM,IAAI;IA0CvB,gCAAgC;IAChC,UAAU,IAAI,IAAI;CAmClB"}
1
+ {"version":3,"file":"audit_log_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/audit_log_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAEX,8BAA8B,EAC9B,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAc,SAAQ,QAAQ;;IAC1C,MAAM,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAkB;IAC/D,qBAAqB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAkB;IAEtE,QAAQ,CAAC,KAAK,SAAgC;IAE9C,qDAAqD;IACrD,SAAS,UAAqB;gBAWlB,UAAU,SAAgC;IAKhD,KAAK,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpD,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1E;;;;;;;OAOG;IACH,SAAS,IAAI,MAAM,IAAI;IA0CvB,gCAAgC;IAChC,UAAU,IAAI,IAAI;CAmClB"}
@@ -10,11 +10,11 @@ import { DEV } from 'esm-env';
10
10
  import { Loadable } from './loadable.svelte.js';
11
11
  import { parse_response_error, ui_fetch } from './ui_fetch.js';
12
12
  export class AuditLogState extends Loadable {
13
- events = $state([]);
14
- permit_history_events = $state([]);
13
+ events = $state.raw([]);
14
+ permit_history_events = $state.raw([]);
15
15
  count = $derived(this.events.length);
16
16
  /** Whether the SSE stream is currently connected. */
17
- connected = $state(false);
17
+ connected = $state.raw(false);
18
18
  /** The highest `seq` seen — used for gap fill on reconnection. */
19
19
  #last_seq = null;
20
20
  /** Active EventSource instance. */
@@ -1 +1 @@
1
- {"version":3,"file":"auth_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/auth_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,EAAC,KAAK,MAAM,EAAoB,KAAK,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAE7F,qBAAa,SAAS;IACrB,SAAS,UAAiB;IAC1B,QAAQ,UAAiB;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAgB;IAC3C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAgB;IAC9C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAc;IACpC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAEpC;IACF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoD;IAEjF,gEAAgE;IAChE,eAAe,UAAiB;IAEhC;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BpC;;;;OAIG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCjE;;;;OAIG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCpF;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4ClF;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;CAA8B,CAAC"}
1
+ {"version":3,"file":"auth_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/auth_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,EAAC,KAAK,MAAM,EAAoB,KAAK,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAE7F,qBAAa,SAAS;IACrB,SAAS,UAAqB;IAC9B,QAAQ,UAAqB;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAoB;IAC/C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAoB;IAClD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkB;IACxC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAEpC;IACF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoD;IAEjF,gEAAgE;IAChE,eAAe,UAAqB;IAEpC;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BpC;;;;OAIG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCjE;;;;OAIG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCpF;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4ClF;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;CAA8B,CAAC"}
@@ -35,15 +35,15 @@ import { create_context } from '@fuzdev/fuz_ui/context_helpers.js';
35
35
  import { ui_fetch } from './ui_fetch.js';
36
36
  import { is_permit_active } from '../auth/account_schema.js';
37
37
  export class AuthState {
38
- verifying = $state(false);
39
- verified = $state(false);
40
- verify_error = $state(null);
41
- account = $state(null);
42
- permits = $state([]);
38
+ verifying = $state.raw(false);
39
+ verified = $state.raw(false);
40
+ verify_error = $state.raw(null);
41
+ account = $state.raw(null);
42
+ permits = $state.raw([]);
43
43
  active_permits = $derived(this.permits.filter((p) => is_permit_active(p)));
44
44
  roles = $derived(this.active_permits.map((p) => p.role));
45
45
  /** True when bootstrap is available (no accounts exist yet). */
46
- needs_bootstrap = $state(false);
46
+ needs_bootstrap = $state.raw(false);
47
47
  /**
48
48
  * Check auth state and bootstrap availability.
49
49
  *
@@ -15,7 +15,7 @@
15
15
  * ```svelte
16
16
  * <script>
17
17
  * const form_state = new FormState();
18
- * let username = $state('');
18
+ * let username = $state.raw('');
19
19
  * const username_valid = $derived(Username.safeParse(username).success);
20
20
  * const can_submit = $derived(username.trim() && username_valid);
21
21
  *
@@ -15,7 +15,7 @@
15
15
  * ```svelte
16
16
  * <script>
17
17
  * const form_state = new FormState();
18
- * let username = $state('');
18
+ * let username = $state.raw('');
19
19
  * const username_valid = $derived(Username.safeParse(username).success);
20
20
  * const can_submit = $derived(username.trim() && username_valid);
21
21
  *
@@ -48,7 +48,7 @@ const FORM_INPUT_SELECTOR = 'input, textarea, select';
48
48
  export class FormState {
49
49
  #touched = new SvelteSet();
50
50
  #form = null;
51
- #attempted = $state(false);
51
+ #attempted = $state.raw(false);
52
52
  /**
53
53
  * Whether a submit attempt has been made.
54
54
  */
@@ -8,7 +8,7 @@
8
8
  * @example
9
9
  * ```ts
10
10
  * class ItemsState extends Loadable {
11
- * items: Array<Item> = $state([]);
11
+ * items: Array<Item> = $state.raw([]);
12
12
  *
13
13
  * async fetch(): Promise<void> {
14
14
  * await this.run(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"loadable.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/loadable.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qBAAa,QAAQ,CAAC,MAAM,GAAG,MAAM;IACpC,OAAO,UAAiB;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAgB;IAEpC,sFAAsF;IACtF,UAAU,EAAE,OAAO,CAAgB;IAEnC;;;;;;;OAOG;cACa,GAAG,CAAC,CAAC,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,GAChC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiBzB,wEAAwE;IACxE,KAAK,IAAI,IAAI;CAKb"}
1
+ {"version":3,"file":"loadable.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/loadable.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qBAAa,QAAQ,CAAC,MAAM,GAAG,MAAM;IACpC,OAAO,UAAqB;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAoB;IAExC,sFAAsF;IACtF,UAAU,EAAE,OAAO,CAAoB;IAEvC;;;;;;;OAOG;cACa,GAAG,CAAC,CAAC,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,GAChC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiBzB,wEAAwE;IACxE,KAAK,IAAI,IAAI;CAKb"}
@@ -8,7 +8,7 @@
8
8
  * @example
9
9
  * ```ts
10
10
  * class ItemsState extends Loadable {
11
- * items: Array<Item> = $state([]);
11
+ * items: Array<Item> = $state.raw([]);
12
12
  *
13
13
  * async fetch(): Promise<void> {
14
14
  * await this.run(async () => {
@@ -36,10 +36,10 @@
36
36
  * @module
37
37
  */
38
38
  export class Loadable {
39
- loading = $state(false);
40
- error = $state(null);
39
+ loading = $state.raw(false);
40
+ error = $state.raw(null);
41
41
  /** The raw caught value from the last failed `run()`, for programmatic inspection. */
42
- error_data = $state(null);
42
+ error_data = $state.raw(null);
43
43
  /**
44
44
  * Run an async operation with loading/error handling.
45
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"popover.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/popover.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAA2B,MAAM,uBAAuB,CAAC;AAS9F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC;AAElG;;GAEG;AAEH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;CAElE;AAED;;GAEG;AACH,qBAAa,OAAO;;IACnB,gDAAgD;IAChD,OAAO,UAAiB;IAExB,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,CAAoB;IAEtC,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAoB;IAEpC,kCAAkC;IAClC,MAAM,SAAe;IAErB,wDAAwD;IACxD,qBAAqB,UAAiB;IAEtC,oCAAoC;IACpC,aAAa,SAAc;gBAoBf,MAAM,CAAC,EAAE,iBAAiB;IAiCtC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAgEvC;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,MAAM,CAAC,OAAO,UAAgB,GAAG,IAAI;IAQrC;;OAEG;IACH,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAQhC;IAEF;;OAEG;IACH,OAAO,GAAI,SAAS,wBAAwB,KAAG,UAAU,CAAC,WAAW,CAAC,CAsBpE;IAEF;;OAEG;IACH,OAAO,GAAI,SAAS,wBAAwB,KAAG,UAAU,CAAC,WAAW,CAAC,CA2DpE;CACF"}
1
+ {"version":3,"file":"popover.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/popover.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAA2B,MAAM,uBAAuB,CAAC;AAS9F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,gBAAgB,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC;AAElG;;GAEG;AAEH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;CAElE;AAED;;GAEG;AACH,qBAAa,OAAO;;IACnB,gDAAgD;IAChD,OAAO,UAAqB;IAE5B,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,CAAwB;IAE1C,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAwB;IAExC,kCAAkC;IAClC,MAAM,SAAmB;IAEzB,wDAAwD;IACxD,qBAAqB,UAAqB;IAE1C,oCAAoC;IACpC,aAAa,SAAkB;gBAoBnB,MAAM,CAAC,EAAE,iBAAiB;IAiCtC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAgEvC;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,MAAM,CAAC,OAAO,UAAgB,GAAG,IAAI;IAQrC;;OAEG;IACH,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAQhC;IAEF;;OAEG;IACH,OAAO,GAAI,SAAS,wBAAwB,KAAG,UAAU,CAAC,WAAW,CAAC,CAsBpE;IAEF;;OAEG;IACH,OAAO,GAAI,SAAS,wBAAwB,KAAG,UAAU,CAAC,WAAW,CAAC,CA2DpE;CACF"}
@@ -55,17 +55,17 @@ const create_client_id = () => Math.random().toString(36).substring(2);
55
55
  */
56
56
  export class Popover {
57
57
  /** Whether the popover is currently visible. */
58
- visible = $state(false);
58
+ visible = $state.raw(false);
59
59
  /** Position of the popover relative to its trigger. */
60
- position = $state('bottom');
60
+ position = $state.raw('bottom');
61
61
  /** Alignment along the position edge. */
62
- align = $state('center');
62
+ align = $state.raw('center');
63
63
  /** Distance from the position. */
64
- offset = $state('0');
64
+ offset = $state.raw('0');
65
65
  /** Whether to disable closing when clicking outside. */
66
- disable_outside_click = $state(false);
66
+ disable_outside_click = $state.raw(false);
67
67
  /** Custom class for the popover. */
68
- popover_class = $state('');
68
+ popover_class = $state.raw('');
69
69
  /** Reference to the trigger element. */
70
70
  #trigger_element = null;
71
71
  /** Reference to the content element. */
@@ -1,8 +1,8 @@
1
1
  import { create_context } from '@fuzdev/fuz_ui/context_helpers.js';
2
2
  export class SidebarState {
3
3
  #get_enabled;
4
- #enabled = $state(true);
5
- #show_sidebar = $state(true);
4
+ #enabled = $state.raw(true);
5
+ #show_sidebar = $state.raw(true);
6
6
  get enabled() {
7
7
  return this.#get_enabled?.() ?? this.#enabled;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/table_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,mEAAmE;AACnE,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,UAAW,SAAQ,QAAQ;IACvC,UAAU,EAAE,MAAM,CAAc;IAChC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAc;IACxC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAc;IAClD,KAAK,SAAa;IAClB,MAAM,SAAa;IACnB,KAAK,SAAe;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAgB;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAgB;IACvC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAgB;IAG3C,QAAQ,CAAC,aAAa,SAAoD;IAC1E,QAAQ,CAAC,WAAW,SAAkE;IACtF,QAAQ,CAAC,QAAQ,UAA6B;IAC9C,QAAQ,CAAC,QAAQ,UAAmD;IAE9D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvE,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IAIT,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAoChE"}
1
+ {"version":3,"file":"table_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/table_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,mEAAmE;AACnE,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,UAAW,SAAQ,QAAQ;IACvC,UAAU,EAAE,MAAM,CAAkB;IACpC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAkB;IAC5C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAkB;IACtD,KAAK,SAAiB;IACtB,MAAM,SAAiB;IACvB,KAAK,SAAmB;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAoB;IAC9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAoB;IAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAoB;IAG/C,QAAQ,CAAC,aAAa,SAAoD;IAC1E,QAAQ,CAAC,WAAW,SAAkE;IACtF,QAAQ,CAAC,QAAQ,UAA6B;IAC9C,QAAQ,CAAC,QAAQ,UAAmD;IAE9D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvE,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IAIT,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAoChE"}
@@ -43,15 +43,15 @@ import { format_value } from './ui_format.js';
43
43
  /** Maximum number of rows that can be fetched in a single page. */
44
44
  export const TABLE_LIMIT_MAX = 1000;
45
45
  export class TableState extends Loadable {
46
- table_name = $state('');
47
- columns = $state([]);
48
- rows = $state([]);
49
- total = $state(0);
50
- offset = $state(0);
51
- limit = $state(100);
52
- primary_key = $state(null);
53
- deleting = $state(null);
54
- delete_error = $state(null);
46
+ table_name = $state.raw('');
47
+ columns = $state.raw([]);
48
+ rows = $state.raw([]);
49
+ total = $state.raw(0);
50
+ offset = $state.raw(0);
51
+ limit = $state.raw(100);
52
+ primary_key = $state.raw(null);
53
+ deleting = $state.raw(null);
54
+ delete_error = $state.raw(null);
55
55
  // Pagination computed values
56
56
  showing_start = $derived(this.total === 0 ? 0 : this.offset + 1);
57
57
  showing_end = $derived(Math.min(this.offset + this.rows.length, this.total));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fuzdev/fuz_app",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "description": "fullstack app library",
5
5
  "glyph": "🗝",
6
6
  "logo": "logo.svg",