@happyvertical/smrt-svelte 0.43.10 → 0.44.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.
Files changed (90) hide show
  1. package/AGENTS.md +38 -2
  2. package/dist/Provider.svelte +11 -0
  3. package/dist/Provider.svelte.d.ts.map +1 -1
  4. package/dist/components/forms/Form.svelte +29 -13
  5. package/dist/components/forms/Form.svelte.d.ts +5 -0
  6. package/dist/components/forms/Form.svelte.d.ts.map +1 -1
  7. package/dist/components/forms/__tests__/Form.webmcp.test.js +115 -6
  8. package/dist/components/settings/SettingsCatalog.svelte +9 -0
  9. package/dist/components/settings/SettingsCatalog.svelte.d.ts +9 -0
  10. package/dist/components/settings/SettingsCatalog.svelte.d.ts.map +1 -1
  11. package/dist/components/workspace/admin-shell/ActivityBadge.svelte +2 -0
  12. package/dist/components/workspace/admin-shell/ActivityBadge.svelte.d.ts +2 -0
  13. package/dist/components/workspace/admin-shell/ActivityBadge.svelte.d.ts.map +1 -1
  14. package/dist/components/workspace/admin-shell/ActivityItem.svelte +1 -0
  15. package/dist/components/workspace/admin-shell/ActivityItem.svelte.d.ts +1 -0
  16. package/dist/components/workspace/admin-shell/ActivityItem.svelte.d.ts.map +1 -1
  17. package/dist/components/workspace/admin-shell/ActivityList.svelte +3 -0
  18. package/dist/components/workspace/admin-shell/ActivityList.svelte.d.ts +3 -0
  19. package/dist/components/workspace/admin-shell/ActivityList.svelte.d.ts.map +1 -1
  20. package/dist/components/workspace/admin-shell/ActivityToasts.svelte +1 -0
  21. package/dist/components/workspace/admin-shell/ActivityToasts.svelte.d.ts +1 -0
  22. package/dist/components/workspace/admin-shell/ActivityToasts.svelte.d.ts.map +1 -1
  23. package/dist/components/workspace/admin-shell/AdminShell.svelte +15 -0
  24. package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts +15 -0
  25. package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts.map +1 -1
  26. package/dist/components/workspace/admin-shell/AppScopePanel.svelte +7 -0
  27. package/dist/components/workspace/admin-shell/AppScopePanel.svelte.d.ts +7 -0
  28. package/dist/components/workspace/admin-shell/AppScopePanel.svelte.d.ts.map +1 -1
  29. package/dist/components/workspace/admin-shell/HotkeyInput.svelte +4 -0
  30. package/dist/components/workspace/admin-shell/HotkeyInput.svelte.d.ts +4 -0
  31. package/dist/components/workspace/admin-shell/HotkeyInput.svelte.d.ts.map +1 -1
  32. package/dist/components/workspace/admin-shell/ShellCorner.svelte +1 -0
  33. package/dist/components/workspace/admin-shell/ShellCorner.svelte.d.ts +1 -0
  34. package/dist/components/workspace/admin-shell/ShellCorner.svelte.d.ts.map +1 -1
  35. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte +1 -0
  36. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte.d.ts +1 -0
  37. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte.d.ts.map +1 -1
  38. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte +2 -0
  39. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte.d.ts +2 -0
  40. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte.d.ts.map +1 -1
  41. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte +1 -0
  42. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte.d.ts +1 -0
  43. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte.d.ts.map +1 -1
  44. package/dist/components/workspace/admin-shell/TenantNav.svelte +5 -0
  45. package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts +5 -0
  46. package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts.map +1 -1
  47. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte +11 -0
  48. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts +11 -0
  49. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts.map +1 -1
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +3 -0
  53. package/dist/web/__tests__/view-intent-provider.fixture.svelte +28 -0
  54. package/dist/web/__tests__/view-intent-provider.fixture.svelte.d.ts +13 -0
  55. package/dist/web/__tests__/view-intent-provider.fixture.svelte.d.ts.map +1 -0
  56. package/dist/web/__tests__/view-intent.fixture.svelte +33 -0
  57. package/dist/web/__tests__/view-intent.fixture.svelte.d.ts +15 -0
  58. package/dist/web/__tests__/view-intent.fixture.svelte.d.ts.map +1 -0
  59. package/dist/web/__tests__/view-intent.intents.d.ts +14 -0
  60. package/dist/web/__tests__/view-intent.intents.d.ts.map +1 -0
  61. package/dist/web/__tests__/view-intent.intents.js +38 -0
  62. package/dist/web/__tests__/view-intent.svelte.test.js +201 -0
  63. package/dist/web/__tests__/webmcp-composed.child.fixture.svelte +11 -0
  64. package/dist/web/__tests__/webmcp-composed.child.fixture.svelte.d.ts.map +1 -1
  65. package/dist/web/__tests__/webmcp-composed.integration.svelte.test.js +4 -0
  66. package/dist/web/__tests__/webmcp-effects-reactivity.child.fixture.svelte +16 -0
  67. package/dist/web/__tests__/webmcp-effects-reactivity.child.fixture.svelte.d.ts +19 -0
  68. package/dist/web/__tests__/webmcp-effects-reactivity.child.fixture.svelte.d.ts.map +1 -0
  69. package/dist/web/__tests__/webmcp-effects-reactivity.fixture.svelte +11 -0
  70. package/dist/web/__tests__/webmcp-effects-reactivity.fixture.svelte.d.ts +8 -0
  71. package/dist/web/__tests__/webmcp-effects-reactivity.fixture.svelte.d.ts.map +1 -0
  72. package/dist/web/__tests__/webmcp-harness-reactive-samename.svelte +20 -0
  73. package/dist/web/__tests__/webmcp-harness-reactive-samename.svelte.d.ts +7 -0
  74. package/dist/web/__tests__/webmcp-harness-reactive-samename.svelte.d.ts.map +1 -0
  75. package/dist/web/__tests__/webmcp-harness-unannotated.svelte +14 -0
  76. package/dist/web/__tests__/webmcp-harness-unannotated.svelte.d.ts +19 -0
  77. package/dist/web/__tests__/webmcp-harness-unannotated.svelte.d.ts.map +1 -0
  78. package/dist/web/__tests__/webmcp-harness.svelte +4 -0
  79. package/dist/web/__tests__/webmcp-harness.svelte.d.ts.map +1 -1
  80. package/dist/web/__tests__/webmcp.test.js +136 -9
  81. package/dist/web/view-intent.svelte.d.ts +64 -0
  82. package/dist/web/view-intent.svelte.d.ts.map +1 -0
  83. package/dist/web/view-intent.svelte.js +83 -0
  84. package/dist/web/webmcp-bespoke-context.d.ts +14 -0
  85. package/dist/web/webmcp-bespoke-context.d.ts.map +1 -0
  86. package/dist/web/webmcp-bespoke-context.js +8 -0
  87. package/dist/web/webmcp.svelte.d.ts +29 -13
  88. package/dist/web/webmcp.svelte.d.ts.map +1 -1
  89. package/dist/web/webmcp.svelte.js +92 -12
  90. package/package.json +8 -7
