@vllnt/ui 0.2.1-canary.0aaaad2 → 0.2.1-canary.0cc4e50
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/CHANGELOG.md +3 -0
- package/dist/components/activity-heatmap/activity-heatmap.js +2 -1
- package/dist/components/activity-log/activity-log.js +1 -1
- package/dist/components/ai-artifact/ai-artifact.js +8 -8
- package/dist/components/ai-chat-input/ai-chat-input.js +1 -1
- package/dist/components/ai-message-bubble/ai-message-bubble.js +1 -1
- package/dist/components/ai-sidebar/ai-sidebar.js +4 -4
- package/dist/components/ai-tool-call-display/ai-tool-call-display.js +1 -1
- package/dist/components/animated-text/animated-text.js +6 -3
- package/dist/components/annotation/annotation.js +1 -1
- package/dist/components/auto-reload/auto-reload.js +1 -1
- package/dist/components/avatar-group/avatar-group.js +1 -1
- package/dist/components/blog-card/blog-card.js +4 -2
- package/dist/components/bottom-activity-strip/bottom-activity-strip.js +2 -2
- package/dist/components/candlestick-chart/candlestick-chart.js +2 -1
- package/dist/components/canvas-shell/canvas-foundation-demo.js +1 -1
- package/dist/components/carousel/carousel.js +14 -6
- package/dist/components/category-filter/category-filter.js +1 -1
- package/dist/components/chat-dock-section/chat-dock-section.js +1 -1
- package/dist/components/checklist/checklist.js +35 -7
- package/dist/components/checklist/index.js +8 -2
- package/dist/components/chronological-timeline/chronological-timeline.js +2 -2
- package/dist/components/code-playground/code-playground.js +3 -2
- package/dist/components/combobox/combobox.js +1 -6
- package/dist/components/comment-pin/comment-pin.js +2 -2
- package/dist/components/comparison/comparison.js +2 -1
- package/dist/components/completion-dialog/completion-dialog.js +19 -11
- package/dist/components/connector-edge/connector-edge.js +1 -1
- package/dist/components/content-intro/content-intro.js +18 -15
- package/dist/components/conversation-thread/conversation-thread.js +4 -4
- package/dist/components/countdown-timer/countdown-timer.js +1 -1
- package/dist/components/data-table/data-table.js +1 -1
- package/dist/components/date-picker/date-picker.js +1 -6
- package/dist/components/exercise/exercise.js +11 -3
- package/dist/components/faq/faq.js +6 -2
- package/dist/components/file-upload/file-upload.js +1 -6
- package/dist/components/filter-bar/filter-bar.js +7 -7
- package/dist/components/flashcard/flashcard.js +1 -1
- package/dist/components/floating-toolbar/floating-toolbar.js +2 -2
- package/dist/components/form/form.js +1 -1
- package/dist/components/gantt-chart/gantt-chart.js +8 -7
- package/dist/components/globe-3d/globe-3d.js +16 -4
- package/dist/components/horizontal-scroll-row/horizontal-scroll-row.js +2 -1
- package/dist/components/inline-input/inline-input.js +1 -1
- package/dist/components/interactive-timeline/interactive-timeline.js +8 -5
- package/dist/components/jarvis-dock/jarvis-dock.js +2 -2
- package/dist/components/key-concept/key-concept.js +2 -1
- package/dist/components/keyboard-shortcuts-help/keyboard-shortcuts-help.js +2 -1
- package/dist/components/knowledge-check/knowledge-check.js +2 -2
- package/dist/components/lang-provider/lang-provider.js +3 -3
- package/dist/components/learning-objectives/learning-objectives.js +2 -1
- package/dist/components/live-feed/live-feed.js +2 -2
- package/dist/components/map-2d/map-2d.js +1 -1
- package/dist/components/map-timeline/map-timeline.js +5 -5
- package/dist/components/market-treemap/market-treemap.js +2 -2
- package/dist/components/mdx-content/mdx-content.js +17 -8
- package/dist/components/metric-gauge/metric-gauge.js +1 -1
- package/dist/components/model-selector/model-selector.js +1 -1
- package/dist/components/multi-select/multi-select.js +1 -1
- package/dist/components/navbar-saas/navbar-saas.js +5 -5
- package/dist/components/number-input/number-input.js +1 -1
- package/dist/components/number-ticker/number-ticker.js +1 -1
- package/dist/components/object-card/object-card.js +1 -1
- package/dist/components/order-book/order-book.js +2 -2
- package/dist/components/overview-board/overview-board.js +1 -1
- package/dist/components/policy-delivery-panel/policy-delivery-panel.js +2 -2
- package/dist/components/profile-section/profile-section.js +2 -1
- package/dist/components/progress-card/progress-card.js +1 -1
- package/dist/components/progress-tracker/progress-tracker.js +17 -9
- package/dist/components/prompt-templates/prompt-templates.js +2 -2
- package/dist/components/quiz/quiz.js +3 -2
- package/dist/components/relationship-inspector/relationship-inspector.js +2 -2
- package/dist/components/routing-assignment-panel/routing-assignment-panel.js +2 -2
- package/dist/components/run-timeline/run-timeline.js +2 -2
- package/dist/components/scope-selector/scope-selector.js +1 -1
- package/dist/components/search-dialog/search-dialog.js +484 -51
- package/dist/components/share-dialog/share-dialog.js +2 -2
- package/dist/components/share-section/share-section.js +2 -1
- package/dist/components/sidebar/sidebar.js +30 -25
- package/dist/components/sidebar-toggle/sidebar-toggle.js +1 -1
- package/dist/components/slideshow/slideshow.js +3 -2
- package/dist/components/social-fab/social-fab.js +10 -10
- package/dist/components/spinner/spinner.js +1 -1
- package/dist/components/spinner/unicode-spinner.js +4 -2
- package/dist/components/stat-card/stat-card.js +2 -2
- package/dist/components/status-board/status-board.js +13 -6
- package/dist/components/step-by-step/step-by-step.js +2 -1
- package/dist/components/table-of-contents/table-of-contents.js +5 -2
- package/dist/components/table-of-contents-panel/table-of-contents-panel.js +3 -1
- package/dist/components/tabs/tabs.js +26 -8
- package/dist/components/tags-input/tags-input.js +11 -3
- package/dist/components/terminal/terminal.js +11 -3
- package/dist/components/theme-toggle/theme-toggle.js +2 -2
- package/dist/components/thinking-block/thinking-block.js +2 -2
- package/dist/components/ticker-tape/ticker-tape.js +1 -1
- package/dist/components/timeline-scrubber/timeline-scrubber.js +2 -2
- package/dist/components/tldr-section/tldr-section.js +9 -7
- package/dist/components/tour/tour.js +1 -1
- package/dist/components/transaction-list/transaction-list.js +2 -2
- package/dist/components/tutorial-card/tutorial-card.js +1 -1
- package/dist/components/tutorial-complete/tutorial-complete.js +8 -6
- package/dist/components/tutorial-filters/tutorial-filters.js +2 -2
- package/dist/components/tutorial-intro-content/tutorial-intro-content.js +5 -5
- package/dist/components/tutorial-mdx/tutorial-mdx.js +6 -6
- package/dist/components/usage-breakdown/usage-breakdown.js +1 -1
- package/dist/components/viewport-bookmarks/viewport-bookmarks.js +2 -2
- package/dist/components/watchlist/watchlist.js +2 -1
- package/dist/components/world-breadcrumbs/world-breadcrumbs.js +2 -2
- package/dist/components/world-clock-bar/world-clock-bar.js +5 -4
- package/dist/components/zoom-hud/zoom-hud.js +1 -1
- package/dist/index.d.ts +113 -29
- package/package.json +3 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { memo } from "react";
|
|
4
4
|
import { Check, ChevronRight, RotateCcw } from "lucide-react";
|
|
5
|
-
import { Button } from "../button";
|
|
5
|
+
import { Button } from "../button/button";
|
|
6
6
|
import { ProfileSection } from "../profile-section";
|
|
7
7
|
import { ShareSection } from "../share-section";
|
|
8
8
|
function DefaultLink({
|
|
@@ -22,9 +22,11 @@ function TutorialCompleteImpl({
|
|
|
22
22
|
onRestart,
|
|
23
23
|
profile,
|
|
24
24
|
relatedContent,
|
|
25
|
+
sectionLabelAs: SectionHeading = "h3",
|
|
25
26
|
sections,
|
|
26
27
|
shareUrl,
|
|
27
|
-
title
|
|
28
|
+
title,
|
|
29
|
+
titleAs: TitleHeading = "h2"
|
|
28
30
|
}) {
|
|
29
31
|
const isFullyComplete = completionPercent === 100;
|
|
30
32
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
@@ -41,7 +43,7 @@ function TutorialCompleteImpl({
|
|
|
41
43
|
)
|
|
42
44
|
}
|
|
43
45
|
),
|
|
44
|
-
/* @__PURE__ */ jsx(
|
|
46
|
+
/* @__PURE__ */ jsx(TitleHeading, { className: "text-3xl font-semibold mb-2", children: isFullyComplete ? labels.tutorialComplete : labels.tutorialFinished }),
|
|
45
47
|
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground mb-6", children: isFullyComplete ? `${labels.youveCompletedAll} "${title}"` : `${labels.youveFinishedWith} "${title}" (${completionPercent}%)` }),
|
|
46
48
|
/* @__PURE__ */ jsxs(Button, { className: "gap-2", onClick: onRestart, variant: "outline", children: [
|
|
47
49
|
/* @__PURE__ */ jsx(RotateCcw, { className: "size-4" }),
|
|
@@ -49,7 +51,7 @@ function TutorialCompleteImpl({
|
|
|
49
51
|
] })
|
|
50
52
|
] }),
|
|
51
53
|
/* @__PURE__ */ jsxs("div", { className: "max-w-2xl mx-auto mt-8", children: [
|
|
52
|
-
/* @__PURE__ */ jsx(
|
|
54
|
+
/* @__PURE__ */ jsx(SectionHeading, { className: "text-lg font-semibold mb-4", children: labels.reviewSections }),
|
|
53
55
|
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: sections.map((section, index) => {
|
|
54
56
|
const isCompleted = completedSections.has(section.id);
|
|
55
57
|
return /* @__PURE__ */ jsxs(
|
|
@@ -77,7 +79,7 @@ function TutorialCompleteImpl({
|
|
|
77
79
|
}) })
|
|
78
80
|
] }),
|
|
79
81
|
relatedContent.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "max-w-2xl mx-auto mt-12", children: [
|
|
80
|
-
/* @__PURE__ */ jsx(
|
|
82
|
+
/* @__PURE__ */ jsx(SectionHeading, { className: "text-lg font-semibold mb-4", children: labels.relatedContent }),
|
|
81
83
|
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: relatedContent.map((item) => /* @__PURE__ */ jsxs(
|
|
82
84
|
LinkComponent,
|
|
83
85
|
{
|
|
@@ -117,7 +119,7 @@ function TutorialCompleteImpl({
|
|
|
117
119
|
/* @__PURE__ */ jsx("div", { className: "text-center pt-8", children: /* @__PURE__ */ jsx(
|
|
118
120
|
LinkComponent,
|
|
119
121
|
{
|
|
120
|
-
className: "inline-flex items-center
|
|
122
|
+
className: "inline-flex items-center gap-x-2 text-muted-foreground hover:text-foreground transition-colors",
|
|
121
123
|
href: backHref,
|
|
122
124
|
children: /* @__PURE__ */ jsxs("span", { children: [
|
|
123
125
|
"\u2190 ",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { memo } from "react";
|
|
4
|
-
import { Badge } from "../badge";
|
|
4
|
+
import { Badge } from "../badge/badge";
|
|
5
5
|
function SearchInput({
|
|
6
6
|
isPending,
|
|
7
7
|
labels,
|
|
@@ -74,7 +74,7 @@ function TagFilter({
|
|
|
74
74
|
}
|
|
75
75
|
) : null
|
|
76
76
|
] }),
|
|
77
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: tags.map((tag) => {
|
|
77
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", "data-testid": "tag-filter-list", children: tags.map((tag) => {
|
|
78
78
|
const isActive = currentTags.includes(tag);
|
|
79
79
|
return /* @__PURE__ */ jsx(
|
|
80
80
|
Badge,
|
|
@@ -21,7 +21,7 @@ const serverMarkdownComponents = {
|
|
|
21
21
|
}) => /* @__PURE__ */ jsx(
|
|
22
22
|
"blockquote",
|
|
23
23
|
{
|
|
24
|
-
className: "border-l
|
|
24
|
+
className: "border-l border-primary pl-4 italic text-muted-foreground my-6 py-2 text-sm",
|
|
25
25
|
...props,
|
|
26
26
|
children
|
|
27
27
|
}
|
|
@@ -47,15 +47,15 @@ const serverMarkdownComponents = {
|
|
|
47
47
|
h1: ({
|
|
48
48
|
children,
|
|
49
49
|
...props
|
|
50
|
-
}) => /* @__PURE__ */ jsx("h1", { className: "text-2xl font-
|
|
50
|
+
}) => /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold mt-8 mb-4", ...props, children }),
|
|
51
51
|
h2: ({
|
|
52
52
|
children,
|
|
53
53
|
...props
|
|
54
|
-
}) => /* @__PURE__ */ jsx("h2", { className: "text-xl font-
|
|
54
|
+
}) => /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold mt-6 mb-3", ...props, children }),
|
|
55
55
|
h3: ({
|
|
56
56
|
children,
|
|
57
57
|
...props
|
|
58
|
-
}) => /* @__PURE__ */ jsx("h3", { className: "text-lg font-
|
|
58
|
+
}) => /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold mt-4 mb-2", ...props, children }),
|
|
59
59
|
hr: (props) => /* @__PURE__ */ jsx("hr", { className: "my-8 border-border", ...props }),
|
|
60
60
|
li: ({
|
|
61
61
|
children,
|
|
@@ -132,7 +132,7 @@ function TutorialIntroContent({
|
|
|
132
132
|
}) {
|
|
133
133
|
const markdownContent = stripMDXComponents(content);
|
|
134
134
|
return /* @__PURE__ */ jsxs("section", { className: cn("py-6", className), children: [
|
|
135
|
-
/* @__PURE__ */ jsx("h2", { className: "text-2xl md:text-3xl font-
|
|
135
|
+
/* @__PURE__ */ jsx("h2", { className: "text-2xl md:text-3xl font-semibold mb-6", children: title }),
|
|
136
136
|
/* @__PURE__ */ jsx("div", { className: "max-w-none [&_h2:first-of-type]:hidden", children: /* @__PURE__ */ jsx(ReactMarkdown, { components: serverMarkdownComponents, children: markdownContent }) })
|
|
137
137
|
] });
|
|
138
138
|
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AccordionContent,
|
|
11
11
|
AccordionItem,
|
|
12
12
|
AccordionTrigger
|
|
13
|
-
} from "../accordion";
|
|
13
|
+
} from "../accordion/accordion";
|
|
14
14
|
import { Callout } from "../callout";
|
|
15
15
|
import { Checklist } from "../checklist";
|
|
16
16
|
import { CodePlayground, FileTree } from "../code-playground";
|
|
@@ -95,7 +95,7 @@ const markdownComponents = {
|
|
|
95
95
|
blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx(
|
|
96
96
|
"blockquote",
|
|
97
97
|
{
|
|
98
|
-
className: "border-l
|
|
98
|
+
className: "border-l border-primary pl-4 italic text-muted-foreground my-6 py-2 text-sm",
|
|
99
99
|
...props,
|
|
100
100
|
children
|
|
101
101
|
}
|
|
@@ -114,10 +114,10 @@ const markdownComponents = {
|
|
|
114
114
|
}
|
|
115
115
|
);
|
|
116
116
|
},
|
|
117
|
-
h1: ({ children, ...props }) => /* @__PURE__ */ jsx("h1", { className: "text-2xl font-
|
|
118
|
-
h2: ({ children, ...props }) => /* @__PURE__ */ jsx("h2", { className: "text-xl font-
|
|
119
|
-
h3: ({ children, ...props }) => /* @__PURE__ */ jsx("h3", { className: "text-lg font-
|
|
120
|
-
h4: ({ children, ...props }) => /* @__PURE__ */ jsx("h4", { className: "text-base font-
|
|
117
|
+
h1: ({ children, ...props }) => /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold mt-8 mb-4", ...props, children }),
|
|
118
|
+
h2: ({ children, ...props }) => /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold mt-6 mb-3", ...props, children }),
|
|
119
|
+
h3: ({ children, ...props }) => /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold mt-4 mb-2", ...props, children }),
|
|
120
|
+
h4: ({ children, ...props }) => /* @__PURE__ */ jsx("h4", { className: "text-base font-semibold mt-3 mb-2", ...props, children }),
|
|
121
121
|
hr: ({ ...props }) => /* @__PURE__ */ jsx("hr", { className: "my-8 border-border", ...props }),
|
|
122
122
|
li: ({ children, ...props }) => /* @__PURE__ */ jsx(
|
|
123
123
|
"li",
|
|
@@ -3,7 +3,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { forwardRef, useMemo } from "react";
|
|
4
4
|
import { ArrowDownRight, ArrowUpRight } from "lucide-react";
|
|
5
5
|
import { cn } from "../../lib/utils";
|
|
6
|
-
import { Badge } from "../badge";
|
|
6
|
+
import { Badge } from "../badge/badge";
|
|
7
7
|
import {
|
|
8
8
|
Card,
|
|
9
9
|
CardContent,
|
|
@@ -10,7 +10,7 @@ const DEFAULT_LABELS = {
|
|
|
10
10
|
};
|
|
11
11
|
const Row = (props) => {
|
|
12
12
|
const { active, bookmark, onSelect } = props;
|
|
13
|
-
const
|
|
13
|
+
const handleSelectBookmark = () => {
|
|
14
14
|
onSelect?.(bookmark.id);
|
|
15
15
|
};
|
|
16
16
|
const rowClass = "flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors";
|
|
@@ -27,7 +27,7 @@ const Row = (props) => {
|
|
|
27
27
|
),
|
|
28
28
|
"data-viewport-bookmark": bookmark.id,
|
|
29
29
|
"data-viewport-bookmark-active": active,
|
|
30
|
-
onClick:
|
|
30
|
+
onClick: handleSelectBookmark,
|
|
31
31
|
type: "button",
|
|
32
32
|
children: /* @__PURE__ */ jsx(RowBody, { bookmark })
|
|
33
33
|
}
|
|
@@ -58,6 +58,7 @@ function WatchlistRow({ item }) {
|
|
|
58
58
|
}
|
|
59
59
|
const Watchlist = React.forwardRef(
|
|
60
60
|
({
|
|
61
|
+
as: Heading = "h2",
|
|
61
62
|
className,
|
|
62
63
|
eyebrow = "Tracked symbols",
|
|
63
64
|
items,
|
|
@@ -83,7 +84,7 @@ const Watchlist = React.forwardRef(
|
|
|
83
84
|
/* @__PURE__ */ jsxs("header", { className: "mb-3 flex flex-wrap items-start justify-between gap-3", children: [
|
|
84
85
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
85
86
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-medium uppercase tracking-[0.28em] text-muted-foreground", children: eyebrow }),
|
|
86
|
-
/* @__PURE__ */ jsx(
|
|
87
|
+
/* @__PURE__ */ jsx(Heading, { className: "text-lg font-semibold text-foreground", children: title })
|
|
87
88
|
] }),
|
|
88
89
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
|
|
89
90
|
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1 rounded-full border border-emerald-500/30 bg-emerald-500/10 px-2 py-1 text-emerald-600 dark:text-emerald-400", children: [
|
|
@@ -19,7 +19,7 @@ const DEFAULT_LABELS = {
|
|
|
19
19
|
const Crumb = (props) => {
|
|
20
20
|
const { crumb, isLast, onSelect } = props;
|
|
21
21
|
const glyph = crumb.kind ? KIND_GLYPH[crumb.kind] : null;
|
|
22
|
-
const
|
|
22
|
+
const handleSelectCrumb = () => {
|
|
23
23
|
onSelect?.(crumb.id);
|
|
24
24
|
};
|
|
25
25
|
const text = /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1", children: [
|
|
@@ -47,7 +47,7 @@ const Crumb = (props) => {
|
|
|
47
47
|
className: "inline-flex items-center rounded-sm text-xs text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
48
48
|
"data-world-breadcrumb": crumb.id,
|
|
49
49
|
"data-world-breadcrumb-active": "false",
|
|
50
|
-
onClick:
|
|
50
|
+
onClick: handleSelectCrumb,
|
|
51
51
|
type: "button",
|
|
52
52
|
children: text
|
|
53
53
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { cn } from "../../lib/utils";
|
|
5
|
-
import { Badge } from "../badge";
|
|
5
|
+
import { Badge } from "../badge/badge";
|
|
6
6
|
function normalizeDate(input) {
|
|
7
7
|
if (input instanceof Date) {
|
|
8
8
|
return new Date(input.getTime());
|
|
@@ -34,7 +34,7 @@ function getTimeFormatter(locale, timeZone) {
|
|
|
34
34
|
const key = `${locale}|${timeZone}`;
|
|
35
35
|
let formatter = TIME_FORMATTER_CACHE.get(key);
|
|
36
36
|
if (!formatter) {
|
|
37
|
-
formatter =
|
|
37
|
+
formatter = Intl.DateTimeFormat(locale, {
|
|
38
38
|
hour: "numeric",
|
|
39
39
|
minute: "2-digit",
|
|
40
40
|
timeZone,
|
|
@@ -49,7 +49,7 @@ function getDateFormatter(locale, timeZone) {
|
|
|
49
49
|
const key = `${locale}|${timeZone}`;
|
|
50
50
|
let formatter = DATE_FORMATTER_CACHE.get(key);
|
|
51
51
|
if (!formatter) {
|
|
52
|
-
formatter =
|
|
52
|
+
formatter = Intl.DateTimeFormat(locale, {
|
|
53
53
|
day: "numeric",
|
|
54
54
|
month: "short",
|
|
55
55
|
timeZone,
|
|
@@ -83,6 +83,7 @@ function WorldClockCard({
|
|
|
83
83
|
}
|
|
84
84
|
const WorldClockBar = React.forwardRef(
|
|
85
85
|
({
|
|
86
|
+
as: Heading = "h2",
|
|
86
87
|
className,
|
|
87
88
|
now,
|
|
88
89
|
showDate = true,
|
|
@@ -95,7 +96,7 @@ const WorldClockBar = React.forwardRef(
|
|
|
95
96
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-3", className), ref, ...props, children: [
|
|
96
97
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
97
98
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
98
|
-
/* @__PURE__ */ jsx(
|
|
99
|
+
/* @__PURE__ */ jsx(Heading, { className: "text-lg font-semibold tracking-tight", children: title }),
|
|
99
100
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Synchronized time across distributed teams and regions." })
|
|
100
101
|
] }),
|
|
101
102
|
/* @__PURE__ */ jsxs(Badge, { variant: "outline", children: [
|
|
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
3
|
import { Minus, Plus, RotateCcw } from "lucide-react";
|
|
4
4
|
import { cn } from "../../lib/utils";
|
|
5
|
-
import { Button } from "../button";
|
|
5
|
+
import { Button } from "../button/button";
|
|
6
6
|
const ZoomHUD = forwardRef(
|
|
7
7
|
({ className, onReset, onZoomIn, onZoomOut, zoom, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
8
8
|
"div",
|