Motivation
The component spec (Section 6, built-in catalog) needs a ClickToSign Progressive component definition. This is the normative foundation that all other slices depend on.
Scope
- Add Section 6.9 (or appropriate number) for ClickToSign in
specs/component/component-spec.md
- Define component as: Category Input, Level Progressive, Accepts children No, Bind Required (binds to a group key)
- Compatible pattern: group with
accepted (boolean), signedBy (string), signedAt (dateTime), statement (string) children
- Define props:
statement (string), buttonLabel (string, default "Sign"), showTimestamp (boolean), showSignerName (boolean), requireTypedName (boolean), revocable (boolean)
- Define rendering requirements (MUST display statement, MUST capture structured attestation on click, MUST propagate required/readonly/relevant)
- Define fallback: Stack containing Text (statement), Toggle (accepted), readonly TextInputs for signedBy/signedAt
- Add to Appendix A component catalog table
- Add to Appendix B compatibility matrix (compatible with group items that follow the attestation children pattern)
- Add
"clickToSign" as a valid widgetHint for group items in Section 4.2.5.1 of the core spec
- Run
npm run docs:generate and npm run docs:check
Acceptance Criteria
Dependencies
None — this is the first slice.
Motivation
The component spec (Section 6, built-in catalog) needs a ClickToSign Progressive component definition. This is the normative foundation that all other slices depend on.
Scope
specs/component/component-spec.mdaccepted(boolean),signedBy(string),signedAt(dateTime),statement(string) childrenstatement(string),buttonLabel(string, default "Sign"),showTimestamp(boolean),showSignerName(boolean),requireTypedName(boolean),revocable(boolean)"clickToSign"as a valid widgetHint for group items in Section 4.2.5.1 of the core specnpm run docs:generateandnpm run docs:checkAcceptance Criteria
"clickToSign"listed as a valid widgetHint for groups in the core spec*.llm.md, BLUF injections) regenerated and passing checksDependencies
None — this is the first slice.