@stll/ui 0.34.6 → 0.37.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/dist/components/accordion.js +1 -1
- package/dist/components/breadcrumb.js +3 -3
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js +2 -2
- package/dist/components/color-picker.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/composer.js +1 -1
- package/dist/components/date-picker-popover.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/directional-icon.d.ts +1 -1
- package/dist/components/file-input.js +1 -1
- package/dist/components/input-group.d.ts +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/outline-rail.js +2 -2
- package/dist/components/pagination.js +1 -1
- package/dist/components/secret-input.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.d.ts +3 -3
- package/dist/components/sidebar.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/view-toolbar.js +1 -1
- package/dist/components/workspace-shell.js +1 -1
- package/dist/icons.d.ts +2 -0
- package/dist/icons.js +2 -0
- package/dist/inspector/dock.js +1 -1
- package/dist/inspector/facet-bar.js +1 -1
- package/dist/kanban/cell-action.js +1 -1
- package/dist/kanban/column-band-header.js +1 -1
- package/dist/kanban/sortable-interactions.js +1 -1
- package/dist/kanban/subgroup-board.js +1 -1
- package/dist/lib/control-size.d.ts +1 -1
- package/dist/review/review-comment-card.js +1 -1
- package/dist/review/review-decision-actions.js +1 -1
- package/dist/review/text-mark.d.ts +75 -0
- package/dist/review/text-mark.js +120 -0
- package/dist/styles/theme.css +56 -0
- package/package.json +10 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronDownIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
|
|
4
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/accordion.tsx
|
|
7
7
|
const Accordion = (props) => /* @__PURE__ */ jsx(Accordion$1.Root, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronRightIcon, MoreHorizontalIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { DirectionalIcon } from "./directional-icon.js";
|
|
4
|
-
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
7
7
|
import { useRender } from "@base-ui/react/use-render";
|
|
@@ -44,7 +44,7 @@ const BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__
|
|
|
44
44
|
"data-slot": "breadcrumb-separator",
|
|
45
45
|
role: "presentation",
|
|
46
46
|
...props,
|
|
47
|
-
children: children ?? /* @__PURE__ */ jsx(DirectionalIcon, { icon:
|
|
47
|
+
children: children ?? /* @__PURE__ */ jsx(DirectionalIcon, { icon: ChevronRightIcon })
|
|
48
48
|
});
|
|
49
49
|
const BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs("span", {
|
|
50
50
|
"aria-hidden": "true",
|
|
@@ -52,7 +52,7 @@ const BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs("sp
|
|
|
52
52
|
"data-slot": "breadcrumb-ellipsis",
|
|
53
53
|
role: "presentation",
|
|
54
54
|
...props,
|
|
55
|
-
children: [/* @__PURE__ */ jsx(
|
|
55
|
+
children: [/* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
|
|
56
56
|
className: "sr-only",
|
|
57
57
|
children: "More"
|
|
58
58
|
})]
|
|
@@ -13,8 +13,8 @@ import { VariantProps } from "class-variance-authority";
|
|
|
13
13
|
*/
|
|
14
14
|
declare const buttonAccessibleDisabledClass = "cursor-not-allowed opacity-64";
|
|
15
15
|
declare const buttonVariants: (props?: ({
|
|
16
|
-
size?: "
|
|
17
|
-
variant?: "link" | "
|
|
16
|
+
size?: "icon-sm" | "icon" | "default" | "sm" | "lg" | "row" | "chip" | "icon-lg" | "icon-xl" | "icon-xs" | "xl" | "xs" | null | undefined;
|
|
17
|
+
variant?: "link" | "outline" | "default" | "destructive" | "muted" | "destructive-outline" | "destructive-ghost" | "ghost" | "secondary" | null | undefined;
|
|
18
18
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
19
19
|
type ButtonProps = {
|
|
20
20
|
variant?: VariantProps<typeof buttonVariants>["variant"];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { LoaderIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { renderTooltipTrigger } from "./tooltip-trigger-helper.js";
|
|
4
5
|
import { BUTTON_DISPOSITION, blockDisabledActivation, blockDisabledKeyActivation, resolveButtonDisposition } from "../lib/button-disposition.js";
|
|
5
6
|
import { MENU_ROW_CLASS_NAME } from "../lib/menu-row.js";
|
|
6
|
-
import { LoaderIcon } from "lucide-react";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
9
9
|
import { useRender } from "@base-ui/react/use-render";
|
|
@@ -63,7 +63,7 @@ function Button({ className, variant, size, render, loading, children, disabled,
|
|
|
63
63
|
const isAccessibleDisabled = disposition === BUTTON_DISPOSITION.accessibleDisabled;
|
|
64
64
|
const defaultProps = {
|
|
65
65
|
children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(LoaderIcon, {
|
|
66
|
-
className: "animate-spin",
|
|
66
|
+
className: "animate-spin [transition:opacity_150ms_ease-out,scale_320ms_var(--ease-spring)] motion-reduce:transition-none starting:scale-50 starting:opacity-0",
|
|
67
67
|
"data-slot": "button-loader"
|
|
68
68
|
}), children] }) : children,
|
|
69
69
|
className: cn(buttonVariants({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { CheckIcon, ChevronDownIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { OVERLAY_LAYER_CLASS_NAMES } from "../lib/overlay-layer.js";
|
|
4
|
-
import { CheckIcon, ChevronDownIcon } from "lucide-react";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { Suspense, lazy, useState } from "react";
|
|
7
7
|
import { Popover } from "@base-ui/react/popover";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronsUpDownIcon, XIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { OVERLAY_LAYER_CLASS_NAMES } from "../lib/overlay-layer.js";
|
|
4
5
|
import { ScrollArea } from "./scroll-area.js";
|
|
5
6
|
import { containedHandler } from "../hooks/use-contained-handler.js";
|
|
6
7
|
import { CONTROL_SIZE } from "../lib/control-size.js";
|
|
7
8
|
import { Input } from "./input.js";
|
|
8
|
-
import { ChevronsUpDownIcon, XIcon } from "lucide-react";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import * as React$1 from "react";
|
|
11
11
|
import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { SearchIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { MENU_ROW_CLASS_NAME } from "../lib/menu-row.js";
|
|
4
5
|
import { CONTROL_SIZE } from "../lib/control-size.js";
|
|
5
6
|
import { useContentDir } from "../hooks/use-content-dir.js";
|
|
6
7
|
import { DialogContent as DialogPopup } from "./dialog.js";
|
|
7
|
-
import { SearchIcon } from "lucide-react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { Dialog } from "@base-ui/react/dialog";
|
|
10
10
|
import { cva } from "class-variance-authority";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronDownIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { DropdownMenu as Menu, DropdownMenuContent as MenuPopup, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem as MenuRadioItem, DropdownMenuTrigger as MenuTrigger } from "./menu.js";
|
|
4
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/composer.tsx
|
|
7
7
|
/**
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { CalendarIcon, ChevronLeftIcon, ChevronRightIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { Button } from "./button.js";
|
|
4
5
|
import { DirectionalIcon } from "./directional-icon.js";
|
|
5
6
|
import { getLocaleWeekInfo, getWeekendDays } from "../lib/week.js";
|
|
6
7
|
import { localDateFromTimestamp, millisecondsUntilNextLocalDate, resolveCalendarViewMonth, shiftCalendarDate } from "./date-picker-popover.logic.js";
|
|
7
8
|
import { Popover, PopoverContent as PopoverPopup, PopoverTrigger } from "./popover.js";
|
|
8
|
-
import { CalendarIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
9
9
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import { useCallback, useId, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
11
11
|
import { Temporal } from "temporal-polyfill/full";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { XIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { OVERLAY_LAYER_CLASS_NAMES } from "../lib/overlay-layer.js";
|
|
4
5
|
import { renderTooltipTrigger } from "./tooltip-trigger-helper.js";
|
|
5
6
|
import { Button } from "./button.js";
|
|
6
7
|
import { ScrollArea } from "./scroll-area.js";
|
|
7
|
-
import { XIcon } from "lucide-react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
|
|
10
10
|
//#region src/components/dialog.tsx
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { UploadIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { Button } from "./button.js";
|
|
4
5
|
import { openFilePicker } from "../lib/file-picker.js";
|
|
5
|
-
import { UploadIcon } from "lucide-react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useId } from "react";
|
|
8
8
|
//#region src/components/file-input.tsx
|
|
@@ -5,7 +5,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
5
5
|
//#region src/components/input-group.d.ts
|
|
6
6
|
declare const InputGroup: ({ className, ...props }: React$1.ComponentProps<"div">) => React$1.JSX.Element;
|
|
7
7
|
declare const inputGroupAddonVariants: (props?: ({
|
|
8
|
-
align?: "inline-end" | "inline-start" | "block-
|
|
8
|
+
align?: "inline-end" | "inline-start" | "block-start" | "block-end" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
10
|
declare const InputGroupAddon: ({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>) => React$1.JSX.Element;
|
|
11
11
|
declare const InputGroupText: ({ className, ...props }: React$1.ComponentProps<"span">) => React$1.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { MinusIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
|
-
import { MinusIcon } from "lucide-react";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
import { OTPInput, OTPInputContext } from "input-otp";
|
package/dist/components/input.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { SearchIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { CONTROL_SIZE } from "../lib/control-size.js";
|
|
4
5
|
import { isStructuredInputType, useContentDir } from "../hooks/use-content-dir.js";
|
|
5
6
|
import { INPUT_ELEMENT_CLASS_NAME, INPUT_SIZE_CLASS_NAMES } from "./input-control.js";
|
|
6
|
-
import { SearchIcon } from "lucide-react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { Input as Input$1 } from "@base-ui/react/input";
|
|
9
9
|
//#region src/components/input.tsx
|
package/dist/components/menu.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronRightIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { OVERLAY_LAYER_CLASS_NAMES } from "../lib/overlay-layer.js";
|
|
4
5
|
import { renderTooltipTrigger } from "./tooltip-trigger-helper.js";
|
|
5
6
|
import { DirectionalIcon } from "./directional-icon.js";
|
|
6
|
-
import { ChevronRightIcon } from "lucide-react";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { Menu as Menu$1 } from "@base-ui/react/menu";
|
|
9
9
|
//#region src/components/menu.tsx
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronRightIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { Tooltip, TooltipContent as TooltipPopup, TooltipTrigger } from "./tooltip.js";
|
|
4
5
|
import { DirectionalIcon } from "./directional-icon.js";
|
|
5
|
-
import { ChevronRight } from "lucide-react";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
8
8
|
import { Temporal } from "temporal-polyfill/full";
|
|
@@ -85,7 +85,7 @@ const rowTextClass = (isActive, emphasis) => isActive ? "text-foreground font-me
|
|
|
85
85
|
const Chevron = ({ open }) => /* @__PURE__ */ jsx(DirectionalIcon, {
|
|
86
86
|
className: cn("size-3 shrink-0 transition-transform duration-150", open ? "rotate-90" : "rotate-0"),
|
|
87
87
|
flip: !open,
|
|
88
|
-
icon:
|
|
88
|
+
icon: ChevronRightIcon
|
|
89
89
|
});
|
|
90
90
|
const OutlineRail = ({ items, scrollContainerRef, resolvePct, onJump, activeId, header, collapsedFromLevel, topOffset = 0, panelWidth = 300, ariaLabel = "Outline" }) => {
|
|
91
91
|
const [pctById, setPctById] = useState(/* @__PURE__ */ new Map());
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { buttonVariants } from "./button.js";
|
|
4
5
|
import { DirectionalIcon } from "./directional-icon.js";
|
|
5
|
-
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
8
8
|
import { useRender } from "@base-ui/react/use-render";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { EyeIcon, EyeOffIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { Button } from "./button.js";
|
|
4
5
|
import { Input } from "./input.js";
|
|
5
|
-
import { EyeIcon, EyeOffIcon } from "lucide-react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useState } from "react";
|
|
8
8
|
//#region src/components/secret-input.tsx
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { ChevronDownIcon, ChevronUpIcon, ChevronsUpDownIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { OVERLAY_LAYER_CLASS_NAMES } from "../lib/overlay-layer.js";
|
|
4
5
|
import { CONTROL_SIZE } from "../lib/control-size.js";
|
|
5
6
|
import { useLatest } from "../hooks/use-latest.js";
|
|
6
|
-
import { ChevronDownIcon, ChevronUpIcon, ChevronsUpDownIcon } from "lucide-react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import * as React$1 from "react";
|
|
9
9
|
import { Select as Select$1 } from "@base-ui/react/select";
|
package/dist/components/sheet.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { XIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { renderTooltipTrigger } from "./tooltip-trigger-helper.js";
|
|
4
5
|
import { Button } from "./button.js";
|
|
5
6
|
import { ScrollArea } from "./scroll-area.js";
|
|
6
|
-
import { XIcon } from "lucide-react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { Dialog } from "@base-ui/react/dialog";
|
|
9
9
|
//#region src/components/sheet.tsx
|
|
@@ -30,7 +30,7 @@ declare function useSidebar(): SidebarContextProps;
|
|
|
30
30
|
* left for the content column. Mobile reports 0: there the sidebar is an
|
|
31
31
|
* overlay sheet and occupies no layout width.
|
|
32
32
|
*/
|
|
33
|
-
declare function useSidebarInlineSize(): 0 |
|
|
33
|
+
declare function useSidebarInlineSize(): 0 | 256 | 48;
|
|
34
34
|
declare const SidebarProvider: ({ defaultOpen, forceCollapsed, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<"div"> & {
|
|
35
35
|
defaultOpen?: boolean;
|
|
36
36
|
forceCollapsed?: boolean;
|
|
@@ -82,8 +82,8 @@ declare const SidebarGroupContent: ({ className, ...props }: React.ComponentProp
|
|
|
82
82
|
declare const SidebarMenu: ({ className, ...props }: React.ComponentProps<"ul">) => import("react").JSX.Element;
|
|
83
83
|
declare const SidebarMenuItem: ({ className, ...props }: React.ComponentProps<"li">) => import("react").JSX.Element;
|
|
84
84
|
declare const sidebarMenuButtonVariants: (props?: ({
|
|
85
|
-
variant?: "
|
|
86
|
-
size?: "default" | "
|
|
85
|
+
variant?: "outline" | "default" | null | undefined;
|
|
86
|
+
size?: "default" | "sm" | "lg" | "rail" | null | undefined;
|
|
87
87
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
88
88
|
declare const SidebarMenuButton: ({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<"button"> & {
|
|
89
89
|
asChild?: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { PanelLeftIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { Tooltip, TooltipContent as TooltipPopup, TooltipTrigger } from "./tooltip.js";
|
|
4
5
|
import { useIsMobile } from "../hooks/use-mobile.js";
|
|
@@ -9,7 +10,6 @@ import { Separator } from "./separator.js";
|
|
|
9
10
|
import { Slot } from "../lib/slot.js";
|
|
10
11
|
import { deriveSidebarState, isSidebarMenuButtonTooltipVisible, nextOpenMobile, nextRequestedOpen, resolveSidebarOpen } from "./sidebar.logic.js";
|
|
11
12
|
import { Skeleton } from "./skeleton.js";
|
|
12
|
-
import { PanelLeftIcon } from "lucide-react";
|
|
13
13
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
14
|
import { createContext, use, useId, useState } from "react";
|
|
15
15
|
import { cva } from "class-variance-authority";
|
package/dist/components/table.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { ArrowDownIcon, ArrowUpIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
|
-
import { ArrowDownIcon, ArrowUpIcon } from "lucide-react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/table.tsx
|
|
5
5
|
const Table = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
package/dist/components/toast.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { CircleAlertIcon, CircleCheckIcon, InfoIcon, LoaderCircleIcon, TriangleAlertIcon, XIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { buttonVariants } from "./button.js";
|
|
4
|
-
import { CircleAlertIcon, CircleCheckIcon, InfoIcon, LoaderCircleIcon, TriangleAlertIcon, XIcon } from "lucide-react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import * as React$1 from "react";
|
|
7
7
|
import { Toast } from "@base-ui/react/toast";
|
|
@@ -66,7 +66,7 @@ const Toasts = ({ position }) => {
|
|
|
66
66
|
children: toasts.map((toastItem) => {
|
|
67
67
|
const Icon = getToastIcon(toastItem.type);
|
|
68
68
|
return /* @__PURE__ */ jsx(Toast.Root, {
|
|
69
|
-
className: cn("bg-popover text-popover-foreground absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full rounded-lg border shadow-lg/5 [transition:transform_.
|
|
69
|
+
className: cn("bg-popover text-popover-foreground absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full rounded-lg border shadow-lg/5 [transition:transform_.5s_var(--ease-smooth),opacity_.5s,height_.15s] not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] motion-reduce:transition-none dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", "data-[position*=right]:start-auto data-[position*=right]:end-0", "data-[position*=left]:start-0 data-[position*=left]:end-auto", "data-[position*=center]:start-0 data-[position*=center]:end-0", "data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-top", "data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-bottom", "after:absolute after:start-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full", "data-[position*=top]:after:top-full", "data-[position*=bottom]:after:bottom-full", "[--toast-calc-height:var(--toast-frontmost-height,var(--toast-height))] [--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]", "data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)+var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]", "data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]", "data-[position*=top]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-[position*=bottom]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-limited:opacity-0", "data-expanded:h-(--toast-height)", "data-position:data-expanded:transform-[translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]", "data-[position*=top]:data-starting-style:transform-[translateY(calc(-100%-var(--toast-inset)))]", "data-[position*=bottom]:data-starting-style:transform-[translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:opacity-0", "data-ending-style:not-data-limited:not-data-swipe-direction:transform-[translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]"),
|
|
70
70
|
"data-position": position,
|
|
71
71
|
swipeDirection: (() => {
|
|
72
72
|
if (position.includes("center")) return [isTop ? "up" : "down"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { FilterIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { Button } from "./button.js";
|
|
3
|
-
import { FilterIcon } from "lucide-react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/view-toolbar.tsx
|
|
6
6
|
/** Shared view controls stay compact and scroll horizontally on small screens. */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { MessageSquarePlusIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import { SHELL_CHROME_LAYER_CLASS_NAME } from "../lib/overlay-layer.js";
|
|
4
5
|
import { useIsMobile } from "../hooks/use-mobile.js";
|
|
5
6
|
import { InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton } from "../inspector/chrome.js";
|
|
6
7
|
import { Sheet, SheetContent as SheetPopup, SheetTitle, SheetTrigger } from "./sheet.js";
|
|
7
|
-
import { MessageSquarePlusIcon } from "lucide-react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { useEffect } from "react";
|
|
10
10
|
//#region src/components/workspace-shell.tsx
|
package/dist/icons.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { ActivityIcon, AlarmClockIcon, AlertCircleIcon, AlertTriangleIcon, AlignJustifyIcon, AlignLeftIcon, ArchiveIcon, ArchiveRestoreIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpDownIcon, ArrowUpIcon, AtSignIcon, BanIcon, BanknoteIcon, BellIcon, BlocksIcon, BoldIcon, BookOpenCheckIcon, BookOpenIcon as CaseLawIcon, BookOpenIcon as SkillIcon, BookTextIcon, BookmarkIcon, BookmarkPlusIcon, BotIcon, BracesIcon, BrainIcon, Building2Icon, BuildingIcon, CableIcon, CalendarClockIcon, CalendarIcon, CheckCheckIcon, CheckCircle2Icon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, CircleHelpIcon, CircleIcon, CircleOffIcon, CircleUserRoundIcon, ClipboardCheckIcon, ClipboardCopyIcon, ClipboardIcon, ClipboardListIcon, ClipboardPasteIcon, Clock3Icon, ClockIcon, CogIcon, Columns2Icon, Columns3Icon, ColumnsIcon, CommandIcon, CompassIcon, CopyIcon, CopyPlusIcon, CornerDownLeftIcon, CpuIcon, CropIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, EditIcon, EllipsisIcon, EllipsisVerticalIcon, EqualIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileBadgeIcon, FileCheckIcon, FileCodeIcon, FileDiffIcon, FileDigitIcon, FileDownIcon, FileIcon, FileImageIcon, FileOutputIcon, FilePenLineIcon, FilePlus2Icon, FilePlusIcon, FileQuestionIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FileUpIcon, FilterIcon, FilterXIcon, FlagIcon, FlaskConicalIcon, FoldHorizontalIcon, FolderIcon, FolderInputIcon, FolderOpenIcon, FolderPlusIcon, FolderSyncIcon, FolderTreeIcon, FunctionSquareIcon, GanttChartIcon, GaugeIcon, GitBranchIcon, GitCommitHorizontalIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, GripVerticalIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HighlighterIcon, HistoryIcon, ImageIcon, ImageOffIcon, InboxIcon, InfoIcon, ItalicIcon, KanbanIcon, KeyRoundIcon, KeyboardIcon, LandmarkIcon, LanguagesIcon, LaptopIcon, LayersIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutTemplateIcon, LibraryBigIcon, LibraryIcon, Link2Icon, LinkIcon, ListChecksIcon, ListFilterIcon, ListIcon, ListMinusIcon, ListOrderedIcon, ListTodoIcon, ListTreeIcon, ListXIcon, Loader2Icon, LoaderCircleIcon, LoaderIcon, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, LucideIcon, MailIcon, Maximize2Icon, MegaphoneIcon, MessageCircleQuestionIcon, MessageSquareIcon, MessageSquarePlusIcon, MessageSquareTextIcon, MessageSquareWarningIcon, MessagesSquareIcon, Minimize2Icon, MinusIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, NetworkIcon, PackageIcon, PaletteIcon, PanelLeftIcon, PanelRightIcon, PaperclipIcon, PauseIcon, PenIcon, PenLineIcon, PencilIcon, PencilLineIcon, PhoneIcon, PinIcon, PinOffIcon, PlayIcon, PlugIcon, PlusIcon, PowerIcon, PresentationIcon, PrinterIcon, QuoteIcon, Redo2Icon, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, RotateCcwIcon, RotateCwIcon, RouteIcon, Rows2Icon, Rows3Icon, SaveIcon, ScanSearchIcon, ScanTextIcon, ScissorsIcon, ScrollTextIcon, SearchIcon, SearchXIcon, SendIcon, ServerIcon, Settings2Icon, ShapesIcon, ShieldAlertIcon, ShieldCheckIcon, ShieldIcon, SigmaIcon, SignatureIcon, SlashIcon, SlidersHorizontalIcon, SparklesIcon, SplitIcon, SquareCheckIcon, SquareIcon, SquareMinusIcon, SquarePenIcon, StarIcon, StarOffIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, TableIcon, TagIcon, TagsIcon, TerminalIcon, TextIcon, TextQuoteIcon, ToggleLeftIcon, Trash2Icon, TrashIcon, TriangleAlertIcon, UnderlineIcon, Undo2Icon, UndoIcon, UnfoldHorizontalIcon, UngroupIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlusIcon, UserRoundIcon, UsersIcon, VideoIcon, WandSparklesIcon as AiActionIcon, WavesIcon, WindIcon, WorkflowIcon, WrapTextIcon, WrenchIcon, XCircleIcon, XIcon, XSquareIcon, ZapIcon } from "lucide-react";
|
|
2
|
+
export { ActivityIcon, AiActionIcon, AlarmClockIcon, AlertCircleIcon, AlertTriangleIcon, AlignJustifyIcon, AlignLeftIcon, ArchiveIcon, ArchiveRestoreIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpDownIcon, ArrowUpIcon, AtSignIcon, BanIcon, BanknoteIcon, BellIcon, BlocksIcon, BoldIcon, BookOpenCheckIcon, BookTextIcon, BookmarkIcon, BookmarkPlusIcon, BotIcon, BracesIcon, BrainIcon, Building2Icon, BuildingIcon, CableIcon, CalendarClockIcon, CalendarIcon, CaseLawIcon, CheckCheckIcon, CheckCircle2Icon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, CircleHelpIcon, CircleIcon, CircleOffIcon, CircleUserRoundIcon, ClipboardCheckIcon, ClipboardCopyIcon, ClipboardIcon, ClipboardListIcon, ClipboardPasteIcon, Clock3Icon, ClockIcon, CogIcon, Columns2Icon, Columns3Icon, ColumnsIcon, CommandIcon, CompassIcon, CopyIcon, CopyPlusIcon, CornerDownLeftIcon, CpuIcon, CropIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, EditIcon, EllipsisIcon, EllipsisVerticalIcon, EqualIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileBadgeIcon, FileCheckIcon, FileCodeIcon, FileDiffIcon, FileDigitIcon, FileDownIcon, FileIcon, FileImageIcon, FileOutputIcon, FilePenLineIcon, FilePlus2Icon, FilePlusIcon, FileQuestionIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FileUpIcon, FilterIcon, FilterXIcon, FlagIcon, FlaskConicalIcon, FoldHorizontalIcon, FolderIcon, FolderInputIcon, FolderOpenIcon, FolderPlusIcon, FolderSyncIcon, FolderTreeIcon, FunctionSquareIcon, GanttChartIcon, GaugeIcon, GitBranchIcon, GitCommitHorizontalIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, GripVerticalIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HighlighterIcon, HistoryIcon, ImageIcon, ImageOffIcon, InboxIcon, InfoIcon, ItalicIcon, KanbanIcon, KeyRoundIcon, KeyboardIcon, LandmarkIcon, LanguagesIcon, LaptopIcon, LayersIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutTemplateIcon, LibraryBigIcon, LibraryIcon, Link2Icon, LinkIcon, ListChecksIcon, ListFilterIcon, ListIcon, ListMinusIcon, ListOrderedIcon, ListTodoIcon, ListTreeIcon, ListXIcon, Loader2Icon, LoaderCircleIcon, LoaderIcon, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, type LucideIcon, MailIcon, Maximize2Icon, MegaphoneIcon, MessageCircleQuestionIcon, MessageSquareIcon, MessageSquarePlusIcon, MessageSquareTextIcon, MessageSquareWarningIcon, MessagesSquareIcon, Minimize2Icon, MinusIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, NetworkIcon, PackageIcon, PaletteIcon, PanelLeftIcon, PanelRightIcon, PaperclipIcon, PauseIcon, PenIcon, PenLineIcon, PencilIcon, PencilLineIcon, PhoneIcon, PinIcon, PinOffIcon, PlayIcon, PlugIcon, PlusIcon, PowerIcon, PresentationIcon, PrinterIcon, QuoteIcon, Redo2Icon, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, RotateCcwIcon, RotateCwIcon, RouteIcon, Rows2Icon, Rows3Icon, SaveIcon, ScanSearchIcon, ScanTextIcon, ScissorsIcon, ScrollTextIcon, SearchIcon, SearchXIcon, SendIcon, ServerIcon, Settings2Icon, ShapesIcon, ShieldAlertIcon, ShieldCheckIcon, ShieldIcon, SigmaIcon, SignatureIcon, SkillIcon, SlashIcon, SlidersHorizontalIcon, SparklesIcon, SplitIcon, SquareCheckIcon, SquareIcon, SquareMinusIcon, SquarePenIcon, StarIcon, StarOffIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, TableIcon, TagIcon, TagsIcon, TerminalIcon, TextIcon, TextQuoteIcon, ToggleLeftIcon, Trash2Icon, TrashIcon, TriangleAlertIcon, UnderlineIcon, Undo2Icon, UndoIcon, UnfoldHorizontalIcon, UngroupIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlusIcon, UserRoundIcon, UsersIcon, VideoIcon, WavesIcon, WindIcon, WorkflowIcon, WrapTextIcon, WrenchIcon, XCircleIcon, XIcon, XSquareIcon, ZapIcon };
|
package/dist/icons.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { ActivityIcon, AlarmClockIcon, AlertCircleIcon, AlertTriangleIcon, AlignJustifyIcon, AlignLeftIcon, ArchiveIcon, ArchiveRestoreIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpDownIcon, ArrowUpIcon, AtSignIcon, BanIcon, BanknoteIcon, BellIcon, BlocksIcon, BoldIcon, BookOpenCheckIcon, BookOpenIcon as CaseLawIcon, BookOpenIcon as SkillIcon, BookTextIcon, BookmarkIcon, BookmarkPlusIcon, BotIcon, BracesIcon, BrainIcon, Building2Icon, BuildingIcon, CableIcon, CalendarClockIcon, CalendarIcon, CheckCheckIcon, CheckCircle2Icon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, CircleHelpIcon, CircleIcon, CircleOffIcon, CircleUserRoundIcon, ClipboardCheckIcon, ClipboardCopyIcon, ClipboardIcon, ClipboardListIcon, ClipboardPasteIcon, Clock3Icon, ClockIcon, CogIcon, Columns2Icon, Columns3Icon, ColumnsIcon, CommandIcon, CompassIcon, CopyIcon, CopyPlusIcon, CornerDownLeftIcon, CpuIcon, CropIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, EditIcon, EllipsisIcon, EllipsisVerticalIcon, EqualIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileBadgeIcon, FileCheckIcon, FileCodeIcon, FileDiffIcon, FileDigitIcon, FileDownIcon, FileIcon, FileImageIcon, FileOutputIcon, FilePenLineIcon, FilePlus2Icon, FilePlusIcon, FileQuestionIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FileUpIcon, FilterIcon, FilterXIcon, FlagIcon, FlaskConicalIcon, FoldHorizontalIcon, FolderIcon, FolderInputIcon, FolderOpenIcon, FolderPlusIcon, FolderSyncIcon, FolderTreeIcon, FunctionSquareIcon, GanttChartIcon, GaugeIcon, GitBranchIcon, GitCommitHorizontalIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, GripVerticalIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HighlighterIcon, HistoryIcon, ImageIcon, ImageOffIcon, InboxIcon, InfoIcon, ItalicIcon, KanbanIcon, KeyRoundIcon, KeyboardIcon, LandmarkIcon, LanguagesIcon, LaptopIcon, LayersIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutTemplateIcon, LibraryBigIcon, LibraryIcon, Link2Icon, LinkIcon, ListChecksIcon, ListFilterIcon, ListIcon, ListMinusIcon, ListOrderedIcon, ListTodoIcon, ListTreeIcon, ListXIcon, Loader2Icon, LoaderCircleIcon, LoaderIcon, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, MailIcon, Maximize2Icon, MegaphoneIcon, MessageCircleQuestionIcon, MessageSquareIcon, MessageSquarePlusIcon, MessageSquareTextIcon, MessageSquareWarningIcon, MessagesSquareIcon, Minimize2Icon, MinusIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, NetworkIcon, PackageIcon, PaletteIcon, PanelLeftIcon, PanelRightIcon, PaperclipIcon, PauseIcon, PenIcon, PenLineIcon, PencilIcon, PencilLineIcon, PhoneIcon, PinIcon, PinOffIcon, PlayIcon, PlugIcon, PlusIcon, PowerIcon, PresentationIcon, PrinterIcon, QuoteIcon, Redo2Icon, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, RotateCcwIcon, RotateCwIcon, RouteIcon, Rows2Icon, Rows3Icon, SaveIcon, ScanSearchIcon, ScanTextIcon, ScissorsIcon, ScrollTextIcon, SearchIcon, SearchXIcon, SendIcon, ServerIcon, Settings2Icon, ShapesIcon, ShieldAlertIcon, ShieldCheckIcon, ShieldIcon, SigmaIcon, SignatureIcon, SlashIcon, SlidersHorizontalIcon, SparklesIcon, SplitIcon, SquareCheckIcon, SquareIcon, SquareMinusIcon, SquarePenIcon, StarIcon, StarOffIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, TableIcon, TagIcon, TagsIcon, TerminalIcon, TextIcon, TextQuoteIcon, ToggleLeftIcon, Trash2Icon, TrashIcon, TriangleAlertIcon, UnderlineIcon, Undo2Icon, UndoIcon, UnfoldHorizontalIcon, UngroupIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlusIcon, UserRoundIcon, UsersIcon, VideoIcon, WandSparklesIcon as AiActionIcon, WavesIcon, WindIcon, WorkflowIcon, WrapTextIcon, WrenchIcon, XCircleIcon, XIcon, XSquareIcon, ZapIcon } from "lucide-react";
|
|
2
|
+
export { ActivityIcon, AiActionIcon, AlarmClockIcon, AlertCircleIcon, AlertTriangleIcon, AlignJustifyIcon, AlignLeftIcon, ArchiveIcon, ArchiveRestoreIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpDownIcon, ArrowUpIcon, AtSignIcon, BanIcon, BanknoteIcon, BellIcon, BlocksIcon, BoldIcon, BookOpenCheckIcon, BookTextIcon, BookmarkIcon, BookmarkPlusIcon, BotIcon, BracesIcon, BrainIcon, Building2Icon, BuildingIcon, CableIcon, CalendarClockIcon, CalendarIcon, CaseLawIcon, CheckCheckIcon, CheckCircle2Icon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, CircleHelpIcon, CircleIcon, CircleOffIcon, CircleUserRoundIcon, ClipboardCheckIcon, ClipboardCopyIcon, ClipboardIcon, ClipboardListIcon, ClipboardPasteIcon, Clock3Icon, ClockIcon, CogIcon, Columns2Icon, Columns3Icon, ColumnsIcon, CommandIcon, CompassIcon, CopyIcon, CopyPlusIcon, CornerDownLeftIcon, CpuIcon, CropIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, EditIcon, EllipsisIcon, EllipsisVerticalIcon, EqualIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileBadgeIcon, FileCheckIcon, FileCodeIcon, FileDiffIcon, FileDigitIcon, FileDownIcon, FileIcon, FileImageIcon, FileOutputIcon, FilePenLineIcon, FilePlus2Icon, FilePlusIcon, FileQuestionIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FileUpIcon, FilterIcon, FilterXIcon, FlagIcon, FlaskConicalIcon, FoldHorizontalIcon, FolderIcon, FolderInputIcon, FolderOpenIcon, FolderPlusIcon, FolderSyncIcon, FolderTreeIcon, FunctionSquareIcon, GanttChartIcon, GaugeIcon, GitBranchIcon, GitCommitHorizontalIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, GripVerticalIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HighlighterIcon, HistoryIcon, ImageIcon, ImageOffIcon, InboxIcon, InfoIcon, ItalicIcon, KanbanIcon, KeyRoundIcon, KeyboardIcon, LandmarkIcon, LanguagesIcon, LaptopIcon, LayersIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutTemplateIcon, LibraryBigIcon, LibraryIcon, Link2Icon, LinkIcon, ListChecksIcon, ListFilterIcon, ListIcon, ListMinusIcon, ListOrderedIcon, ListTodoIcon, ListTreeIcon, ListXIcon, Loader2Icon, LoaderCircleIcon, LoaderIcon, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, MailIcon, Maximize2Icon, MegaphoneIcon, MessageCircleQuestionIcon, MessageSquareIcon, MessageSquarePlusIcon, MessageSquareTextIcon, MessageSquareWarningIcon, MessagesSquareIcon, Minimize2Icon, MinusIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, NetworkIcon, PackageIcon, PaletteIcon, PanelLeftIcon, PanelRightIcon, PaperclipIcon, PauseIcon, PenIcon, PenLineIcon, PencilIcon, PencilLineIcon, PhoneIcon, PinIcon, PinOffIcon, PlayIcon, PlugIcon, PlusIcon, PowerIcon, PresentationIcon, PrinterIcon, QuoteIcon, Redo2Icon, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, RotateCcwIcon, RotateCwIcon, RouteIcon, Rows2Icon, Rows3Icon, SaveIcon, ScanSearchIcon, ScanTextIcon, ScissorsIcon, ScrollTextIcon, SearchIcon, SearchXIcon, SendIcon, ServerIcon, Settings2Icon, ShapesIcon, ShieldAlertIcon, ShieldCheckIcon, ShieldIcon, SigmaIcon, SignatureIcon, SkillIcon, SlashIcon, SlidersHorizontalIcon, SparklesIcon, SplitIcon, SquareCheckIcon, SquareIcon, SquareMinusIcon, SquarePenIcon, StarIcon, StarOffIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, TableIcon, TagIcon, TagsIcon, TerminalIcon, TextIcon, TextQuoteIcon, ToggleLeftIcon, Trash2Icon, TrashIcon, TriangleAlertIcon, UnderlineIcon, Undo2Icon, UndoIcon, UnfoldHorizontalIcon, UngroupIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlusIcon, UserRoundIcon, UsersIcon, VideoIcon, WavesIcon, WindIcon, WorkflowIcon, WrapTextIcon, WrenchIcon, XCircleIcon, XIcon, XSquareIcon, ZapIcon };
|
package/dist/inspector/dock.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { EllipsisIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { SHELL_CHROME_LAYER_CLASS_NAME } from "../lib/overlay-layer.js";
|
|
3
4
|
import "./pane-width.js";
|
|
4
|
-
import { EllipsisIcon } from "lucide-react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/inspector/dock.tsx
|
|
7
7
|
const PANE_LAYER_CLASS_NAME = {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { ChevronDownIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { TOOLBAR_ROW_HEIGHT } from "./layout-tokens.js";
|
|
3
4
|
import { Tooltip, TooltipContent as TooltipPopup, TooltipTrigger } from "../components/tooltip.js";
|
|
4
5
|
import { Button } from "../components/button.js";
|
|
5
6
|
import { DropdownMenu as Menu, DropdownMenuContent as MenuPopup, DropdownMenuItem as MenuItem, DropdownMenuTrigger as MenuTrigger } from "../components/menu.js";
|
|
6
7
|
import { resolveFacetOverflow } from "./facet-bar.logic.js";
|
|
7
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { useEffect, useRef, useState } from "react";
|
|
10
10
|
//#region src/inspector/facet-bar.tsx
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { PlusIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { Button } from "../components/button.js";
|
|
3
4
|
import "./layout-tokens.js";
|
|
4
|
-
import { PlusIcon } from "lucide-react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/kanban/cell-action.tsx
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { ChevronDownIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { DirectionalIcon } from "../components/directional-icon.js";
|
|
3
4
|
import { KANBAN_CHROME_TOGGLE_COARSE_TARGET_CLASS } from "./layout-tokens.js";
|
|
4
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/kanban/column-band-header.tsx
|
|
7
7
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { GripVerticalIcon } from "../icons.js";
|
|
2
3
|
import { cn } from "../lib/utils.js";
|
|
3
4
|
import "../lib/overlay-layer.js";
|
|
4
5
|
import { Button } from "../components/button.js";
|
|
5
6
|
import { KANBAN_BOARD_COLLISION_DETECTION, KANBAN_DROP_TARGET_TYPES, clearKanbanKeyboardTarget, getKanbanKeyboardTargetState, isKanbanDropSettled, kanbanKeyboardCoordinates } from "./sortable-interactions.logic.js";
|
|
6
7
|
import { isActiveTouchChange } from "./touch-identity.js";
|
|
7
|
-
import { GripVerticalIcon } from "lucide-react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import * as React$1 from "react";
|
|
10
10
|
import { createPortal } from "react-dom";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChevronDownIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { DirectionalIcon } from "../components/directional-icon.js";
|
|
3
4
|
import { KANBAN_STICKY_TOP_CLASS, KANBAN_STICKY_TOP_VAR, KanbanCollapsedBandCaption } from "./sticky-lane.js";
|
|
@@ -6,7 +7,6 @@ import { KanbanColumnBandHeader } from "./column-band-header.js";
|
|
|
6
7
|
import { KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_CLASS, resolveKanbanColumnBands } from "./column-bands.js";
|
|
7
8
|
import { KANBAN_CARD_DRAG_MIME } from "./drag-interactions.js";
|
|
8
9
|
import { createBandPeekController } from "./band-peek.js";
|
|
9
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
10
10
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
12
12
|
//#region src/kanban/subgroup-board.tsx
|
|
@@ -5,6 +5,6 @@ declare const CONTROL_SIZE: Readonly<{
|
|
|
5
5
|
readonly lg: "lg";
|
|
6
6
|
}>;
|
|
7
7
|
type ControlSize = (typeof CONTROL_SIZE)[keyof typeof CONTROL_SIZE];
|
|
8
|
-
declare const CONTROL_SIZES: readonly ("default" | "
|
|
8
|
+
declare const CONTROL_SIZES: readonly ("default" | "sm" | "lg")[];
|
|
9
9
|
//#endregion
|
|
10
10
|
export { CONTROL_SIZE, CONTROL_SIZES, type ControlSize };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { CheckIcon, RotateCcwIcon, Trash2Icon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { Button } from "../components/button.js";
|
|
3
4
|
import { BidiText } from "../components/bidi-text.js";
|
|
4
5
|
import { ReviewAuthorAvatar } from "./review-author-avatar.js";
|
|
5
|
-
import { CheckIcon, RotateCcwIcon, Trash2Icon } from "lucide-react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { Temporal } from "temporal-polyfill/full";
|
|
8
8
|
//#region src/review/review-comment-card.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { CheckIcon, RotateCcwIcon, XIcon } from "../icons.js";
|
|
1
2
|
import { cn } from "../lib/utils.js";
|
|
2
3
|
import { Button } from "../components/button.js";
|
|
3
|
-
import { CheckIcon, RotateCcwIcon, XIcon } from "lucide-react";
|
|
4
4
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { panic } from "better-result";
|
|
6
6
|
//#region src/review/review-decision-actions.tsx
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/review/text-mark.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* One mark for words in running text: a search or find hit, a reader's own
|
|
5
|
+
* highlight, a verdict under a claim. Every surface that points at words
|
|
6
|
+
* draws them this way, so a found word, a note and a finding differ only in
|
|
7
|
+
* hue and line, never in shape.
|
|
8
|
+
*
|
|
9
|
+
* Marks stay inline with no padding or rounding: a mark over several lines or
|
|
10
|
+
* inline runs is several boxes, and only a flat, cloned background reads as
|
|
11
|
+
* one continuous mark. The hue travels as the `--text-mark` custom property,
|
|
12
|
+
* so each variant and state is spelled once and every tone reuses it.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TextMark: ({ variant, tone, state, weight, className, ...props }: TextMarkProps) => import("react").JSX.Element;
|
|
15
|
+
export type TextMarkVariant = "fill" | "underline" | "dotted" | "wavy" | "strike";
|
|
16
|
+
export type TextMarkTone = "warning" | "success" | "destructive" | "muted" | "option-yellow" | "option-green" | "option-sky" | "option-violet" | "option-red" | "option-purple";
|
|
17
|
+
/**
|
|
18
|
+
* `matched` is a line mark picked out by a filter: it gains a faint wash of
|
|
19
|
+
* its hue. A fill mark is already a wash, so it looks the same at rest and
|
|
20
|
+
* matched. `active` is the one mark being pointed at (the current find hit,
|
|
21
|
+
* the selected claim): a stronger wash of the same hue and a ring of it.
|
|
22
|
+
*/
|
|
23
|
+
export type TextMarkState = "rest" | "matched" | "active";
|
|
24
|
+
/** Search hits read a touch heavier than the words around them. */
|
|
25
|
+
export type TextMarkWeight = "inherit" | "medium";
|
|
26
|
+
export type TextMarkOptions = {
|
|
27
|
+
variant: TextMarkVariant;
|
|
28
|
+
tone: TextMarkTone;
|
|
29
|
+
state?: TextMarkState | undefined;
|
|
30
|
+
weight?: TextMarkWeight | undefined;
|
|
31
|
+
};
|
|
32
|
+
type TextMarkProps = ComponentProps<"mark"> & TextMarkOptions;
|
|
33
|
+
/** The CSS value of each tone's hue. */
|
|
34
|
+
export declare const TEXT_MARK_TONE_COLOR: {
|
|
35
|
+
readonly warning: "var(--warning)";
|
|
36
|
+
readonly success: "var(--success)";
|
|
37
|
+
readonly destructive: "var(--destructive)";
|
|
38
|
+
readonly muted: "var(--muted-foreground)";
|
|
39
|
+
readonly "option-yellow": "var(--option-yellow)";
|
|
40
|
+
readonly "option-green": "var(--option-green)";
|
|
41
|
+
readonly "option-sky": "var(--option-sky)";
|
|
42
|
+
readonly "option-violet": "var(--option-violet)";
|
|
43
|
+
readonly "option-red": "var(--option-red)";
|
|
44
|
+
readonly "option-purple": "var(--option-purple)";
|
|
45
|
+
};
|
|
46
|
+
/** How a found word is marked everywhere: readers, snippets, PDFs, tables. */
|
|
47
|
+
export declare const SEARCH_HIT_MARK: {
|
|
48
|
+
readonly variant: "fill";
|
|
49
|
+
readonly tone: "warning";
|
|
50
|
+
readonly weight: "medium";
|
|
51
|
+
};
|
|
52
|
+
/** The classes of one mark, for markup that is not a `<TextMark>` (a claim
|
|
53
|
+
* button, a PDF text-layer box, an element a DOM walker creates). */
|
|
54
|
+
export declare const textMarkClass: ({ variant, tone, state, weight }: TextMarkOptions) => string;
|
|
55
|
+
/**
|
|
56
|
+
* The search-hit mark reached through a descendant selector, for markup that
|
|
57
|
+
* arrives already highlighted (the search endpoints' `<mark>` snippets).
|
|
58
|
+
* Spelled out because Tailwind emits only the classes it can read in the
|
|
59
|
+
* source; `text-mark.test.ts` holds it to `textMarkClass(SEARCH_HIT_MARK)`.
|
|
60
|
+
*/
|
|
61
|
+
export declare const SEARCH_HIT_DESCENDANT_MARK_CLASS = "[&_mark]:box-decoration-clone [&_mark]:text-foreground [&_mark]:[--text-mark:var(--warning)] [&_mark]:bg-(--text-mark)/30 [&_mark]:dark:bg-(--text-mark)/20 [&_mark]:font-medium";
|
|
62
|
+
type TextMarkHighlightRuleOptions = {
|
|
63
|
+
/** The registered `CSS.highlights` name. */
|
|
64
|
+
name: string;
|
|
65
|
+
tone: TextMarkTone;
|
|
66
|
+
state: Exclude<TextMarkState, "matched">;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* A fill mark for the CSS Custom Highlight API. `::highlight()` takes colours
|
|
70
|
+
* but no classes, custom properties or rings, so a find that marks ranges
|
|
71
|
+
* rather than elements gets the fill's wash as a rule; the active range is
|
|
72
|
+
* told apart by its stronger wash alone.
|
|
73
|
+
*/
|
|
74
|
+
export declare const textMarkHighlightRule: ({ name, tone, state }: TextMarkHighlightRuleOptions) => string;
|
|
75
|
+
//#endregion
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { cn } from "../lib/utils.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/review/text-mark.tsx
|
|
4
|
+
/**
|
|
5
|
+
* One mark for words in running text: a search or find hit, a reader's own
|
|
6
|
+
* highlight, a verdict under a claim. Every surface that points at words
|
|
7
|
+
* draws them this way, so a found word, a note and a finding differ only in
|
|
8
|
+
* hue and line, never in shape.
|
|
9
|
+
*
|
|
10
|
+
* Marks stay inline with no padding or rounding: a mark over several lines or
|
|
11
|
+
* inline runs is several boxes, and only a flat, cloned background reads as
|
|
12
|
+
* one continuous mark. The hue travels as the `--text-mark` custom property,
|
|
13
|
+
* so each variant and state is spelled once and every tone reuses it.
|
|
14
|
+
*/
|
|
15
|
+
const TextMark = ({ variant, tone, state, weight, className, ...props }) => /* @__PURE__ */ jsx("mark", {
|
|
16
|
+
className: cn(textMarkClass({
|
|
17
|
+
variant,
|
|
18
|
+
tone,
|
|
19
|
+
state,
|
|
20
|
+
weight
|
|
21
|
+
}), className),
|
|
22
|
+
"data-slot": "text-mark",
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
/** The CSS value of each tone's hue. */
|
|
26
|
+
const TEXT_MARK_TONE_COLOR = {
|
|
27
|
+
warning: "var(--warning)",
|
|
28
|
+
success: "var(--success)",
|
|
29
|
+
destructive: "var(--destructive)",
|
|
30
|
+
muted: "var(--muted-foreground)",
|
|
31
|
+
"option-yellow": "var(--option-yellow)",
|
|
32
|
+
"option-green": "var(--option-green)",
|
|
33
|
+
"option-sky": "var(--option-sky)",
|
|
34
|
+
"option-violet": "var(--option-violet)",
|
|
35
|
+
"option-red": "var(--option-red)",
|
|
36
|
+
"option-purple": "var(--option-purple)"
|
|
37
|
+
};
|
|
38
|
+
/** How a found word is marked everywhere: readers, snippets, PDFs, tables. */
|
|
39
|
+
const SEARCH_HIT_MARK = {
|
|
40
|
+
variant: "fill",
|
|
41
|
+
tone: "warning",
|
|
42
|
+
weight: "medium"
|
|
43
|
+
};
|
|
44
|
+
/** The classes of one mark, for markup that is not a `<TextMark>` (a claim
|
|
45
|
+
* button, a PDF text-layer box, an element a DOM walker creates). */
|
|
46
|
+
const textMarkClass = ({ variant, tone, state = "rest", weight = "inherit" }) => [
|
|
47
|
+
TEXT_MARK_BASE_CLASS,
|
|
48
|
+
VARIANT_CLASS[variant],
|
|
49
|
+
TONE_CLASS[tone],
|
|
50
|
+
WASH_CLASS[variant === "fill" ? "fill" : "line"][state],
|
|
51
|
+
WEIGHT_CLASS[weight]
|
|
52
|
+
].filter((part) => part !== "").join(" ");
|
|
53
|
+
/**
|
|
54
|
+
* The search-hit mark reached through a descendant selector, for markup that
|
|
55
|
+
* arrives already highlighted (the search endpoints' `<mark>` snippets).
|
|
56
|
+
* Spelled out because Tailwind emits only the classes it can read in the
|
|
57
|
+
* source; `text-mark.test.ts` holds it to `textMarkClass(SEARCH_HIT_MARK)`.
|
|
58
|
+
*/
|
|
59
|
+
const SEARCH_HIT_DESCENDANT_MARK_CLASS = "[&_mark]:box-decoration-clone [&_mark]:text-foreground [&_mark]:[--text-mark:var(--warning)] [&_mark]:bg-(--text-mark)/30 [&_mark]:dark:bg-(--text-mark)/20 [&_mark]:font-medium";
|
|
60
|
+
/**
|
|
61
|
+
* A fill mark for the CSS Custom Highlight API. `::highlight()` takes colours
|
|
62
|
+
* but no classes, custom properties or rings, so a find that marks ranges
|
|
63
|
+
* rather than elements gets the fill's wash as a rule; the active range is
|
|
64
|
+
* told apart by its stronger wash alone.
|
|
65
|
+
*/
|
|
66
|
+
const textMarkHighlightRule = ({ name, tone, state }) => {
|
|
67
|
+
const color = TEXT_MARK_TONE_COLOR[tone];
|
|
68
|
+
const { light, dark } = FILL_PERCENT[state];
|
|
69
|
+
return [`::highlight(${name}) { background-color: color-mix(in oklab, ${color} ${light}%, transparent); color: inherit; }`, `.dark ::highlight(${name}) { background-color: color-mix(in oklab, ${color} ${dark}%, transparent); }`].join("\n");
|
|
70
|
+
};
|
|
71
|
+
const TEXT_MARK_BASE_CLASS = "box-decoration-clone";
|
|
72
|
+
const LINE_CLASS = "text-inherit underline decoration-2 underline-offset-3 decoration-[color:var(--text-mark)]";
|
|
73
|
+
const VARIANT_CLASS = {
|
|
74
|
+
fill: "text-foreground",
|
|
75
|
+
underline: LINE_CLASS,
|
|
76
|
+
dotted: `${LINE_CLASS} decoration-dotted`,
|
|
77
|
+
wavy: `${LINE_CLASS} decoration-wavy`,
|
|
78
|
+
strike: "text-inherit line-through decoration-2 decoration-[color:var(--text-mark)]"
|
|
79
|
+
};
|
|
80
|
+
const TONE_CLASS = {
|
|
81
|
+
warning: "[--text-mark:var(--warning)]",
|
|
82
|
+
success: "[--text-mark:var(--success)]",
|
|
83
|
+
destructive: "[--text-mark:var(--destructive)]",
|
|
84
|
+
muted: "[--text-mark:var(--muted-foreground)]",
|
|
85
|
+
"option-yellow": "[--text-mark:var(--option-yellow)]",
|
|
86
|
+
"option-green": "[--text-mark:var(--option-green)]",
|
|
87
|
+
"option-sky": "[--text-mark:var(--option-sky)]",
|
|
88
|
+
"option-violet": "[--text-mark:var(--option-violet)]",
|
|
89
|
+
"option-red": "[--text-mark:var(--option-red)]",
|
|
90
|
+
"option-purple": "[--text-mark:var(--option-purple)]"
|
|
91
|
+
};
|
|
92
|
+
/** The fill's wash, in percent of the hue, for the highlight rule. */
|
|
93
|
+
const FILL_PERCENT = {
|
|
94
|
+
rest: {
|
|
95
|
+
light: 30,
|
|
96
|
+
dark: 20
|
|
97
|
+
},
|
|
98
|
+
active: {
|
|
99
|
+
light: 45,
|
|
100
|
+
dark: 35
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const WASH_CLASS = {
|
|
104
|
+
fill: {
|
|
105
|
+
rest: "bg-(--text-mark)/30 dark:bg-(--text-mark)/20",
|
|
106
|
+
matched: "bg-(--text-mark)/30 dark:bg-(--text-mark)/20",
|
|
107
|
+
active: "bg-(--text-mark)/45 dark:bg-(--text-mark)/35 ring-1 ring-(--text-mark)"
|
|
108
|
+
},
|
|
109
|
+
line: {
|
|
110
|
+
rest: "bg-transparent",
|
|
111
|
+
matched: "bg-(--text-mark)/15",
|
|
112
|
+
active: "bg-(--text-mark)/30 dark:bg-(--text-mark)/20 ring-1 ring-(--text-mark)"
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
const WEIGHT_CLASS = {
|
|
116
|
+
inherit: "",
|
|
117
|
+
medium: "font-medium"
|
|
118
|
+
};
|
|
119
|
+
//#endregion
|
|
120
|
+
export { SEARCH_HIT_DESCENDANT_MARK_CLASS, SEARCH_HIT_MARK, TEXT_MARK_TONE_COLOR, TextMark, textMarkClass, textMarkHighlightRule };
|
package/dist/styles/theme.css
CHANGED
|
@@ -72,6 +72,62 @@
|
|
|
72
72
|
--color-popover: var(--popover);
|
|
73
73
|
--color-card-foreground: var(--card-foreground);
|
|
74
74
|
--color-card: var(--card);
|
|
75
|
+
/* Closed-form spring step responses sampled into linear():
|
|
76
|
+
spring moves (damping 0.75, ~2.8% overshoot); smooth enters (critical damping, no overshoot). */
|
|
77
|
+
--ease-spring: linear(
|
|
78
|
+
0,
|
|
79
|
+
0.053,
|
|
80
|
+
0.177,
|
|
81
|
+
0.33,
|
|
82
|
+
0.486,
|
|
83
|
+
0.627,
|
|
84
|
+
0.746,
|
|
85
|
+
0.84,
|
|
86
|
+
0.911,
|
|
87
|
+
0.961,
|
|
88
|
+
0.995,
|
|
89
|
+
1.014,
|
|
90
|
+
1.025,
|
|
91
|
+
1.028,
|
|
92
|
+
1.028,
|
|
93
|
+
1.024,
|
|
94
|
+
1.02,
|
|
95
|
+
1.016,
|
|
96
|
+
1.012,
|
|
97
|
+
1.008,
|
|
98
|
+
1.005,
|
|
99
|
+
1.003,
|
|
100
|
+
1.001,
|
|
101
|
+
1,
|
|
102
|
+
1
|
|
103
|
+
);
|
|
104
|
+
--ease-smooth: linear(
|
|
105
|
+
0,
|
|
106
|
+
0.059,
|
|
107
|
+
0.185,
|
|
108
|
+
0.328,
|
|
109
|
+
0.464,
|
|
110
|
+
0.583,
|
|
111
|
+
0.681,
|
|
112
|
+
0.759,
|
|
113
|
+
0.82,
|
|
114
|
+
0.867,
|
|
115
|
+
0.902,
|
|
116
|
+
0.929,
|
|
117
|
+
0.948,
|
|
118
|
+
0.963,
|
|
119
|
+
0.973,
|
|
120
|
+
0.981,
|
|
121
|
+
0.986,
|
|
122
|
+
0.99,
|
|
123
|
+
0.993,
|
|
124
|
+
0.995,
|
|
125
|
+
0.997,
|
|
126
|
+
0.998,
|
|
127
|
+
0.998,
|
|
128
|
+
0.999,
|
|
129
|
+
1
|
|
130
|
+
);
|
|
75
131
|
--animate-skeleton: skeleton 2s -1s infinite linear;
|
|
76
132
|
--animate-caret-blink: caret-blink 1.25s ease-out infinite;
|
|
77
133
|
/* One-shot tint pulse for a surface that just became relevant.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stll/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"description": "Stella's design system: bidi-aware React primitives built on Base UI, the dockable inspector pane, and the Tailwind v4 theme they are styled with.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"base-ui",
|
|
@@ -149,6 +149,10 @@
|
|
|
149
149
|
"types": "./dist/components/hex-color-picker.d.ts",
|
|
150
150
|
"import": "./dist/components/hex-color-picker.js"
|
|
151
151
|
},
|
|
152
|
+
"./icons": {
|
|
153
|
+
"types": "./dist/icons.d.ts",
|
|
154
|
+
"import": "./dist/icons.js"
|
|
155
|
+
},
|
|
152
156
|
"./input": {
|
|
153
157
|
"types": "./dist/components/input.d.ts",
|
|
154
158
|
"import": "./dist/components/input.js"
|
|
@@ -245,6 +249,10 @@
|
|
|
245
249
|
"types": "./dist/review/review-status-badge.d.ts",
|
|
246
250
|
"import": "./dist/review/review-status-badge.js"
|
|
247
251
|
},
|
|
252
|
+
"./text-mark": {
|
|
253
|
+
"types": "./dist/review/text-mark.d.ts",
|
|
254
|
+
"import": "./dist/review/text-mark.js"
|
|
255
|
+
},
|
|
248
256
|
"./scroll-area": {
|
|
249
257
|
"types": "./dist/components/scroll-area.d.ts",
|
|
250
258
|
"import": "./dist/components/scroll-area.js"
|
|
@@ -611,7 +619,7 @@
|
|
|
611
619
|
"test:browser": "playwright test --config playwright.config.ts",
|
|
612
620
|
"pack:check": "cd ../.. && bun scripts/check-published-exports.ts packages/ui",
|
|
613
621
|
"typecheck": "bun ../../packages/scripts/src/tsc-native.ts --noEmit",
|
|
614
|
-
"lint": "cd ../.. && bun --bun oxlint -c oxlint.config.ts --report-unused-disable-directives-severity=error --type-aware packages/ui",
|
|
622
|
+
"lint": "cd ../.. && bun --bun oxlint -c oxlint.config.ts --report-unused-disable-directives-severity=error --type-aware --type-check packages/ui",
|
|
615
623
|
"lint:fix": "cd ../.. && bun --bun oxlint -c oxlint.config.ts --type-aware --fix packages/ui",
|
|
616
624
|
"format": "bun ../../scripts/run-oxfmt.ts .",
|
|
617
625
|
"prepack": "bun run build"
|