Skip to content

IS-11008 HAAPI FE Lib documentation - #274

Open
aleixsuau wants to merge 6 commits into
devfrom
feature/dev/IS-11008-haapi-react-sdk-docs
Open

IS-11008 HAAPI FE Lib documentation#274
aleixsuau wants to merge 6 commits into
devfrom
feature/dev/IS-11008-haapi-react-sdk-docs

Conversation

@aleixsuau

@aleixsuau aleixsuau commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Supersedes #226 — same goal, final architecture, without the 30-commit build-then-pivot history.

What this PR does

Makes the HAAPI React SDK package the single source of truth for its documentation on the Curity docs site (Developer Guide → HAAPI SDKs → Web SDK). Everything the site shows is authored here and generated from it:

  • src/haapi-react-app/README.md  and specially src/haapi-react-sdk/README.md‎ explain how the docs work
  • The rest of the changes are mostly TSDoc comments or code snippets (50 files) demonstrating the use of the documented components. A simple scan of the code examples is enough since we'll review the published docs in the following IDSVR PR.

The generator itself lives in the identity-server repo (docs/haapi-react-sdk-docgen); this PR contains only the SDK-side sources plus small tooling touches.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR moves HAAPI React SDK documentation ownership into the SDK package by adding a docs source tree and runnable, typechecked examples, while updating TSDoc on public exports so the Curity docs site can generate API reference and playground pages directly from this repository.

Changes:

  • Added docs/sections/ source tree + _harness/ playground infrastructure and many co-located runnable example apps.
  • Expanded/standardized TSDoc across exported components/hooks (including {@see_example ...} markers and @docsIgnore tags).
  • Updated tooling and repo entrypoints (TS/ESLint/Prettier/CI workspace naming, app readme links, launcher page link).

Reviewed changes

