@widgetic/design-system 0.5.22 → 0.5.23
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/README.md +2 -0
- package/dist/components/CopyableHeader.svelte +260 -448
- package/dist/components/CopyableHeader.svelte.d.ts +8 -5
- package/dist/components/EmptyState.svelte +100 -128
- package/dist/components/EmptyState.svelte.d.ts +16 -19
- package/dist/components/GenerateLoader.svelte +17 -10
- package/dist/components/PasswordInput.svelte +41 -44
- package/dist/components/PasswordInput.svelte.d.ts +2 -0
- package/dist/components/ThumbHashImage.svelte +117 -119
- package/dist/components/WScrollArea.svelte +47 -41
- package/dist/components/chat/ActivityRow.svelte +115 -0
- package/dist/components/chat/ActivityRow.svelte.d.ts +18 -0
- package/dist/components/chat/ChatHeader.svelte +114 -0
- package/dist/components/chat/ChatHeader.svelte.d.ts +26 -0
- package/dist/components/chat/Composer.svelte +172 -0
- package/dist/components/chat/Composer.svelte.d.ts +27 -0
- package/dist/components/chat/Message.svelte +158 -0
- package/dist/components/chat/Message.svelte.d.ts +28 -0
- package/dist/components/chat/OptionRow.svelte +59 -0
- package/dist/components/chat/OptionRow.svelte.d.ts +14 -0
- package/dist/components/chat/PlanCard.svelte +220 -0
- package/dist/components/chat/PlanCard.svelte.d.ts +34 -0
- package/dist/components/chat/QuestionCard.svelte +265 -0
- package/dist/components/chat/QuestionCard.svelte.d.ts +38 -0
- package/dist/components/chat/ScrollToBottom.svelte +51 -0
- package/dist/components/chat/ScrollToBottom.svelte.d.ts +11 -0
- package/dist/components/chat/SuggestionCard.svelte +79 -0
- package/dist/components/chat/SuggestionCard.svelte.d.ts +20 -0
- package/dist/components/chat/TaskRow.svelte +59 -0
- package/dist/components/chat/TaskRow.svelte.d.ts +11 -0
- package/dist/components/chat/composerLogic.d.ts +16 -0
- package/dist/components/chat/composerLogic.js +29 -0
- package/dist/components/chat/index.d.ts +16 -0
- package/dist/components/chat/index.js +16 -0
- package/dist/components/chat/questionCardLogic.d.ts +11 -0
- package/dist/components/chat/questionCardLogic.js +39 -0
- package/dist/components/index.d.ts +10 -1
- package/dist/components/index.js +10 -0
- package/dist/components/modals/ActionModal.svelte +186 -180
- package/dist/components/modals/BaseModal.svelte +402 -399
- package/dist/components/modals/BaseModal.svelte.d.ts +1 -0
- package/dist/components/modals/NewItemDialog.svelte +200 -243
- package/dist/components/modals/Portal.svelte +107 -105
- package/dist/components/modals/README.md +16 -2
- package/dist/components/modals/RenameDialog.svelte +234 -292
- package/dist/components/navigation/Breadcrumbs.svelte +415 -377
- package/dist/components/navigation/Breadcrumbs.svelte.d.ts +3 -2
- package/dist/components/navigation/types.d.ts +2 -0
- package/dist/components/pdf/PDFViewer.svelte +1 -1
- package/dist/components/search-input/SearchInput.svelte +51 -104
- package/dist/components/search-input/SearchInput.svelte.d.ts +9 -27
- package/dist/components/shad-editor/editor.css +1 -1
- package/dist/components/shad-editor/i18n/messages.d.ts +1 -1
- package/dist/components/shad-editor/i18n/messages.js +1 -1
- package/dist/components/shell/AppShell.svelte +52 -0
- package/dist/components/shell/AppShell.svelte.d.ts +13 -0
- package/dist/components/shell/Banner.svelte +90 -0
- package/dist/components/shell/Banner.svelte.d.ts +61 -0
- package/dist/components/shell/ErrorState.svelte +60 -0
- package/dist/components/shell/ErrorState.svelte.d.ts +13 -0
- package/dist/components/shell/Link.svelte +63 -0
- package/dist/components/shell/Link.svelte.d.ts +53 -0
- package/dist/components/shell/NavDrawer.svelte +117 -0
- package/dist/components/shell/NavDrawer.svelte.d.ts +10 -0
- package/dist/components/shell/NavRow.svelte +128 -0
- package/dist/components/shell/NavRow.svelte.d.ts +65 -0
- package/dist/components/shell/NavSectionLabel.svelte +27 -0
- package/dist/components/shell/NavSectionLabel.svelte.d.ts +9 -0
- package/dist/components/shell/NotificationRow.svelte +76 -0
- package/dist/components/shell/NotificationRow.svelte.d.ts +16 -0
- package/dist/components/shell/PageHeader.svelte +42 -0
- package/dist/components/shell/PageHeader.svelte.d.ts +12 -0
- package/dist/components/shell/ProfileRow.svelte +95 -0
- package/dist/components/shell/ProfileRow.svelte.d.ts +54 -0
- package/dist/components/shell/SettingsDialog.svelte +118 -0
- package/dist/components/shell/SettingsDialog.svelte.d.ts +19 -0
- package/dist/components/shell/SettingsNav.svelte +46 -0
- package/dist/components/shell/SettingsNav.svelte.d.ts +11 -0
- package/dist/components/shell/Sidebar.svelte +82 -0
- package/dist/components/shell/Sidebar.svelte.d.ts +25 -0
- package/dist/components/shell/Stat.svelte +63 -0
- package/dist/components/shell/Stat.svelte.d.ts +58 -0
- package/dist/components/shell/TopBar.svelte +37 -0
- package/dist/components/shell/TopBar.svelte.d.ts +11 -0
- package/dist/components/shell/WidgetRow.svelte +126 -0
- package/dist/components/shell/WidgetRow.svelte.d.ts +78 -0
- package/dist/components/shell/error-state-messages.d.ts +7 -0
- package/dist/components/shell/error-state-messages.js +9 -0
- package/dist/components/shell/index.d.ts +22 -0
- package/dist/components/shell/index.js +25 -0
- package/dist/components/shell/link-external.d.ts +2 -0
- package/dist/components/shell/link-external.js +7 -0
- package/dist/components/shell/messages.d.ts +7 -0
- package/dist/components/shell/messages.js +5 -0
- package/dist/components/shell/settings-nav-types.d.ts +12 -0
- package/dist/components/shell/settings-nav-types.js +3 -0
- package/dist/components/shell/shell-utils.d.ts +7 -0
- package/dist/components/shell/shell-utils.js +27 -0
- package/dist/components/shell/stat-tone.d.ts +3 -0
- package/dist/components/shell/stat-tone.js +11 -0
- package/dist/components/toast/ToasterModal.svelte +102 -168
- package/dist/components/toast/ToasterModal.svelte.d.ts +2 -12
- package/dist/components/ui/accordion/accordion-content.svelte +3 -2
- package/dist/components/ui/accordion/accordion-item.svelte +10 -1
- package/dist/components/ui/accordion/accordion-trigger.svelte +4 -3
- package/dist/components/ui/alert/alert-description.svelte +5 -1
- package/dist/components/ui/alert/alert-title.svelte +2 -1
- package/dist/components/ui/alert/index.d.ts +13 -11
- package/dist/components/ui/alert/index.js +4 -4
- package/dist/components/ui/avatar/avatar-utils.d.ts +2 -0
- package/dist/components/ui/avatar/avatar-utils.js +9 -0
- package/dist/components/ui/avatar/avatar.svelte +63 -0
- package/dist/components/ui/avatar/avatar.svelte.d.ts +80 -0
- package/dist/components/ui/avatar/index.d.ts +4 -0
- package/dist/components/ui/avatar/index.js +4 -0
- package/dist/components/ui/badge/badge.svelte +22 -10
- package/dist/components/ui/badge/badge.svelte.d.ts +14 -15
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +2 -2
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +2 -2
- package/dist/components/ui/button/button-padding.d.ts +9 -0
- package/dist/components/ui/button/button-padding.js +15 -0
- package/dist/components/ui/button/button.svelte +81 -31
- package/dist/components/ui/button/button.svelte.d.ts +48 -29
- package/dist/components/ui/calendar/calendar-cell.svelte +1 -1
- package/dist/components/ui/calendar/calendar-head-cell.svelte +1 -1
- package/dist/components/ui/calendar/calendar-next-button.svelte +2 -2
- package/dist/components/ui/calendar/calendar-prev-button.svelte +2 -2
- package/dist/components/ui/card/card-description.svelte +1 -1
- package/dist/components/ui/card/card-title.svelte +1 -1
- package/dist/components/ui/card/card.svelte +1 -1
- package/dist/components/ui/checkbox/checkbox.svelte +9 -5
- package/dist/components/ui/chip/chip.svelte +48 -0
- package/dist/components/ui/chip/chip.svelte.d.ts +13 -0
- package/dist/components/ui/chip/index.d.ts +2 -0
- package/dist/components/ui/chip/index.js +2 -0
- package/dist/components/ui/command/command-dialog.svelte +1 -1
- package/dist/components/ui/command/command-input.svelte +4 -4
- package/dist/components/ui/command/command-item.svelte +1 -1
- package/dist/components/ui/command/command.svelte +1 -1
- package/dist/components/ui/dialog/dialog-content.svelte +4 -4
- package/dist/components/ui/dialog/dialog-description.svelte +1 -1
- package/dist/components/ui/dialog/dialog-overlay.svelte +1 -1
- package/dist/components/ui/dialog/dialog-title.svelte +1 -1
- package/dist/components/ui/drawer/drawer-content.svelte +1 -1
- package/dist/components/ui/drawer/drawer-overlay.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +5 -5
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +20 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +5 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +3 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +2 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +3 -3
- package/dist/components/ui/field/field-ids.d.ts +7 -0
- package/dist/components/ui/field/field-ids.js +15 -0
- package/dist/components/ui/field/field.svelte +62 -0
- package/dist/components/ui/field/field.svelte.d.ts +21 -0
- package/dist/components/ui/field/index.d.ts +3 -0
- package/dist/components/ui/field/index.js +3 -0
- package/dist/components/ui/hover-card/hover-card-content.svelte +1 -1
- package/dist/components/ui/icon-button/icon-button.svelte +72 -0
- package/dist/components/ui/icon-button/icon-button.svelte.d.ts +90 -0
- package/dist/components/ui/icon-button/index.d.ts +2 -0
- package/dist/components/ui/icon-button/index.js +4 -0
- package/dist/components/ui/input/index.d.ts +1 -0
- package/dist/components/ui/input/input.svelte +11 -4
- package/dist/components/ui/input/input.svelte.d.ts +4 -1
- package/dist/components/ui/input-otp/input-otp-separator.svelte +2 -2
- package/dist/components/ui/input-otp/input-otp-slot.svelte +5 -4
- package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +1 -1
- package/dist/components/ui/input-otp/input-otp.svelte +1 -1
- package/dist/components/ui/label/label.svelte +3 -2
- package/dist/components/ui/popover/popover-content.svelte +1 -1
- package/dist/components/ui/progress/progress.svelte +19 -5
- package/dist/components/ui/progress/progress.svelte.d.ts +4 -2
- package/dist/components/ui/radio-group/radio-group-item.svelte +4 -4
- package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte +1 -1
- package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +2 -2
- package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +2 -2
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +4 -1
- package/dist/components/ui/scroll-area/scroll-area.svelte +1 -1
- package/dist/components/ui/select/select-content.svelte +1 -3
- package/dist/components/ui/select/select-item.svelte +5 -4
- package/dist/components/ui/select/select-scroll-down-button.svelte +2 -2
- package/dist/components/ui/select/select-scroll-up-button.svelte +2 -2
- package/dist/components/ui/select/select-trigger.svelte +4 -3
- package/dist/components/ui/skeleton/index.d.ts +2 -0
- package/dist/components/ui/skeleton/index.js +2 -0
- package/dist/components/ui/skeleton/skeleton.svelte +24 -0
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +8 -0
- package/dist/components/ui/slider/slider.svelte +5 -10
- package/dist/components/ui/sonner/sonner.svelte +19 -13
- package/dist/components/ui/stepper-button/index.d.ts +3 -0
- package/dist/components/ui/stepper-button/index.js +2 -0
- package/dist/components/ui/stepper-button/stepper-button.svelte +37 -0
- package/dist/components/ui/stepper-button/stepper-button.svelte.d.ts +9 -0
- package/dist/components/ui/switch/switch.svelte +8 -3
- package/dist/components/ui/table/table-cell.svelte +1 -1
- package/dist/components/ui/table/table-head.svelte +1 -1
- package/dist/components/ui/table/table-row.svelte +1 -1
- package/dist/components/ui/tabs/tabs-list.svelte +1 -1
- package/dist/components/ui/tabs/tabs-trigger.svelte +1 -1
- package/dist/components/ui/tag/index.d.ts +2 -0
- package/dist/components/ui/tag/index.js +2 -0
- package/dist/components/ui/tag/tag.svelte +42 -0
- package/dist/components/ui/tag/tag.svelte.d.ts +11 -0
- package/dist/components/ui/textarea/textarea.svelte +4 -3
- package/dist/components/ui/textarea/textarea.svelte.d.ts +2 -2
- package/dist/components/ui/toggle/toggle.svelte +9 -9
- package/dist/components/ui/toggle/toggle.svelte.d.ts +14 -21
- package/dist/components/ui/tooltip/tooltip-content.svelte +1 -1
- package/dist/fonts/Inter/Inter-Black.woff2 +0 -0
- package/dist/fonts/Inter/Inter-BlackItalic.woff2 +0 -0
- package/dist/fonts/Inter/Inter-Bold.woff2 +0 -0
- package/dist/fonts/Inter/Inter-BoldItalic.woff2 +0 -0
- package/dist/fonts/Inter/Inter-ExtraBold.woff2 +0 -0
- package/dist/fonts/Inter/Inter-ExtraBoldItalic.woff2 +0 -0
- package/dist/fonts/Inter/Inter-ExtraLight-BETA.woff2 +0 -0
- package/dist/fonts/Inter/Inter-ExtraLightItalic-BETA.woff2 +0 -0
- package/dist/fonts/Inter/Inter-Italic.woff2 +0 -0
- package/dist/fonts/Inter/Inter-Light-BETA.woff2 +0 -0
- package/dist/fonts/Inter/Inter-LightItalic-BETA.woff2 +0 -0
- package/dist/fonts/Inter/Inter-Medium.woff2 +0 -0
- package/dist/fonts/Inter/Inter-MediumItalic.woff2 +0 -0
- package/dist/fonts/Inter/Inter-Regular.woff2 +0 -0
- package/dist/fonts/Inter/Inter-SemiBold.woff2 +0 -0
- package/dist/fonts/Inter/Inter-SemiBoldItalic.woff2 +0 -0
- package/dist/fonts/Inter/Inter-Thin-BETA.woff2 +0 -0
- package/dist/fonts/Inter/Inter-ThinItalic-BETA.woff2 +0 -0
- package/dist/fonts/Inter/Inter-italic.var.woff2 +0 -0
- package/dist/fonts/Inter/Inter-upright.var.woff2 +0 -0
- package/dist/fonts/Inter/Inter.var.woff2 +0 -0
- package/dist/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2 +0 -0
- package/dist/i18n/audit/designSystemWords.d.ts +1 -1
- package/dist/i18n/audit/designSystemWords.js +1 -1
- package/dist/styles/fonts.css +18 -14
- package/dist/styles/global.css +7 -19
- package/dist/styles/tokens.css +332 -0
- package/dist/utils.d.ts +27 -0
- package/dist/utils.js +33 -2
- package/package.json +2 -1
- package/tailwind.config.ts +7 -47
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
26
|
<ScrollAreaPrimitive.Root bind:ref dir={$textDirection} {...restProps} class={cn("relative overflow-hidden", className)}>
|
|
27
|
-
<ScrollAreaPrimitive.Viewport class="h-full w-full
|
|
27
|
+
<ScrollAreaPrimitive.Viewport class="h-full w-full" style="border-radius: inherit">
|
|
28
28
|
{@render children?.()}
|
|
29
29
|
</ScrollAreaPrimitive.Viewport>
|
|
30
30
|
{#if orientation === "vertical" || orientation === "both"}
|
|
@@ -5,8 +5,6 @@
|
|
|
5
5
|
import { cn } from "../../../utils.js";
|
|
6
6
|
import { useTextDirection } from "../../textDirection.js";
|
|
7
7
|
|
|
8
|
-
// The library writes dir="ltr" on the floating element unless it is told the direction: left to right text and
|
|
9
|
-
// alignment inside a menu of a right to left screen.
|
|
10
8
|
const textDirection = useTextDirection();
|
|
11
9
|
|
|
12
10
|
let {
|
|
@@ -27,7 +25,7 @@
|
|
|
27
25
|
{sideOffset}
|
|
28
26
|
dir={$textDirection}
|
|
29
27
|
class={cn(
|
|
30
|
-
"data-[
|
|
28
|
+
"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
31
29
|
className
|
|
32
30
|
)}
|
|
33
31
|
{...restProps}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
<!-- Figma: Select Option (component set 170:135, node 170:135). -->
|
|
1
2
|
<script lang="ts" module>
|
|
2
3
|
import { Select as SelectPrimitive, type WithoutChild } from "bits-ui";
|
|
3
4
|
export type SelectItemProps = WithoutChild<SelectPrimitive.ItemProps>;
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<script lang="ts">
|
|
7
|
-
import
|
|
8
|
-
|
|
8
|
+
import IconCheck from "@tabler/icons-svelte/icons/check";
|
|
9
|
+
import { cn } from "../../../utils.js";
|
|
9
10
|
|
|
10
11
|
let {
|
|
11
12
|
ref = $bindable(null),
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
bind:ref
|
|
22
23
|
{value}
|
|
23
24
|
class={cn(
|
|
24
|
-
"
|
|
25
|
+
"relative flex h-8 w-full cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 ps-8 text-body outline-hidden data-[highlighted]:bg-accent data-[selected]:bg-brand-subtle data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
25
26
|
className
|
|
26
27
|
)}
|
|
27
28
|
{...restProps}
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
{#snippet children({ selected, highlighted })}
|
|
30
31
|
<span class="absolute start-2 flex size-3.5 items-center justify-center">
|
|
31
32
|
{#if selected}
|
|
32
|
-
<
|
|
33
|
+
<IconCheck class="size-4 stroke-[1.333]" aria-hidden="true" />
|
|
33
34
|
{/if}
|
|
34
35
|
</span>
|
|
35
36
|
{#if childrenProp}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<script lang="ts">
|
|
7
|
-
import
|
|
7
|
+
import IconChevronDown from "@tabler/icons-svelte/icons/chevron-down";
|
|
8
8
|
import { cn } from "../../../utils.js";
|
|
9
9
|
|
|
10
10
|
let {
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
class={cn("flex cursor-default items-center justify-center py-1", className)}
|
|
20
20
|
{...restProps}
|
|
21
21
|
>
|
|
22
|
-
<
|
|
22
|
+
<IconChevronDown class="size-4 stroke-[1.333]" aria-hidden="true" />
|
|
23
23
|
</SelectPrimitive.ScrollDownButton>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<script lang="ts">
|
|
7
|
-
import
|
|
7
|
+
import IconChevronUp from "@tabler/icons-svelte/icons/chevron-up";
|
|
8
8
|
import { cn } from "../../../utils.js";
|
|
9
9
|
|
|
10
10
|
let {
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
class={cn("flex cursor-default items-center justify-center py-1", className)}
|
|
20
20
|
{...restProps}
|
|
21
21
|
>
|
|
22
|
-
<
|
|
22
|
+
<IconChevronUp class="size-4 stroke-[1.333]" aria-hidden="true" />
|
|
23
23
|
</SelectPrimitive.ScrollUpButton>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
<!-- Figma: Select (328:135) and Select Trigger (268:97). -->
|
|
1
2
|
<script lang="ts" module>
|
|
2
3
|
import { Select as SelectPrimitive, type WithoutChild } from "bits-ui";
|
|
3
4
|
export type SelectTriggerProps = WithoutChild<SelectPrimitive.TriggerProps>;
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<script lang="ts">
|
|
7
|
-
|
|
8
|
+
import IconChevronDown from "@tabler/icons-svelte/icons/chevron-down";
|
|
8
9
|
import { cn } from "../../../utils.js";
|
|
9
10
|
|
|
10
11
|
let {
|
|
@@ -18,11 +19,11 @@
|
|
|
18
19
|
<SelectPrimitive.Trigger
|
|
19
20
|
bind:ref
|
|
20
21
|
class={cn(
|
|
21
|
-
"
|
|
22
|
+
"flex h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background px-3 py-2 text-start text-body transition-colors duration-fast hover:bg-accent focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[placeholder]:text-muted-foreground aria-invalid:border-destructive [&>span]:line-clamp-1",
|
|
22
23
|
className
|
|
23
24
|
)}
|
|
24
25
|
{...restProps}
|
|
25
26
|
>
|
|
26
27
|
{@render children?.()}
|
|
27
|
-
<
|
|
28
|
+
<IconChevronDown class="size-4 shrink-0 stroke-[1.333] opacity-50" aria-hidden="true" />
|
|
28
29
|
</SelectPrimitive.Trigger>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- Figma: Skeleton (component set 131:2, node 131:10). -->
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { cn } from "../../../utils.js";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
class: className,
|
|
8
|
+
pulse = "high",
|
|
9
|
+
...restProps
|
|
10
|
+
}: HTMLAttributes<HTMLDivElement> & {
|
|
11
|
+
/** Figma Pulse: High (default) | Low (50% opacity). */
|
|
12
|
+
pulse?: "high" | "low";
|
|
13
|
+
} = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<div
|
|
17
|
+
class={cn(
|
|
18
|
+
"rounded-lg bg-muted motion-reduce:opacity-100 motion-safe:animate-pulse",
|
|
19
|
+
pulse === "low" && "opacity-50",
|
|
20
|
+
className
|
|
21
|
+
)}
|
|
22
|
+
aria-hidden="true"
|
|
23
|
+
{...restProps}
|
|
24
|
+
></div>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
3
|
+
/** Figma Pulse: High (default) | Low (50% opacity). */
|
|
4
|
+
pulse?: "high" | "low";
|
|
5
|
+
};
|
|
6
|
+
declare const Skeleton: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
|
+
type Skeleton = ReturnType<typeof Skeleton>;
|
|
8
|
+
export default Skeleton;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
<!-- Figma: IC Slider (Editor); track input, range primary, 4px track / 16px thumb. -->
|
|
1
2
|
<script lang="ts" module>
|
|
2
3
|
import { Slider as SliderPrimitive, type WithoutChildrenOrChild } from "bits-ui";
|
|
3
4
|
export type SliderProps = WithoutChildrenOrChild<SliderPrimitive.RootProps>;
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<script lang="ts">
|
|
7
|
-
|
|
8
|
+
import { cn } from "../../../utils.js";
|
|
8
9
|
import { useTextDirection } from "../../textDirection.js";
|
|
9
10
|
|
|
10
|
-
// The slider of the library is left to right unless it is told: on a right to left screen the smallest value is at the
|
|
11
|
-
// right end, like the rest of the screen, and the arrow keys follow.
|
|
12
11
|
const textDirection = useTextDirection();
|
|
13
12
|
|
|
14
13
|
let {
|
|
@@ -19,10 +18,6 @@
|
|
|
19
18
|
}: SliderProps = $props();
|
|
20
19
|
</script>
|
|
21
20
|
|
|
22
|
-
<!--
|
|
23
|
-
Discriminated Unions + Destructing (required for bindable) do not
|
|
24
|
-
get along, so we shut typescript up by casting `value` to `never`.
|
|
25
|
-
-->
|
|
26
21
|
<SliderPrimitive.Root
|
|
27
22
|
bind:value={value as never}
|
|
28
23
|
bind:ref
|
|
@@ -31,13 +26,13 @@ get along, so we shut typescript up by casting `value` to `never`.
|
|
|
31
26
|
{...restProps}
|
|
32
27
|
>
|
|
33
28
|
{#snippet children({ thumbs })}
|
|
34
|
-
<span class="
|
|
35
|
-
<SliderPrimitive.Range class="
|
|
29
|
+
<span class="relative h-1 w-full grow overflow-hidden rounded-full bg-input">
|
|
30
|
+
<SliderPrimitive.Range class="absolute z-10 h-full rounded-full bg-primary" />
|
|
36
31
|
</span>
|
|
37
32
|
{#each thumbs as thumb}
|
|
38
33
|
<SliderPrimitive.Thumb
|
|
39
34
|
index={thumb}
|
|
40
|
-
class="
|
|
35
|
+
class="relative z-20 block size-4 rounded-full border-2 border-primary bg-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50"
|
|
41
36
|
/>
|
|
42
37
|
{/each}
|
|
43
38
|
{/snippet}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
<!-- Figma: Toast (135:87) — flat popover surface, 1px border. -->
|
|
1
2
|
<script lang="ts">
|
|
2
3
|
import { Toaster as Sonner, type ToasterProps as SonnerProps } from "svelte-sonner";
|
|
3
4
|
|
|
4
|
-
const browser = typeof window !==
|
|
5
|
+
const browser = typeof window !== "undefined";
|
|
5
6
|
|
|
6
7
|
let restProps: SonnerProps = $props();
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
|
|
9
|
+
function getTheme(): "light" | "dark" | "system" {
|
|
10
|
+
if (!browser) return "light";
|
|
11
|
+
if (
|
|
12
|
+
typeof window !== "undefined" &&
|
|
13
|
+
window.matchMedia?.("(prefers-color-scheme: dark)").matches
|
|
14
|
+
) {
|
|
15
|
+
return "dark";
|
|
14
16
|
}
|
|
15
|
-
return
|
|
17
|
+
return "light";
|
|
16
18
|
}
|
|
17
19
|
</script>
|
|
18
20
|
|
|
@@ -21,10 +23,14 @@
|
|
|
21
23
|
class="toaster group"
|
|
22
24
|
toastOptions={{
|
|
23
25
|
classes: {
|
|
24
|
-
toast:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
toast:
|
|
27
|
+
"group toast group-[.toaster]:rounded-xl group-[.toaster]:border group-[.toaster]:border-border group-[.toaster]:bg-popover group-[.toaster]:text-popover-foreground",
|
|
28
|
+
description: "group-[.toast]:text-muted-foreground group-[.toast]:text-body",
|
|
29
|
+
title: "group-[.toast]:text-body-medium",
|
|
30
|
+
actionButton:
|
|
31
|
+
"group-[.toast]:h-8 group-[.toast]:rounded-lg group-[.toast]:border group-[.toast]:border-input group-[.toast]:bg-background group-[.toast]:px-2 group-[.toast]:text-label",
|
|
32
|
+
cancelButton:
|
|
33
|
+
"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground group-[.toast]:text-label",
|
|
28
34
|
},
|
|
29
35
|
}}
|
|
30
36
|
{...restProps}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- Figma: Stepper Button (Editor / Atoms 171:81). -->
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
4
|
+
import IconMinus from "@tabler/icons-svelte/icons/minus";
|
|
5
|
+
import IconPlus from "@tabler/icons-svelte/icons/plus";
|
|
6
|
+
import { cn } from "../../../utils.js";
|
|
7
|
+
|
|
8
|
+
export type StepperKind = "plus" | "minus";
|
|
9
|
+
|
|
10
|
+
let {
|
|
11
|
+
class: className,
|
|
12
|
+
kind = "plus",
|
|
13
|
+
label,
|
|
14
|
+
disabled = false,
|
|
15
|
+
...restProps
|
|
16
|
+
}: HTMLButtonAttributes & {
|
|
17
|
+
kind?: StepperKind;
|
|
18
|
+
label: string;
|
|
19
|
+
} = $props();
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<button
|
|
23
|
+
type="button"
|
|
24
|
+
aria-label={label}
|
|
25
|
+
{disabled}
|
|
26
|
+
class={cn(
|
|
27
|
+
"inline-flex size-6 shrink-0 items-center justify-center rounded-lg bg-transparent text-foreground transition-colors duration-fast hover:bg-accent focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 press-feedback",
|
|
28
|
+
className
|
|
29
|
+
)}
|
|
30
|
+
{...restProps}
|
|
31
|
+
>
|
|
32
|
+
{#if kind === "minus"}
|
|
33
|
+
<IconMinus class="size-4 stroke-[1.333]" aria-hidden="true" />
|
|
34
|
+
{:else}
|
|
35
|
+
<IconPlus class="size-4 stroke-[1.333]" aria-hidden="true" />
|
|
36
|
+
{/if}
|
|
37
|
+
</button>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
2
|
+
export type StepperKind = "plus" | "minus";
|
|
3
|
+
type $$ComponentProps = HTMLButtonAttributes & {
|
|
4
|
+
kind?: StepperKind;
|
|
5
|
+
label: string;
|
|
6
|
+
};
|
|
7
|
+
declare const StepperButton: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
8
|
+
type StepperButton = ReturnType<typeof StepperButton>;
|
|
9
|
+
export default StepperButton;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
<!-- Figma: Switch (component set 103:21, node 103:2). -->
|
|
1
2
|
<script lang="ts" module>
|
|
2
3
|
import { Switch as SwitchPrimitive, type WithoutChildrenOrChild } from "bits-ui";
|
|
3
4
|
export type SwitchProps = WithoutChildrenOrChild<SwitchPrimitive.RootProps>;
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<script lang="ts">
|
|
7
|
-
|
|
8
|
+
import { cn } from "../../../utils.js";
|
|
8
9
|
|
|
9
10
|
let {
|
|
10
11
|
ref = $bindable(null),
|
|
@@ -14,18 +15,22 @@
|
|
|
14
15
|
}: SwitchProps = $props();
|
|
15
16
|
</script>
|
|
16
17
|
|
|
18
|
+
<!--
|
|
19
|
+
The track is 36x20. `relative before:absolute before:inset-x-0 before:-inset-y-0.5` adds an invisible 2px above and below,
|
|
20
|
+
so the tap target is 36x24 (the minimum height of a target). Figma keeps the same 24px frame around the 20px track.
|
|
21
|
+
-->
|
|
17
22
|
<SwitchPrimitive.Root
|
|
18
23
|
bind:ref
|
|
19
24
|
bind:checked
|
|
20
25
|
class={cn(
|
|
21
|
-
"
|
|
26
|
+
"peer relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input p-0.5 transition-colors duration-base ease-out before:absolute before:inset-x-0 before:-inset-y-0.5 hover:bg-accent focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:hover:bg-primary/90",
|
|
22
27
|
className
|
|
23
28
|
)}
|
|
24
29
|
{...restProps}
|
|
25
30
|
>
|
|
26
31
|
<SwitchPrimitive.Thumb
|
|
27
32
|
class={cn(
|
|
28
|
-
"
|
|
33
|
+
"pointer-events-none block size-4 rounded-full bg-background shadow-none transition-transform duration-base ease-out data-[state=checked]:translate-x-4 data-[state=checked]:bg-primary-foreground data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-4"
|
|
29
34
|
)}
|
|
30
35
|
/>
|
|
31
36
|
</SwitchPrimitive.Root>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<th
|
|
20
20
|
bind:this={ref}
|
|
21
21
|
class={cn(
|
|
22
|
-
"text-muted-foreground h-
|
|
22
|
+
"text-caption-medium text-muted-foreground h-9 px-4 text-start align-middle [&:has([role=checkbox])]:pe-0",
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...restProps}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<tr
|
|
20
20
|
bind:this={ref}
|
|
21
21
|
class={cn(
|
|
22
|
-
"hover:bg-
|
|
22
|
+
"border-border hover:bg-accent data-[state=selected]:bg-brand-subtle border-b transition-colors duration-fast",
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...restProps}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<TabsPrimitive.List
|
|
17
17
|
bind:ref
|
|
18
18
|
class={cn(
|
|
19
|
-
"bg-
|
|
19
|
+
"bg-accent text-muted-foreground inline-flex h-9 items-center justify-center gap-0.5 rounded-xl p-1",
|
|
20
20
|
className
|
|
21
21
|
)}
|
|
22
22
|
{...restProps}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<TabsPrimitive.Trigger
|
|
17
17
|
bind:ref
|
|
18
18
|
class={cn(
|
|
19
|
-
"
|
|
19
|
+
"text-label focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=inactive]:text-muted-foreground inline-flex h-7 items-center justify-center whitespace-nowrap rounded-lg px-3 transition-colors duration-fast focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=inactive]:hover:bg-accent data-[state=inactive]:hover:text-foreground",
|
|
20
20
|
className
|
|
21
21
|
)}
|
|
22
22
|
{...restProps}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- Figma: Tag (component set 170:116, node 170:116); radius/lg (8px). -->
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import IconX from "@tabler/icons-svelte/icons/x";
|
|
5
|
+
import { cn } from "../../../utils.js";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
class: className,
|
|
9
|
+
label,
|
|
10
|
+
showRemove = false,
|
|
11
|
+
removeLabel = "Remove tag",
|
|
12
|
+
disabled = false,
|
|
13
|
+
onRemove = undefined,
|
|
14
|
+
}: HTMLAttributes<HTMLSpanElement> & {
|
|
15
|
+
label: string;
|
|
16
|
+
showRemove?: boolean;
|
|
17
|
+
removeLabel?: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
onRemove?: () => void;
|
|
20
|
+
} = $props();
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<span
|
|
24
|
+
class={cn(
|
|
25
|
+
"inline-flex h-6 max-w-full items-center gap-1 rounded-lg border border-border bg-background px-2 text-label-small text-foreground transition-colors duration-fast",
|
|
26
|
+
disabled ? "pointer-events-none opacity-50" : "hover:bg-accent",
|
|
27
|
+
className
|
|
28
|
+
)}
|
|
29
|
+
>
|
|
30
|
+
<span class="truncate">{label}</span>
|
|
31
|
+
{#if showRemove && onRemove}
|
|
32
|
+
<button
|
|
33
|
+
type="button"
|
|
34
|
+
class="inline-flex size-4 shrink-0 items-center justify-center text-muted-foreground hover:text-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"
|
|
35
|
+
aria-label={removeLabel}
|
|
36
|
+
{disabled}
|
|
37
|
+
onclick={onRemove}
|
|
38
|
+
>
|
|
39
|
+
<IconX class="size-4 stroke-[1.333]" aria-hidden="true" />
|
|
40
|
+
</button>
|
|
41
|
+
{/if}
|
|
42
|
+
</span>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
type $$ComponentProps = HTMLAttributes<HTMLSpanElement> & {
|
|
3
|
+
label: string;
|
|
4
|
+
showRemove?: boolean;
|
|
5
|
+
removeLabel?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
onRemove?: () => void;
|
|
8
|
+
};
|
|
9
|
+
declare const Tag: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
10
|
+
type Tag = ReturnType<typeof Tag>;
|
|
11
|
+
export default Tag;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
<!-- Figma: Textarea (component set 328:152, node 328:152). -->
|
|
1
2
|
<script lang="ts" module>
|
|
3
|
+
import type { HTMLTextareaAttributes } from "svelte/elements";
|
|
4
|
+
import type { WithElementRef, WithoutChildren } from "bits-ui";
|
|
2
5
|
|
|
3
6
|
export type TextareaProps = WithoutChildren<WithElementRef<HTMLTextareaAttributes>>;
|
|
4
7
|
</script>
|
|
5
8
|
|
|
6
9
|
<script lang="ts">
|
|
7
|
-
import type { WithElementRef, WithoutChildren } from "bits-ui";
|
|
8
|
-
import type { HTMLTextareaAttributes } from "svelte/elements";
|
|
9
10
|
import { cn } from "../../../utils.js";
|
|
10
11
|
|
|
11
12
|
let {
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
<textarea
|
|
20
21
|
bind:this={ref}
|
|
21
22
|
class={cn(
|
|
22
|
-
"
|
|
23
|
+
"flex min-h-[5.5rem] w-full min-w-0 rounded-lg border border-input bg-background px-3 py-2 text-body text-foreground transition-colors duration-fast placeholder:text-muted-foreground hover:bg-accent focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive",
|
|
23
24
|
className
|
|
24
25
|
)}
|
|
25
26
|
bind:value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type TextareaProps = WithoutChildren<WithElementRef<HTMLTextareaAttributes>>;
|
|
2
|
-
import type { WithElementRef, WithoutChildren } from "bits-ui";
|
|
3
1
|
import type { HTMLTextareaAttributes } from "svelte/elements";
|
|
2
|
+
import type { WithElementRef, WithoutChildren } from "bits-ui";
|
|
3
|
+
export type TextareaProps = WithoutChildren<WithElementRef<HTMLTextareaAttributes>>;
|
|
4
4
|
declare const Textarea: import("svelte").Component<Omit<WithElementRef<HTMLTextareaAttributes>, "children">, {}, "ref" | "value">;
|
|
5
5
|
type Textarea = ReturnType<typeof Textarea>;
|
|
6
6
|
export default Textarea;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
+
<!-- Figma: Toolbar toggle pattern (brand-subtle when on). -->
|
|
1
2
|
<script lang="ts" module>
|
|
2
|
-
import {
|
|
3
|
+
import type { VariantProps } from "tailwind-variants";
|
|
3
4
|
|
|
4
5
|
export const toggleVariants = tv({
|
|
5
|
-
base: "
|
|
6
|
+
base: "inline-flex items-center justify-center gap-2 rounded-lg text-label transition-colors duration-fast focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-brand-subtle data-[state=on]:text-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.333] hover:bg-accent",
|
|
6
7
|
variants: {
|
|
7
8
|
variant: {
|
|
8
|
-
default: "bg-transparent",
|
|
9
|
-
outline:
|
|
10
|
-
"border-input hover:bg-accent hover:text-accent-foreground border bg-transparent",
|
|
9
|
+
default: "bg-transparent text-foreground",
|
|
10
|
+
outline: "border border-input bg-background text-foreground hover:bg-accent",
|
|
11
11
|
},
|
|
12
12
|
size: {
|
|
13
|
-
default: "h-
|
|
14
|
-
sm: "h-
|
|
15
|
-
lg: "h-
|
|
13
|
+
default: "h-9 min-w-9 px-3",
|
|
14
|
+
sm: "h-8 min-w-8 px-2",
|
|
15
|
+
lg: "h-9 min-w-9 px-3",
|
|
16
16
|
},
|
|
17
17
|
},
|
|
18
18
|
defaultVariants: {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
<script lang="ts">
|
|
30
30
|
import { Toggle as TogglePrimitive } from "bits-ui";
|
|
31
|
-
import { cn } from "../../../utils.js";
|
|
31
|
+
import { cn, tv } from "../../../utils.js";
|
|
32
32
|
|
|
33
33
|
let {
|
|
34
34
|
ref = $bindable(null),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { VariantProps } from "tailwind-variants";
|
|
2
2
|
export declare const toggleVariants: import("tailwind-variants").TVReturnType<{
|
|
3
3
|
variant: {
|
|
4
4
|
default: string;
|
|
@@ -9,15 +9,18 @@ export declare const toggleVariants: import("tailwind-variants").TVReturnType<{
|
|
|
9
9
|
sm: string;
|
|
10
10
|
lg: string;
|
|
11
11
|
};
|
|
12
|
-
}, undefined, "
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
}, undefined, "inline-flex items-center justify-center gap-2 rounded-lg text-label transition-colors duration-fast focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-brand-subtle data-[state=on]:text-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.333] hover:bg-accent", {
|
|
13
|
+
responsiveVariants?: boolean | (string | number | symbol)[] | {
|
|
14
|
+
size?: boolean | (string | number | symbol)[] | undefined;
|
|
15
|
+
variant?: boolean | (string | number | symbol)[] | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
} & import("tailwind-variants/dist/config.js").TWMConfig & {
|
|
18
|
+
twMergeConfig: {
|
|
19
|
+
classGroups: {
|
|
20
|
+
"font-size": {
|
|
21
|
+
text: ("display-hero" | "heading-page" | "heading-section" | "body" | "body-medium" | "body-large" | "caption" | "caption-medium" | "label" | "label-small" | "code")[];
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
21
24
|
};
|
|
22
25
|
}, {
|
|
23
26
|
variant: {
|
|
@@ -29,16 +32,6 @@ export declare const toggleVariants: import("tailwind-variants").TVReturnType<{
|
|
|
29
32
|
sm: string;
|
|
30
33
|
lg: string;
|
|
31
34
|
};
|
|
32
|
-
}>, {
|
|
33
|
-
variant: {
|
|
34
|
-
default: string;
|
|
35
|
-
outline: string;
|
|
36
|
-
};
|
|
37
|
-
size: {
|
|
38
|
-
default: string;
|
|
39
|
-
sm: string;
|
|
40
|
-
lg: string;
|
|
41
|
-
};
|
|
42
35
|
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
43
36
|
variant: {
|
|
44
37
|
default: string;
|
|
@@ -49,7 +42,7 @@ export declare const toggleVariants: import("tailwind-variants").TVReturnType<{
|
|
|
49
42
|
sm: string;
|
|
50
43
|
lg: string;
|
|
51
44
|
};
|
|
52
|
-
}, undefined, "
|
|
45
|
+
}, undefined, "inline-flex items-center justify-center gap-2 rounded-lg text-label transition-colors duration-fast focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-brand-subtle data-[state=on]:text-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.333] hover:bg-accent", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
53
46
|
variant: {
|
|
54
47
|
default: string;
|
|
55
48
|
outline: string;
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
{sideOffset}
|
|
25
25
|
dir={$textDirection}
|
|
26
26
|
class={cn(
|
|
27
|
-
"bg-popover text-popover-foreground animate-in fade-in-0
|
|
27
|
+
"bg-popover text-popover-foreground border-border text-caption animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-lg border px-3 py-1.5",
|
|
28
28
|
className
|
|
29
29
|
)}
|
|
30
30
|
{...restProps}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|