package/AGENTS.md CHANGED
@@ -18,13 +18,16 @@ subpath you are editing. This file keeps what holds in every module.
18
18
  | `src/web/remote-query.svelte.ts` | Svelte 5 binding for query-shaped remote pages: rows, page, totals, loading/refreshing/stale/error, retry, last-updated, and query-scoped live subscriptions (#2445) | — |
19
19
  | `src/web/webmcp-provider.ts` | Provider config for generated data/model WebMCP tools: definitions, effect policy, namespace, budget, legacy/canonical filters, and fetcher seams (#2520) | — |
20
20
  | `src/web/webmcp-ui.ts` | Fixed, low-cardinality WebMCP adapter over the Provider's mounted form-control and data-surface registries (#2521) | — |
21
+ | `src/web/webmcp.svelte.ts` (`useWebMcpTool`) | Component-owned bespoke WebMCP tool. Routes through `@happyvertical/smrt-web`'s `registerWebMcpBespokeTool`, so it shares the fail-closed effect classification and `effects` exposure policy of generated tools — undeclared `annotations` classify destructive and are excluded by default. `namespace` and `maxTools` never apply to a bespoke tool (#2586) | — |
21
22
 
22
23
  The composed WebMCP fixture in
23
24
  `src/web/__tests__/webmcp-composed.integration.svelte.test.ts` mounts a real
24
25
  Provider, rich Form, DataTable/DataSurface, and a bespoke `useWebMcpTool`
25
26
  component intent. Preserve its lifecycle assertions: SSR and missing
26
27
  `document.modelContext` are no-ops, mounted tools are fixed-cardinality, and
27
- all registrations abort when their owning component unmounts.
28
+ all registrations abort when their owning component unmounts. It also covers
29
+ an undeclared bespoke tool being excluded under the default read-only policy
30
+ (#2586) — never remove that assertion when editing the fixture.
28
31
 
29
32
  ## The UI split — primitive-adoption contract (#1589)
30
33
 
@@ -68,7 +71,10 @@ human applies or discards them in the form's local review surface. Keep this
68
71
  state machine in smrt-ui; smrt-svelte contributes Provider-backed field
69
72
  registration and consumes the shared component rather than duplicating it.
70
73
  The generated WebMCP form tool proposes registry stages; it never writes or
71
- submits field values directly.
74
+ submits field values directly. It declares itself write-class (never
75
+ destructive) and, being an explicit `<Form webmcp>` opt-in, falls back to a
76
+ `['read', 'write']` exposure policy only when no ancestor Provider declares an
77
+ explicit `webmcp.effects` — an explicit Provider policy always wins (#2586).
72
78
  Rich `FieldDefinition` registrations may carry a `subject` for record-qualified
73
79
  identity. The Form bridge also folds live DOM disabled/read-only state into the
74
80
  registry and omits those fields from WebMCP schemas and staging.
@@ -115,6 +121,36 @@ adapter for a prefix; configure distinct prefixes for intentional coexistence.
115
121
  | `useTTS()` | `speak()`, `stop()`, `isSpeaking`, `getVoices()` |
116
122
  | `useLLM()` | `chat()`, `initialize()`, `unload()`, `isGenerating`, `downloadProgress` |
117
123
  | `useTheme()` | Theme context from `ThemeProvider` |
124
+ | `useWebMcpTool(factory)` | Registers one imperative browser tool for a component's lifetime (the escape hatch for computed tool sets) |
125
+ | `useViewIntent(intent, { identity })` | Binds a DECLARED view intent (#2588) to a mounted registry identity |
126
+
127
+ ## Declarative view intents (#2588)
128
+
129
+ `useViewIntent(intent, { identity })` binds an intent declared with
130
+ `defineIntent` in a `.ts` sidecar to this component's mounted registry
131
+ identity — `{ formId, controlId }` for a control intent, `{ surfaceId, kind }`
132
+ for a data-surface one — for exactly the component's lifetime.
133
+
134
+ - **The contract is not here.** The declaration type, the registry, and the
135
+ compilation to a browser tool live in `@happyvertical/smrt-web` with no
136
+ Svelte dependency. This binding is the thin part; a second framework is a
137
+ binding, not a rewrite. Do not add intent semantics to this package.
138
+ - **Built on `useWebMcpTool`.** Do not write a second WebMCP lifecycle: the
139
+ synchronous Provider policy read, the `options.effects` fallback, serialized
140
+ same-name re-registration across effect reruns, and the lazy
141
+ `@happyvertical/smrt-web` import all come from it. The compiler is imported
142
+ from `@happyvertical/smrt-web/intents`, the dependency-free entry, so
143
+ binding an intent never pulls the client-data engine.
144
+ - **Registries come from the nearest Provider's WebMCP UI context**, or from
145
+ an explicit `controlRegistry`/`dataSurfaceRegistry` override. With neither,
146
+ it is a silent no-op — an intent with nothing mounted to dispatch to
147
+ registers nothing. A mismatched `identity` shape THROWS: that is an author
148
+ error, not an environment difference.
149
+ - **Execution dispatches one registry command as `source: 'agent'`.** Staged
150
+ review, the trusted local-gesture requirement, sensitivity, and writability
151
+ all apply unchanged, and there is no path to REST.
152
+ - The six fixed `smrt_ui_*` tools are unchanged by this and must stay so;
153
+ intents sit above them.
118
154
 
119
155
  ## AI System
120
156
 
@@ -18,6 +18,7 @@ import type {
18
18
  } from './state/app-state.js';
19
19
  import { createAppState } from './state/app-state.svelte.js';
20
20
  import { setAppStateContext } from './state/context.js';
21
+ import { setWebMcpBespokeContext } from './web/webmcp-bespoke-context.js';
21
22
  import type { WebMcpProviderConfig } from './web/webmcp-provider.js';
22
23
  import { registerWebMcpUiTools } from './web/webmcp-ui.js';
23
24
  import { setWebMcpUiContext } from './web/webmcp-ui-context.js';
@@ -155,6 +156,16 @@ setWebMcpUiContext({
155
156
  },
156
157
  });
157
158
 
159
+ // A descendant's useWebMcpTool() reads this so a bespoke component tool is
160
+ // subject to the same `effects` policy as this Provider's generated tools
161
+ // (#2586), without requiring `webmcp` to be configured at all — absent this
162
+ // Provider, useWebMcpTool falls back to the registrar's own read-only default.
163
+ setWebMcpBespokeContext({
164
+ get effects() {
165
+ return webMcpConfig?.effects;
166
+ },
167
+ });
168
+
158
169
  $effect(() => {
159
170
  const currentPreferences = untrack(() => appState.state.session.preferences);
160
171
  if (currentPreferences.autoEnableSmrt === autoEnableSmrt) {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.svelte.d.ts","sourceRoot":"","sources":["../src/Provider.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,OAAO,EACP,YAAY,EACZ,IAAI,EACL,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,UAAU,KAAK;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;;;;;;;;;;;OAeG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;IACxC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAiPD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Provider.svelte.d.ts","sourceRoot":"","sources":["../src/Provider.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,OAAO,EACP,YAAY,EACZ,IAAI,EACL,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,UAAU,KAAK;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;;;;;;;;;;;OAeG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;IACxC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AA4PD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -55,12 +55,17 @@ export interface Props {
55
55
  formId?: string;
56
56
  /** Default record-qualified identity for registered fields. */
57
57
  subject?: ControlSubject;
58
+ /** Registry for form control interactions and staged edits. */
58
59
  interactionRegistry?: ControlInteractionRegistry;
60
+ /** Called when a form control interaction event occurs. */
59
61
  oninteraction?: (event: ControlInteractionEvent) => void;
60
62
  /** Render the built-in human review surface for staged changes. */
61
63
  stagedReview?: boolean;
64
+ /** HTML id attribute for the form element. */
62
65
  id?: string;
66
+ /** HTML name attribute for the form element. */
63
67
  name?: string;
68
+ /** CSS classes to apply to the form element. */
64
69
  class?: string;
65
70
  }
66
71
 
@@ -929,19 +934,30 @@ async function stageForWebMcp(args: Record<string, unknown>): Promise<string> {
929
934
  : `Staged ${completed} changes for review; ${rejected} rejected`;
930
935
  }
931
936
 
932
- useWebMcpTool(() => {
933
- if (!webmcp) return null;
934
- const options = typeof webmcp === 'object' ? webmcp : {};
935
- return {
936
- name: options.name ?? `${collection ?? resolvedFormId}_stage_changes`,
937
- description:
938
- options.description ??
939
- `Propose changes to the ${collection ?? name ?? resolvedFormId} form for local human review`,
940
- inputSchema: formInputSchema(),
941
- annotations: { readOnlyHint: false },
942
- execute: stageForWebMcp,
943
- };
944
- });
937
+ useWebMcpTool(
938
+ () => {
939
+ if (!webmcp) return null;
940
+ const options = typeof webmcp === 'object' ? webmcp : {};
941
+ return {
942
+ name: options.name ?? `${collection ?? resolvedFormId}_stage_changes`,
943
+ description:
944
+ options.description ??
945
+ `Propose changes to the ${collection ?? name ?? resolvedFormId} form for local human review`,
946
+ inputSchema: formInputSchema(),
947
+ // This tool only ever stages a proposal into local review state — it
948
+ // never writes or submits data on its own (a human gesture still
949
+ // applies it) — so it is write-class, not destructive.
950
+ annotations: { readOnlyHint: false, destructiveHint: false },
951
+ execute: stageForWebMcp,
952
+ };
953
+ },
954
+ // `<Form webmcp>` is an explicit component-level opt-in, so it supplies
955
+ // its own `['read', 'write']` fallback for when no Provider ancestor
956
+ // declares an `effects` policy. A Provider's explicit policy still wins
957
+ // when present — a narrower Provider policy fails closed over this
958
+ // default — and this default never includes `destructive`.
959
+ { effects: ['read', 'write'] },
960
+ );
945
961
 
946
962
  // Clean up extracted values based on field type
947
963
  function cleanValue(value: unknown, fieldType: string): unknown {
@@ -31,12 +31,17 @@ export interface Props {
31
31
  formId?: string;
32
32
  /** Default record-qualified identity for registered fields. */
33
33
  subject?: ControlSubject;
34
+ /** Registry for form control interactions and staged edits. */
34
35
  interactionRegistry?: ControlInteractionRegistry;
36
+ /** Called when a form control interaction event occurs. */
35
37
  oninteraction?: (event: ControlInteractionEvent) => void;
36
38
  /** Render the built-in human review surface for staged changes. */
37
39
  stagedReview?: boolean;
40
+ /** HTML id attribute for the form element. */
38
41
  id?: string;
42
+ /** HTML name attribute for the form element. */
39
43
  name?: string;
44
+ /** CSS classes to apply to the form element. */
40
45
  class?: string;
41
46
  }
42
47
  declare const Form: import("svelte").Component<Props, {
@@ -1 +1 @@
1
- {"version":3,"file":"Form.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/forms/Form.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAG/B,KAAK,cAAc,EAIpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAatC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7D,MAAM,WAAW,KAAK;IACpB,oBAAoB;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACzD,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA04CD,QAAA,MAAM,IAAI;uBAjFe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kCAQZ,0BAA0B;MAyEZ,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Form.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/forms/Form.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAG/B,KAAK,cAAc,EAIpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAatC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7D,MAAM,WAAW,KAAK;IACpB,oBAAoB;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACzD,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8CAA8C;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAq5CD,QAAA,MAAM,IAAI;uBAjFe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kCAQZ,0BAA0B;MAyEZ,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}