Copilot reviewed 98 out of 100 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/haapi-react-sdk/tsconfig.json Include docs/ in typecheck and map package-name imports for examples.
src/haapi-react-sdk/README.md New package-root README used as Overview docs source + contributor guide for docs conventions.
src/haapi-react-sdk/haapi-stepper/ui/messages/HaapiStepperMessageUI.tsx Add API doc + example marker for single-message rendering.
src/haapi-react-sdk/haapi-stepper/ui/messages/HaapiStepperMessagesUI.tsx Normalize doc headings + add example marker.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperQrCodeLinkDialog.tsx Mark as @docsIgnore.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperLinkUI.tsx Add API doc + example marker for single-link rendering.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperLinksUI.tsx Fix example snippet + normalize doc headings + add example marker.
src/haapi-react-sdk/haapi-stepper/ui/actions/HaapiStepperActionsUI.tsx Add API doc + example marker for actions collection rendering.
src/haapi-react-sdk/haapi-stepper/README.md Remove legacy README content (docs now sourced elsewhere).
src/haapi-react-sdk/haapi-stepper/feature/viewnames/HaapiStepperBankIdQrCodeAccessibilityMessages.tsx Add @docsIgnore.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/HaapiStepperBankIdPollingProgressUI.tsx Add @docsIgnore.
src/haapi-react-sdk/haapi-stepper/feature/steps/HaapiStepperStepUI.tsx Rewrite/structure TSDoc + add multiple example markers.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepperHook.ts Update hook TSDoc + add example marker.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepperErrorNotifier.tsx Add component TSDoc + example marker.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepperContext.tsx Mark as @docsIgnore.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx Restructure provider TSDoc + add multiple example markers + update wording.
src/haapi-react-sdk/haapi-stepper/feature/actions/selector/HaapiStepperSelectorUI.tsx Normalize heading + add example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormValidationErrorInputWrapper.tsx Add component TSDoc + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormUI.tsx Restructure docs + add example markers and references.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormSubmitButton.tsx Add component TSDoc + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormHook.ts Add hook usage docs + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormContext.ts Mark internal context/hook as @docsIgnore.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperTextFormFieldUI.tsx Add component docs + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperSelectFormFieldUI.tsx Add component docs + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperPasswordFormFieldUI.tsx Add component docs + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperFormFieldUI.tsx Add component docs + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperCheckboxFormFieldUI.tsx Add component docs + example marker.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/HaapiStepperWebAuthnRegistrationAttachmentCard.tsx Add @docsIgnore.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/HaapiStepperClientOperationUI.tsx Normalize heading + add example marker.
src/haapi-react-sdk/haapi-stepper/data-access/useHaapiFetch.ts Add hook docs + usage snippet.
src/haapi-react-sdk/eslint.config.js Relax selected rules for docs/** to fit teaching/example patterns.
src/haapi-react-sdk/docs/sections/README.md Docs root section header/intro for generated menu.
src/haapi-react-sdk/docs/sections/00-overview/README.md Overview section metadata; examples live here.
src/haapi-react-sdk/docs/sections/00-overview/HaapiStepperPreviewHaapiReactSDKPlaygroundExample.tsx Step catalog playground example.
src/haapi-react-sdk/docs/sections/00-overview/DefaultRenderingHaapiReactSDKPlaygroundExample.tsx Default HaapiStepperStepUI rendering example.
src/haapi-react-sdk/docs/sections/00-overview/StepBuildingBlocksHaapiReactSDKPlaygroundExample.tsx Building-block composition example.
src/haapi-react-sdk/docs/sections/00-overview/StylesButtonCustomizationHaapiReactSDKPlaygroundExample.tsx CSS-only customization example.
src/haapi-react-sdk/docs/sections/01-api-reference/README.md API reference section index (ordered exports list).
src/haapi-react-sdk/docs/sections/01-api-reference/UseHaapiStepperHookHaapiReactSDKPlaygroundExample.tsx useHaapiStepper example app.
src/haapi-react-sdk/docs/sections/01-api-reference/LoadingDataRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Loading data interceptor example.
src/haapi-react-sdk/docs/sections/01-api-reference/LoadingRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Loading UI interceptor example.
src/haapi-react-sdk/docs/sections/01-api-reference/LoadingBehaviorRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Loading side-effect example.
src/haapi-react-sdk/docs/sections/01-api-reference/StepDataRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Step data rewrite example.
src/haapi-react-sdk/docs/sections/01-api-reference/StepRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Full step UI replacement example.
src/haapi-react-sdk/docs/sections/01-api-reference/StepBehaviorRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Wrap nextStep behavior example.
src/haapi-react-sdk/docs/sections/01-api-reference/ConditionalCustomizationHaapiReactSDKPlaygroundExample.tsx Conditional customization example.
src/haapi-react-sdk/docs/sections/01-api-reference/BuildingBlocksUICompositionHaapiReactSDKPlaygroundExample.tsx Manual building-block step composition example.
src/haapi-react-sdk/docs/sections/01-api-reference/FullCustomizationUICompositionHaapiReactSDKPlaygroundExample.tsx Full custom UI composition with a component library example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/README.md UI components section text + embedded runnable example reference.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/ActionsUiUsageHaapiReactSDKPlaygroundExample.tsx Actions building-block usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/SelectorUiUsageHaapiReactSDKPlaygroundExample.tsx Selector building-block usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/ClientOperationUiUsageHaapiReactSDKPlaygroundExample.tsx Client-operation building-block usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/LinkUiUsageHaapiReactSDKPlaygroundExample.tsx Links collection usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/SingleLinkUiUsageHaapiReactSDKPlaygroundExample.tsx Single link usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/MessagesRenderingHaapiReactSDKPlaygroundExample.tsx Messages collection usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/SingleMessageUiUsageHaapiReactSDKPlaygroundExample.tsx Single message usage example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/ErrorNotifierHaapiReactSDKPlaygroundExample.tsx Error notifier example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/FormValidationErrorWrapperHaapiReactSDKPlaygroundExample.tsx Field validation wrapper example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/UiComponentsCompositionUsageHaapiReactSDKPlaygroundExample.tsx Mixed building-block composition example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/README.md Form UI subsection index.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/FormUICompositionHaapiReactSDKPlaygroundExample.tsx Form composition example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/FormFieldRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Field interceptor example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/FormStateHookUsageHaapiReactSDKPlaygroundExample.tsx useHaapiStepperFormState example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/FormSubmitBehaviorHaapiReactSDKPlaygroundExample.tsx Submission behavior wrapping example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/SubmitButtonCustomizationHaapiReactSDKPlaygroundExample.tsx Submit button customization example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/TextFieldRenderingHaapiReactSDKPlaygroundExample.tsx Direct text field placement example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/PasswordFieldRenderingHaapiReactSDKPlaygroundExample.tsx Direct password field placement example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/SelectFieldRenderingHaapiReactSDKPlaygroundExample.tsx Direct select field placement example.
src/haapi-react-sdk/docs/sections/01-api-reference/01-ui-components/01-form-ui/CheckboxFieldRenderingHaapiReactSDKPlaygroundExample.tsx Direct checkbox field placement example.
src/haapi-react-sdk/docs/sections/02-examples/README.md Examples section index.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/README.md Render interceptor examples section index.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/MessageRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Message interceptor example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/LinkRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Link interceptor example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/ActionsRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Actions wrapper interceptor example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/ClientOperationRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Client-operation interceptor example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/SelectorReorderRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Selector option reorder example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/SelectorRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Selector UI replacement example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/01-error-positioning/README.md Error positioning examples section index.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/01-error-positioning/ErrorInWellRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Error restyle-in-place example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/01-error-positioning/ErrorAboveStepRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Error moved above step example.
src/haapi-react-sdk/docs/sections/02-examples/01-render-interceptors/01-error-positioning/ErrorAboveFormRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Error moved inside form example.
src/haapi-react-sdk/docs/sections/02-examples/02-ui-composition/README.md UI composition examples section index.
src/haapi-react-sdk/docs/sections/02-examples/02-ui-composition/ComposedLayoutRenderInterceptorHaapiReactSDKPlaygroundExample.tsx Mixed interceptor + composition layout example.
src/haapi-react-sdk/docs/sections/02-examples/03-advanced/README.md Advanced examples section index.
src/haapi-react-sdk/docs/sections/02-examples/03-advanced/CaptchaRenderInterceptorHaapiReactSDKPlaygroundExample.tsx reCAPTCHA-gated login form interceptor example.
src/haapi-react-sdk/docs/sections/02-examples/03-advanced/TabbedAuthenticatorUICompositionHaapiReactSDKPlaygroundExample.tsx Tabbed authenticator selector composition example.
src/haapi-react-sdk/docs/_harness/third-party.d.ts Ambient stubs for doc-only third-party imports.
src/haapi-react-sdk/docs/_harness/ExamplePreviewer.tsx Preview chrome + served-mode window.__CONFIG__ injection.
src/haapi-react-sdk/docs/_harness/StepSelect.tsx Step selector UI for previewer.
src/haapi-react-sdk/docs/_harness/StepDataDetails.tsx Collapsible HAAPI step JSON viewer.
src/haapi-react-sdk/docs/_harness/config.ts Mock HAAPI config + bootstrap generation helper.
src/haapi-react-sdk/docs/_harness/AutoSubmitForm.tsx Auto-submit helper for error-state examples.
src/haapi-react-sdk/.prettierignore Exclude docs/ from this workspace’s prettier check.
src/haapi-react-app/README.md Link app docs to published SDK docs; update install/run guidance.
src/haapi-react-app/package.json Add previewer:serve script.
package.json Point start:haapi-react-app to previewer serve command.
package-lock.json Lockfile updates from dependency refresh.
index.html Add documentation link on the launcher page.
.github/workflows/lwa-github-ci-workflow.yml Run SDK checks via workspace name @curity/haapi-react-sdk.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/haapi-react-sdk/tsconfig.json
Comment thread src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx
Comment thread src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx
Comment thread src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx
Comment thread src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx Outdated
Comment thread index.html
@aleixsuau
aleixsuau requested a review from pmlbrito July 29, 2026 13:39
@aleixsuau aleixsuau changed the title IS-11008 HAAPI React SDK documentation IS-11008 HAAPI FE Lib documentation Jul 30, 2026
aleixsuau and others added 6 commits August 4, 2026 11:11
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…arness.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… site.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ids Chrome's breach warning); note example CI coverage in the README.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@aleixsuau
aleixsuau force-pushed the feature/dev/IS-11008-haapi-react-sdk-docs branch from b1debb5 to 33a2d4c Compare August 4, 2026 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants