@3fn/core 13.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 +265 -0
- package/.kiro/agents/ada.json +87 -0
- package/.kiro/agents/data-prompt.md +315 -0
- package/.kiro/agents/data.json +58 -0
- package/.kiro/agents/kenya-prompt.md +298 -0
- package/.kiro/agents/kenya.json +54 -0
- package/.kiro/agents/leonardo-prompt.md +417 -0
- package/.kiro/agents/leonardo.json +55 -0
- package/.kiro/agents/lina-prompt.md +385 -0
- package/.kiro/agents/lina.json +77 -0
- package/.kiro/agents/sparky-prompt.md +295 -0
- package/.kiro/agents/sparky.json +56 -0
- package/.kiro/agents/stacy-prompt.md +278 -0
- package/.kiro/agents/stacy.json +48 -0
- package/.kiro/agents/thurgood-prompt.md +407 -0
- package/.kiro/agents/thurgood.json +51 -0
- package/.kiro/steering/AI-Collaboration-Principles.md +105 -0
- package/.kiro/steering/Agent-Directory.md +141 -0
- package/.kiro/steering/Civitas-System-Overview.md +134 -0
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +318 -0
- package/.kiro/steering/Spec-Feedback-Protocol.md +242 -0
- package/.kiro/steering/Task-Completion-Protocol.md +73 -0
- package/.kiro/steering/core-goals.md +91 -0
- package/.kiro/steering/personal-note.md +35 -0
- package/.kiro/steering/start-up-tasks.md +114 -0
- package/LICENSE +201 -0
- package/README.md +184 -0
- package/application-mcp-server/package.json +34 -0
- package/application-mcp-server/src/__tests__/__mocks__/mcp-sdk-server.js +25 -0
- package/application-mcp-server/src/__tests__/__mocks__/mcp-sdk-stdio.js +11 -0
- package/application-mcp-server/src/__tests__/__mocks__/mcp-sdk-types.js +14 -0
- package/application-mcp-server/src/__tests__/tool-boundary.contract.test.ts +1086 -0
- package/application-mcp-server/src/index.ts +607 -0
- package/application-mcp-server/src/indexer/ComponentIndexer.ts +631 -0
- package/application-mcp-server/src/indexer/CompositionChecker.ts +109 -0
- package/application-mcp-server/src/indexer/ContractTokenDeriver.ts +68 -0
- package/application-mcp-server/src/indexer/DesignPhilosophyIndexer.ts +114 -0
- package/application-mcp-server/src/indexer/FamilyGuidanceIndexer.ts +248 -0
- package/application-mcp-server/src/indexer/InheritanceResolver.ts +154 -0
- package/application-mcp-server/src/indexer/LayoutTemplateIndexer.ts +254 -0
- package/application-mcp-server/src/indexer/ModeClassifier.ts +102 -0
- package/application-mcp-server/src/indexer/PatternIndexer.ts +195 -0
- package/application-mcp-server/src/indexer/TokenIndexer.ts +210 -0
- package/application-mcp-server/src/indexer/TokenRefResolver.ts +187 -0
- package/application-mcp-server/src/indexer/__tests__/ComponentIndexer.test.ts +141 -0
- package/application-mcp-server/src/indexer/__tests__/CompositionChecker.test.ts +148 -0
- package/application-mcp-server/src/indexer/__tests__/ContractTokenDeriver.test.ts +111 -0
- package/application-mcp-server/src/indexer/__tests__/CoverageDrift.test.ts +53 -0
- package/application-mcp-server/src/indexer/__tests__/DesignPhilosophyIndexer.test.ts +102 -0
- package/application-mcp-server/src/indexer/__tests__/FamilyGuidanceIndexer.test.ts +316 -0
- package/application-mcp-server/src/indexer/__tests__/FamilyNameValidation.test.ts +98 -0
- package/application-mcp-server/src/indexer/__tests__/GuidanceCompleteness.test.ts +63 -0
- package/application-mcp-server/src/indexer/__tests__/HealthStates.test.ts +129 -0
- package/application-mcp-server/src/indexer/__tests__/InheritanceResolver.test.ts +145 -0
- package/application-mcp-server/src/indexer/__tests__/LayoutTemplateIndexer.test.ts +378 -0
- package/application-mcp-server/src/indexer/__tests__/PatternIndexer.test.ts +323 -0
- package/application-mcp-server/src/indexer/__tests__/ReadinessCompliance.test.ts +212 -0
- package/application-mcp-server/src/indexer/__tests__/TokenIndexer.test.ts +131 -0
- package/application-mcp-server/src/indexer/__tests__/fixtures/design-philosophy.yaml +40 -0
- package/application-mcp-server/src/indexer/__tests__/parsers.test.ts +102 -0
- package/application-mcp-server/src/indexer/parsers.ts +284 -0
- package/application-mcp-server/src/models/index.ts +449 -0
- package/application-mcp-server/src/query/QueryEngine.ts +477 -0
- package/application-mcp-server/src/query/__tests__/QueryEngine.test.ts +282 -0
- package/application-mcp-server/src/query/__tests__/deriveMatchConfidence.test.ts +83 -0
- package/application-mcp-server/src/staleness/StalenessGate.ts +112 -0
- package/application-mcp-server/src/staleness/__tests__/GateIntegration.test.ts +141 -0
- package/application-mcp-server/src/staleness/__tests__/StalenessGate.test.ts +214 -0
- package/application-mcp-server/src/validation/AccessibilityChecker.ts +72 -0
- package/application-mcp-server/src/validation/AssemblyValidator.ts +77 -0
- package/application-mcp-server/src/validation/__tests__/AccessibilityChecker.test.ts +105 -0
- package/application-mcp-server/src/validation/__tests__/AssemblyValidator.test.ts +140 -0
- package/application-mcp-server/src/watcher/FileWatcher.ts +104 -0
- package/application-mcp-server/src/watcher/__tests__/FileWatcher.test.ts +59 -0
- package/application-mcp-server/tsconfig.json +24 -0
- package/bin/designerpunk.js +45 -0
- package/design-language/design-philosophy.yaml +139 -0
- package/designerpunk.config.ts +27 -0
- package/dist/ComponentTokens.android.kt +105 -0
- package/dist/ComponentTokens.ios.swift +105 -0
- package/dist/ComponentTokens.web.css +92 -0
- package/dist/DesignTokens.android.kt +696 -0
- package/dist/DesignTokens.dtcg.json +5759 -0
- package/dist/DesignTokens.figma.json +5053 -0
- package/dist/DesignTokens.ios.swift +696 -0
- package/dist/DesignTokens.web.css +940 -0
- package/dist/TokenEngine.d.ts +200 -0
- package/dist/TokenEngine.js +480 -0
- package/dist/__tests__/fixtures/acknowledged-differences.json +127 -0
- package/dist/analytics/PrimitiveTokenFallbackTracker.d.ts +91 -0
- package/dist/analytics/PrimitiveTokenFallbackTracker.js +168 -0
- package/dist/analytics/SemanticTokenUsageTracker.d.ts +79 -0
- package/dist/analytics/SemanticTokenUsageTracker.js +142 -0
- package/dist/analytics/StrategicFlexibilityTracker.d.ts +99 -0
- package/dist/analytics/StrategicFlexibilityTracker.js +165 -0
- package/dist/analytics/TokenUsageTracker.d.ts +87 -0
- package/dist/analytics/TokenUsageTracker.js +128 -0
- package/dist/analytics/UsagePatternAnalyzer.d.ts +64 -0
- package/dist/analytics/UsagePatternAnalyzer.js +126 -0
- package/dist/analytics/index.d.ts +15 -0
- package/dist/analytics/index.js +27 -0
- package/dist/android/DesignTokens.android.kt +695 -0
- package/dist/blend/BlendCalculator.d.ts +65 -0
- package/dist/blend/BlendCalculator.js +98 -0
- package/dist/blend/ColorSpaceUtils.d.ts +164 -0
- package/dist/blend/ColorSpaceUtils.js +292 -0
- package/dist/blend/OklchBlendCalculator.d.ts +64 -0
- package/dist/blend/OklchBlendCalculator.js +77 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +202 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.js +212 -0
- package/dist/blend/index.d.ts +12 -0
- package/dist/blend/index.js +30 -0
- package/dist/browser/demo-styles.css +492 -0
- package/dist/browser/designerpunk.esm.js +18472 -0
- package/dist/browser/designerpunk.esm.min.js +705 -0
- package/dist/browser/designerpunk.umd.js +18540 -0
- package/dist/browser/designerpunk.umd.min.js +705 -0
- package/dist/browser/tokens.css +1028 -0
- package/dist/browser-entry.d.ts +82 -0
- package/dist/browser-entry.js +297 -0
- package/dist/build/BuildOrchestrator.d.ts +89 -0
- package/dist/build/BuildOrchestrator.js +583 -0
- package/dist/build/errors/BuildError.d.ts +87 -0
- package/dist/build/errors/BuildError.js +67 -0
- package/dist/build/errors/ErrorDocumentation.d.ts +66 -0
- package/dist/build/errors/ErrorDocumentation.js +557 -0
- package/dist/build/errors/ErrorHandler.d.ts +120 -0
- package/dist/build/errors/ErrorHandler.js +299 -0
- package/dist/build/errors/ErrorReporter.d.ts +102 -0
- package/dist/build/errors/ErrorReporter.js +397 -0
- package/dist/build/errors/PlatformGenerationError.d.ts +73 -0
- package/dist/build/errors/PlatformGenerationError.js +163 -0
- package/dist/build/errors/RecoveryStrategy.d.ts +145 -0
- package/dist/build/errors/RecoveryStrategy.js +297 -0
- package/dist/build/errors/TokenGenerationError.d.ts +65 -0
- package/dist/build/errors/TokenGenerationError.js +161 -0
- package/dist/build/errors/TokenReferenceError.d.ts +65 -0
- package/dist/build/errors/TokenReferenceError.js +168 -0
- package/dist/build/errors/index.d.ts +18 -0
- package/dist/build/errors/index.js +63 -0
- package/dist/build/index.d.ts +19 -0
- package/dist/build/index.js +26 -0
- package/dist/build/orchestration/IncrementalBuilder.d.ts +180 -0
- package/dist/build/orchestration/IncrementalBuilder.js +393 -0
- package/dist/build/orchestration/ParallelExecutor.d.ts +87 -0
- package/dist/build/orchestration/ParallelExecutor.js +242 -0
- package/dist/build/orchestration/ProgressTracker.d.ts +181 -0
- package/dist/build/orchestration/ProgressTracker.js +371 -0
- package/dist/build/orchestration/SequentialExecutor.d.ts +96 -0
- package/dist/build/orchestration/SequentialExecutor.js +211 -0
- package/dist/build/orchestration/index.d.ts +10 -0
- package/dist/build/orchestration/index.js +17 -0
- package/dist/build/platforms/AndroidBuilder.d.ts +288 -0
- package/dist/build/platforms/AndroidBuilder.js +1134 -0
- package/dist/build/platforms/AndroidShadowGenerator.d.ts +101 -0
- package/dist/build/platforms/AndroidShadowGenerator.js +298 -0
- package/dist/build/platforms/IOSShadowGenerator.d.ts +84 -0
- package/dist/build/platforms/IOSShadowGenerator.js +254 -0
- package/dist/build/platforms/PlatformBuilder.d.ts +111 -0
- package/dist/build/platforms/PlatformBuilder.js +10 -0
- package/dist/build/platforms/WebBuilder.d.ts +294 -0
- package/dist/build/platforms/WebBuilder.js +1133 -0
- package/dist/build/platforms/WebShadowGenerator.d.ts +78 -0
- package/dist/build/platforms/WebShadowGenerator.js +226 -0
- package/dist/build/platforms/iOSBuilder.d.ts +352 -0
- package/dist/build/platforms/iOSBuilder.js +1461 -0
- package/dist/build/platforms/index.d.ts +8 -0
- package/dist/build/platforms/index.js +24 -0
- package/dist/build/product/ProductTokenGenerator.d.ts +62 -0
- package/dist/build/product/ProductTokenGenerator.js +141 -0
- package/dist/build/product/TokenIndexReader.d.ts +28 -0
- package/dist/build/product/TokenIndexReader.js +101 -0
- package/dist/build/product/emitters/KotlinEmitter.d.ts +8 -0
- package/dist/build/product/emitters/KotlinEmitter.js +80 -0
- package/dist/build/product/emitters/SwiftEmitter.d.ts +8 -0
- package/dist/build/product/emitters/SwiftEmitter.js +87 -0
- package/dist/build/product/emitters/WebEmitter.d.ts +8 -0
- package/dist/build/product/emitters/WebEmitter.js +66 -0
- package/dist/build/tokens/ComponentToken.d.ts +239 -0
- package/dist/build/tokens/ComponentToken.js +51 -0
- package/dist/build/tokens/ComponentTokenGenerator.d.ts +117 -0
- package/dist/build/tokens/ComponentTokenGenerator.js +324 -0
- package/dist/build/tokens/PlatformTokens.d.ts +144 -0
- package/dist/build/tokens/PlatformTokens.js +9 -0
- package/dist/build/tokens/TokenIntegrator.d.ts +156 -0
- package/dist/build/tokens/TokenIntegrator.js +259 -0
- package/dist/build/tokens/TokenSelection.d.ts +105 -0
- package/dist/build/tokens/TokenSelection.js +9 -0
- package/dist/build/tokens/TokenSelector.d.ts +73 -0
- package/dist/build/tokens/TokenSelector.js +336 -0
- package/dist/build/tokens/UnitConverter.d.ts +126 -0
- package/dist/build/tokens/UnitConverter.js +222 -0
- package/dist/build/tokens/defineComponentTokens.d.ts +186 -0
- package/dist/build/tokens/defineComponentTokens.js +193 -0
- package/dist/build/tokens/index.d.ts +18 -0
- package/dist/build/tokens/index.js +23 -0
- package/dist/build/tokens/types.d.ts +24 -0
- package/dist/build/tokens/types.js +8 -0
- package/dist/build/types/BuildConfig.d.ts +92 -0
- package/dist/build/types/BuildConfig.js +28 -0
- package/dist/build/types/BuildOrchestrator.d.ts +95 -0
- package/dist/build/types/BuildOrchestrator.js +9 -0
- package/dist/build/types/BuildResult.d.ts +91 -0
- package/dist/build/types/BuildResult.js +10 -0
- package/dist/build/types/Platform.d.ts +25 -0
- package/dist/build/types/Platform.js +39 -0
- package/dist/build/types/index.d.ts +14 -0
- package/dist/build/types/index.js +15 -0
- package/dist/build/validation/AndroidBuildValidator.d.ts +77 -0
- package/dist/build/validation/AndroidBuildValidator.js +562 -0
- package/dist/build/validation/CrossPlatformValidationReporter.d.ts +295 -0
- package/dist/build/validation/CrossPlatformValidationReporter.js +817 -0
- package/dist/build/validation/InterfaceContractValidator.d.ts +102 -0
- package/dist/build/validation/InterfaceContractValidator.js +303 -0
- package/dist/build/validation/InterfaceValidator.d.ts +48 -0
- package/dist/build/validation/InterfaceValidator.js +214 -0
- package/dist/build/validation/MathematicalConsistencyValidator.d.ts +194 -0
- package/dist/build/validation/MathematicalConsistencyValidator.js +656 -0
- package/dist/build/validation/MethodSignatureValidator.d.ts +72 -0
- package/dist/build/validation/MethodSignatureValidator.js +283 -0
- package/dist/build/validation/PropertyTypeValidator.d.ts +73 -0
- package/dist/build/validation/PropertyTypeValidator.js +241 -0
- package/dist/build/validation/TokenComparator.d.ts +221 -0
- package/dist/build/validation/TokenComparator.js +478 -0
- package/dist/build/validation/ValidationReporter.d.ts +173 -0
- package/dist/build/validation/ValidationReporter.example.d.ts +17 -0
- package/dist/build/validation/ValidationReporter.example.js +259 -0
- package/dist/build/validation/ValidationReporter.js +517 -0
- package/dist/build/validation/WebBuildValidator.d.ts +112 -0
- package/dist/build/validation/WebBuildValidator.js +470 -0
- package/dist/build/validation/iOSBuildValidator.d.ts +155 -0
- package/dist/build/validation/iOSBuildValidator.js +670 -0
- package/dist/build/validation/index.d.ts +26 -0
- package/dist/build/validation/index.js +34 -0
- package/dist/build/validation/types/InterfaceDefinition.d.ts +74 -0
- package/dist/build/validation/types/InterfaceDefinition.js +9 -0
- package/dist/build/validation/types/ValidationResult.d.ts +74 -0
- package/dist/build/validation/types/ValidationResult.js +9 -0
- package/dist/build/workflow/BuildMode.d.ts +147 -0
- package/dist/build/workflow/BuildMode.js +205 -0
- package/dist/build/workflow/CICDIntegration.d.ts +179 -0
- package/dist/build/workflow/CICDIntegration.js +347 -0
- package/dist/build/workflow/ConfigHelpers.d.ts +139 -0
- package/dist/build/workflow/ConfigHelpers.example.d.ts +8 -0
- package/dist/build/workflow/ConfigHelpers.example.js +269 -0
- package/dist/build/workflow/ConfigHelpers.js +714 -0
- package/dist/build/workflow/SourceMapGenerator.d.ts +89 -0
- package/dist/build/workflow/SourceMapGenerator.js +268 -0
- package/dist/build/workflow/index.d.ts +13 -0
- package/dist/build/workflow/index.js +23 -0
- package/dist/cli/designerpunk.d.ts +20 -0
- package/dist/cli/designerpunk.js +416 -0
- package/dist/cli/figma-extract.d.ts +64 -0
- package/dist/cli/figma-extract.js +338 -0
- package/dist/cli/figma-push.d.ts +63 -0
- package/dist/cli/figma-push.js +292 -0
- package/dist/cli/generateProductTokens.d.ts +11 -0
- package/dist/cli/generateProductTokens.js +96 -0
- package/dist/cli/init.d.ts +11 -0
- package/dist/cli/init.js +385 -0
- package/dist/cli/loadComponentTokens.d.ts +46 -0
- package/dist/cli/loadComponentTokens.js +163 -0
- package/dist/cli/resolveTokens.d.ts +40 -0
- package/dist/cli/resolveTokens.js +94 -0
- package/dist/cli/shared/mcpDataRoots.d.ts +38 -0
- package/dist/cli/shared/mcpDataRoots.js +75 -0
- package/dist/cli/shared/resolvePackageRoot.d.ts +2 -0
- package/dist/cli/shared/resolvePackageRoot.js +50 -0
- package/dist/cli/shared/transforms.d.ts +13 -0
- package/dist/cli/shared/transforms.js +18 -0
- package/dist/cli/staleness.d.ts +23 -0
- package/dist/cli/staleness.js +113 -0
- package/dist/cli/sync/Applier.d.ts +32 -0
- package/dist/cli/sync/Applier.js +127 -0
- package/dist/cli/sync/Classifier.d.ts +27 -0
- package/dist/cli/sync/Classifier.js +103 -0
- package/dist/cli/sync/FileScanner.d.ts +19 -0
- package/dist/cli/sync/FileScanner.js +82 -0
- package/dist/cli/sync/IgnoreFilter.d.ts +10 -0
- package/dist/cli/sync/IgnoreFilter.js +70 -0
- package/dist/cli/sync/Manifest.d.ts +24 -0
- package/dist/cli/sync/Manifest.js +85 -0
- package/dist/cli/sync/PackageResolver.d.ts +14 -0
- package/dist/cli/sync/PackageResolver.js +67 -0
- package/dist/cli/sync/Prompter.d.ts +22 -0
- package/dist/cli/sync/Prompter.js +169 -0
- package/dist/cli/sync/Reporter.d.ts +11 -0
- package/dist/cli/sync/Reporter.js +66 -0
- package/dist/cli/sync/SteeringDirCheck.d.ts +50 -0
- package/dist/cli/sync/SteeringDirCheck.js +174 -0
- package/dist/cli/sync/index.d.ts +14 -0
- package/dist/cli/sync/index.js +94 -0
- package/dist/cli/validate.d.ts +18 -0
- package/dist/cli/validate.js +147 -0
- package/dist/cli/validateProductTokens.d.ts +10 -0
- package/dist/cli/validateProductTokens.js +84 -0
- package/dist/color/OklchConverter.d.ts +50 -0
- package/dist/color/OklchConverter.js +242 -0
- package/dist/color/OklchValidator.d.ts +49 -0
- package/dist/color/OklchValidator.js +147 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +327 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.js +344 -0
- package/dist/components/core/Avatar-Base/index.d.ts +12 -0
- package/dist/components/core/Avatar-Base/index.js +24 -0
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.d.ts +315 -0
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +803 -0
- package/dist/components/core/Avatar-Base/types.d.ts +72 -0
- package/dist/components/core/Avatar-Base/types.js +21 -0
- package/dist/components/core/Badge-Count-Base/index.d.ts +24 -0
- package/dist/components/core/Badge-Count-Base/index.js +36 -0
- package/dist/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.d.ts +192 -0
- package/dist/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.js +337 -0
- package/dist/components/core/Badge-Count-Base/types.d.ts +137 -0
- package/dist/components/core/Badge-Count-Base/types.js +67 -0
- package/dist/components/core/Badge-Count-Notification/index.d.ts +33 -0
- package/dist/components/core/Badge-Count-Notification/index.js +56 -0
- package/dist/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.d.ts +179 -0
- package/dist/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.js +365 -0
- package/dist/components/core/Badge-Count-Notification/tokens.d.ts +118 -0
- package/dist/components/core/Badge-Count-Notification/tokens.js +120 -0
- package/dist/components/core/Badge-Count-Notification/types.d.ts +112 -0
- package/dist/components/core/Badge-Count-Notification/types.js +33 -0
- package/dist/components/core/Badge-Label-Base/index.d.ts +24 -0
- package/dist/components/core/Badge-Label-Base/index.js +39 -0
- package/dist/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.d.ts +178 -0
- package/dist/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.js +315 -0
- package/dist/components/core/Badge-Label-Base/tokens.d.ts +69 -0
- package/dist/components/core/Badge-Label-Base/tokens.js +81 -0
- package/dist/components/core/Badge-Label-Base/types.d.ts +139 -0
- package/dist/components/core/Badge-Label-Base/types.js +61 -0
- package/dist/components/core/Button-CTA/Button-CTA.tokens.d.ts +73 -0
- package/dist/components/core/Button-CTA/Button-CTA.tokens.js +75 -0
- package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +146 -0
- package/dist/components/core/Button-CTA/examples/BasicUsage.js +231 -0
- package/dist/components/core/Button-CTA/index.d.ts +14 -0
- package/dist/components/core/Button-CTA/index.js +20 -0
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +273 -0
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +635 -0
- package/dist/components/core/Button-CTA/types.d.ts +247 -0
- package/dist/components/core/Button-CTA/types.js +14 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +171 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.js +188 -0
- package/dist/components/core/Button-Icon/platforms/web/ButtonIcon.web.d.ts +267 -0
- package/dist/components/core/Button-Icon/platforms/web/ButtonIcon.web.js +570 -0
- package/dist/components/core/Button-Icon/types.d.ts +177 -0
- package/dist/components/core/Button-Icon/types.js +35 -0
- package/dist/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.d.ts +96 -0
- package/dist/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.js +107 -0
- package/dist/components/core/Button-VerticalList-Item/index.d.ts +19 -0
- package/dist/components/core/Button-VerticalList-Item/index.js +39 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.d.ts +378 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.js +916 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.d.ts +227 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.js +370 -0
- package/dist/components/core/Button-VerticalList-Item/types.d.ts +301 -0
- package/dist/components/core/Button-VerticalList-Item/types.js +16 -0
- package/dist/components/core/Button-VerticalList-Set/index.d.ts +16 -0
- package/dist/components/core/Button-VerticalList-Set/index.js +26 -0
- package/dist/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.d.ts +492 -0
- package/dist/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.js +1263 -0
- package/dist/components/core/Button-VerticalList-Set/types.d.ts +586 -0
- package/dist/components/core/Button-VerticalList-Set/types.js +375 -0
- package/dist/components/core/Chip-Base/index.d.ts +28 -0
- package/dist/components/core/Chip-Base/index.js +40 -0
- package/dist/components/core/Chip-Base/platforms/web/ChipBase.web.d.ts +214 -0
- package/dist/components/core/Chip-Base/platforms/web/ChipBase.web.js +434 -0
- package/dist/components/core/Chip-Base/types.d.ts +174 -0
- package/dist/components/core/Chip-Base/types.js +34 -0
- package/dist/components/core/Chip-Filter/index.d.ts +22 -0
- package/dist/components/core/Chip-Filter/index.js +31 -0
- package/dist/components/core/Chip-Filter/platforms/web/ChipFilter.web.d.ts +222 -0
- package/dist/components/core/Chip-Filter/platforms/web/ChipFilter.web.js +467 -0
- package/dist/components/core/Chip-Filter/types.d.ts +45 -0
- package/dist/components/core/Chip-Filter/types.js +19 -0
- package/dist/components/core/Chip-Input/index.d.ts +22 -0
- package/dist/components/core/Chip-Input/index.js +31 -0
- package/dist/components/core/Chip-Input/platforms/web/ChipInput.web.d.ts +205 -0
- package/dist/components/core/Chip-Input/platforms/web/ChipInput.web.js +419 -0
- package/dist/components/core/Chip-Input/types.d.ts +34 -0
- package/dist/components/core/Chip-Input/types.js +19 -0
- package/dist/components/core/Container-Base/index.d.ts +19 -0
- package/dist/components/core/Container-Base/index.js +34 -0
- package/dist/components/core/Container-Base/platforms/web/ContainerBase.web.d.ts +128 -0
- package/dist/components/core/Container-Base/platforms/web/ContainerBase.web.js +349 -0
- package/dist/components/core/Container-Base/platforms/web/token-mapping.d.ts +357 -0
- package/dist/components/core/Container-Base/platforms/web/token-mapping.js +518 -0
- package/dist/components/core/Container-Base/tokens.d.ts +179 -0
- package/dist/components/core/Container-Base/tokens.js +221 -0
- package/dist/components/core/Container-Base/types.d.ts +237 -0
- package/dist/components/core/Container-Base/types.js +50 -0
- package/dist/components/core/Container-Card-Base/index.d.ts +18 -0
- package/dist/components/core/Container-Card-Base/index.js +49 -0
- package/dist/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.d.ts +58 -0
- package/dist/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.js +324 -0
- package/dist/components/core/Container-Card-Base/tokens.d.ts +149 -0
- package/dist/components/core/Container-Card-Base/tokens.js +207 -0
- package/dist/components/core/Container-Card-Base/types.d.ts +268 -0
- package/dist/components/core/Container-Card-Base/types.js +85 -0
- package/dist/components/core/Icon-Base/index.d.ts +14 -0
- package/dist/components/core/Icon-Base/index.js +27 -0
- package/dist/components/core/Icon-Base/platforms/web/IconBase.web.d.ts +175 -0
- package/dist/components/core/Icon-Base/platforms/web/IconBase.web.js +503 -0
- package/dist/components/core/Icon-Base/types.d.ts +276 -0
- package/dist/components/core/Icon-Base/types.js +69 -0
- package/dist/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.d.ts +30 -0
- package/dist/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.js +39 -0
- package/dist/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.d.ts +147 -0
- package/dist/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.js +486 -0
- package/dist/components/core/Input-Checkbox-Base/types.d.ts +357 -0
- package/dist/components/core/Input-Checkbox-Base/types.js +60 -0
- package/dist/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.d.ts +110 -0
- package/dist/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.js +423 -0
- package/dist/components/core/Input-Checkbox-Legal/types.d.ts +311 -0
- package/dist/components/core/Input-Checkbox-Legal/types.js +69 -0
- package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.d.ts +250 -0
- package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.js +564 -0
- package/dist/components/core/Input-Radio-Base/radio-sizing.tokens.d.ts +30 -0
- package/dist/components/core/Input-Radio-Base/radio-sizing.tokens.js +39 -0
- package/dist/components/core/Input-Radio-Base/types.d.ts +327 -0
- package/dist/components/core/Input-Radio-Base/types.js +63 -0
- package/dist/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.d.ts +304 -0
- package/dist/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.js +691 -0
- package/dist/components/core/Input-Radio-Set/types.d.ts +275 -0
- package/dist/components/core/Input-Radio-Set/types.js +70 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.d.ts +26 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.js +224 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.web.d.ts +116 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.web.js +394 -0
- package/dist/components/core/Input-Text-Base/stateManagement.d.ts +172 -0
- package/dist/components/core/Input-Text-Base/stateManagement.js +224 -0
- package/dist/components/core/Input-Text-Base/tokens.d.ts +331 -0
- package/dist/components/core/Input-Text-Base/tokens.js +164 -0
- package/dist/components/core/Input-Text-Base/types.d.ts +77 -0
- package/dist/components/core/Input-Text-Base/types.js +13 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.d.ts +30 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.js +254 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.d.ts +105 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.js +279 -0
- package/dist/components/core/Input-Text-Email/stateManagement.d.ts +79 -0
- package/dist/components/core/Input-Text-Email/stateManagement.js +136 -0
- package/dist/components/core/Input-Text-Email/tokens.d.ts +20 -0
- package/dist/components/core/Input-Text-Email/tokens.js +34 -0
- package/dist/components/core/Input-Text-Email/types.d.ts +63 -0
- package/dist/components/core/Input-Text-Email/types.js +13 -0
- package/dist/components/core/Input-Text-Email/validation.d.ts +68 -0
- package/dist/components/core/Input-Text-Email/validation.js +115 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.d.ts +44 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.js +376 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.d.ts +137 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +447 -0
- package/dist/components/core/Input-Text-Password/stateManagement.d.ts +119 -0
- package/dist/components/core/Input-Text-Password/stateManagement.js +200 -0
- package/dist/components/core/Input-Text-Password/tokens.d.ts +20 -0
- package/dist/components/core/Input-Text-Password/tokens.js +34 -0
- package/dist/components/core/Input-Text-Password/types.d.ts +145 -0
- package/dist/components/core/Input-Text-Password/types.js +13 -0
- package/dist/components/core/Input-Text-Password/validation.d.ts +81 -0
- package/dist/components/core/Input-Text-Password/validation.js +170 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.d.ts +38 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.js +328 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.d.ts +125 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.js +334 -0
- package/dist/components/core/Input-Text-PhoneNumber/stateManagement.d.ts +114 -0
- package/dist/components/core/Input-Text-PhoneNumber/stateManagement.js +200 -0
- package/dist/components/core/Input-Text-PhoneNumber/tokens.d.ts +20 -0
- package/dist/components/core/Input-Text-PhoneNumber/tokens.js +34 -0
- package/dist/components/core/Input-Text-PhoneNumber/types.d.ts +111 -0
- package/dist/components/core/Input-Text-PhoneNumber/types.js +13 -0
- package/dist/components/core/Input-Text-PhoneNumber/validation.d.ts +120 -0
- package/dist/components/core/Input-Text-PhoneNumber/validation.js +278 -0
- package/dist/components/core/Nav-Header-App/index.d.ts +6 -0
- package/dist/components/core/Nav-Header-App/index.js +3 -0
- package/dist/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.d.ts +12 -0
- package/dist/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.js +34 -0
- package/dist/components/core/Nav-Header-App/types.d.ts +27 -0
- package/dist/components/core/Nav-Header-App/types.js +15 -0
- package/dist/components/core/Nav-Header-Base/index.d.ts +7 -0
- package/dist/components/core/Nav-Header-Base/index.js +8 -0
- package/dist/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.d.ts +26 -0
- package/dist/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.js +105 -0
- package/dist/components/core/Nav-Header-Base/types.d.ts +63 -0
- package/dist/components/core/Nav-Header-Base/types.js +17 -0
- package/dist/components/core/Nav-Header-Page/index.d.ts +7 -0
- package/dist/components/core/Nav-Header-Page/index.js +8 -0
- package/dist/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.d.ts +31 -0
- package/dist/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.js +148 -0
- package/dist/components/core/Nav-Header-Page/types.d.ts +46 -0
- package/dist/components/core/Nav-Header-Page/types.js +16 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/index.d.ts +25 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/index.js +33 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.d.ts +112 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.js +421 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/types.d.ts +54 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/types.js +22 -0
- package/dist/components/core/Nav-TabBar-Base/examples/BasicUsage.d.ts +1 -0
- package/dist/components/core/Nav-TabBar-Base/examples/BasicUsage.js +4 -0
- package/dist/components/core/Nav-TabBar-Base/index.d.ts +14 -0
- package/dist/components/core/Nav-TabBar-Base/index.js +18 -0
- package/dist/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.d.ts +82 -0
- package/dist/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.js +372 -0
- package/dist/components/core/Nav-TabBar-Base/types.d.ts +38 -0
- package/dist/components/core/Nav-TabBar-Base/types.js +17 -0
- package/dist/components/core/Progress-Bar-Base/index.d.ts +7 -0
- package/dist/components/core/Progress-Bar-Base/index.js +6 -0
- package/dist/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.d.ts +24 -0
- package/dist/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.js +121 -0
- package/dist/components/core/Progress-Bar-Base/types.d.ts +44 -0
- package/dist/components/core/Progress-Bar-Base/types.js +23 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/index.d.ts +23 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/index.js +32 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.d.ts +61 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.js +128 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/types.d.ts +64 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/types.js +26 -0
- package/dist/components/core/Progress-Indicator-Label-Base/index.d.ts +22 -0
- package/dist/components/core/Progress-Indicator-Label-Base/index.js +29 -0
- package/dist/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.d.ts +71 -0
- package/dist/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.js +160 -0
- package/dist/components/core/Progress-Indicator-Label-Base/types.d.ts +61 -0
- package/dist/components/core/Progress-Indicator-Label-Base/types.js +18 -0
- package/dist/components/core/Progress-Indicator-Node-Base/index.d.ts +23 -0
- package/dist/components/core/Progress-Indicator-Node-Base/index.js +33 -0
- package/dist/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.d.ts +85 -0
- package/dist/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.js +206 -0
- package/dist/components/core/Progress-Indicator-Node-Base/types.d.ts +141 -0
- package/dist/components/core/Progress-Indicator-Node-Base/types.js +46 -0
- package/dist/components/core/Progress-Pagination-Base/index.d.ts +26 -0
- package/dist/components/core/Progress-Pagination-Base/index.js +37 -0
- package/dist/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.d.ts +86 -0
- package/dist/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.js +256 -0
- package/dist/components/core/Progress-Pagination-Base/types.d.ts +97 -0
- package/dist/components/core/Progress-Pagination-Base/types.js +57 -0
- package/dist/components/core/Progress-Stepper-Base/index.d.ts +26 -0
- package/dist/components/core/Progress-Stepper-Base/index.js +40 -0
- package/dist/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.d.ts +93 -0
- package/dist/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.js +247 -0
- package/dist/components/core/Progress-Stepper-Base/types.d.ts +138 -0
- package/dist/components/core/Progress-Stepper-Base/types.js +98 -0
- package/dist/components/core/Progress-Stepper-Detailed/index.d.ts +27 -0
- package/dist/components/core/Progress-Stepper-Detailed/index.js +41 -0
- package/dist/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.d.ts +97 -0
- package/dist/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.js +290 -0
- package/dist/components/core/Progress-Stepper-Detailed/types.d.ts +152 -0
- package/dist/components/core/Progress-Stepper-Detailed/types.js +102 -0
- package/dist/composition/BlendComposition.d.ts +39 -0
- package/dist/composition/BlendComposition.js +15 -0
- package/dist/composition/BlendCompositionParser.d.ts +63 -0
- package/dist/composition/BlendCompositionParser.js +185 -0
- package/dist/composition/OpacityComposition.d.ts +52 -0
- package/dist/composition/OpacityComposition.js +14 -0
- package/dist/composition/OpacityCompositionParser.d.ts +82 -0
- package/dist/composition/OpacityCompositionParser.js +267 -0
- package/dist/composition/index.d.ts +10 -0
- package/dist/composition/index.js +13 -0
- package/dist/config/ConfigLoader.d.ts +71 -0
- package/dist/config/ConfigLoader.js +140 -0
- package/dist/config/defineConfig.d.ts +66 -0
- package/dist/config/defineConfig.js +35 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.js +11 -0
- package/dist/config/scopedTsRequire.d.ts +45 -0
- package/dist/config/scopedTsRequire.js +50 -0
- package/dist/constants/BaselineGrid.d.ts +31 -0
- package/dist/constants/BaselineGrid.js +39 -0
- package/dist/constants/SpacingTokens.d.ts +45 -0
- package/dist/constants/SpacingTokens.js +56 -0
- package/dist/constants/StrategicFlexibilityTokens.d.ts +121 -0
- package/dist/constants/StrategicFlexibilityTokens.js +93 -0
- package/dist/figma/ComponentAnalysis.d.ts +233 -0
- package/dist/figma/ComponentAnalysis.js +15 -0
- package/dist/figma/ComponentAnalysisGenerator.d.ts +79 -0
- package/dist/figma/ComponentAnalysisGenerator.js +391 -0
- package/dist/figma/ConsoleMCPClient.d.ts +147 -0
- package/dist/figma/ConsoleMCPClient.js +12 -0
- package/dist/figma/ConsoleMCPClientImpl.d.ts +159 -0
- package/dist/figma/ConsoleMCPClientImpl.js +918 -0
- package/dist/figma/DesignExtractor.d.ts +971 -0
- package/dist/figma/DesignExtractor.js +2838 -0
- package/dist/figma/TokenSyncWorkflow.d.ts +277 -0
- package/dist/figma/TokenSyncWorkflow.js +678 -0
- package/dist/figma/TokenTranslator.d.ts +261 -0
- package/dist/figma/TokenTranslator.js +713 -0
- package/dist/figma/VariantAnalyzer.d.ts +233 -0
- package/dist/figma/VariantAnalyzer.js +505 -0
- package/dist/figma/error-reporting.d.ts +89 -0
- package/dist/figma/error-reporting.js +189 -0
- package/dist/figma/index.d.ts +26 -0
- package/dist/figma/index.js +37 -0
- package/dist/figma/portCleanup.d.ts +21 -0
- package/dist/figma/portCleanup.js +76 -0
- package/dist/figma/preflight.d.ts +34 -0
- package/dist/figma/preflight.js +105 -0
- package/dist/generators/BlendUtilityGenerator.d.ts +80 -0
- package/dist/generators/BlendUtilityGenerator.js +788 -0
- package/dist/generators/BlendValueGenerator.d.ts +52 -0
- package/dist/generators/BlendValueGenerator.js +159 -0
- package/dist/generators/DTCGFormatGenerator.d.ts +332 -0
- package/dist/generators/DTCGFormatGenerator.js +1224 -0
- package/dist/generators/DTCGGeneratorConfig.d.ts +41 -0
- package/dist/generators/DTCGGeneratorConfig.js +29 -0
- package/dist/generators/ModeResolvedTokens.d.ts +53 -0
- package/dist/generators/ModeResolvedTokens.js +14 -0
- package/dist/generators/ResponsiveGridGenerator.d.ts +64 -0
- package/dist/generators/ResponsiveGridGenerator.js +234 -0
- package/dist/generators/TokenFileGenerator.d.ts +401 -0
- package/dist/generators/TokenFileGenerator.js +1666 -0
- package/dist/generators/generateTokenFiles.d.ts +24 -0
- package/dist/generators/generateTokenFiles.js +343 -0
- package/dist/generators/generateTokenIndex.d.ts +47 -0
- package/dist/generators/generateTokenIndex.js +226 -0
- package/dist/generators/oklch/OklchExportUtils.d.ts +34 -0
- package/dist/generators/oklch/OklchExportUtils.js +48 -0
- package/dist/generators/oklch/OklchTokenIndexMetadata.d.ts +23 -0
- package/dist/generators/oklch/OklchTokenIndexMetadata.js +21 -0
- package/dist/generators/transformers/FigmaTransformer.d.ts +263 -0
- package/dist/generators/transformers/FigmaTransformer.js +681 -0
- package/dist/generators/transformers/ITokenTransformer.d.ts +51 -0
- package/dist/generators/transformers/ITokenTransformer.js +13 -0
- package/dist/generators/transformers/TransformerRegistry.d.ts +33 -0
- package/dist/generators/transformers/TransformerRegistry.js +59 -0
- package/dist/generators/transformers/index.d.ts +39 -0
- package/dist/generators/transformers/index.js +45 -0
- package/dist/generators/types/DTCGTypes.d.ts +101 -0
- package/dist/generators/types/DTCGTypes.js +12 -0
- package/dist/integration/BuildErrorHandler.d.ts +140 -0
- package/dist/integration/BuildErrorHandler.js +277 -0
- package/dist/integration/BuildSystemInterface.d.ts +107 -0
- package/dist/integration/BuildSystemInterface.js +205 -0
- package/dist/integration/PlatformFileSelector.d.ts +84 -0
- package/dist/integration/PlatformFileSelector.js +215 -0
- package/dist/integration/RegistryCoordinator.d.ts +133 -0
- package/dist/integration/RegistryCoordinator.js +298 -0
- package/dist/integration/TranslationCoordinator.d.ts +118 -0
- package/dist/integration/TranslationCoordinator.js +352 -0
- package/dist/integration/TreeShakingOptimizer.d.ts +111 -0
- package/dist/integration/TreeShakingOptimizer.js +224 -0
- package/dist/integration/ValidationCoordinator.d.ts +268 -0
- package/dist/integration/ValidationCoordinator.js +567 -0
- package/dist/integration/index.d.ts +21 -0
- package/dist/integration/index.js +28 -0
- package/dist/ios/DesignTokens.ios.swift +697 -0
- package/dist/mcp/application-mcp.js +19434 -0
- package/dist/mcp/docs-mcp.js +16895 -0
- package/dist/mcp/product-mcp.js +24828 -0
- package/dist/naming/NamingConventionManager.d.ts +94 -0
- package/dist/naming/NamingConventionManager.js +193 -0
- package/dist/naming/PlatformNamingRules.d.ts +62 -0
- package/dist/naming/PlatformNamingRules.js +174 -0
- package/dist/naming/index.d.ts +9 -0
- package/dist/naming/index.js +18 -0
- package/dist/performance/CachingStrategy.d.ts +131 -0
- package/dist/performance/CachingStrategy.js +348 -0
- package/dist/performance/FileGenerationOptimizer.d.ts +91 -0
- package/dist/performance/FileGenerationOptimizer.js +201 -0
- package/dist/performance/PerformanceMonitor.d.ts +79 -0
- package/dist/performance/PerformanceMonitor.js +142 -0
- package/dist/performance/PerformanceOptimizer.d.ts +106 -0
- package/dist/performance/PerformanceOptimizer.js +241 -0
- package/dist/performance/index.d.ts +14 -0
- package/dist/performance/index.js +17 -0
- package/dist/providers/AndroidFileOrganizer.d.ts +56 -0
- package/dist/providers/AndroidFileOrganizer.js +225 -0
- package/dist/providers/AndroidFormatGenerator.d.ts +151 -0
- package/dist/providers/AndroidFormatGenerator.js +673 -0
- package/dist/providers/AndroidUnitConverter.d.ts +54 -0
- package/dist/providers/AndroidUnitConverter.js +151 -0
- package/dist/providers/FormatProvider.d.ts +103 -0
- package/dist/providers/FormatProvider.js +67 -0
- package/dist/providers/PathProvider.d.ts +114 -0
- package/dist/providers/PathProvider.js +64 -0
- package/dist/providers/UnitProvider.d.ts +65 -0
- package/dist/providers/UnitProvider.js +46 -0
- package/dist/providers/WebFileOrganizer.d.ts +35 -0
- package/dist/providers/WebFileOrganizer.js +113 -0
- package/dist/providers/WebFormatGenerator.d.ts +146 -0
- package/dist/providers/WebFormatGenerator.js +522 -0
- package/dist/providers/WebUnitConverter.d.ts +29 -0
- package/dist/providers/WebUnitConverter.js +99 -0
- package/dist/providers/iOSFileOrganizer.d.ts +42 -0
- package/dist/providers/iOSFileOrganizer.js +148 -0
- package/dist/providers/iOSFormatGenerator.d.ts +130 -0
- package/dist/providers/iOSFormatGenerator.js +512 -0
- package/dist/providers/iOSUnitConverter.d.ts +35 -0
- package/dist/providers/iOSUnitConverter.js +108 -0
- package/dist/providers/index.d.ts +14 -0
- package/dist/providers/index.js +35 -0
- package/dist/registries/ComponentTokenRegistry.d.ts +176 -0
- package/dist/registries/ComponentTokenRegistry.js +222 -0
- package/dist/registries/IRegistry.d.ts +166 -0
- package/dist/registries/IRegistry.js +3 -0
- package/dist/registries/PrimitiveTokenRegistry.d.ts +83 -0
- package/dist/registries/PrimitiveTokenRegistry.js +158 -0
- package/dist/registries/SemanticTokenRegistry.d.ts +92 -0
- package/dist/registries/SemanticTokenRegistry.js +188 -0
- package/dist/resolvers/AndroidColorResolver.d.ts +111 -0
- package/dist/resolvers/AndroidColorResolver.js +255 -0
- package/dist/resolvers/ModeThemeResolver.d.ts +82 -0
- package/dist/resolvers/ModeThemeResolver.js +113 -0
- package/dist/resolvers/SemanticOverrideResolver.d.ts +59 -0
- package/dist/resolvers/SemanticOverrideResolver.js +124 -0
- package/dist/resolvers/SemanticValueResolver.d.ts +20 -0
- package/dist/resolvers/SemanticValueResolver.js +122 -0
- package/dist/resolvers/WebColorResolver.d.ts +63 -0
- package/dist/resolvers/WebColorResolver.js +181 -0
- package/dist/resolvers/iOSColorResolver.d.ts +67 -0
- package/dist/resolvers/iOSColorResolver.js +175 -0
- package/dist/resolvers/index.d.ts +11 -0
- package/dist/resolvers/index.js +18 -0
- package/dist/security/AIAgentRestrictions.d.ts +115 -0
- package/dist/security/AIAgentRestrictions.js +185 -0
- package/dist/security/ContaminationAuditor.d.ts +96 -0
- package/dist/security/ContaminationAuditor.js +293 -0
- package/dist/security/ContaminationPrevention.d.ts +73 -0
- package/dist/security/ContaminationPrevention.js +222 -0
- package/dist/security/DocumentationGuard.d.ts +76 -0
- package/dist/security/DocumentationGuard.js +199 -0
- package/dist/security/FlexibilityTokenGuard.d.ts +136 -0
- package/dist/security/FlexibilityTokenGuard.js +187 -0
- package/dist/security/HumanApprovalWorkflow.d.ts +129 -0
- package/dist/security/HumanApprovalWorkflow.js +213 -0
- package/dist/security/index.d.ts +19 -0
- package/dist/security/index.js +23 -0
- package/dist/testing/index.d.ts +74 -0
- package/dist/testing/index.js +142 -0
- package/dist/testing/jest-preset.d.ts +27 -0
- package/dist/testing/jest-preset.js +94 -0
- package/dist/testing/style-mock.d.ts +1 -0
- package/dist/testing/style-mock.js +9 -0
- package/dist/testing/validators.d.ts +10 -0
- package/dist/testing/validators.js +26 -0
- package/dist/themes/ResolvedThemeSet.d.ts +21 -0
- package/dist/themes/ResolvedThemeSet.js +8 -0
- package/dist/themes/ThemeRegistry.d.ts +52 -0
- package/dist/themes/ThemeRegistry.js +77 -0
- package/dist/tokens/BlendTokens.d.ts +45 -0
- package/dist/tokens/BlendTokens.js +127 -0
- package/dist/tokens/BlurTokens.d.ts +28 -0
- package/dist/tokens/BlurTokens.js +153 -0
- package/dist/tokens/BorderWidthTokens.d.ts +29 -0
- package/dist/tokens/BorderWidthTokens.js +97 -0
- package/dist/tokens/BreakpointTokens.d.ts +29 -0
- package/dist/tokens/BreakpointTokens.js +97 -0
- package/dist/tokens/ColorTokens.d.ts +270 -0
- package/dist/tokens/ColorTokens.js +2085 -0
- package/dist/tokens/DensityTokens.d.ts +36 -0
- package/dist/tokens/DensityTokens.js +113 -0
- package/dist/tokens/DurationTokens.d.ts +47 -0
- package/dist/tokens/DurationTokens.js +108 -0
- package/dist/tokens/EasingTokens.d.ts +47 -0
- package/dist/tokens/EasingTokens.js +159 -0
- package/dist/tokens/FontFamilyTokens.d.ts +24 -0
- package/dist/tokens/FontFamilyTokens.js +92 -0
- package/dist/tokens/FontSizeTokens.d.ts +33 -0
- package/dist/tokens/FontSizeTokens.js +185 -0
- package/dist/tokens/FontWeightTokens.d.ts +29 -0
- package/dist/tokens/FontWeightTokens.js +157 -0
- package/dist/tokens/GlowOpacityTokens.d.ts +41 -0
- package/dist/tokens/GlowOpacityTokens.js +109 -0
- package/dist/tokens/LetterSpacingTokens.d.ts +29 -0
- package/dist/tokens/LetterSpacingTokens.js +109 -0
- package/dist/tokens/LineHeightTokens.d.ts +34 -0
- package/dist/tokens/LineHeightTokens.js +189 -0
- package/dist/tokens/OpacityTokens.d.ts +30 -0
- package/dist/tokens/OpacityTokens.js +219 -0
- package/dist/tokens/RadiusTokens.d.ts +37 -0
- package/dist/tokens/RadiusTokens.js +223 -0
- package/dist/tokens/ScaleTokens.d.ts +62 -0
- package/dist/tokens/ScaleTokens.js +161 -0
- package/dist/tokens/ShadowOffsetTokens.d.ts +69 -0
- package/dist/tokens/ShadowOffsetTokens.js +264 -0
- package/dist/tokens/ShadowOpacityTokens.d.ts +22 -0
- package/dist/tokens/ShadowOpacityTokens.js +112 -0
- package/dist/tokens/SizingTokens.d.ts +35 -0
- package/dist/tokens/SizingTokens.js +220 -0
- package/dist/tokens/SpacingTokens.d.ts +29 -0
- package/dist/tokens/SpacingTokens.js +239 -0
- package/dist/tokens/TapAreaTokens.d.ts +38 -0
- package/dist/tokens/TapAreaTokens.js +115 -0
- package/dist/tokens/color/channels/chroma/chromatic.d.ts +61 -0
- package/dist/tokens/color/channels/chroma/chromatic.js +64 -0
- package/dist/tokens/color/channels/chroma/neutral.d.ts +33 -0
- package/dist/tokens/color/channels/chroma/neutral.js +36 -0
- package/dist/tokens/color/channels/hues.d.ts +27 -0
- package/dist/tokens/color/channels/hues.js +29 -0
- package/dist/tokens/color/channels/index.d.ts +11 -0
- package/dist/tokens/color/channels/index.js +36 -0
- package/dist/tokens/color/channels/lightness/chromatic.d.ts +62 -0
- package/dist/tokens/color/channels/lightness/chromatic.js +65 -0
- package/dist/tokens/color/channels/lightness/neutral.d.ts +34 -0
- package/dist/tokens/color/channels/lightness/neutral.js +37 -0
- package/dist/tokens/color/index.d.ts +16 -0
- package/dist/tokens/color/index.js +47 -0
- package/dist/tokens/color/primitives/chromatic.d.ts +24 -0
- package/dist/tokens/color/primitives/chromatic.js +42 -0
- package/dist/tokens/color/primitives/neutral.d.ts +12 -0
- package/dist/tokens/color/primitives/neutral.js +37 -0
- package/dist/tokens/component/progress.d.ts +101 -0
- package/dist/tokens/component/progress.js +145 -0
- package/dist/tokens/index.d.ts +167 -0
- package/dist/tokens/index.js +341 -0
- package/dist/tokens/semantic/AccessibilityTokens.d.ts +112 -0
- package/dist/tokens/semantic/AccessibilityTokens.js +175 -0
- package/dist/tokens/semantic/BlendTokens.d.ts +112 -0
- package/dist/tokens/semantic/BlendTokens.js +191 -0
- package/dist/tokens/semantic/BorderWidthTokens.d.ts +156 -0
- package/dist/tokens/semantic/BorderWidthTokens.js +147 -0
- package/dist/tokens/semantic/ColorTokens.d.ts +157 -0
- package/dist/tokens/semantic/ColorTokens.js +791 -0
- package/dist/tokens/semantic/ElevationTokens.d.ts +98 -0
- package/dist/tokens/semantic/ElevationTokens.js +158 -0
- package/dist/tokens/semantic/GridSpacingTokens.d.ts +36 -0
- package/dist/tokens/semantic/GridSpacingTokens.js +139 -0
- package/dist/tokens/semantic/IconTokens.d.ts +70 -0
- package/dist/tokens/semantic/IconTokens.js +309 -0
- package/dist/tokens/semantic/LayeringTokens.d.ts +135 -0
- package/dist/tokens/semantic/LayeringTokens.js +163 -0
- package/dist/tokens/semantic/MotionTokens.d.ts +74 -0
- package/dist/tokens/semantic/MotionTokens.js +131 -0
- package/dist/tokens/semantic/OpacityTokens.d.ts +40 -0
- package/dist/tokens/semantic/OpacityTokens.js +87 -0
- package/dist/tokens/semantic/RadiusTokens.d.ts +233 -0
- package/dist/tokens/semantic/RadiusTokens.js +224 -0
- package/dist/tokens/semantic/ShadowTokens.d.ts +55 -0
- package/dist/tokens/semantic/ShadowTokens.js +409 -0
- package/dist/tokens/semantic/SpacingTokens.d.ts +397 -0
- package/dist/tokens/semantic/SpacingTokens.js +243 -0
- package/dist/tokens/semantic/StyleTokens.d.ts +19 -0
- package/dist/tokens/semantic/StyleTokens.js +25 -0
- package/dist/tokens/semantic/TypographyTokens.d.ts +32 -0
- package/dist/tokens/semantic/TypographyTokens.js +376 -0
- package/dist/tokens/semantic/ZIndexTokens.d.ts +61 -0
- package/dist/tokens/semantic/ZIndexTokens.js +107 -0
- package/dist/tokens/semantic/index.d.ts +94 -0
- package/dist/tokens/semantic/index.js +547 -0
- package/dist/tokens/themes/dark/SemanticOverrides.d.ts +16 -0
- package/dist/tokens/themes/dark/SemanticOverrides.js +149 -0
- package/dist/tokens/themes/dark-wcag/SemanticOverrides.d.ts +14 -0
- package/dist/tokens/themes/dark-wcag/SemanticOverrides.js +21 -0
- package/dist/tokens/themes/types.d.ts +22 -0
- package/dist/tokens/themes/types.js +10 -0
- package/dist/tokens/themes/wcag/SemanticOverrides.d.ts +12 -0
- package/dist/tokens/themes/wcag/SemanticOverrides.js +26 -0
- package/dist/tools/ThemeFileGenerator.d.ts +16 -0
- package/dist/tools/ThemeFileGenerator.js +103 -0
- package/dist/tools/integrity/DiskFreshGenerator.d.ts +19 -0
- package/dist/tools/integrity/DiskFreshGenerator.js +68 -0
- package/dist/tools/integrity/GenerationIntegrityCheck.d.ts +31 -0
- package/dist/tools/integrity/GenerationIntegrityCheck.js +137 -0
- package/dist/tools/integrity/Invariants.d.ts +82 -0
- package/dist/tools/integrity/Invariants.js +231 -0
- package/dist/tools/integrity/Normalizer.d.ts +28 -0
- package/dist/tools/integrity/Normalizer.js +122 -0
- package/dist/tools/integrity/ParityNormalizationRules.d.ts +55 -0
- package/dist/tools/integrity/ParityNormalizationRules.js +163 -0
- package/dist/tools/integrity/ParityOrchestrator.d.ts +97 -0
- package/dist/tools/integrity/ParityOrchestrator.js +234 -0
- package/dist/tools/integrity/SemanticComparator.d.ts +24 -0
- package/dist/tools/integrity/SemanticComparator.js +108 -0
- package/dist/tools/integrity/cli/run-audit.d.ts +21 -0
- package/dist/tools/integrity/cli/run-audit.js +178 -0
- package/dist/tools/integrity/inventory.d.ts +26 -0
- package/dist/tools/integrity/inventory.js +48 -0
- package/dist/tools/integrity/manifest.d.ts +44 -0
- package/dist/tools/integrity/manifest.js +54 -0
- package/dist/tools/integrity/types/index.d.ts +146 -0
- package/dist/tools/integrity/types/index.js +21 -0
- package/dist/tools/release/cli/ReleasePipeline.d.ts +28 -0
- package/dist/tools/release/cli/ReleasePipeline.js +184 -0
- package/dist/tools/release/cli/release-tool.d.ts +11 -0
- package/dist/tools/release/cli/release-tool.js +98 -0
- package/dist/tools/release/pipeline/ChangeClassifier.d.ts +13 -0
- package/dist/tools/release/pipeline/ChangeClassifier.js +53 -0
- package/dist/tools/release/pipeline/ChangeExtractor.d.ts +16 -0
- package/dist/tools/release/pipeline/ChangeExtractor.js +80 -0
- package/dist/tools/release/pipeline/NotesRenderer.d.ts +15 -0
- package/dist/tools/release/pipeline/NotesRenderer.js +62 -0
- package/dist/tools/release/pipeline/SummaryScanner.d.ts +16 -0
- package/dist/tools/release/pipeline/SummaryScanner.js +94 -0
- package/dist/tools/release/pipeline/TagResolver.d.ts +15 -0
- package/dist/tools/release/pipeline/TagResolver.js +37 -0
- package/dist/tools/release/pipeline/VersionCalculator.d.ts +34 -0
- package/dist/tools/release/pipeline/VersionCalculator.js +325 -0
- package/dist/tools/release/publishers/GitHubPublisher.d.ts +33 -0
- package/dist/tools/release/publishers/GitHubPublisher.js +239 -0
- package/dist/tools/release/publishers/NpmPublisher.d.ts +49 -0
- package/dist/tools/release/publishers/NpmPublisher.js +226 -0
- package/dist/tools/release/types/index.d.ts +239 -0
- package/dist/tools/release/types/index.js +11 -0
- package/dist/tools/release/validators/SemanticVersionValidator.d.ts +18 -0
- package/dist/tools/release/validators/SemanticVersionValidator.js +56 -0
- package/dist/types/ComponentTypes.d.ts +70 -0
- package/dist/types/ComponentTypes.js +12 -0
- package/dist/types/PrimitiveToken.d.ts +105 -0
- package/dist/types/PrimitiveToken.js +38 -0
- package/dist/types/SemanticToken.d.ts +79 -0
- package/dist/types/SemanticToken.js +27 -0
- package/dist/types/TranslationOutput.d.ts +80 -0
- package/dist/types/TranslationOutput.js +9 -0
- package/dist/types/ValidationResult.d.ts +58 -0
- package/dist/types/ValidationResult.js +9 -0
- package/dist/types/generated/TokenTypes.d.ts +48 -0
- package/dist/types/generated/TokenTypes.js +35 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.js +14 -0
- package/dist/validators/BaselineGridValidator.d.ts +55 -0
- package/dist/validators/BaselineGridValidator.js +96 -0
- package/dist/validators/CompositionPatternValidator.d.ts +75 -0
- package/dist/validators/CompositionPatternValidator.js +178 -0
- package/dist/validators/CrossPlatformConsistencyValidator.d.ts +112 -0
- package/dist/validators/CrossPlatformConsistencyValidator.js +313 -0
- package/dist/validators/ErrorValidator.d.ts +161 -0
- package/dist/validators/ErrorValidator.js +652 -0
- package/dist/validators/IValidator.d.ts +260 -0
- package/dist/validators/IValidator.js +43 -0
- package/dist/validators/MathematicalRelationshipParser.d.ts +112 -0
- package/dist/validators/MathematicalRelationshipParser.js +325 -0
- package/dist/validators/ModeParity.d.ts +37 -0
- package/dist/validators/ModeParity.js +133 -0
- package/dist/validators/PassValidator.d.ts +100 -0
- package/dist/validators/PassValidator.js +400 -0
- package/dist/validators/PlatformConstraintHandler.d.ts +103 -0
- package/dist/validators/PlatformConstraintHandler.js +309 -0
- package/dist/validators/PrimitiveReferenceValidator.d.ts +68 -0
- package/dist/validators/PrimitiveReferenceValidator.js +244 -0
- package/dist/validators/SemanticTokenValidator.d.ts +120 -0
- package/dist/validators/SemanticTokenValidator.js +382 -0
- package/dist/validators/StemmaComponentNamingValidator.d.ts +145 -0
- package/dist/validators/StemmaComponentNamingValidator.js +392 -0
- package/dist/validators/StemmaErrorGuidanceSystem.d.ts +292 -0
- package/dist/validators/StemmaErrorGuidanceSystem.js +1287 -0
- package/dist/validators/StemmaPropertyAccessibilityValidator.d.ts +250 -0
- package/dist/validators/StemmaPropertyAccessibilityValidator.js +642 -0
- package/dist/validators/StemmaTokenUsageValidator.d.ts +135 -0
- package/dist/validators/StemmaTokenUsageValidator.js +503 -0
- package/dist/validators/SyntaxValidator.d.ts +116 -0
- package/dist/validators/SyntaxValidator.js +369 -0
- package/dist/validators/ThreeTierValidator.d.ts +289 -0
- package/dist/validators/ThreeTierValidator.js +533 -0
- package/dist/validators/ToleranceCalculator.d.ts +104 -0
- package/dist/validators/ToleranceCalculator.js +222 -0
- package/dist/validators/ValidationReasoning.d.ts +104 -0
- package/dist/validators/ValidationReasoning.js +307 -0
- package/dist/validators/WCAGValidator.d.ts +108 -0
- package/dist/validators/WCAGValidator.js +188 -0
- package/dist/validators/WarningValidator.d.ts +125 -0
- package/dist/validators/WarningValidator.js +383 -0
- package/dist/validators/buildValidation.d.ts +34 -0
- package/dist/validators/buildValidation.js +135 -0
- package/dist/validators/index.d.ts +32 -0
- package/dist/validators/index.js +105 -0
- package/dist/web/DesignTokens.web.css +929 -0
- package/dist/workflows/ConsistencyValidator.d.ts +91 -0
- package/dist/workflows/ConsistencyValidator.js +272 -0
- package/dist/workflows/TokenGenerationWorkflow.d.ts +129 -0
- package/dist/workflows/TokenGenerationWorkflow.js +316 -0
- package/dist/workflows/ValidationPipeline.d.ts +103 -0
- package/dist/workflows/ValidationPipeline.js +213 -0
- package/dist/workflows/WorkflowErrorHandler.d.ts +141 -0
- package/dist/workflows/WorkflowErrorHandler.js +357 -0
- package/experience-patterns/README.md +160 -0
- package/experience-patterns/content-preview.yaml +48 -0
- package/experience-patterns/dashboard.yaml +97 -0
- package/experience-patterns/empty-state.yaml +50 -0
- package/experience-patterns/multi-section-form.yaml +105 -0
- package/experience-patterns/notification-list.yaml +109 -0
- package/experience-patterns/onboarding.yaml +197 -0
- package/experience-patterns/settings.yaml +98 -0
- package/experience-patterns/simple-form.yaml +41 -0
- package/experience-patterns/view-edit-screen.yaml +125 -0
- package/family-guidance/README.md +115 -0
- package/family-guidance/avatars.yaml +63 -0
- package/family-guidance/badges.yaml +76 -0
- package/family-guidance/button.yaml +108 -0
- package/family-guidance/chips.yaml +82 -0
- package/family-guidance/container.yaml +69 -0
- package/family-guidance/form-inputs.yaml +104 -0
- package/family-guidance/icons.yaml +87 -0
- package/family-guidance/navigation.yaml +96 -0
- package/family-guidance/progress.yaml +85 -0
- package/family-registry.yaml +49 -0
- package/governance/AI-Collaboration-Framework.md +305 -0
- package/governance/BUILD-SYSTEM-SETUP.md +233 -0
- package/governance/Component-Development-Guide.md +1876 -0
- package/governance/Component-Development-Standards.md +1189 -0
- package/governance/Component-Family-Avatar.md +290 -0
- package/governance/Component-Family-Badge.md +479 -0
- package/governance/Component-Family-Button.md +671 -0
- package/governance/Component-Family-Chip.md +431 -0
- package/governance/Component-Family-Container.md +671 -0
- package/governance/Component-Family-Data-Display.md +149 -0
- package/governance/Component-Family-Divider.md +138 -0
- package/governance/Component-Family-Form-Inputs.md +1365 -0
- package/governance/Component-Family-Icon.md +364 -0
- package/governance/Component-Family-Loading.md +143 -0
- package/governance/Component-Family-Modal.md +151 -0
- package/governance/Component-Family-Navigation.md +266 -0
- package/governance/Component-Family-Progress.md +488 -0
- package/governance/Component-Inheritance-Structures.md +687 -0
- package/governance/Component-MCP-Document-Template.md +722 -0
- package/governance/Component-Meta-Data-Shapes-Governance.md +120 -0
- package/governance/Component-Primitive-vs-Semantic-Philosophy.md +404 -0
- package/governance/Component-Quick-Reference.md +304 -0
- package/governance/Component-Readiness-Status.md +660 -0
- package/governance/Component-Schema-Format.md +379 -0
- package/governance/Component-Templates.md +1118 -0
- package/governance/Contract-System-Reference.md +255 -0
- package/governance/DTCG-Integration-Guide.md +573 -0
- package/governance/DesignerPunk-Integration-Guide.md +1005 -0
- package/governance/Figma-Workflow-Guide.md +479 -0
- package/governance/Layout-Specification-Vocabulary.md +550 -0
- package/governance/MCP-Evolution-Roadmap.md +228 -0
- package/governance/MCP-Integration-Guide.md +509 -0
- package/governance/MCP-Relationship-Model.md +363 -0
- package/governance/Platform-Resource-Map.md +70 -0
- package/governance/Process-Cross-Reference-Standards.md +665 -0
- package/governance/Process-Development-Workflow.md +310 -0
- package/governance/Process-File-Organization.md +693 -0
- package/governance/Process-Hook-Operations.md +1196 -0
- package/governance/Process-Integration-Methodology.md +142 -0
- package/governance/Process-Spec-Planning.md +2988 -0
- package/governance/Process-Task-Type-Definitions.md +378 -0
- package/governance/Product-Handoff-Protocol.md +258 -0
- package/governance/Product-Token-Governance.md +307 -0
- package/governance/Rosetta-System-Architecture.md +648 -0
- package/governance/Steering-Addressing-Conventions.md +105 -0
- package/governance/Test-Behavioral-Contract-Validation.md +638 -0
- package/governance/Test-Development-Standards.md +2094 -0
- package/governance/Test-Failure-Audit-Methodology.md +1475 -0
- package/governance/Token-Family-Accessibility.md +656 -0
- package/governance/Token-Family-Blend.md +503 -0
- package/governance/Token-Family-Blur.md +115 -0
- package/governance/Token-Family-Border.md +477 -0
- package/governance/Token-Family-Color.md +317 -0
- package/governance/Token-Family-Glow.md +473 -0
- package/governance/Token-Family-Layering.md +685 -0
- package/governance/Token-Family-Motion.md +690 -0
- package/governance/Token-Family-Opacity.md +578 -0
- package/governance/Token-Family-Radius.md +428 -0
- package/governance/Token-Family-Responsive.md +798 -0
- package/governance/Token-Family-Shadow.md +758 -0
- package/governance/Token-Family-Sizing.md +102 -0
- package/governance/Token-Family-Spacing.md +632 -0
- package/governance/Token-Family-Typography.md +598 -0
- package/governance/Token-Governance.md +658 -0
- package/governance/Token-Quick-Reference.md +382 -0
- package/governance/Token-Resolution-Patterns.md +537 -0
- package/governance/Token-Semantic-Structure.md +776 -0
- package/governance/Transformer-Development-Guide.md +490 -0
- package/governance/Web-Authoring-Standards.md +403 -0
- package/governance/a-vision-of-the-future.md +686 -0
- package/governance/browser-distribution-guide.md +580 -0
- package/governance/completion-documentation-guide.md +371 -0
- package/governance/component-mcp-query-guide.md +500 -0
- package/governance/component-meta-authoring-guide.md +235 -0
- package/governance/component-metadata-schema-reference.md +227 -0
- package/governance/cross-platform-vs-platform-specific-decision-framework.md +355 -0
- package/governance/platform-implementation-guidelines.md +818 -0
- package/governance/release-management-system.md +89 -0
- package/governance/rosetta-system-principles.md +593 -0
- package/governance/stemma-system-principles.md +900 -0
- package/governance/technology-stack.md +97 -0
- package/layout-templates/centered-content-page.yaml +26 -0
- package/layout-templates/full-width-page.yaml +24 -0
- package/layout-templates/multi-zone-page.yaml +56 -0
- package/layout-templates/sidebar-page.yaml +41 -0
- package/mcp-server/package.json +33 -0
- package/mcp-server/src/discovery-dry-run/__tests__/discovery-dry-run.test.ts +210 -0
- package/mcp-server/src/discovery-dry-run/discovery-dry-run.ts +224 -0
- package/mcp-server/src/id-guard/__tests__/backfill-doc-ids.test.ts +123 -0
- package/mcp-server/src/id-guard/__tests__/check-id-uniqueness.test.ts +138 -0
- package/mcp-server/src/id-guard/backfill-doc-ids.ts +180 -0
- package/mcp-server/src/id-guard/check-id-uniqueness.ts +165 -0
- package/mcp-server/src/id-guard/manifest-consistency.ts +77 -0
- package/mcp-server/src/index.ts +439 -0
- package/mcp-server/src/indexer/DocumentIndexer.ts +808 -0
- package/mcp-server/src/indexer/__tests__/DocumentIndexer.resolver.test.ts +298 -0
- package/mcp-server/src/indexer/__tests__/DocumentIndexer.test.ts +682 -0
- package/mcp-server/src/indexer/__tests__/conditional-filter.test.ts +367 -0
- package/mcp-server/src/indexer/__tests__/cross-ref-parser.test.ts +331 -0
- package/mcp-server/src/indexer/__tests__/frontmatter-parser.test.ts +192 -0
- package/mcp-server/src/indexer/__tests__/heading-parser.test.ts +227 -0
- package/mcp-server/src/indexer/__tests__/index-health.test.ts +393 -0
- package/mcp-server/src/indexer/__tests__/metadata-parser.test.ts +234 -0
- package/mcp-server/src/indexer/__tests__/section-parser.test.ts +494 -0
- package/mcp-server/src/indexer/conditional-filter.ts +282 -0
- package/mcp-server/src/indexer/cross-ref-parser.ts +65 -0
- package/mcp-server/src/indexer/frontmatter-parser.ts +192 -0
- package/mcp-server/src/indexer/heading-parser.ts +65 -0
- package/mcp-server/src/indexer/index-health.ts +228 -0
- package/mcp-server/src/indexer/metadata-parser.ts +81 -0
- package/mcp-server/src/indexer/section-parser.ts +296 -0
- package/mcp-server/src/legacy-path/__tests__/generate-manifest.test.ts +188 -0
- package/mcp-server/src/legacy-path/__tests__/reseed-integration.test.ts +113 -0
- package/mcp-server/src/legacy-path/generate-manifest.ts +214 -0
- package/mcp-server/src/legacy-path/index.ts +48 -0
- package/mcp-server/src/legacy-path/legacy-path-manifest.ts +160 -0
- package/mcp-server/src/models/CrossReference.ts +19 -0
- package/mcp-server/src/models/DocumentFull.ts +26 -0
- package/mcp-server/src/models/DocumentSummary.ts +53 -0
- package/mcp-server/src/models/DocumentationMap.ts +90 -0
- package/mcp-server/src/models/IndexHealth.ts +44 -0
- package/mcp-server/src/models/LegacyPathManifest.ts +37 -0
- package/mcp-server/src/models/MetadataValidation.ts +30 -0
- package/mcp-server/src/models/Section.ts +38 -0
- package/mcp-server/src/models/index.ts +14 -0
- package/mcp-server/src/query/QueryEngine.ts +860 -0
- package/mcp-server/src/query/__tests__/QueryEngine.test.ts +438 -0
- package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +406 -0
- package/mcp-server/src/query/__tests__/find-docs-rubric.test.ts +227 -0
- package/mcp-server/src/query/__tests__/stop-words.test.ts +40 -0
- package/mcp-server/src/query/stop-words.ts +74 -0
- package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +236 -0
- package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +637 -0
- package/mcp-server/src/rules/workflow-rules.ts +105 -0
- package/mcp-server/src/staleness/StalenessGate.ts +112 -0
- package/mcp-server/src/staleness/__tests__/StalenessGate.test.ts +214 -0
- package/mcp-server/src/tools/__tests__/get-document-full.test.ts +256 -0
- package/mcp-server/src/tools/__tests__/get-document-summary.test.ts +273 -0
- package/mcp-server/src/tools/__tests__/get-documentation-map.test.ts +357 -0
- package/mcp-server/src/tools/__tests__/get-health-status.test.ts +223 -0
- package/mcp-server/src/tools/__tests__/get-index-health.test.ts +184 -0
- package/mcp-server/src/tools/__tests__/get-section.test.ts +457 -0
- package/mcp-server/src/tools/__tests__/list-cross-references.test.ts +279 -0
- package/mcp-server/src/tools/__tests__/rebuild-index.test.ts +214 -0
- package/mcp-server/src/tools/__tests__/validate-metadata.test.ts +296 -0
- package/mcp-server/src/tools/find-docs.ts +154 -0
- package/mcp-server/src/tools/get-document-full.ts +165 -0
- package/mcp-server/src/tools/get-document-summary.ts +198 -0
- package/mcp-server/src/tools/get-health-status.ts +137 -0
- package/mcp-server/src/tools/get-index-health.ts +100 -0
- package/mcp-server/src/tools/get-section.ts +308 -0
- package/mcp-server/src/tools/index.ts +106 -0
- package/mcp-server/src/tools/list-cross-references.ts +167 -0
- package/mcp-server/src/tools/rebuild-index.ts +101 -0
- package/mcp-server/src/tools/validate-metadata.ts +167 -0
- package/mcp-server/src/utils/__tests__/error-handler.test.ts +256 -0
- package/mcp-server/src/utils/__tests__/token-estimator.test.ts +87 -0
- package/mcp-server/src/utils/error-handler.ts +261 -0
- package/mcp-server/src/utils/token-estimator.ts +35 -0
- package/mcp-server/src/watcher/FileWatcher.ts +156 -0
- package/mcp-server/src/watcher/__tests__/FileWatcher.test.ts +293 -0
- package/mcp-server/src/watcher/index.ts +1 -0
- package/mcp-server/tsconfig.json +24 -0
- package/package.json +167 -0
- package/product-template/agents/README.md +73 -0
- package/product-template/agents/ada-prompt.md +83 -0
- package/product-template/agents/data-prompt.md +74 -0
- package/product-template/agents/kenya-prompt.md +74 -0
- package/product-template/agents/leonardo-prompt.md +99 -0
- package/product-template/agents/lina-prompt.md +61 -0
- package/product-template/agents/sparky-prompt.md +66 -0
- package/product-template/agents/stacy-prompt.md +51 -0
- package/product-template/agents/thurgood-prompt.md +64 -0
- package/src/TokenEngine.ts +628 -0
- package/src/__tests__/BuildSystemIntegration.test.ts +485 -0
- package/src/__tests__/ProductMCPIntegration.test.ts +204 -0
- package/src/__tests__/__mocks__/styleMock.js +18 -0
- package/src/__tests__/browser-distribution/build-error-handling.test.ts +143 -0
- package/src/__tests__/browser-distribution/bundle-loading.test.ts +353 -0
- package/src/__tests__/browser-distribution/bundler-resolution.test.ts +223 -0
- package/src/__tests__/browser-distribution/component-registration.test.ts +217 -0
- package/src/__tests__/browser-distribution/css-bundling.test.ts +231 -0
- package/src/__tests__/browser-distribution/demo-system.test.ts +588 -0
- package/src/__tests__/browser-distribution/mcp-format-compliance.property.test.ts +379 -0
- package/src/__tests__/browser-distribution/mcp-queryability.test.ts +342 -0
- package/src/__tests__/browser-distribution/minification-effectiveness.property.test.ts +188 -0
- package/src/__tests__/browser-distribution/registration-idempotency.property.test.ts +372 -0
- package/src/__tests__/browser-distribution/soft-ceiling-warning.test.ts +161 -0
- package/src/__tests__/browser-distribution/token-completeness.property.test.ts +412 -0
- package/src/__tests__/browser-distribution/token-loading.test.ts +344 -0
- package/src/__tests__/browser-distribution/umd-bundle-loading.test.ts +169 -0
- package/src/__tests__/examples/improved-test-example.test.ts +120 -0
- package/src/__tests__/expected-exports.json +66 -0
- package/src/__tests__/export-contracts.test.ts +83 -0
- package/src/__tests__/fixtures/acknowledged-differences.json +127 -0
- package/src/__tests__/fixtures/acknowledged-differences.schema.json +113 -0
- package/src/__tests__/fixtures/acknowledged-differences.types.ts +230 -0
- package/src/__tests__/fixtures/tokenFixtures.ts +248 -0
- package/src/__tests__/helpers/configModuleLoader.ts +20 -0
- package/src/__tests__/helpers/tsModuleLoader.ts +24 -0
- package/src/__tests__/helpers/web-component-test-utils.ts +39 -0
- package/src/__tests__/integration/BlendCrossPlatformConsistency.test.ts +505 -0
- package/src/__tests__/integration/BuildSystemCompatibility.test.ts +551 -0
- package/src/__tests__/integration/CrossPlatformConsistency.test.ts +855 -0
- package/src/__tests__/integration/EndToEndWorkflow.test.ts +601 -0
- package/src/__tests__/integration/ErrorHandling.test.ts +459 -0
- package/src/__tests__/integration/OpacityPlatformTranslation.test.ts +364 -0
- package/src/__tests__/integration/PerformanceValidation.test.ts +887 -0
- package/src/__tests__/integration/SemanticTokenGeneration.test.ts +451 -0
- package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +123 -0
- package/src/__tests__/integration/TokenSystemIntegration.test.ts +890 -0
- package/src/__tests__/integration/ValidationPipeline.test.ts +404 -0
- package/src/__tests__/package-drift-validation.test.ts +249 -0
- package/src/__tests__/performance/GenerationPerformance.test.ts +409 -0
- package/src/__tests__/performance/OptimizationValidation.test.ts +509 -0
- package/src/__tests__/platform-parity/ProgressPlatformParity.test.ts +546 -0
- package/src/__tests__/spec073-opacity-architecture.test.ts +344 -0
- package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +467 -0
- package/src/__tests__/stemma-system/composition-compliance-validation.test.ts +162 -0
- package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +156 -0
- package/src/__tests__/stemma-system/contract-existence-validation.test.ts +43 -0
- package/src/__tests__/stemma-system/contract-test-reporter.ts +269 -0
- package/src/__tests__/stemma-system/cross-platform-consistency.test.ts +564 -0
- package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +503 -0
- package/src/__tests__/stemma-system/mcp-component-integration.test.ts +445 -0
- package/src/analytics/PrimitiveTokenFallbackTracker.ts +228 -0
- package/src/analytics/SemanticTokenUsageTracker.ts +193 -0
- package/src/analytics/StrategicFlexibilityTracker.ts +226 -0
- package/src/analytics/TokenUsageTracker.ts +177 -0
- package/src/analytics/UsagePatternAnalyzer.ts +177 -0
- package/src/analytics/__tests__/UsageTracking.test.ts +647 -0
- package/src/analytics/index.ts +42 -0
- package/src/assets/fonts/__tests__/androidFontLoadingValidation.test.ts +600 -0
- package/src/assets/fonts/__tests__/fontLoading.test.ts +341 -0
- package/src/assets/fonts/__tests__/iosFontConfiguration.test.ts +256 -0
- package/src/assets/fonts/__tests__/iosFontLoadingValidation.test.ts +465 -0
- package/src/assets/fonts/commit-mono/CommitMono-400-Italic.otf +0 -0
- package/src/assets/fonts/commit-mono/CommitMono-400-Regular.otf +0 -0
- package/src/assets/fonts/commit-mono/CommitMono-700-Italic.otf +0 -0
- package/src/assets/fonts/commit-mono/CommitMono-700-Regular.otf +0 -0
- package/src/assets/fonts/commit-mono/commit-mono.css +45 -0
- package/src/assets/fonts/commit-mono/custom-settings.json +1 -0
- package/src/assets/fonts/commit-mono/installation.txt +11 -0
- package/src/assets/fonts/commit-mono/license.txt +92 -0
- package/src/assets/fonts/figtree/Figtree-Italic-VariableFont_wght.ttf +0 -0
- package/src/assets/fonts/figtree/Figtree-VariableFont_wght.ttf +0 -0
- package/src/assets/fonts/figtree/OFL.txt +93 -0
- package/src/assets/fonts/figtree/README.txt +77 -0
- package/src/assets/fonts/figtree/figtree.css +27 -0
- package/src/assets/fonts/figtree/static/Figtree-Black.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-BlackItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Bold.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-BoldItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-ExtraBold.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-ExtraBoldItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Italic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Light.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-LightItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Medium.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-MediumItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Regular.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-SemiBold.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-SemiBoldItalic.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Bold.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
- package/src/assets/fonts/inter/Inter-Medium.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
- package/src/assets/fonts/inter/Inter-Regular.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
- package/src/assets/fonts/inter/Inter-SemiBold.ttf +0 -0
- package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
- package/src/assets/fonts/inter/inter.css +49 -0
- package/src/assets/fonts/rajdhani/OFL.txt +91 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Bold.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Bold.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Bold.woff2 +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Light.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Medium.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Medium.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Medium.woff2 +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Regular.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Regular.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Regular.woff2 +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-SemiBold.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-SemiBold.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-SemiBold.woff2 +0 -0
- package/src/assets/fonts/rajdhani/rajdhani.css +53 -0
- package/src/blend/BlendCalculator.ts +120 -0
- package/src/blend/ColorSpaceUtils.ts +325 -0
- package/src/blend/OklchBlendCalculator.ts +79 -0
- package/src/blend/ThemeAwareBlendUtilities.android.kt +367 -0
- package/src/blend/ThemeAwareBlendUtilities.ios.swift +325 -0
- package/src/blend/ThemeAwareBlendUtilities.web.ts +315 -0
- package/src/blend/__tests__/BlendCalculator.test.ts +393 -0
- package/src/blend/__tests__/BlendUtilities.property.test.ts +600 -0
- package/src/blend/__tests__/ColorSpaceUtils.test.ts +885 -0
- package/src/blend/__tests__/InteractionStateAudit.test.ts +235 -0
- package/src/blend/__tests__/OklchBlendCalculator.test.ts +134 -0
- package/src/blend/__tests__/ThemeAwareBlendUtilities.test.ts +200 -0
- package/src/blend/__tests__/ThemeSwitching.test.ts +508 -0
- package/src/blend/index.ts +37 -0
- package/src/browser-entry.ts +270 -0
- package/src/build/.gitkeep +1 -0
- package/src/build/BuildOrchestrator.ts +663 -0
- package/src/build/__tests__/AndroidBuildIntegration.test.ts +437 -0
- package/src/build/__tests__/AndroidMotionTokenGeneration.test.ts +256 -0
- package/src/build/__tests__/BuildOrchestrator.test.ts +562 -0
- package/src/build/__tests__/MotionTokenCrossPlatformIntegration.test.ts +424 -0
- package/src/build/__tests__/WebCSSTokenGeneration.test.ts +271 -0
- package/src/build/__tests__/WebMotionTokenGeneration.test.ts +305 -0
- package/src/build/__tests__/WebNPMPackageStructure.test.ts +447 -0
- package/src/build/__tests__/iOSMotionTokenGeneration.test.ts +298 -0
- package/src/build/errors/BuildError.ts +140 -0
- package/src/build/errors/ErrorDocumentation.ts +638 -0
- package/src/build/errors/ErrorHandler.ts +406 -0
- package/src/build/errors/ErrorReporter.ts +573 -0
- package/src/build/errors/PlatformGenerationError.ts +201 -0
- package/src/build/errors/README.md +486 -0
- package/src/build/errors/RecoveryStrategy.ts +393 -0
- package/src/build/errors/TokenGenerationError.ts +196 -0
- package/src/build/errors/TokenReferenceError.ts +204 -0
- package/src/build/errors/__tests__/BuildError.test.ts +212 -0
- package/src/build/errors/__tests__/ErrorDocumentation.example.ts +272 -0
- package/src/build/errors/__tests__/ErrorDocumentation.test.ts +458 -0
- package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +295 -0
- package/src/build/errors/__tests__/ErrorHandler.test.ts +497 -0
- package/src/build/errors/__tests__/ErrorReporter.test.ts +581 -0
- package/src/build/errors/__tests__/MotionTokenErrors.test.ts +392 -0
- package/src/build/errors/__tests__/RecoveryStrategy.test.ts +643 -0
- package/src/build/errors/index.ts +90 -0
- package/src/build/index.ts +73 -0
- package/src/build/orchestration/IncrementalBuilder.ts +532 -0
- package/src/build/orchestration/ParallelExecutor.ts +336 -0
- package/src/build/orchestration/ProgressTracker.ts +582 -0
- package/src/build/orchestration/SequentialExecutor.ts +305 -0
- package/src/build/orchestration/__tests__/IncrementalBuilder.test.ts +354 -0
- package/src/build/orchestration/__tests__/ParallelExecutor.integration.test.ts +295 -0
- package/src/build/orchestration/__tests__/ParallelExecutor.test.ts +493 -0
- package/src/build/orchestration/__tests__/ProgressTracker.test.ts +529 -0
- package/src/build/orchestration/__tests__/SequentialExecutor.integration.test.ts +202 -0
- package/src/build/orchestration/__tests__/SequentialExecutor.test.ts +232 -0
- package/src/build/orchestration/index.ts +35 -0
- package/src/build/platforms/.gitkeep +1 -0
- package/src/build/platforms/AndroidBuilder.ts +1366 -0
- package/src/build/platforms/AndroidShadowGenerator.ts +394 -0
- package/src/build/platforms/IOSShadowGenerator.ts +324 -0
- package/src/build/platforms/PlatformBuilder.ts +131 -0
- package/src/build/platforms/WebBuilder.ts +1414 -0
- package/src/build/platforms/WebShadowGenerator.ts +288 -0
- package/src/build/platforms/__tests__/AndroidBuilder.tokenGeneration.test.ts +146 -0
- package/src/build/platforms/__tests__/AndroidShadowGenerator.test.ts +195 -0
- package/src/build/platforms/__tests__/IOSShadowGenerator.test.ts +156 -0
- package/src/build/platforms/__tests__/WebShadowGenerator.test.ts +123 -0
- package/src/build/platforms/__tests__/iOSBuilder.test.ts +1599 -0
- package/src/build/platforms/iOSBuilder.ts +1746 -0
- package/src/build/platforms/index.ts +9 -0
- package/src/build/product/ProductTokenGenerator.ts +162 -0
- package/src/build/product/TokenIndexReader.ts +78 -0
- package/src/build/product/__tests__/KotlinEmitter.test.ts +109 -0
- package/src/build/product/__tests__/ProductTokenGenerator.test.ts +135 -0
- package/src/build/product/__tests__/SwiftEmitter.test.ts +90 -0
- package/src/build/product/__tests__/TokenIndexReader.test.ts +85 -0
- package/src/build/product/__tests__/WebEmitter.test.ts +111 -0
- package/src/build/product/__tests__/fixtures/tokens/layout.yaml +21 -0
- package/src/build/product/__tests__/fixtures/tokens/motion.yaml +11 -0
- package/src/build/product/__tests__/fixtures/tokens/visualization.yaml +8 -0
- package/src/build/product/emitters/KotlinEmitter.ts +83 -0
- package/src/build/product/emitters/SwiftEmitter.ts +95 -0
- package/src/build/product/emitters/WebEmitter.ts +69 -0
- package/src/build/tokens/.gitkeep +1 -0
- package/src/build/tokens/ComponentToken.ts +285 -0
- package/src/build/tokens/ComponentTokenGenerator.ts +376 -0
- package/src/build/tokens/PlatformTokens.ts +188 -0
- package/src/build/tokens/TokenIntegrator.ts +410 -0
- package/src/build/tokens/TokenSelection.ts +130 -0
- package/src/build/tokens/TokenSelector.ts +394 -0
- package/src/build/tokens/UnitConverter.ts +320 -0
- package/src/build/tokens/__tests__/ClassInvariantGuard.test.ts +167 -0
- package/src/build/tokens/__tests__/ComponentTokenGenerator.test.ts +285 -0
- package/src/build/tokens/__tests__/TokenIntegrator.test.ts +319 -0
- package/src/build/tokens/__tests__/TokenSelector.test.ts +264 -0
- package/src/build/tokens/__tests__/UnitConverter.applyScaleWithRounding.test.ts +160 -0
- package/src/build/tokens/__tests__/UnitConverter.test.ts +331 -0
- package/src/build/tokens/__tests__/brand-dual-instance.test.ts +135 -0
- package/src/build/tokens/__tests__/defineComponentTokens.test.ts +440 -0
- package/src/build/tokens/defineComponentTokens.ts +286 -0
- package/src/build/tokens/index.ts +44 -0
- package/src/build/tokens/types.ts +26 -0
- package/src/build/types/.gitkeep +1 -0
- package/src/build/types/BuildConfig.ts +123 -0
- package/src/build/types/BuildOrchestrator.ts +114 -0
- package/src/build/types/BuildResult.ts +125 -0
- package/src/build/types/Platform.ts +49 -0
- package/src/build/types/index.ts +39 -0
- package/src/build/validation/.gitkeep +1 -0
- package/src/build/validation/AndroidBuildValidator.ts +630 -0
- package/src/build/validation/CrossPlatformValidationReporter.ts +1267 -0
- package/src/build/validation/InterfaceContractValidator.ts +417 -0
- package/src/build/validation/InterfaceValidator.ts +326 -0
- package/src/build/validation/MathematicalConsistencyValidator.ts +874 -0
- package/src/build/validation/MethodSignatureValidator.ts +374 -0
- package/src/build/validation/PropertyTypeValidator.ts +312 -0
- package/src/build/validation/TokenComparator.ts +796 -0
- package/src/build/validation/ValidationReporter.example.ts +310 -0
- package/src/build/validation/ValidationReporter.ts +745 -0
- package/src/build/validation/WebBuildValidator.ts +583 -0
- package/src/build/validation/__tests__/AndroidBuildValidator.test.ts +522 -0
- package/src/build/validation/__tests__/CrossPlatformValidationReporter.test.ts +593 -0
- package/src/build/validation/__tests__/InterfaceContractValidator.test.ts +647 -0
- package/src/build/validation/__tests__/InterfaceValidation.functional.test.ts +360 -0
- package/src/build/validation/__tests__/InterfaceValidator.test.ts +318 -0
- package/src/build/validation/__tests__/MethodSignatureValidator.test.ts +625 -0
- package/src/build/validation/__tests__/MotionTokenCrossPlatformValidation.test.ts +305 -0
- package/src/build/validation/__tests__/MotionTokenValidation.test.ts +309 -0
- package/src/build/validation/__tests__/PropertyTypeValidator.test.ts +557 -0
- package/src/build/validation/__tests__/TokenComparator.test.ts +358 -0
- package/src/build/validation/__tests__/ValidationReporter.integration.test.ts +424 -0
- package/src/build/validation/__tests__/ValidationReporter.test.ts +793 -0
- package/src/build/validation/__tests__/WebBuildValidator.test.ts +495 -0
- package/src/build/validation/iOSBuildValidator.ts +783 -0
- package/src/build/validation/index.ts +74 -0
- package/src/build/validation/types/InterfaceDefinition.ts +101 -0
- package/src/build/validation/types/ValidationResult.ts +114 -0
- package/src/build/workflow/BuildMode.ts +336 -0
- package/src/build/workflow/CICDIntegration.ts +503 -0
- package/src/build/workflow/ConfigHelpers.example.ts +317 -0
- package/src/build/workflow/ConfigHelpers.ts +834 -0
- package/src/build/workflow/README.md +327 -0
- package/src/build/workflow/SourceMapGenerator.ts +362 -0
- package/src/build/workflow/__tests__/BuildMode.test.ts +544 -0
- package/src/build/workflow/__tests__/CICDIntegration.test.ts +591 -0
- package/src/build/workflow/__tests__/ConfigHelpers.test.ts +559 -0
- package/src/build/workflow/__tests__/SourceMapGenerator.test.ts +421 -0
- package/src/build/workflow/index.ts +42 -0
- package/src/cli/__tests__/Applier.test.ts +202 -0
- package/src/cli/__tests__/Classifier.test.ts +187 -0
- package/src/cli/__tests__/FileScanner.test.ts +108 -0
- package/src/cli/__tests__/IgnoreFilter.test.ts +92 -0
- package/src/cli/__tests__/Manifest.test.ts +107 -0
- package/src/cli/__tests__/PackageResolver.test.ts +66 -0
- package/src/cli/__tests__/Prompter.test.ts +165 -0
- package/src/cli/__tests__/Reporter.test.ts +128 -0
- package/src/cli/__tests__/backward-compat.test.ts +142 -0
- package/src/cli/__tests__/figma-extract.test.ts +342 -0
- package/src/cli/__tests__/figma-push.test.ts +350 -0
- package/src/cli/__tests__/init.test.ts +259 -0
- package/src/cli/__tests__/loadComponentTokens.test.ts +187 -0
- package/src/cli/__tests__/pipeline-independence.test.ts +127 -0
- package/src/cli/__tests__/product-only.test.ts +130 -0
- package/src/cli/__tests__/resolveTokens.test.ts +88 -0
- package/src/cli/__tests__/staleness.test.ts +132 -0
- package/src/cli/__tests__/sync.test.ts +199 -0
- package/src/cli/__tests__/validate.test.ts +69 -0
- package/src/cli/designerpunk.ts +410 -0
- package/src/cli/figma-extract.ts +331 -0
- package/src/cli/figma-push.ts +288 -0
- package/src/cli/generateProductTokens.ts +69 -0
- package/src/cli/init.ts +481 -0
- package/src/cli/loadComponentTokens.ts +145 -0
- package/src/cli/resolveTokens.ts +123 -0
- package/src/cli/shared/mcpDataRoots.ts +122 -0
- package/src/cli/shared/resolvePackageRoot.ts +58 -0
- package/src/cli/shared/transforms.ts +18 -0
- package/src/cli/staleness.ts +81 -0
- package/src/cli/sync/Applier.ts +128 -0
- package/src/cli/sync/Classifier.ts +130 -0
- package/src/cli/sync/FileScanner.ts +64 -0
- package/src/cli/sync/IgnoreFilter.ts +44 -0
- package/src/cli/sync/Manifest.ts +64 -0
- package/src/cli/sync/PackageResolver.ts +40 -0
- package/src/cli/sync/Prompter.ts +173 -0
- package/src/cli/sync/Reporter.ts +78 -0
- package/src/cli/sync/SteeringDirCheck.ts +166 -0
- package/src/cli/sync/index.ts +115 -0
- package/src/cli/templates/mcp-config.json.template +46 -0
- package/src/cli/validate.ts +135 -0
- package/src/cli/validateProductTokens.ts +55 -0
- package/src/color/OklchConverter.ts +284 -0
- package/src/color/OklchValidator.ts +186 -0
- package/src/color/__tests__/OklchConverter.test.ts +232 -0
- package/src/color/__tests__/OklchRegression.test.ts +101 -0
- package/src/color/__tests__/OklchValidator.test.ts +199 -0
- package/src/color/__tests__/WcagContrast.test.ts +76 -0
- package/src/components/__tests__/BlendTokenUsageValidation.test.ts +726 -0
- package/src/components/__tests__/DynamicImportGuard.test.ts +226 -0
- package/src/components/__tests__/ExtensionLintPolicy.test.ts +113 -0
- package/src/components/__tests__/TokenCompliance.test.ts +921 -0
- package/src/components/__tests__/colorInheritanceValidation.test.ts +267 -0
- package/src/components/__tests__/componentTypographyInheritance.test.ts +326 -0
- package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +113 -0
- package/src/components/core/Avatar-Base/README.md +366 -0
- package/src/components/core/Avatar-Base/__tests__/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +483 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.icon-integration.test.ts +656 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +393 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.lifecycle.test.ts +545 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.rendering.test.ts +505 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +692 -0
- package/src/components/core/Avatar-Base/avatar.tokens.ts +376 -0
- package/src/components/core/Avatar-Base/component-meta.yaml +20 -0
- package/src/components/core/Avatar-Base/contracts.yaml +212 -0
- package/src/components/core/Avatar-Base/index.ts +25 -0
- package/src/components/core/Avatar-Base/platforms/android/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/platforms/android/Avatar.android.kt +593 -0
- package/src/components/core/Avatar-Base/platforms/android/AvatarPreview.kt +1106 -0
- package/src/components/core/Avatar-Base/platforms/android/HexagonShape.kt +297 -0
- package/src/components/core/Avatar-Base/platforms/ios/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/platforms/ios/Avatar.ios.swift +815 -0
- package/src/components/core/Avatar-Base/platforms/ios/AvatarPreview.swift +773 -0
- package/src/components/core/Avatar-Base/platforms/ios/RoundedPointyTopHexagon.swift +360 -0
- package/src/components/core/Avatar-Base/platforms/web/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/platforms/web/Avatar.styles.css +595 -0
- package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +873 -0
- package/src/components/core/Avatar-Base/platforms/web/hexagon-clip.svg +87 -0
- package/src/components/core/Avatar-Base/tokens/.gitkeep +4 -0
- package/src/components/core/Avatar-Base/types.ts +86 -0
- package/src/components/core/Badge-Count-Base/Badge-Count-Base.schema.yaml +122 -0
- package/src/components/core/Badge-Count-Base/README.md +323 -0
- package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.stemma.test.ts +548 -0
- package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.test.ts +452 -0
- package/src/components/core/Badge-Count-Base/__tests__/test-utils.ts +244 -0
- package/src/components/core/Badge-Count-Base/component-meta.yaml +23 -0
- package/src/components/core/Badge-Count-Base/contracts.yaml +173 -0
- package/src/components/core/Badge-Count-Base/index.ts +37 -0
- package/src/components/core/Badge-Count-Base/platforms/android/.gitkeep +1 -0
- package/src/components/core/Badge-Count-Base/platforms/android/BadgeCountBase.android.kt +581 -0
- package/src/components/core/Badge-Count-Base/platforms/ios/.gitkeep +1 -0
- package/src/components/core/Badge-Count-Base/platforms/ios/BadgeCountBase.ios.swift +502 -0
- package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.styles.css +148 -0
- package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.ts +363 -0
- package/src/components/core/Badge-Count-Base/types.ts +150 -0
- package/src/components/core/Badge-Count-Notification/Badge-Count-Notification.schema.yaml +108 -0
- package/src/components/core/Badge-Count-Notification/README.md +396 -0
- package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.stemma.test.ts +571 -0
- package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.test.ts +490 -0
- package/src/components/core/Badge-Count-Notification/__tests__/test-utils.ts +256 -0
- package/src/components/core/Badge-Count-Notification/component-meta.yaml +20 -0
- package/src/components/core/Badge-Count-Notification/contracts.yaml +92 -0
- package/src/components/core/Badge-Count-Notification/index.ts +60 -0
- package/src/components/core/Badge-Count-Notification/platforms/android/.gitkeep +2 -0
- package/src/components/core/Badge-Count-Notification/platforms/android/BadgeCountNotification.android.kt +818 -0
- package/src/components/core/Badge-Count-Notification/platforms/ios/BadgeCountNotification.ios.swift +660 -0
- package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.styles.css +182 -0
- package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.ts +401 -0
- package/src/components/core/Badge-Count-Notification/tokens.ts +124 -0
- package/src/components/core/Badge-Count-Notification/types.ts +119 -0
- package/src/components/core/Badge-Label-Base/Badge-Label-Base.schema.yaml +131 -0
- package/src/components/core/Badge-Label-Base/README.md +251 -0
- package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.stemma.test.ts +549 -0
- package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.test.ts +439 -0
- package/src/components/core/Badge-Label-Base/__tests__/test-utils.ts +269 -0
- package/src/components/core/Badge-Label-Base/__tests__/tokens.test.ts +88 -0
- package/src/components/core/Badge-Label-Base/component-meta.yaml +21 -0
- package/src/components/core/Badge-Label-Base/contracts.yaml +148 -0
- package/src/components/core/Badge-Label-Base/index.ts +41 -0
- package/src/components/core/Badge-Label-Base/platforms/android/BadgeLabelBase.android.kt +452 -0
- package/src/components/core/Badge-Label-Base/platforms/ios/BadgeLabelBase.ios.swift +483 -0
- package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.styles.css +166 -0
- package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.ts +340 -0
- package/src/components/core/Badge-Label-Base/tokens.ts +80 -0
- package/src/components/core/Badge-Label-Base/types.ts +148 -0
- package/src/components/core/Button-CTA/Button-CTA.schema.yaml +259 -0
- package/src/components/core/Button-CTA/Button-CTA.tokens.ts +79 -0
- package/src/components/core/Button-CTA/README.md +296 -0
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.alignment.test.ts +355 -0
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +752 -0
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.tokens.test.ts +89 -0
- package/src/components/core/Button-CTA/__tests__/setup.test.ts +211 -0
- package/src/components/core/Button-CTA/__tests__/test-utils.ts +187 -0
- package/src/components/core/Button-CTA/component-meta.yaml +25 -0
- package/src/components/core/Button-CTA/contracts.yaml +140 -0
- package/src/components/core/Button-CTA/examples/BasicUsage.html +145 -0
- package/src/components/core/Button-CTA/examples/BasicUsage.tsx +246 -0
- package/src/components/core/Button-CTA/examples/Variants.html +263 -0
- package/src/components/core/Button-CTA/examples/WithIcon.html +166 -0
- package/src/components/core/Button-CTA/index.ts +20 -0
- package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +405 -0
- package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +552 -0
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +419 -0
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +697 -0
- package/src/components/core/Button-CTA/platforms/web/__tests__/ButtonCTA.icon-integration.test.ts +476 -0
- package/src/components/core/Button-CTA/types.ts +257 -0
- package/src/components/core/Button-Icon/Button-Icon.schema.yaml +114 -0
- package/src/components/core/Button-Icon/README.md +371 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.alignment.test.ts +358 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties-8-13.test.ts +953 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties.test.ts +920 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.stemma.test.ts +622 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.unit.test.ts +560 -0
- package/src/components/core/Button-Icon/__tests__/setup.test.ts +361 -0
- package/src/components/core/Button-Icon/__tests__/test-utils.ts +248 -0
- package/src/components/core/Button-Icon/buttonIcon.tokens.ts +202 -0
- package/src/components/core/Button-Icon/component-meta.yaml +24 -0
- package/src/components/core/Button-Icon/contracts.yaml +228 -0
- package/src/components/core/Button-Icon/platforms/android/ButtonIcon.android.kt +548 -0
- package/src/components/core/Button-Icon/platforms/ios/ButtonIcon.ios.swift +482 -0
- package/src/components/core/Button-Icon/platforms/web/.gitkeep +4 -0
- package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.css +600 -0
- package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.ts +625 -0
- package/src/components/core/Button-Icon/types.ts +186 -0
- package/src/components/core/Button-VerticalList-Item/Button-VerticalList-Item.schema.yaml +138 -0
- package/src/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.ts +112 -0
- package/src/components/core/Button-VerticalList-Item/README.md +450 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.alignment.test.ts +271 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.failLoudly.test.ts +106 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.integration.test.ts +480 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.properties.test.ts +634 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.unit.test.ts +746 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/rtlSupport.test.ts +206 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/test-utils.ts +297 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/visualStateMapping.test.ts +419 -0
- package/src/components/core/Button-VerticalList-Item/component-meta.yaml +24 -0
- package/src/components/core/Button-VerticalList-Item/contracts.yaml +138 -0
- package/src/components/core/Button-VerticalList-Item/index.ts +49 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/VerticalListButtonItem.android.kt +594 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/VerticalListButtonItemTest.kt +1109 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/VisualStateStyles.kt +585 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/VerticalListButtonItem.ios.swift +853 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/VerticalListButtonItemTests.swift +794 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/VisualStateStyles.swift +453 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.styles.css +459 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.ts +1030 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.ts +411 -0
- package/src/components/core/Button-VerticalList-Item/types.ts +338 -0
- package/src/components/core/Button-VerticalList-Set/Button-VerticalList-Set.schema.yaml +110 -0
- package/src/components/core/Button-VerticalList-Set/README.md +578 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/.gitkeep +5 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.integration.test.ts +676 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property.test.ts +786 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property2.test.ts +1109 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.unit.test.ts +924 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/animationTiming.test.ts +182 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/crossPlatformConsistency.test.ts +685 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/deriveItemStates.test.ts +179 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/validation.test.ts +275 -0
- package/src/components/core/Button-VerticalList-Set/component-meta.yaml +22 -0
- package/src/components/core/Button-VerticalList-Set/contracts.yaml +170 -0
- package/src/components/core/Button-VerticalList-Set/index.ts +32 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/.gitkeep +0 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSet.android.kt +805 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSetPreview.kt +390 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSetTest.kt +961 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/.gitkeep +0 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSet.ios.swift +1127 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSetPreview.swift +664 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSetTests.swift +475 -0
- package/src/components/core/Button-VerticalList-Set/platforms/web/.gitkeep +4 -0
- package/src/components/core/Button-VerticalList-Set/platforms/web/Button-VerticalList-Set.styles.css +167 -0
- package/src/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.ts +1446 -0
- package/src/components/core/Button-VerticalList-Set/types.ts +788 -0
- package/src/components/core/Chip-Base/Chip-Base.schema.yaml +214 -0
- package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +521 -0
- package/src/components/core/Chip-Base/component-meta.yaml +25 -0
- package/src/components/core/Chip-Base/contracts.yaml +201 -0
- package/src/components/core/Chip-Base/index.ts +40 -0
- package/src/components/core/Chip-Base/platforms/android/ChipBase.android.kt +379 -0
- package/src/components/core/Chip-Base/platforms/ios/.gitkeep +3 -0
- package/src/components/core/Chip-Base/platforms/ios/ChipBase.ios.swift +420 -0
- package/src/components/core/Chip-Base/platforms/web/.gitkeep +5 -0
- package/src/components/core/Chip-Base/platforms/web/ChipBase.styles.css +280 -0
- package/src/components/core/Chip-Base/platforms/web/ChipBase.web.ts +480 -0
- package/src/components/core/Chip-Base/types.ts +189 -0
- package/src/components/core/Chip-Filter/Chip-Filter.schema.yaml +181 -0
- package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +579 -0
- package/src/components/core/Chip-Filter/component-meta.yaml +20 -0
- package/src/components/core/Chip-Filter/contracts.yaml +76 -0
- package/src/components/core/Chip-Filter/index.ts +34 -0
- package/src/components/core/Chip-Filter/platforms/android/ChipFilter.android.kt +484 -0
- package/src/components/core/Chip-Filter/platforms/ios/ChipFilter.ios.swift +510 -0
- package/src/components/core/Chip-Filter/platforms/web/ChipFilter.styles.css +105 -0
- package/src/components/core/Chip-Filter/platforms/web/ChipFilter.web.ts +539 -0
- package/src/components/core/Chip-Filter/types.ts +47 -0
- package/src/components/core/Chip-Input/Chip-Input.schema.yaml +173 -0
- package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +459 -0
- package/src/components/core/Chip-Input/component-meta.yaml +20 -0
- package/src/components/core/Chip-Input/contracts.yaml +75 -0
- package/src/components/core/Chip-Input/index.ts +35 -0
- package/src/components/core/Chip-Input/platforms/android/.gitkeep +3 -0
- package/src/components/core/Chip-Input/platforms/android/ChipInput.android.kt +409 -0
- package/src/components/core/Chip-Input/platforms/ios/.gitkeep +3 -0
- package/src/components/core/Chip-Input/platforms/ios/ChipInput.ios.swift +449 -0
- package/src/components/core/Chip-Input/platforms/web/ChipInput.styles.css +99 -0
- package/src/components/core/Chip-Input/platforms/web/ChipInput.web.ts +485 -0
- package/src/components/core/Chip-Input/types.ts +35 -0
- package/src/components/core/Container-Base/Container-Base.schema.yaml +411 -0
- package/src/components/core/Container-Base/README.md +450 -0
- package/src/components/core/Container-Base/__tests__/ContainerBase.test.ts +712 -0
- package/src/components/core/Container-Base/component-meta.yaml +22 -0
- package/src/components/core/Container-Base/contracts.yaml +118 -0
- package/src/components/core/Container-Base/index.ts +47 -0
- package/src/components/core/Container-Base/platforms/android/ContainerBase.android.kt +654 -0
- package/src/components/core/Container-Base/platforms/android/TokenMapping.kt +558 -0
- package/src/components/core/Container-Base/platforms/ios/ContainerBase.ios.swift +699 -0
- package/src/components/core/Container-Base/platforms/ios/TokenMapping.swift +493 -0
- package/src/components/core/Container-Base/platforms/web/ContainerBase.web.ts +405 -0
- package/src/components/core/Container-Base/platforms/web/styles.css +198 -0
- package/src/components/core/Container-Base/platforms/web/token-mapping.ts +573 -0
- package/src/components/core/Container-Base/tokens.ts +241 -0
- package/src/components/core/Container-Base/types.ts +307 -0
- package/src/components/core/Container-Card-Base/Container-Card-Base.schema.yaml +374 -0
- package/src/components/core/Container-Card-Base/README.md +506 -0
- package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.composition.test.ts +167 -0
- package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.test.ts +646 -0
- package/src/components/core/Container-Card-Base/component-meta.yaml +21 -0
- package/src/components/core/Container-Card-Base/contracts.yaml +129 -0
- package/src/components/core/Container-Card-Base/index.ts +64 -0
- package/src/components/core/Container-Card-Base/platforms/android/ContainerCardBase.android.kt +800 -0
- package/src/components/core/Container-Card-Base/platforms/ios/ContainerCardBase.ios.swift +962 -0
- package/src/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.ts +373 -0
- package/src/components/core/Container-Card-Base/tokens.ts +224 -0
- package/src/components/core/Container-Card-Base/types.ts +332 -0
- package/src/components/core/Icon-Base/Icon-Base.schema.yaml +206 -0
- package/src/components/core/Icon-Base/README.md +168 -0
- package/src/components/core/Icon-Base/__tests__/IconBase.test.ts +192 -0
- package/src/components/core/Icon-Base/component-meta.yaml +22 -0
- package/src/components/core/Icon-Base/contracts.yaml +89 -0
- package/src/components/core/Icon-Base/index.ts +34 -0
- package/src/components/core/Icon-Base/platforms/android/IconBase.android.kt +240 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/README.md +255 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/alert_circle.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_down.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_left.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_right.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_up.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/award.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/bell.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/briefcase.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/calendar.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/check.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/check_circle.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/chevron_down.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/chevron_left.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/chevron_right.xml +12 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/circle.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/clock.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/credit_card.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/dollar_sign.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/external_link.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/eye.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/eye_off.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/file_text.xml +41 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/filter.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/globe.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/heart.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/info.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/mail.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/map_pin.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/minus.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/more_horizontal.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/more_vertical.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/phone.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/plus.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/refresh_cw.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/save.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/search.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/settings.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/share.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/share_2.xml +41 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/shield.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/smartphone.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/smile.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/star.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/trending_up.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/user.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/user_check.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/user_x.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/users.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/wifi.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/x.xml +20 -0
- package/src/components/core/Icon-Base/platforms/ios/ASSET_CATALOG_SETUP.md +239 -0
- package/src/components/core/Icon-Base/platforms/ios/IconBase.ios.swift +296 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Contents.json +6 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/Contents.json +9 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/alert-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/arrow-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/arrow-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/arrow-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/arrow-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/award.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/bell.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/briefcase.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/calendar.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/check-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/chevron-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/chevron-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/chevron-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/clock.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/credit-card.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/dollar-sign.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/external-link.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/eye-off.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/eye.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/file-text.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/filter.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/globe.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/heart.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/info.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/mail.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/map-pin.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/minus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/more-horizontal.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/more-vertical.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/phone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/plus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/refresh-cw.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/save.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/search.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/settings.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/share-2.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/share.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/shield.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/smartphone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/smile.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/star.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/trending-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/user-check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/user-x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/user.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/users.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/wifi.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/IconBase.web.ts +553 -0
- package/src/components/core/Icon-Base/platforms/web/assets/alert-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/award.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/bell.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/briefcase.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/calendar.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/check-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/chevron-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/chevron-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/chevron-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/clock.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/credit-card.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/dollar-sign.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/external-link.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/eye-off.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/eye.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/file-text.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/filter.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/globe.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/heart.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/info.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/mail.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/map-pin.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/minus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/more-horizontal.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/more-vertical.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/phone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/plus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/refresh-cw.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/save.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/search.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/settings.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/share-2.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/share.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/shield.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/smartphone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/smile.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/star.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/trending-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/user-check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/user-x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/user.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/users.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/wifi.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/styles.css +203 -0
- package/src/components/core/Icon-Base/types.ts +338 -0
- package/src/components/core/Input-Checkbox-Base/Input-Checkbox-Base.schema.yaml +147 -0
- package/src/components/core/Input-Checkbox-Base/README.md +390 -0
- package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.stemma.test.ts +552 -0
- package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.test.ts +878 -0
- package/src/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.ts +37 -0
- package/src/components/core/Input-Checkbox-Base/component-meta.yaml +39 -0
- package/src/components/core/Input-Checkbox-Base/contracts.yaml +165 -0
- package/src/components/core/Input-Checkbox-Base/platforms/android/InputCheckboxBase.android.kt +777 -0
- package/src/components/core/Input-Checkbox-Base/platforms/ios/InputCheckboxBase.ios.swift +612 -0
- package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.css +477 -0
- package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.ts +561 -0
- package/src/components/core/Input-Checkbox-Base/types.ts +399 -0
- package/src/components/core/Input-Checkbox-Legal/Input-Checkbox-Legal.schema.yaml +81 -0
- package/src/components/core/Input-Checkbox-Legal/README.md +554 -0
- package/src/components/core/Input-Checkbox-Legal/__tests__/InputCheckboxLegal.test.ts +727 -0
- package/src/components/core/Input-Checkbox-Legal/component-meta.yaml +39 -0
- package/src/components/core/Input-Checkbox-Legal/contracts.yaml +55 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/android/.gitkeep +2 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/android/InputCheckboxLegal.android.kt +408 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/ios/.gitkeep +2 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/ios/InputCheckboxLegal.ios.swift +387 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.css +112 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.ts +505 -0
- package/src/components/core/Input-Checkbox-Legal/types.ts +348 -0
- package/src/components/core/Input-Radio-Base/.gitkeep +2 -0
- package/src/components/core/Input-Radio-Base/Input-Radio-Base.schema.yaml +139 -0
- package/src/components/core/Input-Radio-Base/README.md +427 -0
- package/src/components/core/Input-Radio-Base/__tests__/.gitkeep +1 -0
- package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.form.test.ts +299 -0
- package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.stemma.test.ts +543 -0
- package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.test.ts +429 -0
- package/src/components/core/Input-Radio-Base/component-meta.yaml +28 -0
- package/src/components/core/Input-Radio-Base/contracts.yaml +140 -0
- package/src/components/core/Input-Radio-Base/platforms/android/InputRadioBase.android.kt +685 -0
- package/src/components/core/Input-Radio-Base/platforms/ios/.gitkeep +1 -0
- package/src/components/core/Input-Radio-Base/platforms/ios/InputRadioBase.ios.swift +567 -0
- package/src/components/core/Input-Radio-Base/platforms/web/.gitkeep +1 -0
- package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.css +504 -0
- package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.ts +648 -0
- package/src/components/core/Input-Radio-Base/radio-sizing.tokens.ts +37 -0
- package/src/components/core/Input-Radio-Base/types.ts +362 -0
- package/src/components/core/Input-Radio-Set/Input-Radio-Set.schema.yaml +92 -0
- package/src/components/core/Input-Radio-Set/README.md +373 -0
- package/src/components/core/Input-Radio-Set/__tests__/.gitkeep +0 -0
- package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.stemma.test.ts +493 -0
- package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.test.ts +499 -0
- package/src/components/core/Input-Radio-Set/component-meta.yaml +44 -0
- package/src/components/core/Input-Radio-Set/contracts.yaml +100 -0
- package/src/components/core/Input-Radio-Set/platforms/android/.gitkeep +0 -0
- package/src/components/core/Input-Radio-Set/platforms/android/InputRadioSet.android.kt +363 -0
- package/src/components/core/Input-Radio-Set/platforms/ios/InputRadioSet.ios.swift +330 -0
- package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.css +99 -0
- package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.ts +790 -0
- package/src/components/core/Input-Radio-Set/types.ts +301 -0
- package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +219 -0
- package/src/components/core/Input-Text-Base/README.md +235 -0
- package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +310 -0
- package/src/components/core/Input-Text-Base/__tests__/keyboardNavigation.test.ts +444 -0
- package/src/components/core/Input-Text-Base/__tests__/labelAssociation.test.ts +418 -0
- package/src/components/core/Input-Text-Base/__tests__/screenReaderSupport.test.ts +405 -0
- package/src/components/core/Input-Text-Base/__tests__/setup.ts +17 -0
- package/src/components/core/Input-Text-Base/__tests__/stateManagement.test.ts +718 -0
- package/src/components/core/Input-Text-Base/__tests__/test-utils.ts +81 -0
- package/src/components/core/Input-Text-Base/__tests__/touchTargetSizing.test.ts +319 -0
- package/src/components/core/Input-Text-Base/component-meta.yaml +38 -0
- package/src/components/core/Input-Text-Base/contracts.yaml +149 -0
- package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +481 -0
- package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +507 -0
- package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.ts +241 -0
- package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.css +293 -0
- package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.ts +448 -0
- package/src/components/core/Input-Text-Base/stateManagement.ts +267 -0
- package/src/components/core/Input-Text-Base/tokens.ts +210 -0
- package/src/components/core/Input-Text-Base/types.ts +102 -0
- package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +247 -0
- package/src/components/core/Input-Text-Email/README.md +251 -0
- package/src/components/core/Input-Text-Email/__tests__/validation.test.ts +127 -0
- package/src/components/core/Input-Text-Email/component-meta.yaml +27 -0
- package/src/components/core/Input-Text-Email/contracts.yaml +47 -0
- package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +197 -0
- package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +291 -0
- package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.ts +276 -0
- package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.ts +319 -0
- package/src/components/core/Input-Text-Email/stateManagement.ts +160 -0
- package/src/components/core/Input-Text-Email/tokens.ts +33 -0
- package/src/components/core/Input-Text-Email/types.ts +72 -0
- package/src/components/core/Input-Text-Email/validation.ts +130 -0
- package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +300 -0
- package/src/components/core/Input-Text-Password/README.md +359 -0
- package/src/components/core/Input-Text-Password/__tests__/validation.test.ts +362 -0
- package/src/components/core/Input-Text-Password/component-meta.yaml +28 -0
- package/src/components/core/Input-Text-Password/contracts.yaml +63 -0
- package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +318 -0
- package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +446 -0
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.ts +434 -0
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +503 -0
- package/src/components/core/Input-Text-Password/stateManagement.ts +244 -0
- package/src/components/core/Input-Text-Password/tokens.ts +32 -0
- package/src/components/core/Input-Text-Password/types.ts +177 -0
- package/src/components/core/Input-Text-Password/validation.ts +207 -0
- package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +326 -0
- package/src/components/core/Input-Text-PhoneNumber/README.md +275 -0
- package/src/components/core/Input-Text-PhoneNumber/__tests__/validation.test.ts +301 -0
- package/src/components/core/Input-Text-PhoneNumber/component-meta.yaml +28 -0
- package/src/components/core/Input-Text-PhoneNumber/contracts.yaml +62 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +315 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +419 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.ts +370 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.ts +393 -0
- package/src/components/core/Input-Text-PhoneNumber/stateManagement.ts +250 -0
- package/src/components/core/Input-Text-PhoneNumber/tokens.ts +33 -0
- package/src/components/core/Input-Text-PhoneNumber/types.ts +135 -0
- package/src/components/core/Input-Text-PhoneNumber/validation.ts +302 -0
- package/src/components/core/Nav-Header-App/Nav-Header-App.schema.yaml +87 -0
- package/src/components/core/Nav-Header-App/README.md +29 -0
- package/src/components/core/Nav-Header-App/component-meta.yaml +19 -0
- package/src/components/core/Nav-Header-App/contracts.yaml +27 -0
- package/src/components/core/Nav-Header-App/index.ts +5 -0
- package/src/components/core/Nav-Header-App/platforms/android/NavHeaderApp.android.kt +28 -0
- package/src/components/core/Nav-Header-App/platforms/ios/NavHeaderApp.ios.swift +27 -0
- package/src/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.ts +37 -0
- package/src/components/core/Nav-Header-App/types.ts +32 -0
- package/src/components/core/Nav-Header-Base/Nav-Header-Base.schema.yaml +150 -0
- package/src/components/core/Nav-Header-Base/README.md +21 -0
- package/src/components/core/Nav-Header-Base/component-meta.yaml +15 -0
- package/src/components/core/Nav-Header-Base/contracts.yaml +178 -0
- package/src/components/core/Nav-Header-Base/index.ts +12 -0
- package/src/components/core/Nav-Header-Base/platforms/android/NavHeaderBase.android.kt +127 -0
- package/src/components/core/Nav-Header-Base/platforms/ios/NavHeaderBase.ios.swift +99 -0
- package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.styles.css +75 -0
- package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.ts +120 -0
- package/src/components/core/Nav-Header-Base/types.ts +63 -0
- package/src/components/core/Nav-Header-Page/Nav-Header-Page.schema.yaml +175 -0
- package/src/components/core/Nav-Header-Page/README.md +34 -0
- package/src/components/core/Nav-Header-Page/__tests__/NavHeaderPage.test.ts +250 -0
- package/src/components/core/Nav-Header-Page/component-meta.yaml +23 -0
- package/src/components/core/Nav-Header-Page/contracts.yaml +196 -0
- package/src/components/core/Nav-Header-Page/index.ts +12 -0
- package/src/components/core/Nav-Header-Page/platforms/android/NavHeaderPage.android.kt +169 -0
- package/src/components/core/Nav-Header-Page/platforms/ios/NavHeaderPage.ios.swift +196 -0
- package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.styles.css +90 -0
- package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.ts +169 -0
- package/src/components/core/Nav-Header-Page/types.ts +55 -0
- package/src/components/core/Nav-SegmentedChoice-Base/Nav-SegmentedChoice-Base.schema.yaml +203 -0
- package/src/components/core/Nav-SegmentedChoice-Base/README.md +327 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.android.test.ts +218 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.interaction.test.ts +419 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.ios.test.ts +207 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.visual.test.ts +371 -0
- package/src/components/core/Nav-SegmentedChoice-Base/component-meta.yaml +20 -0
- package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +435 -0
- package/src/components/core/Nav-SegmentedChoice-Base/index.ts +38 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/android/NavSegmentedChoiceBase.android.kt +389 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/ios/NavSegmentedChoiceBase.ios.swift +373 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.styles.css +160 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.ts +477 -0
- package/src/components/core/Nav-SegmentedChoice-Base/types.ts +65 -0
- package/src/components/core/Nav-TabBar-Base/Nav-TabBar-Base.schema.yaml +196 -0
- package/src/components/core/Nav-TabBar-Base/README.md +264 -0
- package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.android.test.ts +270 -0
- package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.ios.test.ts +221 -0
- package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.test.ts +421 -0
- package/src/components/core/Nav-TabBar-Base/component-meta.yaml +20 -0
- package/src/components/core/Nav-TabBar-Base/contracts.yaml +412 -0
- package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.html +2 -0
- package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.tsx +2 -0
- package/src/components/core/Nav-TabBar-Base/index.ts +20 -0
- package/src/components/core/Nav-TabBar-Base/platforms/android/NavTabBarBase.android.kt +375 -0
- package/src/components/core/Nav-TabBar-Base/platforms/ios/NavTabBarBase.ios.swift +377 -0
- package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.styles.css +281 -0
- package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.ts +420 -0
- package/src/components/core/Nav-TabBar-Base/types.ts +43 -0
- package/src/components/core/Progress-Bar-Base/Progress-Bar-Base.schema.yaml +101 -0
- package/src/components/core/Progress-Bar-Base/README.md +31 -0
- package/src/components/core/Progress-Bar-Base/__tests__/ProgressBarBase.test.ts +202 -0
- package/src/components/core/Progress-Bar-Base/component-meta.yaml +24 -0
- package/src/components/core/Progress-Bar-Base/contracts.yaml +132 -0
- package/src/components/core/Progress-Bar-Base/index.ts +6 -0
- package/src/components/core/Progress-Bar-Base/platforms/android/ProgressBarBase.android.kt +181 -0
- package/src/components/core/Progress-Bar-Base/platforms/ios/ProgressBarBase.ios.swift +141 -0
- package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.styles.css +52 -0
- package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.ts +135 -0
- package/src/components/core/Progress-Bar-Base/types.ts +46 -0
- package/src/components/core/Progress-Indicator-Connector-Base/Progress-Indicator-Connector-Base.schema.yaml +69 -0
- package/src/components/core/Progress-Indicator-Connector-Base/README.md +169 -0
- package/src/components/core/Progress-Indicator-Connector-Base/component-meta.yaml +18 -0
- package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +70 -0
- package/src/components/core/Progress-Indicator-Connector-Base/index.ts +33 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/android/ProgressIndicatorConnectorBase.android.kt +163 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/ios/ProgressIndicatorConnectorBase.ios.swift +154 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.styles.css +50 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.ts +141 -0
- package/src/components/core/Progress-Indicator-Connector-Base/types.ts +67 -0
- package/src/components/core/Progress-Indicator-Label-Base/Progress-Indicator-Label-Base.schema.yaml +78 -0
- package/src/components/core/Progress-Indicator-Label-Base/README.md +191 -0
- package/src/components/core/Progress-Indicator-Label-Base/component-meta.yaml +18 -0
- package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +76 -0
- package/src/components/core/Progress-Indicator-Label-Base/index.ts +28 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/android/ProgressIndicatorLabelBase.android.kt +153 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/ios/ProgressIndicatorLabelBase.ios.swift +153 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.styles.css +81 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.ts +174 -0
- package/src/components/core/Progress-Indicator-Label-Base/types.ts +64 -0
- package/src/components/core/Progress-Indicator-Node-Base/Progress-Indicator-Node-Base.schema.yaml +113 -0
- package/src/components/core/Progress-Indicator-Node-Base/README.md +206 -0
- package/src/components/core/Progress-Indicator-Node-Base/__tests__/VisualStates.test.ts +259 -0
- package/src/components/core/Progress-Indicator-Node-Base/component-meta.yaml +18 -0
- package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +96 -0
- package/src/components/core/Progress-Indicator-Node-Base/index.ts +36 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/android/ProgressIndicatorNodeBase.android.kt +294 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/ios/ProgressIndicatorNodeBase.ios.swift +260 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.styles.css +193 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.ts +226 -0
- package/src/components/core/Progress-Indicator-Node-Base/types.ts +142 -0
- package/src/components/core/Progress-Pagination-Base/Progress-Pagination-Base.schema.yaml +106 -0
- package/src/components/core/Progress-Pagination-Base/README.md +290 -0
- package/src/components/core/Progress-Pagination-Base/__tests__/PaginationBase.test.ts +290 -0
- package/src/components/core/Progress-Pagination-Base/component-meta.yaml +22 -0
- package/src/components/core/Progress-Pagination-Base/contracts.yaml +103 -0
- package/src/components/core/Progress-Pagination-Base/index.ts +40 -0
- package/src/components/core/Progress-Pagination-Base/platforms/android/ProgressPaginationBase.android.kt +215 -0
- package/src/components/core/Progress-Pagination-Base/platforms/ios/ProgressPaginationBase.ios.swift +214 -0
- package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.styles.css +80 -0
- package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.ts +293 -0
- package/src/components/core/Progress-Pagination-Base/types.ts +112 -0
- package/src/components/core/Progress-Stepper-Base/Progress-Stepper-Base.schema.yaml +105 -0
- package/src/components/core/Progress-Stepper-Base/README.md +311 -0
- package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +342 -0
- package/src/components/core/Progress-Stepper-Base/component-meta.yaml +22 -0
- package/src/components/core/Progress-Stepper-Base/contracts.yaml +101 -0
- package/src/components/core/Progress-Stepper-Base/index.ts +43 -0
- package/src/components/core/Progress-Stepper-Base/platforms/android/ProgressStepperBase.android.kt +244 -0
- package/src/components/core/Progress-Stepper-Base/platforms/ios/ProgressStepperBase.ios.swift +240 -0
- package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.styles.css +49 -0
- package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.ts +288 -0
- package/src/components/core/Progress-Stepper-Base/types.ts +175 -0
- package/src/components/core/Progress-Stepper-Detailed/Progress-Stepper-Detailed.schema.yaml +107 -0
- package/src/components/core/Progress-Stepper-Detailed/README.md +401 -0
- package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +478 -0
- package/src/components/core/Progress-Stepper-Detailed/component-meta.yaml +22 -0
- package/src/components/core/Progress-Stepper-Detailed/contracts.yaml +122 -0
- package/src/components/core/Progress-Stepper-Detailed/index.ts +48 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/android/ProgressStepperDetailed.android.kt +352 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/ios/ProgressStepperDetailed.ios.swift +353 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.styles.css +106 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.ts +336 -0
- package/src/components/core/Progress-Stepper-Detailed/types.ts +195 -0
- package/src/composition/BlendComposition.ts +46 -0
- package/src/composition/BlendCompositionParser.ts +215 -0
- package/src/composition/OpacityComposition.ts +62 -0
- package/src/composition/OpacityCompositionParser.ts +308 -0
- package/src/composition/__tests__/BlendCompositionParser.test.ts +431 -0
- package/src/composition/__tests__/OpacityCompositionParser.test.ts +539 -0
- package/src/composition/index.ts +20 -0
- package/src/config/ConfigLoader.ts +143 -0
- package/src/config/__resolution-matrix__/README.md +76 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-cjs/compiled/defineConfig.js +9 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-cjs/designerpunk.config.ts +20 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-cjs/my-overrides.ts +8 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-esm/compiled/defineConfig.js +11 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-esm/designerpunk.config.ts +23 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-esm/my-overrides.ts +6 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/designerpunk.config.ts +11 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/src/config/index.ts +15 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-esm/designerpunk.config.ts +15 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-esm/src/config/index.ts +13 -0
- package/src/config/__resolution-matrix__/run-matrix.js +107 -0
- package/src/config/__resolution-matrix__/runner.js +153 -0
- package/src/config/__resolution-matrix__/verify-real-loadconfig.js +122 -0
- package/src/config/__tests__/ConfigLoader.test.ts +115 -0
- package/src/config/defineConfig.ts +71 -0
- package/src/config/index.ts +7 -0
- package/src/config/scopedTsRequire.ts +62 -0
- package/src/constants/BaselineGrid.ts +41 -0
- package/src/constants/SpacingTokens.ts +55 -0
- package/src/constants/StrategicFlexibilityTokens.ts +98 -0
- package/src/figma/ComponentAnalysis.ts +292 -0
- package/src/figma/ComponentAnalysisGenerator.ts +444 -0
- package/src/figma/ConsoleMCPClient.ts +168 -0
- package/src/figma/ConsoleMCPClientImpl.ts +1034 -0
- package/src/figma/DesignExtractor.ts +3620 -0
- package/src/figma/TokenSyncWorkflow.ts +915 -0
- package/src/figma/TokenTranslator.ts +891 -0
- package/src/figma/VariantAnalyzer.ts +712 -0
- package/src/figma/__tests__/ComponentAnalysisGenerator.json.test.ts +429 -0
- package/src/figma/__tests__/ComponentAnalysisGenerator.markdown.test.ts +428 -0
- package/src/figma/__tests__/ConsoleMCPClient.bugfix.test.ts +261 -0
- package/src/figma/__tests__/ConsoleMCPClient.preservation.test.ts +395 -0
- package/src/figma/__tests__/ConsoleMCPClient.test.ts +375 -0
- package/src/figma/__tests__/DesignExtractor.boundVariableResolution.test.ts +580 -0
- package/src/figma/__tests__/DesignExtractor.buildNodeTree.test.ts +535 -0
- package/src/figma/__tests__/DesignExtractor.captureComponentScreenshot.test.ts +176 -0
- package/src/figma/__tests__/DesignExtractor.detectBehavioralContracts.test.ts +263 -0
- package/src/figma/__tests__/DesignExtractor.detectComponentTokenDecisions.test.ts +379 -0
- package/src/figma/__tests__/DesignExtractor.detectCompositionPatterns.test.ts +507 -0
- package/src/figma/__tests__/DesignExtractor.detectPlatformParity.test.ts +406 -0
- package/src/figma/__tests__/DesignExtractor.queryContext.test.ts +214 -0
- package/src/figma/__tests__/DesignExtractor.readFigmaComponent.test.ts +431 -0
- package/src/figma/__tests__/DesignExtractor.readStyles.test.ts +204 -0
- package/src/figma/__tests__/DesignExtractor.readTokenBindings.test.ts +268 -0
- package/src/figma/__tests__/DesignExtractor.reconstructCompositeTokens.test.ts +403 -0
- package/src/figma/__tests__/DesignExtractor.resolveUnknownVariableIds.test.ts +259 -0
- package/src/figma/__tests__/DesignExtractor.translateTokens.test.ts +433 -0
- package/src/figma/__tests__/DesignExtractor.validateModes.test.ts +350 -0
- package/src/figma/__tests__/TokenSyncWorkflow.batch.test.ts +277 -0
- package/src/figma/__tests__/TokenSyncWorkflow.drift.test.ts +187 -0
- package/src/figma/__tests__/TokenSyncWorkflow.preservation.test.ts +544 -0
- package/src/figma/__tests__/TokenSyncWorkflow.styles.test.ts +245 -0
- package/src/figma/__tests__/TokenSyncWorkflow.sync.test.ts +217 -0
- package/src/figma/__tests__/TokenTranslator.test.ts +757 -0
- package/src/figma/__tests__/VariantAnalyzer.detectConflicts.test.ts +126 -0
- package/src/figma/__tests__/VariantAnalyzer.test.ts +633 -0
- package/src/figma/__tests__/error-reporting.test.ts +254 -0
- package/src/figma/__tests__/preflight.test.ts +94 -0
- package/src/figma/error-reporting.ts +260 -0
- package/src/figma/index.ts +98 -0
- package/src/figma/portCleanup.ts +86 -0
- package/src/figma/preflight.ts +120 -0
- package/src/generators/BlendUtilityGenerator.ts +847 -0
- package/src/generators/BlendValueGenerator.ts +198 -0
- package/src/generators/DTCGFormatGenerator.ts +1349 -0
- package/src/generators/DTCGGeneratorConfig.ts +46 -0
- package/src/generators/ModeResolvedTokens.ts +58 -0
- package/src/generators/ResponsiveGridGenerator.ts +273 -0
- package/src/generators/TokenFileGenerator.ts +2070 -0
- package/src/generators/__tests__/AccessibilityTokenGeneration.test.ts +350 -0
- package/src/generators/__tests__/BlendUtilityGenerator.test.ts +829 -0
- package/src/generators/__tests__/BlendValueGenerator.test.ts +200 -0
- package/src/generators/__tests__/BreakpointTokenGeneration.test.ts +172 -0
- package/src/generators/__tests__/CSSThemeScoping.test.ts +153 -0
- package/src/generators/__tests__/DTCGConfigOptions.test.ts +262 -0
- package/src/generators/__tests__/DTCGErrorHandling.test.ts +139 -0
- package/src/generators/__tests__/DTCGFormatGenerator.integration.test.ts +346 -0
- package/src/generators/__tests__/DTCGFormatGenerator.property.test.ts +497 -0
- package/src/generators/__tests__/DTCGFormatGenerator.test.ts +469 -0
- package/src/generators/__tests__/FigmaTransformer.styles.test.ts +398 -0
- package/src/generators/__tests__/FigmaTransformer.variables.test.ts +540 -0
- package/src/generators/__tests__/GridSpacingTokenGeneration.test.ts +254 -0
- package/src/generators/__tests__/IconTokenGeneration.test.ts +452 -0
- package/src/generators/__tests__/KotlinThemeTypes.test.ts +110 -0
- package/src/generators/__tests__/ModeAwareGeneration.test.ts +160 -0
- package/src/generators/__tests__/NativeOklchOutput.test.ts +56 -0
- package/src/generators/__tests__/OklchExport.test.ts +71 -0
- package/src/generators/__tests__/ProductRepoSimulation.test.ts +91 -0
- package/src/generators/__tests__/ResponsiveGridGeneration.test.ts +291 -0
- package/src/generators/__tests__/Spec076TokenMigration.test.ts +106 -0
- package/src/generators/__tests__/Spec077ModesVerification.test.ts +52 -0
- package/src/generators/__tests__/SwiftThemeTypes.test.ts +122 -0
- package/src/generators/__tests__/TokenFileGenerator.test.ts +914 -0
- package/src/generators/__tests__/TransformerRegistry.test.ts +118 -0
- package/src/generators/__tests__/WcagValueExportSupport.test.ts +84 -0
- package/src/generators/__tests__/WcagValueInfrastructure.test.ts +122 -0
- package/src/generators/__tests__/WebOklchOutput.test.ts +72 -0
- package/src/generators/__tests__/generateTokenIndex.test.ts +204 -0
- package/src/generators/__tests__/helpers/defaultSemanticOptions.ts +24 -0
- package/src/generators/generateTokenFiles.ts +337 -0
- package/src/generators/generateTokenIndex.ts +258 -0
- package/src/generators/oklch/OklchExportUtils.ts +57 -0
- package/src/generators/oklch/OklchTokenIndexMetadata.ts +30 -0
- package/src/generators/transformers/FigmaTransformer.ts +912 -0
- package/src/generators/transformers/ITokenTransformer.ts +56 -0
- package/src/generators/transformers/TransformerRegistry.ts +63 -0
- package/src/generators/transformers/index.ts +52 -0
- package/src/generators/types/DTCGTypes.ts +101 -0
- package/src/integration/BuildErrorHandler.ts +440 -0
- package/src/integration/BuildSystemInterface.ts +338 -0
- package/src/integration/PlatformFileSelector.ts +288 -0
- package/src/integration/RegistryCoordinator.ts +404 -0
- package/src/integration/TranslationCoordinator.ts +458 -0
- package/src/integration/TreeShakingOptimizer.ts +350 -0
- package/src/integration/ValidationCoordinator.ts +780 -0
- package/src/integration/__tests__/ComponentTokenValidation.test.ts +762 -0
- package/src/integration/__tests__/ValidationCoordinator.test.ts +609 -0
- package/src/integration/__tests__/performance/ComponentTokenValidationPerformance.test.ts +161 -0
- package/src/integration/index.ts +55 -0
- package/src/naming/NamingConventionManager.ts +318 -0
- package/src/naming/PlatformNamingRules.ts +278 -0
- package/src/naming/__tests__/NamingConventions.test.ts +224 -0
- package/src/naming/index.ts +23 -0
- package/src/parent-completion.md +1 -0
- package/src/performance/CachingStrategy.ts +426 -0
- package/src/performance/FileGenerationOptimizer.ts +294 -0
- package/src/performance/PerformanceMonitor.ts +185 -0
- package/src/performance/PerformanceOptimizer.ts +348 -0
- package/src/performance/index.ts +30 -0
- package/src/providers/AndroidFileOrganizer.ts +241 -0
- package/src/providers/AndroidFormatGenerator.ts +750 -0
- package/src/providers/AndroidUnitConverter.ts +177 -0
- package/src/providers/FormatProvider.ts +187 -0
- package/src/providers/PathProvider.ts +197 -0
- package/src/providers/UnitProvider.ts +106 -0
- package/src/providers/WebFileOrganizer.ts +121 -0
- package/src/providers/WebFormatGenerator.ts +611 -0
- package/src/providers/WebUnitConverter.ts +116 -0
- package/src/providers/__tests__/AndroidAccessibilityTokens.test.ts +86 -0
- package/src/providers/__tests__/AndroidFormatGenerator-semantic.test.ts +494 -0
- package/src/providers/__tests__/FormatProviders.test.ts +828 -0
- package/src/providers/__tests__/InsetTokenGeneration.test.ts +627 -0
- package/src/providers/__tests__/PathProviders.test.ts +512 -0
- package/src/providers/__tests__/PlatformOutputFormat.test.ts +252 -0
- package/src/providers/__tests__/UnitProviders.test.ts +721 -0
- package/src/providers/__tests__/WebFormatGenerator-semantic.test.ts +293 -0
- package/src/providers/__tests__/iOSFormatGenerator-semantic.test.ts +410 -0
- package/src/providers/iOSFileOrganizer.ts +162 -0
- package/src/providers/iOSFormatGenerator.ts +599 -0
- package/src/providers/iOSUnitConverter.ts +125 -0
- package/src/providers/index.ts +26 -0
- package/src/registries/ComponentTokenRegistry.ts +292 -0
- package/src/registries/IRegistry.ts +170 -0
- package/src/registries/PrimitiveTokenRegistry.ts +200 -0
- package/src/registries/SemanticTokenRegistry.ts +237 -0
- package/src/registries/__tests__/ComponentTokenRegistry.test.ts +446 -0
- package/src/registries/__tests__/IRegistry.test.ts +250 -0
- package/src/registries/__tests__/PrimitiveTokenRegistry.test.ts +342 -0
- package/src/registries/__tests__/SemanticTokenRegistry.test.ts +444 -0
- package/src/resolvers/AndroidColorResolver.ts +333 -0
- package/src/resolvers/ModeThemeResolver.ts +152 -0
- package/src/resolvers/SemanticOverrideResolver.ts +155 -0
- package/src/resolvers/SemanticValueResolver.ts +133 -0
- package/src/resolvers/WebColorResolver.ts +240 -0
- package/src/resolvers/__tests__/AndroidColorResolver.test.ts +507 -0
- package/src/resolvers/__tests__/ModeThemeResolver.test.ts +411 -0
- package/src/resolvers/__tests__/SemanticOverrideResolver.test.ts +186 -0
- package/src/resolvers/__tests__/WebColorResolver.test.ts +405 -0
- package/src/resolvers/__tests__/iOSColorResolver.test.ts +432 -0
- package/src/resolvers/iOSColorResolver.ts +224 -0
- package/src/resolvers/index.ts +11 -0
- package/src/security/AIAgentRestrictions.ts +298 -0
- package/src/security/ContaminationAuditor.ts +393 -0
- package/src/security/ContaminationPrevention.ts +275 -0
- package/src/security/DocumentationGuard.ts +258 -0
- package/src/security/FlexibilityTokenGuard.ts +256 -0
- package/src/security/HumanApprovalWorkflow.ts +319 -0
- package/src/security/__tests__/AIAgentRestrictions.test.ts +482 -0
- package/src/security/__tests__/ContaminationPrevention.test.ts +424 -0
- package/src/security/__tests__/SecurityIntegration.test.ts +505 -0
- package/src/security/index.ts +48 -0
- package/src/styles/responsive-grid-usage.md +992 -0
- package/src/styles/responsive-grid.css +200 -0
- package/src/testing/__tests__/utilities.test.ts +175 -0
- package/src/testing/index.ts +154 -0
- package/src/testing/jest-preset.ts +62 -0
- package/src/testing/style-mock.ts +7 -0
- package/src/testing/validators.ts +10 -0
- package/src/themes/ResolvedThemeSet.ts +22 -0
- package/src/themes/ThemeRegistry.ts +97 -0
- package/src/themes/__tests__/ThemeRegistry.test.ts +162 -0
- package/src/tokens/BlendTokens.ts +132 -0
- package/src/tokens/BlurTokens.ts +154 -0
- package/src/tokens/BorderWidthTokens.ts +101 -0
- package/src/tokens/BreakpointTokens.ts +101 -0
- package/src/tokens/ColorTokens.ts +2162 -0
- package/src/tokens/DensityTokens.ts +119 -0
- package/src/tokens/DurationTokens.ts +111 -0
- package/src/tokens/EasingTokens.ts +163 -0
- package/src/tokens/FontFamilyTokens.ts +95 -0
- package/src/tokens/FontSizeTokens.ts +197 -0
- package/src/tokens/FontWeightTokens.ts +166 -0
- package/src/tokens/GlowOpacityTokens.ts +113 -0
- package/src/tokens/LetterSpacingTokens.ts +114 -0
- package/src/tokens/LineHeightTokens.ts +200 -0
- package/src/tokens/OpacityTokens.ts +233 -0
- package/src/tokens/RadiusTokens.ts +236 -0
- package/src/tokens/ScaleTokens.ts +167 -0
- package/src/tokens/ShadowOffsetTokens.ts +279 -0
- package/src/tokens/ShadowOpacityTokens.ts +118 -0
- package/src/tokens/SizingTokens.ts +221 -0
- package/src/tokens/SpacingTokens.ts +255 -0
- package/src/tokens/TapAreaTokens.ts +124 -0
- package/src/tokens/__tests__/AIReadableMathematicalRelationships.test.ts +298 -0
- package/src/tokens/__tests__/BlendTokens.test.ts +357 -0
- package/src/tokens/__tests__/BlurTokens.test.ts +109 -0
- package/src/tokens/__tests__/BorderWidthTokens.test.ts +394 -0
- package/src/tokens/__tests__/ColorTokens.test.ts +847 -0
- package/src/tokens/__tests__/FontFamilyTokens.test.ts +308 -0
- package/src/tokens/__tests__/FontSizeTokensFormulaValidation.test.ts +176 -0
- package/src/tokens/__tests__/FontWeightTokens.test.ts +336 -0
- package/src/tokens/__tests__/LetterSpacingTokens.test.ts +359 -0
- package/src/tokens/__tests__/LineHeightTokensFormulaValidation.test.ts +235 -0
- package/src/tokens/__tests__/MotionTokens.property.test.ts +638 -0
- package/src/tokens/__tests__/MotionTokens.test.ts +431 -0
- package/src/tokens/__tests__/OpacityTokens.test.ts +370 -0
- package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +163 -0
- package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +93 -0
- package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +170 -0
- package/src/tokens/__tests__/RadiusStrategicFlexibilityValidation.test.ts +133 -0
- package/src/tokens/__tests__/RadiusTokensFormulaValidation.test.ts +240 -0
- package/src/tokens/__tests__/ShadowOffsetTokens.test.ts +407 -0
- package/src/tokens/__tests__/SizingTokens.test.ts +132 -0
- package/src/tokens/__tests__/SpacingTokensFormulaValidation.test.ts +205 -0
- package/src/tokens/__tests__/TokenCategories.test.ts +602 -0
- package/src/tokens/__tests__/chromatic-channels.test.ts +57 -0
- package/src/tokens/__tests__/composed-colors.test.ts +62 -0
- package/src/tokens/__tests__/neutral-partition.test.ts +119 -0
- package/src/tokens/__tests__/portability-boundary.test.ts +60 -0
- package/src/tokens/color/channels/chroma/chromatic.ts +67 -0
- package/src/tokens/color/channels/chroma/neutral.ts +35 -0
- package/src/tokens/color/channels/hues.ts +29 -0
- package/src/tokens/color/channels/index.ts +21 -0
- package/src/tokens/color/channels/lightness/chromatic.ts +68 -0
- package/src/tokens/color/channels/lightness/neutral.ts +36 -0
- package/src/tokens/color/index.ts +31 -0
- package/src/tokens/color/primitives/chromatic.ts +64 -0
- package/src/tokens/color/primitives/neutral.ts +45 -0
- package/src/tokens/component/progress.ts +153 -0
- package/src/tokens/index.ts +383 -0
- package/src/tokens/platforms/android/MotionTokens.kt +322 -0
- package/src/tokens/platforms/android/MotionTokens.md +0 -0
- package/src/tokens/platforms/ios/MotionTokens.md +322 -0
- package/src/tokens/platforms/ios/MotionTokens.swift +253 -0
- package/src/tokens/semantic/AccessibilityTokens.README.md +1070 -0
- package/src/tokens/semantic/AccessibilityTokens.ts +219 -0
- package/src/tokens/semantic/BlendTokens.ts +225 -0
- package/src/tokens/semantic/BorderWidthTokens.ts +162 -0
- package/src/tokens/semantic/ColorTokens.ts +866 -0
- package/src/tokens/semantic/ElevationTokens.ts +177 -0
- package/src/tokens/semantic/GridSpacingTokens.ts +147 -0
- package/src/tokens/semantic/IconTokens.ts +342 -0
- package/src/tokens/semantic/LayeringTokens.ts +167 -0
- package/src/tokens/semantic/MotionTokens.ts +143 -0
- package/src/tokens/semantic/OpacityTokens.ts +89 -0
- package/src/tokens/semantic/RadiusTokens.ts +242 -0
- package/src/tokens/semantic/ShadowTokens.ts +442 -0
- package/src/tokens/semantic/SpacingTokens.ts +274 -0
- package/src/tokens/semantic/StyleTokens.ts +22 -0
- package/src/tokens/semantic/TypographyTokens.ts +399 -0
- package/src/tokens/semantic/ZIndexTokens.ts +124 -0
- package/src/tokens/semantic/__tests__/AccessibilityTokens.test.ts +222 -0
- package/src/tokens/semantic/__tests__/BlendTokens.test.ts +377 -0
- package/src/tokens/semantic/__tests__/BorderWidthTokens.test.ts +141 -0
- package/src/tokens/semantic/__tests__/ColorTokens.test.ts +1391 -0
- package/src/tokens/semantic/__tests__/IconTokens.test.ts +769 -0
- package/src/tokens/semantic/__tests__/MotionTokens.test.ts +313 -0
- package/src/tokens/semantic/__tests__/OpacityTokens.test.ts +183 -0
- package/src/tokens/semantic/__tests__/SemanticTokenIntegration.test.ts +426 -0
- package/src/tokens/semantic/__tests__/ValidatePrimitiveReferences.test.ts +382 -0
- package/src/tokens/semantic/index.ts +611 -0
- package/src/tokens/themes/dark/SemanticOverrides.ts +168 -0
- package/src/tokens/themes/dark-wcag/SemanticOverrides.ts +21 -0
- package/src/tokens/themes/types.ts +26 -0
- package/src/tokens/themes/wcag/SemanticOverrides.ts +28 -0
- package/src/tools/ThemeFileGenerator.ts +109 -0
- package/src/tools/integrity/DiskFreshGenerator.ts +36 -0
- package/src/tools/integrity/GenerationIntegrityCheck.ts +132 -0
- package/src/tools/integrity/Invariants.ts +228 -0
- package/src/tools/integrity/Normalizer.ts +94 -0
- package/src/tools/integrity/SemanticComparator.ts +127 -0
- package/src/tools/integrity/__tests__/GenerationIntegrityCheck.test.ts +132 -0
- package/src/tools/integrity/__tests__/Invariants.test.ts +142 -0
- package/src/tools/integrity/__tests__/Normalizer.test.ts +65 -0
- package/src/tools/integrity/__tests__/SemanticComparator.test.ts +62 -0
- package/src/tools/integrity/__tests__/consumer-package-mode.test.ts +205 -0
- package/src/tools/integrity/cli/run-audit.ts +150 -0
- package/src/tools/integrity/inventory.ts +51 -0
- package/src/tools/integrity/manifest.ts +56 -0
- package/src/tools/integrity/types/index.ts +183 -0
- package/src/tools/release/__tests__/ChangeClassifier.test.ts +133 -0
- package/src/tools/release/__tests__/ChangeExtractor.test.ts +222 -0
- package/src/tools/release/__tests__/GitHubPublisher.test.ts +240 -0
- package/src/tools/release/__tests__/NotesRenderer.test.ts +142 -0
- package/src/tools/release/__tests__/NpmPublisher.test.ts +289 -0
- package/src/tools/release/__tests__/PipelineIntegration.test.ts +188 -0
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +192 -0
- package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +49 -0
- package/src/tools/release/__tests__/SummaryScanner.test.ts +141 -0
- package/src/tools/release/__tests__/TagResolver.test.ts +91 -0
- package/src/tools/release/__tests__/VersionCalculator.test.ts +270 -0
- package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +80 -0
- package/src/tools/release/cli/ReleasePipeline.ts +165 -0
- package/src/tools/release/cli/release-tool.ts +107 -0
- package/src/tools/release/pipeline/ChangeClassifier.ts +61 -0
- package/src/tools/release/pipeline/ChangeExtractor.ts +87 -0
- package/src/tools/release/pipeline/NotesRenderer.ts +66 -0
- package/src/tools/release/pipeline/SummaryScanner.ts +70 -0
- package/src/tools/release/pipeline/TagResolver.ts +40 -0
- package/src/tools/release/pipeline/VersionCalculator.ts +375 -0
- package/src/tools/release/publishers/GitHubPublisher.ts +228 -0
- package/src/tools/release/publishers/NpmPublisher.ts +196 -0
- package/src/tools/release/release-config.json +5 -0
- package/src/tools/release/types/index.ts +282 -0
- package/src/tools/release/validators/SemanticVersionValidator.ts +67 -0
- package/src/types/ComponentTypes.ts +76 -0
- package/src/types/PrimitiveToken.ts +112 -0
- package/src/types/SemanticToken.ts +91 -0
- package/src/types/TranslationOutput.ts +105 -0
- package/src/types/ValidationResult.ts +74 -0
- package/src/types/__tests__/ComponentTypes.test.ts +73 -0
- package/src/types/css.d.ts +35 -0
- package/src/types/generated/TokenTypes.ts +142 -0
- package/src/types/index.ts +42 -0
- package/src/validators/BaselineGridValidator.ts +119 -0
- package/src/validators/CompositionPatternValidator.ts +259 -0
- package/src/validators/CrossPlatformConsistencyValidator.ts +498 -0
- package/src/validators/ErrorValidator.ts +998 -0
- package/src/validators/IValidator.ts +273 -0
- package/src/validators/MathematicalRelationshipParser.ts +434 -0
- package/src/validators/ModeParity.ts +123 -0
- package/src/validators/PassValidator.ts +533 -0
- package/src/validators/PlatformConstraintHandler.ts +453 -0
- package/src/validators/PrimitiveReferenceValidator.ts +284 -0
- package/src/validators/SemanticTokenValidator.ts +496 -0
- package/src/validators/StemmaComponentNamingValidator.ts +524 -0
- package/src/validators/StemmaErrorGuidanceSystem.ts +1600 -0
- package/src/validators/StemmaPropertyAccessibilityValidator.ts +823 -0
- package/src/validators/StemmaTokenUsageValidator.ts +650 -0
- package/src/validators/SyntaxValidator.ts +537 -0
- package/src/validators/ThreeTierValidator.ts +822 -0
- package/src/validators/ToleranceCalculator.ts +324 -0
- package/src/validators/ValidationReasoning.ts +464 -0
- package/src/validators/WCAGValidator.ts +219 -0
- package/src/validators/WarningValidator.ts +626 -0
- package/src/validators/__tests__/BaselineGridValidator.test.ts +292 -0
- package/src/validators/__tests__/BorderWidthValidation.test.ts +595 -0
- package/src/validators/__tests__/CompositionPatterns.test.ts +463 -0
- package/src/validators/__tests__/CrossPlatformConsistency.test.ts +834 -0
- package/src/validators/__tests__/IValidator.test.ts +258 -0
- package/src/validators/__tests__/MathematicalRelationshipParser.test.ts +465 -0
- package/src/validators/__tests__/PlatformConstraints.test.ts +486 -0
- package/src/validators/__tests__/SemanticTokenValidator.test.ts +723 -0
- package/src/validators/__tests__/StemmaComponentNamingValidator.test.ts +597 -0
- package/src/validators/__tests__/StemmaErrorGuidanceSystem.test.ts +717 -0
- package/src/validators/__tests__/StemmaPropertyAccessibilityValidator.test.ts +349 -0
- package/src/validators/__tests__/StemmaTokenUsageValidator.test.ts +432 -0
- package/src/validators/__tests__/SyntaxValidator.test.ts +360 -0
- package/src/validators/__tests__/ThreeTierValidator.test.ts +906 -0
- package/src/validators/__tests__/ValidationReasoning.test.ts +636 -0
- package/src/validators/__tests__/WCAGValidator.test.ts +243 -0
- package/src/validators/buildValidation.ts +170 -0
- package/src/validators/index.ts +144 -0
- package/src/workflows/ConsistencyValidator.ts +339 -0
- package/src/workflows/TokenGenerationWorkflow.ts +460 -0
- package/src/workflows/ValidationPipeline.ts +284 -0
- package/src/workflows/WorkflowErrorHandler.ts +441 -0
- package/token-index/README.md +32 -0
- package/token-index/components.yaml +265 -0
- package/token-index/primitives.yaml +2761 -0
- package/token-index/semantics.yaml +2421 -0
|
@@ -0,0 +1,705 @@
|
|
|
1
|
+
"use strict";var DesignerPunk=(()=>{var Ue=Object.defineProperty,cr=Object.defineProperties,dr=Object.getOwnPropertyDescriptor,ur=Object.getOwnPropertyDescriptors,hr=Object.getOwnPropertyNames,It=Object.getOwnPropertySymbols;var Rt=Object.prototype.hasOwnProperty,pr=Object.prototype.propertyIsEnumerable;var zt=(n,i,e)=>i in n?Ue(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e,V=(n,i)=>{for(var e in i||(i={}))Rt.call(i,e)&&zt(n,e,i[e]);if(It)for(var e of It(i))pr.call(i,e)&&zt(n,e,i[e]);return n},P=(n,i)=>cr(n,ur(i));var gr=(n,i)=>{for(var e in i)Ue(n,e,{get:i[e],enumerable:!0})},mr=(n,i,e,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of hr(i))!Rt.call(n,r)&&r!==e&&Ue(n,r,{get:()=>i[r],enumerable:!(t=dr(i,r))||t.enumerable});return n};var br=n=>mr(Ue({},"__esModule",{value:!0}),n);var Kn={};gr(Kn,{Avatar:()=>xn,AvatarBase:()=>kn,AvatarBaseElement:()=>j,BadgeCount:()=>Sn,BadgeCountBase:()=>ne,BadgeCountNotification:()=>se,BadgeLabel:()=>Cn,BadgeLabelBase:()=>re,BadgeNotification:()=>En,ButtonCTA:()=>ze,ButtonIcon:()=>Re,ButtonVerticalListItem:()=>ee,ButtonVerticalListSet:()=>te,CheckboxBase:()=>wn,CheckboxLegal:()=>An,ChipBase:()=>In,ChipBaseElement:()=>le,ChipFilter:()=>zn,ChipFilterElement:()=>ce,ChipInput:()=>Rn,ChipInputElement:()=>de,Container:()=>vn,ContainerBase:()=>fn,ContainerBaseWeb:()=>q,ContainerCard:()=>Bn,ContainerCardBase:()=>Ln,ContainerCardBaseWeb:()=>K,Icon:()=>mn,IconBase:()=>bn,IconBaseElement:()=>O,InputCheckboxBaseElement:()=>oe,InputCheckboxLegalElement:()=>ae,InputRadioBaseElement:()=>Z,InputRadioSetElement:()=>ue,InputTextBase:()=>Q,InputTextEmail:()=>Ee,InputTextPassword:()=>we,InputTextPhoneNumber:()=>Ie,NavHeader:()=>qn,NavHeaderApp:()=>xe,NavHeaderAppElement:()=>Gn,NavHeaderBase:()=>ye,NavHeaderPage:()=>ke,NavHeaderPageElement:()=>Wn,NavSegmentedChoiceBase:()=>fe,NavTabBarBase:()=>_e,PaginationBase:()=>Nn,ProgressBar:()=>jn,ProgressBarBase:()=>Ce,ProgressConnector:()=>Mn,ProgressIndicatorConnectorBase:()=>pe,ProgressIndicatorLabelBase:()=>ge,ProgressIndicatorNodeBase:()=>he,ProgressLabel:()=>Dn,ProgressNode:()=>Pn,ProgressPaginationBase:()=>me,ProgressStepperBase:()=>be,ProgressStepperDetailed:()=>ve,RadioBase:()=>Vn,RadioSet:()=>$n,SegmentedChoice:()=>Fn,StepperBase:()=>Hn,StepperDetailed:()=>On,TabBar:()=>Un,TextInputField:()=>Tn,VerticalListButtonItem:()=>_n,VerticalListButtonSet:()=>yn});function it(n){let i=n.r/255,e=n.g/255,t=n.b/255,r=Math.max(i,e,t),s=Math.min(i,e,t),o=r-s,a=0,l=0,c=(r+s)/2;if(o!==0)switch(l=c>.5?o/(2-r-s):o/(r+s),r){case i:a=((e-t)/o+(e<t?6:0))/6;break;case e:a=((t-i)/o+2)/6;break;case t:a=((i-e)/o+4)/6;break}return{h:Math.round(a*360),s:Number(l.toFixed(4)),l:Number(c.toFixed(4))}}function rt(n){let i=n.h/360,e=n.s,t=n.l,r,s,o;if(e===0)r=s=o=t;else{let a=(d,h,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<.16666666666666666?d+(h-d)*6*u:u<.5?h:u<.6666666666666666?d+(h-d)*(.6666666666666666-u)*6:d),l=t<.5?t*(1+e):t+e-t*e,c=2*t-l;r=a(c,l,i+1/3),s=a(c,l,i),o=a(c,l,i-1/3)}return{r:Math.round(r*255),g:Math.round(s*255),b:Math.round(o*255)}}function X(n){let i=n.match(/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);if(i)return{r:parseInt(i[1]),g:parseInt(i[2]),b:parseInt(i[3])};let e=n.replace(/^#/,"");if(!/^[0-9A-Fa-f]{3}$|^[0-9A-Fa-f]{6}$/.test(e))throw new Error(`Invalid hex color: ${n}`);let t=e.length===3?e.split("").map(a=>a+a).join(""):e,r=parseInt(t.substring(0,2),16),s=parseInt(t.substring(2,4),16),o=parseInt(t.substring(4,6),16);return{r,g:s,b:o}}function J(n){let i=e=>{let t=Math.round(Math.max(0,Math.min(255,e))).toString(16);return t.length===1?"0"+t:t};return`#${i(n.r)}${i(n.g)}${i(n.b)}`.toUpperCase()}function qe(n,i){let e={r:0,g:0,b:0},t=n.r*(1-i)+e.r*i,r=n.g*(1-i)+e.g*i,s=n.b*(1-i)+e.b*i;return{r:Math.round(Math.max(0,Math.min(255,t))),g:Math.round(Math.max(0,Math.min(255,r))),b:Math.round(Math.max(0,Math.min(255,s)))}}function Ge(n,i){let e={r:255,g:255,b:255},t=n.r*(1-i)+e.r*i,r=n.g*(1-i)+e.g*i,s=n.b*(1-i)+e.b*i;return{r:Math.round(Math.max(0,Math.min(255,t))),g:Math.round(Math.max(0,Math.min(255,r))),b:Math.round(Math.max(0,Math.min(255,s)))}}function We(n,i){let e=it(n);return e.s=Math.max(0,Math.min(1,e.s+i)),rt(e)}function je(n,i){let e=it(n);return e.s=Math.max(0,Math.min(1,e.s-i)),rt(e)}var z=.04;function $e(n){return{web:{value:n,unit:"unitless"},ios:{value:n,unit:"unitless"},android:{value:n,unit:"unitless"}}}var vr={blend100:{name:"blend100",category:"blend",baseValue:z,familyBaseValue:z,description:"Subtle modification - gentle feedback, container hover",mathematicalRelationship:"base \xD7 1 = 0.04 \xD7 1 = 0.04",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:$e(z)},blend200:{name:"blend200",category:"blend",baseValue:z*2,familyBaseValue:z,description:"Standard modification - noticeable feedback, button hover",mathematicalRelationship:"base \xD7 2 = 0.04 \xD7 2 = 0.08",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:$e(z*2)},blend300:{name:"blend300",category:"blend",baseValue:z*3,familyBaseValue:z,description:"Strong modification - clear feedback, pressed state",mathematicalRelationship:"base \xD7 3 = 0.04 \xD7 3 = 0.12",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:$e(z*3)},blend400:{name:"blend400",category:"blend",baseValue:z*4,familyBaseValue:z,description:"Very strong modification - emphasized feedback",mathematicalRelationship:"base \xD7 4 = 0.04 \xD7 4 = 0.16",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:$e(z*4)},blend500:{name:"blend500",category:"blend",baseValue:z*5,familyBaseValue:z,description:"Maximum modification - dramatic feedback",mathematicalRelationship:"base \xD7 5 = 0.04 \xD7 5 = 0.20",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:$e(z*5)}},ts=Object.keys(vr);var Se={hoverDarker:.08,pressedDarker:.12,focusSaturate:.08,disabledDesaturate:.12,iconLighter:.08};function nt(n,i){try{let e=X(n),t=qe(e,i);return J(t)}catch(e){return n}}function Bt(n,i){try{let e=X(n),t=Ge(e,i);return J(t)}catch(e){return n}}function Lt(n,i){try{let e=X(n),t=We(e,i);return J(t)}catch(e){return n}}function Vt(n,i){try{let e=X(n),t=je(e,i);return J(t)}catch(e){return n}}function $t(){return{hoverColor:n=>nt(n,Se.hoverDarker),pressedColor:n=>nt(n,Se.pressedDarker),focusColor:n=>Lt(n,Se.focusSaturate),disabledColor:n=>Vt(n,Se.disabledDesaturate),iconColor:n=>Bt(n,Se.iconLighter),darkerBlend:nt,lighterBlend:Bt,saturate:Lt,desaturate:Vt}}function E(){return $t()}function st(n){let i=n.isFocused||n.isFilled,e;return n.hasError?e="color.error":n.isSuccess?e="color.success":n.isFocused?e="color.primary":e="color.text.muted",{isFloated:i,fontSize:i?"typography.labelMdFloat":"typography.labelMd",color:e,position:i?"above":"inside"}}function ot(n){let i=n.isLabelFloated;return{showErrorIcon:n.hasError&&i,showSuccessIcon:n.isSuccess&&i,showInfoIcon:!!n.showInfoIcon&&(n.isFocused||n.isFilled)}}function Pt(n){let i=n.value.length>0,e=!!n.errorMessage,t=!!n.isSuccess;return{isFocused:!1,isFilled:i,hasError:e,isSuccess:t,isLabelFloated:i,showInfoIcon:n.showInfoIcon}}function Mt(n){return P(V({},n),{isFocused:!0,isLabelFloated:!0})}function Dt(n){return P(V({},n),{isFocused:!1,isLabelFloated:n.isFilled})}function at(n,i){let e=i.length>0;return P(V({},n),{isFilled:e,isLabelFloated:n.isFocused||e})}function lt(n,i,e){return P(V({},n),{hasError:!!i,isSuccess:!!e})}var Nt=E();function Ht(n){let i={"arrow-right":'<line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline>',"arrow-left":'<line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline>',"arrow-up":'<line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline>',"arrow-down":'<line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline>',"chevron-right":'<polyline points="9 18 15 12 9 6"></polyline>',"chevron-left":'<polyline points="15 18 9 12 15 6"></polyline>',"chevron-down":'<polyline points="6 9 12 15 18 9"></polyline>',"external-link":'<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>',check:'<polyline points="20 6 9 17 4 12"></polyline>',"check-circle":'<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>',x:'<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>',"x-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>',plus:'<line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line>',minus:'<line x1="5" y1="12" x2="19" y2="12"></line>',save:'<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline>',search:'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>',filter:'<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>',"refresh-cw":'<polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path>',share:'<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line>',"share-2":'<circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line>',"more-horizontal":'<circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle>',"more-vertical":'<circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle>',info:'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line>',"alert-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line>',shield:'<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>',eye:'<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle>',"eye-off":'<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path><line x1="1" y1="1" x2="23" y2="23"></line>',circle:'<circle cx="12" cy="12" r="10"></circle>',heart:'<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path>',star:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>',smile:'<circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',bell:'<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path>',user:'<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle>',users:'<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path>',"user-check":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline>',"user-x":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="18" y1="8" x2="23" y2="13"></line><line x1="23" y1="8" x2="18" y2="13"></line>',settings:'<circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path>',mail:'<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>',calendar:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>',clock:'<circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline>',phone:'<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',smartphone:'<rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line>',globe:'<circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path>',"map-pin":'<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle>',briefcase:'<rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path>',"credit-card":'<rect x="1" y="4" width="22" height="16" rx="2" ry="2"></rect><line x1="1" y1="10" x2="23" y2="10"></line>',"dollar-sign":'<line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>',"file-text":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline>',award:'<circle cx="12" cy="8" r="7"></circle><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"></polyline>',"trending-up":'<polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline>',wifi:'<path d="M5 12.55a11 11 0 0 1 14.08 0"></path><path d="M1.42 9a16 16 0 0 1 21.16 0"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line>'};return i[n]||i.circle}function D(n){let{name:i,size:e,className:t="",style:r={},testID:s,color:o="inherit",opticalBalance:a=!1}=n,l=Ht(i),c={13:16,20:20,24:24,28:28,32:32,36:36,40:40,44:44,48:48},d=c[e];if(d===void 0)throw new Error(`Invalid icon size: ${e}. Valid sizes are: ${Object.keys(c).join(", ")}. Ensure you're using a valid IconBaseSize value (13, 20, 24, 28, 32, 36, 40, 44, 48).`);let m=`icon-base ${{13:"icon-base--size-050",20:"icon-base--size-075",24:"icon-base--size-100",28:"icon-base--size-125",32:"icon-base--size-200",36:"icon-base--size-400",40:"icon-base--size-500",44:"icon-base--size-600",48:"icon-base--size-700"}[e]} icon-base-${i} ${t}`.trim(),g;o==="inherit"?g="currentColor":a&&o.startsWith("#")?g=Nt.iconColor(o):o.startsWith("#")?g=o:g=`var(--${o})`;let f="var(--icon-stroke-width)",b=Object.entries(r).map(([_,S])=>`${_.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${S}`).join("; "),C=s?` data-testid="${s}"`:"",k=b?` style="${b}"`:"";return`<svg width="${d}" height="${d}" viewBox="0 0 24 24" fill="none" stroke="${g}" stroke-width="${f}" stroke-linecap="round" stroke-linejoin="round" class="${m}" aria-hidden="true"${C}${k}>${l}</svg>`}var O=class extends HTMLElement{static get observedAttributes(){return["name","size","color","test-id","optical-balance"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get name(){return this.getAttribute("name")||"circle"}set name(i){this.setAttribute("name",i)}get size(){let i=this.getAttribute("size");if(!i)throw new Error('Missing required "size" attribute on <icon-base>. Valid sizes are: 13, 18, 24, 28, 32, 36, 40, 44, 48.');let e=parseInt(i,10),t=[13,20,24,28,32,36,40,44,48];if(!t.includes(e))throw new Error(`Invalid icon size: ${e}. Valid sizes are: ${t.join(", ")}. Ensure you're using a valid IconBaseSize value.`);return e}set size(i){this.setAttribute("size",i.toString())}get color(){return this.getAttribute("color")||"inherit"}set color(i){this.setAttribute("color",i)}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}get opticalBalance(){return this.getAttribute("optical-balance")==="true"}set opticalBalance(i){i?this.setAttribute("optical-balance","true"):this.removeAttribute("optical-balance")}render(){let i=this.name,e=this.size,t=this.color,r=this.testID,s=this.opticalBalance,o=Ht(i),l={13:"icon-base--size-050",20:"icon-base--size-075",24:"icon-base--size-100",28:"icon-base--size-125",32:"icon-base--size-200",36:"icon-base--size-400",40:"icon-base--size-500",44:"icon-base--size-600",48:"icon-base--size-700"}[e],c;t==="inherit"?c="currentColor":s&&t.startsWith("#")?c=Nt.iconColor(t):t.startsWith("#")?c=t:c=`var(--${t})`;let d="var(--icon-stroke-width)",h=r?` data-testid="${r}"`:"",u=`
|
|
2
|
+
<style>
|
|
3
|
+
.icon-base {
|
|
4
|
+
display: inline-block;
|
|
5
|
+
vertical-align: middle;
|
|
6
|
+
flex-shrink: 0;
|
|
7
|
+
color: inherit;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.icon-base--size-050 { width: var(--icon-size-050); height: var(--icon-size-050); }
|
|
11
|
+
.icon-base--size-075 { width: var(--icon-size-075); height: var(--icon-size-075); }
|
|
12
|
+
.icon-base--size-100 { width: var(--icon-size-100); height: var(--icon-size-100); }
|
|
13
|
+
.icon-base--size-125 { width: var(--icon-size-125); height: var(--icon-size-125); }
|
|
14
|
+
.icon-base--size-150 { width: var(--icon-size-150); height: var(--icon-size-150); }
|
|
15
|
+
.icon-base--size-200 { width: var(--icon-size-200); height: var(--icon-size-200); }
|
|
16
|
+
.icon-base--size-300 { width: var(--icon-size-300); height: var(--icon-size-300); }
|
|
17
|
+
.icon-base--size-400 { width: var(--icon-size-400); height: var(--icon-size-400); }
|
|
18
|
+
.icon-base--size-500 { width: var(--icon-size-500); height: var(--icon-size-500); }
|
|
19
|
+
.icon-base--size-600 { width: var(--icon-size-600); height: var(--icon-size-600); }
|
|
20
|
+
.icon-base--size-700 { width: var(--icon-size-700); height: var(--icon-size-700); }
|
|
21
|
+
|
|
22
|
+
@media print {
|
|
23
|
+
.icon-base { color: var(--color-print-default) !important; }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@media (prefers-contrast: high) {
|
|
27
|
+
.icon-base { stroke: currentColor !important; }
|
|
28
|
+
}
|
|
29
|
+
</style>
|
|
30
|
+
`;this._shadowRoot.innerHTML=`
|
|
31
|
+
${u}
|
|
32
|
+
<svg
|
|
33
|
+
viewBox="0 0 24 24"
|
|
34
|
+
fill="none"
|
|
35
|
+
stroke="${c}"
|
|
36
|
+
stroke-width="${d}"
|
|
37
|
+
stroke-linecap="round"
|
|
38
|
+
stroke-linejoin="round"
|
|
39
|
+
class="icon-base ${l} icon-base-${i}"
|
|
40
|
+
aria-hidden="true"${h}
|
|
41
|
+
>
|
|
42
|
+
${o}
|
|
43
|
+
</svg>
|
|
44
|
+
`}};customElements.get("icon-base")||customElements.define("icon-base",O);var T={size050:13,size075:20,size100:24,size125:32,size150:28,size200:32,size300:32,size400:36,size500:40,size600:44,size700:48},Ot=T;var Ft=":host{display:block;width:100%}.input-text-base{width:100%}.input-wrapper{position:relative;width:100%;min-height:var(--tap-area-comfortable)}.input-element{width:100%;min-height:var(--tap-area-comfortable);padding-top:var(--space-inset-200);padding-bottom:var(--space-inset-none);padding-left:var(--space-inset-100);padding-right:calc(var(--space-inset-100)+var(--icon-size-100)+var(--space-inset-100));font-family:var(--typography-input-font-family);font-size:var(--typography-input-font-size);line-height:var(--typography-input-line-height);font-weight:var(--typography-input-font-weight);letter-spacing:var(--typography-input-letter-spacing);color:var(--color-text-default);background:var(--color-structure-canvas);border:var(--border-default) solid var(--color-structure-border);border-radius:var(--radius-150);outline:none;box-sizing:border-box;transition:border-color var(--motion-float-label-duration) var(--motion-float-label-easing)}.input-element:focus{border-color:var(--_itb-focus-color,var(--color-action-primary))}.input-element:focus-visible{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset);transition:outline-color var(--motion-focus-transition-duration) var(--motion-focus-transition-easing)}.input-wrapper.error .input-element:focus-visible{outline-color:var(--accessibility-focus-color)}.input-wrapper.success .input-element:focus-visible{outline-color:var(--accessibility-focus-color)}.input-wrapper.error .input-element{border-color:var(--color-feedback-error-text)}.input-wrapper.success .input-element{border-color:var(--color-feedback-success-text)}.input-label{position:absolute;left:var(--space-inset-100);top:50%;transform:translateY(-50%);font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);line-height:var(--typography-label-md-line-height);font-weight:var(--typography-label-md-font-weight);letter-spacing:var(--typography-label-md-letter-spacing);color:var(--color-text-muted);pointer-events:none;transition:transform var(--motion-float-label-duration) var(--motion-float-label-easing),font-size var(--motion-float-label-duration) var(--motion-float-label-easing),color var(--motion-float-label-duration) var(--motion-float-label-easing)}.input-label.floated{transform:translateY(calc(-100% - var(--space-grouped-tight)));font-size:var(--typography-label-md-float-font-size);line-height:var(--typography-label-md-float-line-height)}.input-wrapper.focused .input-label.floated{color:var(--_itb-focus-color,var(--color-action-primary))}.input-wrapper.error .input-label{color:var(--color-feedback-error-text)}.input-wrapper.success .input-label{color:var(--color-feedback-success-text)}.helper-text{margin:var(--space-grouped-minimal) 0 0 0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-text-muted)}.error-message{margin:var(--space-grouped-minimal) 0 0 0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-feedback-error-text)}.trailing-icon-container{position:absolute;right:var(--space-inset-100);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity var(--motion-float-label-duration) var(--motion-float-label-easing);transition-delay:var(--motion-float-label-duration)}.input-wrapper.focused .trailing-icon-container{opacity:1;transition-delay:var(--motion-float-label-duration)}.input-wrapper.filled .trailing-icon-container{opacity:1;transition-delay:var(--motion-float-label-duration)}.input-wrapper:not(.focused):not(.filled) .trailing-icon-container{opacity:0;transition-delay:0ms}.trailing-icon{display:block}@media (prefers-reduced-motion:reduce){.input-element,.input-element:focus-visible,.input-label,.trailing-icon-container{transition:none}}";var Q=class extends HTMLElement{constructor(){super();this.container=null;this.inputElement=null;this.labelElement=null;this.helperTextElement=null;this.errorMessageElement=null;this._focusColor="";this.onFocus=()=>{this.state=Mt(this.state),this.updateLabelPosition(),this.dispatchEvent(new CustomEvent("focus",{bubbles:!0,composed:!0}))};this.onBlur=()=>{this.state=Dt(this.state),this.updateLabelPosition(),this.dispatchEvent(new CustomEvent("blur",{bubbles:!0,composed:!0}))};this.onInput=e=>{let r=e.target.value;this.state=at(this.state,r),this.updateLabelPosition(),this.dispatchEvent(new CustomEvent("change",{detail:{value:r},bubbles:!0,composed:!0}))};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E(),this.state=Pt(this.getPropsFromAttributes())}get shadowRoot(){return this._shadowRoot}static get observedAttributes(){return["id","label","value","type","placeholder","helper-text","error-message","is-success","show-info-icon","read-only","required","max-length","autocomplete"]}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._calculateBlendColorsWithRetry(),this.render(),this.attachEventListeners()},{once:!0}):(this._calculateBlendColorsWithRetry(),this.render(),this.attachEventListeners())}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this.render()}catch(t){console.warn("InputTextBase: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-action-primary").trim();if(!t)throw new Error("InputTextBase: Required token --color-action-primary is missing from CSS custom properties");this._focusColor=this._blendUtils.focusColor(t)}disconnectedCallback(){this.detachEventListeners()}attributeChangedCallback(e,t,r){if(t!==r){if(e==="value"){this.state=at(this.state,r||""),this.updateLabelPosition(),this.inputElement&&this.inputElement.value!==(r||"")&&(this.inputElement.value=r||"");return}else e==="error-message"?(this.state=lt(this.state,r||void 0,this.state.isSuccess),this.updateLabelPosition()):e==="is-success"&&(this.state=lt(this.state,this.state.hasError&&this.getAttribute("error-message")||void 0,r==="true"),this.updateLabelPosition());this.isConnected&&this.render()}}getPropsFromAttributes(){return{id:this.getAttribute("id")||"",label:this.getAttribute("label")||"",value:this.getAttribute("value")||"",onChange:()=>{},type:this.getAttribute("type")||"text",placeholder:this.getAttribute("placeholder")||void 0,helperText:this.getAttribute("helper-text")||void 0,errorMessage:this.getAttribute("error-message")||void 0,isSuccess:this.getAttribute("is-success")==="true",showInfoIcon:this.getAttribute("show-info-icon")==="true",readOnly:this.hasAttribute("read-only"),required:this.hasAttribute("required"),maxLength:this.hasAttribute("max-length")?parseInt(this.getAttribute("max-length"),10):void 0,autocomplete:this.getAttribute("autocomplete")||void 0}}render(){let e=this.getPropsFromAttributes(),t=st(this.state),r=ot(this.state);this.container||(this.container=document.createElement("div"),this.container.className="input-text-base");let s=Ot.size100,o="";r.showErrorIcon?o=D({name:"x",size:s,color:"color-error",className:"trailing-icon error-icon"}):r.showSuccessIcon?o=D({name:"check",size:s,color:"color-feedback-success-text",className:"trailing-icon success-icon"}):r.showInfoIcon&&(o=D({name:"info",size:s,color:"color-text-subtle",className:"trailing-icon info-icon"}));let a=`
|
|
45
|
+
--_itb-focus-color: ${this._focusColor};
|
|
46
|
+
`;this.container.innerHTML=`
|
|
47
|
+
<div class="input-wrapper ${this.state.hasError?"error":""} ${this.state.isSuccess?"success":""} ${this.state.isFocused?"focused":""} ${this.state.isFilled?"filled":""}" style="${a}">
|
|
48
|
+
<label
|
|
49
|
+
for="${e.id}"
|
|
50
|
+
class="input-label ${t.isFloated?"floated":""}"
|
|
51
|
+
>
|
|
52
|
+
${e.label}${e.required?" *":""}
|
|
53
|
+
</label>
|
|
54
|
+
<input
|
|
55
|
+
id="${e.id}"
|
|
56
|
+
type="${e.type}"
|
|
57
|
+
class="input-element"
|
|
58
|
+
value="${e.value}"
|
|
59
|
+
placeholder="${t.isFloated&&e.placeholder?e.placeholder:""}"
|
|
60
|
+
${e.readOnly?"readonly":""}
|
|
61
|
+
${e.required?"required":""}
|
|
62
|
+
${e.maxLength?`maxlength="${e.maxLength}"`:""}
|
|
63
|
+
${e.autocomplete?`autocomplete="${e.autocomplete}"`:""}
|
|
64
|
+
aria-describedby="${e.helperText?`helper-${e.id}`:""} ${e.errorMessage?`error-${e.id}`:""}"
|
|
65
|
+
${e.errorMessage?'aria-invalid="true"':""}
|
|
66
|
+
/>
|
|
67
|
+
${o?`<div class="trailing-icon-container">${o}</div>`:""}
|
|
68
|
+
</div>
|
|
69
|
+
${e.helperText?`
|
|
70
|
+
<p id="helper-${e.id}" class="helper-text">
|
|
71
|
+
${e.helperText}
|
|
72
|
+
</p>
|
|
73
|
+
`:""}
|
|
74
|
+
${e.errorMessage?`
|
|
75
|
+
<p id="error-${e.id}" class="error-message" role="alert">
|
|
76
|
+
${e.errorMessage}
|
|
77
|
+
</p>
|
|
78
|
+
`:""}
|
|
79
|
+
`;let l=document.createElement("style");l.textContent=Ft,this._shadowRoot.innerHTML="",this._shadowRoot.appendChild(l),this._shadowRoot.appendChild(this.container),this.inputElement=this._shadowRoot.querySelector(".input-element"),this.labelElement=this._shadowRoot.querySelector(".input-label"),this.helperTextElement=this._shadowRoot.querySelector(".helper-text"),this.errorMessageElement=this._shadowRoot.querySelector(".error-message")}attachEventListeners(){this.inputElement&&(this.inputElement.addEventListener("focus",this.onFocus),this.inputElement.addEventListener("blur",this.onBlur),this.inputElement.addEventListener("input",this.onInput))}detachEventListeners(){this.inputElement&&(this.inputElement.removeEventListener("focus",this.onFocus),this.inputElement.removeEventListener("blur",this.onBlur),this.inputElement.removeEventListener("input",this.onInput))}updateLabelPosition(){if(!this.labelElement||!this.container)return;st(this.state).isFloated?this.labelElement.classList.add("floated"):this.labelElement.classList.remove("floated");let t=this.container.querySelector(".input-wrapper");t&&(t.classList.toggle("focused",this.state.isFocused),t.classList.toggle("filled",this.state.isFilled),t.classList.toggle("error",this.state.hasError),t.classList.toggle("success",this.state.isSuccess)),this.updateIconVisibility()}updateIconVisibility(){if(!this.container)return;let e=ot(this.state),t=this.container.querySelector(".trailing-icon-container");if(!t)return;e.showErrorIcon||e.showSuccessIcon||e.showInfoIcon?t.style.opacity="1":t.style.opacity="0"}};customElements.get("input-text-base")||customElements.define("input-text-base",Q);var Ze="Please enter a valid email address",fr=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function _r(n){if(!n||n.trim()==="")return!0;let i=n.trim();if(!fr.test(i))return!1;let e=i.split("@")[0];return!(e.startsWith(".")||e.endsWith(".")||e.includes(".."))}function ct(n,i,e){return!n||n.trim()===""?{isValid:!0}:(i||_r)(n)?{isValid:!0}:{isValid:!1,errorMessage:e||Ze}}var Ee=class extends HTMLElement{constructor(){super();this._baseInput=null;this._hasBeenValidated=!1;this._isEmailValid=!0;this.onFocus=e=>{this.dispatchEvent(new CustomEvent("focus",{bubbles:!0,composed:!0}))};this.onBlur=e=>{let t=this.getAttribute("value")||"",r=this.getAttribute("invalid-email-message")||Ze,s=ct(t);if(this._hasBeenValidated=!0,this._isEmailValid=s.isValid,this._baseInput){let o=this.getAttribute("error-message")||"";!o&&!this._isEmailValid?this._baseInput.setAttribute("error-message",r):!o&&this._isEmailValid&&this._baseInput.removeAttribute("error-message")}this.dispatchEvent(new CustomEvent("blur",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("validate",{detail:{isValid:this._isEmailValid,errorMessage:s.errorMessage},bubbles:!0,composed:!0}))};this.onChange=e=>{var s;let r=((s=e.detail)==null?void 0:s.value)||"";this.setAttribute("value",r),this._hasBeenValidated=!1,this._isEmailValid=!0,this._baseInput&&this._baseInput.setAttribute("value",r),this.dispatchEvent(new CustomEvent("change",{detail:{value:r},bubbles:!0,composed:!0}))};this._shadowRoot=this.attachShadow({mode:"open"})}get shadowRoot(){return this._shadowRoot}static get observedAttributes(){return["id","label","value","placeholder","helper-text","error-message","is-success","show-info-icon","read-only","required","max-length","invalid-email-message"]}connectedCallback(){this.render(),this.attachEventListeners()}disconnectedCallback(){this.detachEventListeners()}attributeChangedCallback(e,t,r){if(t!==r){if(e==="value"){this._hasBeenValidated=!1,this._isEmailValid=!0;return}this.isConnected&&this.render()}}render(){let e=this.getAttribute("id")||"",t=this.getAttribute("label")||"",r=this.getAttribute("value")||"",s=this.getAttribute("placeholder")||"",o=this.getAttribute("helper-text")||"",a=this.getAttribute("error-message")||"",l=this.getAttribute("is-success")==="true",c=this.getAttribute("show-info-icon")==="true",d=this.hasAttribute("read-only"),h=this.hasAttribute("required"),u=this.getAttribute("max-length"),m=this.getAttribute("invalid-email-message")||Ze,g=a;!g&&this._hasBeenValidated&&!this._isEmailValid&&(g=m);let f=`
|
|
80
|
+
<input-text-base
|
|
81
|
+
id="${e}"
|
|
82
|
+
label="${t}"
|
|
83
|
+
value="${r}"
|
|
84
|
+
type="email"
|
|
85
|
+
autocomplete="email"
|
|
86
|
+
${s?`placeholder="${s}"`:""}
|
|
87
|
+
${o?`helper-text="${o}"`:""}
|
|
88
|
+
${g?`error-message="${g}"`:""}
|
|
89
|
+
${l?'is-success="true"':""}
|
|
90
|
+
${c?'show-info-icon="true"':""}
|
|
91
|
+
${d?"read-only":""}
|
|
92
|
+
${h?"required":""}
|
|
93
|
+
${u?`max-length="${u}"`:""}
|
|
94
|
+
></input-text-base>
|
|
95
|
+
`,b=document.createElement("style");b.textContent=`
|
|
96
|
+
:host {
|
|
97
|
+
display: block;
|
|
98
|
+
width: 100%;
|
|
99
|
+
}
|
|
100
|
+
`,this._shadowRoot.innerHTML="",this._shadowRoot.appendChild(b);let C=document.createElement("div");C.innerHTML=f,this._shadowRoot.appendChild(C),this._baseInput=this._shadowRoot.querySelector("input-text-base")}attachEventListeners(){this._shadowRoot.addEventListener("blur",this.onBlur,!0),this._shadowRoot.addEventListener("change",this.onChange,!0),this._shadowRoot.addEventListener("focus",this.onFocus,!0)}detachEventListeners(){this._shadowRoot.removeEventListener("blur",this.onBlur,!0),this._shadowRoot.removeEventListener("change",this.onChange,!0),this._shadowRoot.removeEventListener("focus",this.onFocus,!0)}validate(){let e=this.getAttribute("value")||"",t=ct(e);return this._hasBeenValidated=!0,this._isEmailValid=t.isValid,this.render(),this.attachEventListeners(),t}get isValid(){return this._isEmailValid}get value(){return this.getAttribute("value")||""}set value(e){this.setAttribute("value",e)}};customElements.get("input-text-email")||customElements.define("input-text-email",Ee);var Pe="Password does not meet requirements",Ye={uppercase:/[A-Z]/,lowercase:/[a-z]/,number:/[0-9]/,specialChar:/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/};function Ut(){return{meetsMinLength:!0,meetsMaxLength:!0,hasUppercase:!0,hasLowercase:!0,hasNumber:!0,hasSpecialChar:!0}}function yr(n,i){let{minLength:e,maxLength:t,requireUppercase:r=!1,requireLowercase:s=!1,requireNumber:o=!1,requireSpecialChar:a=!1}=i;return{meetsMinLength:e===void 0||n.length>=e,meetsMaxLength:t===void 0||n.length<=t,hasUppercase:!r||Ye.uppercase.test(n),hasLowercase:!s||Ye.lowercase.test(n),hasNumber:!o||Ye.number.test(n),hasSpecialChar:!a||Ye.specialChar.test(n)}}function xr(n){return n.meetsMinLength&&n.meetsMaxLength&&n.hasUppercase&&n.hasLowercase&&n.hasNumber&&n.hasSpecialChar}function dt(n,i={},e,t){if(!n||n.length===0)return{isValid:!0,details:Ut()};if(e){let o=e(n);return{isValid:o,errorMessage:o?void 0:t||Pe,details:Ut()}}let r=yr(n,i),s=xr(r);return{isValid:s,errorMessage:s?void 0:t||Pe,details:r}}var we=class extends HTMLElement{constructor(){super();this._baseInput=null;this._isPasswordVisible=!1;this._hasBeenValidated=!1;this._isPasswordValid=!0;this.onFocus=e=>{this.dispatchEvent(new CustomEvent("focus",{bubbles:!0,composed:!0}))};this.onBlur=e=>{let t=this.getAttribute("value")||"",r=this.getRequirements(),s=this.getAttribute("invalid-password-message")||Pe,o=dt(t,r);if(this._hasBeenValidated=!0,this._isPasswordValid=o.isValid,this._baseInput){let a=this.getAttribute("error-message")||"";!a&&!this._isPasswordValid?this._baseInput.setAttribute("error-message",s):!a&&this._isPasswordValid&&this._baseInput.removeAttribute("error-message")}this.dispatchEvent(new CustomEvent("blur",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("validate",{detail:{isValid:this._isPasswordValid,errorMessage:o.errorMessage,details:o.details},bubbles:!0,composed:!0}))};this.onChange=e=>{var s;let r=((s=e.detail)==null?void 0:s.value)||"";this.setAttribute("value",r),this._hasBeenValidated=!1,this._isPasswordValid=!0,this._baseInput&&this._baseInput.setAttribute("value",r),this.dispatchEvent(new CustomEvent("change",{detail:{value:r},bubbles:!0,composed:!0}))};this.onToggleClick=e=>{var r,s;e.preventDefault(),e.stopPropagation(),this._isPasswordVisible=!this._isPasswordVisible,this.render(),this.attachEventListeners(),this.dispatchEvent(new CustomEvent("toggle-visibility",{detail:{visible:this._isPasswordVisible},bubbles:!0,composed:!0}));let t=(s=(r=this._baseInput)==null?void 0:r.shadowRoot)==null?void 0:s.querySelector("input");t&&t.focus()};this._shadowRoot=this.attachShadow({mode:"open"})}get shadowRoot(){return this._shadowRoot}static get observedAttributes(){return["id","label","value","placeholder","helper-text","error-message","is-success","show-info-icon","read-only","required","max-length","show-password","show-toggle","is-new-password","min-length","require-uppercase","require-lowercase","require-number","require-special-char","invalid-password-message"]}connectedCallback(){this.render(),this.attachEventListeners()}disconnectedCallback(){this.detachEventListeners()}attributeChangedCallback(e,t,r){if(t!==r){if(e==="show-password"&&(this._isPasswordVisible=r==="true"),e==="value"){this._hasBeenValidated=!1,this._isPasswordValid=!0;return}this.isConnected&&this.render()}}getRequirements(){return{minLength:this.getAttribute("min-length")?parseInt(this.getAttribute("min-length"),10):void 0,maxLength:this.getAttribute("max-length")?parseInt(this.getAttribute("max-length"),10):void 0,requireUppercase:this.hasAttribute("require-uppercase"),requireLowercase:this.hasAttribute("require-lowercase"),requireNumber:this.hasAttribute("require-number"),requireSpecialChar:this.hasAttribute("require-special-char")}}render(){let e=this.getAttribute("id")||"",t=this.getAttribute("label")||"",r=this.getAttribute("value")||"",s=this.getAttribute("placeholder")||"",o=this.getAttribute("helper-text")||"",a=this.getAttribute("error-message")||"",l=this.getAttribute("is-success")==="true",c=this.getAttribute("show-info-icon")==="true",d=this.hasAttribute("read-only"),h=this.hasAttribute("required"),u=this.getAttribute("max-length"),m=this.getAttribute("show-toggle")!=="false",g=this.hasAttribute("is-new-password"),f=this.getAttribute("invalid-password-message")||Pe,b=this._isPasswordVisible?"text":"password",C=g?"new-password":"current-password",k=a;!k&&this._hasBeenValidated&&!this._isPasswordValid&&(k=f);let _=m?`
|
|
101
|
+
<button
|
|
102
|
+
type="button"
|
|
103
|
+
class="toggle-button"
|
|
104
|
+
aria-label="${this._isPasswordVisible?"Hide password":"Show password"}"
|
|
105
|
+
aria-pressed="${this._isPasswordVisible}"
|
|
106
|
+
>
|
|
107
|
+
${this._isPasswordVisible?this.getHideIcon():this.getShowIcon()}
|
|
108
|
+
</button>
|
|
109
|
+
`:"",S=`
|
|
110
|
+
<div class="password-container">
|
|
111
|
+
<input-text-base
|
|
112
|
+
id="${e}"
|
|
113
|
+
label="${t}"
|
|
114
|
+
value="${r}"
|
|
115
|
+
type="${b}"
|
|
116
|
+
autocomplete="${C}"
|
|
117
|
+
${s?`placeholder="${s}"`:""}
|
|
118
|
+
${o?`helper-text="${o}"`:""}
|
|
119
|
+
${k?`error-message="${k}"`:""}
|
|
120
|
+
${l?'is-success="true"':""}
|
|
121
|
+
${c?'show-info-icon="true"':""}
|
|
122
|
+
${d?"read-only":""}
|
|
123
|
+
${h?"required":""}
|
|
124
|
+
${u?`max-length="${u}"`:""}
|
|
125
|
+
></input-text-base>
|
|
126
|
+
${_}
|
|
127
|
+
</div>
|
|
128
|
+
`,x=document.createElement("style");x.textContent=`
|
|
129
|
+
:host {
|
|
130
|
+
display: block;
|
|
131
|
+
width: 100%;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.password-container {
|
|
135
|
+
position: relative;
|
|
136
|
+
display: flex;
|
|
137
|
+
align-items: flex-start;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
input-text-base {
|
|
141
|
+
flex: 1;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.toggle-button {
|
|
145
|
+
position: absolute;
|
|
146
|
+
right: var(--space-inset-100);
|
|
147
|
+
/* Position to vertically center within the input field */
|
|
148
|
+
/* The input field has min-height of tap-area-comfortable (56px) */
|
|
149
|
+
/* Center the button at 28px from top (half of 56px input height) */
|
|
150
|
+
top: calc(var(--tap-area-comfortable) / 2);
|
|
151
|
+
transform: translateY(-50%);
|
|
152
|
+
background: transparent;
|
|
153
|
+
border: none;
|
|
154
|
+
cursor: pointer;
|
|
155
|
+
padding: var(--space-grouped-minimal);
|
|
156
|
+
display: flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
justify-content: center;
|
|
159
|
+
color: var(--color-text-muted);
|
|
160
|
+
border-radius: var(--radius-150);
|
|
161
|
+
transition: color var(--motion-focus-transition-duration) var(--motion-focus-transition-easing), background-color var(--motion-focus-transition-duration) var(--motion-focus-transition-easing);
|
|
162
|
+
z-index: 1;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.toggle-button:hover {
|
|
166
|
+
color: var(--color-text-default);
|
|
167
|
+
background-color: var(--color-background-hover);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.toggle-button:focus {
|
|
171
|
+
outline: var(--accessibility-focus-width) solid var(--accessibility-focus-color);
|
|
172
|
+
outline-offset: var(--accessibility-focus-offset);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.toggle-button svg {
|
|
176
|
+
width: var(--icon-size-100);
|
|
177
|
+
height: var(--icon-size-100);
|
|
178
|
+
}
|
|
179
|
+
`,this._shadowRoot.innerHTML="",this._shadowRoot.appendChild(x);let A=document.createElement("div");A.innerHTML=S,this._shadowRoot.appendChild(A),this._baseInput=this._shadowRoot.querySelector("input-text-base")}getShowIcon(){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
180
|
+
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
|
|
181
|
+
<circle cx="12" cy="12" r="3"></circle>
|
|
182
|
+
</svg>`}getHideIcon(){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
183
|
+
<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path>
|
|
184
|
+
<line x1="1" y1="1" x2="23" y2="23"></line>
|
|
185
|
+
</svg>`}attachEventListeners(){this._shadowRoot.addEventListener("blur",this.onBlur,!0),this._shadowRoot.addEventListener("change",this.onChange,!0),this._shadowRoot.addEventListener("focus",this.onFocus,!0);let e=this._shadowRoot.querySelector(".toggle-button");e&&e.addEventListener("click",this.onToggleClick)}detachEventListeners(){this._shadowRoot.removeEventListener("blur",this.onBlur,!0),this._shadowRoot.removeEventListener("change",this.onChange,!0),this._shadowRoot.removeEventListener("focus",this.onFocus,!0);let e=this._shadowRoot.querySelector(".toggle-button");e&&e.removeEventListener("click",this.onToggleClick)}validate(){let e=this.getAttribute("value")||"",t=this.getRequirements(),r=dt(e,t);return this._hasBeenValidated=!0,this._isPasswordValid=r.isValid,this.render(),this.attachEventListeners(),r}toggleVisibility(){this._isPasswordVisible=!this._isPasswordVisible,this.render(),this.attachEventListeners()}setVisibility(e){this._isPasswordVisible=e,this.render(),this.attachEventListeners()}get isValid(){return this._isPasswordValid}get isVisible(){return this._isPasswordVisible}get value(){return this.getAttribute("value")||""}set value(e){this.setAttribute("value",e)}};customElements.get("input-text-password")||customElements.define("input-text-password",we);var Xe="Please enter a valid phone number",qt={US:{code:"US",dialCode:"+1",name:"United States",format:"(###) ###-####",digitCount:10},CA:{code:"CA",dialCode:"+1",name:"Canada",format:"(###) ###-####",digitCount:10},GB:{code:"GB",dialCode:"+44",name:"United Kingdom",format:"#### ### ####",digitCount:11},DE:{code:"DE",dialCode:"+49",name:"Germany",format:"#### #######",digitCount:11},FR:{code:"FR",dialCode:"+33",name:"France",format:"## ## ## ## ##",digitCount:10},AU:{code:"AU",dialCode:"+61",name:"Australia",format:"#### ### ###",digitCount:10},JP:{code:"JP",dialCode:"+81",name:"Japan",format:"###-####-####",digitCount:11},IN:{code:"IN",dialCode:"+91",name:"India",format:"##### #####",digitCount:10},BR:{code:"BR",dialCode:"+55",name:"Brazil",format:"(##) #####-####",digitCount:11},MX:{code:"MX",dialCode:"+52",name:"Mexico",format:"## #### ####",digitCount:10}},F="US";function ut(n){return qt[n.toUpperCase()]||qt[F]}function Ae(n){return n.replace(/\D/g,"")}function Te(n,i=F){let t=ut(i).format;if(!n)return"";let r="",s=0;for(let o=0;o<t.length&&s<n.length;o++)t[o]==="#"?(r+=n[s],s++):r+=t[o];return r}function kr(n,i=F){if(!n||n.trim()==="")return!0;let e=Ae(n),t=ut(i);return e.length===t.digitCount}function ht(n,i=F,e,t){if(!n||n.trim()==="")return{isValid:!0};let r=Ae(n),s=Te(r,i);return(e||kr)(n,i)?{isValid:!0,formattedNumber:s,rawDigits:r}:{isValid:!1,errorMessage:t||Xe,formattedNumber:s,rawDigits:r}}function Gt(n,i="",e=F){let t=Ae(n),r=ut(e),s=t.slice(0,r.digitCount);return{formatted:Te(s,e),rawDigits:s}}var Ie=class extends HTMLElement{constructor(){super();this._baseInput=null;this._hasBeenValidated=!1;this._isPhoneValid=!0;this._currentCountryCode=F;this._rawDigits="";this._formattedValue="";this.onFocus=e=>{this.dispatchEvent(new CustomEvent("focus",{bubbles:!0,composed:!0}))};this.onBlur=e=>{let t=this.getAttribute("invalid-phone-message")||Xe,r=ht(this._rawDigits,this._currentCountryCode);if(this._hasBeenValidated=!0,this._isPhoneValid=r.isValid,this._baseInput){let s=this.getAttribute("error-message")||"";!s&&!this._isPhoneValid?this._baseInput.setAttribute("error-message",t):!s&&this._isPhoneValid&&this._baseInput.removeAttribute("error-message")}this.dispatchEvent(new CustomEvent("blur",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("validate",{detail:{isValid:this._isPhoneValid,errorMessage:r.errorMessage,formattedNumber:this._formattedValue,rawDigits:this._rawDigits},bubbles:!0,composed:!0}))};this.onChange=e=>{var c;let r=((c=e.detail)==null?void 0:c.value)||"",s=this.getAttribute("auto-format")!=="false",{formatted:o,rawDigits:a}=Gt(r,this._formattedValue,this._currentCountryCode);this._rawDigits=a,this._formattedValue=o,this._hasBeenValidated=!1,this._isPhoneValid=!0;let l=s?o:a;this.setAttribute("value",l),this._baseInput&&this._baseInput.setAttribute("value",l),this.dispatchEvent(new CustomEvent("change",{detail:{value:l,formattedValue:o,rawDigits:a},bubbles:!0,composed:!0}))};this._shadowRoot=this.attachShadow({mode:"open"})}get shadowRoot(){return this._shadowRoot}static get observedAttributes(){return["id","label","value","placeholder","helper-text","error-message","is-success","show-info-icon","read-only","required","max-length","country-code","auto-format","invalid-phone-message"]}connectedCallback(){this._currentCountryCode=this.getAttribute("country-code")||F;let e=this.getAttribute("value")||"";this._rawDigits=Ae(e),this._formattedValue=Te(this._rawDigits,this._currentCountryCode),this.render(),this.attachEventListeners()}disconnectedCallback(){this.detachEventListeners()}attributeChangedCallback(e,t,r){if(t!==r){if(e==="country-code"&&r&&(this._currentCountryCode=r,this._formattedValue=Te(this._rawDigits,this._currentCountryCode),this._hasBeenValidated=!1,this._isPhoneValid=!0),e==="value"&&r!==null){this._rawDigits=Ae(r),this._formattedValue=Te(this._rawDigits,this._currentCountryCode),this._hasBeenValidated=!1,this._isPhoneValid=!0;return}this.isConnected&&this.render()}}render(){let e=this.getAttribute("id")||"",t=this.getAttribute("label")||"",r=this.getAttribute("placeholder")||"",s=this.getAttribute("helper-text")||"",o=this.getAttribute("error-message")||"",a=this.getAttribute("is-success")==="true",l=this.getAttribute("show-info-icon")==="true",c=this.hasAttribute("read-only"),d=this.hasAttribute("required"),h=this.getAttribute("max-length"),u=this.getAttribute("auto-format")!=="false",m=this.getAttribute("invalid-phone-message")||Xe,g=u?this._formattedValue:this._rawDigits,f=o;!f&&this._hasBeenValidated&&!this._isPhoneValid&&(f=m);let b=`
|
|
186
|
+
<input-text-base
|
|
187
|
+
id="${e}"
|
|
188
|
+
label="${t}"
|
|
189
|
+
value="${g}"
|
|
190
|
+
type="tel"
|
|
191
|
+
autocomplete="tel"
|
|
192
|
+
${r?`placeholder="${r}"`:""}
|
|
193
|
+
${s?`helper-text="${s}"`:""}
|
|
194
|
+
${f?`error-message="${f}"`:""}
|
|
195
|
+
${a?'is-success="true"':""}
|
|
196
|
+
${l?'show-info-icon="true"':""}
|
|
197
|
+
${c?"read-only":""}
|
|
198
|
+
${d?"required":""}
|
|
199
|
+
${h?`max-length="${h}"`:""}
|
|
200
|
+
></input-text-base>
|
|
201
|
+
`,C=document.createElement("style");C.textContent=`
|
|
202
|
+
:host {
|
|
203
|
+
display: block;
|
|
204
|
+
width: 100%;
|
|
205
|
+
}
|
|
206
|
+
`,this._shadowRoot.innerHTML="",this._shadowRoot.appendChild(C);let k=document.createElement("div");k.innerHTML=b,this._shadowRoot.appendChild(k),this._baseInput=this._shadowRoot.querySelector("input-text-base")}attachEventListeners(){this._shadowRoot.addEventListener("blur",this.onBlur,!0),this._shadowRoot.addEventListener("change",this.onChange,!0),this._shadowRoot.addEventListener("focus",this.onFocus,!0)}detachEventListeners(){this._shadowRoot.removeEventListener("blur",this.onBlur,!0),this._shadowRoot.removeEventListener("change",this.onChange,!0),this._shadowRoot.removeEventListener("focus",this.onFocus,!0)}validate(){let e=ht(this._rawDigits,this._currentCountryCode);return this._hasBeenValidated=!0,this._isPhoneValid=e.isValid,this.render(),this.attachEventListeners(),P(V({},e),{formattedNumber:this._formattedValue,rawDigits:this._rawDigits})}get isValid(){return this._isPhoneValid}get value(){return this._formattedValue}set value(e){this.setAttribute("value",e)}get rawDigits(){return this._rawDigits}get countryCode(){return this._currentCountryCode}set countryCode(e){this.setAttribute("country-code",e)}};customElements.get("input-text-phone-number")||customElements.define("input-text-phone-number",Ie);var Wt=".button-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-grouped-normal);font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing);text-align:center;text-decoration:none;cursor:pointer;user-select:none;transition:background-color var(--motion-button-press-duration) var(--motion-button-press-easing),border-color var(--motion-button-press-duration) var(--motion-button-press-easing),color var(--motion-button-press-duration) var(--motion-button-press-easing),opacity var(--motion-button-press-duration) var(--motion-button-press-easing),box-shadow var(--motion-button-press-duration) var(--motion-button-press-easing);border:none;outline:none;background:none;flex-shrink:0}.button-cta--small{min-height:var(--tap-area-minimum);min-width:56px;padding:var(--space-inset-100) var(--space-inset-200);border-radius:var(--radius-100);gap:var(--space-grouped-tight);font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing)}.button-cta--medium{min-height:var(--tap-area-recommended);min-width:72px;padding:var(--space-inset-150) var(--space-inset-300);border-radius:var(--radius-150);gap:var(--space-grouped-normal);font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing)}.button-cta--large{min-height:var(--tap-area-comfortable);min-width:80px;padding:var(--space-inset-150) var(--space-inset-400);border-radius:var(--radius-200);gap:var(--space-grouped-normal);font-family:var(--typography-label-lg-font-family);font-size:var(--typography-label-lg-font-size);font-weight:var(--typography-label-lg-font-weight);line-height:var(--typography-label-lg-line-height);letter-spacing:var(--typography-label-lg-letter-spacing)}.button-cta--primary{background-color:var(--color-action-primary);color:var(--color-contrast-on-action);border:none}.button-cta--secondary{background-color:var(--color-structure-canvas);color:var(--color-action-primary);border:var(--border-default) solid var(--color-action-primary)}.button-cta--tertiary{background-color:transparent;color:var(--color-action-primary);border:none}.button-cta__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.button-cta--secondary .button-cta__icon,.button-cta--tertiary .button-cta__icon{color:var(--_cta-icon-optical)}.button-cta__label{display:inline-block;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.button-cta__label--no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.button-cta--primary:hover:not(:disabled){background-color:var(--_cta-hover-bg)}.button-cta--primary:active:not(:disabled){background-color:var(--_cta-pressed-bg)}.button-cta:focus-visible{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset);box-shadow:var(--shadow-hover)}.button-cta:focus:not(:focus-visible){outline:none}.button-cta:disabled,.button-cta--disabled{cursor:not-allowed;pointer-events:none}.button-cta--primary:disabled,.button-cta--primary.button-cta--disabled{background-color:var(--_cta-disabled-bg)}.button-cta--full-width{width:100%}@media print{.button-cta{background-color:transparent !important;color:var(--color-print-default) !important;border:var(--border-default) solid var(--color-print-default) !important;box-shadow:none !important}.button-cta__icon{display:none}}@media (prefers-contrast:high){.button-cta{border:var(--border-emphasis) solid currentColor}.button-cta:focus-visible{outline-width:var(--border-heavy)}}@media (prefers-reduced-motion:reduce){.button-cta{transition:none}}";function jt(n){let i;switch(n){case"small":case"medium":if(i=T.size100,!i)throw new Error("ButtonCTA: iconBaseSizes.size100 token is missing");break;case"large":if(i=T.size125,!i)throw new Error("ButtonCTA: iconBaseSizes.size125 token is missing");break;default:throw new Error(`ButtonCTA: Invalid button size "${n}"`)}return i}var ze=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._button=null;this._labelEl=null;this._iconEl=null;this._iconContainer=null;this._hoverColor="";this._pressedColor="";this._disabledColor="";this._iconColor="";this._iconOpticalBalanceColor="";this._handleClick=e=>{if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0,detail:{originalEvent:e}}))};this._handleKeyDown=e=>{this.disabled||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0,detail:{originalEvent:e}})))};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return["label","size","variant","icon","no-wrap","disabled","test-id"]}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._calculateBlendColorsWithRetry(),this.render()},{once:!0}):(this._calculateBlendColorsWithRetry(),this.render()),this._attachEventListeners()}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this.render()}catch(t){console.warn("ButtonCTA: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let e=getComputedStyle(document.documentElement),t=e.getPropertyValue("--color-action-primary").trim(),r=e.getPropertyValue("--color-contrast-on-action").trim();if(!t)throw new Error("ButtonCTA: Required token --color-action-primary is missing from CSS custom properties");if(!r)throw new Error("ButtonCTA: Required token --color-contrast-on-action is missing from CSS custom properties");this._hoverColor=this._blendUtils.hoverColor(t),this._pressedColor=this._blendUtils.pressedColor(t),this._disabledColor=this._blendUtils.disabledColor(t),this._iconColor=this._blendUtils.iconColor(r),this._iconOpticalBalanceColor=this._blendUtils.iconColor(t)}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._domCreated&&this._updateDOM()}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get size(){let e=this.getAttribute("size");return e==="small"||e==="medium"||e==="large"?e:"medium"}set size(e){this.setAttribute("size",e)}get buttonVariant(){let e=this.getAttribute("variant");return e==="primary"||e==="secondary"||e==="tertiary"?e:"primary"}set buttonVariant(e){this.setAttribute("variant",e)}get icon(){return this.getAttribute("icon")}set icon(e){e?this.setAttribute("icon",e):this.removeAttribute("icon")}get noWrap(){return this.getAttribute("no-wrap")==="true"}set noWrap(e){this.setAttribute("no-wrap",e.toString())}get disabled(){return this.hasAttribute("disabled")}set disabled(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){var g;let e=this.label,t=this.size,r=this.buttonVariant,s=this.icon,o=this.noWrap,a=this.disabled,l=this.testID,c=["button-cta",`button-cta--${t}`,`button-cta--${r}`,a?"button-cta--disabled":""].filter(Boolean).join(" "),d=jt(t),h=o?"button-cta__label--no-wrap":"button-cta__label",u=l?` data-testid="${l}"`:"",m=`
|
|
207
|
+
--_cta-hover-bg: ${this._hoverColor};
|
|
208
|
+
--_cta-pressed-bg: ${this._pressedColor};
|
|
209
|
+
--_cta-disabled-bg: ${this._disabledColor};
|
|
210
|
+
--_cta-icon-color: ${this._iconColor};
|
|
211
|
+
--_cta-icon-optical: ${this._iconOpticalBalanceColor};
|
|
212
|
+
`;this._shadowRoot.innerHTML=`
|
|
213
|
+
<style>${Wt}</style>
|
|
214
|
+
<button
|
|
215
|
+
class="${c}"
|
|
216
|
+
type="button"
|
|
217
|
+
role="button"
|
|
218
|
+
${a?'disabled aria-disabled="true"':'aria-disabled="false"'}
|
|
219
|
+
${u}
|
|
220
|
+
aria-label="${e}"
|
|
221
|
+
style="${m}"
|
|
222
|
+
>
|
|
223
|
+
<span class="button-cta__icon" aria-hidden="true" style="${s?"":"display: none;"}">
|
|
224
|
+
<icon-base name="${s||""}" size="${d}" color="inherit"></icon-base>
|
|
225
|
+
</span>
|
|
226
|
+
<span class="${h}">${e}</span>
|
|
227
|
+
</button>
|
|
228
|
+
`,this._button=this._shadowRoot.querySelector("button"),this._labelEl=this._shadowRoot.querySelector(".button-cta__label, .button-cta__label--no-wrap"),this._iconContainer=this._shadowRoot.querySelector(".button-cta__icon"),this._iconEl=((g=this._iconContainer)==null?void 0:g.querySelector("icon-base"))||null}_updateDOM(){if(!this._button||!this._labelEl)return;let e=this.label,t=this.size,r=this.buttonVariant,s=this.icon,o=this.noWrap,a=this.disabled,l=this.testID,c=jt(t),d=["button-cta",`button-cta--${t}`,`button-cta--${r}`,a?"button-cta--disabled":""].filter(Boolean).join(" ");this._button.className=d,a?(this._button.setAttribute("disabled",""),this._button.setAttribute("aria-disabled","true")):(this._button.removeAttribute("disabled"),this._button.setAttribute("aria-disabled","false")),this._button.setAttribute("aria-label",e),l?this._button.setAttribute("data-testid",l):this._button.removeAttribute("data-testid"),this._button.style.setProperty("--_cta-hover-bg",this._hoverColor),this._button.style.setProperty("--_cta-pressed-bg",this._pressedColor),this._button.style.setProperty("--_cta-disabled-bg",this._disabledColor),this._button.style.setProperty("--_cta-icon-color",this._iconColor),this._button.style.setProperty("--_cta-icon-optical",this._iconOpticalBalanceColor),this._labelEl.textContent=e,this._labelEl.className=o?"button-cta__label--no-wrap":"button-cta__label",this._iconContainer&&this._iconEl&&(s?(this._iconContainer.style.display="",this._iconEl.setAttribute("name",s),this._iconEl.setAttribute("size",String(c))):this._iconContainer.style.display="none")}_attachEventListeners(){this._button&&(this._button.addEventListener("click",this._handleClick),this._button.addEventListener("keydown",this._handleKeyDown))}_detachEventListeners(){this._button&&(this._button.removeEventListener("click",this._handleClick),this._button.removeEventListener("keydown",this._handleKeyDown))}};customElements.get("button-cta")||customElements.define("button-cta",ze);var pt={size:"medium",variant:"primary"};var Kt=":host{--_bi-focus-offset:var(--accessibility-focus-offset);--_bi-focus-width:var(--accessibility-focus-width);--_bi-focus-color:var(--accessibility-focus-color);--_bi-focus-buffer:4px;--_bi-radius:50%;--_bi-transition-duration:var(--motion-button-press-duration);--_bi-transition-easing:var(--motion-button-press-easing);--_bi-border-default:var(--border-default);--_bi-border-emphasis:var(--border-emphasis);--_bi-color-primary:var(--color-action-primary);--_bi-color-contrast:var(--color-contrast-on-action);--_bi-color-bg-subtle:var(--color-background-primary-subtle);--_bi-inset-large:var(--buttonicon-inset-large);--_bi-inset-medium:var(--buttonicon-inset-medium);--_bi-inset-small:var(--buttonicon-inset-small);--_bi-size-large:var(--buttonicon-size-large);--_bi-size-medium:var(--buttonicon-size-medium);--_bi-size-small:var(--buttonicon-size-small);--_bi-touch-target:var(--tap-area-recommended)}.button-icon{appearance:none;border:none;background:transparent;padding:0;font:inherit;cursor:pointer;user-select:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--_bi-radius);margin:var(--_bi-focus-buffer);transition:background-color var(--_bi-transition-duration) var(--_bi-transition-easing),border-color var(--_bi-transition-duration) var(--_bi-transition-easing),color var(--_bi-transition-duration) var(--_bi-transition-easing),box-shadow var(--_bi-transition-duration) var(--_bi-transition-easing),transform var(--_bi-transition-duration) var(--_bi-transition-easing);outline:none;flex-shrink:0;position:relative}.button-icon--small{padding:var(--_bi-inset-small);width:var(--_bi-size-small);height:var(--_bi-size-small);min-width:var(--_bi-size-small);min-height:var(--_bi-size-small)}.button-icon--medium{padding:var(--_bi-inset-medium);width:var(--_bi-size-medium);height:var(--_bi-size-medium);min-width:var(--_bi-size-medium);min-height:var(--_bi-size-medium)}.button-icon--large{padding:var(--_bi-inset-large);width:var(--_bi-size-large);height:var(--_bi-size-large);min-width:var(--_bi-size-large);min-height:var(--_bi-size-large)}.button-icon--primary{background-color:var(--_bi-color-primary);color:var(--_bi-color-contrast);border:none}.button-icon--secondary{background-color:transparent;color:var(--_bi-color-primary);border:var(--_bi-border-emphasis) solid transparent;box-shadow:inset 0 0 0 var(--_bi-border-default) var(--_bi-color-primary)}.button-icon--tertiary{background-color:transparent;color:var(--_bi-color-primary);border:none}.button-icon__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;line-height:inherit}.button-icon--primary:hover{background-color:var(--_bi-hover-bg)}.button-icon--secondary:hover{background-color:var(--_bi-color-bg-subtle);border-color:var(--_bi-hover-bg);box-shadow:none;color:var(--_bi-hover-bg)}.button-icon--tertiary:hover{color:var(--_bi-hover-bg)}.button-icon--primary:active{background-color:var(--_bi-pressed-bg)}.button-icon--secondary:active{background-color:var(--_bi-color-bg-subtle);border-color:var(--_bi-pressed-bg);box-shadow:none;color:var(--_bi-pressed-bg)}.button-icon--tertiary:active{color:var(--_bi-pressed-bg)}.button-icon:focus-visible{outline:var(--_bi-focus-width) solid var(--_bi-focus-color);outline-offset:var(--_bi-focus-offset)}.button-icon:focus:not(:focus-visible){outline:none}.button-icon--small::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--_bi-touch-target);height:var(--_bi-touch-target);background:transparent;border-radius:50%}.button-icon:hover,.button-icon:active,.button-icon:focus,.button-icon:focus-visible{border-radius:var(--_bi-radius)}@media (prefers-contrast:high){.button-icon{border:var(--_bi-border-emphasis) solid currentColor}.button-icon:focus-visible{outline-width:4px}}@media (prefers-reduced-motion:reduce){.button-icon{transition:none}}@media print{.button-icon{background-color:transparent !important;color:var(--color-print-default) !important;border:var(--_bi-border-default) solid var(--color-print-default) !important;box-shadow:none !important}}";function Zt(n){let i;switch(n){case"small":if(i=T.size050,!i)throw new Error("ButtonIcon: iconBaseSizes.size050 token is missing");break;case"medium":if(i=T.size075,!i)throw new Error("ButtonIcon: iconBaseSizes.size075 token is missing");break;case"large":if(i=T.size100,!i)throw new Error("ButtonIcon: iconBaseSizes.size100 token is missing");break;default:throw new Error(`ButtonIcon: Invalid button size "${n}"`)}return i}var Re=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._button=null;this._iconEl=null;this._iconContainer=null;this._hoverColor="";this._pressedColor="";this._handleClick=e=>{this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0,detail:{originalEvent:e}}))};this._handleKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0,detail:{originalEvent:e}})))};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return["icon","aria-label","size","variant","test-id"]}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._calculateBlendColorsWithRetry(),this.render()},{once:!0}):(this._calculateBlendColorsWithRetry(),this.render()),this.ariaLabel||console.warn('ButtonIcon: Missing required "aria-label" attribute. Icon-only buttons require aria-label for screen reader accessibility.')}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this.render()}catch(t){console.warn("ButtonIcon: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-action-primary").trim();if(!t)throw new Error("ButtonIcon: Required token --color-action-primary is missing from CSS custom properties");this._hoverColor=this._blendUtils.hoverColor(t),this._pressedColor=this._blendUtils.pressedColor(t)}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._domCreated&&this._updateDOM()}get icon(){return this.getAttribute("icon")||""}set icon(e){this.setAttribute("icon",e)}get ariaLabel(){return this.getAttribute("aria-label")||""}set ariaLabel(e){this.setAttribute("aria-label",e)}get size(){let e=this.getAttribute("size");return e==="small"||e==="medium"||e==="large"?e:pt.size}set size(e){this.setAttribute("size",e)}get buttonVariant(){let e=this.getAttribute("variant");return e==="primary"||e==="secondary"||e==="tertiary"?e:pt.variant}set buttonVariant(e){this.setAttribute("variant",e)}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){var h;let e=this.icon,t=this.ariaLabel,r=this.size,s=this.buttonVariant,o=this.testID,a=Zt(r),l=["button-icon",`button-icon--${r}`,`button-icon--${s}`].filter(Boolean).join(" "),c=o?` data-testid="${o}"`:"",d=`
|
|
229
|
+
--_bi-hover-bg: ${this._hoverColor};
|
|
230
|
+
--_bi-pressed-bg: ${this._pressedColor};
|
|
231
|
+
`;this._shadowRoot.innerHTML=`
|
|
232
|
+
<style>${Kt}</style>
|
|
233
|
+
<button
|
|
234
|
+
class="${l}"
|
|
235
|
+
type="button"
|
|
236
|
+
role="button"
|
|
237
|
+
aria-label="${t}"
|
|
238
|
+
${c}
|
|
239
|
+
style="${d}"
|
|
240
|
+
>
|
|
241
|
+
<span class="button-icon__icon" aria-hidden="true">
|
|
242
|
+
<icon-base name="${e}" size="${a}" color="inherit"></icon-base>
|
|
243
|
+
</span>
|
|
244
|
+
</button>
|
|
245
|
+
`,this._button=this._shadowRoot.querySelector("button"),this._iconContainer=this._shadowRoot.querySelector(".button-icon__icon"),this._iconEl=((h=this._iconContainer)==null?void 0:h.querySelector("icon-base"))||null}_updateDOM(){if(!this._button||!this._iconEl)return;let e=this.icon,t=this.ariaLabel,r=this.size,s=this.buttonVariant,o=this.testID,a=Zt(r),l=["button-icon",`button-icon--${r}`,`button-icon--${s}`].filter(Boolean).join(" ");this._button.className=l,this._button.setAttribute("aria-label",t),o?this._button.setAttribute("data-testid",o):this._button.removeAttribute("data-testid"),this._button.style.setProperty("--_bi-hover-bg",this._hoverColor),this._button.style.setProperty("--_bi-pressed-bg",this._pressedColor),this._iconEl.setAttribute("name",e),this._iconEl.setAttribute("size",String(a))}_attachEventListeners(){this._button&&(this._button.addEventListener("click",this._handleClick),this._button.addEventListener("keydown",this._handleKeyDown))}_detachEventListeners(){this._button&&(this._button.removeEventListener("click",this._handleClick),this._button.removeEventListener("keydown",this._handleKeyDown))}};customElements.get("button-icon")||customElements.define("button-icon",Re);var U={none:"","050":"space.inset.050",100:"space.inset.100",150:"space.inset.150",200:"space.inset.200",300:"space.inset.300",400:"space.inset.400"},Yt={none:"",default:"border.border.default",emphasis:"border.border.emphasis",heavy:"border.border.heavy"},Xt={none:"",tight:"radius-050",normal:"radius-100",loose:"radius-200"},Jt={web:{container:"zIndex.container",navigation:"zIndex.navigation",dropdown:"zIndex.dropdown",modal:"zIndex.modal",toast:"zIndex.toast",tooltip:"zIndex.tooltip"},ios:{container:"zIndex.container",navigation:"zIndex.navigation",dropdown:"zIndex.dropdown",modal:"zIndex.modal",toast:"zIndex.toast",tooltip:"zIndex.tooltip"},android:{container:"elevation.container",navigation:"elevation.navigation",dropdown:"elevation.dropdown",modal:"elevation.modal",toast:"elevation.toast",tooltip:"elevation.tooltip"}};var Qt="color.border";function R(n){return`var(--${n.replace(/\./g,"-")})`}function Cr(n){if(!n||n==="none")return"";let i=U[n];return i?`padding: ${R(i)}`:""}function Sr(n){if(!n||n==="none")return"";let i=U[n];return i?`padding-block: ${R(i)}`:""}function Er(n){if(!n||n==="none")return"";let i=U[n];return i?`padding-inline: ${R(i)}`:""}function wr(n){if(!n||n==="none")return"";let i=U[n];return i?`padding-block-start: ${R(i)}`:""}function Ar(n){if(!n||n==="none")return"";let i=U[n];return i?`padding-block-end: ${R(i)}`:""}function Tr(n){if(!n||n==="none")return"";let i=U[n];return i?`padding-inline-start: ${R(i)}`:""}function Ir(n){if(!n||n==="none")return"";let i=U[n];return i?`padding-inline-end: ${R(i)}`:""}function zr(n,i){if(!n||n==="none")return"";let e=Yt[n];if(!e)return"";let t=R(e),r=R(i||Qt);return`border: ${t} solid ${r}`}function Rr(n){if(!n||n==="none")return"";let i=Xt[n];return i?`border-radius: ${R(i)}`:""}function Br(n){return n?`background: ${R(n)}`:""}function Lr(n){return n?`box-shadow: ${R(n)}`:""}function Vr(n){return n?`opacity: ${R(n)}`:"opacity: var(--opacity-subtle)"}function $r(n){if(!n)return"";let i=Jt.web[n];return i?`z-index: ${R(i)}`:""}function ei(n){var f,b,C,k,_,S,x,A,w,I,Y,H,$,M;let i=[],e=Cr((f=n.padding)!=null?f:null);e&&i.push(e);let t=Sr((b=n.paddingVertical)!=null?b:null);t&&i.push(t);let r=Er((C=n.paddingHorizontal)!=null?C:null);r&&i.push(r);let s=wr((k=n.paddingBlockStart)!=null?k:null);s&&i.push(s);let o=Ar((_=n.paddingBlockEnd)!=null?_:null);o&&i.push(o);let a=Tr((S=n.paddingInlineStart)!=null?S:null);a&&i.push(a);let l=Ir((x=n.paddingInlineEnd)!=null?x:null);l&&i.push(l);let c=Br((A=n.background)!=null?A:null);c&&i.push(c);let d=Lr((w=n.shadow)!=null?w:null);d&&i.push(d);let h=zr((I=n.border)!=null?I:null,(Y=n.borderColor)!=null?Y:null);h&&i.push(h);let u=Rr((H=n.borderRadius)!=null?H:null);u&&i.push(u);let m=Vr(($=n.opacity)!=null?$:null);m&&i.push(m);let g=$r((M=n.layering)!=null?M:null);return g&&i.push(g),i.join(`;
|
|
246
|
+
`)}var Pr=`
|
|
247
|
+
:host {
|
|
248
|
+
display: block;
|
|
249
|
+
box-sizing: border-box;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.container-base {
|
|
253
|
+
box-sizing: border-box;
|
|
254
|
+
display: block;
|
|
255
|
+
width: 100%;
|
|
256
|
+
transition: background-color var(--motion-focus-transition-duration) var(--motion-focus-transition-easing);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.container-base--hoverable:hover {
|
|
260
|
+
background-color: var(--_container-base-hover-bg, inherit);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.container-base:focus {
|
|
264
|
+
outline: var(--border-emphasis) solid var(--color-action-primary);
|
|
265
|
+
outline-offset: var(--space-grouped-minimal);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.container-base:focus:not(:focus-visible) {
|
|
269
|
+
outline: none;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.container-base:focus-visible {
|
|
273
|
+
outline: var(--border-emphasis) solid var(--color-action-primary);
|
|
274
|
+
outline-offset: var(--space-grouped-minimal);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
@media (prefers-reduced-motion: reduce) {
|
|
278
|
+
.container-base {
|
|
279
|
+
transition: none !important;
|
|
280
|
+
animation: none !important;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
@media (prefers-contrast: high) {
|
|
285
|
+
.container-base {
|
|
286
|
+
border-width: var(--border-emphasis);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
@media print {
|
|
291
|
+
.container-base {
|
|
292
|
+
box-shadow: none !important;
|
|
293
|
+
-webkit-print-color-adjust: exact;
|
|
294
|
+
print-color-adjust: exact;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
`,q=class extends HTMLElement{constructor(){super();this._hoverColor="";this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return["padding","padding-vertical","padding-horizontal","padding-block-start","padding-block-end","padding-inline-start","padding-inline-end","background","shadow","border","border-color","border-radius","opacity","layering","semantic","accessibility-label","hoverable"]}connectedCallback(){this._calculateBlendColors(),this.render()}_calculateBlendColors(){let e=getComputedStyle(document.documentElement),t=this.getAttribute("background"),r="";if(t){let s=`--${t.replace(/\./g,"-")}`;r=e.getPropertyValue(s).trim()}if(r||(r=e.getPropertyValue("--color-structure-surface").trim()),r||(r=e.getPropertyValue("--color-structure-canvas").trim()),!r){console.warn("ContainerBase: All background color fallbacks failed. Hover effects will not work."),this._hoverColor="";return}this._hoverColor=this._blendUtils.hoverColor(r)}attributeChangedCallback(e,t,r){t!==r&&(e==="background"&&this._calculateBlendColors(),this.render())}render(){let e=this.getAttribute("padding"),t=this.getAttribute("padding-vertical"),r=this.getAttribute("padding-horizontal"),s=this.getAttribute("padding-block-start"),o=this.getAttribute("padding-block-end"),a=this.getAttribute("padding-inline-start"),l=this.getAttribute("padding-inline-end"),c=this.getAttribute("background"),d=this.getAttribute("shadow"),h=this.getAttribute("border"),u=this.getAttribute("border-color"),m=this.getAttribute("border-radius"),g=this.getAttribute("opacity"),f=this.getAttribute("layering"),b=this.getAttribute("semantic")||"div",C=this.getAttribute("accessibility-label"),k=this.getAttribute("hoverable")==="true",_=this.buildStyles({padding:e,paddingVertical:t,paddingHorizontal:r,paddingBlockStart:s,paddingBlockEnd:o,paddingInlineStart:a,paddingInlineEnd:l,background:c,shadow:d,border:h,borderColor:u,borderRadius:m,opacity:g,layering:f}),S=C?`aria-label="${C.replace(/"/g,""")}"`:"",x=["container-base"];k&&x.push("container-base--hoverable");let A=k?`--_container-base-hover-bg: ${this._hoverColor};`:"";this._shadowRoot.innerHTML=`
|
|
298
|
+
<style>
|
|
299
|
+
${Pr}
|
|
300
|
+
|
|
301
|
+
.container-base {
|
|
302
|
+
${_}
|
|
303
|
+
}
|
|
304
|
+
</style>
|
|
305
|
+
<${b} class="${x.join(" ")}" ${S} style="${A}">
|
|
306
|
+
<slot></slot>
|
|
307
|
+
</${b}>
|
|
308
|
+
`}buildStyles(e){return ei(e)}};customElements.get("container-base")||customElements.define("container-base",q);var ti={rest:{background:"var(--color-structure-canvas)",borderWidth:"var(--border-default)",borderColor:"transparent",labelColor:"var(--color-text-default)",iconColor:"var(--color-text-default)",checkmarkVisible:!1,cssClass:"vertical-list-item--rest"},selected:{background:"var(--color-feedback-select-background-rest)",borderWidth:"var(--border-emphasis)",borderColor:"var(--color-feedback-select-text-rest)",labelColor:"var(--color-feedback-select-text-rest)",iconColor:"var(--color-feedback-select-text-rest)",checkmarkVisible:!0,cssClass:"vertical-list-item--selected"},notSelected:{background:"var(--color-feedback-select-background-default)",borderWidth:"var(--border-default)",borderColor:"transparent",labelColor:"var(--color-feedback-select-text-default)",iconColor:"var(--color-feedback-select-text-default)",checkmarkVisible:!1,cssClass:"vertical-list-item--not-selected"},checked:{background:"var(--color-feedback-select-background-rest)",borderWidth:"var(--border-default)",borderColor:"transparent",labelColor:"var(--color-feedback-select-text-rest)",iconColor:"var(--color-feedback-select-text-rest)",checkmarkVisible:!0,cssClass:"vertical-list-item--checked"},unchecked:{background:"var(--color-structure-canvas)",borderWidth:"var(--border-default)",borderColor:"transparent",labelColor:"var(--color-text-default)",iconColor:"var(--color-text-default)",checkmarkVisible:!1,cssClass:"vertical-list-item--unchecked"}};function Mr(n){let i=ti[n];if(!i)throw new Error(`Button-VerticalList-Item: Invalid visual state "${n}". Valid states are: ${Object.keys(ti).join(", ")}`);return i}function Dr(n){return n==="rest"||n==="selected"||n==="notSelected"}function Nr(n){return n==="checked"||n==="unchecked"}function ii(n){return n==="selected"}function Hr(n,i){return Dr(i)?P(V({},n),{background:"var(--color-feedback-error-background)",borderWidth:"var(--border-emphasis)",borderColor:"var(--color-feedback-error-text)",labelColor:"var(--color-feedback-error-text)",iconColor:"var(--color-feedback-error-text)",cssClass:`${n.cssClass} vertical-list-item--error`}):Nr(i)?P(V({},n),{labelColor:"var(--color-feedback-error-text)",iconColor:"var(--color-feedback-error-text)",cssClass:`${n.cssClass} vertical-list-item--error`}):n}function ri(n,i=!1){let e=Mr(n);return i?Hr(e,n):e}var gt="@3fn/dp:tokenContract";function Or(n){return"reference"in n}function G(n){let{component:i,family:e,tokens:t}=n;if(!i||i.trim()==="")throw new Error("Component name is required for defineComponentTokens()");if(!e||e.trim()==="")throw new Error("Token family is required for defineComponentTokens()");if(!t||Object.keys(t).length===0)throw new Error("At least one token definition is required for defineComponentTokens()");let r={},s=[];for(let[o,a]of Object.entries(t)){let l=`${i.toLowerCase()}.${o}`;if(Or(a)){let c=a.reference,d=c.baseValue;r[o]=d,s.push({name:l,component:i,family:e,value:d,primitiveReference:c.name,reasoning:a.reasoning})}else r[o]=a.value,s.push({name:l,component:i,family:e,value:a.value,reasoning:a.reasoning})}return Object.prototype.hasOwnProperty.call(r,gt)||Object.defineProperty(r,gt,{value:s,enumerable:!1,configurable:!0,writable:!1}),r}var Me=class{constructor(){this.defaultWebBaseFontSize=16;this.defaultPrecision=2}convertToAllPlatforms(i,e,t={}){let r=this.convertToiOS(i,e,t),s=this.convertToAndroid(i,e,t),o=this.convertToWeb(i,e,t),a=this.validateMathematicalConsistency(i,r,s,o,t);return{ios:r,android:s,web:o,mathematicallyConsistent:a.consistent,reasoning:a.reasoning}}convertToiOS(i,e,t={}){var o;let r=(o=t.precision)!=null?o:this.defaultPrecision;return{value:this.roundToPrecision(i,r),unit:"pt",token:e}}convertToAndroid(i,e,t={}){var a;let r=(a=t.precision)!=null?a:this.defaultPrecision,s=this.roundToPrecision(i,r),o=this.isTypographyToken(e,t.category)?"sp":"dp";return{value:s,unit:o,token:e}}convertToWeb(i,e,t={}){var a,l;let r=(a=t.precision)!=null?a:this.defaultPrecision,s=(l=t.webBaseFontSize)!=null?l:this.defaultWebBaseFontSize;if(this.isTypographyToken(e,t.category)){let c=i/s;return{value:this.roundToPrecision(c,r),unit:"rem",token:e}}return{value:this.roundToPrecision(i,r),unit:"px",token:e}}validateMathematicalConsistency(i,e,t,r,s){var u;let o=(u=s.webBaseFontSize)!=null?u:this.defaultWebBaseFontSize,a=e.value===i,l=t.value===i,c=!1;if(r.unit==="px")c=r.value===i;else if(r.unit==="rem"){let m=i/o;c=Math.abs(r.value-m)<.001}if(a&&l&&c)return{consistent:!0,reasoning:`All platforms maintain mathematical consistency: baseValue ${i} \u2192 iOS ${e.value}${e.unit}, Android ${t.value}${t.unit}, Web ${r.value}${r.unit}`};let h=[];if(a||h.push(`iOS: expected ${i}pt, got ${e.value}pt`),l||h.push(`Android: expected ${i}${t.unit}, got ${t.value}${t.unit}`),!c)if(r.unit==="rem"){let m=i/o;h.push(`Web: expected ${m}rem, got ${r.value}rem`)}else h.push(`Web: expected ${i}px, got ${r.value}px`);return{consistent:!1,reasoning:`Mathematical inconsistency detected: ${h.join("; ")}`}}isTypographyToken(i,e){return e==="typography"?!0:[/font/i,/text/i,/typography/i,/lineHeight/i,/letterSpacing/i].some(r=>r.test(i))}roundToPrecision(i,e){let t=Math.pow(10,e);return Math.round(i*t)/t}applyScaleWithRounding(i,e){let t=i*e,r=Math.round(t),s=Math.abs(t-r);return s>.5&&console.warn(`Rounding precision loss: ${i}px \xD7 ${e} = ${t}px \u2192 ${r}px (loss: ${s.toFixed(2)}px)`),r}convertToPlatform(i,e,t,r={}){switch(t){case"ios":return this.convertToiOS(i,e,r);case"android":return this.convertToAndroid(i,e,r);case"web":return this.convertToWeb(i,e,r);default:throw new Error(`Unknown platform: ${t}`)}}},Fr=new Me;var N={space075:{value:6,derivation:"space100 \xD7 0.75"},space125:{value:10,derivation:"space100 \xD7 1.25"},space250:{value:20,derivation:"space100 \xD7 2.5"}},v=8;function B(n){return{web:{value:n,unit:"px"},ios:{value:n,unit:"pt"},android:{value:n,unit:"dp"}}}var mt={space000:{name:"space000",category:"spacing",baseValue:0,familyBaseValue:v,description:"Zero spacing - explicit no spacing value",mathematicalRelationship:"base \xD7 0 = 8 \xD7 0 = 0",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(0)},space025:{name:"space025",category:"spacing",baseValue:v*.25,familyBaseValue:v,description:"Extra tight spacing - 0.25x base value",mathematicalRelationship:"base \xD7 0.25 = 8 \xD7 0.25 = 2",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*.25)},space050:{name:"space050",category:"spacing",baseValue:v*.5,familyBaseValue:v,description:"Tight spacing - 0.5x base value",mathematicalRelationship:"base \xD7 0.5 = 8 \xD7 0.5 = 4",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*.5)},space075:{name:"space075",category:"spacing",baseValue:N.space075.value,familyBaseValue:v,description:"Strategic flexibility spacing - 0.75x base value",mathematicalRelationship:N.space075.derivation,baselineGridAlignment:!1,isStrategicFlexibility:!0,isPrecisionTargeted:!1,platforms:B(N.space075.value)},space100:{name:"space100",category:"spacing",baseValue:v,familyBaseValue:v,description:"Base spacing - 1x base value",mathematicalRelationship:"base \xD7 1 = 8 \xD7 1 = 8",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v)},space125:{name:"space125",category:"spacing",baseValue:N.space125.value,familyBaseValue:v,description:"Strategic flexibility spacing - 1.25x base value",mathematicalRelationship:N.space125.derivation,baselineGridAlignment:!1,isStrategicFlexibility:!0,isPrecisionTargeted:!1,platforms:B(N.space125.value)},space150:{name:"space150",category:"spacing",baseValue:v*1.5,familyBaseValue:v,description:"Loose spacing - 1.5x base value",mathematicalRelationship:"base \xD7 1.5 = 8 \xD7 1.5 = 12",baselineGridAlignment:!1,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*1.5)},space200:{name:"space200",category:"spacing",baseValue:v*2,familyBaseValue:v,description:"Wide spacing - 2x base value",mathematicalRelationship:"base \xD7 2 = 8 \xD7 2 = 16",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*2)},space250:{name:"space250",category:"spacing",baseValue:N.space250.value,familyBaseValue:v,description:"Strategic flexibility spacing - 2.5x base value",mathematicalRelationship:N.space250.derivation,baselineGridAlignment:!1,isStrategicFlexibility:!0,isPrecisionTargeted:!1,platforms:B(N.space250.value)},space300:{name:"space300",category:"spacing",baseValue:v*3,familyBaseValue:v,description:"Extra wide spacing - 3x base value",mathematicalRelationship:"base \xD7 3 = 8 \xD7 3 = 24",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*3)},space400:{name:"space400",category:"spacing",baseValue:v*4,familyBaseValue:v,description:"Large spacing - 4x base value",mathematicalRelationship:"base \xD7 4 = 8 \xD7 4 = 32",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*4)},space500:{name:"space500",category:"spacing",baseValue:v*5,familyBaseValue:v,description:"Extra large spacing - 5x base value",mathematicalRelationship:"base \xD7 5 = 8 \xD7 5 = 40",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*5)},space600:{name:"space600",category:"spacing",baseValue:v*6,familyBaseValue:v,description:"Huge spacing - 6x base value",mathematicalRelationship:"base \xD7 6 = 8 \xD7 6 = 48",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*6)},space700:{name:"space700",category:"spacing",baseValue:v*7,familyBaseValue:v,description:"Extra huge spacing - 7x base value",mathematicalRelationship:"base \xD7 7 = 8 \xD7 7 = 56",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*7)},space800:{name:"space800",category:"spacing",baseValue:v*8,familyBaseValue:v,description:"Maximum spacing - 8x base value",mathematicalRelationship:"base \xD7 8 = 8 \xD7 8 = 64",baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:B(v*8)}},Yo=Object.keys(mt);var Gr=G({component:"VerticalListItem",family:"spacing",tokens:{"paddingBlock.rest":{value:v*1.375,reasoning:"Block padding at rest state (1px border). 11px padding + 1px border = 12px per side, achieving 48px total with 24px content. Uses TokenWithValue pattern as no primitive token exists for 11px."},"paddingBlock.selected":{reference:mt.space125,reasoning:"Block padding when selected (2px border). 10px padding + 2px border = 12px per side, maintaining 48px total with 24px content. References space125 strategic flexibility token."}}});function ni(n){return Gr[`paddingBlock.${n}`]}var si=":host{display:block;width:100%;--_vlbi-focus-offset:var(--accessibility-focus-offset);--_vlbi-focus-width:var(--accessibility-focus-width);--_vlbi-focus-color:var(--accessibility-focus-color);--_vlbi-min-height:var(--tap-area-recommended);--_vlbi-radius:var(--radius-normal);--_vlbi-padding-inline:var(--space-inset-200);--_vlbi-gap:var(--space-grouped-loose);--_vlbi-label-font-size:var(--typography-button-md-font-size);--_vlbi-label-font-weight:var(--typography-button-md-font-weight);--_vlbi-label-line-height:var(--typography-button-md-line-height);--_vlbi-description-font-size:var(--typography-body-sm-font-size);--_vlbi-description-font-weight:var(--typography-body-sm-font-weight);--_vlbi-description-line-height:var(--typography-body-sm-line-height);--_vlbi-description-color:var(--color-text-muted);--_vlbi-transition-duration:var(--motion-selection-transition-duration);--_vlbi-transition-easing:var(--motion-selection-transition-easing)}.vertical-list-item{appearance:none;margin:0;font:inherit;display:flex;align-items:center;gap:var(--_vlbi-gap);width:100%;min-height:var(--_vlbi-min-height);padding-block:var(--_vlbi-padding-block);padding-inline:var(--_vlbi-padding-inline);background:var(--_vlbi-background);border:var(--_vlbi-border-width) solid var(--_vlbi-border-color);border-radius:var(--_vlbi-radius);text-align:start;cursor:pointer;transition:background var(--_vlbi-transition-duration) var(--_vlbi-transition-easing),background-color var(--_vlbi-transition-duration) var(--_vlbi-transition-easing),border-color var(--_vlbi-transition-duration) var(--_vlbi-transition-easing),border-width var(--_vlbi-transition-duration) var(--_vlbi-transition-easing),padding var(--_vlbi-transition-duration) var(--_vlbi-transition-easing),color var(--_vlbi-transition-duration) var(--_vlbi-transition-easing);outline:none}.vertical-list-item:hover{background-color:var(--_vlbi-hover-bg)}.vertical-list-item:active{background-color:var(--_vlbi-pressed-bg)}.vertical-list-item:focus-visible{outline:var(--_vlbi-focus-width) solid var(--_vlbi-focus-color);outline-offset:var(--_vlbi-focus-offset)}.vertical-list-item:focus:not(:focus-visible){outline:none}.vertical-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.vertical-list-item__label{color:var(--_vlbi-label-color);font-size:var(--_vlbi-label-font-size);font-weight:var(--_vlbi-label-font-weight);line-height:var(--_vlbi-label-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vertical-list-item__description{color:var(--_vlbi-description-color);font-size:var(--_vlbi-description-font-size);font-weight:var(--_vlbi-description-font-weight);line-height:var(--_vlbi-description-line-height)}.vertical-list-item__leading-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.vertical-list-item__checkmark{flex-shrink:0;color:var(--_vlbi-icon-color);display:inline-flex;align-items:center;justify-content:center;transition:opacity var(--_vlbi-transition-duration) var(--_vlbi-transition-easing),visibility var(--_vlbi-transition-duration) var(--_vlbi-transition-easing)}.vertical-list-item__checkmark--fade{opacity:inherit}.vertical-list-item__checkmark--instant.vertical-list-item__checkmark--hidden{transition:none}.vertical-list-item__checkmark--hidden{opacity:0;visibility:hidden}.vertical-list-item__checkmark--visible{opacity:1;visibility:visible}@media (prefers-contrast:high){.vertical-list-item{border-width:2px !important}.vertical-list-item:focus-visible{outline-width:4px}}@media (prefers-reduced-motion:reduce){.vertical-list-item,.vertical-list-item__checkmark--fade{transition:none}}@media print{.vertical-list-item{background-color:transparent !important;border:1px solid currentColor !important;filter:none !important}}";var Wr=["--color-structure-canvas","--color-text-default","--color-text-muted","--color-feedback-select-text-rest","--color-feedback-select-background-rest","--color-feedback-select-text-default","--color-feedback-select-background-default","--color-feedback-error-text","--color-feedback-error-background","--border-default","--border-emphasis","--radius-normal","--space-inset-200","--space-grouped-loose","--tap-area-recommended","--accessibility-focus-width","--accessibility-focus-offset","--accessibility-focus-color","--motion-selection-transition-duration","--motion-selection-transition-easing"];function jr(){let n=getComputedStyle(document.documentElement),i=[];for(let e of Wr)n.getPropertyValue(e).trim()||i.push(e);if(i.length>0)throw new Error(`Button-VerticalList-Item: Missing required CSS variables: ${i.join(", ")}. Ensure Rosetta-generated tokens are loaded before using this component.`)}function Kr(n,i=!1){let e=n==="rest"||n==="selected"||n==="notSelected",r=ii(n)||i&&e?"selected":"rest";return`${ni(r)}px`}function oi(n){let i=n.match(/var\(([^)]+)\)/);if(!i)return n;let e=i[1].trim();return getComputedStyle(document.documentElement).getPropertyValue(e).trim()||n}var ee=class extends HTMLElement{constructor(){super();this._tokensValidated=!1;this._domCreated=!1;this._button=null;this._labelEl=null;this._descriptionEl=null;this._leadingIconContainer=null;this._leadingIconEl=null;this._checkmarkContainer=null;this._checkmarkIconEl=null;this._hoverColor="";this._pressedColor="";this._handleClick=()=>{this._onClick&&this._onClick()};this._handleFocus=()=>{this._onFocus&&this._onFocus(),this.dispatchEvent(new CustomEvent("focus",{bubbles:!0,composed:!0}))};this._handleBlur=()=>{this._onBlur&&this._onBlur(),this.dispatchEvent(new CustomEvent("blur",{bubbles:!0,composed:!0}))};this._handleKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._handleClick())};this._shadowRoot=this.attachShadow({mode:"open",delegatesFocus:!0}),this._blendUtils=E()}static get observedAttributes(){return["label","description","leading-icon","visual-state","error","checkmark-transition","transition-delay","test-id","role","aria-checked","disabled"]}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._validateAndRender()},{once:!0}):this._validateAndRender()}_validateAndRender(){this._tokensValidated||(jr(),this._tokensValidated=!0),this._calculateBlendColorsWithRetry(),this._render()}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this._render()}catch(t){console.warn("ButtonVerticalListItem: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-structure-canvas").trim();if(!t)throw new Error("Button-VerticalList-Item: Required token --color-structure-canvas is missing from CSS custom properties");this._hoverColor=this._blendUtils.hoverColor(t),this._pressedColor=this._blendUtils.pressedColor(t)}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){if(e==="disabled")throw new Error('Button-VerticalList-Item: The "disabled" attribute is not supported. Per accessibility standards, unavailable options should be hidden rather than disabled. Remove the disabled attribute and hide the component instead.');t!==r&&this.isConnected&&this._tokensValidated&&this._domCreated&&this._updateDOM()}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get description(){return this.getAttribute("description")||void 0}set description(e){e?this.setAttribute("description",e):this.removeAttribute("description")}get leadingIcon(){return this.getAttribute("leading-icon")}set leadingIcon(e){e?this.setAttribute("leading-icon",e):this.removeAttribute("leading-icon")}get visualState(){let e=this.getAttribute("visual-state");return e&&["rest","selected","notSelected","checked","unchecked"].includes(e)?e:"rest"}set visualState(e){this.setAttribute("visual-state",e)}get error(){return this.getAttribute("error")==="true"}set error(e){this.setAttribute("error",e.toString())}get checkmarkTransition(){return this.getAttribute("checkmark-transition")==="instant"?"instant":"fade"}set checkmarkTransition(e){this.setAttribute("checkmark-transition",e)}get transitionDelay(){let e=this.getAttribute("transition-delay");return e?parseInt(e,10):0}set transitionDelay(e){this.setAttribute("transition-delay",e.toString())}get testID(){return this.getAttribute("test-id")||void 0}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}get disabled(){return!1}set disabled(e){if(e)throw new Error('Button-VerticalList-Item: The "disabled" property is not supported. Per accessibility standards, unavailable options should be hidden rather than disabled. Set disabled to false or hide the component instead.')}get itemRole(){let e=this.getAttribute("role");return e==="radio"||e==="checkbox"?e:"button"}set itemRole(e){this.setAttribute("role",e)}get itemAriaChecked(){let e=this.getAttribute("aria-checked");if(e==="true")return!0;if(e==="false")return!1}set itemAriaChecked(e){e===void 0?this.removeAttribute("aria-checked"):this.setAttribute("aria-checked",e.toString())}set onClick(e){this._onClick=e}get onClick(){return this._onClick}set onFocus(e){this._onFocus=e}get onFocus(){return this._onFocus}set onBlur(e){this._onBlur=e}get onBlur(){return this._onBlur}_render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){var t,r;let e=T.size100;this._shadowRoot.innerHTML=`
|
|
309
|
+
<style>${si}</style>
|
|
310
|
+
<button
|
|
311
|
+
class="vertical-list-item"
|
|
312
|
+
type="button"
|
|
313
|
+
role="button"
|
|
314
|
+
>
|
|
315
|
+
<span class="vertical-list-item__leading-icon">
|
|
316
|
+
<icon-base size="${e}" optical-balance="true"></icon-base>
|
|
317
|
+
</span>
|
|
318
|
+
<div class="vertical-list-item__content">
|
|
319
|
+
<span class="vertical-list-item__label"></span>
|
|
320
|
+
<span class="vertical-list-item__description"></span>
|
|
321
|
+
</div>
|
|
322
|
+
<span class="vertical-list-item__checkmark" aria-hidden="true">
|
|
323
|
+
<icon-base name="check" size="${e}" optical-balance="true"></icon-base>
|
|
324
|
+
</span>
|
|
325
|
+
</button>
|
|
326
|
+
`,this._button=this._shadowRoot.querySelector("button"),this._labelEl=this._shadowRoot.querySelector(".vertical-list-item__label"),this._descriptionEl=this._shadowRoot.querySelector(".vertical-list-item__description"),this._leadingIconContainer=this._shadowRoot.querySelector(".vertical-list-item__leading-icon"),this._leadingIconEl=((t=this._leadingIconContainer)==null?void 0:t.querySelector("icon-base"))||null,this._checkmarkContainer=this._shadowRoot.querySelector(".vertical-list-item__checkmark"),this._checkmarkIconEl=((r=this._checkmarkContainer)==null?void 0:r.querySelector("icon-base"))||null,this._updateDOM()}_updateDOM(){if(!this._button)return;let e=this.label,t=this.description,r=this.leadingIcon,s=this.visualState,o=this.error,a=this.checkmarkTransition,l=this.transitionDelay,c=this.testID,d=ri(s,o),h=Kr(s,o),u=this.itemRole,m=this.itemAriaChecked;if(this._button.className=`vertical-list-item ${d.cssClass}`,this._button.setAttribute("aria-label",e),this._button.setAttribute("role",u),u==="radio"||u==="checkbox"?this._button.setAttribute("aria-checked",m===!0?"true":"false"):this._button.removeAttribute("aria-checked"),c?this._button.setAttribute("data-testid",c):this._button.removeAttribute("data-testid"),this._button.style.setProperty("--_vlbi-background",d.background),this._button.style.setProperty("--_vlbi-border-width",d.borderWidth),this._button.style.setProperty("--_vlbi-border-color",d.borderColor),this._button.style.setProperty("--_vlbi-padding-block",h),this._button.style.setProperty("--_vlbi-label-color",d.labelColor),this._button.style.setProperty("--_vlbi-icon-color",d.iconColor),this._button.style.setProperty("--_vlbi-hover-bg",this._hoverColor),this._button.style.setProperty("--_vlbi-pressed-bg",this._pressedColor),l>0?this._button.style.transitionDelay=`${l}ms`:this._button.style.transitionDelay="",this._labelEl&&(this._labelEl.textContent=e),this._descriptionEl&&(t?(this._descriptionEl.textContent=t,this._descriptionEl.style.display=""):(this._descriptionEl.textContent="",this._descriptionEl.style.display="none")),this._leadingIconContainer&&this._leadingIconEl)if(r){let g=oi(d.iconColor);this._leadingIconEl.setAttribute("name",r),this._leadingIconEl.setAttribute("color",g),this._leadingIconContainer.style.display=""}else this._leadingIconContainer.style.display="none";if(this._checkmarkContainer&&this._checkmarkIconEl){let g=oi(d.iconColor);this._checkmarkIconEl.setAttribute("color",g);let f=a==="instant"?"vertical-list-item__checkmark--instant":"vertical-list-item__checkmark--fade",b=d.checkmarkVisible?"vertical-list-item__checkmark--visible":"vertical-list-item__checkmark--hidden";this._checkmarkContainer.className=`vertical-list-item__checkmark ${f} ${b}`}}_attachEventListeners(){this._button&&(this._button.addEventListener("click",this._handleClick),this._button.addEventListener("focus",this._handleFocus),this._button.addEventListener("blur",this._handleBlur),this._button.addEventListener("keydown",this._handleKeyDown))}_detachEventListeners(){this._button&&(this._button.removeEventListener("click",this._handleClick),this._button.removeEventListener("focus",this._handleFocus),this._button.removeEventListener("blur",this._handleBlur),this._button.removeEventListener("keydown",this._handleKeyDown))}};customElements.get("button-vertical-list-item")||customElements.define("button-vertical-list-item",ee);function Je(n,i,e,t,r,s){if(n==="select"&&t&&i===null)return{isValid:!1,message:"Please select an option"};if(n==="multiSelect"){let o=e.length;if(r!==void 0&&o<r)return{isValid:!1,message:`Please select at least ${r} option${r>1?"s":""}`};if(s!==void 0&&o>s)return{isValid:!1,message:`Please select no more than ${s} option${s>1?"s":""}`}}return{isValid:!0,message:null}}function ai(n,i,e){return i.includes(n)?!0:!(e!==void 0&&i.length>=e)}function li(n,i,e){let t=Array(e).fill(0);return t[n]=0,t[i]=125,t}function ci(n){return Array(n).fill(0)}function di(n){return Array(n).fill(0)}function ui(n,i){return Array(i).fill(0)}function Qe(n,i){return i==="select"&&n?"instant":"animated"}function hi(n,i,e,t){switch(n){case"tap":return Array(t).fill("rest");case"select":return i===null?Array(t).fill("rest"):Array(t).fill(null).map((r,s)=>s===i?"selected":"notSelected");case"multiSelect":return Array(t).fill(null).map((r,s)=>e.includes(s)?"checked":"unchecked");default:return Array(t).fill("rest")}}var pi=":host{display:block;width:100%;--_vls-gap:var(--space-grouped-normal);--_vls-error-font-size:var(--typography-body-sm-font-size);--_vls-error-font-weight:var(--typography-body-sm-font-weight);--_vls-error-line-height:var(--typography-body-sm-line-height);--_vls-error-color:var(--color-feedback-error-text);--_vls-error-margin-bottom:var(--space-grouped-normal)}.vls-container{display:flex;flex-direction:column;gap:var(--_vls-gap);width:100%}.vls-error-message{font-size:var(--_vls-error-font-size);font-weight:var(--_vls-error-font-weight);line-height:var(--_vls-error-line-height);color:var(--_vls-error-color);margin-bottom:var(--_vls-error-margin-bottom);background:transparent;margin-top:0;padding:0}@media (prefers-contrast:high){.vls-error-message{color:CanvasText}}@media (prefers-reduced-motion:reduce){.vls-container{transition:none}}@media print{.vls-error-message{color:var(--color-print-default) !important}}";function gi(n){switch(n){case"tap":return"group";case"select":return"radiogroup";case"multiSelect":return"group";default:return"group"}}var te=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._container=null;this._errorMessageEl=null;this._mode="tap";this._selectedIndex=null;this._selectedIndices=[];this._required=!1;this._error=!1;this._internalState={focusedIndex:0,previousSelectedIndex:null,isFirstSelection:!0};this._handleSlotChange=()=>{this._updateChildItems()};this._handleChildClick=e=>{let r=e.target.closest("button-vertical-list-item");if(!r)return;let s=this._shadowRoot.querySelector("slot");if(!s)return;let a=s.assignedElements().indexOf(r);if(a!==-1)switch(this._mode){case"tap":this._onItemClick&&this._onItemClick(a);break;case"select":this._handleSelectModeClick(a);break;case"multiSelect":this._handleMultiSelectModeClick(a);break}};this._handleKeyDown=e=>{let t=this._getChildItems(),r=t.length;if(r===0)return;let s=this._processKeyboardNavigation(e,r);s.handled&&(e.preventDefault(),s.newFocusIndex!==this._internalState.focusedIndex&&this._moveFocusToIndex(s.newFocusIndex,t),s.shouldActivate&&this._activateItem(this._internalState.focusedIndex))};this._handleFocusIn=e=>{let r=e.target.closest("button-vertical-list-item");if(!r)return;let s=this._getChildItems(),o=s.indexOf(r);o!==-1&&o!==this._internalState.focusedIndex&&(this._internalState.focusedIndex=o,this._updateTabIndices(s,o))};this._shadowRoot=this.attachShadow({mode:"open",delegatesFocus:!0}),this._errorMessageId=`vls-error-${Math.random().toString(36).slice(2,11)}`}static get observedAttributes(){return["mode","selected-index","selected-indices","required","min-selections","max-selections","error","error-message","test-id"]}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._render()},{once:!0}):this._render()}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){if(t!==r){switch(e){case"mode":this._mode=r||"tap";break;case"selected-index":this._selectedIndex=r!==null?parseInt(r,10):null,isNaN(this._selectedIndex)&&(this._selectedIndex=null);break;case"selected-indices":try{this._selectedIndices=r?JSON.parse(r):[]}catch(s){this._selectedIndices=[]}break;case"required":this._required=r!==null;break;case"min-selections":this._minSelections=r!==null?parseInt(r,10):void 0;break;case"max-selections":this._maxSelections=r!==null?parseInt(r,10):void 0;break;case"error":this._error=r!==null;break;case"error-message":this._errorMessage=r||void 0;break;case"test-id":this._testID=r||void 0;break}this.isConnected&&this._domCreated&&this._updateDOM()}}get mode(){return this._mode}set mode(e){this._mode=e,this.setAttribute("mode",e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._selectedIndex=e,e!==null?this.setAttribute("selected-index",String(e)):this.removeAttribute("selected-index")}get selectedIndices(){return this._selectedIndices}set selectedIndices(e){this._selectedIndices=e,this.setAttribute("selected-indices",JSON.stringify(e))}get required(){return this._required}set required(e){this._required=e,e?this.setAttribute("required",""):this.removeAttribute("required")}get minSelections(){return this._minSelections}set minSelections(e){this._minSelections=e,e!==void 0?this.setAttribute("min-selections",String(e)):this.removeAttribute("min-selections")}get maxSelections(){return this._maxSelections}set maxSelections(e){this._maxSelections=e,e!==void 0?this.setAttribute("max-selections",String(e)):this.removeAttribute("max-selections")}get error(){return this._error}set error(e){this._error=e,e?this.setAttribute("error",""):this.removeAttribute("error")}get errorMessage(){return this._errorMessage}set errorMessage(e){this._errorMessage=e,e?this.setAttribute("error-message",e):this.removeAttribute("error-message")}get testID(){return this._testID}set testID(e){this._testID=e,e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}set onItemClick(e){this._onItemClick=e}get onItemClick(){return this._onItemClick}set onSelectionChange(e){this._onSelectionChange=e}get onSelectionChange(){return this._onSelectionChange}set onMultiSelectionChange(e){this._onMultiSelectionChange=e}get onMultiSelectionChange(){return this._onMultiSelectionChange}validate(){return Je(this._mode,this._selectedIndex,this._selectedIndices,this._required,this._minSelections,this._maxSelections)}_render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){let e=gi(this._mode),t=this._mode==="multiSelect"?"true":null;this._shadowRoot.innerHTML=`
|
|
327
|
+
<style>${pi}</style>
|
|
328
|
+
<div
|
|
329
|
+
class="vls-container"
|
|
330
|
+
role="${e}"
|
|
331
|
+
${t?`aria-multiselectable="${t}"`:""}
|
|
332
|
+
>
|
|
333
|
+
<div
|
|
334
|
+
class="vls-error-message"
|
|
335
|
+
id="${this._errorMessageId}"
|
|
336
|
+
role="alert"
|
|
337
|
+
style="display: none;"
|
|
338
|
+
></div>
|
|
339
|
+
<slot></slot>
|
|
340
|
+
</div>
|
|
341
|
+
`,this._container=this._shadowRoot.querySelector(".vls-container"),this._errorMessageEl=this._shadowRoot.querySelector(".vls-error-message"),this._updateDOM()}_updateDOM(){if(!this._container)return;let e=gi(this._mode);this._container.setAttribute("role",e),this._mode==="multiSelect"?this._container.setAttribute("aria-multiselectable","true"):this._container.removeAttribute("aria-multiselectable"),this._error&&this._errorMessage?(this._container.setAttribute("aria-invalid","true"),this._container.setAttribute("aria-describedby",this._errorMessageId)):(this._container.removeAttribute("aria-invalid"),this._container.removeAttribute("aria-describedby")),this._testID?this._container.setAttribute("data-testid",this._testID):this._container.removeAttribute("data-testid"),this._errorMessageEl&&(this._error&&this._errorMessage?(this._errorMessageEl.textContent=this._errorMessage,this._errorMessageEl.style.display=""):(this._errorMessageEl.textContent="",this._errorMessageEl.style.display="none")),this._updateChildItems()}_updateChildItems(){let e=this._shadowRoot.querySelector("slot");if(!e)return;let t=e.assignedElements(),r=t.length,s=hi(this._mode,this._selectedIndex,this._selectedIndices,r),o=this._calculateTransitionDelays(r,s),a=this._calculateCheckmarkTransitions(r,s),l=this._getItemRole();this._internalState.focusedIndex>=r&&(this._internalState.focusedIndex=Math.max(0,r-1)),t.forEach((c,d)=>{if(c.tagName.toLowerCase()==="button-vertical-list-item"){let h=s[d];c.setAttribute("visual-state",h);let u=o[d];c.setAttribute("transition-delay",String(u));let m=a[d];if(c.setAttribute("checkmark-transition",m==="instant"?"instant":"fade"),this._error?c.setAttribute("error","true"):c.setAttribute("error","false"),c.setAttribute("role",l),l==="radio"||l==="checkbox"){let g=this._getItemAriaChecked(d,h);c.setAttribute("aria-checked",g?"true":"false")}else c.removeAttribute("aria-checked");d===this._internalState.focusedIndex?c.setAttribute("tabindex","0"):c.setAttribute("tabindex","-1")}})}_getItemRole(){switch(this._mode){case"tap":return"button";case"select":return"radio";case"multiSelect":return"checkbox";default:return"button"}}_getItemAriaChecked(e,t){switch(this._mode){case"select":return t==="selected";case"multiSelect":return t==="checked";default:return!1}}_calculateTransitionDelays(e,t){if(this._mode==="tap")return Array(e).fill(0);if(this._mode==="multiSelect")return ui(0,e);if(this._mode==="select"){let r=this._internalState.previousSelectedIndex,s=this._selectedIndex;return this._internalState.isFirstSelection&&s!==null?ci(e):s===null&&r!==null?di(e):r!==null&&s!==null&&r!==s?li(r,s,e):Array(e).fill(0)}return Array(e).fill(0)}_calculateCheckmarkTransitions(e,t){if(this._mode==="tap"||this._mode==="multiSelect")return Array(e).fill("animated");if(this._mode==="select"){let r=this._internalState.previousSelectedIndex,s=this._selectedIndex,o=Array(e).fill("animated");return r!==null&&s!==null&&r!==s&&(o[r]=Qe(!0,this._mode),o[s]=Qe(!1,this._mode)),s===null&&r!==null&&(o[r]=Qe(!0,this._mode)),o}return Array(e).fill("animated")}_attachEventListeners(){let e=this._shadowRoot.querySelector("slot");e&&e.addEventListener("slotchange",this._handleSlotChange),this.addEventListener("click",this._handleChildClick),this.addEventListener("keydown",this._handleKeyDown),this.addEventListener("focusin",this._handleFocusIn)}_detachEventListeners(){let e=this._shadowRoot.querySelector("slot");e&&e.removeEventListener("slotchange",this._handleSlotChange),this.removeEventListener("click",this._handleChildClick),this.removeEventListener("keydown",this._handleKeyDown),this.removeEventListener("focusin",this._handleFocusIn)}_handleSelectModeClick(e){let t;this._selectedIndex===e?t=null:t=e,this._internalState.previousSelectedIndex=this._selectedIndex,t===null?this._internalState.isFirstSelection=!0:this._internalState.isFirstSelection&&(this._internalState.isFirstSelection=!1),this._error&&this._required&&t!==null&&Je(this._mode,t,this._selectedIndices,this._required,this._minSelections,this._maxSelections).isValid&&(this._error=!1,this._errorMessage=void 0,this.removeAttribute("error"),this.removeAttribute("error-message"),this._domCreated&&this._updateDOM()),this._onSelectionChange&&this._onSelectionChange(t)}_handleMultiSelectModeClick(e){if(!ai(e,this._selectedIndices,this._maxSelections))return;let t;this._selectedIndices.includes(e)?t=this._selectedIndices.filter(r=>r!==e):t=[...this._selectedIndices,e],this._error&&Je(this._mode,this._selectedIndex,t,this._required,this._minSelections,this._maxSelections).isValid&&(this._error=!1,this._errorMessage=void 0,this.removeAttribute("error"),this.removeAttribute("error-message"),this._domCreated&&this._updateDOM()),this._onMultiSelectionChange&&this._onMultiSelectionChange(t)}_processKeyboardNavigation(e,t){let r=this._internalState.focusedIndex;switch(e.key){case"ArrowDown":return{newFocusIndex:(r+1)%t,shouldActivate:!1,handled:!0};case"ArrowUp":return{newFocusIndex:(r-1+t)%t,shouldActivate:!1,handled:!0};case"Home":return{newFocusIndex:0,shouldActivate:!1,handled:!0};case"End":return{newFocusIndex:t-1,shouldActivate:!1,handled:!0};case"Enter":case" ":return{newFocusIndex:r,shouldActivate:!0,handled:!0};default:return{newFocusIndex:r,shouldActivate:!1,handled:!1}}}_moveFocusToIndex(e,t){let r=t||this._getChildItems();if(r.length===0||e<0||e>=r.length)return;this._internalState.focusedIndex=e,this._updateTabIndices(r,e);let s=r[e];s&&s.focus()}_updateTabIndices(e,t){e.forEach((r,s)=>{s===t?r.setAttribute("tabindex","0"):r.setAttribute("tabindex","-1")})}_activateItem(e){switch(this._mode){case"tap":this._onItemClick&&this._onItemClick(e);break;case"select":this._handleSelectModeClick(e);break;case"multiSelect":this._handleMultiSelectModeClick(e);break}}_getChildItems(){let e=this._shadowRoot.querySelector("slot");return e?e.assignedElements().filter(t=>t.tagName.toLowerCase()==="button-vertical-list-item"):[]}};typeof customElements!="undefined"&&!customElements.get("button-vertical-list-set")&&customElements.define("button-vertical-list-set",te);var bt={type:"human",size:"md",interactive:!1,decorative:!1};var p=8;function L(n){return{web:{value:n,unit:"px"},ios:{value:n,unit:"pt"},android:{value:n,unit:"dp"}}}var W={size050:{name:"size050",category:"sizing",baseValue:p*.5,familyBaseValue:p,description:"Size 050 - smallest component dimension",mathematicalRelationship:`base \xD7 0.5 = ${p} \xD7 0.5 = ${p*.5}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*.5)},size100:{name:"size100",category:"sizing",baseValue:p,familyBaseValue:p,description:"Size 100 - base component dimension",mathematicalRelationship:`base \xD7 1 = ${p} \xD7 1 = ${p}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p)},size150:{name:"size150",category:"sizing",baseValue:p*1.5,familyBaseValue:p,description:"Size 150 - small component dimension",mathematicalRelationship:`base \xD7 1.5 = ${p} \xD7 1.5 = ${p*1.5}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*1.5)},size200:{name:"size200",category:"sizing",baseValue:p*2,familyBaseValue:p,description:"Size 200 - medium-small component dimension",mathematicalRelationship:`base \xD7 2 = ${p} \xD7 2 = ${p*2}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*2)},size250:{name:"size250",category:"sizing",baseValue:p*2.5,familyBaseValue:p,description:"Size 250 - medium component dimension",mathematicalRelationship:`base \xD7 2.5 = ${p} \xD7 2.5 = ${p*2.5}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*2.5)},size300:{name:"size300",category:"sizing",baseValue:p*3,familyBaseValue:p,description:"Size 300 - standard component dimension",mathematicalRelationship:`base \xD7 3 = ${p} \xD7 3 = ${p*3}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*3)},size400:{name:"size400",category:"sizing",baseValue:p*4,familyBaseValue:p,description:"Size 400 - large component dimension",mathematicalRelationship:`base \xD7 4 = ${p} \xD7 4 = ${p*4}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*4)},size500:{name:"size500",category:"sizing",baseValue:p*5,familyBaseValue:p,description:"Size 500 - extra-large component dimension",mathematicalRelationship:`base \xD7 5 = ${p} \xD7 5 = ${p*5}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*5)},size600:{name:"size600",category:"sizing",baseValue:p*6,familyBaseValue:p,description:"Size 600 - prominent component dimension",mathematicalRelationship:`base \xD7 6 = ${p} \xD7 6 = ${p*6}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*6)},size700:{name:"size700",category:"sizing",baseValue:p*7,familyBaseValue:p,description:"Size 700 - large prominent component dimension",mathematicalRelationship:`base \xD7 7 = ${p} \xD7 7 = ${p*7}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*7)},size800:{name:"size800",category:"sizing",baseValue:p*8,familyBaseValue:p,description:"Size 800 - extra-large prominent component dimension",mathematicalRelationship:`base \xD7 8 = ${p} \xD7 8 = ${p*8}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*8)},size900:{name:"size900",category:"sizing",baseValue:p*9,familyBaseValue:p,description:"Size 900 - large prominent component dimension",mathematicalRelationship:`base \xD7 9 = ${p} \xD7 9 = ${p*9}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*9)},size1000:{name:"size1000",category:"sizing",baseValue:p*10,familyBaseValue:p,description:"Size 1000 - hero component dimension",mathematicalRelationship:`base \xD7 10 = ${p} \xD7 10 = ${p*10}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*10)},size1600:{name:"size1600",category:"sizing",baseValue:p*16,familyBaseValue:p,description:"Size 1600 - maximum component dimension",mathematicalRelationship:`base \xD7 16 = ${p} \xD7 16 = ${p*16}`,baselineGridAlignment:!0,isStrategicFlexibility:!1,isPrecisionTargeted:!1,platforms:L(p*16)}},ka=Object.keys(W);var ie=G({component:"Avatar",family:"sizing",tokens:{"size.xs":{reference:W.size300,reasoning:"Extra small avatar (24px). Compact contexts \u2014 inline mentions, dense lists."},"size.sm":{reference:W.size400,reasoning:"Small avatar (32px). Comment threads, contact lists."},"size.md":{reference:W.size500,reasoning:"Medium avatar (40px). Default size \u2014 profile cards, list items."},"size.lg":{reference:W.size600,reasoning:"Large avatar (48px). Profile headers, prominent identity display."},"size.xl":{reference:W.size1000,reasoning:"Extra large avatar (80px). Profile pages, hero sections."},"size.xxl":{reference:W.size1600,reasoning:"Extra extra large avatar (128px). Full profile view, onboarding."}}}),wa=G({component:"Avatar",family:"spacing",tokens:{"icon.size.xs":{value:p*1.5,reasoning:"Icon size for xs avatar (12px = 1.5\xD7 base) maintains 50% ratio (12/24). No existing icon token at this size, so component token fills the gap."},"icon.size.xxl":{value:p*8,reasoning:"Icon size for xxl avatar (64px = 8\xD7 base) maintains 50% ratio (64/128). No existing icon token at this size, so component token fills the gap."}}});var vt=".avatar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;overflow:hidden;flex-shrink:0}.avatar--human{border-radius:var(--radius-half)}.avatar--agent{aspect-ratio:1;position:relative;border:none !important;background-color:transparent}.avatar--size-xs{height:calc(var(--icon-size-050) * 1.5)}.avatar--human.avatar--size-xs{width:calc(var(--icon-size-050) * 1.5)}.avatar--size-sm{height:calc(var(--icon-size-050) * 2)}.avatar--human.avatar--size-sm{width:calc(var(--icon-size-050) * 2)}.avatar--size-md{height:calc(var(--icon-size-075) * 2)}.avatar--human.avatar--size-md{width:calc(var(--icon-size-075) * 2)}.avatar--size-lg{height:calc(var(--icon-size-100) * 2)}.avatar--human.avatar--size-lg{width:calc(var(--icon-size-100) * 2)}.avatar--size-xl{height:calc(var(--icon-size-500) * 2)}.avatar--human.avatar--size-xl{width:calc(var(--icon-size-500) * 2)}.avatar--size-xxl{height:calc(var(--icon-size-050) * 8)}.avatar--human.avatar--size-xxl{width:calc(var(--icon-size-050) * 8)}.avatar--human{background-color:var(--color-identity-human)}.avatar{border-width:var(--border-default);border-style:solid;border-color:color-mix(in oklch,var(--color-structure-border) 48%,transparent)}.avatar--size-xxl{border-width:var(--border-emphasis);border-color:var(--color-contrast-on-dark)}.avatar--interactive{cursor:pointer;transition:border-width var(--motion-focus-transition-duration) var(--motion-focus-transition-easing)}.avatar--interactive:hover{border-width:var(--border-emphasis)}@media (prefers-reduced-motion:reduce){.avatar--interactive{transition:none}}@media (prefers-contrast:high){.avatar{border:var(--border-emphasis) solid currentColor}}.avatar__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.avatar__icon--human{color:var(--color-contrast-on-dark)}.avatar__icon--agent{color:var(--color-contrast-on-dark)}.avatar__icon-svg{width:100%;height:100%;display:block}.avatar__icon .icon-base{color:inherit}.avatar__image{width:100%;height:100%;object-fit:cover;display:block}.avatar--has-image{background-color:transparent}.avatar__hexagon-svg{position:absolute;top:0;left:0;pointer-events:none}.avatar__hexagon-bg{}.avatar__hexagon-border{transition:stroke-width var(--motion-focus-transition-duration) var(--motion-focus-transition-easing)}.avatar--agent.avatar--interactive:hover .avatar__hexagon-border{stroke-width:var(--border-emphasis)}.avatar__content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1}.avatar--agent.avatar--size-xs{width:calc(var(--icon-size-050) * 1.5)}.avatar--agent.avatar--size-sm{width:calc(var(--icon-size-050) * 2)}.avatar--agent.avatar--size-md{width:calc(var(--icon-size-075) * 2)}.avatar--agent.avatar--size-lg{width:calc(var(--icon-size-100) * 2)}.avatar--agent.avatar--size-xl{width:calc(var(--icon-size-500) * 2)}.avatar--agent.avatar--size-xxl{width:calc(var(--icon-size-050) * 8)}";function Zr(n,i){let e=i!=null?i:n*.08,t=n/2,r=n/2,s=n,a=n*Math.cos(Math.PI/6)/2,l=s/4,c=[{x:t,y:0},{x:t+a,y:l},{x:t+a,y:3*l},{x:t,y:s},{x:t-a,y:3*l},{x:t-a,y:l}],d=[],h=c.length;for(let w=0;w<h;w++){let I=c[w],Y=c[(w+1)%h],H=c[(w-1+h)%h],$={x:H.x-I.x,y:H.y-I.y},M={x:Y.x-I.x,y:Y.y-I.y},St=Math.sqrt($.x*$.x+$.y*$.y),Et=Math.sqrt(M.x*M.x+M.y*M.y),wt={x:$.x/St,y:$.y/St},At={x:M.x/Et,y:M.y/Et},Tt={x:I.x+wt.x*e,y:I.y+wt.y*e},Fe={x:I.x+At.x*e,y:I.y+At.y*e};w===0?d.push(`M ${Fe.x.toFixed(2)} ${Fe.y.toFixed(2)}`):(d.push(`L ${Tt.x.toFixed(2)} ${Tt.y.toFixed(2)}`),d.push(`Q ${I.x.toFixed(2)} ${I.y.toFixed(2)} ${Fe.x.toFixed(2)} ${Fe.y.toFixed(2)}`))}let u=c[0],m=c[1],g=c[h-1],f={x:g.x-u.x,y:g.y-u.y},b={x:m.x-u.x,y:m.y-u.y},C=Math.sqrt(f.x*f.x+f.y*f.y),k=Math.sqrt(b.x*b.x+b.y*b.y),_={x:f.x/C,y:f.y/C},S={x:b.x/k,y:b.y/k},x={x:u.x+_.x*e,y:u.y+_.y*e},A={x:u.x+S.x*e,y:u.y+S.y*e};return d.push(`L ${x.x.toFixed(2)} ${x.y.toFixed(2)}`),d.push(`Q ${u.x.toFixed(2)} ${u.y.toFixed(2)} ${A.x.toFixed(2)} ${A.y.toFixed(2)}`),d.push("Z"),d.join(" ")}var Yr={xs:"xs",sm:13,md:20,lg:24,xl:40,xxl:"xxl"},Xr={xs:ie["size.xs"],sm:ie["size.sm"],md:ie["size.md"],lg:ie["size.lg"],xl:ie["size.xl"],xxl:ie["size.xxl"]},Jr={human:"user",agent:"settings"},j=class extends HTMLElement{static get observedAttributes(){return["type","size","src","alt","interactive","decorative","testid"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get type(){let i=this.getAttribute("type");return i==="human"||i==="agent"?i:bt.type}set type(i){this.setAttribute("type",i)}get size(){let i=this.getAttribute("size");return["xs","sm","md","lg","xl","xxl"].includes(i)?i:bt.size}set size(i){this.setAttribute("size",i)}get src(){return this.getAttribute("src")}set src(i){i?this.setAttribute("src",i):this.removeAttribute("src")}get alt(){return this.getAttribute("alt")}set alt(i){i?this.setAttribute("alt",i):this.removeAttribute("alt")}get interactive(){return this.getAttribute("interactive")==="true"}set interactive(i){i?this.setAttribute("interactive","true"):this.removeAttribute("interactive")}get decorative(){return this.getAttribute("decorative")==="true"}set decorative(i){i?this.setAttribute("decorative","true"):this.removeAttribute("decorative")}get testID(){return this.getAttribute("testid")}set testID(i){i?this.setAttribute("testid",i):this.removeAttribute("testid")}renderIconContent(i,e){let t=Jr[i],r=Yr[e];if(r==="xs"||r==="xxl"){let o=r==="xs"?"calc(var(--icon-size-050) * 0.75)":"calc(var(--icon-size-050) * 4)",a=this.getIconSVGContent(t);return`
|
|
342
|
+
<span class="avatar__icon avatar__icon--${i}" style="width: ${o}; height: ${o};">
|
|
343
|
+
<svg
|
|
344
|
+
viewBox="0 0 24 24"
|
|
345
|
+
fill="none"
|
|
346
|
+
stroke="currentColor"
|
|
347
|
+
stroke-width="var(--icon-stroke-width)"
|
|
348
|
+
stroke-linecap="round"
|
|
349
|
+
stroke-linejoin="round"
|
|
350
|
+
class="avatar__icon-svg"
|
|
351
|
+
aria-hidden="true"
|
|
352
|
+
>
|
|
353
|
+
${a}
|
|
354
|
+
</svg>
|
|
355
|
+
</span>
|
|
356
|
+
`}let s=D({name:t,size:r,color:"inherit"});return`
|
|
357
|
+
<span class="avatar__icon avatar__icon--${i}">
|
|
358
|
+
${s}
|
|
359
|
+
</span>
|
|
360
|
+
`}getIconSVGContent(i){let e={user:'<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle>',settings:'<circle cx="12" cy="12" r="3"></circle><path d="M12 1v6m0 6v6m5.66-13.66l-4.24 4.24m0 6l-4.24 4.24M23 12h-6m-6 0H1m18.66 5.66l-4.24-4.24m0-6l-4.24-4.24"></path>',circle:'<circle cx="12" cy="12" r="10"></circle>'};return e[i]||e.circle}renderImageContent(i,e){let t=this.escapeHtml(i),r=e?this.escapeHtml(e):"";return`
|
|
361
|
+
<img
|
|
362
|
+
class="avatar__image"
|
|
363
|
+
src="${t}"
|
|
364
|
+
alt="${r}"
|
|
365
|
+
loading="lazy"
|
|
366
|
+
/>
|
|
367
|
+
`}handleImageError(){this.removeAttribute("src")}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}renderContent(i,e,t,r){return i==="agent"?this.renderIconContent(i,e):t?this.renderImageContent(t,r):this.renderIconContent(i,e)}render(){let i=this.type,e=this.size,t=this.src,r=this.alt,s=this.interactive,o=this.decorative,a=this.testID,l=i==="human"&&t,c=["avatar",`avatar--${i}`,`avatar--size-${e}`,s?"avatar--interactive":"",l?"avatar--has-image":""].filter(Boolean).join(" "),d=a?` data-testid="${this.escapeHtml(a)}"`:"",h=o?' aria-hidden="true"':"";t&&!r&&typeof console!="undefined"&&console.warn('AvatarBaseElement: "alt" prop is required when "src" is provided for accessibility. Please add an alt attribute describing the image.'),i==="agent"?this._shadowRoot.innerHTML=`
|
|
368
|
+
<style>
|
|
369
|
+
:host {
|
|
370
|
+
display: inline-block;
|
|
371
|
+
}
|
|
372
|
+
${vt}
|
|
373
|
+
</style>
|
|
374
|
+
${this.renderAgentSVG(e,s,o,a)}
|
|
375
|
+
`:this._shadowRoot.innerHTML=`
|
|
376
|
+
<style>
|
|
377
|
+
:host {
|
|
378
|
+
display: inline-block;
|
|
379
|
+
}
|
|
380
|
+
${vt}
|
|
381
|
+
</style>
|
|
382
|
+
<div class="${c}"${d}${h}>
|
|
383
|
+
${this.renderContent(i,e,t,r)}
|
|
384
|
+
</div>
|
|
385
|
+
`,this.attachImageErrorHandler()}renderAgentSVG(i,e,t,r){let s=Xr[i],o=s*.08,a=Zr(s,o),l=i==="xxl"?2:1,c=["avatar","avatar--agent",`avatar--size-${i}`,e?"avatar--interactive":""].filter(Boolean).join(" "),d=r?` data-testid="${this.escapeHtml(r)}"`:"",h=t?' aria-hidden="true"':"",u=`hexagon-clip-${Math.random().toString(36).substr(2,9)}`,m=this.renderIconContent("agent",i);return`
|
|
386
|
+
<div class="${c}"${d}${h}>
|
|
387
|
+
<svg
|
|
388
|
+
class="avatar__hexagon-svg"
|
|
389
|
+
width="${s}"
|
|
390
|
+
height="${s}"
|
|
391
|
+
viewBox="0 0 ${s} ${s}"
|
|
392
|
+
aria-hidden="true"
|
|
393
|
+
>
|
|
394
|
+
<defs>
|
|
395
|
+
<clipPath id="${u}">
|
|
396
|
+
<path d="${a}" />
|
|
397
|
+
</clipPath>
|
|
398
|
+
</defs>
|
|
399
|
+
|
|
400
|
+
<!-- Background fill -->
|
|
401
|
+
<!-- Spec 058 Migration: Now references semantic token directly -->
|
|
402
|
+
<!-- Component token mapping: agent.background \u2192 color.identity.agent -->
|
|
403
|
+
<path
|
|
404
|
+
class="avatar__hexagon-bg"
|
|
405
|
+
d="${a}"
|
|
406
|
+
fill="var(--color-identity-agent)"
|
|
407
|
+
/>
|
|
408
|
+
|
|
409
|
+
<!-- Border stroke -->
|
|
410
|
+
<!-- Spec 058 Migration: Now references semantic token directly -->
|
|
411
|
+
<!-- Component token mapping: default.border \u2192 color.structure.border -->
|
|
412
|
+
<path
|
|
413
|
+
class="avatar__hexagon-border"
|
|
414
|
+
d="${a}"
|
|
415
|
+
fill="none"
|
|
416
|
+
stroke="${i==="xxl"?"var(--color-contrast-on-dark)":"var(--color-structure-border)"}"
|
|
417
|
+
stroke-width="${l}"
|
|
418
|
+
stroke-opacity="${i==="xxl"?"1":"0.48"}"
|
|
419
|
+
/>
|
|
420
|
+
</svg>
|
|
421
|
+
|
|
422
|
+
<!-- Icon content positioned over SVG -->
|
|
423
|
+
<div class="avatar__content" style="clip-path: url(#${u});">
|
|
424
|
+
${m}
|
|
425
|
+
</div>
|
|
426
|
+
</div>
|
|
427
|
+
`}attachImageErrorHandler(){let i=this._shadowRoot.querySelector(".avatar__image");i&&i.addEventListener("error",()=>this.handleImageError(),{once:!0})}};customElements.get("avatar-base")||customElements.define("avatar-base",j);var mi={size:"md",truncate:!1},bi={sm:{typography:"typography.labelXs",paddingVertical:"space.inset.none",paddingHorizontal:"space.inset.050",iconSize:13,iconGap:"space.grouped.minimal"},md:{typography:"typography.labelSm",paddingVertical:"space.inset.050",paddingHorizontal:"space.inset.100",iconSize:20,iconGap:"space.grouped.tight"},lg:{typography:"typography.labelMd",paddingVertical:"space.inset.100",paddingHorizontal:"space.inset.150",iconSize:24,iconGap:"space.grouped.tight"}};var Qr=G({component:"BadgeLabelBase",family:"spacing",tokens:{maxWidth:{value:v*15,reasoning:"Maximum width for truncated badges; allows ~12-15 characters before ellipsis while maintaining compact badge appearance. Value follows spacing family pattern (8 \xD7 15 = 120px) but exceeds standard spacing scale, requiring component-level definition."}}});function vi(){return Qr.maxWidth}var fi=".badge-label{display:inline-flex;align-items:center;box-sizing:border-box;border-radius:var(--radius-subtle);background-color:var(--color-structure-surface);color:var(--color-text-default);pointer-events:none;user-select:none;outline:none}.badge-label--sm{font-family:var(--typography-label-xs-font-family);font-size:var(--typography-label-xs-font-size);line-height:var(--typography-label-xs-line-height);font-weight:var(--typography-label-xs-font-weight);letter-spacing:var(--typography-label-xs-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-050);padding-right:var(--space-050);gap:var(--space-025)}.badge-label--md{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);line-height:var(--typography-label-sm-line-height);font-weight:var(--typography-label-sm-font-weight);letter-spacing:var(--typography-label-sm-letter-spacing);padding-top:var(--space-050);padding-bottom:var(--space-050);padding-left:var(--space-100);padding-right:var(--space-100);gap:var(--space-050)}.badge-label--lg{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);line-height:var(--typography-label-md-line-height);font-weight:var(--typography-label-md-font-weight);letter-spacing:var(--typography-label-md-letter-spacing);padding-top:var(--space-100);padding-bottom:var(--space-100);padding-left:var(--space-150);padding-right:var(--space-150);gap:var(--space-050)}.badge-label__text{font:inherit;color:inherit;user-select:none}.badge-label__text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--badgelabelbase-max-width,120px)}.badge-label__icon{flex-shrink:0;color:inherit;display:inline-flex;align-items:center;justify-content:center}@media (prefers-contrast:high){.badge-label{border:1px solid currentColor}}@media (prefers-reduced-motion:reduce){.badge-label{transition:none}}@media print{.badge-label{background-color:transparent;border:1px solid currentColor}}";var re=class extends HTMLElement{static get observedAttributes(){return["label","size","icon","truncate","test-id"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get label(){return this.getAttribute("label")||""}set label(i){this.setAttribute("label",i)}get size(){let i=this.getAttribute("size");return i==="sm"||i==="md"||i==="lg"?i:mi.size}set size(i){this.setAttribute("size",i)}get icon(){return this.getAttribute("icon")}set icon(i){i?this.setAttribute("icon",i):this.removeAttribute("icon")}get truncate(){return this.getAttribute("truncate")==="true"}set truncate(i){i?this.setAttribute("truncate","true"):this.removeAttribute("truncate")}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}render(){let i=this.label,e=this.size,t=this.icon,r=this.truncate,s=this.testID,a=bi[e].iconSize,l=["badge-label",`badge-label--${e}`].join(" "),c=["badge-label__text",r?"badge-label__text--truncate":""].filter(Boolean).join(" "),d=s?` data-testid="${this.escapeHtml(s)}"`:"",h=r?` title="${this.escapeHtml(i)}"`:"",u=t?`
|
|
428
|
+
<span class="badge-label__icon" aria-hidden="true">
|
|
429
|
+
<icon-base name="${t}" size="${a}" color="inherit"></icon-base>
|
|
430
|
+
</span>
|
|
431
|
+
`:"",m=vi();this._shadowRoot.innerHTML=`
|
|
432
|
+
<style>
|
|
433
|
+
:host {
|
|
434
|
+
display: inline-block;
|
|
435
|
+
}
|
|
436
|
+
/* Override max-width with component token value */
|
|
437
|
+
.badge-label__text--truncate {
|
|
438
|
+
max-width: ${m}px;
|
|
439
|
+
}
|
|
440
|
+
${fi}
|
|
441
|
+
</style>
|
|
442
|
+
<span class="${l}"${d}${h}>
|
|
443
|
+
${u}
|
|
444
|
+
<span class="${c}">${this.escapeHtml(i)}</span>
|
|
445
|
+
</span>
|
|
446
|
+
`}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}};customElements.get("badge-label-base")||customElements.define("badge-label-base",re);var Be={max:99,showZero:!1,size:"md"};var _i=".badge-count{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:var(--radius-full);background-color:var(--color-structure-surface);color:var(--color-text-default);pointer-events:none;user-select:none;outline:none;text-align:center}.badge-count--sm{font-family:var(--typography-label-xs-font-family);font-size:var(--typography-label-xs-font-size);line-height:var(--typography-label-xs-line-height);font-weight:var(--typography-label-xs-font-weight);letter-spacing:var(--typography-label-xs-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-050);padding-right:var(--space-050);min-width:calc(var(--typography-label-xs-font-size) * var(--typography-label-xs-line-height))}.badge-count--md{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);line-height:var(--typography-label-sm-line-height);font-weight:var(--typography-label-sm-font-weight);letter-spacing:var(--typography-label-sm-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-050);padding-right:var(--space-050);min-width:calc(var(--typography-label-sm-font-size) * var(--typography-label-sm-line-height))}.badge-count--lg{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);line-height:var(--typography-label-md-line-height);font-weight:var(--typography-label-md-font-weight);letter-spacing:var(--typography-label-md-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-100);padding-right:var(--space-100);min-width:calc(var(--typography-label-md-font-size) * var(--typography-label-md-line-height))}.badge-count__text{font:inherit;color:inherit;user-select:none;white-space:nowrap}@media (prefers-contrast:high){.badge-count{border:1px solid currentColor}}@media (prefers-reduced-motion:reduce){.badge-count{transition:none}}@media print{.badge-count{background-color:transparent;border:1px solid currentColor}}";var ne=class extends HTMLElement{static get observedAttributes(){return["count","max","show-zero","size","test-id"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get count(){let i=this.getAttribute("count");if(i===null)return 0;let e=parseInt(i,10);return isNaN(e)?0:Math.abs(e)}set count(i){this.setAttribute("count",String(i))}get max(){let i=this.getAttribute("max");if(i===null)return Be.max;let e=parseInt(i,10);return isNaN(e)||e<=0?Be.max:e}set max(i){this.setAttribute("max",String(i))}get showZero(){return this.getAttribute("show-zero")==="true"}set showZero(i){i?this.setAttribute("show-zero","true"):this.removeAttribute("show-zero")}get size(){let i=this.getAttribute("size");return i==="sm"||i==="md"||i==="lg"?i:Be.size}set size(i){this.setAttribute("size",i)}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}getDisplayText(){let i=this.count,e=this.max;return i>e?`${e}+`:String(i)}shouldRender(){let i=this.count,e=this.showZero;return!(i===0&&!e)}render(){if(!this.shouldRender()){this._shadowRoot.innerHTML="";return}let i=this.size,e=this.testID,t=this.getDisplayText(),r=["badge-count",`badge-count--${i}`].join(" "),s=e?` data-testid="${this.escapeHtml(e)}"`:"";this._shadowRoot.innerHTML=`
|
|
447
|
+
<style>
|
|
448
|
+
:host {
|
|
449
|
+
display: inline-block;
|
|
450
|
+
}
|
|
451
|
+
:host([hidden]) {
|
|
452
|
+
display: none;
|
|
453
|
+
}
|
|
454
|
+
${_i}
|
|
455
|
+
</style>
|
|
456
|
+
<span class="${r}"${s}>
|
|
457
|
+
<span class="badge-count__text">${this.escapeHtml(t)}</span>
|
|
458
|
+
</span>
|
|
459
|
+
`}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}};customElements.get("badge-count-base")||customElements.define("badge-count-base",ne);var et=P(V({},Be),{announceChanges:!0});var yi=".badge-count-notification{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:var(--radius-full);background-color:var(--color-feedback-notification-background);color:var(--color-feedback-notification-text);pointer-events:none;user-select:none;outline:none;text-align:center}.badge-count-notification--sm{font-family:var(--typography-label-xs-font-family);font-size:var(--typography-label-xs-font-size);line-height:var(--typography-label-xs-line-height);font-weight:var(--typography-label-xs-font-weight);letter-spacing:var(--typography-label-xs-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-050);padding-right:var(--space-050);min-width:calc(var(--typography-label-xs-font-size) * var(--typography-label-xs-line-height))}.badge-count-notification--md{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);line-height:var(--typography-label-sm-line-height);font-weight:var(--typography-label-sm-font-weight);letter-spacing:var(--typography-label-sm-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-050);padding-right:var(--space-050);min-width:calc(var(--typography-label-sm-font-size) * var(--typography-label-sm-line-height))}.badge-count-notification--lg{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);line-height:var(--typography-label-md-line-height);font-weight:var(--typography-label-md-font-weight);letter-spacing:var(--typography-label-md-letter-spacing);padding-top:0;padding-bottom:0;padding-left:var(--space-100);padding-right:var(--space-100);min-width:calc(var(--typography-label-md-font-size) * var(--typography-label-md-line-height))}.badge-count-notification__text{font:inherit;color:inherit;user-select:none;white-space:nowrap}.badge-count-notification__announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast:high){.badge-count-notification{border:1px solid currentColor}}@media (prefers-reduced-motion:reduce){.badge-count-notification{transition:none}}@media print{.badge-count-notification{background-color:transparent;border:1px solid currentColor;color:inherit}}";var se=class extends HTMLElement{constructor(){super();this._previousCount=null;this._shadowRoot=this.attachShadow({mode:"open"})}static get observedAttributes(){return["count","max","show-zero","size","announce-changes","test-id"]}connectedCallback(){this.render()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&(e==="count"&&t!==null&&(this._previousCount=parseInt(t,10)),this.render())}get count(){let e=this.getAttribute("count");if(e===null)return 0;let t=parseInt(e,10);return isNaN(t)?0:Math.abs(t)}set count(e){this.setAttribute("count",String(e))}get max(){let e=this.getAttribute("max");if(e===null)return et.max;let t=parseInt(e,10);return isNaN(t)||t<=0?et.max:t}set max(e){this.setAttribute("max",String(e))}get showZero(){return this.getAttribute("show-zero")==="true"}set showZero(e){e?this.setAttribute("show-zero","true"):this.removeAttribute("show-zero")}get size(){let e=this.getAttribute("size");return e==="sm"||e==="md"||e==="lg"?e:et.size}set size(e){this.setAttribute("size",e)}get announceChanges(){return this.getAttribute("announce-changes")!=="false"}set announceChanges(e){e?this.removeAttribute("announce-changes"):this.setAttribute("announce-changes","false")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}getDisplayText(){let e=this.count,t=this.max;return e>t?`${t}+`:String(e)}getAnnouncementText(){let e=this.count,t=this.max;return e>t?`${t} or more notifications`:e===1?"1 notification":`${e} notifications`}shouldRender(){let e=this.count,t=this.showZero;return!(e===0&&!t)}shouldAnnounce(){return!this.announceChanges||this._previousCount===null?!1:this._previousCount!==this.count}render(){if(!this.shouldRender()){this._shadowRoot.innerHTML="";return}let e=this.size,t=this.testID,r=this.getDisplayText(),s=this.getAnnouncementText(),o=this.shouldAnnounce(),a=["badge-count-notification",`badge-count-notification--${e}`].join(" "),l=t?` data-testid="${this.escapeHtml(t)}"`:"",c=this.announceChanges?' aria-live="polite" aria-atomic="true"':"",d=this.announceChanges?`<span class="badge-count-notification__announcement" role="status">${this.escapeHtml(s)}</span>`:"";this._shadowRoot.innerHTML=`
|
|
460
|
+
<style>
|
|
461
|
+
:host {
|
|
462
|
+
display: inline-block;
|
|
463
|
+
}
|
|
464
|
+
:host([hidden]) {
|
|
465
|
+
display: none;
|
|
466
|
+
}
|
|
467
|
+
${yi}
|
|
468
|
+
</style>
|
|
469
|
+
<span class="${a}"${l}${c}>
|
|
470
|
+
<span class="badge-count-notification__text">${this.escapeHtml(r)}</span>
|
|
471
|
+
${d}
|
|
472
|
+
</span>
|
|
473
|
+
`,this._previousCount=this.count}escapeHtml(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,r=>t[r])}};customElements.get("badge-count-notification")||customElements.define("badge-count-notification",se);var xi=["checked","indeterminate","label","size","label-align","label-typography","helper-text","error-message","test-id","name","value"],tt={checked:!1,indeterminate:!1,size:"md",labelAlign:"center",labelTypography:"inherit"};var ki=":host{display:inline-block}.checkbox{display:inline-flex;align-items:center;position:relative}.checkbox__touch-target{display:inline-flex;align-items:center;cursor:pointer;user-select:none;min-height:var(--tap-area-recommended);box-sizing:border-box}.checkbox--align-top{align-items:flex-start}.checkbox--align-top .checkbox__touch-target{align-items:flex-start}.checkbox--sm .checkbox__touch-target{gap:var(--space-grouped-normal)}.checkbox--sm .checkbox__box{width:calc(var(--icon-size-050)+var(--space-inset-050) * 2);height:calc(var(--icon-size-050)+var(--space-inset-050) * 2);border-radius:var(--radius-subtle)}.checkbox--sm .checkbox__label{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);font-weight:var(--typography-label-sm-font-weight);line-height:var(--typography-label-sm-line-height);letter-spacing:var(--typography-label-sm-letter-spacing)}.checkbox--md .checkbox__touch-target{gap:var(--space-grouped-normal)}.checkbox--md .checkbox__box{width:calc(var(--icon-size-075)+var(--space-inset-075) * 2);height:calc(var(--icon-size-075)+var(--space-inset-075) * 2);border-radius:var(--radius-small)}.checkbox--md .checkbox__label{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing)}.checkbox--lg .checkbox__touch-target{gap:var(--space-grouped-loose)}.checkbox--lg .checkbox__box{width:calc(var(--icon-size-100)+var(--space-inset-100) * 2);height:calc(var(--icon-size-100)+var(--space-inset-100) * 2);border-radius:var(--radius-small)}.checkbox--lg .checkbox__label{font-family:var(--typography-label-lg-font-family);font-size:var(--typography-label-lg-font-size);font-weight:var(--typography-label-lg-font-weight);line-height:var(--typography-label-lg-line-height);letter-spacing:var(--typography-label-lg-letter-spacing)}.checkbox--label-sm .checkbox__label{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);font-weight:var(--typography-label-sm-font-weight);line-height:var(--typography-label-sm-line-height);letter-spacing:var(--typography-label-sm-letter-spacing)}.checkbox--label-md .checkbox__label{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing)}.checkbox--label-lg .checkbox__label{font-family:var(--typography-label-lg-font-family);font-size:var(--typography-label-lg-font-size);font-weight:var(--typography-label-lg-font-weight);line-height:var(--typography-label-lg-line-height);letter-spacing:var(--typography-label-lg-letter-spacing)}.checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox__box{flex-shrink:0;display:flex;align-items:center;justify-content:center;border:var(--border-emphasis) solid var(--color-feedback-select-border-default);background-color:transparent;transition:background-color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),border-color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing);box-sizing:border-box}.checkbox__box icon-base{color:var(--color-contrast-on-light);display:flex}.checkbox--checked .checkbox__box{background-color:var(--color-feedback-select-background-rest);border-color:var(--color-feedback-select-border-rest)}.checkbox--indeterminate .checkbox__box{background-color:var(--color-feedback-select-background-rest);border-color:var(--color-feedback-select-border-rest)}.checkbox--error .checkbox__box{border-color:var(--color-feedback-error-border)}.checkbox__touch-target:hover .checkbox__box{border-color:var(--_checkbox-hover-border,var(--color-feedback-select-border-rest))}.checkbox--checked .checkbox__touch-target:hover .checkbox__box,.checkbox--indeterminate .checkbox__touch-target:hover .checkbox__box{border-color:var(--color-feedback-select-border-rest)}.checkbox-container{display:flex;flex-direction:column}.checkbox__content{display:flex;flex-direction:column;min-width:0}.checkbox__label{color:var(--color-text-default)}.checkbox__helper{display:block;margin-block-start:var(--space-grouped-minimal);margin-block-end:0;margin-inline:0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-text-muted)}.checkbox__error{display:block;margin-block-start:var(--space-grouped-minimal);margin-block-end:0;margin-inline:0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-feedback-error-text)}.checkbox__input:focus-visible~.checkbox__touch-target .checkbox__box{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset)}@media (prefers-contrast:high){.checkbox__box{border:var(--border-emphasis) solid currentColor}.checkbox__input:focus-visible~.checkbox__touch-target .checkbox__box{outline-width:var(--border-heavy)}}@media (prefers-reduced-motion:reduce){.checkbox__box{transition:none}}@media print{.checkbox__box{background-color:transparent !important;border-color:var(--color-print-default) !important}.checkbox__label{color:var(--color-print-default) !important}}";var en=0,Ci={sm:13,md:20,lg:24},oe=class extends HTMLElement{constructor(){super();this._input=null;this._form=null;this.onChange=null;this._hoverBorderColor="";this._onFormReset=()=>{this.checked=!1,this.indeterminate=!1,this._input&&(this._input.checked=!1,this._input.indeterminate=!1)};this._onInputChange=()=>{var t;if(!this._input)return;let e=this._input.checked;e?this.setAttribute("checked",""):this.removeAttribute("checked"),this.indeterminate&&this.removeAttribute("indeterminate"),(t=this.onChange)==null||t.call(this,e),this.dispatchEvent(new CustomEvent("change",{detail:{checked:e},bubbles:!0,composed:!0}))};this._shadowRoot=this.attachShadow({mode:"open"}),this._generatedId=`checkbox-${++en}`,this._blendUtils=E()}static get observedAttributes(){return[...xi]}connectedCallback(){this._calculateBlendColors(),this._attachToForm(),this.render(),this._attachListeners()}disconnectedCallback(){this._detachListeners(),this._detachFromForm()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&(this.render(),this._attachListeners())}get checked(){return this.hasAttribute("checked")}set checked(e){e?this.setAttribute("checked",""):this.removeAttribute("checked")}get indeterminate(){return this.hasAttribute("indeterminate")}set indeterminate(e){e?this.setAttribute("indeterminate",""):this.removeAttribute("indeterminate")}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get size(){let e=this.getAttribute("size");return e==="sm"||e==="md"||e==="lg"?e:tt.size}set size(e){this.setAttribute("size",e)}get labelAlign(){let e=this.getAttribute("label-align");return e==="center"||e==="top"?e:tt.labelAlign}set labelAlign(e){this.setAttribute("label-align",e)}get labelTypography(){let e=this.getAttribute("label-typography");return e==="inherit"||e==="sm"||e==="md"||e==="lg"?e:tt.labelTypography}set labelTypography(e){this.setAttribute("label-typography",e)}get helperText(){return this.getAttribute("helper-text")}set helperText(e){e?this.setAttribute("helper-text",e):this.removeAttribute("helper-text")}get errorMessage(){return this.getAttribute("error-message")}set errorMessage(e){e?this.setAttribute("error-message",e):this.removeAttribute("error-message")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}get name(){return this.getAttribute("name")}set name(e){e?this.setAttribute("name",e):this.removeAttribute("name")}get value(){return this.getAttribute("value")||"on"}set value(e){this.setAttribute("value",e)}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-feedback-select-border-default").trim();t&&(this._hoverBorderColor=this._blendUtils.hoverColor(t))}_attachToForm(){this._form=this.closest("form"),this._form&&this._form.addEventListener("reset",this._onFormReset)}_detachFromForm(){this._form&&(this._form.removeEventListener("reset",this._onFormReset),this._form=null)}render(){let e=this.getAttribute("id")||this._generatedId,t=`${e}-input`,r=`${e}-helper`,s=`${e}-error`,o=this.label,a=this.size,l=this.labelAlign,c=this.labelTypography,d=this.checked,h=this.indeterminate,u=this.helperText,m=this.errorMessage,g=!!m,f=this.testID,b=this.name,C=this.value,k=["checkbox",`checkbox--${a}`,l==="top"?"checkbox--align-top":"",c!=="inherit"?`checkbox--label-${c}`:"",d?"checkbox--checked":"",h?"checkbox--indeterminate":"",g?"checkbox--error":""].filter(Boolean).join(" "),_="";h?_=D({name:"minus",size:Ci[a],color:"inherit"}):d&&(_=D({name:"check",size:Ci[a],color:"inherit"}));let S=f?` data-testid="${f}"`:"",x=[];m&&x.push(s),u&&x.push(r);let A=x.length>0?` aria-describedby="${x.join(" ")}"`:"",w=u?`<span class="checkbox__helper" id="${r}">${u}</span>`:"",I=m?`<span class="checkbox__error" id="${s}" role="alert">${m}</span>`:"",Y=b?` name="${b}"`:"",H=`${e}-label`;this._shadowRoot.innerHTML=`
|
|
474
|
+
<style>${ki}</style>
|
|
475
|
+
<div class="checkbox-container">
|
|
476
|
+
<div class="${k}"${S}>
|
|
477
|
+
<input
|
|
478
|
+
type="checkbox"
|
|
479
|
+
class="checkbox__input"
|
|
480
|
+
id="${t}"${Y}
|
|
481
|
+
value="${C}"
|
|
482
|
+
aria-labelledby="${H}"
|
|
483
|
+
${d?"checked":""}
|
|
484
|
+
${h?'aria-checked="mixed"':`aria-checked="${d}"`}
|
|
485
|
+
${g?'aria-invalid="true"':""}${A}
|
|
486
|
+
/>
|
|
487
|
+
<label for="${t}" class="checkbox__touch-target">
|
|
488
|
+
<span class="checkbox__box">
|
|
489
|
+
${_}
|
|
490
|
+
</span>
|
|
491
|
+
<span class="checkbox__content">
|
|
492
|
+
<span class="checkbox__label" id="${H}">${o}</span>
|
|
493
|
+
</span>
|
|
494
|
+
</label>
|
|
495
|
+
</div>
|
|
496
|
+
${w}
|
|
497
|
+
${I}
|
|
498
|
+
</div>
|
|
499
|
+
`,this._input=this._shadowRoot.querySelector(".checkbox__input");let $=this._shadowRoot.querySelector(".checkbox");$&&this._hoverBorderColor&&$.style.setProperty("--_checkbox-hover-border",this._hoverBorderColor),this._input&&(this._input.indeterminate=h)}_attachListeners(){var e;(e=this._input)==null||e.addEventListener("change",this._onInputChange)}_detachListeners(){var e;(e=this._input)==null||e.removeEventListener("change",this._onInputChange)}};customElements.get("input-checkbox-base")||customElements.define("input-checkbox-base",oe);var Si=["checked","label","helper-text","error-message","test-id","name","value","requires-explicit-consent","legal-text-id","legal-text-version","show-required-indicator"],ft={checked:!1,requiresExplicitConsent:!0,showRequiredIndicator:!0};var Ei=":host{display:block}.checkbox-container{display:flex;flex-direction:column}.checkbox--legal{}.checkbox__required{display:block;margin-block-end:var(--space-grouped-minimal);font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-feedback-error-text)}.checkbox-container input-checkbox-base{display:block}@media (prefers-contrast:high){.checkbox__required{color:currentColor;font-weight:bold}}@media print{.checkbox__required{color:var(--color-print-default) !important}}";var tn=0,ae=class extends HTMLElement{constructor(){super();this._baseCheckbox=null;this._form=null;this._consentWarningShown=!1;this._isHandlingBaseChange=!1;this.onChange=null;this.onConsentChange=null;this._onFormReset=()=>{this.checked=!1,this._baseCheckbox&&(this._baseCheckbox.checked=!1)};this._onBaseChange=e=>{var a,l;e.stopPropagation();let r=e.detail.checked;this._isHandlingBaseChange=!0,r?this.setAttribute("checked",""):this.removeAttribute("checked"),this._isHandlingBaseChange=!1;let s=new Date().toISOString();(a=this.onChange)==null||a.call(this,r);let o={consented:r,timestamp:s};this.legalTextId&&(o.legalTextId=this.legalTextId),this.legalTextVersion&&(o.legalTextVersion=this.legalTextVersion),(l=this.onConsentChange)==null||l.call(this,o),this.dispatchEvent(new CustomEvent("consent-change",{detail:o,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:{checked:r},bubbles:!0,composed:!0}))};this._shadowRoot=this.attachShadow({mode:"open"}),this._generatedId=`legal-checkbox-${++tn}`}static get observedAttributes(){return[...Si]}connectedCallback(){this._enforceExplicitConsent(),this._attachToForm(),this.render(),this._attachListeners()}disconnectedCallback(){this._detachListeners(),this._detachFromForm()}attributeChangedCallback(e,t,r){t!==r&&(e==="checked"&&this._enforceExplicitConsent(),e==="indeterminate"&&r!==null&&console.warn("Input-Checkbox-Legal: Indeterminate state is not supported for legal consent checkboxes. Legal consent is binary (checked/unchecked)."),this.isConnected&&!this._isHandlingBaseChange&&this._updateBaseCheckbox())}get checked(){return this.hasAttribute("checked")}set checked(e){if(e&&this.requiresExplicitConsent){this._showConsentWarning(),this.removeAttribute("checked");return}e?this.setAttribute("checked",""):this.removeAttribute("checked")}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get helperText(){return this.getAttribute("helper-text")}set helperText(e){e?this.setAttribute("helper-text",e):this.removeAttribute("helper-text")}get errorMessage(){return this.getAttribute("error-message")}set errorMessage(e){e?this.setAttribute("error-message",e):this.removeAttribute("error-message")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}get name(){return this.getAttribute("name")}set name(e){e?this.setAttribute("name",e):this.removeAttribute("name")}get value(){return this.getAttribute("value")||"on"}set value(e){this.setAttribute("value",e)}get requiresExplicitConsent(){let e=this.getAttribute("requires-explicit-consent");return e===null?ft.requiresExplicitConsent:e!=="false"}set requiresExplicitConsent(e){e?this.setAttribute("requires-explicit-consent",""):this.setAttribute("requires-explicit-consent","false")}get legalTextId(){return this.getAttribute("legal-text-id")}set legalTextId(e){e?this.setAttribute("legal-text-id",e):this.removeAttribute("legal-text-id")}get legalTextVersion(){return this.getAttribute("legal-text-version")}set legalTextVersion(e){e?this.setAttribute("legal-text-version",e):this.removeAttribute("legal-text-version")}get showRequiredIndicator(){let e=this.getAttribute("show-required-indicator");return e===null?ft.showRequiredIndicator:e!=="false"}set showRequiredIndicator(e){e?this.setAttribute("show-required-indicator",""):this.setAttribute("show-required-indicator","false")}_attachToForm(){this._form=this.closest("form"),this._form&&this._form.addEventListener("reset",this._onFormReset)}_detachFromForm(){this._form&&(this._form.removeEventListener("reset",this._onFormReset),this._form=null)}_enforceExplicitConsent(){this.requiresExplicitConsent&&this.hasAttribute("checked")&&(this._showConsentWarning(),this.removeAttribute("checked"))}_showConsentWarning(){this._consentWarningShown||(console.warn("Input-Checkbox-Legal: Pre-checked state not allowed with requiresExplicitConsent. Overriding to unchecked. Legal consent must be explicitly given by the user."),this._consentWarningShown=!0)}render(){let e=this.getAttribute("id")||this._generatedId,r=this.showRequiredIndicator?'<span class="checkbox__required" aria-hidden="true">Required</span>':"";this._shadowRoot.innerHTML=`
|
|
500
|
+
<style>${Ei}</style>
|
|
501
|
+
<div class="checkbox-container checkbox--legal">
|
|
502
|
+
${r}
|
|
503
|
+
<input-checkbox-base
|
|
504
|
+
id="${e}-base"
|
|
505
|
+
size="lg"
|
|
506
|
+
label-align="top"
|
|
507
|
+
label-typography="sm"
|
|
508
|
+
></input-checkbox-base>
|
|
509
|
+
</div>
|
|
510
|
+
`,this._baseCheckbox=this._shadowRoot.querySelector("input-checkbox-base"),this._updateBaseCheckbox()}_updateBaseCheckbox(){this._baseCheckbox&&(this.label&&this._baseCheckbox.setAttribute("label",this.label),this.checked?this._baseCheckbox.setAttribute("checked",""):this._baseCheckbox.removeAttribute("checked"),this.helperText?this._baseCheckbox.setAttribute("helper-text",this.helperText):this._baseCheckbox.removeAttribute("helper-text"),this.errorMessage?this._baseCheckbox.setAttribute("error-message",this.errorMessage):this._baseCheckbox.removeAttribute("error-message"),this.testID?this._baseCheckbox.setAttribute("test-id",this.testID):this._baseCheckbox.removeAttribute("test-id"),this.name?this._baseCheckbox.setAttribute("name",this.name):this._baseCheckbox.removeAttribute("name"),this._baseCheckbox.setAttribute("value",this.value),this._baseCheckbox.removeAttribute("indeterminate"))}_attachListeners(){var e;(e=this._baseCheckbox)==null||e.addEventListener("change",this._onBaseChange)}_detachListeners(){var e;(e=this._baseCheckbox)==null||e.removeEventListener("change",this._onBaseChange)}};customElements.get("input-checkbox-legal")||customElements.define("input-checkbox-legal",ae);var Le=["label","icon","test-id"];var Ve=".chip-base{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-grouped-tight);padding-block:var(--space-inset-075);padding-inline:var(--space-inset-150);font-family:var(--typography-button-sm-font-family);font-size:var(--typography-button-sm-font-size);font-weight:var(--typography-button-sm-font-weight);line-height:var(--typography-button-sm-line-height);letter-spacing:var(--typography-button-sm-letter-spacing);background-color:var(--color-structure-surface);color:var(--color-text-default);border:var(--border-default) solid var(--color-structure-border);border-radius:var(--radius-full);cursor:pointer;user-select:none;transition:background-color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),border-color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),box-shadow var(--motion-selection-transition-duration) var(--motion-selection-transition-easing);outline:none;position:relative;flex-shrink:0}.chip-base::before{content:'';position:absolute;inset:calc((var(--tap-area-recommended) - 32px) / -2);pointer-events:auto}.chip-base__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.chip-base__label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chip-base:hover{background-color:var(--_chip-hover-bg);border-color:var(--color-action-primary)}.chip-base:active{background-color:var(--_chip-pressed-bg);border-color:var(--color-action-primary)}.chip-base:focus-visible{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset)}.chip-base:focus:not(:focus-visible){outline:none}@media (prefers-contrast:high){.chip-base{border:var(--border-emphasis) solid currentColor}.chip-base:focus-visible{outline-width:var(--border-heavy)}}@media (prefers-reduced-motion:reduce){.chip-base{transition:none}}@media print{.chip-base{background-color:transparent !important;color:var(--color-print-default) !important;border:var(--border-default) solid var(--color-print-default) !important;box-shadow:none !important}.chip-base__icon{display:none}}";var le=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._chipEl=null;this._labelEl=null;this._iconContainer=null;this._iconEl=null;this._hoverColor="";this._pressedColor="";this._onPress=null;this._handleClick=e=>{this._onPress&&this._onPress(),this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0}))};this._handleKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._onPress&&this._onPress(),this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0})))};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return Le}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._calculateBlendColorsWithRetry(),this._render()},{once:!0}):(this._calculateBlendColorsWithRetry(),this._render())}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this._render()}catch(t){console.warn("ChipBase: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-structure-surface").trim();if(!t)throw new Error("ChipBase: Required token --color-structure-surface is missing from CSS custom properties");this._hoverColor=this._blendUtils.hoverColor(t),this._pressedColor=this._blendUtils.pressedColor(t)}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._domCreated&&this._updateDOM()}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get icon(){return this.getAttribute("icon")}set icon(e){e?this.setAttribute("icon",e):this.removeAttribute("icon")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}get onPress(){return this._onPress}set onPress(e){this._onPress=e}_render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){var l;let e=this.label,t=this.icon,r=this.testID,s=T.size075,o=r?` data-testid="${r}"`:"",a=`
|
|
511
|
+
--_chip-hover-bg: ${this._hoverColor};
|
|
512
|
+
--_chip-pressed-bg: ${this._pressedColor};
|
|
513
|
+
`;this._shadowRoot.innerHTML=`
|
|
514
|
+
<style>${Ve}</style>
|
|
515
|
+
<div
|
|
516
|
+
class="chip-base"
|
|
517
|
+
role="button"
|
|
518
|
+
tabindex="0"
|
|
519
|
+
${o}
|
|
520
|
+
aria-label="${e}"
|
|
521
|
+
style="${a}"
|
|
522
|
+
>
|
|
523
|
+
<span class="chip-base__icon" aria-hidden="true" style="${t?"":"display: none;"}">
|
|
524
|
+
<icon-base name="${t||""}" size="${s}" color="inherit"></icon-base>
|
|
525
|
+
</span>
|
|
526
|
+
<span class="chip-base__label">${e}</span>
|
|
527
|
+
</div>
|
|
528
|
+
`,this._chipEl=this._shadowRoot.querySelector(".chip-base"),this._labelEl=this._shadowRoot.querySelector(".chip-base__label"),this._iconContainer=this._shadowRoot.querySelector(".chip-base__icon"),this._iconEl=((l=this._iconContainer)==null?void 0:l.querySelector("icon-base"))||null}_updateDOM(){if(!this._chipEl||!this._labelEl)return;let e=this.label,t=this.icon,r=this.testID,s=T.size075;this._chipEl.setAttribute("aria-label",e),r?this._chipEl.setAttribute("data-testid",r):this._chipEl.removeAttribute("data-testid"),this._chipEl.style.setProperty("--_chip-hover-bg",this._hoverColor),this._chipEl.style.setProperty("--_chip-pressed-bg",this._pressedColor),this._labelEl.textContent=e,this._iconContainer&&this._iconEl&&(t?(this._iconContainer.style.display="",this._iconEl.setAttribute("name",t),this._iconEl.setAttribute("size",String(s))):this._iconContainer.style.display="none")}_attachEventListeners(){this._chipEl&&(this._chipEl.addEventListener("click",this._handleClick),this._chipEl.addEventListener("keydown",this._handleKeyDown))}_detachEventListeners(){this._chipEl&&(this._chipEl.removeEventListener("click",this._handleClick),this._chipEl.removeEventListener("keydown",this._handleKeyDown))}};customElements.get("chip-base")||customElements.define("chip-base",le);var wi=".chip-filter--selected{background-color:var(--color-feedback-select-background-rest);border-color:var(--color-feedback-select-text-rest);color:var(--color-feedback-select-text-rest)}.chip-filter--selected:hover{background-color:var(--color-feedback-select-background-rest);border-color:var(--color-feedback-select-text-rest);filter:brightness(0.95)}.chip-filter--selected:active{background-color:var(--color-feedback-select-background-rest);border-color:var(--color-feedback-select-text-rest);filter:brightness(0.9)}.chip-filter--selected:focus-visible{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset)}@media (prefers-contrast:high){.chip-filter--selected{border:var(--border-emphasis) solid currentColor;background-color:Highlight;color:HighlightText}}@media (prefers-reduced-motion:reduce){.chip-filter--selected{transition:none;filter:none}.chip-filter--selected:hover,.chip-filter--selected:active{filter:none}}";var rn=[...Le,"selected"],ce=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._chipEl=null;this._labelEl=null;this._iconContainer=null;this._iconEl=null;this._hoverColor="";this._pressedColor="";this._onPress=null;this._onSelectionChange=null;this._handleClick=e=>{let t=!this.selected;this.selected=t,this._onSelectionChange&&this._onSelectionChange(t),this._onPress&&this._onPress(),this.dispatchEvent(new CustomEvent("selectionchange",{bubbles:!0,composed:!0,detail:{selected:t}})),this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0}))};this._handleKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._handleClick(e))};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return rn}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._calculateBlendColorsWithRetry(),this._render()},{once:!0}):(this._calculateBlendColorsWithRetry(),this._render())}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this._render()}catch(t){console.warn("ChipFilter: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-structure-surface").trim();if(!t)throw new Error("ChipFilter: Required token --color-structure-surface is missing from CSS custom properties");this._hoverColor=this._blendUtils.hoverColor(t),this._pressedColor=this._blendUtils.pressedColor(t)}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._domCreated&&this._updateDOM()}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get icon(){return this.getAttribute("icon")}set icon(e){e?this.setAttribute("icon",e):this.removeAttribute("icon")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}get selected(){return this.hasAttribute("selected")}set selected(e){e?this.setAttribute("selected",""):this.removeAttribute("selected")}get onPress(){return this._onPress}set onPress(e){this._onPress=e}get onSelectionChange(){return this._onSelectionChange}set onSelectionChange(e){this._onSelectionChange=e}_render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){var u;let e=this.label,t=this.icon,r=this.testID,s=this.selected,o=T.size075,a=r?` data-testid="${r}"`:"",l=`
|
|
529
|
+
--_chip-hover-bg: ${this._hoverColor};
|
|
530
|
+
--_chip-pressed-bg: ${this._pressedColor};
|
|
531
|
+
`,c=s?"check":t,d=s||t,h=s?" chip-filter--selected":"";this._shadowRoot.innerHTML=`
|
|
532
|
+
<style>${Ve}${wi}</style>
|
|
533
|
+
<div
|
|
534
|
+
class="chip-base chip-filter${h}"
|
|
535
|
+
role="button"
|
|
536
|
+
tabindex="0"
|
|
537
|
+
${a}
|
|
538
|
+
aria-label="${e}"
|
|
539
|
+
aria-pressed="${s}"
|
|
540
|
+
style="${l}"
|
|
541
|
+
>
|
|
542
|
+
<span class="chip-base__icon" aria-hidden="true" style="${d?"":"display: none;"}">
|
|
543
|
+
<icon-base name="${c||""}" size="${o}" color="inherit"></icon-base>
|
|
544
|
+
</span>
|
|
545
|
+
<span class="chip-base__label">${e}</span>
|
|
546
|
+
</div>
|
|
547
|
+
`,this._chipEl=this._shadowRoot.querySelector(".chip-filter"),this._labelEl=this._shadowRoot.querySelector(".chip-base__label"),this._iconContainer=this._shadowRoot.querySelector(".chip-base__icon"),this._iconEl=((u=this._iconContainer)==null?void 0:u.querySelector("icon-base"))||null}_updateDOM(){if(!this._chipEl||!this._labelEl)return;let e=this.label,t=this.icon,r=this.testID,s=this.selected,o=T.size075;this._chipEl.setAttribute("aria-label",e),this._chipEl.setAttribute("aria-pressed",String(s)),r?this._chipEl.setAttribute("data-testid",r):this._chipEl.removeAttribute("data-testid"),this._chipEl.style.setProperty("--_chip-hover-bg",this._hoverColor),this._chipEl.style.setProperty("--_chip-pressed-bg",this._pressedColor),s?this._chipEl.classList.add("chip-filter--selected"):this._chipEl.classList.remove("chip-filter--selected"),this._labelEl.textContent=e;let a=s?"check":t,l=s||t;this._iconContainer&&this._iconEl&&(l?(this._iconContainer.style.display="",this._iconEl.setAttribute("name",a||""),this._iconEl.setAttribute("size",String(o))):this._iconContainer.style.display="none")}_attachEventListeners(){this._chipEl&&(this._chipEl.addEventListener("click",this._handleClick),this._chipEl.addEventListener("keydown",this._handleKeyDown))}_detachEventListeners(){this._chipEl&&(this._chipEl.removeEventListener("click",this._handleClick),this._chipEl.removeEventListener("keydown",this._handleKeyDown))}};customElements.get("chip-filter")||customElements.define("chip-filter",ce);var Ai=".chip-input__trailing-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;pointer-events:none}.chip-input__dismiss-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast:high){.chip-input__trailing-icon{color:currentColor}}@media print{.chip-input__trailing-icon{display:none}}";var nn=Le,de=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._chipEl=null;this._labelEl=null;this._leadingIconContainer=null;this._leadingIconEl=null;this._trailingIconContainer=null;this._dismissLabelEl=null;this._hoverColor="";this._pressedColor="";this._onDismiss=null;this._handleClick=e=>{this._onDismiss&&this._onDismiss(),this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))};this._handleKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._handleClick(e))};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return nn}connectedCallback(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this._calculateBlendColorsWithRetry(),this._render()},{once:!0}):(this._calculateBlendColorsWithRetry(),this._render())}_calculateBlendColorsWithRetry(){try{this._calculateBlendColors()}catch(e){requestAnimationFrame(()=>{try{this._calculateBlendColors(),this._render()}catch(t){console.warn("ChipInput: Could not calculate blend colors, using CSS fallbacks",t)}})}}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-structure-surface").trim();if(!t)throw new Error("ChipInput: Required token --color-structure-surface is missing from CSS custom properties");this._hoverColor=this._blendUtils.hoverColor(t),this._pressedColor=this._blendUtils.pressedColor(t)}disconnectedCallback(){this._detachEventListeners()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._domCreated&&this._updateDOM()}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get icon(){return this.getAttribute("icon")}set icon(e){e?this.setAttribute("icon",e):this.removeAttribute("icon")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}get onDismiss(){return this._onDismiss}set onDismiss(e){this._onDismiss=e}_render(){this._domCreated?this._updateDOM():(this._createDOM(),this._domCreated=!0,this._attachEventListeners())}_createDOM(){var c;let e=this.label,t=this.icon,r=this.testID,s=T.size075,o=r?` data-testid="${r}"`:"",a=`
|
|
548
|
+
--_chip-hover-bg: ${this._hoverColor};
|
|
549
|
+
--_chip-pressed-bg: ${this._pressedColor};
|
|
550
|
+
`,l=`Remove ${e}`;this._shadowRoot.innerHTML=`
|
|
551
|
+
<style>${Ve}${Ai}</style>
|
|
552
|
+
<div
|
|
553
|
+
class="chip-base chip-input"
|
|
554
|
+
role="button"
|
|
555
|
+
tabindex="0"
|
|
556
|
+
${o}
|
|
557
|
+
aria-label="${l}"
|
|
558
|
+
style="${a}"
|
|
559
|
+
>
|
|
560
|
+
<span class="chip-base__icon" aria-hidden="true" style="${t?"":"display: none;"}">
|
|
561
|
+
<icon-base name="${t||""}" size="${s}" color="inherit"></icon-base>
|
|
562
|
+
</span>
|
|
563
|
+
<span class="chip-base__label">${e}</span>
|
|
564
|
+
<span class="chip-input__trailing-icon" aria-hidden="true">
|
|
565
|
+
<icon-base name="x" size="${s}" color="inherit"></icon-base>
|
|
566
|
+
</span>
|
|
567
|
+
<span class="chip-input__dismiss-label">${l}</span>
|
|
568
|
+
</div>
|
|
569
|
+
`,this._chipEl=this._shadowRoot.querySelector(".chip-input"),this._labelEl=this._shadowRoot.querySelector(".chip-base__label"),this._leadingIconContainer=this._shadowRoot.querySelector(".chip-base__icon"),this._leadingIconEl=((c=this._leadingIconContainer)==null?void 0:c.querySelector("icon-base"))||null,this._trailingIconContainer=this._shadowRoot.querySelector(".chip-input__trailing-icon"),this._dismissLabelEl=this._shadowRoot.querySelector(".chip-input__dismiss-label")}_updateDOM(){if(!this._chipEl||!this._labelEl)return;let e=this.label,t=this.icon,r=this.testID,s=T.size075,o=`Remove ${e}`;this._chipEl.setAttribute("aria-label",o),r?this._chipEl.setAttribute("data-testid",r):this._chipEl.removeAttribute("data-testid"),this._chipEl.style.setProperty("--_chip-hover-bg",this._hoverColor),this._chipEl.style.setProperty("--_chip-pressed-bg",this._pressedColor),this._labelEl.textContent=e,this._leadingIconContainer&&this._leadingIconEl&&(t?(this._leadingIconContainer.style.display="",this._leadingIconEl.setAttribute("name",t),this._leadingIconEl.setAttribute("size",String(s))):this._leadingIconContainer.style.display="none"),this._dismissLabelEl&&(this._dismissLabelEl.textContent=o)}_attachEventListeners(){this._chipEl&&(this._chipEl.addEventListener("click",this._handleClick),this._chipEl.addEventListener("keydown",this._handleKeyDown))}_detachEventListeners(){this._chipEl&&(this._chipEl.removeEventListener("click",this._handleClick),this._chipEl.removeEventListener("keydown",this._handleKeyDown))}};customElements.get("chip-input")||customElements.define("chip-input",de);var _t={"surface.primary":"color.structure.surface.primary","surface.secondary":"color.structure.surface.secondary","surface.tertiary":"color.structure.surface.tertiary"},Ti={none:"",container:"shadow.container"};var Ii={"border.default":"color.structure.border","border.subtle":"color.structure.border.subtle"};var sn=`
|
|
570
|
+
:host {
|
|
571
|
+
display: block;
|
|
572
|
+
box-sizing: border-box;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
.card-interaction-wrapper {
|
|
576
|
+
display: block;
|
|
577
|
+
width: 100%;
|
|
578
|
+
transition: background-color var(--motion-focus-transition-duration, 150ms) var(--motion-focus-transition-easing, ease-out);
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
/* Interactive hover state */
|
|
582
|
+
.card-interaction-wrapper--interactive:hover {
|
|
583
|
+
background-color: var(--_card-hover-bg, inherit);
|
|
584
|
+
cursor: pointer;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
/* Interactive press/active state */
|
|
588
|
+
.card-interaction-wrapper--interactive:active {
|
|
589
|
+
background-color: var(--_card-pressed-bg, inherit);
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
/* Focus styles for keyboard navigation */
|
|
593
|
+
.card-interaction-wrapper--interactive:focus {
|
|
594
|
+
outline: var(--accessibility-focus-width) solid var(--accessibility-focus-color);
|
|
595
|
+
outline-offset: var(--accessibility-focus-offset);
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
.card-interaction-wrapper--interactive:focus:not(:focus-visible) {
|
|
599
|
+
outline: none;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
.card-interaction-wrapper--interactive:focus-visible {
|
|
603
|
+
outline: var(--accessibility-focus-width) solid var(--accessibility-focus-color);
|
|
604
|
+
outline-offset: var(--accessibility-focus-offset);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/* Reduced motion support */
|
|
608
|
+
@media (prefers-reduced-motion: reduce) {
|
|
609
|
+
.card-interaction-wrapper {
|
|
610
|
+
transition: none !important;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
/* High contrast mode \u2014 applied to composed container-base via CSS custom property inheritance */
|
|
615
|
+
@media (prefers-contrast: high) {
|
|
616
|
+
container-base {
|
|
617
|
+
--_card-high-contrast-border: var(--border-emphasis);
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
/* Print styles */
|
|
622
|
+
@media print {
|
|
623
|
+
container-base {
|
|
624
|
+
--_card-print-shadow: none;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
`,De=class De extends HTMLElement{constructor(){super();this._hoverColor="";this._pressedColor="";this._onPressCallback=null;this._handleKeyDown=e=>{if(this.getAttribute("interactive")!=="true")return;let t=this.getAttribute("role")||"button";e.key==="Enter"?(e.preventDefault(),this._triggerOnPress()):e.key===" "&&t==="button"&&(e.preventDefault(),this._triggerOnPress())};this._handleClick=()=>{this.getAttribute("interactive")==="true"&&this._triggerOnPress()};this._shadowRoot=this.attachShadow({mode:"open"}),this._blendUtils=E()}static get observedAttributes(){return["padding","padding-vertical","padding-horizontal","padding-block-start","padding-block-end","padding-inline-start","padding-inline-end","background","shadow","border","border-color","border-radius","semantic","accessibility-label","interactive","role","data-testid"]}connectedCallback(){this._calculateBlendColors(),this._setupInteractivity(),this.render()}disconnectedCallback(){this._removeInteractivity()}_calculateBlendColors(){let e=getComputedStyle(document.documentElement),t=this.getAttribute("background"),r="";if(t){let s=_t[t];if(s){let o=`--${s.replace(/\./g,"-")}`;r=e.getPropertyValue(o).trim()}}if(r||(r=e.getPropertyValue("--color-structure-surface-primary").trim()),r||(r=e.getPropertyValue("--color-structure-surface").trim()),!r){this._hoverColor="",this._pressedColor="";return}this._hoverColor=this._blendUtils.hoverColor(r),this._pressedColor=this._blendUtils.pressedColor(r)}_setupInteractivity(){this.getAttribute("interactive")==="true"&&(this.addEventListener("keydown",this._handleKeyDown),this.addEventListener("click",this._handleClick))}_removeInteractivity(){this.removeEventListener("keydown",this._handleKeyDown),this.removeEventListener("click",this._handleClick)}_triggerOnPress(){this._onPressCallback&&this._onPressCallback(),this.dispatchEvent(new CustomEvent("press",{bubbles:!0,composed:!0}))}set onPress(e){this._onPressCallback=e}get onPress(){return this._onPressCallback}attributeChangedCallback(e,t,r){t!==r&&(e==="background"&&this._calculateBlendColors(),e==="interactive"&&(this._removeInteractivity(),this._setupInteractivity()),this.render())}_buildBaseAttributes(){var g,f,b,C,k,_,S;let e=De.DEFAULTS,t=[],r=(g=this.getAttribute("padding"))!=null?g:e.padding;r!=="none"&&t.push(`padding="${r}"`);let s=[["padding-vertical","padding-vertical"],["padding-horizontal","padding-horizontal"],["padding-block-start","padding-block-start"],["padding-block-end","padding-block-end"],["padding-inline-start","padding-inline-start"],["padding-inline-end","padding-inline-end"]];for(let[x,A]of s){let w=this.getAttribute(x);w&&w!=="none"&&t.push(`${A}="${w}"`)}let o=(f=this.getAttribute("border"))!=null?f:e.border;o!=="none"&&t.push(`border="${o}"`);let a=(b=this.getAttribute("border-radius"))!=null?b:e.borderRadius;t.push(`border-radius="${a}"`);let c=this.getAttribute("interactive")==="true"?"div":(C=this.getAttribute("semantic"))!=null?C:e.semantic;t.push(`semantic="${c}"`);let d=this.getAttribute("accessibility-label");d&&t.push(`accessibility-label="${d.replace(/"/g,""")}"`);let h=(k=this.getAttribute("background"))!=null?k:e.background,u=_t[h];u&&t.push(`background="${u}"`);let m=(_=this.getAttribute("shadow"))!=null?_:e.shadow;if(m!=="none"){let x=Ti[m];x&&t.push(`shadow="${x}"`)}if(o!=="none"){let x=(S=this.getAttribute("border-color"))!=null?S:e.borderColor,A=Ii[x];A&&t.push(`border-color="${A}"`)}return t.join(" ")}render(){let e=this.getAttribute("interactive")==="true",t=this.getAttribute("role"),r=t!==null?t:De.DEFAULTS.role,s=this.getAttribute("data-testid"),o=["card-interaction-wrapper"];e&&o.push("card-interaction-wrapper--interactive");let a=[];e&&(a.push(`role="${r}"`),a.push('tabindex="0"')),s&&a.push(`data-testid="${s.replace(/"/g,""")}"`);let l=e?`--_card-hover-bg: ${this._hoverColor}; --_card-pressed-bg: ${this._pressedColor};`:"",c=this._buildBaseAttributes();this._shadowRoot.innerHTML=`
|
|
628
|
+
<style>${sn}</style>
|
|
629
|
+
<div class="${o.join(" ")}" ${a.join(" ")} style="${l}">
|
|
630
|
+
<container-base ${c}>
|
|
631
|
+
<slot></slot>
|
|
632
|
+
</container-base>
|
|
633
|
+
</div>
|
|
634
|
+
`}};De.DEFAULTS={padding:"150",background:"surface.primary",shadow:"container",border:"none",borderColor:"border.default",borderRadius:"normal",semantic:"div",role:"button"};var K=De;customElements.get("container-card-base")||customElements.define("container-card-base",K);var zi=["selected","label","value","name","size","label-align","helper-text","error-message","test-id"],yt={selected:!1,size:"md",labelAlign:"center"};var Ri=":host{display:inline-block}.radio-container{display:flex;flex-direction:column;gap:var(--space-grouped-tight)}.radio{display:inline-flex;align-items:center;position:relative}.radio__touch-target{display:inline-flex;align-items:center;cursor:pointer;user-select:none;min-height:var(--tap-area-recommended);box-sizing:border-box}.radio--align-center{align-items:center}.radio--align-center .radio__touch-target{align-items:center}.radio--align-top{align-items:flex-start}.radio--align-top .radio__touch-target{align-items:flex-start}.radio--sm .radio__touch-target{gap:var(--space-grouped-normal)}.radio--sm .radio__circle{width:calc(var(--icon-size-050)+var(--space-inset-050) * 2);height:calc(var(--icon-size-050)+var(--space-inset-050) * 2)}.radio--sm .radio__dot{width:var(--icon-size-050);height:var(--icon-size-050)}.radio--sm .radio__label{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);font-weight:var(--typography-label-sm-font-weight);line-height:var(--typography-label-sm-line-height);letter-spacing:var(--typography-label-sm-letter-spacing)}.radio--md .radio__touch-target{gap:var(--space-grouped-normal)}.radio--md .radio__circle{width:calc(var(--icon-size-075)+var(--space-inset-075) * 2);height:calc(var(--icon-size-075)+var(--space-inset-075) * 2)}.radio--md .radio__dot{width:var(--icon-size-075);height:var(--icon-size-075)}.radio--md .radio__label{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing)}.radio--lg .radio__touch-target{gap:var(--space-grouped-loose)}.radio--lg .radio__circle{width:calc(var(--icon-size-100)+var(--space-inset-100) * 2);height:calc(var(--icon-size-100)+var(--space-inset-100) * 2)}.radio--lg .radio__dot{width:var(--icon-size-100);height:var(--icon-size-100)}.radio--lg .radio__label{font-family:var(--typography-label-lg-font-family);font-size:var(--typography-label-lg-font-size);font-weight:var(--typography-label-lg-font-weight);line-height:var(--typography-label-lg-line-height);letter-spacing:var(--typography-label-lg-letter-spacing)}.radio__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio__circle{flex-shrink:0;display:flex;align-items:center;justify-content:center;border:var(--border-emphasis) solid var(--color-feedback-select-border-default);border-radius:var(--radius-full);background-color:transparent;transition:border-color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing);box-sizing:border-box}.radio__dot{border-radius:var(--radius-full);background-color:var(--color-feedback-select-background-rest);transform:scale(0);transition:transform var(--motion-selection-transition-duration) var(--motion-selection-transition-easing)}.radio--selected .radio__circle{border-color:var(--color-feedback-select-border-rest)}.radio--selected .radio__dot{transform:scale(1)}.radio--error .radio__circle{border-color:var(--color-feedback-error-border)}.radio__touch-target:hover .radio__circle{border-color:var(--_radio-hover-border,var(--color-feedback-select-border-rest))}.radio--selected .radio__touch-target:hover .radio__circle{border-color:var(--color-feedback-select-border-rest)}.radio__input:focus-visible~.radio__touch-target .radio__circle{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset)}.radio__content{display:flex;flex-direction:column;min-width:0}.radio__label{color:var(--color-text-default)}.radio__helper{display:block;margin-block-start:var(--space-grouped-minimal);margin-block-end:0;margin-inline:0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-text-muted)}.radio__error{display:block;margin-block-start:var(--space-grouped-minimal);margin-block-end:0;margin-inline:0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-feedback-error-text)}@media (prefers-contrast:high){.radio__circle{border:var(--border-emphasis) solid currentColor}.radio__input:focus-visible~.radio__touch-target .radio__circle{outline-width:var(--border-heavy)}}@media (prefers-reduced-motion:reduce){.radio__circle,.radio__dot{transition:none}}@media print{.radio__circle{background-color:transparent !important;border-color:var(--color-print-default) !important}.radio__dot{background-color:var(--color-print-default) !important}.radio__label{color:var(--color-print-default) !important}}";var on=0,Z=class extends HTMLElement{constructor(){super();this._input=null;this._form=null;this.onSelect=null;this._hoverBorderColor="";this._onFormReset=()=>{this.selected=!1,this._input&&(this._input.checked=!1),this._updateFormValue()};this._onInputChange=()=>{var t;if(!this._input)return;let e=this._input.checked;e?this.setAttribute("selected",""):this.removeAttribute("selected"),this._updateFormValue(),e&&((t=this.onSelect)==null||t.call(this,this.value)),this.dispatchEvent(new CustomEvent("select",{detail:{value:this.value,selected:e},bubbles:!0,composed:!0}))};this._shadowRoot=this.attachShadow({mode:"open"}),this._generatedId=`radio-${++on}`,this._internals=this.attachInternals(),this._blendUtils=E()}static get observedAttributes(){return[...zi]}connectedCallback(){this._calculateBlendColors(),this._attachToForm(),this.render(),this._attachListeners(),this._updateFormValue()}disconnectedCallback(){this._detachListeners(),this._detachFromForm()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&(this.render(),this._attachListeners(),(e==="selected"||e==="value"||e==="name")&&this._updateFormValue())}get selected(){return this.hasAttribute("selected")}set selected(e){e?this.setAttribute("selected",""):this.removeAttribute("selected")}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e)}get value(){return this.getAttribute("value")||""}set value(e){this.setAttribute("value",e)}get name(){return this.getAttribute("name")}set name(e){e?this.setAttribute("name",e):this.removeAttribute("name")}get size(){let e=this.getAttribute("size");return e==="sm"||e==="md"||e==="lg"?e:yt.size}set size(e){this.setAttribute("size",e)}get labelAlign(){let e=this.getAttribute("label-align");return e==="center"||e==="top"?e:yt.labelAlign}set labelAlign(e){this.setAttribute("label-align",e)}get helperText(){return this.getAttribute("helper-text")}set helperText(e){e?this.setAttribute("helper-text",e):this.removeAttribute("helper-text")}get errorMessage(){return this.getAttribute("error-message")}set errorMessage(e){e?this.setAttribute("error-message",e):this.removeAttribute("error-message")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}_calculateBlendColors(){let t=getComputedStyle(document.documentElement).getPropertyValue("--color-feedback-select-border-default").trim();t&&(this._hoverBorderColor=this._blendUtils.hoverColor(t))}_updateFormValue(){var s;if(typeof((s=this._internals)==null?void 0:s.setFormValue)!="function")return;let e=this.name,t=this.value,r=this.selected;e&&r?this._internals.setFormValue(t):this._internals.setFormValue(null)}_attachToForm(){this._form=this.closest("form"),this._form&&this._form.addEventListener("reset",this._onFormReset)}_detachFromForm(){this._form&&(this._form.removeEventListener("reset",this._onFormReset),this._form=null)}render(){let e=this.getAttribute("id")||this._generatedId,t=`${e}-input`,r=`${e}-helper`,s=`${e}-error`,o=this.label,a=this.size,l=this.labelAlign,c=this.selected,d=this.helperText,h=this.errorMessage,u=!!h,m=this.testID,g=this.name,f=this.value,b=["radio",`radio--${a}`,l==="top"?"radio--align-top":"",c?"radio--selected":"",u?"radio--error":""].filter(Boolean).join(" "),C=m?` data-testid="${m}"`:"",k=[];h&&k.push(s),d&&k.push(r);let _=k.length>0?` aria-describedby="${k.join(" ")}"`:"",S=d?`<span class="radio__helper" id="${r}">${d}</span>`:"",x=h?`<span class="radio__error" id="${s}" role="alert">${h}</span>`:"",A=g?` name="${g}"`:"",w=`${e}-label`;this._shadowRoot.innerHTML=`
|
|
635
|
+
<style>${Ri}</style>
|
|
636
|
+
<div class="radio-container">
|
|
637
|
+
<div class="${b}"${C}>
|
|
638
|
+
<input
|
|
639
|
+
type="radio"
|
|
640
|
+
class="radio__input"
|
|
641
|
+
id="${t}"${A}
|
|
642
|
+
value="${f}"
|
|
643
|
+
aria-labelledby="${w}"
|
|
644
|
+
${c?"checked":""}
|
|
645
|
+
aria-checked="${c}"
|
|
646
|
+
${u?'aria-invalid="true"':""}${_}
|
|
647
|
+
/>
|
|
648
|
+
<label for="${t}" class="radio__touch-target">
|
|
649
|
+
<span class="radio__circle">
|
|
650
|
+
<span class="radio__dot"></span>
|
|
651
|
+
</span>
|
|
652
|
+
<span class="radio__content">
|
|
653
|
+
<span class="radio__label" id="${w}">${o}</span>
|
|
654
|
+
</span>
|
|
655
|
+
</label>
|
|
656
|
+
</div>
|
|
657
|
+
${S}
|
|
658
|
+
${x}
|
|
659
|
+
</div>
|
|
660
|
+
`,this._input=this._shadowRoot.querySelector(".radio__input"),this._input&&(this._input.checked=c);let I=this._shadowRoot.querySelector(".radio");I&&this._hoverBorderColor&&I.style.setProperty("--_radio-hover-border",this._hoverBorderColor)}_attachListeners(){var e;(e=this._input)==null||e.addEventListener("change",this._onInputChange)}_detachListeners(){var e;(e=this._input)==null||e.removeEventListener("change",this._onInputChange)}};Z.formAssociated=!0;customElements.get("input-radio-base")||customElements.define("input-radio-base",Z);var Bi=["selected-value","required","error","error-message","size","test-id"],xt={selectedValue:null,required:!1,error:!1,size:"md"};var Li=":host{display:block}.radio-set{display:flex;flex-direction:column;gap:var(--space-grouped-normal)}.radio-set__error{display:none;margin-block:0;margin-inline:0;padding:0;font-family:var(--typography-caption-font-family);font-size:var(--typography-caption-font-size);line-height:var(--typography-caption-line-height);font-weight:var(--typography-caption-font-weight);letter-spacing:var(--typography-caption-letter-spacing);color:var(--color-feedback-error-text)}.radio-set--error .radio-set__error{display:block}@media (prefers-reduced-motion:reduce){.radio-set{transition:none}}@media print{.radio-set__error{color:var(--color-print-default) !important}}";var an=0,ue=class extends HTMLElement{constructor(){super();this._container=null;this._errorMessageEl=null;this.onSelectionChange=null;this._focusedIndex=0;this._onChildSelect=this._handleChildSelect.bind(this);this._handleKeyDown=e=>{let t=this._getChildRadios(),r=t.length;if(r===0)return;let s=this._processKeyboardNavigation(e,r);s.handled&&(e.preventDefault(),s.newFocusIndex!==this._focusedIndex&&this._moveFocusToIndex(s.newFocusIndex,t),s.shouldSelect&&this._selectRadioAtIndex(this._focusedIndex,t))};this._handleFocusIn=e=>{let r=e.target.closest("input-radio-base");if(!r)return;let s=this._getChildRadios(),o=s.indexOf(r);o!==-1&&o!==this._focusedIndex&&(this._focusedIndex=o,this._updateTabIndices(s,o))};this._shadowRoot=this.attachShadow({mode:"open",delegatesFocus:!0}),this._errorMessageId=`radio-set-error-${++an}`}static get observedAttributes(){return[...Bi]}connectedCallback(){this._createDOM(),this.addEventListener("select",this._onChildSelect),this.addEventListener("keydown",this._handleKeyDown),this.addEventListener("focusin",this._handleFocusIn),this._syncChildrenSelection(),this._initializeTabIndices()}disconnectedCallback(){this.removeEventListener("select",this._onChildSelect),this.removeEventListener("keydown",this._handleKeyDown),this.removeEventListener("focusin",this._handleFocusIn)}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&(this._updateDOM(),(e==="selected-value"||e==="size")&&this._syncChildrenSelection(),e==="selected-value"&&this._initializeTabIndices())}get selectedValue(){var e;return(e=this.getAttribute("selected-value"))!=null?e:xt.selectedValue}set selectedValue(e){e!==null?this.setAttribute("selected-value",e):this.removeAttribute("selected-value")}get required(){return this.hasAttribute("required")}set required(e){e?this.setAttribute("required",""):this.removeAttribute("required")}get error(){return this.hasAttribute("error")}set error(e){e?this.setAttribute("error",""):this.removeAttribute("error")}get errorMessage(){return this.getAttribute("error-message")}set errorMessage(e){e?this.setAttribute("error-message",e):this.removeAttribute("error-message")}get size(){let e=this.getAttribute("size");return e==="sm"||e==="md"||e==="lg"?e:xt.size}set size(e){this.setAttribute("size",e)}get testID(){return this.getAttribute("test-id")}validate(){return this.required&&(this.selectedValue===null||this.selectedValue==="")?(this.error=!0,this.errorMessage||(this.errorMessage="Please select an option"),!1):(this.error=!1,!0)}checkValidity(){return!(this.required&&(this.selectedValue===null||this.selectedValue===""))}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}_createDOM(){let e=this.testID,t=e?` data-testid="${e}"`:"";this._shadowRoot.innerHTML=`
|
|
661
|
+
<style>${Li}</style>
|
|
662
|
+
<div
|
|
663
|
+
class="radio-set"
|
|
664
|
+
role="radiogroup"${t}
|
|
665
|
+
>
|
|
666
|
+
<div
|
|
667
|
+
class="radio-set__error"
|
|
668
|
+
id="${this._errorMessageId}"
|
|
669
|
+
role="alert"
|
|
670
|
+
></div>
|
|
671
|
+
<slot></slot>
|
|
672
|
+
</div>
|
|
673
|
+
`,this._container=this._shadowRoot.querySelector(".radio-set"),this._errorMessageEl=this._shadowRoot.querySelector(".radio-set__error"),this._updateDOM()}_updateDOM(){if(!this._container||!this._errorMessageEl)return;let e=this.error,t=this.errorMessage,r=this.testID;e&&t?this._container.classList.add("radio-set--error"):this._container.classList.remove("radio-set--error"),this._errorMessageEl.textContent=e&&t?t:"",e&&t?this._container.setAttribute("aria-describedby",this._errorMessageId):this._container.removeAttribute("aria-describedby"),r?this._container.setAttribute("data-testid",r):this._container.removeAttribute("data-testid")}_getChildRadios(){return Array.from(this.querySelectorAll("input-radio-base"))}_handleChildSelect(e){var s,o;let r=(s=e.detail)==null?void 0:s.value;if(r!=null){if(r===this.selectedValue){this._syncChildrenSelection();return}this.selectedValue=r,this._syncChildrenSelection(),(o=this.onSelectionChange)==null||o.call(this,r),this.dispatchEvent(new CustomEvent("change",{detail:{value:r},bubbles:!0,composed:!0}))}}_syncChildrenSelection(){let e=this.selectedValue,t=this.getAttribute("size"),r=this._getChildRadios();for(let s of r)s.getAttribute("value")===e&&e!==null?s.setAttribute("selected",""):s.removeAttribute("selected"),t&&s.setAttribute("size",t)}_initializeTabIndices(){let e=this._getChildRadios();if(e.length===0)return;let t=this.selectedValue,r=-1;t!==null&&(r=e.findIndex(s=>s.getAttribute("value")===t)),this._focusedIndex=r>=0?r:0,this._updateTabIndices(e,this._focusedIndex)}_updateTabIndices(e,t){e.forEach((r,s)=>{s===t?r.setAttribute("tabindex","0"):r.setAttribute("tabindex","-1")})}_processKeyboardNavigation(e,t){let r=this._focusedIndex;switch(e.key){case"ArrowDown":case"ArrowRight":return{newFocusIndex:(r+1)%t,shouldSelect:!1,handled:!0};case"ArrowUp":case"ArrowLeft":return{newFocusIndex:(r-1+t)%t,shouldSelect:!1,handled:!0};case"Home":return{newFocusIndex:0,shouldSelect:!1,handled:!0};case"End":return{newFocusIndex:t-1,shouldSelect:!1,handled:!0};case" ":return{newFocusIndex:r,shouldSelect:!0,handled:!0};default:return{newFocusIndex:r,shouldSelect:!1,handled:!1}}}_moveFocusToIndex(e,t){let r=t||this._getChildRadios();if(r.length===0||e<0||e>=r.length)return;this._focusedIndex=e,this._updateTabIndices(r,e);let s=r[e];s&&s.focus()}_selectRadioAtIndex(e,t){var a;let r=t||this._getChildRadios();if(e<0||e>=r.length)return;let o=r[e].getAttribute("value");o!==null&&o!==this.selectedValue&&(this.selectedValue=o,this._syncChildrenSelection(),(a=this.onSelectionChange)==null||a.call(this,o),this.dispatchEvent(new CustomEvent("change",{detail:{value:o},bubbles:!0,composed:!0})))}};customElements.get("input-radio-set")||customElements.define("input-radio-set",ue);var kt={size:"md",content:"none"};var Vi=':host{display:inline-flex;align-items:center;justify-content:center}.node{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;transition:width var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),height var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),background-color var(--motion-selection-transition-duration) var(--motion-selection-transition-easing)}.node--incomplete{background-color:var(--color-progress-pending-background);color:var(--color-progress-pending-text)}.node--current{background-color:var(--color-progress-current-background);color:var(--color-progress-current-text)}.node--completed{background-color:var(--color-progress-completed-background);color:var(--color-progress-completed-text)}.node--error{background-color:var(--color-progress-error-background);color:var(--color-progress-error-text)}.node--sm{width:var(--progress-node-size-sm);height:var(--progress-node-size-sm)}.node--md{width:var(--progress-node-size-md);height:var(--progress-node-size-md)}.node--lg{width:var(--progress-node-size-lg);height:var(--progress-node-size-lg)}.node--sm.node--current{width:var(--progress-node-size-sm-current);height:var(--progress-node-size-sm-current)}.node--md.node--current{width:var(--progress-node-size-md-current);height:var(--progress-node-size-md-current)}.node--lg.node--current{width:var(--progress-node-size-lg-current);height:var(--progress-node-size-lg-current)}:host([sizing="scale"]) .node{transition:transform var(--motion-selection-transition-duration) var(--motion-selection-transition-easing),background-color var(--motion-settle-transition-duration) var(--motion-settle-transition-easing)}:host([sizing="scale"]) .node--sm{width:var(--progress-node-size-sm-current);height:var(--progress-node-size-sm-current);transform:scale(0.75)}:host([sizing="scale"]) .node--sm.node--current{transform:scale(1.0)}:host([sizing="scale"]) .node--md{width:var(--progress-node-size-md-current);height:var(--progress-node-size-md-current);transform:scale(0.80)}:host([sizing="scale"]) .node--md.node--current{transform:scale(1.0)}:host([sizing="scale"]) .node--lg{width:var(--progress-node-size-lg-current);height:var(--progress-node-size-lg-current);transform:scale(0.833)}:host([sizing="scale"]) .node--lg.node--current{transform:scale(1.0)}.node__dot{width:50%;height:50%;border-radius:50%;background-color:currentColor}.node__content{display:inline-flex;align-items:center;justify-content:center;color:inherit;line-height:0}.node__content svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:reduce){.node{transition:none}}@media (prefers-contrast:high){.node{border:1px solid currentColor}}';var ln='<svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"></polyline></svg>',he=class extends HTMLElement{constructor(){super();this._node=null;this._initialized=!1;this._shadowRoot=this.attachShadow({mode:"open"})}static get observedAttributes(){return["state","size","content","icon","test-id","sizing"]}connectedCallback(){this._initialized||(this._setup(),this._initialized=!0),this._render()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._render()}get state(){let e=this.getAttribute("state");return["incomplete","current","completed","error"].includes(e)?e:"incomplete"}set state(e){this.setAttribute("state",e)}get size(){let e=this.getAttribute("size");return e==="sm"||e==="md"||e==="lg"?e:kt.size}set size(e){this.setAttribute("size",e)}get content(){let e=this.getAttribute("content");return["none","checkmark","icon"].includes(e)?e:kt.content}set content(e){this.setAttribute("content",e)}get icon(){return this.getAttribute("icon")}set icon(e){e?this.setAttribute("icon",e):this.removeAttribute("icon")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}_setup(){let e=document.createElement("style");e.textContent=Vi,this._shadowRoot.appendChild(e),this._node=document.createElement("span"),this._node.setAttribute("role","presentation"),this._node.setAttribute("aria-hidden","true"),this._shadowRoot.appendChild(this._node)}_render(){if(!this._node)return;let e=this.state,t=this.size,r=this.content,s=this.icon,o=this.testID,a=t==="sm"?"none":r;this._node.className=`node node--${e} node--${t}`,o?this._node.setAttribute("data-testid",this.escapeHtml(o)):this._node.removeAttribute("data-testid");let l="";t==="sm"?l='<span class="node__dot"></span>':a==="checkmark"?l=`<span class="node__content">${ln}</span>`:a==="icon"&&s&&(l=`<span class="node__content"><icon-base name="${this.escapeHtml(s)}" size="${t==="md"?13:20}" color="inherit"></icon-base></span>`),this._node.innerHTML=l}escapeHtml(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,r=>t[r])}};customElements.get("progress-indicator-node-base")||customElements.define("progress-indicator-node-base",he);var $i={state:"inactive"};var Pi=":host{display:flex;align-items:center;flex:1;min-inline-size:0}.connector{inline-size:100%;block-size:var(--progress-connector-thickness)}.connector--active{background-color:var(--color-progress-completed-connector)}.connector--inactive{background-color:var(--color-progress-pending-connector)}";var pe=class extends HTMLElement{static get observedAttributes(){return["state","test-id"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get state(){let i=this.getAttribute("state");return i==="active"||i==="inactive"?i:$i.state}set state(i){this.setAttribute("state",i)}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}render(){let i=this.state,e=this.testID,t=["connector",`connector--${i}`].join(" "),r=e?` data-testid="${this.escapeHtml(e)}"`:"";this._shadowRoot.innerHTML=`
|
|
674
|
+
<style>
|
|
675
|
+
${Pi}
|
|
676
|
+
</style>
|
|
677
|
+
<span class="${t}"${r} role="presentation" aria-hidden="true"></span>
|
|
678
|
+
`}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}};customElements.get("progress-indicator-connector-base")||customElements.define("progress-indicator-connector-base",pe);var Mi=":host{display:flex;flex-direction:column;align-items:center;text-align:center;max-inline-size:100%;min-inline-size:0}.label{display:flex;flex-direction:column;align-items:center;gap:2px;max-inline-size:100%;min-inline-size:0}.label__text{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);line-height:var(--typography-label-sm-line-height);font-weight:var(--typography-label-sm-font-weight);letter-spacing:var(--typography-label-sm-letter-spacing);color:var(--color-text-default,currentColor);max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.label__helper{font-family:var(--typography-label-sm-font-family);font-size:var(--typography-label-sm-font-size);line-height:var(--typography-label-sm-line-height);font-weight:var(--typography-label-sm-font-weight);letter-spacing:var(--typography-label-sm-letter-spacing);color:var(--color-text-subtle,currentColor);opacity:0.7;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}";var ge=class extends HTMLElement{static get observedAttributes(){return["label","helper-text","optional","test-id"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get label(){return this.getAttribute("label")||""}set label(i){this.setAttribute("label",i)}get helperText(){return this.getAttribute("helper-text")}set helperText(i){i?this.setAttribute("helper-text",i):this.removeAttribute("helper-text")}get optional(){return this.hasAttribute("optional")}set optional(i){i?this.setAttribute("optional",""):this.removeAttribute("optional")}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}render(){let i=this.label,e=this.helperText,t=this.testID,r=t?` data-testid="${this.escapeHtml(t)}"`:"",s=e?`<span class="label__helper">${this.escapeHtml(e)}</span>`:"";this._shadowRoot.innerHTML=`
|
|
679
|
+
<style>
|
|
680
|
+
${Mi}
|
|
681
|
+
</style>
|
|
682
|
+
<span class="label"${r} role="presentation" aria-hidden="true">
|
|
683
|
+
<span class="label__text">${this.escapeHtml(i)}</span>
|
|
684
|
+
${s}
|
|
685
|
+
</span>
|
|
686
|
+
`}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}};customElements.get("progress-indicator-label-base")||customElements.define("progress-indicator-label-base",ge);var Di={size:"md"},Ne=50;function Ni(n,i){return n===i?"current":"incomplete"}function Hi(n,i){return Math.max(1,Math.min(n,i))}var Oi=":host{display:inline-flex;align-items:center;justify-content:center}.pagination{display:inline-flex;align-items:center;overflow:hidden;background:var(--color-scrim-standard);border-radius:var(--radius-full);clip-path:inset(0 2px round var(--radius-full))}.pagination__track{display:inline-flex;align-items:center}.pagination--sm,.pagination--md{padding-block:var(--space-inset-075);padding-inline:var(--space-inset-100)}.pagination--lg{padding-block:var(--space-inset-100);padding-inline:var(--space-inset-150)}.pagination--sm>.pagination__track,.pagination--md>.pagination__track{gap:var(--space-grouped-tight)}.pagination--lg>.pagination__track{gap:var(--space-grouped-normal)}";var me=class extends HTMLElement{constructor(){super();this._container=null;this._track=null;this._nodes=[];this._initialized=!1;this._shadowRoot=this.attachShadow({mode:"open"})}static get observedAttributes(){return["total-items","current-item","size","accessibility-label","test-id"]}connectedCallback(){this._initialized||(this._setup(),this._initialized=!0),this._render()}attributeChangedCallback(e,t,r){t!==r&&this.isConnected&&this._render()}get totalItems(){let e=this.getAttribute("total-items");if(e===null)return 0;let t=parseInt(e,10);return isNaN(t)?0:t}set totalItems(e){this.setAttribute("total-items",String(e))}get currentItem(){let e=this.getAttribute("current-item");if(e===null)return 1;let t=parseInt(e,10);return isNaN(t)?1:t}set currentItem(e){this.setAttribute("current-item",String(e))}get size(){let e=this.getAttribute("size");return e==="sm"||e==="md"||e==="lg"?e:Di.size}set size(e){this.setAttribute("size",e)}get accessibilityLabel(){return this.getAttribute("accessibility-label")}set accessibilityLabel(e){e?this.setAttribute("accessibility-label",e):this.removeAttribute("accessibility-label")}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}_setup(){let e=document.createElement("style");e.textContent=Oi,this._shadowRoot.appendChild(e),this._container=document.createElement("div"),this._container.setAttribute("role","group"),this._shadowRoot.appendChild(this._container),this._track=document.createElement("div"),this._track.className="pagination__track",this._container.appendChild(this._track)}_render(){if(!this._container||!this._track)return;let e=this.totalItems,t=this.size,r=this.testID;e>Ne&&(console.warn(`Progress-Pagination-Base: Received ${e} items but maximum is ${Ne}. Rendering first ${Ne} items only. Consider using a different navigation pattern.`),e=Ne);let s=Hi(this.currentItem,e);for(;this._nodes.length<e;){let _=document.createElement("progress-indicator-node-base");this._track.appendChild(_),this._nodes.push(_)}for(;this._nodes.length>e;){let _=this._nodes.pop();this._track.removeChild(_)}for(let _=0;_<e;_++){let S=_+1,x=this._nodes[_];x.setAttribute("state",Ni(S,s)),x.setAttribute("size",t),x.setAttribute("content","none"),x.setAttribute("sizing","scale")}let o=getComputedStyle(this),a=parseFloat(o.getPropertyValue(`--progress-node-size-${t}-current`)),l=parseFloat(o.getPropertyValue(t==="lg"?"--space-grouped-normal":"--space-grouped-tight")),c=parseFloat(o.getPropertyValue(t==="lg"?"--space-inset-150":"--space-inset-100")),d=Math.min(e,5),h=d*a+(d-1)*l;this._container.style.width=`${h+c*2}px`,this._container.style.boxSizing="border-box";let u=e*a+(e-1)*l,m=(s-1)*(a+l)+a/2,g=h/2-m,f=h-u;g=Math.min(0,Math.max(f,g));let b=!this._container.dataset.rendered,C=typeof globalThis.matchMedia=="function"&&globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;b||C?this._track.style.transition="none":this._track.style.transition="transform var(--motion-settle-transition-duration) var(--motion-settle-transition-easing)",this._track.style.transform=`translateX(${g}px)`,this._container.dataset.rendered="1",this._container.className=`pagination pagination--${t}`;let k=this.accessibilityLabel||`Page ${s} of ${e}`;this._container.setAttribute("aria-label",this.escapeHtml(k)),r?this._container.setAttribute("data-testid",this.escapeHtml(r)):this._container.removeAttribute("data-testid")}escapeHtml(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,r=>t[r])}};customElements.get("progress-pagination-base")||customElements.define("progress-pagination-base",me);var Fi={size:"md",errorSteps:[]},He=8;function Ui(n,i,e){return e.includes(n)?"error":n<i?"completed":n===i?"current":"incomplete"}function qi(n){return n==="completed"?"checkmark":"none"}function Gi(n,i){return n==="completed"&&i==="completed"?"active":"inactive"}function Wi(n,i){return Math.max(1,Math.min(n,i))}function ji(n,i){return n.filter(e=>e>=1&&e<=i)}var Ki=":host{display:inline-flex;align-items:center;justify-content:center}.stepper{display:inline-flex;align-items:center;justify-content:center;inline-size:100%}.stepper--md{gap:var(--progress-node-gap-md)}.stepper--lg{gap:var(--progress-node-gap-lg)}";var be=class extends HTMLElement{static get observedAttributes(){return["total-steps","current-step","size","error-steps","accessibility-label","test-id"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){if(this.getAttribute("size")==="sm")throw new Error("Steppers require size 'md' or 'lg'. Size 'sm' is only supported for Pagination-Base.");this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get totalSteps(){let i=this.getAttribute("total-steps");if(i===null)return 0;let e=parseInt(i,10);return isNaN(e)?0:e}set totalSteps(i){this.setAttribute("total-steps",String(i))}get currentStep(){let i=this.getAttribute("current-step");if(i===null)return 1;let e=parseInt(i,10);return isNaN(e)?1:e}set currentStep(i){this.setAttribute("current-step",String(i))}get size(){let i=this.getAttribute("size");return i==="md"||i==="lg"?i:Fi.size}set size(i){this.setAttribute("size",i)}get errorSteps(){let i=this.getAttribute("error-steps");return i?i.split(",").map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)):[]}set errorSteps(i){this.setAttribute("error-steps",i.join(","))}get accessibilityLabel(){return this.getAttribute("accessibility-label")}set accessibilityLabel(i){i?this.setAttribute("accessibility-label",i):this.removeAttribute("accessibility-label")}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}render(){let i=this.getAttribute("size"),e=this.totalSteps,t=this.size,r=this.testID;e>He&&(console.warn(`Progress-Stepper-Base: Received ${e} steps but maximum is ${He}. Rendering first ${He} steps only. Consider breaking into multiple sub-flows.`),e=He);let s=Wi(this.currentStep,e),o=ji(this.errorSteps,e),a=this.accessibilityLabel||`Step ${s} of ${e}`,l=["stepper",`stepper--${t}`].join(" "),c=r?` data-testid="${this.escapeHtml(r)}"`:"",d=[];for(let u=1;u<=e;u++)d.push(Ui(u,s,o));let h="";for(let u=0;u<d.length;u++){let m=d[u],g=qi(m);if(h+=`<progress-indicator-node-base state="${m}" size="${t}" content="${g}"></progress-indicator-node-base>`,u<d.length-1){let f=Gi(d[u],d[u+1]);h+=`<progress-indicator-connector-base state="${f}"></progress-indicator-connector-base>`}}this._shadowRoot.innerHTML=`
|
|
687
|
+
<style>
|
|
688
|
+
${Ki}
|
|
689
|
+
</style>
|
|
690
|
+
<div class="${l}"${c} role="progressbar" aria-valuenow="${s}" aria-valuemin="1" aria-valuemax="${e}" aria-label="${this.escapeHtml(a)}">
|
|
691
|
+
${h}
|
|
692
|
+
</div>
|
|
693
|
+
`}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}};customElements.get("progress-stepper-base")||customElements.define("progress-stepper-base",be);var Zi={size:"md",errorSteps:[]},Oe=8;function Yi(n,i,e){return e.includes(n)?"error":n<i?"completed":n===i?"current":"incomplete"}function Xi(n,i){return n==="completed"?"checkmark":i.icon?"icon":"none"}function Ct(n,i){return n==="completed"&&i==="completed"?"active":"inactive"}function Ji(n,i){return Math.max(1,Math.min(n,i))}function Qi(n,i){return n.filter(e=>e>=1&&e<=i)}var er=":host{display:inline-flex;align-items:flex-start;justify-content:center;inline-size:100%}.stepper-detailed{display:inline-flex;align-items:flex-start;justify-content:center;inline-size:100%}.stepper-detailed__step{display:flex;flex-direction:column;align-items:center;flex:1;min-inline-size:0}.stepper-detailed__node-row{display:flex;align-items:center;inline-size:100%;justify-content:center}.stepper-detailed__connector{flex:1;min-inline-size:0}.stepper-detailed__spacer{flex:1;min-inline-size:0}.stepper-detailed__label{margin-block-start:var(--progress-node-gap-md);inline-size:100%}.stepper-detailed--md .stepper-detailed__label{margin-block-start:var(--progress-node-gap-md)}.stepper-detailed--lg .stepper-detailed__label{margin-block-start:var(--progress-node-gap-lg)}";var ve=class extends HTMLElement{static get observedAttributes(){return["steps","current-step","size","error-steps","accessibility-label","test-id"]}constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){if(this.getAttribute("size")==="sm")throw new Error("Steppers require size 'md' or 'lg'. Size 'sm' is only supported for Pagination-Base.");this.render()}attributeChangedCallback(i,e,t){e!==t&&this.isConnected&&this.render()}get steps(){let i=this.getAttribute("steps");if(!i)return[];try{let e=JSON.parse(i);return Array.isArray(e)?e:[]}catch(e){return[]}}set steps(i){this.setAttribute("steps",JSON.stringify(i))}get currentStep(){let i=this.getAttribute("current-step");if(i===null)return 1;let e=parseInt(i,10);return isNaN(e)?1:e}set currentStep(i){this.setAttribute("current-step",String(i))}get size(){let i=this.getAttribute("size");return i==="md"||i==="lg"?i:Zi.size}set size(i){this.setAttribute("size",i)}get errorSteps(){let i=this.getAttribute("error-steps");return i?i.split(",").map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)):[]}set errorSteps(i){this.setAttribute("error-steps",i.join(","))}get accessibilityLabel(){return this.getAttribute("accessibility-label")}set accessibilityLabel(i){i?this.setAttribute("accessibility-label",i):this.removeAttribute("accessibility-label")}get testID(){return this.getAttribute("test-id")}set testID(i){i?this.setAttribute("test-id",i):this.removeAttribute("test-id")}render(){let i=this.getAttribute("size"),e=this.steps,t=this.size,r=this.testID,s=e.length;s>Oe&&(console.warn(`Progress-Stepper-Detailed: Received ${s} steps but maximum is ${Oe}. Rendering first ${Oe} steps only. Consider breaking into multiple sub-flows.`),e=e.slice(0,Oe));let o=e.length,a=Ji(this.currentStep,o),l=Qi(this.errorSteps,o),c=this.accessibilityLabel||`Step ${a} of ${o}`,d=["stepper-detailed",`stepper-detailed--${t}`].join(" "),h=r?` data-testid="${this.escapeHtml(r)}"`:"",u=[];for(let g=1;g<=o;g++)u.push(Yi(g,a,l));let m="";for(let g=0;g<u.length;g++){let f=u[g],b=e[g],C=Xi(f,b),k=C==="icon"&&b.icon?` icon="${this.escapeHtml(b.icon)}"`:"",_=`Step ${g+1} of ${o}: ${b.label}`;l.includes(g+1)&&(_+=", error"),b.optional&&(_+=", optional");let S="";if(g>0){let w=Ct(u[g-1],u[g]);S+=`<div class="stepper-detailed__connector"><progress-indicator-connector-base state="${w}"></progress-indicator-connector-base></div>`}else S+='<div class="stepper-detailed__spacer"></div>';if(S+=`<progress-indicator-node-base state="${f}" size="${t}" content="${C}"${k}></progress-indicator-node-base>`,g<u.length-1){let w=Ct(u[g],u[g+1]);S+=`<div class="stepper-detailed__connector"><progress-indicator-connector-base state="${w}"></progress-indicator-connector-base></div>`}else S+='<div class="stepper-detailed__spacer"></div>';let x=b.helperText?` helper-text="${this.escapeHtml(b.helperText)}"`:"",A=b.optional?" optional":"";m+=`<div class="stepper-detailed__step" role="listitem" aria-label="${this.escapeHtml(_)}">`,m+=`<div class="stepper-detailed__node-row">${S}</div>`,m+=`<div class="stepper-detailed__label"><progress-indicator-label-base label="${this.escapeHtml(b.label)}"${x}${A}></progress-indicator-label-base></div>`,m+="</div>"}this._shadowRoot.innerHTML=`
|
|
694
|
+
<style>
|
|
695
|
+
${er}
|
|
696
|
+
</style>
|
|
697
|
+
<div class="${d}"${h} role="list" aria-label="${this.escapeHtml(c)}">
|
|
698
|
+
${m}
|
|
699
|
+
</div>
|
|
700
|
+
`}escapeHtml(i){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return i.replace(/[&<>"']/g,t=>e[t])}};customElements.get("progress-stepper-detailed")||customElements.define("progress-stepper-detailed",ve);var tr={size:"standard"};var ir=':host{display:block;inline-size:100%}.segmented-choice{display:flex;align-items:stretch;gap:var(--space-grouped-none);position:relative;padding:var(--space-inset-050);background-color:var(--color-structure-surface);border:var(--border-default) solid var(--color-structure-border);border-radius:var(--radius-normal)}.segmented-choice__indicator{position:absolute;inset-block:var(--space-inset-050);border-radius:var(--radius-small);background-color:var(--color-structure-canvas);box-shadow:var(--shadow-navigation-indicator);pointer-events:none;z-index:0}.segmented-choice__segment{flex:1;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-inline-size:var(--tap-area-minimum);border:none;border-radius:var(--radius-small);background:transparent;color:var(--color-action-navigation);cursor:pointer;font-weight:var(--font-weight-700);-webkit-appearance:none;appearance:none;margin:0;padding:0}.segmented-choice__segment--standard{padding-block:var(--space-inset-150);padding-inline:var(--space-inset-200);font-size:var(--font-size-125);line-height:var(--line-height-125)}.segmented-choice__segment--condensed{padding-block:var(--space-inset-100);padding-inline:var(--space-inset-150);font-size:var(--font-size-100);line-height:var(--line-height-100)}.segmented-choice__segment[aria-selected="false"]:hover{background-color:var(--blend-container-hover-darker)}.segmented-choice__segment:focus{outline:none}.segmented-choice__segment:focus-visible{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset)}@media (prefers-reduced-motion:reduce){.segmented-choice__indicator{transition:none !important}}';var cn=["segments","selected-value","size","id","test-id"];function dn(n){return"label"in n}var fe=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._containerEl=null;this._indicatorEl=null;this._segmentEls=[];this._segments=[];this._selectedValue="";this._size=tr.size;this._onSelectionChange=null;this._isInitialRender=!0;this._animating=!1;this._handleClick=e=>{var o;let t=e.target.closest(".segmented-choice__segment");if(!t)return;let r=t.dataset.value;if(!r||r===this._selectedValue)return;let s=this._selectedValue;this._selectedValue=r,this._updateSegments(),this._updateTestID(),this._animateIndicator(s),(o=this._onSelectionChange)==null||o.call(this,r),this.dispatchEvent(new CustomEvent("selection-change",{detail:{value:r},bubbles:!0}))};this._handleKeydown=e=>{var a;let t=e,r=t.target;if(!r.matches(".segmented-choice__segment"))return;let s=this._segmentEls.indexOf(r);if(s<0)return;let o=null;switch(t.key){case"ArrowLeft":case"ArrowUp":o=(s-1+this._segments.length)%this._segments.length;break;case"ArrowRight":case"ArrowDown":o=(s+1)%this._segments.length;break;case"Enter":case" ":{t.preventDefault();let l=this._segmentEls[s].dataset.value;if(l&&l!==this._selectedValue){let c=this._selectedValue;this._selectedValue=l,this._updateSegments(),this._updateTestID(),this._animateIndicator(c),(a=this._onSelectionChange)==null||a.call(this,l),this.dispatchEvent(new CustomEvent("selection-change",{detail:{value:l},bubbles:!0}))}return}default:return}t.preventDefault(),this._segmentEls[o].focus()};this._shadowRoot=this.attachShadow({mode:"open"})}static get observedAttributes(){return cn}get segments(){return this._segments}set segments(e){let t=typeof e=="string"?JSON.parse(e):e;if(t.length<2)throw new Error(`Nav-SegmentedChoice-Base requires at least 2 segments. Received: ${t.length}.`);this._segments=t,this._resolveSelectedValue(),this._render()}get selectedValue(){return this._selectedValue}set selectedValue(e){this._selectedValue=e,this._resolveSelectedValue(),this._render()}get size(){return this._size}set size(e){this._size=e==="condensed"?"condensed":"standard",this._render()}get onSelectionChange(){return this._onSelectionChange}set onSelectionChange(e){this._onSelectionChange=e}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}connectedCallback(){this._render(),this._shadowRoot.addEventListener("click",this._handleClick),this._shadowRoot.addEventListener("keydown",this._handleKeydown)}disconnectedCallback(){this._shadowRoot.removeEventListener("click",this._handleClick),this._shadowRoot.removeEventListener("keydown",this._handleKeydown)}attributeChangedCallback(e,t,r){switch(e){case"segments":r&&(this.segments=r);break;case"selected-value":r!==null&&(this._selectedValue=r,this._resolveSelectedValue(),this._render());break;case"size":this.size=r!=null?r:"standard";break;case"test-id":this._updateTestID();break}}_resolveSelectedValue(){if(this._segments.length===0)return;this._segments.find(t=>t.value===this._selectedValue)||(this._selectedValue=this._segments[0].value)}_render(){this.isConnected&&(this._domCreated||(this._createDOM(),this._domCreated=!0),this._updateSegments(),this._updateIndicator(),this._updateTestID())}_createDOM(){let e=document.createElement("style");e.textContent=ir,this._shadowRoot.appendChild(e),this._containerEl=document.createElement("div"),this._containerEl.classList.add("segmented-choice"),this._containerEl.setAttribute("role","tablist"),this._shadowRoot.appendChild(this._containerEl),this._indicatorEl=document.createElement("div"),this._indicatorEl.classList.add("segmented-choice__indicator"),this._containerEl.appendChild(this._indicatorEl)}_updateSegments(){if(!this._containerEl||!this._indicatorEl)return;let e=`segmented-choice__segment--${this._size}`,t=this.id||null;for(;this._segmentEls.length>this._segments.length;)this._segmentEls.pop().remove();for(let r=0;r<this._segments.length;r++){let s=this._segments[r],o=s.value===this._selectedValue,a=this._segmentEls[r];if(a||(a=document.createElement("button"),a.classList.add("segmented-choice__segment"),a.setAttribute("role","tab"),this._containerEl.appendChild(a),this._segmentEls.push(a)),a.className=`segmented-choice__segment ${e}`,a.setAttribute("aria-selected",String(o)),a.tabIndex=o?0:-1,t?a.setAttribute("aria-controls",`${t}-panel-${s.value}`):a.removeAttribute("aria-controls"),dn(s))a.textContent=s.label;else{a.innerHTML="";let l=document.createElement("icon-base");l.setAttribute("name",s.icon),l.setAttribute("size",this._size==="condensed"?"24":"28"),l.setAttribute("aria-label",s.accessibilityLabel),a.appendChild(l)}a.dataset.value=s.value}}_updateIndicator(){if(!this._indicatorEl||this._segments.length===0)return;let e=this._segments.findIndex(r=>r.value===this._selectedValue);if(e<0)return;let t=this._segmentEls[e];t&&(this._indicatorEl.style.transition="none",this._indicatorEl.style.left=`${t.offsetLeft}px`,this._indicatorEl.style.width=`${t.offsetWidth}px`,this._isInitialRender&&(this._isInitialRender=!1))}_updateTestID(){let e=this.getAttribute("test-id");this._containerEl&&(e?this._containerEl.setAttribute("data-testid",e):this._containerEl.removeAttribute("data-testid"))}_prefersReducedMotion(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}_animateIndicator(e){if(!this._indicatorEl||this._segments.length===0)return;let t=this._segments.findIndex(a=>a.value===this._selectedValue);if(t<0)return;let r=this._segmentEls[t];if(!r)return;let s=r.offsetLeft,o=r.offsetWidth;if(this._prefersReducedMotion()){this._indicatorEl.style.transition="none",this._indicatorEl.style.left=`${s}px`,this._indicatorEl.style.width=`${o}px`;return}if(this._animating){this._indicatorEl.style.transition="none",this._indicatorEl.style.left=`${s}px`,this._indicatorEl.style.width=`${o}px`,this._animating=!1;return}this._animating=!0,this._indicatorEl.style.boxShadow="none",this._indicatorEl.offsetWidth,this._indicatorEl.style.transition=["width var(--duration-150) var(--easing-standard) var(--duration-150)","left var(--duration-350) var(--easing-glide-decelerate) var(--duration-150)","box-shadow var(--duration-150) var(--easing-decelerate) calc(var(--duration-150) + var(--duration-350))"].join(", "),this._indicatorEl.style.left=`${s}px`,this._indicatorEl.style.width=`${o}px`,this._indicatorEl.style.boxShadow="",setTimeout(()=>{this._indicatorEl&&(this._indicatorEl.style.transition=""),this._animating=!1},700)}};customElements.get("nav-segmented-choice")||customElements.define("nav-segmented-choice",fe);var rr=`:host{display:block;position:fixed;inset-inline:var(--space-200);bottom:calc(var(--space-200)+var(--chrome-offset,0px));z-index:1000;transition:bottom 100ms ease-out}.tab-bar{display:flex;align-items:stretch;gap:0;position:relative;min-inline-size:327px;padding-block-start:var(--space-inset-050);padding-inline-end:var(--space-inset-100);padding-block-end:var(--space-inset-150);padding-inline-start:var(--space-inset-100);background:linear-gradient( to bottom,color-mix(in oklch,var(--color-structure-canvas) 80%,transparent),color-mix(in oklch,var(--color-structure-canvas) 88%,transparent),color-mix(in oklch,var(--color-structure-canvas) 96%,transparent),var(--color-structure-canvas) 48% );border-block-start:1px solid var(--color-structure-border-subtle);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab-item{flex:1;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-inline-size:var(--tap-area-minimum);min-block-size:var(--space-600);border:none;background:transparent;cursor:pointer;overflow:visible;-webkit-appearance:none;appearance:none;margin:0;padding-block-start:var(--space-inset-150);padding-inline:var(--space-inset-150);padding-block-end:var(--space-inset-075)}.tab-item[aria-selected="true"]::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient( ellipse var(--space-700) 56% at center,var(--color-background-primary-subtle) 0%,color-mix(in oklch,var(--color-background-primary-subtle) 50%,transparent),color-mix(in oklch,var(--color-structure-canvas) 24%,transparent) 80%,transparent 100% )}.tab-item[aria-selected="true"]{padding-block-start:var(--space-inset-150);padding-block-end:var(--space-inset-150);gap:var(--space-grouped-minimal)}.tab-item[aria-selected="true"] icon-base{color:var(--color-action-navigation)}.tab-item[aria-selected="false"] icon-base{color:var(--color-icon-navigation-inactive)}.tab-bar__dot{position:absolute;bottom:var(--space-inset-150);inline-size:var(--space-050);block-size:var(--space-050);border-radius:50%;background-color:var(--color-action-navigation);transform:translateX(-50%);pointer-events:none;z-index:2}.tab-item[aria-selected="false"]:active icon-base{filter:var(--blend-pressed-lighter)}.tab-item:focus{outline:none}.tab-item:focus-visible{outline:var(--accessibility-focus-width) solid var(--accessibility-focus-color);outline-offset:var(--accessibility-focus-offset)}::slotted([slot^="badge-"]){position:absolute;inset-block-start:var(--space-inset-050);inset-inline-end:var(--space-inset-050)}.tab-item--departing{transition:padding-block-start var(--duration-150) var(--easing-accelerate),padding-block-end var(--duration-150) var(--easing-accelerate),gap var(--duration-150) var(--easing-accelerate)}.tab-item--departing::before{transition:opacity var(--duration-150) var(--easing-accelerate);opacity:0}.tab-item--arriving{transition:padding-block-start var(--duration-150) var(--easing-decelerate),padding-block-end var(--duration-150) var(--easing-decelerate),gap var(--duration-150) var(--easing-decelerate)}.tab-item--arriving::before{animation:glow-in var(--duration-150) var(--easing-decelerate) forwards}@keyframes glow-in{from{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:host{transition:none !important}.tab-item,.tab-item::before,.tab-bar__dot{transition:none !important}}`;var un=["tabs","selected-value","test-id"],_e=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._containerEl=null;this._dotEl=null;this._tabEls=[];this._tabs=[];this._selectedValue="";this._onSelectionChange=null;this._isInitialRender=!0;this._animating=!1;this._updateChromeOffset=()=>{if(!window.visualViewport)return;let e=window.innerHeight-window.visualViewport.height;this.style.setProperty("--chrome-offset",`${Math.max(0,e)}px`)};this._handleClick=e=>{let t=e.target.closest(".tab-item");if(!t)return;let r=t.dataset.value;r&&this._selectTab(r)};this._handleKeydown=e=>{let t=e,r=t.target;if(!r.matches(".tab-item"))return;let s=this._tabEls.indexOf(r);if(!(s<0))switch(t.key){case"ArrowLeft":t.preventDefault(),this._tabEls[(s-1+this._tabs.length)%this._tabs.length].focus();break;case"ArrowRight":t.preventDefault(),this._tabEls[(s+1)%this._tabs.length].focus();break;case"Enter":case" ":{t.preventDefault();let o=this._tabEls[s].dataset.value;o&&this._selectTab(o);break}}};this._shadowRoot=this.attachShadow({mode:"open"})}static get observedAttributes(){return un}get tabs(){return this._tabs}set tabs(e){let t=typeof e=="string"?JSON.parse(e):e;if(t.length<2)throw new Error(`Nav-TabBar-Base requires at least 2 tabs. Received: ${t.length}.`);this._tabs=t,this._resolveSelectedValue(),this._render()}get selectedValue(){return this._selectedValue}set selectedValue(e){let t=this._selectedValue;this._selectedValue=e,this._resolveSelectedValue(),t!==this._selectedValue&&this._render()}get onSelectionChange(){return this._onSelectionChange}set onSelectionChange(e){this._onSelectionChange=e}get testID(){return this.getAttribute("test-id")}set testID(e){e?this.setAttribute("test-id",e):this.removeAttribute("test-id")}connectedCallback(){this._render(),this._shadowRoot.addEventListener("click",this._handleClick),this._shadowRoot.addEventListener("keydown",this._handleKeydown),this._initChromeTracking()}disconnectedCallback(){this._shadowRoot.removeEventListener("click",this._handleClick),this._shadowRoot.removeEventListener("keydown",this._handleKeydown),this._teardownChromeTracking()}attributeChangedCallback(e,t,r){switch(e){case"tabs":r&&(this.tabs=r);break;case"selected-value":r!==null&&(this.selectedValue=r);break;case"test-id":this._updateTestID();break}}_resolveSelectedValue(){this._tabs.length!==0&&(this._tabs.find(e=>e.value===this._selectedValue)||(this._selectedValue=this._tabs[0].value))}_render(){this.isConnected&&(this._domCreated||(this._createDOM(),this._domCreated=!0),this._updateTabs(),this._positionDot(),this._updateTestID())}_createDOM(){let e=document.createElement("style");e.textContent=rr,this._shadowRoot.appendChild(e),this._containerEl=document.createElement("div"),this._containerEl.classList.add("tab-bar"),this._containerEl.setAttribute("role","tablist"),this._shadowRoot.appendChild(this._containerEl),this._dotEl=document.createElement("span"),this._dotEl.classList.add("tab-bar__dot"),this._containerEl.appendChild(this._dotEl)}_updateTabs(){if(this._containerEl){for(;this._tabEls.length>this._tabs.length;)this._tabEls.pop().remove();for(let e=0;e<this._tabs.length;e++){let t=this._tabs[e],r=t.value===this._selectedValue,s=this._tabEls[e];s||(s=document.createElement("button"),s.classList.add("tab-item"),s.setAttribute("role","tab"),this._containerEl.insertBefore(s,this._dotEl),this._tabEls.push(s)),s.setAttribute("aria-selected",String(r)),s.setAttribute("aria-label",t.accessibilityLabel),s.tabIndex=r?0:-1,s.innerHTML="";let o=document.createElement("icon-base");o.setAttribute("name",r?t.activeIcon:t.icon),o.setAttribute("size","24"),o.setAttribute("aria-hidden","true"),s.appendChild(o);let a=document.createElement("slot");a.name=`badge-${t.value}`,s.appendChild(a),s.dataset.value=t.value}this._isInitialRender&&(this._isInitialRender=!1)}}_positionDot(){if(!this._dotEl||!this._containerEl||this._tabs.length===0)return;let e=this._tabs.findIndex(a=>a.value===this._selectedValue);if(e<0)return;let t=this._tabEls[e];if(!t)return;let r=this._containerEl.getBoundingClientRect(),s=t.getBoundingClientRect(),o=s.left-r.left+s.width/2;this._dotEl.style.transition="none",this._dotEl.style.left=`${o}px`,this._dotEl.style.display=""}_updateTestID(){let e=this.getAttribute("test-id");this._containerEl&&(e?this._containerEl.setAttribute("data-testid",e):this._containerEl.removeAttribute("data-testid"))}_initChromeTracking(){window.visualViewport&&(window.visualViewport.addEventListener("resize",this._updateChromeOffset),window.visualViewport.addEventListener("scroll",this._updateChromeOffset),this._updateChromeOffset())}_teardownChromeTracking(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this._updateChromeOffset),window.visualViewport.removeEventListener("scroll",this._updateChromeOffset))}_selectTab(e){var r;if(e===this._selectedValue)return;let t=this._selectedValue;this._selectedValue=e,(r=this._onSelectionChange)==null||r.call(this,e),this.dispatchEvent(new CustomEvent("selection-change",{detail:{value:e},bubbles:!0})),this._prefersReducedMotion()||this._isInitialRender?(this._updateTabs(),this._positionDot()):this._animateSelection(t,e),this._updateTestID()}_animateSelection(e,t){if(!this._dotEl||!this._containerEl)return;let r=this._tabs.findIndex(m=>m.value===e),s=this._tabs.findIndex(m=>m.value===t);if(r<0||s<0)return;let o=this._tabEls[r],a=this._tabEls[s];if(!o||!a)return;if(this._animating){this._updateTabs(),this._positionDot();return}this._animating=!0;let l=150,c=350,d=this._containerEl.getBoundingClientRect(),h=a.getBoundingClientRect(),u=h.left-d.left+h.width/2;this._dotEl&&(this._dotEl.style.transition=`left ${c}ms var(--easing-glide-decelerate)`,this._dotEl.style.left=`${u}px`),setTimeout(()=>{o.classList.add("tab-item--departing")},c*.08),setTimeout(()=>{a.classList.add("tab-item--arriving"),this._updateTabs(),setTimeout(()=>{o.classList.remove("tab-item--departing"),a.classList.remove("tab-item--arriving"),this._dotEl&&(this._dotEl.style.transition="none"),this._animating=!1},l)},c*.5)}_prefersReducedMotion(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}};customElements.get("nav-tab-bar")||customElements.define("nav-tab-bar",_e);var nr=":host{display:block;position:sticky;inset-block-start:0;z-index:1000}.nav-header{display:flex;align-items:center;min-block-size:var(--tap-area-recommended);background-color:var(--color-structure-canvas)}.nav-header--translucent{background-color:transparent;backdrop-filter:blur(var(--blur-100));-webkit-backdrop-filter:blur(var(--blur-100))}.nav-header__separator{position:absolute;inset-block-end:0;inset-inline:0;block-size:var(--border-width-100);background-color:var(--color-structure-border-subtle)}.nav-header__leading{display:flex;align-items:center;flex-shrink:0}.nav-header__title{display:flex;align-items:center;flex:1;min-inline-size:0}.nav-header__trailing{display:flex;align-items:center;flex-shrink:0}";var hn=["appearance","show-separator","test-id"],ye=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this._domCreated||(this._createDOM(),this._domCreated=!0),this._updateAppearance(),this._updateSeparator()}static get observedAttributes(){return hn}attributeChangedCallback(e){this._domCreated&&(this._updateAppearance(),this._updateSeparator())}_createDOM(){let e=document.createElement("style");e.textContent=nr;let t=document.createElement("header");t.setAttribute("role","banner"),t.classList.add("nav-header"),this.getAttribute("test-id")&&t.setAttribute("data-testid",this.getAttribute("test-id"));let r=document.createElement("div");r.classList.add("nav-header__leading"),r.innerHTML='<slot name="leading"></slot>';let s=document.createElement("div");s.classList.add("nav-header__title"),s.innerHTML='<slot name="title"></slot>';let o=document.createElement("div");o.classList.add("nav-header__trailing"),o.innerHTML='<slot name="trailing"></slot>',t.appendChild(r),t.appendChild(s),t.appendChild(o);let a=document.createElement("div");a.classList.add("nav-header__separator"),a.setAttribute("aria-hidden","true"),t.appendChild(a),this._shadowRoot.appendChild(e),this._shadowRoot.appendChild(t)}_updateAppearance(){let e=this._shadowRoot.querySelector(".nav-header");if(!e)return;let t=this.getAttribute("appearance")==="translucent";e.classList.toggle("nav-header--translucent",t)}_updateSeparator(){let e=this._shadowRoot.querySelector(".nav-header__separator");if(!e)return;let t=this.getAttribute("show-separator")!=="false";e.style.display=t?"block":"none"}};customElements.get("nav-header")||customElements.define("nav-header",ye);var xe=class extends HTMLElement{constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){var e;let i=document.createElement("nav-header");i.setAttribute("appearance",this.getAttribute("appearance")||"opaque"),i.setAttribute("show-separator",(e=this.getAttribute("show-separator"))!=null?e:"true"),this.getAttribute("test-id")&&i.setAttribute("test-id",this.getAttribute("test-id")),i.innerHTML=`
|
|
701
|
+
<slot name="leading" slot="leading"></slot>
|
|
702
|
+
<slot name="center" slot="title"></slot>
|
|
703
|
+
<slot name="trailing" slot="trailing"></slot>
|
|
704
|
+
`,this._shadowRoot.appendChild(i)}};customElements.get("nav-header-app")||customElements.define("nav-header-app",xe);var sr=".nav-header-page__title{font-family:var(--typography-label-md-font-family);font-size:var(--typography-label-md-font-size);font-weight:var(--typography-label-md-font-weight);line-height:var(--typography-label-md-line-height);letter-spacing:var(--typography-label-md-letter-spacing);color:var(--color-action-navigation);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-header-page__title-wrapper--center{position:absolute;inset-inline:0;display:flex;justify-content:center;pointer-events:none}.nav-header-page__title-wrapper--center .nav-header-page__title{max-inline-size:60%;text-align:center}.nav-header-page__title-wrapper--leading{flex:1;min-inline-size:0}.nav-header-page__trailing{display:flex;align-items:center;gap:var(--space-grouped-minimal);flex-shrink:0}.nav-header-page__close-gap{inline-size:var(--space-grouped-tight)}:host{transition:transform var(--duration-150) var(--easing-standard)}:host(.nav-header-page--hidden){transform:translateY(-100%)}@media (prefers-reduced-motion:reduce){:host{transition:none !important;transform:none !important}}:host(.nav-header-page--android-padding) .nav-header__content{padding-block:var(--space-inset-100)}";var or=8,ke=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._lastScrollY=0;this._hidden=!1;this._scrollHandler=null;this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this._domCreated||(this._createDOM(),this._domCreated=!0),this._setupScroll()}disconnectedCallback(){this._teardownScroll()}static get observedAttributes(){return["title","title-alignment","scroll-behavior","appearance","show-separator","test-id"]}attributeChangedCallback(){this._domCreated&&(this._updateTitle(),this._updateAlignment(),this._setupScroll())}_createDOM(){var h;let e=document.createElement("style");e.textContent=sr;let t=document.createElement("nav-header");t.setAttribute("appearance",this.getAttribute("appearance")||"opaque"),t.setAttribute("show-separator",(h=this.getAttribute("show-separator"))!=null?h:"true"),this.getAttribute("test-id")&&t.setAttribute("test-id",this.getAttribute("test-id"));let r=document.createElement("div");r.setAttribute("slot","leading"),r.innerHTML='<slot name="leading-action"></slot>';let s=document.createElement("div");s.setAttribute("slot","title");let o=this._getAlignment();s.className=`nav-header-page__title-wrapper--${o}`;let a=document.createElement("h1");a.className="nav-header-page__title",a.textContent=this.getAttribute("title")||"",s.appendChild(a);let l=document.createElement("div");l.setAttribute("slot","trailing"),l.className="nav-header-page__trailing",l.innerHTML='<slot name="trailing-actions"></slot>';let c=document.createElement("slot");c.name="close-action";let d=document.createElement("span");d.className="nav-header-page__close-gap",l.appendChild(d),l.appendChild(c),t.appendChild(r),t.appendChild(s),t.appendChild(l),this._shadowRoot.appendChild(e),this._shadowRoot.appendChild(t)}_getAlignment(){let e=this.getAttribute("title-alignment");return e||"leading"}_updateTitle(){let e=this._shadowRoot.querySelector(".nav-header-page__title");e&&(e.textContent=this.getAttribute("title")||"")}_updateAlignment(){let e=this._shadowRoot.querySelector('[slot="title"]');if(!e)return;let t=this._getAlignment();e.className=`nav-header-page__title-wrapper--${t}`}_setupScroll(){this._teardownScroll(),this.getAttribute("scroll-behavior")==="collapsible"&&(window.matchMedia("(prefers-reduced-motion: reduce)").matches||(this._lastScrollY=window.scrollY,this._scrollHandler=()=>this._onScroll(),window.addEventListener("scroll",this._scrollHandler,{passive:!0})))}_teardownScroll(){this._scrollHandler&&(window.removeEventListener("scroll",this._scrollHandler),this._scrollHandler=null)}_onScroll(){let e=window.scrollY,t=e-this._lastScrollY;t>or&&!this._hidden?(this._hidden=!0,this.classList.add("nav-header-page--hidden")):t<-or&&this._hidden&&(this._hidden=!1,this.classList.remove("nav-header-page--hidden")),this._lastScrollY=e}};customElements.get("nav-header-page")||customElements.define("nav-header-page",ke);var ar=":host{display:block;inline-size:100%}.progress-bar{position:relative;inline-size:100%;border-radius:var(--radius-full);background-color:var(--color-progress-pending-background);overflow:hidden}.progress-bar--sm{block-size:var(--size-050)}.progress-bar--md{block-size:var(--size-100)}.progress-bar--lg{block-size:var(--size-150)}.progress-bar__fill{position:absolute;inset-block:0;inset-inline-start:0;border-radius:var(--radius-full);transition:inline-size var(--duration-150) var(--easing-standard)}.progress-bar__fill--determinate{background-color:var(--color-progress-completed-background)}.progress-bar__fill--indeterminate{background-color:var(--color-progress-current-background);inline-size:33%;animation:pulse var(--duration-350) var(--easing-standard) infinite alternate}@keyframes pulse{from{opacity:0.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){.progress-bar__fill{transition:none !important;animation:none !important}}";var gn=[0,25,50,75,100],Ce=class extends HTMLElement{constructor(){super();this._domCreated=!1;this._lastAnnouncedMilestone=-1;this._shadowRoot=this.attachShadow({mode:"open"})}connectedCallback(){this._domCreated||(this._createDOM(),this._domCreated=!0),this._update()}static get observedAttributes(){return["value","mode","size","accessibility-label","test-id"]}attributeChangedCallback(){this._domCreated&&this._update()}_createDOM(){let e=document.createElement("style");e.textContent=ar;let t=document.createElement("div");t.classList.add("progress-bar"),t.setAttribute("role","progressbar"),t.setAttribute("aria-valuemin","0"),t.setAttribute("aria-valuemax","1");let r=document.createElement("div");r.classList.add("progress-bar__fill"),t.appendChild(r),this._shadowRoot.appendChild(e),this._shadowRoot.appendChild(t)}_update(){let e=this._shadowRoot.querySelector(".progress-bar"),t=this._shadowRoot.querySelector(".progress-bar__fill");if(!e||!t)return;let r=this.getAttribute("mode")||"determinate",s=this.getAttribute("size")||"md",o=this.getAttribute("accessibility-label")||"",a=this.getAttribute("test-id");if(e.className=`progress-bar progress-bar--${s}`,e.setAttribute("aria-label",o),a&&e.setAttribute("data-testid",a),r==="indeterminate")t.className="progress-bar__fill progress-bar__fill--indeterminate",t.style.inlineSize="",e.removeAttribute("aria-valuenow"),window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(t.style.inlineSize=`${.33*100}%`,t.style.opacity="1");else{let l=this.getAttribute("value");if(l===null)throw new Error("Progress-Bar-Base: value attribute is required in determinate mode");let c=parseFloat(l);this._validateValue(c),t.className="progress-bar__fill progress-bar__fill--determinate",t.style.inlineSize=`${c*100}%`,t.style.opacity="",e.setAttribute("aria-valuenow",String(c)),this._announceMilestone(c)}}_validateValue(e){if(e<0||e>1)throw new Error(`Progress-Bar-Base: value must be between 0 and 1, received ${e}`)}_announceMilestone(e){let t=Math.round(e*100);for(let r of gn)if(t>=r&&this._lastAnnouncedMilestone<r){this._lastAnnouncedMilestone=r;let s=this._shadowRoot.querySelector(".progress-bar");s&&(s.setAttribute("aria-live","polite"),setTimeout(()=>s.removeAttribute("aria-live"),100))}}};customElements.get("progress-bar")||customElements.define("progress-bar",Ce);function lr(){let n=getComputedStyle(document.documentElement).getPropertyValue("--color-action-primary");(!n||n.trim()==="")&&console.warn('[DesignerPunk] Design tokens not detected. Include tokens.css before using components: <link rel="stylesheet" href="dist/browser/tokens.css">')}function y(n,i){customElements.get(n)||customElements.define(n,i)}y("input-text-base",Q);y("input-text-email",Ee);y("input-text-password",we);y("input-text-phone-number",Ie);y("button-cta",ze);y("icon-base",O);y("button-icon",Re);y("container-base",q);y("button-vertical-list-item",ee);y("button-vertical-list-set",te);y("avatar-base",j);y("badge-label-base",re);y("badge-count-base",ne);y("badge-count-notification",se);y("input-checkbox-base",oe);y("input-checkbox-legal",ae);y("chip-base",le);y("chip-filter",ce);y("chip-input",de);y("container-card-base",K);y("input-radio-base",Z);y("input-radio-set",ue);y("progress-indicator-node-base",he);y("progress-indicator-connector-base",pe);y("progress-indicator-label-base",ge);y("progress-pagination-base",me);y("progress-stepper-base",be);y("progress-stepper-detailed",ve);y("nav-segmented-choice",fe);y("nav-tab-bar",_e);y("nav-header",ye);y("nav-header-app",xe);y("nav-header-page",ke);y("progress-bar",Ce);typeof document!="undefined"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{requestAnimationFrame(()=>lr())}):requestAnimationFrame(()=>lr()));var mn=O,bn=O,vn=q,fn=q,_n=ee,yn=te,xn=j,kn=j,Cn=re,Sn=ne,En=se,wn=oe,An=ae,Tn=Q,In=le,zn=ce,Rn=de,Bn=K,Ln=K,Vn=Z,$n=ue,Pn=he,Mn=pe,Dn=ge,Nn=me,Hn=be,On=ve,Fn=fe,Un=_e,qn=ye,Gn=xe,Wn=ke,jn=Ce;return br(Kn);})();
|
|
705
|
+
//# sourceMappingURL=designerpunk.umd.min.js.map
|