@3fn/core 13.0.0 โ 14.0.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 +5 -5
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +6 -6
- 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 +14 -3
- package/application-mcp-server/src/index.ts +26 -0
- package/dist/ComponentTokens.android.kt +1 -1
- package/dist/ComponentTokens.ios.swift +1 -1
- package/dist/ComponentTokens.web.css +1 -1
- 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 +22 -81
- package/dist/browser/designerpunk.esm.min.js +29 -32
- package/dist/browser/designerpunk.umd.js +22 -81
- package/dist/browser/designerpunk.umd.min.js +42 -45
- package/dist/browser/tokens.css +1 -1
- 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/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/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/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/Component-Development-Guide.md +22 -12
- package/governance/Component-Development-Standards.md +2 -2
- package/governance/Component-Family-Avatar.md +0 -1
- package/governance/Component-Family-Badge.md +0 -1
- package/governance/Component-Family-Button.md +4 -17
- package/governance/Component-Family-Chip.md +0 -1
- package/governance/Component-Family-Container.md +0 -1
- package/governance/Component-Family-Data-Display.md +1 -2
- package/governance/Component-Family-Divider.md +1 -2
- package/governance/Component-Family-Form-Inputs.md +5 -5
- package/governance/Component-Family-Icon.md +1 -2
- package/governance/Component-Family-Loading.md +1 -2
- package/governance/Component-Family-Modal.md +1 -2
- package/governance/Component-Family-Navigation.md +0 -1
- package/governance/Component-Family-Progress.md +0 -1
- package/governance/Component-Inheritance-Structures.md +195 -76
- 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 +54 -38
- package/governance/Component-Templates.md +32 -36
- package/governance/Contract-System-Reference.md +6 -6
- 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 +24 -24
- package/governance/Process-Hook-Operations.md +19 -7
- package/governance/Process-Orchestration-Model-Selection.md +92 -0
- package/governance/Process-Spec-Planning.md +91 -39
- package/governance/Process-Task-Type-Definitions.md +80 -4
- package/governance/Product-Handoff-Protocol.md +2 -0
- package/governance/Rosetta-System-Architecture.md +6 -6
- 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 +21 -21
- 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 +368 -0
- package/governance/completion-documentation-guide.md +11 -8
- 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 +1 -1
- package/governance/release-management-system.md +2 -2
- 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 +23 -21
- 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/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/contracts.yaml +11 -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/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/__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/semantic/BlendTokens.ts +26 -5
- package/src/tokens/semantic/OpacityTokens.ts +4 -4
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +1 -1
- 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/semantics.yaml +1 -2
|
@@ -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,24 +69,25 @@ 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
|
-
**Base Contracts (
|
|
79
|
+
**Base Contracts (8 total)**:
|
|
72
80
|
- `focusable` - Keyboard focus support (WCAG 2.1.1)
|
|
73
81
|
- `float_label_animation` - Label animates on focus (WCAG 2.3.3)
|
|
74
82
|
- `validates_on_blur` - Validation triggers on blur (WCAG 3.3.1)
|
|
75
83
|
- `error_state_display` - Error message and styling (WCAG 3.3.1, 1.4.1)
|
|
76
84
|
- `success_state_display` - Success styling (WCAG 1.4.1)
|
|
77
|
-
- `disabled_state` - Prevents interaction when disabled (WCAG 4.1.2)
|
|
78
85
|
- `trailing_icon_display` - Contextual trailing icons
|
|
79
86
|
- `focus_ring` - WCAG 2.4.7 focus visible indicator
|
|
80
87
|
- `reduced_motion_support` - Respects prefers-reduced-motion
|
|
81
88
|
|
|
89
|
+
**Excluded**: `disabled_state` โ DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
|
|
90
|
+
|
|
82
91
|
**Extended Contracts by Variant**:
|
|
83
92
|
- **Email**: `validates_email_format`, `provides_email_autocomplete`
|
|
84
93
|
- **Password**: `provides_secure_input`, `supports_password_toggle`, `provides_password_autocomplete`
|
|
@@ -97,7 +106,7 @@ Input-Text-Base (Primitive) โ โโโ Input-Text-Email (Semantic) โ โโ
|
|
|
97
106
|
### MCP Documentation
|
|
98
107
|
|
|
99
108
|
- **Full Documentation**: `.kiro/steering/Component-Family-Form-Inputs.md`
|
|
100
|
-
- **Query**: `get_document_full({ path: "
|
|
109
|
+
- **Query**: `get_document_full({ path: "component-family-form-inputs" })`
|
|
101
110
|
|
|
102
111
|
---
|
|
103
112
|
|
|
@@ -109,14 +118,21 @@ Input-Text-Base (Primitive) โ โโโ Input-Text-Email (Semantic) โ โโ
|
|
|
109
118
|
|
|
110
119
|
### Inheritance Structure
|
|
111
120
|
|
|
112
|
-
Button-CTA (Standalone)
|
|
121
|
+
Button-CTA (Standalone) โ styling via props (variant: primary | secondary | tertiary)
|
|
122
|
+
Button-Icon (Primitive) โ compact icon-only button
|
|
123
|
+
Button-VerticalList-Item (Primitive) โ Button-VerticalList-Set (Pattern) โ vertical action menu
|
|
113
124
|
|
|
114
125
|
|
|
115
126
|
### Component Summary
|
|
116
127
|
|
|
117
128
|
| Component | Type | Status | Description |
|
|
118
129
|
|-----------|------|--------|-------------|
|
|
119
|
-
| Button-CTA | Standalone |
|
|
130
|
+
| Button-CTA | Standalone | ๐ก | Call-to-action button with variant prop (web ๐ข; iOS/Android scaffold) |
|
|
131
|
+
| Button-Icon | Primitive | ๐ก | Compact icon-only button (web ๐ข; iOS/Android scaffold) |
|
|
132
|
+
| Button-VerticalList-Item | Primitive | ๐ข | Single action item in a vertical list menu (production-ready all platforms) |
|
|
133
|
+
| Button-VerticalList-Set | Pattern | ๐ข | Groups VerticalList-Item into a mode-driven action menu (production-ready all platforms) |
|
|
134
|
+
|
|
135
|
+
**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
136
|
|
|
121
137
|
### Naming Convention Note
|
|
122
138
|
|
|
@@ -127,15 +143,16 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
|
|
|
127
143
|
|
|
128
144
|
### Behavioral Contracts
|
|
129
145
|
|
|
130
|
-
**Contracts (
|
|
146
|
+
**Contracts (6 total)**:
|
|
131
147
|
- `clickable` - Responds to click/tap interactions (WCAG 2.1.1)
|
|
132
148
|
- `focusable` - Keyboard focus support (WCAG 2.1.1)
|
|
133
|
-
- `disabled_state` - Prevents interaction when disabled (WCAG 4.1.2)
|
|
134
149
|
- `loading_state` - Shows loading indicator during async operations
|
|
135
150
|
- `icon_support` - Supports leading/trailing icons
|
|
136
151
|
- `focus_ring` - WCAG 2.4.7 focus visible indicator
|
|
137
152
|
- `reduced_motion_support` - Respects prefers-reduced-motion
|
|
138
153
|
|
|
154
|
+
**Excluded**: `disabled_state` โ DesignerPunk does not support disabled states for usability and accessibility reasons (adjudicated 2026-07-15; see `.kiro/issues/button-cta-disabled-state-adjudication.md`).
|
|
155
|
+
|
|
139
156
|
### Token Dependencies
|
|
140
157
|
|
|
141
158
|
| Category | Tokens |
|
|
@@ -149,13 +166,13 @@ Button-CTA uses the `[Family]-[Type]` pattern (not `[Family]-[Type]-Base`) becau
|
|
|
149
166
|
### MCP Documentation
|
|
150
167
|
|
|
151
168
|
- **Full Documentation**: `.kiro/steering/Component-Family-Button.md`
|
|
152
|
-
- **Query**: `get_document_full({ path: "
|
|
169
|
+
- **Query**: `get_document_full({ path: "component-family-button" })`
|
|
153
170
|
|
|
154
171
|
---
|
|
155
172
|
|
|
156
173
|
## 3. Containers Family
|
|
157
174
|
|
|
158
|
-
**Status**:
|
|
175
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
159
176
|
**Shared Need**: Layout and content organization
|
|
160
177
|
**Primitive Base**: Container-Base
|
|
161
178
|
|
|
@@ -168,8 +185,8 @@ Container-Base (Primitive) โ โโโ Container-Card (Semantic) [Planned] โ
|
|
|
168
185
|
|
|
169
186
|
| Component | Type | Status | Description |
|
|
170
187
|
|-----------|------|--------|-------------|
|
|
171
|
-
| Container-Base | Primitive |
|
|
172
|
-
| Container-Card |
|
|
188
|
+
| Container-Base | Primitive | ๐ก | Foundational layout container (web ๐ข; iOS/Android scaffold) |
|
|
189
|
+
| Container-Card-Base | Type-Primitive | ๐ก | Elevated card for dashboards/stat cards/previews (web ๐ข; iOS/Android scaffold) |
|
|
173
190
|
| Container-Panel | Semantic | ๐ด Planned | Flat panel for sections |
|
|
174
191
|
| Container-Hero | Semantic | ๐ด Planned | Full-width hero section |
|
|
175
192
|
|
|
@@ -203,13 +220,13 @@ Container-Base uses the `[Family]-Base` pattern because:
|
|
|
203
220
|
### MCP Documentation
|
|
204
221
|
|
|
205
222
|
- **Full Documentation**: `.kiro/steering/Component-Family-Container.md`
|
|
206
|
-
- **Query**: `get_document_full({ path: "
|
|
223
|
+
- **Query**: `get_document_full({ path: "component-family-container" })`
|
|
207
224
|
|
|
208
225
|
---
|
|
209
226
|
|
|
210
227
|
## 4. Icons Family
|
|
211
228
|
|
|
212
|
-
**Status**:
|
|
229
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
213
230
|
**Shared Need**: Visual communication
|
|
214
231
|
**Primitive Base**: Icon-Base
|
|
215
232
|
|
|
@@ -222,7 +239,7 @@ Icon-Base (Primitive) โ โโโ Icon-Status (Semantic) [Planned] โ โโ
|
|
|
222
239
|
|
|
223
240
|
| Component | Type | Status | Description |
|
|
224
241
|
|-----------|------|--------|-------------|
|
|
225
|
-
| Icon-Base | Primitive |
|
|
242
|
+
| Icon-Base | Primitive | ๐ก | Foundational inline SVG icon, inherits parent text color (web ๐ข; iOS/Android scaffold) |
|
|
226
243
|
| Icon-Status | Semantic | ๐ด Planned | Status indicator icons |
|
|
227
244
|
| Icon-Action | Semantic | ๐ด Planned | Action icons |
|
|
228
245
|
| Icon-Navigation | Semantic | ๐ด Planned | Navigation icons |
|
|
@@ -252,7 +269,7 @@ Icon-Base uses the `[Family]-Base` pattern because:
|
|
|
252
269
|
### MCP Documentation
|
|
253
270
|
|
|
254
271
|
- **Full Documentation**: `.kiro/steering/Component-Family-Icon.md`
|
|
255
|
-
- **Query**: `get_document_full({ path: "
|
|
272
|
+
- **Query**: `get_document_full({ path: "component-family-icon" })`
|
|
256
273
|
|
|
257
274
|
---
|
|
258
275
|
|
|
@@ -306,31 +323,31 @@ Modal-Base (Primitive) [Placeholder] โ โโโ Modal-Dialog (Semantic) [Plac
|
|
|
306
323
|
### MCP Documentation
|
|
307
324
|
|
|
308
325
|
- **Full Documentation**: `.kiro/steering/Component-Family-Modal.md`
|
|
309
|
-
- **Query**: `get_document_full({ path: "
|
|
326
|
+
- **Query**: `get_document_full({ path: "component-family-modal" })`
|
|
310
327
|
|
|
311
328
|
---
|
|
312
329
|
|
|
313
330
|
## 6. Avatars Family
|
|
314
331
|
|
|
315
|
-
**Status**:
|
|
332
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
316
333
|
**Shared Need**: Identity representation
|
|
317
334
|
**Primitive Base**: Avatar-Base
|
|
318
335
|
|
|
319
336
|
### Inheritance Structure
|
|
320
337
|
|
|
321
|
-
Avatar-Base (Primitive) [
|
|
338
|
+
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
339
|
|
|
323
340
|
|
|
324
341
|
### Component Summary
|
|
325
342
|
|
|
326
343
|
| Component | Type | Status | Description |
|
|
327
344
|
|-----------|------|--------|-------------|
|
|
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 |
|
|
345
|
+
| Avatar-Base | Primitive | ๐ก | Foundational avatar (web ๐ข; iOS/Android scaffold) โ image, initials fallback, human/AI shape differentiation |
|
|
346
|
+
| Avatar-User | Semantic | ๐ด Planned | User profile avatar |
|
|
347
|
+
| Avatar-Group | Semantic | ๐ด Planned | Stacked group of avatars |
|
|
348
|
+
| Avatar-Entity | Semantic | ๐ด Planned | Organization/brand avatar |
|
|
332
349
|
|
|
333
|
-
### Behavioral Contracts
|
|
350
|
+
### Behavioral Contracts
|
|
334
351
|
|
|
335
352
|
**Base Contracts**:
|
|
336
353
|
- `displays_image` - Renders image when available
|
|
@@ -344,7 +361,9 @@ Avatar-Base (Primitive) [Placeholder] โ โโโ Avatar-User (Semantic) [Plac
|
|
|
344
361
|
- **Group**: `stacks_avatars`, `shows_overflow_count`
|
|
345
362
|
- **Entity**: `supports_logo`, `supports_badge`
|
|
346
363
|
|
|
347
|
-
|
|
364
|
+
> 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" })`).
|
|
365
|
+
|
|
366
|
+
### Token Dependencies
|
|
348
367
|
|
|
349
368
|
| Category | Tokens |
|
|
350
369
|
|----------|--------|
|
|
@@ -356,32 +375,36 @@ Avatar-Base (Primitive) [Placeholder] โ โโโ Avatar-User (Semantic) [Plac
|
|
|
356
375
|
### MCP Documentation
|
|
357
376
|
|
|
358
377
|
- **Full Documentation**: `.kiro/steering/Component-Family-Avatar.md`
|
|
359
|
-
- **Query**: `get_document_full({ path: "
|
|
378
|
+
- **Query**: `get_document_full({ path: "component-family-avatar" })`
|
|
360
379
|
|
|
361
380
|
---
|
|
362
381
|
|
|
363
382
|
## 7. Badges and Tags Family
|
|
364
383
|
|
|
365
|
-
**Status**:
|
|
384
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
366
385
|
**Shared Need**: Status and labeling
|
|
367
|
-
**Primitive Base**: Badge-Base
|
|
386
|
+
**Primitive Base**: Badge-Count-Base (shipped); the originally-planned `Badge-Base` roll-up primitive was not built
|
|
368
387
|
|
|
369
388
|
### Inheritance Structure
|
|
370
389
|
|
|
371
|
-
Badge-Base (
|
|
390
|
+
Badge-Count-Base (type-primitive) [Shipped] โ โโโ Badge-Count-Notification (Semantic) [Shipped] โโโ Notification count with live-region announcements
|
|
391
|
+
|
|
392
|
+
Badge-Label-Base (type-primitive) [Shipped] โโโ Text label badge for categorization/status
|
|
393
|
+
|
|
394
|
+
Planned (not shipped): a Badge-Status semantic variant, removable Badge-Tag.
|
|
372
395
|
|
|
373
396
|
|
|
374
397
|
### Component Summary
|
|
375
398
|
|
|
376
399
|
| Component | Type | Status | Description |
|
|
377
400
|
|-----------|------|--------|-------------|
|
|
378
|
-
| Badge-Base | Primitive |
|
|
379
|
-
| Badge-
|
|
380
|
-
| Badge-
|
|
381
|
-
| Badge-
|
|
382
|
-
| Badge-
|
|
401
|
+
| Badge-Count-Base | Type-Primitive | ๐ก | Numeric count indicator (web ๐ข; iOS/Android scaffold) |
|
|
402
|
+
| Badge-Count-Notification | Semantic | ๐ก | Notification count badge with live-region announcements (web ๐ข; iOS/Android scaffold) |
|
|
403
|
+
| Badge-Label-Base | Type-Primitive | ๐ก | Text label badge for categorization/status/tagging (web ๐ข; iOS/Android scaffold) |
|
|
404
|
+
| Badge-Status | Semantic | ๐ด Planned | Status indicators |
|
|
405
|
+
| Badge-Tag | Semantic | ๐ด Planned | Removable tags |
|
|
383
406
|
|
|
384
|
-
### Behavioral Contracts
|
|
407
|
+
### Behavioral Contracts
|
|
385
408
|
|
|
386
409
|
**Base Contracts**:
|
|
387
410
|
- `displays_text` - Renders text content
|
|
@@ -395,7 +418,9 @@ Badge-Base (Primitive) [Placeholder] โ โโโ Badge-Status (Semantic) [Plac
|
|
|
395
418
|
- **Notification**: `displays_count`, `supports_max_count`, `supports_dot_mode`
|
|
396
419
|
- **Label**: `static_display`, `supports_truncation`
|
|
397
420
|
|
|
398
|
-
|
|
421
|
+
> Contracts above blend shipped and planned behavior. Authoritative shipped-contract sets are in the Application MCP (`get_component_full({ name: "Badge-Count-Base" })`, etc.).
|
|
422
|
+
|
|
423
|
+
### Token Dependencies
|
|
399
424
|
|
|
400
425
|
| Category | Tokens |
|
|
401
426
|
|----------|--------|
|
|
@@ -407,7 +432,7 @@ Badge-Base (Primitive) [Placeholder] โ โโโ Badge-Status (Semantic) [Plac
|
|
|
407
432
|
### MCP Documentation
|
|
408
433
|
|
|
409
434
|
- **Full Documentation**: `.kiro/steering/Component-Family-Badge.md`
|
|
410
|
-
- **Query**: `get_document_full({ path: "
|
|
435
|
+
- **Query**: `get_document_full({ path: "component-family-badge" })`
|
|
411
436
|
|
|
412
437
|
---
|
|
413
438
|
|
|
@@ -459,7 +484,7 @@ Display-Base (Primitive) [Placeholder] โ โโโ Display-Text (Semantic) [Pl
|
|
|
459
484
|
### MCP Documentation
|
|
460
485
|
|
|
461
486
|
- **Full Documentation**: `.kiro/steering/Component-Family-Data-Display.md`
|
|
462
|
-
- **Query**: `get_document_full({ path: "
|
|
487
|
+
- **Query**: `get_document_full({ path: "component-family-data-display" })`
|
|
463
488
|
|
|
464
489
|
---
|
|
465
490
|
|
|
@@ -505,7 +530,7 @@ Divider-Base (Primitive) [Placeholder] โ โโโ Divider-Horizontal (Semanti
|
|
|
505
530
|
### MCP Documentation
|
|
506
531
|
|
|
507
532
|
- **Full Documentation**: `.kiro/steering/Component-Family-Divider.md`
|
|
508
|
-
- **Query**: `get_document_full({ path: "
|
|
533
|
+
- **Query**: `get_document_full({ path: "component-family-divider" })`
|
|
509
534
|
|
|
510
535
|
---
|
|
511
536
|
|
|
@@ -553,32 +578,40 @@ Loading-Base (Primitive) [Placeholder] โ โโโ Loading-Spinner (Semantic)
|
|
|
553
578
|
### MCP Documentation
|
|
554
579
|
|
|
555
580
|
- **Full Documentation**: `.kiro/steering/Component-Family-Loading.md`
|
|
556
|
-
- **Query**: `get_document_full({ path: "
|
|
581
|
+
- **Query**: `get_document_full({ path: "component-family-loading" })`
|
|
557
582
|
|
|
558
583
|
---
|
|
559
584
|
|
|
560
585
|
## 11. Navigation Family
|
|
561
586
|
|
|
562
|
-
**Status**:
|
|
587
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
563
588
|
**Shared Need**: Wayfinding
|
|
564
|
-
**Primitive Base**: Nav-Base
|
|
589
|
+
**Primitive Base**: Nav-Header-Base (internal-only structural primitive)
|
|
565
590
|
|
|
566
591
|
### Inheritance Structure
|
|
567
592
|
|
|
568
|
-
Nav-Base (Primitive) [
|
|
593
|
+
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)
|
|
594
|
+
|
|
595
|
+
Nav-SegmentedChoice-Base (Primitive) [Shipped] โโโ Switch between mutually exclusive content views (connected segments)
|
|
596
|
+
|
|
597
|
+
Nav-TabBar-Base (Primitive) [Shipped] โโโ Persistent bottom tab bar for top-level destinations
|
|
598
|
+
|
|
599
|
+
Planned (not shipped): Nav-Breadcrumb, Nav-List.
|
|
569
600
|
|
|
570
601
|
|
|
571
602
|
### Component Summary
|
|
572
603
|
|
|
573
604
|
| Component | Type | Status | Description |
|
|
574
605
|
|-----------|------|--------|-------------|
|
|
575
|
-
| Nav-Base | Primitive |
|
|
576
|
-
| Nav-
|
|
577
|
-
| Nav-
|
|
578
|
-
| Nav-
|
|
579
|
-
| Nav-
|
|
606
|
+
| Nav-Header-Base | Primitive | ๐ก | Internal-only header primitive โ safe area, layout regions, landmark semantics (all platforms scaffold; use Nav-Header-Page/App) |
|
|
607
|
+
| Nav-Header-Page | Semantic | ๐ก | Page-level nav bar (web ๐ข; iOS/Android scaffold) |
|
|
608
|
+
| Nav-Header-App | Semantic | ๐ก | Permissive app-level header scaffold (all platforms scaffold by design) |
|
|
609
|
+
| Nav-SegmentedChoice-Base | Primitive | ๐ก | Segmented control for content switching (web ๐ข; iOS/Android scaffold) |
|
|
610
|
+
| Nav-TabBar-Base | Primitive | ๐ก | Bottom tab bar for top-level destinations (web ๐ข; iOS/Android scaffold) |
|
|
611
|
+
| Nav-Breadcrumb | Semantic | ๐ด Planned | Breadcrumb trail |
|
|
612
|
+
| Nav-List | Semantic | ๐ด Planned | Vertical navigation list |
|
|
580
613
|
|
|
581
|
-
### Behavioral Contracts
|
|
614
|
+
### Behavioral Contracts
|
|
582
615
|
|
|
583
616
|
**Base Contracts**:
|
|
584
617
|
- `manages_active_state` - Tracks and displays active item
|
|
@@ -587,12 +620,14 @@ Nav-Base (Primitive) [Placeholder] โ โโโ Nav-Tabs (Semantic) [Placeholde
|
|
|
587
620
|
- `supports_icons` - Optional icons for items
|
|
588
621
|
|
|
589
622
|
**Extended Contracts by Variant**:
|
|
590
|
-
- **Tabs**: `switches_content`, `
|
|
623
|
+
- **Tabs**: `switches_content`, `supports_scrollable` (no disabled-tab affordance โ DesignerPunk does not support disabled states; omit unavailable tabs instead)
|
|
591
624
|
- **Breadcrumb**: `shows_hierarchy`, `supports_truncation`, `links_to_ancestors`
|
|
592
625
|
- **List**: `supports_nesting`, `supports_collapsible`, `supports_badges`
|
|
593
626
|
- **Bar**: `supports_responsive`, `supports_dropdown`, `supports_search`
|
|
594
627
|
|
|
595
|
-
|
|
628
|
+
> 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.).
|
|
629
|
+
|
|
630
|
+
### Token Dependencies
|
|
596
631
|
|
|
597
632
|
| Category | Tokens |
|
|
598
633
|
|----------|--------|
|
|
@@ -604,7 +639,81 @@ Nav-Base (Primitive) [Placeholder] โ โโโ Nav-Tabs (Semantic) [Placeholde
|
|
|
604
639
|
### MCP Documentation
|
|
605
640
|
|
|
606
641
|
- **Full Documentation**: `.kiro/steering/Component-Family-Navigation.md`
|
|
607
|
-
- **Query**: `get_document_full({ path: "
|
|
642
|
+
- **Query**: `get_document_full({ path: "component-family-navigation" })`
|
|
643
|
+
|
|
644
|
+
---
|
|
645
|
+
|
|
646
|
+
## 12. Chips Family
|
|
647
|
+
|
|
648
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
649
|
+
**Shared Need**: Selection, filtering, and input tokens
|
|
650
|
+
**Primitive Base**: Chip-Base
|
|
651
|
+
|
|
652
|
+
### Inheritance Structure
|
|
653
|
+
|
|
654
|
+
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
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
### Component Summary
|
|
658
|
+
|
|
659
|
+
| Component | Type | Status | Description |
|
|
660
|
+
|-----------|------|--------|-------------|
|
|
661
|
+
| Chip-Base | Primitive | ๐ก | Compact interactive element for selections/filters/actions (web ๐ข; iOS/Android scaffold) |
|
|
662
|
+
| Chip-Filter | Semantic | ๐ก | Toggle a content filter on/off in a filter bar (web ๐ข; iOS/Android scaffold) |
|
|
663
|
+
| Chip-Input | Semantic | ๐ก | Dismissible user-entered value (tag/selection) (web ๐ข; iOS/Android scaffold) |
|
|
664
|
+
|
|
665
|
+
### Behavioral Contracts
|
|
666
|
+
|
|
667
|
+
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.).
|
|
668
|
+
|
|
669
|
+
### MCP Documentation
|
|
670
|
+
|
|
671
|
+
- **Full Documentation**: `.kiro/steering/Component-Family-Chip.md`
|
|
672
|
+
- **Query**: `get_document_full({ path: "component-family-chip" })`
|
|
673
|
+
|
|
674
|
+
---
|
|
675
|
+
|
|
676
|
+
## 13. Progress Indicators Family
|
|
677
|
+
|
|
678
|
+
**Status**: ๐ก Web-ready, mobile-scaffold
|
|
679
|
+
**Shared Need**: Progress and step indication
|
|
680
|
+
**Primitive Base**: Progress-Indicator-Node-Base
|
|
681
|
+
|
|
682
|
+
> 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.
|
|
683
|
+
|
|
684
|
+
### Inheritance Structure
|
|
685
|
+
|
|
686
|
+
Progress-Bar-Base (Primitive) [Shipped] โ continuous percentage bar (determinate/indeterminate)
|
|
687
|
+
|
|
688
|
+
Progress-Indicator-Node-Base (Primitive) [Shipped]
|
|
689
|
+
Progress-Indicator-Connector-Base (Primitive) [Shipped โ all-platform scaffold]
|
|
690
|
+
Progress-Indicator-Label-Base (Primitive) [Shipped โ all-platform scaffold]
|
|
691
|
+
โ (compose into)
|
|
692
|
+
โโโ Progress-Pagination-Base (Semantic) [Shipped] โ dot-based position within a sequence
|
|
693
|
+
โโโ Progress-Stepper-Base (Semantic) [Shipped] โ labeled multi-step workflow
|
|
694
|
+
โโโ Progress-Stepper-Detailed (Semantic) [Shipped] โ steppers with descriptions + connectors
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
### Component Summary
|
|
698
|
+
|
|
699
|
+
| Component | Type | Status | Description |
|
|
700
|
+
|-----------|------|--------|-------------|
|
|
701
|
+
| Progress-Bar-Base | Primitive | ๐ก | Continuous percentage bar, determinate/indeterminate (web ๐ข; iOS/Android scaffold) |
|
|
702
|
+
| Progress-Indicator-Node-Base | Primitive | ๐ก | Single step-indicator node (web ๐ข; iOS/Android scaffold) |
|
|
703
|
+
| Progress-Indicator-Connector-Base | Primitive | ๐ก | Connector line between nodes (all platforms scaffold) |
|
|
704
|
+
| Progress-Indicator-Label-Base | Primitive | ๐ก | Text label for a node (all platforms scaffold) |
|
|
705
|
+
| Progress-Pagination-Base | Semantic | ๐ก | Dot-based pagination indicator (web ๐ข; iOS/Android scaffold) |
|
|
706
|
+
| Progress-Stepper-Base | Semantic | ๐ก | Labeled multi-step workflow (web ๐ข; iOS/Android scaffold) |
|
|
707
|
+
| Progress-Stepper-Detailed | Semantic | ๐ก | Stepper with descriptions + connectors (web ๐ข; iOS/Android scaffold) |
|
|
708
|
+
|
|
709
|
+
### Behavioral Contracts
|
|
710
|
+
|
|
711
|
+
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.).
|
|
712
|
+
|
|
713
|
+
### MCP Documentation
|
|
714
|
+
|
|
715
|
+
- **Full Documentation**: `.kiro/steering/Component-Family-Progress.md`
|
|
716
|
+
- **Query**: `get_document_full({ path: "progress-indicator-components" })`
|
|
608
717
|
|
|
609
718
|
---
|
|
610
719
|
|
|
@@ -632,28 +741,38 @@ Nav-Base (Primitive) [Placeholder] โ โโโ Nav-Tabs (Semantic) [Placeholde
|
|
|
632
741
|
|
|
633
742
|
```mermaid
|
|
634
743
|
graph TB
|
|
635
|
-
subgraph "Production Ready ๐ข"
|
|
744
|
+
subgraph "Production Ready ๐ข (all platforms)"
|
|
745
|
+
BVLI[Button-VerticalList-Item]
|
|
746
|
+
BVLS[Button-VerticalList-Set]
|
|
747
|
+
BVLI --> BVLS
|
|
748
|
+
end
|
|
749
|
+
|
|
750
|
+
subgraph "Shipping ๐ก (web-ready, mobile-scaffold)"
|
|
636
751
|
ITB[Input-Text-Base]
|
|
637
752
|
ITE[Input-Text-Email]
|
|
638
753
|
ITP[Input-Text-Password]
|
|
639
754
|
ITPN[Input-Text-PhoneNumber]
|
|
640
755
|
BC[Button-CTA]
|
|
756
|
+
BI[Button-Icon]
|
|
641
757
|
CB[Container-Base]
|
|
758
|
+
CCB[Container-Card-Base]
|
|
642
759
|
IB[Icon-Base]
|
|
643
|
-
|
|
760
|
+
AVB[Avatar-Base]
|
|
761
|
+
BADGE[Badge-Count-Base / Badge-Label-Base]
|
|
762
|
+
CHIP[Chip-Base]
|
|
763
|
+
NAV[Nav-Header/SegmentedChoice/TabBar]
|
|
764
|
+
PROG[Progress-Bar/Node/Stepper/Pagination]
|
|
765
|
+
|
|
644
766
|
ITB --> ITE
|
|
645
767
|
ITB --> ITP
|
|
646
768
|
ITB --> ITPN
|
|
647
769
|
end
|
|
648
|
-
|
|
649
|
-
subgraph "Placeholder ๐ด"
|
|
770
|
+
|
|
771
|
+
subgraph "Placeholder ๐ด (no components ship)"
|
|
650
772
|
MB[Modal-Base]
|
|
651
|
-
AB[Avatar-Base]
|
|
652
|
-
BB[Badge-Base]
|
|
653
773
|
DB[Display-Base]
|
|
654
774
|
DVB[Divider-Base]
|
|
655
775
|
LB[Loading-Base]
|
|
656
|
-
NB[Nav-Base]
|
|
657
776
|
end
|
|
658
777
|
|
|
659
778
|
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
|
|