Skip to content

Spec: Add ClickToSign to component specification #2

@mikewolfd

Description

@mikewolfd

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

  • ClickToSign component fully defined in the component spec with props, rendering requirements, and fallback behavior
  • Fallback substitution rule documented in the Progressive fallback table
  • "clickToSign" listed as a valid widgetHint for groups in the core spec
  • All generated artifacts (*.llm.md, BLUF injections) regenerated and passing checks

Dependencies

None — this is the first slice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions