@3fn/core 13.0.0 โ 14.1.0
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/.kiro/agents/ada-prompt.md +80 -132
- package/.kiro/agents/ada-prompt.md.attribution.json +45 -0
- package/.kiro/agents/ada.json +44 -59
- package/.kiro/agents/ada.json.attribution.json +13 -0
- package/.kiro/agents/data-prompt.md +83 -74
- package/.kiro/agents/data-prompt.md.attribution.json +53 -0
- package/.kiro/agents/data.json +31 -38
- package/.kiro/agents/data.json.attribution.json +13 -0
- package/.kiro/agents/kenya-prompt.md +83 -72
- package/.kiro/agents/kenya-prompt.md.attribution.json +53 -0
- package/.kiro/agents/kenya.json +27 -35
- package/.kiro/agents/kenya.json.attribution.json +13 -0
- package/.kiro/agents/leonardo-prompt.md +176 -234
- package/.kiro/agents/leonardo-prompt.md.attribution.json +45 -0
- package/.kiro/agents/leonardo.json +28 -36
- package/.kiro/agents/leonardo.json.attribution.json +13 -0
- package/.kiro/agents/lina-prompt.md +110 -151
- package/.kiro/agents/lina-prompt.md.attribution.json +53 -0
- package/.kiro/agents/lina.json +46 -59
- package/.kiro/agents/lina.json.attribution.json +13 -0
- package/.kiro/agents/sparky-prompt.md +89 -72
- package/.kiro/agents/sparky-prompt.md.attribution.json +53 -0
- package/.kiro/agents/sparky.json +37 -37
- package/.kiro/agents/sparky.json.attribution.json +13 -0
- package/.kiro/agents/stacy-prompt.md +74 -48
- package/.kiro/agents/stacy-prompt.md.attribution.json +45 -0
- package/.kiro/agents/stacy.json +28 -30
- package/.kiro/agents/stacy.json.attribution.json +13 -0
- package/.kiro/agents/thurgood-prompt.md +94 -138
- package/.kiro/agents/thurgood-prompt.md.attribution.json +45 -0
- package/.kiro/agents/thurgood.json +31 -35
- package/.kiro/agents/thurgood.json.attribution.json +13 -0
- package/.kiro/steering/AI-Collaboration-Principles.md +3 -3
- package/.kiro/steering/Civitas-System-Overview.md +7 -16
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
- package/.kiro/steering/Spec-Feedback-Protocol.md +2 -11
- package/.kiro/steering/Task-Completion-Protocol.md +98 -17
- package/.kiro/steering/core-goals.md +3 -3
- package/.kiro/steering/personal-note.md +1 -1
- package/.kiro/steering/start-up-tasks.md +17 -6
- package/application-mcp-server/src/index.ts +26 -0
- package/dist/ComponentTokens.android.kt +12 -12
- package/dist/ComponentTokens.ios.swift +12 -12
- package/dist/ComponentTokens.web.css +3 -3
- package/dist/DesignTokens.android.kt +1 -1
- package/dist/DesignTokens.dtcg.json +8 -5
- package/dist/DesignTokens.figma.json +2 -2
- package/dist/DesignTokens.ios.swift +1 -1
- package/dist/DesignTokens.web.css +1 -1
- package/dist/android/DesignTokens.android.kt +1 -1
- package/dist/blend/OklchBlendCalculator.js +1 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +13 -2
- package/dist/blend/ThemeAwareBlendUtilities.web.js +6 -1
- package/dist/browser/designerpunk.esm.js +36 -90
- package/dist/browser/designerpunk.esm.min.js +33 -36
- package/dist/browser/designerpunk.umd.js +36 -90
- package/dist/browser/designerpunk.umd.min.js +47 -50
- package/dist/browser/tokens.css +3 -3
- package/dist/build/tokens/defineComponentTokens.d.ts +10 -0
- package/dist/build/tokens/defineComponentTokens.js +26 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +21 -26
- package/dist/components/core/Avatar-Base/avatar.tokens.js +31 -34
- package/dist/components/core/Avatar-Base/index.d.ts +1 -1
- package/dist/components/core/Avatar-Base/index.js +2 -2
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +24 -5
- package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +16 -28
- package/dist/components/core/Button-CTA/examples/BasicUsage.js +18 -43
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +3 -15
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +9 -58
- package/dist/components/core/Button-CTA/types.d.ts +0 -24
- package/dist/components/core/Button-CTA/types.js +6 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +28 -14
- package/dist/components/core/Button-Icon/buttonIcon.tokens.js +35 -20
- package/dist/components/core/Input-Text-Base/types.d.ts +13 -1
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +11 -2
- package/dist/generators/DTCGFormatGenerator.js +8 -0
- package/dist/generators/TokenFileGenerator.js +7 -2
- package/dist/integration/BuildErrorHandler.js +2 -2
- package/dist/ios/DesignTokens.ios.swift +1 -1
- package/dist/mcp/application-mcp.js +24 -0
- package/dist/mcp/docs-mcp.js +130 -15
- package/dist/mcp/product-mcp.js +25 -0
- package/dist/tokens/OpacityTokens.js +1 -1
- package/dist/tokens/component/progress.d.ts +65 -5
- package/dist/tokens/component/progress.js +79 -18
- package/dist/tokens/semantic/BlendTokens.d.ts +10 -3
- package/dist/tokens/semantic/BlendTokens.js +17 -5
- package/dist/tokens/semantic/OpacityTokens.d.ts +4 -4
- package/dist/tokens/semantic/OpacityTokens.js +4 -4
- package/dist/types/ComponentTypes.d.ts +1 -1
- package/dist/types/generated/TokenTypes.d.ts +1 -1
- package/dist/types/generated/TokenTypes.js +1 -1
- package/dist/validators/StemmaTokenUsageValidator.js +3 -2
- package/dist/web/DesignTokens.web.css +1 -1
- package/governance/BUILD-SYSTEM-SETUP.md +1 -2
- package/governance/Component-Development-Guide.md +23 -13
- package/governance/Component-Development-Standards.md +21 -20
- package/governance/Component-Family-Avatar.md +6 -7
- package/governance/Component-Family-Badge.md +19 -20
- package/governance/Component-Family-Button.md +30 -43
- package/governance/Component-Family-Chip.md +14 -15
- package/governance/Component-Family-Container.md +12 -13
- package/governance/Component-Family-Data-Display.md +1 -2
- package/governance/Component-Family-Divider.md +1 -2
- package/governance/Component-Family-Form-Inputs.md +65 -65
- package/governance/Component-Family-Icon.md +9 -10
- package/governance/Component-Family-Loading.md +1 -2
- package/governance/Component-Family-Modal.md +1 -2
- package/governance/Component-Family-Navigation.md +1 -2
- package/governance/Component-Family-Progress.md +0 -1
- package/governance/Component-Inheritance-Structures.md +219 -99
- package/governance/Component-MCP-Document-Template.md +6 -5
- package/governance/Component-Primitive-vs-Semantic-Philosophy.md +1 -1
- package/governance/Component-Quick-Reference.md +33 -33
- package/governance/Component-Readiness-Status.md +59 -44
- package/governance/Component-Templates.md +57 -61
- package/governance/Contract-System-Reference.md +7 -7
- package/governance/MCP-Integration-Guide.md +1 -1
- package/governance/Process-Cross-Reference-Standards.md +31 -13
- package/governance/Process-Development-Workflow.md +49 -59
- package/governance/Process-File-Organization.md +25 -28
- package/governance/Process-Hook-Operations.md +22 -11
- package/governance/Process-Orchestration-Model-Selection.md +92 -0
- package/governance/Process-Spec-Planning.md +98 -52
- package/governance/Process-Task-Type-Definitions.md +80 -4
- package/governance/Product-Handoff-Protocol.md +2 -0
- package/governance/Rosetta-System-Architecture.md +13 -11
- package/governance/Test-Behavioral-Contract-Validation.md +38 -31
- package/governance/Test-Failure-Audit-Methodology.md +1 -1
- package/governance/Token-Family-Accessibility.md +1 -2
- package/governance/Token-Family-Blend.md +18 -16
- package/governance/Token-Family-Blur.md +0 -1
- package/governance/Token-Family-Border.md +1 -2
- package/governance/Token-Family-Color.md +0 -1
- package/governance/Token-Family-Glow.md +1 -2
- package/governance/Token-Family-Layering.md +0 -1
- package/governance/Token-Family-Motion.md +1 -2
- package/governance/Token-Family-Opacity.md +0 -1
- package/governance/Token-Family-Radius.md +1 -2
- package/governance/Token-Family-Responsive.md +1 -2
- package/governance/Token-Family-Shadow.md +1 -2
- package/governance/Token-Family-Sizing.md +0 -1
- package/governance/Token-Family-Spacing.md +1 -2
- package/governance/Token-Family-Typography.md +1 -2
- package/governance/Token-Governance.md +8 -8
- package/governance/Token-Quick-Reference.md +47 -34
- package/governance/Token-Resolution-Patterns.md +1 -1
- package/governance/Token-Semantic-Structure.md +1 -1
- package/governance/Web-Authoring-Standards.md +5 -5
- package/governance/browser-distribution-guide.md +1 -4
- package/governance/classification-map.md +474 -0
- package/governance/completion-documentation-guide.md +23 -37
- package/governance/component-meta-authoring-guide.md +1 -1
- package/governance/cross-platform-vs-platform-specific-decision-framework.md +1 -1
- package/governance/platform-implementation-guidelines.md +2 -3
- package/governance/release-management-system.md +28 -63
- package/governance/rosetta-system-principles.md +8 -6
- package/governance/stemma-system-principles.md +18 -17
- package/mcp-server/src/index.ts +24 -6
- package/mcp-server/src/indexer/DocumentIndexer.ts +119 -9
- package/mcp-server/src/indexer/__tests__/bare-id-crossrefs.test.ts +250 -0
- package/mcp-server/src/indexer/cross-ref-parser.ts +29 -1
- package/mcp-server/src/indexer/index-health.ts +27 -2
- package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +11 -26
- package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +72 -5
- package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +81 -24
- package/mcp-server/src/tools/list-cross-references.ts +2 -2
- package/package.json +24 -26
- package/src/__tests__/browser-distribution/css-bundling.test.ts +6 -4
- package/src/__tests__/console-allowlist.json +14 -0
- package/src/__tests__/console-fail-setup.ts +169 -0
- package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +16 -0
- package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +70 -17
- package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +28 -0
- package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +223 -16
- package/src/__tests__/stemma-system/input-text-native-base-call-alignment.test.ts +298 -0
- package/src/blend/OklchBlendCalculator.ts +3 -0
- package/src/blend/ThemeAwareBlendUtilities.android.kt +3 -0
- package/src/blend/ThemeAwareBlendUtilities.ios.swift +3 -0
- package/src/blend/ThemeAwareBlendUtilities.web.ts +9 -1
- package/src/blend/__tests__/InteractionStateAudit.test.ts +12 -9
- package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +8 -0
- package/src/build/errors/__tests__/ErrorHandler.test.ts +5 -0
- package/src/build/tokens/__tests__/defineComponentTokens.test.ts +113 -0
- package/src/build/tokens/defineComponentTokens.ts +43 -1
- package/src/build/workflow/__tests__/CICDIntegration.test.ts +12 -1
- package/src/cli/__tests__/init.test.ts +45 -11
- package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +1 -1
- package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +121 -7
- package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +3 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +15 -6
- package/src/components/core/Avatar-Base/avatar.tokens.ts +31 -34
- package/src/components/core/Avatar-Base/contracts.yaml +11 -1
- package/src/components/core/Avatar-Base/index.ts +1 -1
- package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +24 -5
- package/src/components/core/Badge-Count-Base/contracts.yaml +1 -1
- package/src/components/core/Badge-Label-Base/contracts.yaml +1 -1
- package/src/components/core/Button-CTA/Button-CTA.schema.yaml +2 -12
- package/src/components/core/Button-CTA/README.md +3 -6
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +35 -89
- package/src/components/core/Button-CTA/__tests__/setup.test.ts +0 -2
- package/src/components/core/Button-CTA/__tests__/test-utils.ts +0 -2
- package/src/components/core/Button-CTA/contracts.yaml +6 -29
- package/src/components/core/Button-CTA/examples/BasicUsage.html +2 -14
- package/src/components/core/Button-CTA/examples/BasicUsage.tsx +17 -44
- package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +12 -20
- package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +12 -51
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +2 -26
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +18 -71
- package/src/components/core/Button-CTA/types.ts +10 -28
- package/src/components/core/Button-Icon/buttonIcon.tokens.ts +43 -27
- package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +13 -0
- package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +13 -0
- package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +13 -0
- package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +30 -2
- package/src/components/core/Input-Text-Base/README.md +25 -2
- package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +16 -15
- package/src/components/core/Input-Text-Base/contracts.yaml +90 -0
- package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +26 -12
- package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +195 -59
- package/src/components/core/Input-Text-Base/types.ts +13 -1
- package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +5 -1
- package/src/components/core/Input-Text-Email/README.md +8 -7
- package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +1 -4
- package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +2 -16
- package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +10 -3
- package/src/components/core/Input-Text-Password/README.md +9 -8
- package/src/components/core/Input-Text-Password/contracts.yaml +5 -0
- package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +17 -7
- package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +22 -20
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +11 -2
- package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +5 -1
- package/src/components/core/Input-Text-PhoneNumber/README.md +9 -8
- package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +2 -5
- package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +3 -17
- package/src/components/core/Nav-Header-App/contracts.yaml +1 -1
- package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +1 -1
- package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +5 -2
- package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +5 -2
- package/src/generators/DTCGFormatGenerator.ts +6 -0
- package/src/generators/TokenFileGenerator.ts +7 -2
- package/src/generators/__tests__/DTCGConfigOptions.test.ts +14 -5
- package/src/integration/BuildErrorHandler.ts +2 -2
- package/src/tokens/OpacityTokens.ts +1 -1
- package/src/tokens/__tests__/OpacityTokens.test.ts +3 -1
- package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +5 -3
- package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +11 -11
- package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +22 -20
- package/src/tokens/component/progress.ts +83 -21
- package/src/tokens/semantic/BlendTokens.ts +26 -5
- package/src/tokens/semantic/OpacityTokens.ts +4 -4
- package/src/types/ComponentTypes.ts +1 -1
- package/src/types/generated/TokenTypes.ts +1 -1
- package/src/validators/StemmaTokenUsageValidator.ts +3 -2
- package/token-index/components.yaml +8 -8
- package/token-index/semantics.yaml +1 -2
- package/src/tools/release/__tests__/ChangeClassifier.test.ts +0 -133
- package/src/tools/release/__tests__/ChangeExtractor.test.ts +0 -222
- package/src/tools/release/__tests__/GitHubPublisher.test.ts +0 -240
- package/src/tools/release/__tests__/NotesRenderer.test.ts +0 -142
- package/src/tools/release/__tests__/NpmPublisher.test.ts +0 -289
- package/src/tools/release/__tests__/PipelineIntegration.test.ts +0 -188
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +0 -192
- package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +0 -49
- package/src/tools/release/__tests__/SummaryScanner.test.ts +0 -141
- package/src/tools/release/__tests__/TagResolver.test.ts +0 -91
- package/src/tools/release/__tests__/VersionCalculator.test.ts +0 -270
- package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +0 -80
- package/src/tools/release/cli/ReleasePipeline.ts +0 -165
- package/src/tools/release/cli/release-tool.ts +0 -107
- package/src/tools/release/pipeline/ChangeClassifier.ts +0 -61
- package/src/tools/release/pipeline/ChangeExtractor.ts +0 -87
- package/src/tools/release/pipeline/NotesRenderer.ts +0 -66
- package/src/tools/release/pipeline/SummaryScanner.ts +0 -70
- package/src/tools/release/pipeline/TagResolver.ts +0 -40
- package/src/tools/release/pipeline/VersionCalculator.ts +0 -375
- package/src/tools/release/publishers/GitHubPublisher.ts +0 -228
- package/src/tools/release/publishers/NpmPublisher.ts +0 -196
- package/src/tools/release/release-config.json +0 -5
- package/src/tools/release/types/index.ts +0 -282
- package/src/tools/release/validators/SemanticVersionValidator.ts +0 -67
|
@@ -13,7 +13,7 @@ description: Complete inheritance structures and behavioral contracts for all 13
|
|
|
13
13
|
**Scope**: cross-project
|
|
14
14
|
**Layer**: 2
|
|
15
15
|
**Relevant Tasks**: component-development, architecture, spec-planning
|
|
16
|
-
**Last Reviewed**: 2026-
|
|
16
|
+
**Last Reviewed**: 2026-07-09
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -22,36 +22,44 @@ description: Complete inheritance structures and behavioral contracts for all 13
|
|
|
22
22
|
This document defines the complete inheritance structures for all 13 component families in the Stemma System. Each family section includes primitive component definition, semantic variants, behavioral contracts, and relationship diagrams.
|
|
23
23
|
|
|
24
24
|
**Status Legend**:
|
|
25
|
-
- ๐ข **Production Ready**: Fully implemented, tested, documented
|
|
26
|
-
- ๐ก **
|
|
27
|
-
- ๐ด **Placeholder**: Structural definition only
|
|
25
|
+
- ๐ข **Production Ready**: Fully implemented, tested, documented across ALL declared platforms (web, iOS, Android)
|
|
26
|
+
- ๐ก **Web-ready, mobile-scaffold**: Shipping โ web is production-ready; iOS and Android are scaffold (structure present, not yet test-covered). Safe on web; treat mobile as not-yet-ready. (This is the current state of most shipped families; per-component per-platform detail lives in `Component-Readiness-Status.md` ยง "Individual Component Status".)
|
|
27
|
+
- ๐ด **Placeholder**: Structural definition only โ no components ship, do NOT use
|
|
28
|
+
|
|
29
|
+
> **Note on planned inheritance names**: several family sections below describe the *planned* inheritance architecture using aspirational primitive names (e.g., `Badge-Base`, `Nav-Base`) that predate the shipped components. Where a family ships, its **Component Summary** table reflects the actual shipped components and their status; the inheritance diagram may still show the originally-planned shape. The shipped catalog is authoritative โ see `Component-Readiness-Status.md` and the Application MCP.
|
|
28
30
|
|
|
29
31
|
---
|
|
30
32
|
|
|
31
33
|
## Family Status Summary
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
|
36
|
-
|
|
37
|
-
|
|
|
38
|
-
|
|
|
35
|
+
All 13 families are listed. ๐ก/๐ข families ship; ๐ด families are genuine placeholders (no components ship).
|
|
36
|
+
|
|
37
|
+
| Family | Primitive Base | Status | Shipped / Planned Variants |
|
|
38
|
+
|--------|----------------|--------|----------------------------|
|
|
39
|
+
| Form Inputs | Input-Text-Base | ๐ก | Checkbox (Base, Legal), Radio (Base, Set), Text (Email, Password, PhoneNumber) |
|
|
40
|
+
| Buttons | Button-CTA | ๐ข | CTA, Icon, VerticalList-Item, VerticalList-Set |
|
|
41
|
+
| Containers | Container-Base | ๐ก | Card (shipped); Panel, Hero (planned) |
|
|
42
|
+
| Icons | Icon-Base | ๐ก | Base shipped; Status, Action, Navigation (planned) |
|
|
43
|
+
| Avatars | Avatar-Base | ๐ก | Base shipped; User, Group, Entity (planned) |
|
|
44
|
+
| Badges and Tags | Badge-Count-Base | ๐ก | Count-Base, Count-Notification, Label-Base |
|
|
45
|
+
| Chips | Chip-Base | ๐ก | Base, Filter, Input |
|
|
46
|
+
| Navigation | Nav-Header-Base | ๐ก | Header-Page, Header-App, SegmentedChoice-Base, TabBar-Base |
|
|
47
|
+
| Progress Indicators | Progress-Indicator-Node-Base | ๐ก | Bar-Base, Indicator-Node/Connector/Label-Base, Pagination-Base, Stepper-Base, Stepper-Detailed |
|
|
39
48
|
| Modals | Modal-Base | ๐ด | Dialog, Sheet, Drawer, Popover |
|
|
40
|
-
| Avatars | Avatar-Base | ๐ด | User, Group, Entity |
|
|
41
|
-
| Badges and Tags | Badge-Base | ๐ด | Status, Tag, Notification, Label |
|
|
42
49
|
| Data Displays | Display-Base | ๐ด | Text, List, Table, Media, Empty |
|
|
43
50
|
| Dividers | Divider-Base | ๐ด | Horizontal, Vertical |
|
|
44
51
|
| Loading | Loading-Base | ๐ด | Spinner, Progress, Skeleton |
|
|
45
|
-
| Navigation | Nav-Base | ๐ด | Tabs, Breadcrumb, List, Bar |
|
|
46
52
|
|
|
47
53
|
---
|
|
48
54
|
|
|
49
55
|
## 1. Form Inputs Family
|
|
50
56
|
|
|
51
|
-
**Status**:
|
|
57
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
52
58
|
**Shared Need**: Data collection and validation
|
|
53
59
|
**Primitive Base**: Input-Text-Base
|
|
54
60
|
|
|
61
|
+
> Beyond the Text inputs detailed below, this family also ships **Checkbox** (Input-Checkbox-Base, Input-Checkbox-Legal) and **Radio** (Input-Radio-Base, Input-Radio-Set) โ all web ๐ข / iOSยทAndroid scaffold. See `Component-Readiness-Status.md` for the full per-component list.
|
|
62
|
+
|
|
55
63
|
### Inheritance Structure
|
|
56
64
|
|
|
57
65
|
Input-Text-Base (Primitive) โ โโโ Input-Text-Email (Semantic) โ โโโ Email validation + autocomplete โ โโโ Input-Text-Password (Semantic) โ โโโ Secure input + password toggle โ โโโ Input-Text-PhoneNumber (Semantic) โโโ Phone formatting + international validation
|
|
@@ -61,28 +69,30 @@ Input-Text-Base (Primitive) โ โโโ Input-Text-Email (Semantic) โ โโ
|
|
|
61
69
|
|
|
62
70
|
| Component | Type | Status | Description |
|
|
63
71
|
|-----------|------|--------|-------------|
|
|
64
|
-
| Input-Text-Base | Primitive |
|
|
65
|
-
| Input-Text-Email | Semantic |
|
|
66
|
-
| Input-Text-Password | Semantic |
|
|
67
|
-
| Input-Text-PhoneNumber | Semantic |
|
|
72
|
+
| Input-Text-Base | Primitive | ๐ก | Foundational text input with float label pattern (web ๐ข; iOS/Android scaffold) |
|
|
73
|
+
| Input-Text-Email | Semantic | ๐ก | Email validation + autocomplete (web ๐ข; iOS/Android scaffold) |
|
|
74
|
+
| Input-Text-Password | Semantic | ๐ก | Secure input + password toggle (web ๐ข; iOS/Android scaffold) |
|
|
75
|
+
| Input-Text-PhoneNumber | Semantic | ๐ก | Phone formatting + international validation (web ๐ข; iOS/Android scaffold) |
|
|
68
76
|
|
|
69
77
|
### Behavioral Contracts
|
|
70
78
|
|
|
71
79
|
**Base Contracts (9 total)**:
|
|
72
|
-
- `
|
|
73
|
-
- `
|
|
74
|
-
- `
|
|
75
|
-
- `
|
|
76
|
-
- `
|
|
77
|
-
- `
|
|
78
|
-
- `
|
|
79
|
-
- `
|
|
80
|
-
- `
|
|
80
|
+
- `interaction_focusable` - Keyboard focus support (WCAG 2.1.1)
|
|
81
|
+
- `content_float_label` - Label animates on focus (WCAG 2.3.3)
|
|
82
|
+
- `validation_on_blur` - Validation triggers on blur (WCAG 3.3.1)
|
|
83
|
+
- `state_error` - Error message and styling (WCAG 3.3.1)
|
|
84
|
+
- `state_readonly` - Non-editable value that stays perceivable, selectable, and copyable โ never disabled semantics (WCAG 4.1.2)
|
|
85
|
+
- `state_success` - Success styling (WCAG 1.4.1)
|
|
86
|
+
- `content_trailing_icon` - Contextual trailing icons (WCAG 1.4.1)
|
|
87
|
+
- `interaction_focus_ring` - WCAG 2.4.7 focus visible indicator
|
|
88
|
+
- `accessibility_reduced_motion` - Respects prefers-reduced-motion (WCAG 2.3.3)
|
|
89
|
+
|
|
90
|
+
**Excluded**: `state_disabled` โ DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
|
|
81
91
|
|
|
82
92
|
**Extended Contracts by Variant**:
|
|
83
|
-
- **Email**: `
|
|
84
|
-
- **Password**: `
|
|
85
|
-
- **PhoneNumber**: `
|
|
93
|
+
- **Email**: `validation_email_format`, `interaction_email_autocomplete`
|
|
94
|
+
- **Password**: `interaction_secure_input`, `interaction_password_toggle`, `interaction_password_autocomplete` (also excludes `state_readonly`)
|
|
95
|
+
- **PhoneNumber**: `validation_phone_format`, `content_phone_formatting`, `content_international_formats`
|
|
86
96
|
|
|
87
97
|
### Token Dependencies
|
|
88
98
|
|
|
@@ -97,7 +107,7 @@ Input-Text-Base (Primitive) โ โโโ Input-Text-Email (Semantic) โ โโ
|
|
|
97
107
|
### MCP Documentation
|
|
98
108
|
|
|
99
109
|
- **Full Documentation**: `.kiro/steering/Component-Family-Form-Inputs.md`
|
|
100
|
-
- **Query**: `get_document_full({ path: "
|
|
110
|
+
- **Query**: `get_document_full({ path: "component-family-form-inputs" })`
|
|
101
111
|
|
|
102
112
|
---
|
|
103
113
|
|
|
@@ -109,14 +119,21 @@ Input-Text-Base (Primitive) โ โโโ Input-Text-Email (Semantic) โ โโ
|
|
|
109
119
|
|
|
110
120
|
### Inheritance Structure
|
|
111
121
|
|
|
112
|
-
Button-CTA (Standalone)
|
|
122
|
+
Button-CTA (Standalone) โ styling via props (variant: primary | secondary | tertiary)
|
|
123
|
+
Button-Icon (Primitive) โ compact icon-only button
|
|
124
|
+
Button-VerticalList-Item (Primitive) โ Button-VerticalList-Set (Pattern) โ vertical action menu
|
|
113
125
|
|
|
114
126
|
|
|
115
127
|
### Component Summary
|
|
116
128
|
|
|
117
129
|
| Component | Type | Status | Description |
|
|
118
130
|
|-----------|------|--------|-------------|
|
|
119
|
-
| Button-CTA | Standalone |
|
|
131
|
+
| Button-CTA | Standalone | ๐ก | Call-to-action button with variant prop (web ๐ข; iOS/Android scaffold) |
|
|
132
|
+
| Button-Icon | Primitive | ๐ก | Compact icon-only button (web ๐ข; iOS/Android scaffold) |
|
|
133
|
+
| Button-VerticalList-Item | Primitive | ๐ข | Single action item in a vertical list menu (production-ready all platforms) |
|
|
134
|
+
| Button-VerticalList-Set | Pattern | ๐ข | Groups VerticalList-Item into a mode-driven action menu (production-ready all platforms) |
|
|
135
|
+
|
|
136
|
+
**Family status note**: the Buttons family is marked ๐ข in the summary table because it contains all-platform-production components (VerticalList-Item/Set). Its CTA and Icon members are themselves web-ready/mobile-scaffold (๐ก).
|
|
120
137
|
|
|
121
138
|
### Naming Convention Note
|
|
122
139
|
|
|
@@ -127,15 +144,16 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
|
|
|
127
144
|
|
|
128
145
|
### Behavioral Contracts
|
|
129
146
|
|
|
130
|
-
**Contracts (
|
|
131
|
-
- `
|
|
132
|
-
- `
|
|
133
|
-
- `
|
|
134
|
-
- `loading_state` - Shows loading indicator during async operations
|
|
147
|
+
**Contracts (6 total)**:
|
|
148
|
+
- `interaction_pressable` - Responds to click/tap interactions (WCAG 2.1.1)
|
|
149
|
+
- `interaction_focusable` - Keyboard focus support (WCAG 2.1.1)
|
|
150
|
+
- `state_loading` - Shows loading indicator during async operations
|
|
135
151
|
- `icon_support` - Supports leading/trailing icons
|
|
136
|
-
- `
|
|
152
|
+
- `interaction_focus_ring` - WCAG 2.4.7 focus visible indicator
|
|
137
153
|
- `reduced_motion_support` - Respects prefers-reduced-motion
|
|
138
154
|
|
|
155
|
+
**Excluded**: `state_disabled` โ DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
|
|
156
|
+
|
|
139
157
|
### Token Dependencies
|
|
140
158
|
|
|
141
159
|
| Category | Tokens |
|
|
@@ -149,13 +167,13 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
|
|
|
149
167
|
### MCP Documentation
|
|
150
168
|
|
|
151
169
|
- **Full Documentation**: `.kiro/steering/Component-Family-Button.md`
|
|
152
|
-
- **Query**: `get_document_full({ path: "
|
|
170
|
+
- **Query**: `get_document_full({ path: "component-family-button" })`
|
|
153
171
|
|
|
154
172
|
---
|
|
155
173
|
|
|
156
174
|
## 3. Containers Family
|
|
157
175
|
|
|
158
|
-
**Status**:
|
|
176
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
159
177
|
**Shared Need**: Layout and content organization
|
|
160
178
|
**Primitive Base**: Container-Base
|
|
161
179
|
|
|
@@ -168,8 +186,8 @@ Container-Base (Primitive) โ โโโ Container-Card (Semantic) [Planned] โ
|
|
|
168
186
|
|
|
169
187
|
| Component | Type | Status | Description |
|
|
170
188
|
|-----------|------|--------|-------------|
|
|
171
|
-
| Container-Base | Primitive |
|
|
172
|
-
| Container-Card |
|
|
189
|
+
| Container-Base | Primitive | ๐ก | Foundational layout container (web ๐ข; iOS/Android scaffold) |
|
|
190
|
+
| Container-Card-Base | Type-Primitive | ๐ก | Elevated card for dashboards/stat cards/previews (web ๐ข; iOS/Android scaffold) |
|
|
173
191
|
| Container-Panel | Semantic | ๐ด Planned | Flat panel for sections |
|
|
174
192
|
| Container-Hero | Semantic | ๐ด Planned | Full-width hero section |
|
|
175
193
|
|
|
@@ -183,12 +201,12 @@ Container-Base uses the `[Family]-Base` pattern because:
|
|
|
183
201
|
### Behavioral Contracts
|
|
184
202
|
|
|
185
203
|
**Contracts (7 total)**:
|
|
186
|
-
- `
|
|
187
|
-
- `
|
|
188
|
-
- `
|
|
189
|
-
- `
|
|
190
|
-
- `
|
|
191
|
-
- `
|
|
204
|
+
- `layout_contains_children` - Can contain child components
|
|
205
|
+
- `layout_padding` - Applies consistent internal padding
|
|
206
|
+
- `visual_background` - Supports background color/image
|
|
207
|
+
- `visual_border` - Supports border styling
|
|
208
|
+
- `visual_shadow` - Supports elevation shadow
|
|
209
|
+
- `visual_radius` - Supports border radius
|
|
192
210
|
- `responsive_layout` - Adapts to container width
|
|
193
211
|
|
|
194
212
|
### Token Dependencies
|
|
@@ -203,13 +221,13 @@ Container-Base uses the `[Family]-Base` pattern because:
|
|
|
203
221
|
### MCP Documentation
|
|
204
222
|
|
|
205
223
|
- **Full Documentation**: `.kiro/steering/Component-Family-Container.md`
|
|
206
|
-
- **Query**: `get_document_full({ path: "
|
|
224
|
+
- **Query**: `get_document_full({ path: "component-family-container" })`
|
|
207
225
|
|
|
208
226
|
---
|
|
209
227
|
|
|
210
228
|
## 4. Icons Family
|
|
211
229
|
|
|
212
|
-
**Status**:
|
|
230
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
213
231
|
**Shared Need**: Visual communication
|
|
214
232
|
**Primitive Base**: Icon-Base
|
|
215
233
|
|
|
@@ -222,7 +240,7 @@ Icon-Base (Primitive) โ โโโ Icon-Status (Semantic) [Planned] โ โโ
|
|
|
222
240
|
|
|
223
241
|
| Component | Type | Status | Description |
|
|
224
242
|
|-----------|------|--------|-------------|
|
|
225
|
-
| Icon-Base | Primitive |
|
|
243
|
+
| Icon-Base | Primitive | ๐ก | Foundational inline SVG icon, inherits parent text color (web ๐ข; iOS/Android scaffold) |
|
|
226
244
|
| Icon-Status | Semantic | ๐ด Planned | Status indicator icons |
|
|
227
245
|
| Icon-Action | Semantic | ๐ด Planned | Action icons |
|
|
228
246
|
| Icon-Navigation | Semantic | ๐ด Planned | Navigation icons |
|
|
@@ -236,9 +254,9 @@ Icon-Base uses the `[Family]-Base` pattern because:
|
|
|
236
254
|
### Behavioral Contracts
|
|
237
255
|
|
|
238
256
|
**Contracts (5 total)**:
|
|
239
|
-
- `
|
|
240
|
-
- `
|
|
241
|
-
- `
|
|
257
|
+
- `visual_renders_svg` - Renders SVG icon content
|
|
258
|
+
- `visual_size_variants` - Scales proportionally with size prop
|
|
259
|
+
- `visual_color_inheritance` - Inherits color from parent or uses explicit color
|
|
242
260
|
- `accessible_label` - Provides accessible label for screen readers
|
|
243
261
|
- `decorative_mode` - Can be marked as decorative (aria-hidden)
|
|
244
262
|
|
|
@@ -252,7 +270,7 @@ Icon-Base uses the `[Family]-Base` pattern because:
|
|
|
252
270
|
### MCP Documentation
|
|
253
271
|
|
|
254
272
|
- **Full Documentation**: `.kiro/steering/Component-Family-Icon.md`
|
|
255
|
-
- **Query**: `get_document_full({ path: "
|
|
273
|
+
- **Query**: `get_document_full({ path: "component-family-icon" })`
|
|
256
274
|
|
|
257
275
|
---
|
|
258
276
|
|
|
@@ -306,31 +324,31 @@ Modal-Base (Primitive) [Placeholder] โ โโโ Modal-Dialog (Semantic) [Plac
|
|
|
306
324
|
### MCP Documentation
|
|
307
325
|
|
|
308
326
|
- **Full Documentation**: `.kiro/steering/Component-Family-Modal.md`
|
|
309
|
-
- **Query**: `get_document_full({ path: "
|
|
327
|
+
- **Query**: `get_document_full({ path: "component-family-modal" })`
|
|
310
328
|
|
|
311
329
|
---
|
|
312
330
|
|
|
313
331
|
## 6. Avatars Family
|
|
314
332
|
|
|
315
|
-
**Status**:
|
|
333
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
316
334
|
**Shared Need**: Identity representation
|
|
317
335
|
**Primitive Base**: Avatar-Base
|
|
318
336
|
|
|
319
337
|
### Inheritance Structure
|
|
320
338
|
|
|
321
|
-
Avatar-Base (Primitive) [
|
|
339
|
+
Avatar-Base (Primitive) [Shipped] โ โโโ Avatar-User (Semantic) [Planned] โ โโโ User profile avatar with image/initials fallback โ โโโ Avatar-Group (Semantic) [Planned] โ โโโ Stacked group of avatars โ โโโ Avatar-Entity (Semantic) [Planned] โโโ Organization/brand avatar
|
|
322
340
|
|
|
323
341
|
|
|
324
342
|
### Component Summary
|
|
325
343
|
|
|
326
344
|
| Component | Type | Status | Description |
|
|
327
345
|
|-----------|------|--------|-------------|
|
|
328
|
-
| Avatar-Base | Primitive |
|
|
329
|
-
| Avatar-User | Semantic | ๐ด | User profile avatar |
|
|
330
|
-
| Avatar-Group | Semantic | ๐ด | Stacked group of avatars |
|
|
331
|
-
| Avatar-Entity | Semantic | ๐ด | Organization/brand avatar |
|
|
346
|
+
| Avatar-Base | Primitive | ๐ก | Foundational avatar (web ๐ข; iOS/Android scaffold) โ image, initials fallback, human/AI shape differentiation |
|
|
347
|
+
| Avatar-User | Semantic | ๐ด Planned | User profile avatar |
|
|
348
|
+
| Avatar-Group | Semantic | ๐ด Planned | Stacked group of avatars |
|
|
349
|
+
| Avatar-Entity | Semantic | ๐ด Planned | Organization/brand avatar |
|
|
332
350
|
|
|
333
|
-
### Behavioral Contracts
|
|
351
|
+
### Behavioral Contracts
|
|
334
352
|
|
|
335
353
|
**Base Contracts**:
|
|
336
354
|
- `displays_image` - Renders image when available
|
|
@@ -344,7 +362,9 @@ Avatar-Base (Primitive) [Placeholder] โ โโโ Avatar-User (Semantic) [Plac
|
|
|
344
362
|
- **Group**: `stacks_avatars`, `shows_overflow_count`
|
|
345
363
|
- **Entity**: `supports_logo`, `supports_badge`
|
|
346
364
|
|
|
347
|
-
|
|
365
|
+
> Base contracts reflect the shipped Avatar-Base; extended per-variant contracts are planned. The shipped component's authoritative contract set is in the Application MCP (`get_component_full({ name: "Avatar-Base" })`).
|
|
366
|
+
|
|
367
|
+
### Token Dependencies
|
|
348
368
|
|
|
349
369
|
| Category | Tokens |
|
|
350
370
|
|----------|--------|
|
|
@@ -356,32 +376,36 @@ Avatar-Base (Primitive) [Placeholder] โ โโโ Avatar-User (Semantic) [Plac
|
|
|
356
376
|
### MCP Documentation
|
|
357
377
|
|
|
358
378
|
- **Full Documentation**: `.kiro/steering/Component-Family-Avatar.md`
|
|
359
|
-
- **Query**: `get_document_full({ path: "
|
|
379
|
+
- **Query**: `get_document_full({ path: "component-family-avatar" })`
|
|
360
380
|
|
|
361
381
|
---
|
|
362
382
|
|
|
363
383
|
## 7. Badges and Tags Family
|
|
364
384
|
|
|
365
|
-
**Status**:
|
|
385
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
366
386
|
**Shared Need**: Status and labeling
|
|
367
|
-
**Primitive Base**: Badge-Base
|
|
387
|
+
**Primitive Base**: Badge-Count-Base (shipped); the originally-planned `Badge-Base` roll-up primitive was not built
|
|
368
388
|
|
|
369
389
|
### Inheritance Structure
|
|
370
390
|
|
|
371
|
-
Badge-Base (
|
|
391
|
+
Badge-Count-Base (type-primitive) [Shipped] โ โโโ Badge-Count-Notification (Semantic) [Shipped] โโโ Notification count with live-region announcements
|
|
392
|
+
|
|
393
|
+
Badge-Label-Base (type-primitive) [Shipped] โโโ Text label badge for categorization/status
|
|
394
|
+
|
|
395
|
+
Planned (not shipped): a Badge-Status semantic variant, removable Badge-Tag.
|
|
372
396
|
|
|
373
397
|
|
|
374
398
|
### Component Summary
|
|
375
399
|
|
|
376
400
|
| Component | Type | Status | Description |
|
|
377
401
|
|-----------|------|--------|-------------|
|
|
378
|
-
| Badge-Base | Primitive |
|
|
379
|
-
| Badge-
|
|
380
|
-
| Badge-
|
|
381
|
-
| Badge-
|
|
382
|
-
| Badge-
|
|
402
|
+
| Badge-Count-Base | Type-Primitive | ๐ก | Numeric count indicator (web ๐ข; iOS/Android scaffold) |
|
|
403
|
+
| Badge-Count-Notification | Semantic | ๐ก | Notification count badge with live-region announcements (web ๐ข; iOS/Android scaffold) |
|
|
404
|
+
| Badge-Label-Base | Type-Primitive | ๐ก | Text label badge for categorization/status/tagging (web ๐ข; iOS/Android scaffold) |
|
|
405
|
+
| Badge-Status | Semantic | ๐ด Planned | Status indicators |
|
|
406
|
+
| Badge-Tag | Semantic | ๐ด Planned | Removable tags |
|
|
383
407
|
|
|
384
|
-
### Behavioral Contracts
|
|
408
|
+
### Behavioral Contracts
|
|
385
409
|
|
|
386
410
|
**Base Contracts**:
|
|
387
411
|
- `displays_text` - Renders text content
|
|
@@ -395,7 +419,9 @@ Badge-Base (Primitive) [Placeholder] โ โโโ Badge-Status (Semantic) [Plac
|
|
|
395
419
|
- **Notification**: `displays_count`, `supports_max_count`, `supports_dot_mode`
|
|
396
420
|
- **Label**: `static_display`, `supports_truncation`
|
|
397
421
|
|
|
398
|
-
|
|
422
|
+
> Contracts above blend shipped and planned behavior. Authoritative shipped-contract sets are in the Application MCP (`get_component_full({ name: "Badge-Count-Base" })`, etc.).
|
|
423
|
+
|
|
424
|
+
### Token Dependencies
|
|
399
425
|
|
|
400
426
|
| Category | Tokens |
|
|
401
427
|
|----------|--------|
|
|
@@ -407,7 +433,7 @@ Badge-Base (Primitive) [Placeholder] โ โโโ Badge-Status (Semantic) [Plac
|
|
|
407
433
|
### MCP Documentation
|
|
408
434
|
|
|
409
435
|
- **Full Documentation**: `.kiro/steering/Component-Family-Badge.md`
|
|
410
|
-
- **Query**: `get_document_full({ path: "
|
|
436
|
+
- **Query**: `get_document_full({ path: "component-family-badge" })`
|
|
411
437
|
|
|
412
438
|
---
|
|
413
439
|
|
|
@@ -459,7 +485,7 @@ Display-Base (Primitive) [Placeholder] โ โโโ Display-Text (Semantic) [Pl
|
|
|
459
485
|
### MCP Documentation
|
|
460
486
|
|
|
461
487
|
- **Full Documentation**: `.kiro/steering/Component-Family-Data-Display.md`
|
|
462
|
-
- **Query**: `get_document_full({ path: "
|
|
488
|
+
- **Query**: `get_document_full({ path: "component-family-data-display" })`
|
|
463
489
|
|
|
464
490
|
---
|
|
465
491
|
|
|
@@ -505,7 +531,7 @@ Divider-Base (Primitive) [Placeholder] โ โโโ Divider-Horizontal (Semanti
|
|
|
505
531
|
### MCP Documentation
|
|
506
532
|
|
|
507
533
|
- **Full Documentation**: `.kiro/steering/Component-Family-Divider.md`
|
|
508
|
-
- **Query**: `get_document_full({ path: "
|
|
534
|
+
- **Query**: `get_document_full({ path: "component-family-divider" })`
|
|
509
535
|
|
|
510
536
|
---
|
|
511
537
|
|
|
@@ -553,32 +579,40 @@ Loading-Base (Primitive) [Placeholder] โ โโโ Loading-Spinner (Semantic)
|
|
|
553
579
|
### MCP Documentation
|
|
554
580
|
|
|
555
581
|
- **Full Documentation**: `.kiro/steering/Component-Family-Loading.md`
|
|
556
|
-
- **Query**: `get_document_full({ path: "
|
|
582
|
+
- **Query**: `get_document_full({ path: "component-family-loading" })`
|
|
557
583
|
|
|
558
584
|
---
|
|
559
585
|
|
|
560
586
|
## 11. Navigation Family
|
|
561
587
|
|
|
562
|
-
**Status**:
|
|
588
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
563
589
|
**Shared Need**: Wayfinding
|
|
564
|
-
**Primitive Base**: Nav-Base
|
|
590
|
+
**Primitive Base**: Nav-Header-Base (internal-only structural primitive)
|
|
565
591
|
|
|
566
592
|
### Inheritance Structure
|
|
567
593
|
|
|
568
|
-
Nav-Base (Primitive) [
|
|
594
|
+
Nav-Header-Base (Primitive, internal only) [Shipped] โ โโโ Nav-Header-Page (Semantic) [Shipped] โ โโโ Page-level nav bar: back/close, h1 title, trailing actions, collapse-on-scroll โ โโโ Nav-Header-App (Semantic) [Shipped] โโโ Permissive app-level header scaffold (safe area, landmark semantics)
|
|
595
|
+
|
|
596
|
+
Nav-SegmentedChoice-Base (Primitive) [Shipped] โโโ Switch between mutually exclusive content views (connected segments)
|
|
597
|
+
|
|
598
|
+
Nav-TabBar-Base (Primitive) [Shipped] โโโ Persistent bottom tab bar for top-level destinations
|
|
599
|
+
|
|
600
|
+
Planned (not shipped): Nav-Breadcrumb, Nav-List.
|
|
569
601
|
|
|
570
602
|
|
|
571
603
|
### Component Summary
|
|
572
604
|
|
|
573
605
|
| Component | Type | Status | Description |
|
|
574
606
|
|-----------|------|--------|-------------|
|
|
575
|
-
| Nav-Base | Primitive |
|
|
576
|
-
| Nav-
|
|
577
|
-
| Nav-
|
|
578
|
-
| Nav-
|
|
579
|
-
| Nav-
|
|
607
|
+
| Nav-Header-Base | Primitive | ๐ก | Internal-only header primitive โ safe area, layout regions, landmark semantics (all platforms scaffold; use Nav-Header-Page/App) |
|
|
608
|
+
| Nav-Header-Page | Semantic | ๐ก | Page-level nav bar (web ๐ข; iOS/Android scaffold) |
|
|
609
|
+
| Nav-Header-App | Semantic | ๐ก | Permissive app-level header scaffold (all platforms scaffold by design) |
|
|
610
|
+
| Nav-SegmentedChoice-Base | Primitive | ๐ก | Segmented control for content switching (web ๐ข; iOS/Android scaffold) |
|
|
611
|
+
| Nav-TabBar-Base | Primitive | ๐ก | Bottom tab bar for top-level destinations (web ๐ข; iOS/Android scaffold) |
|
|
612
|
+
| Nav-Breadcrumb | Semantic | ๐ด Planned | Breadcrumb trail |
|
|
613
|
+
| Nav-List | Semantic | ๐ด Planned | Vertical navigation list |
|
|
580
614
|
|
|
581
|
-
### Behavioral Contracts
|
|
615
|
+
### Behavioral Contracts
|
|
582
616
|
|
|
583
617
|
**Base Contracts**:
|
|
584
618
|
- `manages_active_state` - Tracks and displays active item
|
|
@@ -587,12 +621,14 @@ Nav-Base (Primitive) [Placeholder] โ โโโ Nav-Tabs (Semantic) [Placeholde
|
|
|
587
621
|
- `supports_icons` - Optional icons for items
|
|
588
622
|
|
|
589
623
|
**Extended Contracts by Variant**:
|
|
590
|
-
- **Tabs**: `switches_content`, `
|
|
624
|
+
- **Tabs**: `switches_content`, `supports_scrollable` (no disabled-tab affordance โ DesignerPunk does not support disabled states; omit unavailable tabs instead)
|
|
591
625
|
- **Breadcrumb**: `shows_hierarchy`, `supports_truncation`, `links_to_ancestors`
|
|
592
626
|
- **List**: `supports_nesting`, `supports_collapsible`, `supports_badges`
|
|
593
627
|
- **Bar**: `supports_responsive`, `supports_dropdown`, `supports_search`
|
|
594
628
|
|
|
595
|
-
|
|
629
|
+
> Contracts above describe the originally-planned Tabs/Breadcrumb/List/Bar shape. The shipped Navigation components (Header, SegmentedChoice, TabBar) carry their own authoritative contract sets โ query the Application MCP (`get_component_full({ name: "Nav-TabBar-Base" })`, etc.).
|
|
630
|
+
|
|
631
|
+
### Token Dependencies
|
|
596
632
|
|
|
597
633
|
| Category | Tokens |
|
|
598
634
|
|----------|--------|
|
|
@@ -604,7 +640,81 @@ Nav-Base (Primitive) [Placeholder] โ โโโ Nav-Tabs (Semantic) [Placeholde
|
|
|
604
640
|
### MCP Documentation
|
|
605
641
|
|
|
606
642
|
- **Full Documentation**: `.kiro/steering/Component-Family-Navigation.md`
|
|
607
|
-
- **Query**: `get_document_full({ path: "
|
|
643
|
+
- **Query**: `get_document_full({ path: "component-family-navigation" })`
|
|
644
|
+
|
|
645
|
+
---
|
|
646
|
+
|
|
647
|
+
## 12. Chips Family
|
|
648
|
+
|
|
649
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
650
|
+
**Shared Need**: Selection, filtering, and input tokens
|
|
651
|
+
**Primitive Base**: Chip-Base
|
|
652
|
+
|
|
653
|
+
### Inheritance Structure
|
|
654
|
+
|
|
655
|
+
Chip-Base (Primitive) [Shipped] โ โโโ Chip-Filter (Semantic) [Shipped] โ โโโ Toggle a content filter on/off in a filter bar โ โโโ Chip-Input (Semantic) [Shipped] โโโ User-entered value (tag/selection) dismissible via remove action
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
### Component Summary
|
|
659
|
+
|
|
660
|
+
| Component | Type | Status | Description |
|
|
661
|
+
|-----------|------|--------|-------------|
|
|
662
|
+
| Chip-Base | Primitive | ๐ก | Compact interactive element for selections/filters/actions (web ๐ข; iOS/Android scaffold) |
|
|
663
|
+
| Chip-Filter | Semantic | ๐ก | Toggle a content filter on/off in a filter bar (web ๐ข; iOS/Android scaffold) |
|
|
664
|
+
| Chip-Input | Semantic | ๐ก | Dismissible user-entered value (tag/selection) (web ๐ข; iOS/Android scaffold) |
|
|
665
|
+
|
|
666
|
+
### Behavioral Contracts
|
|
667
|
+
|
|
668
|
+
Chip-Base is focusable and selectable; Chip-Filter adds toggle semantics; Chip-Input adds a remove affordance. Authoritative per-component contract sets are in the Application MCP (`get_component_full({ name: "Chip-Base" })`, etc.).
|
|
669
|
+
|
|
670
|
+
### MCP Documentation
|
|
671
|
+
|
|
672
|
+
- **Full Documentation**: `.kiro/steering/Component-Family-Chip.md`
|
|
673
|
+
- **Query**: `get_document_full({ path: "component-family-chip" })`
|
|
674
|
+
|
|
675
|
+
---
|
|
676
|
+
|
|
677
|
+
## 13. Progress Indicators Family
|
|
678
|
+
|
|
679
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
680
|
+
**Shared Need**: Progress and step indication
|
|
681
|
+
**Primitive Base**: Progress-Indicator-Node-Base
|
|
682
|
+
|
|
683
|
+
> Distinct from the (placeholder) **Loading** family in ยง10. Progress Indicators ships determinate/step-based indicators (bar, nodes, pagination, steppers); Loading remains an unbuilt placeholder for spinner/skeleton-style indicators.
|
|
684
|
+
|
|
685
|
+
### Inheritance Structure
|
|
686
|
+
|
|
687
|
+
Progress-Bar-Base (Primitive) [Shipped] โ continuous percentage bar (determinate/indeterminate)
|
|
688
|
+
|
|
689
|
+
Progress-Indicator-Node-Base (Primitive) [Shipped]
|
|
690
|
+
Progress-Indicator-Connector-Base (Primitive) [Shipped โ all-platform scaffold]
|
|
691
|
+
Progress-Indicator-Label-Base (Primitive) [Shipped โ all-platform scaffold]
|
|
692
|
+
โ (compose into)
|
|
693
|
+
โโโ Progress-Pagination-Base (Semantic) [Shipped] โ dot-based position within a sequence
|
|
694
|
+
โโโ Progress-Stepper-Base (Semantic) [Shipped] โ labeled multi-step workflow
|
|
695
|
+
โโโ Progress-Stepper-Detailed (Semantic) [Shipped] โ steppers with descriptions + connectors
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
### Component Summary
|
|
699
|
+
|
|
700
|
+
| Component | Type | Status | Description |
|
|
701
|
+
|-----------|------|--------|-------------|
|
|
702
|
+
| Progress-Bar-Base | Primitive | ๐ก | Continuous percentage bar, determinate/indeterminate (web ๐ข; iOS/Android scaffold) |
|
|
703
|
+
| Progress-Indicator-Node-Base | Primitive | ๐ก | Single step-indicator node (web ๐ข; iOS/Android scaffold) |
|
|
704
|
+
| Progress-Indicator-Connector-Base | Primitive | ๐ก | Connector line between nodes (all platforms scaffold) |
|
|
705
|
+
| Progress-Indicator-Label-Base | Primitive | ๐ก | Text label for a node (all platforms scaffold) |
|
|
706
|
+
| Progress-Pagination-Base | Semantic | ๐ก | Dot-based pagination indicator (web ๐ข; iOS/Android scaffold) |
|
|
707
|
+
| Progress-Stepper-Base | Semantic | ๐ก | Labeled multi-step workflow (web ๐ข; iOS/Android scaffold) |
|
|
708
|
+
| Progress-Stepper-Detailed | Semantic | ๐ก | Stepper with descriptions + connectors (web ๐ข; iOS/Android scaffold) |
|
|
709
|
+
|
|
710
|
+
### Behavioral Contracts
|
|
711
|
+
|
|
712
|
+
Node/bar/pagination/stepper components carry step-state and progress-value contracts. Authoritative per-component contract sets are in the Application MCP (`get_component_full({ name: "Progress-Stepper-Base" })`, etc.).
|
|
713
|
+
|
|
714
|
+
### MCP Documentation
|
|
715
|
+
|
|
716
|
+
- **Full Documentation**: `.kiro/steering/Component-Family-Progress.md`
|
|
717
|
+
- **Query**: `get_document_full({ path: "progress-indicator-components" })`
|
|
608
718
|
|
|
609
719
|
---
|
|
610
720
|
|
|
@@ -632,28 +742,38 @@ Nav-Base (Primitive) [Placeholder] โ โโโ Nav-Tabs (Semantic) [Placeholde
|
|
|
632
742
|
|
|
633
743
|
```mermaid
|
|
634
744
|
graph TB
|
|
635
|
-
subgraph "Production Ready ๐ข"
|
|
745
|
+
subgraph "Production Ready ๐ข (all platforms)"
|
|
746
|
+
BVLI[Button-VerticalList-Item]
|
|
747
|
+
BVLS[Button-VerticalList-Set]
|
|
748
|
+
BVLI --> BVLS
|
|
749
|
+
end
|
|
750
|
+
|
|
751
|
+
subgraph "Shipping ๐ก (web-ready, mobile-scaffold)"
|
|
636
752
|
ITB[Input-Text-Base]
|
|
637
753
|
ITE[Input-Text-Email]
|
|
638
754
|
ITP[Input-Text-Password]
|
|
639
755
|
ITPN[Input-Text-PhoneNumber]
|
|
640
756
|
BC[Button-CTA]
|
|
757
|
+
BI[Button-Icon]
|
|
641
758
|
CB[Container-Base]
|
|
759
|
+
CCB[Container-Card-Base]
|
|
642
760
|
IB[Icon-Base]
|
|
643
|
-
|
|
761
|
+
AVB[Avatar-Base]
|
|
762
|
+
BADGE[Badge-Count-Base / Badge-Label-Base]
|
|
763
|
+
CHIP[Chip-Base]
|
|
764
|
+
NAV[Nav-Header/SegmentedChoice/TabBar]
|
|
765
|
+
PROG[Progress-Bar/Node/Stepper/Pagination]
|
|
766
|
+
|
|
644
767
|
ITB --> ITE
|
|
645
768
|
ITB --> ITP
|
|
646
769
|
ITB --> ITPN
|
|
647
770
|
end
|
|
648
|
-
|
|
649
|
-
subgraph "Placeholder ๐ด"
|
|
771
|
+
|
|
772
|
+
subgraph "Placeholder ๐ด (no components ship)"
|
|
650
773
|
MB[Modal-Base]
|
|
651
|
-
AB[Avatar-Base]
|
|
652
|
-
BB[Badge-Base]
|
|
653
774
|
DB[Display-Base]
|
|
654
775
|
DVB[Divider-Base]
|
|
655
776
|
LB[Loading-Base]
|
|
656
|
-
NB[Nav-Base]
|
|
657
777
|
end
|
|
658
778
|
|
|
659
779
|
subgraph "Cross-Family Composition"
|
|
@@ -11,7 +11,7 @@ inclusion: manual
|
|
|
11
11
|
**Scope**: cross-project
|
|
12
12
|
**Layer**: 2
|
|
13
13
|
**Relevant Tasks**: component-development, mcp-documentation, architecture
|
|
14
|
-
**Last Reviewed**: 2026-
|
|
14
|
+
**Last Reviewed**: 2026-07-09
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -45,7 +45,7 @@ For families with production-ready components (Form Inputs, Buttons, Containers,
|
|
|
45
45
|
|
|
46
46
|
### Placeholder Family Documents
|
|
47
47
|
|
|
48
|
-
For families without implemented components (Modals,
|
|
48
|
+
For families without implemented components (Modals, Dividers, Loading, Data-Displays, etc.):
|
|
49
49
|
|
|
50
50
|
- **Structural documentation** with planned architecture
|
|
51
51
|
- **Readiness status**: ๐ด Placeholder
|
|
@@ -710,11 +710,12 @@ get_index_health()
|
|
|
710
710
|
rebuild_index()
|
|
711
711
|
|
|
712
712
|
// 3. Verify document is indexed
|
|
713
|
-
get_document_summary({ path: "
|
|
713
|
+
get_document_summary({ path: "component-family-[family-name]" })
|
|
714
|
+
// (use the doc's frontmatter `id:` verbatim โ some family ids diverge from the filename pattern, e.g. progress-indicator-components)
|
|
714
715
|
|
|
715
716
|
// 4. Test section queries
|
|
716
|
-
get_section({ path: "
|
|
717
|
-
get_section({ path: "
|
|
717
|
+
get_section({ path: "component-family-[family-name]", heading: "Family Overview" })
|
|
718
|
+
get_section({ path: "component-family-[family-name]", heading: "Behavioral Contracts" })
|
|
718
719
|
```
|
|
719
720
|
|
|
720
721
|
---
|
|
@@ -12,7 +12,7 @@ aliases: primitive vs semantic component decisions, deciding primitive vs semant
|
|
|
12
12
|
**Scope**: cross-project
|
|
13
13
|
**Layer**: 2
|
|
14
14
|
**Relevant Tasks**: component-development, component-selection, architecture
|
|
15
|
-
**Last Reviewed**: 2026-
|
|
15
|
+
**Last Reviewed**: 2026-07-08
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|