@happyvertical/smrt-ui 0.43.4 → 0.43.6
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/AGENTS.md +33 -0
- package/README.md +78 -4
- package/dist/components/display/CurrencyDisplay.contract.d.ts +7 -0
- package/dist/components/display/CurrencyDisplay.contract.d.ts.map +1 -0
- package/dist/components/display/CurrencyDisplay.contract.js +1 -0
- package/dist/components/display/CurrencyDisplay.svelte +148 -17
- package/dist/components/display/CurrencyDisplay.svelte.d.ts +8 -5
- package/dist/components/display/CurrencyDisplay.svelte.d.ts.map +1 -1
- package/dist/components/display/__tests__/CurrencyDisplay.test.js +193 -3
- package/dist/components/display/__tests__/CurrencyDisplayI18nHarness.svelte +20 -0
- package/dist/components/display/__tests__/CurrencyDisplayI18nHarness.svelte.d.ts +19 -0
- package/dist/components/display/__tests__/CurrencyDisplayI18nHarness.svelte.d.ts.map +1 -0
- package/dist/components/display/__tests__/CurrencyDisplaySsrHarness.svelte +7 -0
- package/dist/components/display/__tests__/CurrencyDisplaySsrHarness.svelte.d.ts +19 -0
- package/dist/components/display/__tests__/CurrencyDisplaySsrHarness.svelte.d.ts.map +1 -0
- package/dist/components/display/currency-metadata.d.ts +2 -0
- package/dist/components/display/currency-metadata.d.ts.map +1 -0
- package/dist/components/display/currency-metadata.js +14 -0
- package/dist/components/forms/Checkbox.svelte +15 -6
- package/dist/components/forms/Checkbox.svelte.d.ts.map +1 -1
- package/dist/components/forms/Combobox.svelte +45 -10
- package/dist/components/forms/Combobox.svelte.d.ts.map +1 -1
- package/dist/components/forms/FilePicker.svelte +5 -2
- package/dist/components/forms/Form.svelte +57 -0
- package/dist/components/forms/Form.svelte.d.ts +2 -0
- package/dist/components/forms/Form.svelte.d.ts.map +1 -1
- package/dist/components/forms/Input.svelte +59 -13
- package/dist/components/forms/Input.svelte.d.ts.map +1 -1
- package/dist/components/forms/Listbox.svelte +33 -6
- package/dist/components/forms/Listbox.svelte.d.ts.map +1 -1
- package/dist/components/forms/MultiSelect.svelte +41 -19
- package/dist/components/forms/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/components/forms/RadioGroup.svelte +14 -3
- package/dist/components/forms/RadioGroup.svelte.d.ts.map +1 -1
- package/dist/components/forms/RangeSlider.svelte +61 -6
- package/dist/components/forms/RangeSlider.svelte.d.ts.map +1 -1
- package/dist/components/forms/SegmentedControl.svelte +33 -6
- package/dist/components/forms/SegmentedControl.svelte.d.ts.map +1 -1
- package/dist/components/forms/Select.svelte +32 -9
- package/dist/components/forms/Select.svelte.d.ts.map +1 -1
- package/dist/components/forms/Slider.svelte +26 -6
- package/dist/components/forms/Slider.svelte.d.ts.map +1 -1
- package/dist/components/forms/StagedControlReview.svelte +637 -0
- package/dist/components/forms/StagedControlReview.svelte.d.ts +13 -0
- package/dist/components/forms/StagedControlReview.svelte.d.ts.map +1 -0
- package/dist/components/forms/Switch.svelte +16 -7
- package/dist/components/forms/Switch.svelte.d.ts.map +1 -1
- package/dist/components/forms/TagsInput.svelte +36 -8
- package/dist/components/forms/TagsInput.svelte.d.ts.map +1 -1
- package/dist/components/forms/Textarea.svelte +20 -8
- package/dist/components/forms/Textarea.svelte.d.ts.map +1 -1
- package/dist/components/forms/ToggleButton.svelte +20 -3
- package/dist/components/forms/ToggleButton.svelte.d.ts.map +1 -1
- package/dist/components/forms/__tests__/Form.test.js +106 -0
- package/dist/components/forms/__tests__/StagedControlReview.test.js +668 -0
- package/dist/components/forms/__tests__/composite-controls.fixture.svelte +22 -4
- package/dist/components/forms/__tests__/composite-controls.fixture.svelte.d.ts +6 -2
- package/dist/components/forms/__tests__/composite-controls.fixture.svelte.d.ts.map +1 -1
- package/dist/components/forms/__tests__/composite-controls.test.js +96 -1
- package/dist/components/forms/__tests__/composite-user-edit.fixture.svelte +41 -0
- package/dist/components/forms/__tests__/composite-user-edit.fixture.svelte.d.ts +13 -0
- package/dist/components/forms/__tests__/composite-user-edit.fixture.svelte.d.ts.map +1 -0
- package/dist/components/forms/__tests__/control-interaction.test.js +3323 -15
- package/dist/components/forms/__tests__/core-controls.fixture.svelte +16 -5
- package/dist/components/forms/__tests__/core-controls.fixture.svelte.d.ts +1 -0
- package/dist/components/forms/__tests__/core-controls.fixture.svelte.d.ts.map +1 -1
- package/dist/components/forms/__tests__/core-controls.test.js +223 -2
- package/dist/components/forms/__tests__/decimal-sliders.fixture.svelte +25 -0
- package/dist/components/forms/__tests__/decimal-sliders.fixture.svelte.d.ts +8 -0
- package/dist/components/forms/__tests__/decimal-sliders.fixture.svelte.d.ts.map +1 -0
- package/dist/components/forms/__tests__/select-interaction.fixture.svelte +25 -0
- package/dist/components/forms/__tests__/select-interaction.fixture.svelte.d.ts +9 -0
- package/dist/components/forms/__tests__/select-interaction.fixture.svelte.d.ts.map +1 -0
- package/dist/components/forms/__tests__/staged-review-fieldset.fixture.svelte +21 -0
- package/dist/components/forms/__tests__/staged-review-fieldset.fixture.svelte.d.ts +8 -0
- package/dist/components/forms/__tests__/staged-review-fieldset.fixture.svelte.d.ts.map +1 -0
- package/dist/components/forms/__tests__/staged-review-outer-fieldset.fixture.svelte +23 -0
- package/dist/components/forms/__tests__/staged-review-outer-fieldset.fixture.svelte.d.ts +8 -0
- package/dist/components/forms/__tests__/staged-review-outer-fieldset.fixture.svelte.d.ts.map +1 -0
- package/dist/components/forms/__tests__/staged-review.fixture.svelte +56 -0
- package/dist/components/forms/__tests__/staged-review.fixture.svelte.d.ts +12 -0
- package/dist/components/forms/__tests__/staged-review.fixture.svelte.d.ts.map +1 -0
- package/dist/components/forms/control-interaction-context.d.ts +9 -1
- package/dist/components/forms/control-interaction-context.d.ts.map +1 -1
- package/dist/components/forms/control-interaction-context.js +16 -0
- package/dist/components/forms/control-interaction.d.ts +97 -7
- package/dist/components/forms/control-interaction.d.ts.map +1 -1
- package/dist/components/forms/control-interaction.js +1019 -92
- package/dist/components/forms/control-value-validation.d.ts +19 -0
- package/dist/components/forms/control-value-validation.d.ts.map +1 -0
- package/dist/components/forms/control-value-validation.js +152 -0
- package/dist/components/forms/index.d.ts +3 -1
- package/dist/components/forms/index.d.ts.map +1 -1
- package/dist/components/forms/index.js +2 -1
- package/dist/components/forms/staged-control-review.d.ts +21 -0
- package/dist/components/forms/staged-control-review.d.ts.map +1 -0
- package/dist/components/forms/staged-control-review.js +1 -0
- package/dist/components/forms/use-control-registration.svelte.d.ts.map +1 -1
- package/dist/components/forms/use-control-registration.svelte.js +23 -4
- package/dist/i18n/strings.d.ts +3 -0
- package/dist/i18n/strings.d.ts.map +1 -1
- package/dist/i18n/strings.js +3 -0
- package/dist/i18n/strings.ui.d.ts +18 -0
- package/dist/i18n/strings.ui.d.ts.map +1 -1
- package/dist/i18n/strings.ui.js +19 -0
- package/dist/svelte/playground/InteractiveControlsPreview.svelte +3 -4
- package/dist/svelte/playground/InteractiveControlsPreview.svelte.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export type ControlKind = 'text' | 'email' | 'password' | 'number' | 'date' | 'time' | 'datetime' | 'textarea' | 'select' | 'listbox' | 'combobox' | 'multi-select' | 'tags-input' | 'checkbox' | 'radio-group' | 'switch' | 'toggle-button' | 'slider' | 'range-slider' | 'segmented-control' | 'file' | 'custom';
|
|
9
9
|
export type ControlSensitivity = 'public' | 'personal' | 'sensitive' | 'secret';
|
|
10
|
-
export type ControlCapability = 'read' | 'focus' | 'reveal' | 'highlight' | 'explain' | 'validate' | 'stage' | 'apply' | 'clear' | 'undo';
|
|
10
|
+
export type ControlCapability = 'read' | 'focus' | 'reveal' | 'highlight' | 'explain' | 'validate' | 'stage' | 'apply' | 'discard' | 'clear' | 'undo';
|
|
11
11
|
export interface ControlSubject {
|
|
12
12
|
type: string;
|
|
13
13
|
id: string;
|
|
@@ -61,6 +61,22 @@ export interface ControlRuntimeState {
|
|
|
61
61
|
valid?: boolean;
|
|
62
62
|
validationMessage?: string;
|
|
63
63
|
}
|
|
64
|
+
export interface ControlStagedProvenance {
|
|
65
|
+
source: ControlCommandSource;
|
|
66
|
+
actorId?: string;
|
|
67
|
+
sessionId?: string;
|
|
68
|
+
}
|
|
69
|
+
/** Reviewable metadata for a proposed value. The value is omitted when redacted. */
|
|
70
|
+
export interface ControlStagedEntry {
|
|
71
|
+
value?: unknown;
|
|
72
|
+
valueRedacted: boolean;
|
|
73
|
+
provenance: ControlStagedProvenance;
|
|
74
|
+
stagedAt: number;
|
|
75
|
+
revision: number;
|
|
76
|
+
stale: boolean;
|
|
77
|
+
valid?: boolean;
|
|
78
|
+
validationMessage?: string;
|
|
79
|
+
}
|
|
64
80
|
export interface ControlSnapshot {
|
|
65
81
|
identity: ControlIdentity;
|
|
66
82
|
metadata: ControlMetadata;
|
|
@@ -69,21 +85,52 @@ export interface ControlSnapshot {
|
|
|
69
85
|
valueRedacted: boolean;
|
|
70
86
|
stagedValue?: unknown;
|
|
71
87
|
stagedValueRedacted?: boolean;
|
|
88
|
+
/** Canonical staged-value contract. Legacy stagedValue fields remain additive aliases. */
|
|
89
|
+
staged?: ControlStagedEntry;
|
|
72
90
|
};
|
|
73
91
|
}
|
|
92
|
+
export type ControlValueValidationResult = boolean | string | {
|
|
93
|
+
valid: boolean;
|
|
94
|
+
message?: string;
|
|
95
|
+
};
|
|
74
96
|
export interface ControlRegistration {
|
|
75
97
|
identity: ControlIdentity;
|
|
76
98
|
metadata: ControlMetadata;
|
|
77
99
|
getValue?: () => unknown;
|
|
100
|
+
/**
|
|
101
|
+
* Snapshot changed only by direct user edits. Async mutation rollback
|
|
102
|
+
* restores a newer user value when this optional signal changes.
|
|
103
|
+
*/
|
|
104
|
+
getUserEditSnapshot?: () => {
|
|
105
|
+
revision: number;
|
|
106
|
+
value: unknown;
|
|
107
|
+
};
|
|
78
108
|
setValue?: (value: unknown) => void | Promise<void>;
|
|
79
|
-
|
|
109
|
+
/** Context-aware alternative to setValue; legacy setters keep one argument. */
|
|
110
|
+
setValueWithContext?: (value: unknown, context: ControlExtensionContext) => void | Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Resolve a staged intent against the current value without mutating it.
|
|
113
|
+
* May throw when the control cannot represent the intent canonically.
|
|
114
|
+
*/
|
|
115
|
+
prepareValue?: (value: unknown) => unknown;
|
|
116
|
+
/**
|
|
117
|
+
* Validate/canonicalize a complete value edited in the staged-review UI.
|
|
118
|
+
* Without this hook, reviewed edits still pass through prepareValue.
|
|
119
|
+
*/
|
|
120
|
+
prepareReviewedValue?: (value: unknown) => unknown;
|
|
121
|
+
/** Restore a value without re-running a fallible async mutation workflow. */
|
|
122
|
+
restoreValue?: (value: unknown, context?: ControlExtensionContext) => void | Promise<void>;
|
|
123
|
+
/** Return true to affirm an accepted idempotent clear; false rejects it. */
|
|
124
|
+
clear?: ((context?: ControlExtensionContext) => void | Promise<void>) | ((context?: ControlExtensionContext) => boolean | Promise<boolean>);
|
|
80
125
|
focus?: () => void | Promise<void>;
|
|
81
126
|
reveal?: () => void | Promise<void>;
|
|
82
127
|
highlight?: (durationMs?: number) => void | Promise<void>;
|
|
83
|
-
validate?: () => boolean | Promise<boolean>;
|
|
128
|
+
validate?: (context?: ControlExtensionContext) => boolean | Promise<boolean>;
|
|
129
|
+
/** Validate a proposal without mutating the bound value. */
|
|
130
|
+
validateValue?: (value: unknown, context?: ControlExtensionContext) => ControlValueValidationResult | Promise<ControlValueValidationResult>;
|
|
84
131
|
getState?: () => ControlRuntimeState;
|
|
85
132
|
}
|
|
86
|
-
export type ControlCommandAction = 'focus' | 'reveal' | 'highlight' | 'explain' | 'validate' | 'stage' | 'apply' | 'clear' | 'undo';
|
|
133
|
+
export type ControlCommandAction = 'focus' | 'reveal' | 'highlight' | 'explain' | 'validate' | 'stage' | 'apply' | 'discard' | 'clear' | 'undo';
|
|
87
134
|
export type ControlCommand = {
|
|
88
135
|
action: 'focus' | 'reveal' | 'explain' | 'validate' | 'undo';
|
|
89
136
|
identity: ControlIdentity;
|
|
@@ -99,6 +146,19 @@ export type ControlCommand = {
|
|
|
99
146
|
action: 'apply';
|
|
100
147
|
identity: ControlIdentity;
|
|
101
148
|
value?: unknown;
|
|
149
|
+
/**
|
|
150
|
+
* The supplied value is the complete canonical value edited in a local
|
|
151
|
+
* staged-review surface, rather than a raw proposal for prepareValue.
|
|
152
|
+
* Honored only for a current staged revision under a validated local
|
|
153
|
+
* gesture; it grants no confirmation or policy authority by itself.
|
|
154
|
+
*/
|
|
155
|
+
reviewedValueIsCanonical?: true;
|
|
156
|
+
/** Reject the command when this no longer matches the staged proposal. */
|
|
157
|
+
revision?: number;
|
|
158
|
+
} | {
|
|
159
|
+
action: 'discard';
|
|
160
|
+
identity: ControlIdentity;
|
|
161
|
+
revision?: number;
|
|
102
162
|
} | {
|
|
103
163
|
action: 'clear';
|
|
104
164
|
identity: ControlIdentity;
|
|
@@ -106,8 +166,10 @@ export type ControlCommand = {
|
|
|
106
166
|
export type ControlCommandSource = 'user' | 'voice' | 'agent' | 'tutorial' | 'test';
|
|
107
167
|
export interface ControlCommandContext {
|
|
108
168
|
source: ControlCommandSource;
|
|
109
|
-
/**
|
|
169
|
+
/** Advisory confirmation for legacy non-review mutations; never proves a local gesture. */
|
|
110
170
|
confirmed?: boolean;
|
|
171
|
+
/** Output-only audit marker set by the registry after validating a local gesture. */
|
|
172
|
+
localGesture?: boolean;
|
|
111
173
|
actorId?: string;
|
|
112
174
|
sessionId?: string;
|
|
113
175
|
}
|
|
@@ -115,7 +177,15 @@ export interface ControlPolicyDecision {
|
|
|
115
177
|
allowed: boolean;
|
|
116
178
|
reason?: string;
|
|
117
179
|
}
|
|
118
|
-
|
|
180
|
+
/**
|
|
181
|
+
* Execution utilities supplied to registry extension hooks. Same-control
|
|
182
|
+
* mutations are rejected before queuing so an extension cannot await its own
|
|
183
|
+
* mutation and deadlock the ordered command queue.
|
|
184
|
+
*/
|
|
185
|
+
export interface ControlExtensionContext {
|
|
186
|
+
execute(command: ControlCommand, context?: ControlCommandContext): Promise<ControlCommandResult>;
|
|
187
|
+
}
|
|
188
|
+
export type ControlInteractionPolicy = (command: ControlCommand, context: ControlCommandContext, snapshot: ControlSnapshot, extensionContext?: ControlExtensionContext) => ControlPolicyDecision | Promise<ControlPolicyDecision>;
|
|
119
189
|
export interface ControlCommandResult {
|
|
120
190
|
ok: boolean;
|
|
121
191
|
action: ControlCommandAction;
|
|
@@ -123,25 +193,45 @@ export interface ControlCommandResult {
|
|
|
123
193
|
snapshot?: ControlSnapshot;
|
|
124
194
|
reason?: string;
|
|
125
195
|
}
|
|
196
|
+
export interface ControlBatchResult {
|
|
197
|
+
ok: boolean;
|
|
198
|
+
results: ControlCommandResult[];
|
|
199
|
+
}
|
|
126
200
|
export interface ControlInteractionEvent {
|
|
127
|
-
type: 'registered' | 'unregistered' | 'staged' | 'command';
|
|
201
|
+
type: 'registered' | 'unregistered' | 'refreshed' | 'staged' | 'command';
|
|
128
202
|
identity: ControlIdentity;
|
|
129
203
|
command?: ControlCommand;
|
|
130
204
|
context?: ControlCommandContext;
|
|
131
205
|
result?: ControlCommandResult;
|
|
206
|
+
staged?: ControlStagedEntry;
|
|
132
207
|
timestamp: number;
|
|
133
208
|
}
|
|
134
209
|
export interface ControlInteractionRegistry {
|
|
135
210
|
register(registration: ControlRegistration): () => void;
|
|
136
211
|
unregister(identity: ControlIdentity): void;
|
|
212
|
+
/** Record a direct human edit observed by the owning form. */
|
|
213
|
+
recordUserEdit?(identity: ControlIdentity): void;
|
|
137
214
|
list(formId?: string): ControlSnapshot[];
|
|
138
215
|
get(identity: ControlIdentity): ControlSnapshot | undefined;
|
|
216
|
+
/** Notify consumers that live registration metadata or runtime state changed. */
|
|
217
|
+
refresh?(formId?: string): void;
|
|
139
218
|
execute(command: ControlCommand, context?: ControlCommandContext): Promise<ControlCommandResult>;
|
|
219
|
+
/** Executes in order and always returns an explicit result for every command. */
|
|
220
|
+
executeBatch?(commands: ControlCommand[], context?: ControlCommandContext): Promise<ControlBatchResult>;
|
|
140
221
|
subscribe(listener: (event: ControlInteractionEvent) => void): () => void;
|
|
141
222
|
}
|
|
142
223
|
export interface CreateControlInteractionRegistryOptions {
|
|
143
224
|
policy?: ControlInteractionPolicy;
|
|
225
|
+
now?: () => number;
|
|
226
|
+
/** Host/test trust hook. Active DOM dispatch is always required independently. */
|
|
227
|
+
isLocalGesture?: (event: Event) => boolean;
|
|
228
|
+
/** @deprecated Reentrant mutations are rejected through ControlExtensionContext. */
|
|
229
|
+
reentrantMutationTimeoutMs?: number;
|
|
144
230
|
}
|
|
231
|
+
/** Execute one value-changing command from a local DOM event handler. */
|
|
232
|
+
export declare function executeLocalControlCommand(registry: ControlInteractionRegistry, command: ControlCommand, event: Event): Promise<ControlCommandResult>;
|
|
233
|
+
/** Execute an ordered best-effort batch from one local DOM event handler. */
|
|
234
|
+
export declare function executeLocalControlBatch(registry: ControlInteractionRegistry, commands: ControlCommand[], event: Event): Promise<ControlBatchResult>;
|
|
145
235
|
/** Create an isolated registry; apps choose where and how it is exposed. */
|
|
146
236
|
export declare function createControlInteractionRegistry(options?: CreateControlInteractionRegistryOptions): ControlInteractionRegistry;
|
|
147
237
|
//# sourceMappingURL=control-interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-interaction.d.ts","sourceRoot":"","sources":["../../../src/components/forms/control-interaction.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"control-interaction.d.ts","sourceRoot":"","sources":["../../../src/components/forms/control-interaction.ts"],"names":[],"mappings":"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"}
|