@lockin90/ui-native 0.0.0-stage → 1.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/lib/commonjs/components/Accordion.js +144 -0
- package/lib/commonjs/components/Accordion.js.map +1 -0
- package/lib/commonjs/components/AchievementBadge.js +225 -0
- package/lib/commonjs/components/AchievementBadge.js.map +1 -0
- package/lib/commonjs/components/Alert.js +232 -0
- package/lib/commonjs/components/Alert.js.map +1 -0
- package/lib/commonjs/components/AreaChart.js +506 -0
- package/lib/commonjs/components/AreaChart.js.map +1 -0
- package/lib/commonjs/components/AuroraBackground.js +267 -0
- package/lib/commonjs/components/AuroraBackground.js.map +1 -0
- package/lib/commonjs/components/Avatar.js +187 -0
- package/lib/commonjs/components/Avatar.js.map +1 -0
- package/lib/commonjs/components/AvatarStack.js +95 -0
- package/lib/commonjs/components/AvatarStack.js.map +1 -0
- package/lib/commonjs/components/BackLink.js +77 -0
- package/lib/commonjs/components/BackLink.js.map +1 -0
- package/lib/commonjs/components/Badge.js +136 -0
- package/lib/commonjs/components/Badge.js.map +1 -0
- package/lib/commonjs/components/BarChart.js +641 -0
- package/lib/commonjs/components/BarChart.js.map +1 -0
- package/lib/commonjs/components/BarFill.js +55 -0
- package/lib/commonjs/components/BarFill.js.map +1 -0
- package/lib/commonjs/components/BeeswarmChart.js +615 -0
- package/lib/commonjs/components/BeeswarmChart.js.map +1 -0
- package/lib/commonjs/components/BiomarkerRange.js +610 -0
- package/lib/commonjs/components/BiomarkerRange.js.map +1 -0
- package/lib/commonjs/components/BodyBattery.js +563 -0
- package/lib/commonjs/components/BodyBattery.js.map +1 -0
- package/lib/commonjs/components/BrandMark.js +184 -0
- package/lib/commonjs/components/BrandMark.js.map +1 -0
- package/lib/commonjs/components/BulletChart.js +406 -0
- package/lib/commonjs/components/BulletChart.js.map +1 -0
- package/lib/commonjs/components/Button.js +154 -0
- package/lib/commonjs/components/Button.js.map +1 -0
- package/lib/commonjs/components/CaffeineClock.js +491 -0
- package/lib/commonjs/components/CaffeineClock.js.map +1 -0
- package/lib/commonjs/components/Card.js +142 -0
- package/lib/commonjs/components/Card.js.map +1 -0
- package/lib/commonjs/components/CharCounter.js +106 -0
- package/lib/commonjs/components/CharCounter.js.map +1 -0
- package/lib/commonjs/components/ChartState.js +554 -0
- package/lib/commonjs/components/ChartState.js.map +1 -0
- package/lib/commonjs/components/Checkbox.js +180 -0
- package/lib/commonjs/components/Checkbox.js.map +1 -0
- package/lib/commonjs/components/Chip.js +218 -0
- package/lib/commonjs/components/Chip.js.map +1 -0
- package/lib/commonjs/components/ChoiceChip.js +133 -0
- package/lib/commonjs/components/ChoiceChip.js.map +1 -0
- package/lib/commonjs/components/CodeBlock.js +126 -0
- package/lib/commonjs/components/CodeBlock.js.map +1 -0
- package/lib/commonjs/components/CodeField.js +129 -0
- package/lib/commonjs/components/CodeField.js.map +1 -0
- package/lib/commonjs/components/ColorPicker.js +181 -0
- package/lib/commonjs/components/ColorPicker.js.map +1 -0
- package/lib/commonjs/components/ComboChart.js +419 -0
- package/lib/commonjs/components/ComboChart.js.map +1 -0
- package/lib/commonjs/components/Combobox.js +108 -0
- package/lib/commonjs/components/Combobox.js.map +1 -0
- package/lib/commonjs/components/CompareChart.js +627 -0
- package/lib/commonjs/components/CompareChart.js.map +1 -0
- package/lib/commonjs/components/CompositeChart.js +654 -0
- package/lib/commonjs/components/CompositeChart.js.map +1 -0
- package/lib/commonjs/components/Countdown.js +152 -0
- package/lib/commonjs/components/Countdown.js.map +1 -0
- package/lib/commonjs/components/CreditCardVisual.js +167 -0
- package/lib/commonjs/components/CreditCardVisual.js.map +1 -0
- package/lib/commonjs/components/DateField.js +365 -0
- package/lib/commonjs/components/DateField.js.map +1 -0
- package/lib/commonjs/components/DayTimelineBlocks.js +253 -0
- package/lib/commonjs/components/DayTimelineBlocks.js.map +1 -0
- package/lib/commonjs/components/DayWheel.js +467 -0
- package/lib/commonjs/components/DayWheel.js.map +1 -0
- package/lib/commonjs/components/DeltaPill.js +154 -0
- package/lib/commonjs/components/DeltaPill.js.map +1 -0
- package/lib/commonjs/components/DistributionChart.js +776 -0
- package/lib/commonjs/components/DistributionChart.js.map +1 -0
- package/lib/commonjs/components/Divider.js +74 -0
- package/lib/commonjs/components/Divider.js.map +1 -0
- package/lib/commonjs/components/DonutChart.js +337 -0
- package/lib/commonjs/components/DonutChart.js.map +1 -0
- package/lib/commonjs/components/DotsLoader.js +94 -0
- package/lib/commonjs/components/DotsLoader.js.map +1 -0
- package/lib/commonjs/components/EffectAttributionLine.js +105 -0
- package/lib/commonjs/components/EffectAttributionLine.js.map +1 -0
- package/lib/commonjs/components/EmptyState.js +120 -0
- package/lib/commonjs/components/EmptyState.js.map +1 -0
- package/lib/commonjs/components/EngagementBar.js +122 -0
- package/lib/commonjs/components/EngagementBar.js.map +1 -0
- package/lib/commonjs/components/EnvironmentChart.js +573 -0
- package/lib/commonjs/components/EnvironmentChart.js.map +1 -0
- package/lib/commonjs/components/Eyebrow.js +32 -0
- package/lib/commonjs/components/Eyebrow.js.map +1 -0
- package/lib/commonjs/components/FocalPointPicker.js +196 -0
- package/lib/commonjs/components/FocalPointPicker.js.map +1 -0
- package/lib/commonjs/components/FollowButton.js +95 -0
- package/lib/commonjs/components/FollowButton.js.map +1 -0
- package/lib/commonjs/components/ForecastCallout.js +116 -0
- package/lib/commonjs/components/ForecastCallout.js.map +1 -0
- package/lib/commonjs/components/FormField.js +204 -0
- package/lib/commonjs/components/FormField.js.map +1 -0
- package/lib/commonjs/components/FunnelChart.js +260 -0
- package/lib/commonjs/components/FunnelChart.js.map +1 -0
- package/lib/commonjs/components/Gauge.js +252 -0
- package/lib/commonjs/components/Gauge.js.map +1 -0
- package/lib/commonjs/components/GradientText.js +136 -0
- package/lib/commonjs/components/GradientText.js.map +1 -0
- package/lib/commonjs/components/Heatmap.js +419 -0
- package/lib/commonjs/components/Heatmap.js.map +1 -0
- package/lib/commonjs/components/Highlight.js +55 -0
- package/lib/commonjs/components/Highlight.js.map +1 -0
- package/lib/commonjs/components/Hypnogram.js +842 -0
- package/lib/commonjs/components/Hypnogram.js.map +1 -0
- package/lib/commonjs/components/Icon.js +486 -0
- package/lib/commonjs/components/Icon.js.map +1 -0
- package/lib/commonjs/components/Input.js +142 -0
- package/lib/commonjs/components/Input.js.map +1 -0
- package/lib/commonjs/components/InsightCard.js +119 -0
- package/lib/commonjs/components/InsightCard.js.map +1 -0
- package/lib/commonjs/components/KeyValue.js +93 -0
- package/lib/commonjs/components/KeyValue.js.map +1 -0
- package/lib/commonjs/components/LeaderboardRow.js +140 -0
- package/lib/commonjs/components/LeaderboardRow.js.map +1 -0
- package/lib/commonjs/components/LineChart.js +1544 -0
- package/lib/commonjs/components/LineChart.js.map +1 -0
- package/lib/commonjs/components/ListRow.js +122 -0
- package/lib/commonjs/components/ListRow.js.map +1 -0
- package/lib/commonjs/components/Menu.js +183 -0
- package/lib/commonjs/components/Menu.js.map +1 -0
- package/lib/commonjs/components/MessageBubble.js +117 -0
- package/lib/commonjs/components/MessageBubble.js.map +1 -0
- package/lib/commonjs/components/MessageComposer.js +212 -0
- package/lib/commonjs/components/MessageComposer.js.map +1 -0
- package/lib/commonjs/components/MetaphorWidget.js +1053 -0
- package/lib/commonjs/components/MetaphorWidget.js.map +1 -0
- package/lib/commonjs/components/Meter.js +173 -0
- package/lib/commonjs/components/Meter.js.map +1 -0
- package/lib/commonjs/components/MetricTile.js +268 -0
- package/lib/commonjs/components/MetricTile.js.map +1 -0
- package/lib/commonjs/components/MiniRing.js +30 -0
- package/lib/commonjs/components/MiniRing.js.map +1 -0
- package/lib/commonjs/components/Modal.js +153 -0
- package/lib/commonjs/components/Modal.js.map +1 -0
- package/lib/commonjs/components/MuscleDiagram.js +326 -0
- package/lib/commonjs/components/MuscleDiagram.js.map +1 -0
- package/lib/commonjs/components/NoteField.js +73 -0
- package/lib/commonjs/components/NoteField.js.map +1 -0
- package/lib/commonjs/components/NotificationRow.js +234 -0
- package/lib/commonjs/components/NotificationRow.js.map +1 -0
- package/lib/commonjs/components/Pagination.js +212 -0
- package/lib/commonjs/components/Pagination.js.map +1 -0
- package/lib/commonjs/components/PasswordInput.js +120 -0
- package/lib/commonjs/components/PasswordInput.js.map +1 -0
- package/lib/commonjs/components/PasswordStrengthMeter.js +108 -0
- package/lib/commonjs/components/PasswordStrengthMeter.js.map +1 -0
- package/lib/commonjs/components/PendingPatternCard.js +182 -0
- package/lib/commonjs/components/PendingPatternCard.js.map +1 -0
- package/lib/commonjs/components/PhaseWheel.js +704 -0
- package/lib/commonjs/components/PhaseWheel.js.map +1 -0
- package/lib/commonjs/components/PkChart.js +566 -0
- package/lib/commonjs/components/PkChart.js.map +1 -0
- package/lib/commonjs/components/Popover.js +234 -0
- package/lib/commonjs/components/Popover.js.map +1 -0
- package/lib/commonjs/components/PrBadge.js +71 -0
- package/lib/commonjs/components/PrBadge.js.map +1 -0
- package/lib/commonjs/components/PrCard.js +150 -0
- package/lib/commonjs/components/PrCard.js.map +1 -0
- package/lib/commonjs/components/PricingTierCard.js +237 -0
- package/lib/commonjs/components/PricingTierCard.js.map +1 -0
- package/lib/commonjs/components/ProGate.js +235 -0
- package/lib/commonjs/components/ProGate.js.map +1 -0
- package/lib/commonjs/components/ProgressBar.js +515 -0
- package/lib/commonjs/components/ProgressBar.js.map +1 -0
- package/lib/commonjs/components/Pulse.js +36 -0
- package/lib/commonjs/components/Pulse.js.map +1 -0
- package/lib/commonjs/components/QRCode.js +519 -0
- package/lib/commonjs/components/QRCode.js.map +1 -0
- package/lib/commonjs/components/RadarChart.js +492 -0
- package/lib/commonjs/components/RadarChart.js.map +1 -0
- package/lib/commonjs/components/RangeBar.js +191 -0
- package/lib/commonjs/components/RangeBar.js.map +1 -0
- package/lib/commonjs/components/ReauthDialog.js +261 -0
- package/lib/commonjs/components/ReauthDialog.js.map +1 -0
- package/lib/commonjs/components/RestTimer.js +246 -0
- package/lib/commonjs/components/RestTimer.js.map +1 -0
- package/lib/commonjs/components/RichText.js +81 -0
- package/lib/commonjs/components/RichText.js.map +1 -0
- package/lib/commonjs/components/RichTextEditor.js +274 -0
- package/lib/commonjs/components/RichTextEditor.js.map +1 -0
- package/lib/commonjs/components/Ring.js +239 -0
- package/lib/commonjs/components/Ring.js.map +1 -0
- package/lib/commonjs/components/RoseChart.js +376 -0
- package/lib/commonjs/components/RoseChart.js.map +1 -0
- package/lib/commonjs/components/SankeyChart.js +652 -0
- package/lib/commonjs/components/SankeyChart.js.map +1 -0
- package/lib/commonjs/components/ScatterChart.js +432 -0
- package/lib/commonjs/components/ScatterChart.js.map +1 -0
- package/lib/commonjs/components/ScrollProgress.js +66 -0
- package/lib/commonjs/components/ScrollProgress.js.map +1 -0
- package/lib/commonjs/components/SectionDivider.js +59 -0
- package/lib/commonjs/components/SectionDivider.js.map +1 -0
- package/lib/commonjs/components/SectionHeader.js +53 -0
- package/lib/commonjs/components/SectionHeader.js.map +1 -0
- package/lib/commonjs/components/SegmentedTabs.js +336 -0
- package/lib/commonjs/components/SegmentedTabs.js.map +1 -0
- package/lib/commonjs/components/Select.js +380 -0
- package/lib/commonjs/components/Select.js.map +1 -0
- package/lib/commonjs/components/SessionBanner.js +220 -0
- package/lib/commonjs/components/SessionBanner.js.map +1 -0
- package/lib/commonjs/components/SessionChart.js +1046 -0
- package/lib/commonjs/components/SessionChart.js.map +1 -0
- package/lib/commonjs/components/SetTable.js +351 -0
- package/lib/commonjs/components/SetTable.js.map +1 -0
- package/lib/commonjs/components/ShareCard.js +227 -0
- package/lib/commonjs/components/ShareCard.js.map +1 -0
- package/lib/commonjs/components/Sheet.js +220 -0
- package/lib/commonjs/components/Sheet.js.map +1 -0
- package/lib/commonjs/components/Skeleton.js +28 -0
- package/lib/commonjs/components/Skeleton.js.map +1 -0
- package/lib/commonjs/components/Slider.js +173 -0
- package/lib/commonjs/components/Slider.js.map +1 -0
- package/lib/commonjs/components/Sortable.js +230 -0
- package/lib/commonjs/components/Sortable.js.map +1 -0
- package/lib/commonjs/components/SourceChip.js +111 -0
- package/lib/commonjs/components/SourceChip.js.map +1 -0
- package/lib/commonjs/components/Sparkline.js +110 -0
- package/lib/commonjs/components/Sparkline.js.map +1 -0
- package/lib/commonjs/components/Spinner.js +132 -0
- package/lib/commonjs/components/Spinner.js.map +1 -0
- package/lib/commonjs/components/SplitButton.js +158 -0
- package/lib/commonjs/components/SplitButton.js.map +1 -0
- package/lib/commonjs/components/SsoButton.js +109 -0
- package/lib/commonjs/components/SsoButton.js.map +1 -0
- package/lib/commonjs/components/StackedBar.js +133 -0
- package/lib/commonjs/components/StackedBar.js.map +1 -0
- package/lib/commonjs/components/Stat.js +167 -0
- package/lib/commonjs/components/Stat.js.map +1 -0
- package/lib/commonjs/components/StatTile.js +644 -0
- package/lib/commonjs/components/StatTile.js.map +1 -0
- package/lib/commonjs/components/StateLabel.js +73 -0
- package/lib/commonjs/components/StateLabel.js.map +1 -0
- package/lib/commonjs/components/StatusDot.js +65 -0
- package/lib/commonjs/components/StatusDot.js.map +1 -0
- package/lib/commonjs/components/Stepper.js +355 -0
- package/lib/commonjs/components/Stepper.js.map +1 -0
- package/lib/commonjs/components/SupplementChart.js +1002 -0
- package/lib/commonjs/components/SupplementChart.js.map +1 -0
- package/lib/commonjs/components/TabBar.js +303 -0
- package/lib/commonjs/components/TabBar.js.map +1 -0
- package/lib/commonjs/components/Table.js +458 -0
- package/lib/commonjs/components/Table.js.map +1 -0
- package/lib/commonjs/components/Tabs.js +88 -0
- package/lib/commonjs/components/Tabs.js.map +1 -0
- package/lib/commonjs/components/TagCloud.js +118 -0
- package/lib/commonjs/components/TagCloud.js.map +1 -0
- package/lib/commonjs/components/TagInput.js +298 -0
- package/lib/commonjs/components/TagInput.js.map +1 -0
- package/lib/commonjs/components/TemplateCard.js +206 -0
- package/lib/commonjs/components/TemplateCard.js.map +1 -0
- package/lib/commonjs/components/Timeline.js +219 -0
- package/lib/commonjs/components/Timeline.js.map +1 -0
- package/lib/commonjs/components/TimelineChart.js +1228 -0
- package/lib/commonjs/components/TimelineChart.js.map +1 -0
- package/lib/commonjs/components/Toast.js +156 -0
- package/lib/commonjs/components/Toast.js.map +1 -0
- package/lib/commonjs/components/Toggle.js +166 -0
- package/lib/commonjs/components/Toggle.js.map +1 -0
- package/lib/commonjs/components/Toolbar.js +310 -0
- package/lib/commonjs/components/Toolbar.js.map +1 -0
- package/lib/commonjs/components/Tooltip.js +245 -0
- package/lib/commonjs/components/Tooltip.js.map +1 -0
- package/lib/commonjs/components/TypingIndicator.js +112 -0
- package/lib/commonjs/components/TypingIndicator.js.map +1 -0
- package/lib/commonjs/components/UnitChart.js +482 -0
- package/lib/commonjs/components/UnitChart.js.map +1 -0
- package/lib/commonjs/components/VersionBadge.js +133 -0
- package/lib/commonjs/components/VersionBadge.js.map +1 -0
- package/lib/commonjs/components/VideoThumbnail.js +152 -0
- package/lib/commonjs/components/VideoThumbnail.js.map +1 -0
- package/lib/commonjs/components/VitalsStrip.js +766 -0
- package/lib/commonjs/components/VitalsStrip.js.map +1 -0
- package/lib/commonjs/components/WatchComplication.js +563 -0
- package/lib/commonjs/components/WatchComplication.js.map +1 -0
- package/lib/commonjs/components/ZoneBar.js +149 -0
- package/lib/commonjs/components/ZoneBar.js.map +1 -0
- package/lib/commonjs/components/ZonePyramid.js +398 -0
- package/lib/commonjs/components/ZonePyramid.js.map +1 -0
- package/lib/commonjs/index.js +1140 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/internal/optionalBlur.js +34 -0
- package/lib/commonjs/internal/optionalBlur.js.map +1 -0
- package/lib/commonjs/internal/optionalHaptics.js +40 -0
- package/lib/commonjs/internal/optionalHaptics.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/theme.js +61 -0
- package/lib/commonjs/theme.js.map +1 -0
- package/lib/module/components/Accordion.js +139 -0
- package/lib/module/components/Accordion.js.map +1 -0
- package/lib/module/components/AchievementBadge.js +223 -0
- package/lib/module/components/AchievementBadge.js.map +1 -0
- package/lib/module/components/Alert.js +227 -0
- package/lib/module/components/Alert.js.map +1 -0
- package/lib/module/components/AreaChart.js +501 -0
- package/lib/module/components/AreaChart.js.map +1 -0
- package/lib/module/components/AuroraBackground.js +262 -0
- package/lib/module/components/AuroraBackground.js.map +1 -0
- package/lib/module/components/Avatar.js +183 -0
- package/lib/module/components/Avatar.js.map +1 -0
- package/lib/module/components/AvatarStack.js +91 -0
- package/lib/module/components/AvatarStack.js.map +1 -0
- package/lib/module/components/BackLink.js +73 -0
- package/lib/module/components/BackLink.js.map +1 -0
- package/lib/module/components/Badge.js +132 -0
- package/lib/module/components/Badge.js.map +1 -0
- package/lib/module/components/BarChart.js +636 -0
- package/lib/module/components/BarChart.js.map +1 -0
- package/lib/module/components/BarFill.js +51 -0
- package/lib/module/components/BarFill.js.map +1 -0
- package/lib/module/components/BeeswarmChart.js +610 -0
- package/lib/module/components/BeeswarmChart.js.map +1 -0
- package/lib/module/components/BiomarkerRange.js +605 -0
- package/lib/module/components/BiomarkerRange.js.map +1 -0
- package/lib/module/components/BodyBattery.js +558 -0
- package/lib/module/components/BodyBattery.js.map +1 -0
- package/lib/module/components/BrandMark.js +179 -0
- package/lib/module/components/BrandMark.js.map +1 -0
- package/lib/module/components/BulletChart.js +401 -0
- package/lib/module/components/BulletChart.js.map +1 -0
- package/lib/module/components/Button.js +150 -0
- package/lib/module/components/Button.js.map +1 -0
- package/lib/module/components/CaffeineClock.js +486 -0
- package/lib/module/components/CaffeineClock.js.map +1 -0
- package/lib/module/components/Card.js +138 -0
- package/lib/module/components/Card.js.map +1 -0
- package/lib/module/components/CharCounter.js +102 -0
- package/lib/module/components/CharCounter.js.map +1 -0
- package/lib/module/components/ChartState.js +549 -0
- package/lib/module/components/ChartState.js.map +1 -0
- package/lib/module/components/Checkbox.js +175 -0
- package/lib/module/components/Checkbox.js.map +1 -0
- package/lib/module/components/Chip.js +214 -0
- package/lib/module/components/Chip.js.map +1 -0
- package/lib/module/components/ChoiceChip.js +129 -0
- package/lib/module/components/ChoiceChip.js.map +1 -0
- package/lib/module/components/CodeBlock.js +122 -0
- package/lib/module/components/CodeBlock.js.map +1 -0
- package/lib/module/components/CodeField.js +125 -0
- package/lib/module/components/CodeField.js.map +1 -0
- package/lib/module/components/ColorPicker.js +177 -0
- package/lib/module/components/ColorPicker.js.map +1 -0
- package/lib/module/components/ComboChart.js +414 -0
- package/lib/module/components/ComboChart.js.map +1 -0
- package/lib/module/components/Combobox.js +104 -0
- package/lib/module/components/Combobox.js.map +1 -0
- package/lib/module/components/CompareChart.js +622 -0
- package/lib/module/components/CompareChart.js.map +1 -0
- package/lib/module/components/CompositeChart.js +649 -0
- package/lib/module/components/CompositeChart.js.map +1 -0
- package/lib/module/components/Countdown.js +148 -0
- package/lib/module/components/Countdown.js.map +1 -0
- package/lib/module/components/CreditCardVisual.js +163 -0
- package/lib/module/components/CreditCardVisual.js.map +1 -0
- package/lib/module/components/DateField.js +361 -0
- package/lib/module/components/DateField.js.map +1 -0
- package/lib/module/components/DayTimelineBlocks.js +249 -0
- package/lib/module/components/DayTimelineBlocks.js.map +1 -0
- package/lib/module/components/DayWheel.js +462 -0
- package/lib/module/components/DayWheel.js.map +1 -0
- package/lib/module/components/DeltaPill.js +149 -0
- package/lib/module/components/DeltaPill.js.map +1 -0
- package/lib/module/components/DistributionChart.js +771 -0
- package/lib/module/components/DistributionChart.js.map +1 -0
- package/lib/module/components/Divider.js +70 -0
- package/lib/module/components/Divider.js.map +1 -0
- package/lib/module/components/DonutChart.js +332 -0
- package/lib/module/components/DonutChart.js.map +1 -0
- package/lib/module/components/DotsLoader.js +90 -0
- package/lib/module/components/DotsLoader.js.map +1 -0
- package/lib/module/components/EffectAttributionLine.js +101 -0
- package/lib/module/components/EffectAttributionLine.js.map +1 -0
- package/lib/module/components/EmptyState.js +115 -0
- package/lib/module/components/EmptyState.js.map +1 -0
- package/lib/module/components/EngagementBar.js +118 -0
- package/lib/module/components/EngagementBar.js.map +1 -0
- package/lib/module/components/EnvironmentChart.js +568 -0
- package/lib/module/components/EnvironmentChart.js.map +1 -0
- package/lib/module/components/Eyebrow.js +28 -0
- package/lib/module/components/Eyebrow.js.map +1 -0
- package/lib/module/components/FocalPointPicker.js +192 -0
- package/lib/module/components/FocalPointPicker.js.map +1 -0
- package/lib/module/components/FollowButton.js +91 -0
- package/lib/module/components/FollowButton.js.map +1 -0
- package/lib/module/components/ForecastCallout.js +112 -0
- package/lib/module/components/ForecastCallout.js.map +1 -0
- package/lib/module/components/FormField.js +198 -0
- package/lib/module/components/FormField.js.map +1 -0
- package/lib/module/components/FunnelChart.js +255 -0
- package/lib/module/components/FunnelChart.js.map +1 -0
- package/lib/module/components/Gauge.js +249 -0
- package/lib/module/components/Gauge.js.map +1 -0
- package/lib/module/components/GradientText.js +130 -0
- package/lib/module/components/GradientText.js.map +1 -0
- package/lib/module/components/Heatmap.js +414 -0
- package/lib/module/components/Heatmap.js.map +1 -0
- package/lib/module/components/Highlight.js +51 -0
- package/lib/module/components/Highlight.js.map +1 -0
- package/lib/module/components/Hypnogram.js +837 -0
- package/lib/module/components/Hypnogram.js.map +1 -0
- package/lib/module/components/Icon.js +480 -0
- package/lib/module/components/Icon.js.map +1 -0
- package/lib/module/components/Input.js +138 -0
- package/lib/module/components/Input.js.map +1 -0
- package/lib/module/components/InsightCard.js +115 -0
- package/lib/module/components/InsightCard.js.map +1 -0
- package/lib/module/components/KeyValue.js +89 -0
- package/lib/module/components/KeyValue.js.map +1 -0
- package/lib/module/components/LeaderboardRow.js +136 -0
- package/lib/module/components/LeaderboardRow.js.map +1 -0
- package/lib/module/components/LineChart.js +1539 -0
- package/lib/module/components/LineChart.js.map +1 -0
- package/lib/module/components/ListRow.js +118 -0
- package/lib/module/components/ListRow.js.map +1 -0
- package/lib/module/components/Menu.js +179 -0
- package/lib/module/components/Menu.js.map +1 -0
- package/lib/module/components/MessageBubble.js +113 -0
- package/lib/module/components/MessageBubble.js.map +1 -0
- package/lib/module/components/MessageComposer.js +208 -0
- package/lib/module/components/MessageComposer.js.map +1 -0
- package/lib/module/components/MetaphorWidget.js +1048 -0
- package/lib/module/components/MetaphorWidget.js.map +1 -0
- package/lib/module/components/Meter.js +169 -0
- package/lib/module/components/Meter.js.map +1 -0
- package/lib/module/components/MetricTile.js +263 -0
- package/lib/module/components/MetricTile.js.map +1 -0
- package/lib/module/components/MiniRing.js +26 -0
- package/lib/module/components/MiniRing.js.map +1 -0
- package/lib/module/components/Modal.js +148 -0
- package/lib/module/components/Modal.js.map +1 -0
- package/lib/module/components/MuscleDiagram.js +321 -0
- package/lib/module/components/MuscleDiagram.js.map +1 -0
- package/lib/module/components/NoteField.js +69 -0
- package/lib/module/components/NoteField.js.map +1 -0
- package/lib/module/components/NotificationRow.js +230 -0
- package/lib/module/components/NotificationRow.js.map +1 -0
- package/lib/module/components/Pagination.js +207 -0
- package/lib/module/components/Pagination.js.map +1 -0
- package/lib/module/components/PasswordInput.js +116 -0
- package/lib/module/components/PasswordInput.js.map +1 -0
- package/lib/module/components/PasswordStrengthMeter.js +104 -0
- package/lib/module/components/PasswordStrengthMeter.js.map +1 -0
- package/lib/module/components/PendingPatternCard.js +178 -0
- package/lib/module/components/PendingPatternCard.js.map +1 -0
- package/lib/module/components/PhaseWheel.js +699 -0
- package/lib/module/components/PhaseWheel.js.map +1 -0
- package/lib/module/components/PkChart.js +558 -0
- package/lib/module/components/PkChart.js.map +1 -0
- package/lib/module/components/Popover.js +230 -0
- package/lib/module/components/Popover.js.map +1 -0
- package/lib/module/components/PrBadge.js +66 -0
- package/lib/module/components/PrBadge.js.map +1 -0
- package/lib/module/components/PrCard.js +146 -0
- package/lib/module/components/PrCard.js.map +1 -0
- package/lib/module/components/PricingTierCard.js +233 -0
- package/lib/module/components/PricingTierCard.js.map +1 -0
- package/lib/module/components/ProGate.js +229 -0
- package/lib/module/components/ProGate.js.map +1 -0
- package/lib/module/components/ProgressBar.js +511 -0
- package/lib/module/components/ProgressBar.js.map +1 -0
- package/lib/module/components/Pulse.js +32 -0
- package/lib/module/components/Pulse.js.map +1 -0
- package/lib/module/components/QRCode.js +514 -0
- package/lib/module/components/QRCode.js.map +1 -0
- package/lib/module/components/RadarChart.js +487 -0
- package/lib/module/components/RadarChart.js.map +1 -0
- package/lib/module/components/RangeBar.js +187 -0
- package/lib/module/components/RangeBar.js.map +1 -0
- package/lib/module/components/ReauthDialog.js +256 -0
- package/lib/module/components/ReauthDialog.js.map +1 -0
- package/lib/module/components/RestTimer.js +239 -0
- package/lib/module/components/RestTimer.js.map +1 -0
- package/lib/module/components/RichText.js +77 -0
- package/lib/module/components/RichText.js.map +1 -0
- package/lib/module/components/RichTextEditor.js +269 -0
- package/lib/module/components/RichTextEditor.js.map +1 -0
- package/lib/module/components/Ring.js +236 -0
- package/lib/module/components/Ring.js.map +1 -0
- package/lib/module/components/RoseChart.js +371 -0
- package/lib/module/components/RoseChart.js.map +1 -0
- package/lib/module/components/SankeyChart.js +647 -0
- package/lib/module/components/SankeyChart.js.map +1 -0
- package/lib/module/components/ScatterChart.js +427 -0
- package/lib/module/components/ScatterChart.js.map +1 -0
- package/lib/module/components/ScrollProgress.js +62 -0
- package/lib/module/components/ScrollProgress.js.map +1 -0
- package/lib/module/components/SectionDivider.js +55 -0
- package/lib/module/components/SectionDivider.js.map +1 -0
- package/lib/module/components/SectionHeader.js +49 -0
- package/lib/module/components/SectionHeader.js.map +1 -0
- package/lib/module/components/SegmentedTabs.js +332 -0
- package/lib/module/components/SegmentedTabs.js.map +1 -0
- package/lib/module/components/Select.js +375 -0
- package/lib/module/components/Select.js.map +1 -0
- package/lib/module/components/SessionBanner.js +216 -0
- package/lib/module/components/SessionBanner.js.map +1 -0
- package/lib/module/components/SessionChart.js +1040 -0
- package/lib/module/components/SessionChart.js.map +1 -0
- package/lib/module/components/SetTable.js +345 -0
- package/lib/module/components/SetTable.js.map +1 -0
- package/lib/module/components/ShareCard.js +223 -0
- package/lib/module/components/ShareCard.js.map +1 -0
- package/lib/module/components/Sheet.js +216 -0
- package/lib/module/components/Sheet.js.map +1 -0
- package/lib/module/components/Skeleton.js +24 -0
- package/lib/module/components/Skeleton.js.map +1 -0
- package/lib/module/components/Slider.js +169 -0
- package/lib/module/components/Slider.js.map +1 -0
- package/lib/module/components/Sortable.js +226 -0
- package/lib/module/components/Sortable.js.map +1 -0
- package/lib/module/components/SourceChip.js +107 -0
- package/lib/module/components/SourceChip.js.map +1 -0
- package/lib/module/components/Sparkline.js +105 -0
- package/lib/module/components/Sparkline.js.map +1 -0
- package/lib/module/components/Spinner.js +127 -0
- package/lib/module/components/Spinner.js.map +1 -0
- package/lib/module/components/SplitButton.js +154 -0
- package/lib/module/components/SplitButton.js.map +1 -0
- package/lib/module/components/SsoButton.js +104 -0
- package/lib/module/components/SsoButton.js.map +1 -0
- package/lib/module/components/StackedBar.js +129 -0
- package/lib/module/components/StackedBar.js.map +1 -0
- package/lib/module/components/Stat.js +163 -0
- package/lib/module/components/Stat.js.map +1 -0
- package/lib/module/components/StatTile.js +639 -0
- package/lib/module/components/StatTile.js.map +1 -0
- package/lib/module/components/StateLabel.js +69 -0
- package/lib/module/components/StateLabel.js.map +1 -0
- package/lib/module/components/StatusDot.js +61 -0
- package/lib/module/components/StatusDot.js.map +1 -0
- package/lib/module/components/Stepper.js +350 -0
- package/lib/module/components/Stepper.js.map +1 -0
- package/lib/module/components/SupplementChart.js +997 -0
- package/lib/module/components/SupplementChart.js.map +1 -0
- package/lib/module/components/TabBar.js +298 -0
- package/lib/module/components/TabBar.js.map +1 -0
- package/lib/module/components/Table.js +452 -0
- package/lib/module/components/Table.js.map +1 -0
- package/lib/module/components/Tabs.js +84 -0
- package/lib/module/components/Tabs.js.map +1 -0
- package/lib/module/components/TagCloud.js +113 -0
- package/lib/module/components/TagCloud.js.map +1 -0
- package/lib/module/components/TagInput.js +291 -0
- package/lib/module/components/TagInput.js.map +1 -0
- package/lib/module/components/TemplateCard.js +202 -0
- package/lib/module/components/TemplateCard.js.map +1 -0
- package/lib/module/components/Timeline.js +214 -0
- package/lib/module/components/Timeline.js.map +1 -0
- package/lib/module/components/TimelineChart.js +1223 -0
- package/lib/module/components/TimelineChart.js.map +1 -0
- package/lib/module/components/Toast.js +151 -0
- package/lib/module/components/Toast.js.map +1 -0
- package/lib/module/components/Toggle.js +162 -0
- package/lib/module/components/Toggle.js.map +1 -0
- package/lib/module/components/Toolbar.js +306 -0
- package/lib/module/components/Toolbar.js.map +1 -0
- package/lib/module/components/Tooltip.js +241 -0
- package/lib/module/components/Tooltip.js.map +1 -0
- package/lib/module/components/TypingIndicator.js +108 -0
- package/lib/module/components/TypingIndicator.js.map +1 -0
- package/lib/module/components/UnitChart.js +477 -0
- package/lib/module/components/UnitChart.js.map +1 -0
- package/lib/module/components/VersionBadge.js +129 -0
- package/lib/module/components/VersionBadge.js.map +1 -0
- package/lib/module/components/VideoThumbnail.js +147 -0
- package/lib/module/components/VideoThumbnail.js.map +1 -0
- package/lib/module/components/VitalsStrip.js +761 -0
- package/lib/module/components/VitalsStrip.js.map +1 -0
- package/lib/module/components/WatchComplication.js +558 -0
- package/lib/module/components/WatchComplication.js.map +1 -0
- package/lib/module/components/ZoneBar.js +145 -0
- package/lib/module/components/ZoneBar.js.map +1 -0
- package/lib/module/components/ZonePyramid.js +393 -0
- package/lib/module/components/ZonePyramid.js.map +1 -0
- package/lib/module/index.js +166 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/internal/optionalBlur.js +30 -0
- package/lib/module/internal/optionalBlur.js.map +1 -0
- package/lib/module/internal/optionalHaptics.js +34 -0
- package/lib/module/internal/optionalHaptics.js.map +1 -0
- package/lib/module/theme.js +6 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/typescript/components/Accordion.d.ts +20 -0
- package/lib/typescript/components/Accordion.d.ts.map +1 -0
- package/lib/typescript/components/AchievementBadge.d.ts +29 -0
- package/lib/typescript/components/AchievementBadge.d.ts.map +1 -0
- package/lib/typescript/components/Alert.d.ts +18 -0
- package/lib/typescript/components/Alert.d.ts.map +1 -0
- package/lib/typescript/components/AreaChart.d.ts +58 -0
- package/lib/typescript/components/AreaChart.d.ts.map +1 -0
- package/lib/typescript/components/AuroraBackground.d.ts +24 -0
- package/lib/typescript/components/AuroraBackground.d.ts.map +1 -0
- package/lib/typescript/components/Avatar.d.ts +38 -0
- package/lib/typescript/components/Avatar.d.ts.map +1 -0
- package/lib/typescript/components/AvatarStack.d.ts +26 -0
- package/lib/typescript/components/AvatarStack.d.ts.map +1 -0
- package/lib/typescript/components/BackLink.d.ts +20 -0
- package/lib/typescript/components/BackLink.d.ts.map +1 -0
- package/lib/typescript/components/Badge.d.ts +12 -0
- package/lib/typescript/components/Badge.d.ts.map +1 -0
- package/lib/typescript/components/BarChart.d.ts +83 -0
- package/lib/typescript/components/BarChart.d.ts.map +1 -0
- package/lib/typescript/components/BarFill.d.ts +15 -0
- package/lib/typescript/components/BarFill.d.ts.map +1 -0
- package/lib/typescript/components/BeeswarmChart.d.ts +71 -0
- package/lib/typescript/components/BeeswarmChart.d.ts.map +1 -0
- package/lib/typescript/components/BiomarkerRange.d.ts +64 -0
- package/lib/typescript/components/BiomarkerRange.d.ts.map +1 -0
- package/lib/typescript/components/BodyBattery.d.ts +70 -0
- package/lib/typescript/components/BodyBattery.d.ts.map +1 -0
- package/lib/typescript/components/BrandMark.d.ts +10 -0
- package/lib/typescript/components/BrandMark.d.ts.map +1 -0
- package/lib/typescript/components/BulletChart.d.ts +61 -0
- package/lib/typescript/components/BulletChart.d.ts.map +1 -0
- package/lib/typescript/components/Button.d.ts +27 -0
- package/lib/typescript/components/Button.d.ts.map +1 -0
- package/lib/typescript/components/CaffeineClock.d.ts +64 -0
- package/lib/typescript/components/CaffeineClock.d.ts.map +1 -0
- package/lib/typescript/components/Card.d.ts +23 -0
- package/lib/typescript/components/Card.d.ts.map +1 -0
- package/lib/typescript/components/CharCounter.d.ts +30 -0
- package/lib/typescript/components/CharCounter.d.ts.map +1 -0
- package/lib/typescript/components/ChartState.d.ts +58 -0
- package/lib/typescript/components/ChartState.d.ts.map +1 -0
- package/lib/typescript/components/Checkbox.d.ts +44 -0
- package/lib/typescript/components/Checkbox.d.ts.map +1 -0
- package/lib/typescript/components/Chip.d.ts +17 -0
- package/lib/typescript/components/Chip.d.ts.map +1 -0
- package/lib/typescript/components/ChoiceChip.d.ts +31 -0
- package/lib/typescript/components/ChoiceChip.d.ts.map +1 -0
- package/lib/typescript/components/CodeBlock.d.ts +18 -0
- package/lib/typescript/components/CodeBlock.d.ts.map +1 -0
- package/lib/typescript/components/CodeField.d.ts +22 -0
- package/lib/typescript/components/CodeField.d.ts.map +1 -0
- package/lib/typescript/components/ColorPicker.d.ts +20 -0
- package/lib/typescript/components/ColorPicker.d.ts.map +1 -0
- package/lib/typescript/components/ComboChart.d.ts +56 -0
- package/lib/typescript/components/ComboChart.d.ts.map +1 -0
- package/lib/typescript/components/Combobox.d.ts +39 -0
- package/lib/typescript/components/Combobox.d.ts.map +1 -0
- package/lib/typescript/components/CompareChart.d.ts +80 -0
- package/lib/typescript/components/CompareChart.d.ts.map +1 -0
- package/lib/typescript/components/CompositeChart.d.ts +83 -0
- package/lib/typescript/components/CompositeChart.d.ts.map +1 -0
- package/lib/typescript/components/Countdown.d.ts +28 -0
- package/lib/typescript/components/Countdown.d.ts.map +1 -0
- package/lib/typescript/components/CreditCardVisual.d.ts +26 -0
- package/lib/typescript/components/CreditCardVisual.d.ts.map +1 -0
- package/lib/typescript/components/DateField.d.ts +39 -0
- package/lib/typescript/components/DateField.d.ts.map +1 -0
- package/lib/typescript/components/DayTimelineBlocks.d.ts +40 -0
- package/lib/typescript/components/DayTimelineBlocks.d.ts.map +1 -0
- package/lib/typescript/components/DayWheel.d.ts +70 -0
- package/lib/typescript/components/DayWheel.d.ts.map +1 -0
- package/lib/typescript/components/DeltaPill.d.ts +22 -0
- package/lib/typescript/components/DeltaPill.d.ts.map +1 -0
- package/lib/typescript/components/DistributionChart.d.ts +94 -0
- package/lib/typescript/components/DistributionChart.d.ts.map +1 -0
- package/lib/typescript/components/Divider.d.ts +16 -0
- package/lib/typescript/components/Divider.d.ts.map +1 -0
- package/lib/typescript/components/DonutChart.d.ts +70 -0
- package/lib/typescript/components/DonutChart.d.ts.map +1 -0
- package/lib/typescript/components/DotsLoader.d.ts +19 -0
- package/lib/typescript/components/DotsLoader.d.ts.map +1 -0
- package/lib/typescript/components/EffectAttributionLine.d.ts +24 -0
- package/lib/typescript/components/EffectAttributionLine.d.ts.map +1 -0
- package/lib/typescript/components/EmptyState.d.ts +17 -0
- package/lib/typescript/components/EmptyState.d.ts.map +1 -0
- package/lib/typescript/components/EngagementBar.d.ts +23 -0
- package/lib/typescript/components/EngagementBar.d.ts.map +1 -0
- package/lib/typescript/components/EnvironmentChart.d.ts +89 -0
- package/lib/typescript/components/EnvironmentChart.d.ts.map +1 -0
- package/lib/typescript/components/Eyebrow.d.ts +7 -0
- package/lib/typescript/components/Eyebrow.d.ts.map +1 -0
- package/lib/typescript/components/FocalPointPicker.d.ts +31 -0
- package/lib/typescript/components/FocalPointPicker.d.ts.map +1 -0
- package/lib/typescript/components/FollowButton.d.ts +21 -0
- package/lib/typescript/components/FollowButton.d.ts.map +1 -0
- package/lib/typescript/components/ForecastCallout.d.ts +21 -0
- package/lib/typescript/components/ForecastCallout.d.ts.map +1 -0
- package/lib/typescript/components/FormField.d.ts +32 -0
- package/lib/typescript/components/FormField.d.ts.map +1 -0
- package/lib/typescript/components/FunnelChart.d.ts +46 -0
- package/lib/typescript/components/FunnelChart.d.ts.map +1 -0
- package/lib/typescript/components/Gauge.d.ts +70 -0
- package/lib/typescript/components/Gauge.d.ts.map +1 -0
- package/lib/typescript/components/GradientText.d.ts +21 -0
- package/lib/typescript/components/GradientText.d.ts.map +1 -0
- package/lib/typescript/components/Heatmap.d.ts +87 -0
- package/lib/typescript/components/Heatmap.d.ts.map +1 -0
- package/lib/typescript/components/Highlight.d.ts +11 -0
- package/lib/typescript/components/Highlight.d.ts.map +1 -0
- package/lib/typescript/components/Hypnogram.d.ts +94 -0
- package/lib/typescript/components/Hypnogram.d.ts.map +1 -0
- package/lib/typescript/components/Icon.d.ts +30 -0
- package/lib/typescript/components/Icon.d.ts.map +1 -0
- package/lib/typescript/components/Input.d.ts +25 -0
- package/lib/typescript/components/Input.d.ts.map +1 -0
- package/lib/typescript/components/InsightCard.d.ts +37 -0
- package/lib/typescript/components/InsightCard.d.ts.map +1 -0
- package/lib/typescript/components/KeyValue.d.ts +18 -0
- package/lib/typescript/components/KeyValue.d.ts.map +1 -0
- package/lib/typescript/components/LeaderboardRow.d.ts +31 -0
- package/lib/typescript/components/LeaderboardRow.d.ts.map +1 -0
- package/lib/typescript/components/LineChart.d.ts +166 -0
- package/lib/typescript/components/LineChart.d.ts.map +1 -0
- package/lib/typescript/components/ListRow.d.ts +37 -0
- package/lib/typescript/components/ListRow.d.ts.map +1 -0
- package/lib/typescript/components/Menu.d.ts +28 -0
- package/lib/typescript/components/Menu.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble.d.ts +20 -0
- package/lib/typescript/components/MessageBubble.d.ts.map +1 -0
- package/lib/typescript/components/MessageComposer.d.ts +20 -0
- package/lib/typescript/components/MessageComposer.d.ts.map +1 -0
- package/lib/typescript/components/MetaphorWidget.d.ts +107 -0
- package/lib/typescript/components/MetaphorWidget.d.ts.map +1 -0
- package/lib/typescript/components/Meter.d.ts +34 -0
- package/lib/typescript/components/Meter.d.ts.map +1 -0
- package/lib/typescript/components/MetricTile.d.ts +43 -0
- package/lib/typescript/components/MetricTile.d.ts.map +1 -0
- package/lib/typescript/components/MiniRing.d.ts +9 -0
- package/lib/typescript/components/MiniRing.d.ts.map +1 -0
- package/lib/typescript/components/Modal.d.ts +19 -0
- package/lib/typescript/components/Modal.d.ts.map +1 -0
- package/lib/typescript/components/MuscleDiagram.d.ts +37 -0
- package/lib/typescript/components/MuscleDiagram.d.ts.map +1 -0
- package/lib/typescript/components/NoteField.d.ts +9 -0
- package/lib/typescript/components/NoteField.d.ts.map +1 -0
- package/lib/typescript/components/NotificationRow.d.ts +36 -0
- package/lib/typescript/components/NotificationRow.d.ts.map +1 -0
- package/lib/typescript/components/Pagination.d.ts +22 -0
- package/lib/typescript/components/Pagination.d.ts.map +1 -0
- package/lib/typescript/components/PasswordInput.d.ts +24 -0
- package/lib/typescript/components/PasswordInput.d.ts.map +1 -0
- package/lib/typescript/components/PasswordStrengthMeter.d.ts +18 -0
- package/lib/typescript/components/PasswordStrengthMeter.d.ts.map +1 -0
- package/lib/typescript/components/PendingPatternCard.d.ts +27 -0
- package/lib/typescript/components/PendingPatternCard.d.ts.map +1 -0
- package/lib/typescript/components/PhaseWheel.d.ts +103 -0
- package/lib/typescript/components/PhaseWheel.d.ts.map +1 -0
- package/lib/typescript/components/PkChart.d.ts +67 -0
- package/lib/typescript/components/PkChart.d.ts.map +1 -0
- package/lib/typescript/components/Popover.d.ts +27 -0
- package/lib/typescript/components/Popover.d.ts.map +1 -0
- package/lib/typescript/components/PrBadge.d.ts +21 -0
- package/lib/typescript/components/PrBadge.d.ts.map +1 -0
- package/lib/typescript/components/PrCard.d.ts +29 -0
- package/lib/typescript/components/PrCard.d.ts.map +1 -0
- package/lib/typescript/components/PricingTierCard.d.ts +46 -0
- package/lib/typescript/components/PricingTierCard.d.ts.map +1 -0
- package/lib/typescript/components/ProGate.d.ts +26 -0
- package/lib/typescript/components/ProGate.d.ts.map +1 -0
- package/lib/typescript/components/ProgressBar.d.ts +60 -0
- package/lib/typescript/components/ProgressBar.d.ts.map +1 -0
- package/lib/typescript/components/Pulse.d.ts +8 -0
- package/lib/typescript/components/Pulse.d.ts.map +1 -0
- package/lib/typescript/components/QRCode.d.ts +17 -0
- package/lib/typescript/components/QRCode.d.ts.map +1 -0
- package/lib/typescript/components/RadarChart.d.ts +59 -0
- package/lib/typescript/components/RadarChart.d.ts.map +1 -0
- package/lib/typescript/components/RangeBar.d.ts +38 -0
- package/lib/typescript/components/RangeBar.d.ts.map +1 -0
- package/lib/typescript/components/ReauthDialog.d.ts +44 -0
- package/lib/typescript/components/ReauthDialog.d.ts.map +1 -0
- package/lib/typescript/components/RestTimer.d.ts +45 -0
- package/lib/typescript/components/RestTimer.d.ts.map +1 -0
- package/lib/typescript/components/RichText.d.ts +26 -0
- package/lib/typescript/components/RichText.d.ts.map +1 -0
- package/lib/typescript/components/RichTextEditor.d.ts +25 -0
- package/lib/typescript/components/RichTextEditor.d.ts.map +1 -0
- package/lib/typescript/components/Ring.d.ts +63 -0
- package/lib/typescript/components/Ring.d.ts.map +1 -0
- package/lib/typescript/components/RoseChart.d.ts +54 -0
- package/lib/typescript/components/RoseChart.d.ts.map +1 -0
- package/lib/typescript/components/SankeyChart.d.ts +93 -0
- package/lib/typescript/components/SankeyChart.d.ts.map +1 -0
- package/lib/typescript/components/ScatterChart.d.ts +59 -0
- package/lib/typescript/components/ScatterChart.d.ts.map +1 -0
- package/lib/typescript/components/ScrollProgress.d.ts +24 -0
- package/lib/typescript/components/ScrollProgress.d.ts.map +1 -0
- package/lib/typescript/components/SectionDivider.d.ts +18 -0
- package/lib/typescript/components/SectionDivider.d.ts.map +1 -0
- package/lib/typescript/components/SectionHeader.d.ts +18 -0
- package/lib/typescript/components/SectionHeader.d.ts.map +1 -0
- package/lib/typescript/components/SegmentedTabs.d.ts +85 -0
- package/lib/typescript/components/SegmentedTabs.d.ts.map +1 -0
- package/lib/typescript/components/Select.d.ts +47 -0
- package/lib/typescript/components/Select.d.ts.map +1 -0
- package/lib/typescript/components/SessionBanner.d.ts +45 -0
- package/lib/typescript/components/SessionBanner.d.ts.map +1 -0
- package/lib/typescript/components/SessionChart.d.ts +130 -0
- package/lib/typescript/components/SessionChart.d.ts.map +1 -0
- package/lib/typescript/components/SetTable.d.ts +58 -0
- package/lib/typescript/components/SetTable.d.ts.map +1 -0
- package/lib/typescript/components/ShareCard.d.ts +40 -0
- package/lib/typescript/components/ShareCard.d.ts.map +1 -0
- package/lib/typescript/components/Sheet.d.ts +22 -0
- package/lib/typescript/components/Sheet.d.ts.map +1 -0
- package/lib/typescript/components/Skeleton.d.ts +9 -0
- package/lib/typescript/components/Skeleton.d.ts.map +1 -0
- package/lib/typescript/components/Slider.d.ts +27 -0
- package/lib/typescript/components/Slider.d.ts.map +1 -0
- package/lib/typescript/components/Sortable.d.ts +25 -0
- package/lib/typescript/components/Sortable.d.ts.map +1 -0
- package/lib/typescript/components/SourceChip.d.ts +24 -0
- package/lib/typescript/components/SourceChip.d.ts.map +1 -0
- package/lib/typescript/components/Sparkline.d.ts +28 -0
- package/lib/typescript/components/Sparkline.d.ts.map +1 -0
- package/lib/typescript/components/Spinner.d.ts +23 -0
- package/lib/typescript/components/Spinner.d.ts.map +1 -0
- package/lib/typescript/components/SplitButton.d.ts +21 -0
- package/lib/typescript/components/SplitButton.d.ts.map +1 -0
- package/lib/typescript/components/SsoButton.d.ts +10 -0
- package/lib/typescript/components/SsoButton.d.ts.map +1 -0
- package/lib/typescript/components/StackedBar.d.ts +32 -0
- package/lib/typescript/components/StackedBar.d.ts.map +1 -0
- package/lib/typescript/components/Stat.d.ts +33 -0
- package/lib/typescript/components/Stat.d.ts.map +1 -0
- package/lib/typescript/components/StatTile.d.ts +90 -0
- package/lib/typescript/components/StatTile.d.ts.map +1 -0
- package/lib/typescript/components/StateLabel.d.ts +12 -0
- package/lib/typescript/components/StateLabel.d.ts.map +1 -0
- package/lib/typescript/components/StatusDot.d.ts +13 -0
- package/lib/typescript/components/StatusDot.d.ts.map +1 -0
- package/lib/typescript/components/Stepper.d.ts +47 -0
- package/lib/typescript/components/Stepper.d.ts.map +1 -0
- package/lib/typescript/components/SupplementChart.d.ts +121 -0
- package/lib/typescript/components/SupplementChart.d.ts.map +1 -0
- package/lib/typescript/components/TabBar.d.ts +52 -0
- package/lib/typescript/components/TabBar.d.ts.map +1 -0
- package/lib/typescript/components/Table.d.ts +64 -0
- package/lib/typescript/components/Table.d.ts.map +1 -0
- package/lib/typescript/components/Tabs.d.ts +16 -0
- package/lib/typescript/components/Tabs.d.ts.map +1 -0
- package/lib/typescript/components/TagCloud.d.ts +31 -0
- package/lib/typescript/components/TagCloud.d.ts.map +1 -0
- package/lib/typescript/components/TagInput.d.ts +37 -0
- package/lib/typescript/components/TagInput.d.ts.map +1 -0
- package/lib/typescript/components/TemplateCard.d.ts +43 -0
- package/lib/typescript/components/TemplateCard.d.ts.map +1 -0
- package/lib/typescript/components/Timeline.d.ts +18 -0
- package/lib/typescript/components/Timeline.d.ts.map +1 -0
- package/lib/typescript/components/TimelineChart.d.ts +124 -0
- package/lib/typescript/components/TimelineChart.d.ts.map +1 -0
- package/lib/typescript/components/Toast.d.ts +18 -0
- package/lib/typescript/components/Toast.d.ts.map +1 -0
- package/lib/typescript/components/Toggle.d.ts +22 -0
- package/lib/typescript/components/Toggle.d.ts.map +1 -0
- package/lib/typescript/components/Toolbar.d.ts +48 -0
- package/lib/typescript/components/Toolbar.d.ts.map +1 -0
- package/lib/typescript/components/Tooltip.d.ts +16 -0
- package/lib/typescript/components/Tooltip.d.ts.map +1 -0
- package/lib/typescript/components/TypingIndicator.d.ts +16 -0
- package/lib/typescript/components/TypingIndicator.d.ts.map +1 -0
- package/lib/typescript/components/UnitChart.d.ts +84 -0
- package/lib/typescript/components/UnitChart.d.ts.map +1 -0
- package/lib/typescript/components/VersionBadge.d.ts +17 -0
- package/lib/typescript/components/VersionBadge.d.ts.map +1 -0
- package/lib/typescript/components/VideoThumbnail.d.ts +24 -0
- package/lib/typescript/components/VideoThumbnail.d.ts.map +1 -0
- package/lib/typescript/components/VitalsStrip.d.ts +53 -0
- package/lib/typescript/components/VitalsStrip.d.ts.map +1 -0
- package/lib/typescript/components/WatchComplication.d.ts +84 -0
- package/lib/typescript/components/WatchComplication.d.ts.map +1 -0
- package/lib/typescript/components/ZoneBar.d.ts +33 -0
- package/lib/typescript/components/ZoneBar.d.ts.map +1 -0
- package/lib/typescript/components/ZonePyramid.d.ts +51 -0
- package/lib/typescript/components/ZonePyramid.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +288 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/internal/optionalBlur.d.ts +13 -0
- package/lib/typescript/internal/optionalBlur.d.ts.map +1 -0
- package/lib/typescript/internal/optionalHaptics.d.ts +7 -0
- package/lib/typescript/internal/optionalHaptics.d.ts.map +1 -0
- package/lib/typescript/theme.d.ts +5 -0
- package/lib/typescript/theme.d.ts.map +1 -0
- package/package.json +92 -3
- package/src/components/Accordion.tsx +130 -0
- package/src/components/AchievementBadge.tsx +217 -0
- package/src/components/Alert.tsx +149 -0
- package/src/components/AreaChart.tsx +546 -0
- package/src/components/AuroraBackground.tsx +198 -0
- package/src/components/Avatar.tsx +164 -0
- package/src/components/AvatarStack.tsx +94 -0
- package/src/components/BackLink.tsx +64 -0
- package/src/components/Badge.tsx +91 -0
- package/src/components/BarChart.tsx +643 -0
- package/src/components/BarFill.tsx +37 -0
- package/src/components/BeeswarmChart.tsx +567 -0
- package/src/components/BiomarkerRange.tsx +571 -0
- package/src/components/BodyBattery.tsx +551 -0
- package/src/components/BrandMark.tsx +107 -0
- package/src/components/BulletChart.tsx +433 -0
- package/src/components/Button.tsx +127 -0
- package/src/components/CaffeineClock.tsx +472 -0
- package/src/components/Card.tsx +139 -0
- package/src/components/CharCounter.tsx +113 -0
- package/src/components/ChartState.tsx +473 -0
- package/src/components/Checkbox.tsx +175 -0
- package/src/components/Chip.tsx +132 -0
- package/src/components/ChoiceChip.tsx +119 -0
- package/src/components/CodeBlock.tsx +106 -0
- package/src/components/CodeField.tsx +137 -0
- package/src/components/ColorPicker.tsx +169 -0
- package/src/components/ComboChart.tsx +476 -0
- package/src/components/Combobox.tsx +141 -0
- package/src/components/CompareChart.tsx +651 -0
- package/src/components/CompositeChart.tsx +609 -0
- package/src/components/Countdown.tsx +155 -0
- package/src/components/CreditCardVisual.tsx +151 -0
- package/src/components/DateField.tsx +346 -0
- package/src/components/DayTimelineBlocks.tsx +270 -0
- package/src/components/DayWheel.tsx +483 -0
- package/src/components/DeltaPill.tsx +114 -0
- package/src/components/DistributionChart.tsx +739 -0
- package/src/components/Divider.tsx +61 -0
- package/src/components/DonutChart.tsx +399 -0
- package/src/components/DotsLoader.tsx +74 -0
- package/src/components/EffectAttributionLine.tsx +82 -0
- package/src/components/EmptyState.tsx +108 -0
- package/src/components/EngagementBar.tsx +140 -0
- package/src/components/EnvironmentChart.tsx +522 -0
- package/src/components/Eyebrow.tsx +22 -0
- package/src/components/FocalPointPicker.tsx +193 -0
- package/src/components/FollowButton.tsx +78 -0
- package/src/components/ForecastCallout.tsx +100 -0
- package/src/components/FormField.tsx +217 -0
- package/src/components/FunnelChart.tsx +310 -0
- package/src/components/Gauge.tsx +329 -0
- package/src/components/GradientText.tsx +114 -0
- package/src/components/Heatmap.tsx +459 -0
- package/src/components/Highlight.tsx +36 -0
- package/src/components/Hypnogram.tsx +751 -0
- package/src/components/Icon.tsx +680 -0
- package/src/components/Input.tsx +125 -0
- package/src/components/InsightCard.tsx +130 -0
- package/src/components/KeyValue.tsx +83 -0
- package/src/components/LeaderboardRow.tsx +156 -0
- package/src/components/LineChart.tsx +1529 -0
- package/src/components/ListRow.tsx +153 -0
- package/src/components/Menu.tsx +156 -0
- package/src/components/MessageBubble.tsx +118 -0
- package/src/components/MessageComposer.tsx +202 -0
- package/src/components/MetaphorWidget.tsx +848 -0
- package/src/components/Meter.tsx +186 -0
- package/src/components/MetricTile.tsx +247 -0
- package/src/components/MiniRing.tsx +17 -0
- package/src/components/Modal.tsx +129 -0
- package/src/components/MuscleDiagram.tsx +319 -0
- package/src/components/NoteField.tsx +68 -0
- package/src/components/NotificationRow.tsx +230 -0
- package/src/components/Pagination.tsx +188 -0
- package/src/components/PasswordInput.tsx +111 -0
- package/src/components/PasswordStrengthMeter.tsx +104 -0
- package/src/components/PendingPatternCard.tsx +163 -0
- package/src/components/PhaseWheel.tsx +781 -0
- package/src/components/PkChart.tsx +539 -0
- package/src/components/Popover.tsx +206 -0
- package/src/components/PrBadge.tsx +51 -0
- package/src/components/PrCard.tsx +132 -0
- package/src/components/PricingTierCard.tsx +234 -0
- package/src/components/ProGate.tsx +194 -0
- package/src/components/ProgressBar.tsx +439 -0
- package/src/components/Pulse.tsx +17 -0
- package/src/components/QRCode.tsx +555 -0
- package/src/components/RadarChart.tsx +538 -0
- package/src/components/RangeBar.tsx +206 -0
- package/src/components/ReauthDialog.tsx +282 -0
- package/src/components/RestTimer.tsx +193 -0
- package/src/components/RichText.tsx +71 -0
- package/src/components/RichTextEditor.tsx +207 -0
- package/src/components/Ring.tsx +269 -0
- package/src/components/RoseChart.tsx +375 -0
- package/src/components/SankeyChart.tsx +687 -0
- package/src/components/ScatterChart.tsx +498 -0
- package/src/components/ScrollProgress.tsx +61 -0
- package/src/components/SectionDivider.tsx +51 -0
- package/src/components/SectionHeader.tsx +41 -0
- package/src/components/SegmentedTabs.tsx +389 -0
- package/src/components/Select.tsx +335 -0
- package/src/components/SessionBanner.tsx +195 -0
- package/src/components/SessionChart.tsx +917 -0
- package/src/components/SetTable.tsx +341 -0
- package/src/components/ShareCard.tsx +145 -0
- package/src/components/Sheet.tsx +212 -0
- package/src/components/Skeleton.tsx +13 -0
- package/src/components/Slider.tsx +187 -0
- package/src/components/Sortable.tsx +263 -0
- package/src/components/SourceChip.tsx +95 -0
- package/src/components/Sparkline.tsx +108 -0
- package/src/components/Spinner.tsx +128 -0
- package/src/components/SplitButton.tsx +111 -0
- package/src/components/SsoButton.tsx +93 -0
- package/src/components/StackedBar.tsx +138 -0
- package/src/components/Stat.tsx +118 -0
- package/src/components/StatTile.tsx +581 -0
- package/src/components/StateLabel.tsx +62 -0
- package/src/components/StatusDot.tsx +58 -0
- package/src/components/Stepper.tsx +359 -0
- package/src/components/SupplementChart.tsx +1044 -0
- package/src/components/TabBar.tsx +297 -0
- package/src/components/Table.tsx +448 -0
- package/src/components/Tabs.tsx +85 -0
- package/src/components/TagCloud.tsx +111 -0
- package/src/components/TagInput.tsx +325 -0
- package/src/components/TemplateCard.tsx +181 -0
- package/src/components/Timeline.tsx +132 -0
- package/src/components/TimelineChart.tsx +1035 -0
- package/src/components/Toast.tsx +138 -0
- package/src/components/Toggle.tsx +155 -0
- package/src/components/Toolbar.tsx +292 -0
- package/src/components/Tooltip.tsx +193 -0
- package/src/components/TypingIndicator.tsx +106 -0
- package/src/components/UnitChart.tsx +519 -0
- package/src/components/VersionBadge.tsx +129 -0
- package/src/components/VideoThumbnail.tsx +140 -0
- package/src/components/VitalsStrip.tsx +636 -0
- package/src/components/WatchComplication.tsx +536 -0
- package/src/components/ZoneBar.tsx +148 -0
- package/src/components/ZonePyramid.tsx +405 -0
- package/src/components/__tests__/Chip.test.tsx +33 -0
- package/src/components/__tests__/CodeInput.test.tsx +62 -0
- package/src/components/__tests__/DeltaPill.test.tsx +41 -0
- package/src/components/__tests__/GradientText.test.tsx +69 -0
- package/src/components/__tests__/Icon.test.tsx +61 -0
- package/src/components/__tests__/Input.test.tsx +30 -0
- package/src/components/__tests__/LineChart.test.tsx +62 -0
- package/src/components/__tests__/ListRow.test.tsx +28 -0
- package/src/components/__tests__/PkChart.test.tsx +47 -0
- package/src/components/__tests__/PrBadge.test.tsx +32 -0
- package/src/components/__tests__/PrCard.test.tsx +49 -0
- package/src/components/__tests__/RestTimer.test.tsx +94 -0
- package/src/components/__tests__/SegmentedTabs.test.tsx +58 -0
- package/src/components/__tests__/SessionBanner.test.tsx +96 -0
- package/src/components/__tests__/SetTable.test.tsx +105 -0
- package/src/components/__tests__/SourceChip.test.tsx +82 -0
- package/src/components/__tests__/SupplementChart.test.tsx +71 -0
- package/src/components/__tests__/Table.test.tsx +81 -0
- package/src/components/__tests__/TemplateCard.test.tsx +85 -0
- package/src/components/__tests__/Toggle.test.tsx +49 -0
- package/src/components/__tests__/UnitChart.test.tsx +44 -0
- package/src/components/__tests__/markup.ts +142 -0
- package/src/components/__tests__/react-dom-server.d.ts +11 -0
- package/src/index.ts +320 -0
- package/src/internal/optionalBlur.ts +37 -0
- package/src/internal/optionalHaptics.ts +38 -0
- package/src/theme.ts +14 -0
- package/README.md +0 -3
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View, Text, Pressable, StyleSheet } from 'react-native';
|
|
4
|
+
import Svg, { Path, Circle, Rect } from 'react-native-svg';
|
|
5
|
+
import { colors, radii, fonts } from '@lockin90/tokens';
|
|
6
|
+
|
|
7
|
+
/* expo-document-picker is an optional peer dependency. Resolve it lazily so the
|
|
8
|
+
* kit never hard-depends on it: when installed, tapping the Dropzone opens the
|
|
9
|
+
* OS file picker and forwards results via `onFiles`; when absent, only the
|
|
10
|
+
* `onPress` hook fires (graceful fallback — mirrors the CopyButton/expo-clipboard
|
|
11
|
+
* pattern). RN has no OS file-drag-drop, so tap-to-pick is the native analogue. */
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
let documentPicker = null;
|
|
14
|
+
try {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
16
|
+
documentPicker = require('expo-document-picker');
|
|
17
|
+
} catch {
|
|
18
|
+
documentPicker = null;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* ============================================================================
|
|
22
|
+
Toolbar — a rich-text formatting bar: a horizontal group of ~30px icon
|
|
23
|
+
Pressables in a glass strip, with thin vertical divider Views between groups.
|
|
24
|
+
Active buttons take an accent (violet) tint. Mirrors the web `Toolbar`.
|
|
25
|
+
========================================================================== */
|
|
26
|
+
|
|
27
|
+
/** Shared stroke props for the inline default-set glyphs. */
|
|
28
|
+
const stroke = {
|
|
29
|
+
fill: 'none',
|
|
30
|
+
strokeWidth: 1.8,
|
|
31
|
+
strokeLinecap: 'round',
|
|
32
|
+
strokeLinejoin: 'round'
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/** Default sample set: bold, italic | list, link, image — mirrors the web set. */
|
|
36
|
+
const DEFAULT_ITEMS = [{
|
|
37
|
+
label: 'Bold',
|
|
38
|
+
active: true,
|
|
39
|
+
icon: /*#__PURE__*/_jsx(Text, {
|
|
40
|
+
style: {
|
|
41
|
+
fontSize: 14,
|
|
42
|
+
color: colors.textDim,
|
|
43
|
+
fontFamily: fonts.display,
|
|
44
|
+
fontWeight: '700'
|
|
45
|
+
},
|
|
46
|
+
children: "B"
|
|
47
|
+
})
|
|
48
|
+
}, {
|
|
49
|
+
label: 'Italic',
|
|
50
|
+
icon: /*#__PURE__*/_jsx(Text, {
|
|
51
|
+
style: {
|
|
52
|
+
fontSize: 14,
|
|
53
|
+
color: colors.textDim,
|
|
54
|
+
fontFamily: fonts.display,
|
|
55
|
+
fontStyle: 'italic'
|
|
56
|
+
},
|
|
57
|
+
children: "I"
|
|
58
|
+
})
|
|
59
|
+
}, {
|
|
60
|
+
divider: true,
|
|
61
|
+
icon: null
|
|
62
|
+
}, {
|
|
63
|
+
label: 'Bulleted list',
|
|
64
|
+
icon: /*#__PURE__*/_jsxs(Svg, {
|
|
65
|
+
width: 15,
|
|
66
|
+
height: 15,
|
|
67
|
+
viewBox: "0 0 24 24",
|
|
68
|
+
stroke: colors.textDim,
|
|
69
|
+
...stroke,
|
|
70
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
71
|
+
d: "M8 6h12M8 12h12M8 18h12"
|
|
72
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
73
|
+
cx: 4,
|
|
74
|
+
cy: 6,
|
|
75
|
+
r: 1.4,
|
|
76
|
+
fill: colors.textDim,
|
|
77
|
+
stroke: "none"
|
|
78
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
79
|
+
cx: 4,
|
|
80
|
+
cy: 12,
|
|
81
|
+
r: 1.4,
|
|
82
|
+
fill: colors.textDim,
|
|
83
|
+
stroke: "none"
|
|
84
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
85
|
+
cx: 4,
|
|
86
|
+
cy: 18,
|
|
87
|
+
r: 1.4,
|
|
88
|
+
fill: colors.textDim,
|
|
89
|
+
stroke: "none"
|
|
90
|
+
})]
|
|
91
|
+
})
|
|
92
|
+
}, {
|
|
93
|
+
label: 'Link',
|
|
94
|
+
icon: /*#__PURE__*/_jsxs(Svg, {
|
|
95
|
+
width: 15,
|
|
96
|
+
height: 15,
|
|
97
|
+
viewBox: "0 0 24 24",
|
|
98
|
+
stroke: colors.textDim,
|
|
99
|
+
...stroke,
|
|
100
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
101
|
+
d: "M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1"
|
|
102
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
103
|
+
d: "M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"
|
|
104
|
+
})]
|
|
105
|
+
})
|
|
106
|
+
}, {
|
|
107
|
+
label: 'Image',
|
|
108
|
+
icon: /*#__PURE__*/_jsxs(Svg, {
|
|
109
|
+
width: 15,
|
|
110
|
+
height: 15,
|
|
111
|
+
viewBox: "0 0 24 24",
|
|
112
|
+
stroke: colors.textDim,
|
|
113
|
+
...stroke,
|
|
114
|
+
children: [/*#__PURE__*/_jsx(Rect, {
|
|
115
|
+
x: 3,
|
|
116
|
+
y: 4,
|
|
117
|
+
width: 18,
|
|
118
|
+
height: 16,
|
|
119
|
+
rx: 2
|
|
120
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
121
|
+
cx: 8.5,
|
|
122
|
+
cy: 9.5,
|
|
123
|
+
r: 1.6
|
|
124
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
125
|
+
d: "m4 18 5-5 4 4 3-3 4 4"
|
|
126
|
+
})]
|
|
127
|
+
})
|
|
128
|
+
}];
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Horizontal icon-button group for rich-text formatting.
|
|
132
|
+
*
|
|
133
|
+
* Native has no `currentColor` inheritance, so each item glyph must set its own
|
|
134
|
+
* color: the default-set svgs use an explicit token color (`colors.textDim`) so
|
|
135
|
+
* they stay visible on the dark glass bar. Pass an already-colored glyph (or the
|
|
136
|
+
* shared `Icon`) for production use — for an active item, color it `colors.text`
|
|
137
|
+
* or `colors.accent` to match the accent tint.
|
|
138
|
+
*/
|
|
139
|
+
export function Toolbar({
|
|
140
|
+
items = DEFAULT_ITEMS,
|
|
141
|
+
style
|
|
142
|
+
}) {
|
|
143
|
+
return /*#__PURE__*/_jsx(View, {
|
|
144
|
+
style: [styles.bar, style],
|
|
145
|
+
accessibilityRole: "toolbar",
|
|
146
|
+
children: items.map((item, i) => item.divider ? /*#__PURE__*/_jsx(View, {
|
|
147
|
+
style: styles.divider
|
|
148
|
+
}, i) : /*#__PURE__*/_jsx(Pressable, {
|
|
149
|
+
accessibilityRole: "button",
|
|
150
|
+
accessibilityLabel: item.label,
|
|
151
|
+
accessibilityState: {
|
|
152
|
+
selected: item.active
|
|
153
|
+
},
|
|
154
|
+
onPress: item.onPress,
|
|
155
|
+
style: ({
|
|
156
|
+
pressed
|
|
157
|
+
}) => [styles.btn, item.active && styles.btnOn, pressed && !item.active && styles.btnPressed],
|
|
158
|
+
children: item.icon
|
|
159
|
+
}, i))
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/* ============================================================================
|
|
164
|
+
Dropzone — a large dashed-border file-drop area: centered round icon badge +
|
|
165
|
+
label + hint. Native can't receive OS file *drops*, so the box is a Pressable;
|
|
166
|
+
when the optional `expo-document-picker` peer is present, tapping opens the OS
|
|
167
|
+
picker and forwards results via `onFiles` (else just `onPress`). Mirrors the
|
|
168
|
+
web `Dropzone` (where tapping opens the file dialog).
|
|
169
|
+
========================================================================== */
|
|
170
|
+
|
|
171
|
+
const DEFAULT_DZ_ICON = /*#__PURE__*/_jsxs(Svg, {
|
|
172
|
+
width: 22,
|
|
173
|
+
height: 22,
|
|
174
|
+
viewBox: "0 0 24 24",
|
|
175
|
+
stroke: colors.accent2,
|
|
176
|
+
...stroke,
|
|
177
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
178
|
+
d: "M12 16V4M8 8l4-4 4 4"
|
|
179
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
180
|
+
d: "M4 16v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3"
|
|
181
|
+
})]
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
/** Dashed-border drop area — tap to trigger a picker (no native file drop). */
|
|
185
|
+
export function Dropzone({
|
|
186
|
+
label = 'Drop files here or click to upload',
|
|
187
|
+
hint = 'PNG, JPG up to 10MB',
|
|
188
|
+
icon = DEFAULT_DZ_ICON,
|
|
189
|
+
onPress,
|
|
190
|
+
onFiles,
|
|
191
|
+
style
|
|
192
|
+
}) {
|
|
193
|
+
const pick = async () => {
|
|
194
|
+
onPress?.();
|
|
195
|
+
if (typeof documentPicker?.getDocumentAsync !== 'function') return;
|
|
196
|
+
try {
|
|
197
|
+
const res = await documentPicker.getDocumentAsync({
|
|
198
|
+
multiple: true,
|
|
199
|
+
copyToCacheDirectory: true
|
|
200
|
+
});
|
|
201
|
+
if (!res || res.canceled) return;
|
|
202
|
+
// expo-document-picker v12+ → { canceled, assets }; older → { type:'success', … }
|
|
203
|
+
const files = res.assets ?? (res.type === 'success' ? [res] : []);
|
|
204
|
+
if (files.length) onFiles?.(files);
|
|
205
|
+
} catch {
|
|
206
|
+
/* user dismissed or picker unavailable — no-op */
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
210
|
+
accessibilityRole: "button",
|
|
211
|
+
accessibilityLabel: label,
|
|
212
|
+
onPress: pick,
|
|
213
|
+
style: ({
|
|
214
|
+
pressed
|
|
215
|
+
}) => [styles.dropzone, pressed && styles.dropzoneActive, style],
|
|
216
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
217
|
+
style: styles.dzIco,
|
|
218
|
+
children: icon
|
|
219
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
220
|
+
style: styles.dzLabel,
|
|
221
|
+
children: label
|
|
222
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
223
|
+
style: styles.dzHint,
|
|
224
|
+
children: hint
|
|
225
|
+
})]
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
const styles = StyleSheet.create({
|
|
229
|
+
// Toolbar
|
|
230
|
+
bar: {
|
|
231
|
+
alignSelf: 'flex-start',
|
|
232
|
+
flexDirection: 'row',
|
|
233
|
+
flexWrap: 'wrap',
|
|
234
|
+
alignItems: 'center',
|
|
235
|
+
gap: 3,
|
|
236
|
+
padding: 4,
|
|
237
|
+
borderRadius: radii.sm,
|
|
238
|
+
borderWidth: 1,
|
|
239
|
+
borderColor: colors.border2,
|
|
240
|
+
backgroundColor: colors.glass2
|
|
241
|
+
},
|
|
242
|
+
btn: {
|
|
243
|
+
width: 30,
|
|
244
|
+
height: 30,
|
|
245
|
+
alignItems: 'center',
|
|
246
|
+
justifyContent: 'center',
|
|
247
|
+
borderRadius: 7,
|
|
248
|
+
borderWidth: 1,
|
|
249
|
+
borderColor: 'transparent'
|
|
250
|
+
},
|
|
251
|
+
btnPressed: {
|
|
252
|
+
backgroundColor: colors.glass2
|
|
253
|
+
},
|
|
254
|
+
btnOn: {
|
|
255
|
+
backgroundColor: 'rgba(124, 92, 255, 0.16)',
|
|
256
|
+
borderColor: 'rgba(124, 92, 255, 0.4)'
|
|
257
|
+
},
|
|
258
|
+
divider: {
|
|
259
|
+
width: 1,
|
|
260
|
+
height: 22,
|
|
261
|
+
marginHorizontal: 4,
|
|
262
|
+
marginVertical: 2,
|
|
263
|
+
backgroundColor: colors.border2
|
|
264
|
+
},
|
|
265
|
+
// Dropzone
|
|
266
|
+
dropzone: {
|
|
267
|
+
alignItems: 'center',
|
|
268
|
+
justifyContent: 'center',
|
|
269
|
+
gap: 10,
|
|
270
|
+
minHeight: 168,
|
|
271
|
+
padding: 28,
|
|
272
|
+
borderRadius: radii.md,
|
|
273
|
+
borderWidth: 1.5,
|
|
274
|
+
borderStyle: 'dashed',
|
|
275
|
+
borderColor: colors.border2,
|
|
276
|
+
backgroundColor: 'rgba(124, 92, 255, 0.04)'
|
|
277
|
+
},
|
|
278
|
+
dropzoneActive: {
|
|
279
|
+
borderColor: colors.accent2,
|
|
280
|
+
backgroundColor: 'rgba(34, 211, 238, 0.06)'
|
|
281
|
+
},
|
|
282
|
+
dzIco: {
|
|
283
|
+
width: 46,
|
|
284
|
+
height: 46,
|
|
285
|
+
alignItems: 'center',
|
|
286
|
+
justifyContent: 'center',
|
|
287
|
+
borderRadius: 23,
|
|
288
|
+
borderWidth: 1,
|
|
289
|
+
borderColor: colors.border2,
|
|
290
|
+
backgroundColor: colors.glass
|
|
291
|
+
},
|
|
292
|
+
dzLabel: {
|
|
293
|
+
fontFamily: fonts.ui,
|
|
294
|
+
fontSize: 14,
|
|
295
|
+
fontWeight: '600',
|
|
296
|
+
color: colors.text,
|
|
297
|
+
textAlign: 'center'
|
|
298
|
+
},
|
|
299
|
+
dzHint: {
|
|
300
|
+
fontFamily: fonts.ui,
|
|
301
|
+
fontSize: 12,
|
|
302
|
+
color: colors.textFaint,
|
|
303
|
+
textAlign: 'center'
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","Pressable","StyleSheet","Svg","Path","Circle","Rect","colors","radii","fonts","jsx","_jsx","jsxs","_jsxs","documentPicker","require","stroke","fill","strokeWidth","strokeLinecap","strokeLinejoin","DEFAULT_ITEMS","label","active","icon","style","fontSize","color","textDim","fontFamily","display","fontWeight","children","fontStyle","divider","width","height","viewBox","d","cx","cy","r","x","y","rx","Toolbar","items","styles","bar","accessibilityRole","map","item","i","accessibilityLabel","accessibilityState","selected","onPress","pressed","btn","btnOn","btnPressed","DEFAULT_DZ_ICON","accent2","Dropzone","hint","onFiles","pick","getDocumentAsync","res","multiple","copyToCacheDirectory","canceled","files","assets","type","length","dropzone","dropzoneActive","dzIco","dzLabel","dzHint","create","alignSelf","flexDirection","flexWrap","alignItems","gap","padding","borderRadius","sm","borderWidth","borderColor","border2","backgroundColor","glass2","justifyContent","marginHorizontal","marginVertical","minHeight","md","borderStyle","glass","ui","text","textAlign","textFaint"],"sourceRoot":"../../../src","sources":["components/Toolbar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useRef, useState } from 'react';
|
|
4
|
+
import { View, Text, Pressable, StyleSheet, Modal, Dimensions } from 'react-native';
|
|
5
|
+
import { colors, radii, fonts, nativeShadows } from '@lockin90/tokens';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
const {
|
|
8
|
+
width: SW,
|
|
9
|
+
height: SH
|
|
10
|
+
} = Dimensions.get('window');
|
|
11
|
+
const EST_W = 160;
|
|
12
|
+
const EST_H = 32;
|
|
13
|
+
const GAP = 8;
|
|
14
|
+
/** arrow square side (px) — its rotated diamond pokes ARROW/2 past the edge */
|
|
15
|
+
const ARROW = 8;
|
|
16
|
+
/** keep the arrow at least this far from the bubble's corners (cross axis) */
|
|
17
|
+
const ARROW_INSET = 12;
|
|
18
|
+
|
|
19
|
+
/** Which edge the arrow straddles + which two borders form its outward V, for the
|
|
20
|
+
* resolved placement. After `rotate(45deg)`, the kept border pair matches the web
|
|
21
|
+
* `.lk-tip-<placement>::after` rules so the diamond points at the trigger. */
|
|
22
|
+
function arrowEdgeStyle(p) {
|
|
23
|
+
switch (p) {
|
|
24
|
+
case 'bottom':
|
|
25
|
+
// bubble below trigger → arrow on top edge, points up
|
|
26
|
+
return {
|
|
27
|
+
top: -ARROW / 2,
|
|
28
|
+
borderTopWidth: 1,
|
|
29
|
+
borderLeftWidth: 1
|
|
30
|
+
};
|
|
31
|
+
case 'left':
|
|
32
|
+
// bubble left of trigger → arrow on right edge, points right
|
|
33
|
+
return {
|
|
34
|
+
right: -ARROW / 2,
|
|
35
|
+
borderTopWidth: 1,
|
|
36
|
+
borderRightWidth: 1
|
|
37
|
+
};
|
|
38
|
+
case 'right':
|
|
39
|
+
// bubble right of trigger → arrow on left edge, points left
|
|
40
|
+
return {
|
|
41
|
+
left: -ARROW / 2,
|
|
42
|
+
borderBottomWidth: 1,
|
|
43
|
+
borderLeftWidth: 1
|
|
44
|
+
};
|
|
45
|
+
case 'top': // bubble above trigger → arrow on bottom edge, points down
|
|
46
|
+
default:
|
|
47
|
+
return {
|
|
48
|
+
bottom: -ARROW / 2,
|
|
49
|
+
borderRightWidth: 1,
|
|
50
|
+
borderBottomWidth: 1
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Press-to-show tooltip (native has no hover) — wraps a trigger and toggles a
|
|
56
|
+
* glassy bubble positioned above/below/beside it in a transparent Modal,
|
|
57
|
+
* anchored to the measured trigger and clamped on-screen. Tapping again (or the
|
|
58
|
+
* backdrop) hides it. Mirrors the web `Tooltip` prop API + bubble styling. */
|
|
59
|
+
export function Tooltip({
|
|
60
|
+
content = 'Tooltip',
|
|
61
|
+
placement = 'top',
|
|
62
|
+
children
|
|
63
|
+
}) {
|
|
64
|
+
const [open, setOpen] = useState(false);
|
|
65
|
+
const [anchor, setAnchor] = useState(null);
|
|
66
|
+
const [size, setSize] = useState({
|
|
67
|
+
pw: EST_W,
|
|
68
|
+
ph: EST_H
|
|
69
|
+
});
|
|
70
|
+
const triggerRef = useRef(null);
|
|
71
|
+
const triggerNode = children ?? /*#__PURE__*/_jsx(View, {
|
|
72
|
+
style: styles.badge,
|
|
73
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
74
|
+
style: styles.badgeText,
|
|
75
|
+
children: "?"
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
const openBubble = () => {
|
|
79
|
+
triggerRef.current?.measureInWindow((x, y, w, h) => setAnchor({
|
|
80
|
+
x,
|
|
81
|
+
y,
|
|
82
|
+
w,
|
|
83
|
+
h
|
|
84
|
+
}));
|
|
85
|
+
setOpen(true);
|
|
86
|
+
};
|
|
87
|
+
const {
|
|
88
|
+
pw,
|
|
89
|
+
ph
|
|
90
|
+
} = size;
|
|
91
|
+
let top = 0;
|
|
92
|
+
let left = 0;
|
|
93
|
+
// the side the bubble ACTUALLY landed on (drives the arrow) — `top` flips to
|
|
94
|
+
// `bottom` when there's no room above, so it can differ from `placement`.
|
|
95
|
+
let resolved = placement;
|
|
96
|
+
if (anchor) {
|
|
97
|
+
switch (placement) {
|
|
98
|
+
case 'bottom':
|
|
99
|
+
top = anchor.y + anchor.h + GAP;
|
|
100
|
+
left = anchor.x + anchor.w / 2 - pw / 2;
|
|
101
|
+
break;
|
|
102
|
+
case 'left':
|
|
103
|
+
top = anchor.y + anchor.h / 2 - ph / 2;
|
|
104
|
+
left = anchor.x - GAP - pw;
|
|
105
|
+
break;
|
|
106
|
+
case 'right':
|
|
107
|
+
top = anchor.y + anchor.h / 2 - ph / 2;
|
|
108
|
+
left = anchor.x + anchor.w + GAP;
|
|
109
|
+
break;
|
|
110
|
+
case 'top':
|
|
111
|
+
default:
|
|
112
|
+
{
|
|
113
|
+
// place above; fall back below when there's no room above
|
|
114
|
+
const above = anchor.y - GAP - ph;
|
|
115
|
+
const fitsAbove = above > 0;
|
|
116
|
+
top = fitsAbove ? above : anchor.y + anchor.h + GAP;
|
|
117
|
+
left = anchor.x + anchor.w / 2 - pw / 2;
|
|
118
|
+
resolved = fitsAbove ? 'top' : 'bottom';
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
top = Math.max(8, Math.min(top, SH - ph - 8));
|
|
123
|
+
left = Math.max(8, Math.min(left, SW - pw - 8));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// arrow geometry — a rotated square straddling the edge that faces the trigger,
|
|
127
|
+
// tracking the trigger's center along the cross axis (clamped inside the bubble),
|
|
128
|
+
// mirroring the web `.lk-tip-bubble::after` diamond pointer.
|
|
129
|
+
const arrowEdge = arrowEdgeStyle(resolved);
|
|
130
|
+
let arrowCross = {};
|
|
131
|
+
if (anchor) {
|
|
132
|
+
if (resolved === 'top' || resolved === 'bottom') {
|
|
133
|
+
const cx = anchor.x + anchor.w / 2 - left; // trigger center, relative to bubble
|
|
134
|
+
const clamped = Math.max(ARROW_INSET, Math.min(cx, pw - ARROW_INSET));
|
|
135
|
+
arrowCross = {
|
|
136
|
+
left: clamped - ARROW / 2
|
|
137
|
+
};
|
|
138
|
+
} else {
|
|
139
|
+
const cy = anchor.y + anchor.h / 2 - top;
|
|
140
|
+
const clamped = Math.max(ARROW_INSET, Math.min(cy, ph - ARROW_INSET));
|
|
141
|
+
arrowCross = {
|
|
142
|
+
top: clamped - ARROW / 2
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
147
|
+
style: styles.root,
|
|
148
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
149
|
+
ref: triggerRef,
|
|
150
|
+
accessibilityRole: "button",
|
|
151
|
+
onPress: () => open ? setOpen(false) : openBubble(),
|
|
152
|
+
children: triggerNode
|
|
153
|
+
}), /*#__PURE__*/_jsxs(Modal, {
|
|
154
|
+
visible: open,
|
|
155
|
+
transparent: true,
|
|
156
|
+
animationType: "fade",
|
|
157
|
+
onRequestClose: () => setOpen(false),
|
|
158
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
159
|
+
style: styles.backdrop,
|
|
160
|
+
onPress: () => setOpen(false)
|
|
161
|
+
}), anchor != null && /*#__PURE__*/_jsxs(View, {
|
|
162
|
+
style: [styles.bubble, {
|
|
163
|
+
top,
|
|
164
|
+
left
|
|
165
|
+
}],
|
|
166
|
+
pointerEvents: "none",
|
|
167
|
+
onLayout: e => {
|
|
168
|
+
const {
|
|
169
|
+
width,
|
|
170
|
+
height
|
|
171
|
+
} = e.nativeEvent.layout;
|
|
172
|
+
if (width !== pw || height !== ph) setSize({
|
|
173
|
+
pw: width,
|
|
174
|
+
ph: height
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
178
|
+
style: [styles.arrow, arrowEdge, arrowCross]
|
|
179
|
+
}), typeof content === 'string' ? /*#__PURE__*/_jsx(Text, {
|
|
180
|
+
style: styles.text,
|
|
181
|
+
children: content
|
|
182
|
+
}) : content]
|
|
183
|
+
})]
|
|
184
|
+
})]
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
const styles = StyleSheet.create({
|
|
188
|
+
root: {
|
|
189
|
+
alignSelf: 'flex-start'
|
|
190
|
+
},
|
|
191
|
+
badge: {
|
|
192
|
+
width: 16,
|
|
193
|
+
height: 16,
|
|
194
|
+
borderRadius: radii.pill,
|
|
195
|
+
borderWidth: 1,
|
|
196
|
+
borderColor: colors.border2,
|
|
197
|
+
backgroundColor: colors.glass2,
|
|
198
|
+
alignItems: 'center',
|
|
199
|
+
justifyContent: 'center'
|
|
200
|
+
},
|
|
201
|
+
badgeText: {
|
|
202
|
+
fontFamily: fonts.ui,
|
|
203
|
+
fontSize: 11,
|
|
204
|
+
fontWeight: '600',
|
|
205
|
+
color: colors.textDim
|
|
206
|
+
},
|
|
207
|
+
backdrop: {
|
|
208
|
+
...StyleSheet.absoluteFillObject
|
|
209
|
+
},
|
|
210
|
+
bubble: {
|
|
211
|
+
position: 'absolute',
|
|
212
|
+
maxWidth: 220,
|
|
213
|
+
paddingVertical: 6,
|
|
214
|
+
paddingHorizontal: 9,
|
|
215
|
+
borderRadius: radii.sm,
|
|
216
|
+
borderWidth: 1,
|
|
217
|
+
borderColor: colors.border2,
|
|
218
|
+
backgroundColor: colors.bg1,
|
|
219
|
+
...nativeShadows.elev1
|
|
220
|
+
},
|
|
221
|
+
text: {
|
|
222
|
+
fontFamily: fonts.ui,
|
|
223
|
+
fontSize: 12,
|
|
224
|
+
lineHeight: 16,
|
|
225
|
+
color: colors.text
|
|
226
|
+
},
|
|
227
|
+
// rotated square sharing the bubble surface + border; its inner half overlaps
|
|
228
|
+
// (and hides) the bubble's edge border, leaving the outward-facing V — the same
|
|
229
|
+
// technique as the web `::after` diamond pointer.
|
|
230
|
+
arrow: {
|
|
231
|
+
position: 'absolute',
|
|
232
|
+
width: ARROW,
|
|
233
|
+
height: ARROW,
|
|
234
|
+
backgroundColor: colors.bg1,
|
|
235
|
+
borderColor: colors.border2,
|
|
236
|
+
transform: [{
|
|
237
|
+
rotate: '45deg'
|
|
238
|
+
}]
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRef","useState","View","Text","Pressable","StyleSheet","Modal","Dimensions","colors","radii","fonts","nativeShadows","jsx","_jsx","jsxs","_jsxs","width","SW","height","SH","get","EST_W","EST_H","GAP","ARROW","ARROW_INSET","arrowEdgeStyle","p","top","borderTopWidth","borderLeftWidth","right","borderRightWidth","left","borderBottomWidth","bottom","Tooltip","content","placement","children","open","setOpen","anchor","setAnchor","size","setSize","pw","ph","triggerRef","triggerNode","style","styles","badge","badgeText","openBubble","current","measureInWindow","x","y","w","h","resolved","above","fitsAbove","Math","max","min","arrowEdge","arrowCross","cx","clamped","cy","root","ref","accessibilityRole","onPress","visible","transparent","animationType","onRequestClose","backdrop","bubble","pointerEvents","onLayout","e","nativeEvent","layout","arrow","text","create","alignSelf","borderRadius","pill","borderWidth","borderColor","border2","backgroundColor","glass2","alignItems","justifyContent","fontFamily","ui","fontSize","fontWeight","color","textDim","absoluteFillObject","position","maxWidth","paddingVertical","paddingHorizontal","sm","bg1","elev1","lineHeight","transform","rotate"],"sourceRoot":"../../../src","sources":["components/Tooltip.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
4
|
+
import { Animated, Easing, StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import { colors, radii, fonts } from '@lockin90/tokens';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
const DOT_COUNT = 3;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* TypingIndicator — a small left-aligned glass bubble (an incoming-message
|
|
11
|
+
* look) holding three dots that bounce/pulse in a staggered loop to signal
|
|
12
|
+
* someone composing. Mirrors the web `@lockin90/ui` `TypingIndicator` and the
|
|
13
|
+
* `DotsLoader` animation convention (1.2s-ish cycle, 0.16s stagger, -4px
|
|
14
|
+
* bounce + 0.7→1 scale + 0.5→1 opacity) using Animated loops. An optional
|
|
15
|
+
* `label` renders as small dim text before the dots.
|
|
16
|
+
*/
|
|
17
|
+
export function TypingIndicator({
|
|
18
|
+
label,
|
|
19
|
+
style
|
|
20
|
+
}) {
|
|
21
|
+
// one driver per dot; 0 = resting (down/dim), 1 = peak (up/bright)
|
|
22
|
+
const valsRef = useRef([]);
|
|
23
|
+
if (valsRef.current.length !== DOT_COUNT) {
|
|
24
|
+
valsRef.current = Array.from({
|
|
25
|
+
length: DOT_COUNT
|
|
26
|
+
}, () => new Animated.Value(0));
|
|
27
|
+
}
|
|
28
|
+
const vals = valsRef.current;
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
const loops = vals.map((v, i) => Animated.loop(Animated.sequence([Animated.delay(i * 160),
|
|
31
|
+
// staggered start (matches web 0/.16/.32s)
|
|
32
|
+
Animated.timing(v, {
|
|
33
|
+
toValue: 1,
|
|
34
|
+
duration: 360,
|
|
35
|
+
easing: Easing.out(Easing.quad),
|
|
36
|
+
useNativeDriver: true
|
|
37
|
+
}), Animated.timing(v, {
|
|
38
|
+
toValue: 0,
|
|
39
|
+
duration: 480,
|
|
40
|
+
easing: Easing.in(Easing.quad),
|
|
41
|
+
useNativeDriver: true
|
|
42
|
+
}), Animated.delay(Math.max(0, (DOT_COUNT - 1 - i) * 160)) // pad so cycles realign
|
|
43
|
+
])));
|
|
44
|
+
loops.forEach(l => l.start());
|
|
45
|
+
return () => loops.forEach(l => l.stop());
|
|
46
|
+
}, [vals]);
|
|
47
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
48
|
+
style: [styles.bubble, style],
|
|
49
|
+
accessibilityRole: "progressbar",
|
|
50
|
+
accessibilityLabel: label ? `${label}…` : 'Typing…',
|
|
51
|
+
children: [label != null && /*#__PURE__*/_jsx(Text, {
|
|
52
|
+
style: styles.label,
|
|
53
|
+
children: label
|
|
54
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
55
|
+
style: styles.dots,
|
|
56
|
+
children: vals.map((v, i) => /*#__PURE__*/_jsx(Animated.View, {
|
|
57
|
+
style: {
|
|
58
|
+
width: 6,
|
|
59
|
+
height: 6,
|
|
60
|
+
borderRadius: 3,
|
|
61
|
+
backgroundColor: colors.textDim,
|
|
62
|
+
opacity: v.interpolate({
|
|
63
|
+
inputRange: [0, 1],
|
|
64
|
+
outputRange: [0.5, 1]
|
|
65
|
+
}),
|
|
66
|
+
transform: [{
|
|
67
|
+
translateY: v.interpolate({
|
|
68
|
+
inputRange: [0, 1],
|
|
69
|
+
outputRange: [0, -4]
|
|
70
|
+
})
|
|
71
|
+
}, {
|
|
72
|
+
scale: v.interpolate({
|
|
73
|
+
inputRange: [0, 1],
|
|
74
|
+
outputRange: [0.7, 1]
|
|
75
|
+
})
|
|
76
|
+
}]
|
|
77
|
+
}
|
|
78
|
+
}, i))
|
|
79
|
+
})]
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
const styles = StyleSheet.create({
|
|
83
|
+
bubble: {
|
|
84
|
+
alignSelf: 'flex-start',
|
|
85
|
+
maxWidth: '82%',
|
|
86
|
+
flexDirection: 'row',
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
gap: 8,
|
|
89
|
+
paddingVertical: 9,
|
|
90
|
+
paddingHorizontal: 14,
|
|
91
|
+
borderRadius: radii.pill,
|
|
92
|
+
backgroundColor: colors.glass2,
|
|
93
|
+
borderWidth: 1,
|
|
94
|
+
borderColor: colors.border2
|
|
95
|
+
},
|
|
96
|
+
label: {
|
|
97
|
+
fontFamily: fonts.ui,
|
|
98
|
+
fontSize: 12,
|
|
99
|
+
lineHeight: 14,
|
|
100
|
+
color: colors.textDim
|
|
101
|
+
},
|
|
102
|
+
dots: {
|
|
103
|
+
flexDirection: 'row',
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
gap: 4
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=TypingIndicator.js.map
|