@stll/ui 0.50.1 → 0.51.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/horizontal-scroller.d.ts +19 -0
- package/dist/components/horizontal-scroller.js +112 -0
- package/dist/components/landing.d.ts +3 -1
- package/dist/components/landing.js +6 -4
- package/dist/components/preview-pane.d.ts +10 -2
- package/dist/components/preview-pane.js +9 -10
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/inspector/index.d.ts +2 -2
- package/dist/inspector/index.js +2 -2
- package/dist/inspector/pane-width.d.ts +1 -1
- package/dist/inspector/pane-width.js +1 -1
- package/dist/inspector/use-pane-width.d.ts +8 -26
- package/dist/inspector/use-pane-width.js +18 -43
- package/dist/review/text-mark.d.ts +7 -0
- package/dist/review/text-mark.js +19 -1
- package/dist/testing/browser-clock.d.ts +7 -0
- package/dist/testing/browser-clock.js +41 -0
- package/package.json +17 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/components/horizontal-scroller.d.ts
|
|
3
|
+
type ScrollDirection = "ltr" | "rtl";
|
|
4
|
+
type HorizontalScrollerProps = ComponentProps<"div"> & {
|
|
5
|
+
nextLabel: string;
|
|
6
|
+
previousLabel: string;
|
|
7
|
+
/** Lays out the items: the row that may grow wider than the viewport. */
|
|
8
|
+
contentClassName?: string;
|
|
9
|
+
viewportClassName?: string;
|
|
10
|
+
};
|
|
11
|
+
type ScrollState = {
|
|
12
|
+
canScrollEnd: boolean;
|
|
13
|
+
canScrollStart: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const HorizontalScroller: ({ children, className, nextLabel, previousLabel, contentClassName, viewportClassName, ...props }: HorizontalScrollerProps) => import("react").JSX.Element;
|
|
16
|
+
export declare const scrollState: (scrollLeft: number, scrollWidth: number, clientWidth: number, direction: ScrollDirection) => ScrollState;
|
|
17
|
+
/** Wheel deltas arrive in pixels, lines or pages; scrollBy takes pixels. */
|
|
18
|
+
export declare const wheelDeltaPixels: (event: Pick<WheelEvent, "deltaMode" | "deltaY">, node: Pick<HTMLElement, "clientWidth">) => number;
|
|
19
|
+
//#endregion
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ChevronLeftIcon, ChevronRightIcon } from "../icons.js";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
import { containedEventHandler } from "../hooks/use-contained-handler.js";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { useCallback, useState } from "react";
|
|
7
|
+
//#region src/components/horizontal-scroller.tsx
|
|
8
|
+
const CONTROL_CLASS = "bg-background/90 text-foreground absolute top-1/2 -translate-y-1/2 rounded-full border p-1 shadow-sm";
|
|
9
|
+
const HorizontalScroller = ({ children, className, nextLabel, previousLabel, contentClassName, viewportClassName, ...props }) => {
|
|
10
|
+
const [viewport, setViewport] = useState(null);
|
|
11
|
+
const [state, setState] = useState({
|
|
12
|
+
canScrollEnd: false,
|
|
13
|
+
canScrollStart: false
|
|
14
|
+
});
|
|
15
|
+
const measure = useCallback((node) => {
|
|
16
|
+
setState(scrollState(node.scrollLeft, node.scrollWidth, node.clientWidth, getComputedStyle(node).direction === "rtl" ? "rtl" : "ltr"));
|
|
17
|
+
}, []);
|
|
18
|
+
const viewportRef = useCallback((node) => {
|
|
19
|
+
setViewport(node);
|
|
20
|
+
if (!node) return;
|
|
21
|
+
const observer = new ResizeObserver(() => measure(node));
|
|
22
|
+
observer.observe(node);
|
|
23
|
+
if (node.firstElementChild !== null) observer.observe(node.firstElementChild);
|
|
24
|
+
measure(node);
|
|
25
|
+
const onWheel = (event) => {
|
|
26
|
+
if (event.ctrlKey || event.deltaX !== 0 || event.deltaY === 0 || node.scrollWidth <= node.clientWidth) return;
|
|
27
|
+
const rtl = getComputedStyle(node).direction === "rtl";
|
|
28
|
+
const { canScrollEnd, canScrollStart } = scrollState(node.scrollLeft, node.scrollWidth, node.clientWidth, rtl ? "rtl" : "ltr");
|
|
29
|
+
if (event.deltaY > 0 ? !canScrollEnd : !canScrollStart) return;
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
const delta = wheelDeltaPixels(event, node);
|
|
32
|
+
node.scrollBy({ left: rtl ? -delta : delta });
|
|
33
|
+
};
|
|
34
|
+
node.addEventListener("wheel", onWheel, { passive: false });
|
|
35
|
+
return () => {
|
|
36
|
+
observer.disconnect();
|
|
37
|
+
node.removeEventListener("wheel", onWheel);
|
|
38
|
+
};
|
|
39
|
+
}, [measure]);
|
|
40
|
+
const scroll = (inlineDirection) => {
|
|
41
|
+
if (!viewport) return;
|
|
42
|
+
const rtl = getComputedStyle(viewport).direction === "rtl";
|
|
43
|
+
viewport.scrollBy({
|
|
44
|
+
behavior: "smooth",
|
|
45
|
+
left: viewport.clientWidth * .8 * inlineDirection * (rtl ? -1 : 1)
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
const onScroll = (event) => measure(event.currentTarget);
|
|
49
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
50
|
+
className: cn("relative min-w-0", className),
|
|
51
|
+
onFocus: containedEventHandler(({ target }) => {
|
|
52
|
+
if (target instanceof HTMLElement && target !== viewport) target.scrollIntoView({
|
|
53
|
+
block: "nearest",
|
|
54
|
+
inline: "nearest"
|
|
55
|
+
});
|
|
56
|
+
}),
|
|
57
|
+
...props,
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ jsx("div", {
|
|
60
|
+
className: cn("scrollbar-subtle overflow-x-auto overscroll-x-contain", viewportClassName),
|
|
61
|
+
onScroll,
|
|
62
|
+
ref: viewportRef,
|
|
63
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
64
|
+
className: cn("w-max min-w-full", contentClassName),
|
|
65
|
+
children
|
|
66
|
+
})
|
|
67
|
+
}),
|
|
68
|
+
state.canScrollStart && /* @__PURE__ */ jsx("div", { className: "from-background pointer-events-none absolute inset-y-0 start-0 w-10 bg-linear-to-r to-transparent rtl:bg-linear-to-l" }),
|
|
69
|
+
state.canScrollEnd && /* @__PURE__ */ jsx("div", { className: "from-background pointer-events-none absolute inset-y-0 end-0 w-10 bg-linear-to-l to-transparent rtl:bg-linear-to-r" }),
|
|
70
|
+
(state.canScrollStart || state.canScrollEnd) && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("button", {
|
|
71
|
+
"aria-disabled": !state.canScrollStart,
|
|
72
|
+
tabIndex: state.canScrollStart ? void 0 : -1,
|
|
73
|
+
"aria-label": previousLabel,
|
|
74
|
+
className: cn(CONTROL_CLASS, "start-1", !state.canScrollStart && "pointer-events-none opacity-0 focus-visible:opacity-100"),
|
|
75
|
+
onClick: () => {
|
|
76
|
+
if (state.canScrollStart) scroll(-1);
|
|
77
|
+
},
|
|
78
|
+
type: "button",
|
|
79
|
+
children: /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "size-4 rtl:rotate-180" })
|
|
80
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
81
|
+
"aria-disabled": !state.canScrollEnd,
|
|
82
|
+
tabIndex: state.canScrollEnd ? void 0 : -1,
|
|
83
|
+
"aria-label": nextLabel,
|
|
84
|
+
className: cn(CONTROL_CLASS, "end-1", !state.canScrollEnd && "pointer-events-none opacity-0 focus-visible:opacity-100"),
|
|
85
|
+
onClick: () => {
|
|
86
|
+
if (state.canScrollEnd) scroll(1);
|
|
87
|
+
},
|
|
88
|
+
type: "button",
|
|
89
|
+
children: /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4 rtl:rotate-180" })
|
|
90
|
+
})] })
|
|
91
|
+
]
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const scrollState = (scrollLeft, scrollWidth, clientWidth, direction) => {
|
|
95
|
+
const maximum = Math.max(0, scrollWidth - clientWidth);
|
|
96
|
+
const position = direction === "rtl" ? Math.abs(scrollLeft) : scrollLeft;
|
|
97
|
+
return {
|
|
98
|
+
canScrollStart: maximum > 1 && position > 1,
|
|
99
|
+
canScrollEnd: maximum > 1 && position < maximum - 1
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
const LINE_HEIGHT_PX = 16;
|
|
103
|
+
/** Wheel deltas arrive in pixels, lines or pages; scrollBy takes pixels. */
|
|
104
|
+
const wheelDeltaPixels = (event, node) => {
|
|
105
|
+
switch (event.deltaMode) {
|
|
106
|
+
case WheelEvent.DOM_DELTA_LINE: return event.deltaY * LINE_HEIGHT_PX;
|
|
107
|
+
case WheelEvent.DOM_DELTA_PAGE: return event.deltaY * node.clientWidth;
|
|
108
|
+
default: return event.deltaY;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
//#endregion
|
|
112
|
+
export { HorizontalScroller, scrollState, wheelDeltaPixels };
|
|
@@ -34,7 +34,9 @@ type LandingSectionProps = {
|
|
|
34
34
|
children: ReactNode;
|
|
35
35
|
heading: ReactNode;
|
|
36
36
|
};
|
|
37
|
-
/** A column: its heading stays put, its rows scroll beneath it.
|
|
37
|
+
/** A column: its heading stays put, its rows scroll beneath it. The rows get
|
|
38
|
+
* the same ring room as the hero box, since the viewport clips a flush row's
|
|
39
|
+
* focus ring; the heading takes the same inset so the labels stay aligned. */
|
|
38
40
|
export declare const LandingSection: ({ children, heading }: LandingSectionProps) => import("react").JSX.Element;
|
|
39
41
|
type LandingButtonProps = {
|
|
40
42
|
icon?: ReactElement;
|
|
@@ -13,7 +13,7 @@ const LandingLayout = ({ actions, hero, children, footer }) => /* @__PURE__ */ j
|
|
|
13
13
|
className: "min-h-72 w-full max-w-2xl shrink basis-[22rem]",
|
|
14
14
|
scrollFade: true,
|
|
15
15
|
children: /* @__PURE__ */ jsx("div", {
|
|
16
|
-
className: "flex min-h-full w-full flex-col items-center justify-center gap-8",
|
|
16
|
+
className: "flex min-h-full w-full flex-col items-center justify-center gap-8 px-1",
|
|
17
17
|
children: hero
|
|
18
18
|
})
|
|
19
19
|
}),
|
|
@@ -45,17 +45,19 @@ const LANDING_SECTION_HEADING_CLASS = "text-foreground hover:bg-accent/50 focus-
|
|
|
45
45
|
* heading's label; the icon slot under the heading icon stays empty unless
|
|
46
46
|
* the icon identifies the row (a matter's colour). */
|
|
47
47
|
const LANDING_ROW_CLASS = "group hover:bg-accent/50 focus-visible:ring-ring rounded-md px-2 py-1.5 text-start outline-none focus-visible:ring-2";
|
|
48
|
-
/** A column: its heading stays put, its rows scroll beneath it.
|
|
48
|
+
/** A column: its heading stays put, its rows scroll beneath it. The rows get
|
|
49
|
+
* the same ring room as the hero box, since the viewport clips a flush row's
|
|
50
|
+
* focus ring; the heading takes the same inset so the labels stay aligned. */
|
|
49
51
|
const LandingSection = ({ children, heading }) => /* @__PURE__ */ jsxs("section", {
|
|
50
52
|
className: "flex min-h-0 min-w-0 flex-col",
|
|
51
53
|
children: [/* @__PURE__ */ jsx("div", {
|
|
52
|
-
className: "mb-3 shrink-0",
|
|
54
|
+
className: "mb-3 shrink-0 px-1",
|
|
53
55
|
children: heading
|
|
54
56
|
}), /* @__PURE__ */ jsx(ScrollArea, {
|
|
55
57
|
className: "min-h-0 flex-1",
|
|
56
58
|
scrollFade: true,
|
|
57
59
|
children: /* @__PURE__ */ jsx("div", {
|
|
58
|
-
className: "flex flex-col gap-1 pb-4",
|
|
60
|
+
className: "flex flex-col gap-1 px-1 pt-1 pb-4",
|
|
59
61
|
children
|
|
60
62
|
})
|
|
61
63
|
})]
|
|
@@ -7,10 +7,18 @@ import * as React$1 from "react";
|
|
|
7
7
|
* from `onMouseEnter`/`onFocus` on the options and render `PreviewPane`
|
|
8
8
|
* empty (no children) while nothing is highlighted.
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
type MenuPreviewLayoutProps = React$1.PropsWithChildren<{
|
|
11
11
|
preview: React$1.ReactNode;
|
|
12
12
|
className?: string;
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* `fixed` sizes the menu around a fixed-width pane. `remaining` is for a
|
|
15
|
+
* menu whose width is set from outside: the pane takes the width the
|
|
16
|
+
* options leave and is dropped below 10rem, so it never paints past the
|
|
17
|
+
* menu. Pair it with a `PreviewPane` of `w-full`.
|
|
18
|
+
*/
|
|
19
|
+
previewWidth?: "fixed" | "remaining";
|
|
20
|
+
}>;
|
|
21
|
+
declare const MenuPreviewLayout: ({ children, preview, className, previewWidth }: MenuPreviewLayoutProps) => React$1.JSX.Element;
|
|
14
22
|
type PreviewPaneProps = React$1.ComponentProps<"div"> & {
|
|
15
23
|
/**
|
|
16
24
|
* `default` is the side pane described above. `thumbnail` is the same pane
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { cn } from "../lib/utils.js";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/preview-pane.tsx
|
|
4
|
-
|
|
5
|
-
* Side-pane preview pattern: a list of options (menu items, rows) with a
|
|
6
|
-
* fixed-width pane beside it that previews the highlighted option. The pane
|
|
7
|
-
* stays mounted so the container never resizes mid-interaction; drive it
|
|
8
|
-
* from `onMouseEnter`/`onFocus` on the options and render `PreviewPane`
|
|
9
|
-
* empty (no children) while nothing is highlighted.
|
|
10
|
-
*/
|
|
11
|
-
const MenuPreviewLayout = ({ children, preview, className }) => /* @__PURE__ */ jsxs("div", {
|
|
4
|
+
const MenuPreviewLayout = ({ children, preview, className, previewWidth = "fixed" }) => /* @__PURE__ */ jsxs("div", {
|
|
12
5
|
className: cn("flex items-stretch", className),
|
|
13
6
|
"data-slot": "menu-preview-layout",
|
|
14
7
|
children: [/* @__PURE__ */ jsx("div", {
|
|
15
|
-
className: "flex min-w-32 flex-
|
|
8
|
+
className: cn("flex min-w-32 flex-col", previewWidth === "fixed" ? "flex-1" : "shrink-0"),
|
|
16
9
|
children
|
|
17
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
10
|
+
}), previewWidth === "fixed" ? /* @__PURE__ */ jsx("div", {
|
|
18
11
|
className: "ms-1 hidden border-s ps-1 sm:block",
|
|
19
12
|
children: preview
|
|
13
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
14
|
+
className: "@container min-w-0 flex-1",
|
|
15
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
16
|
+
className: "ms-1 hidden border-s ps-1 @min-[10rem]:block",
|
|
17
|
+
children: preview
|
|
18
|
+
})
|
|
20
19
|
})]
|
|
21
20
|
});
|
|
22
21
|
const PreviewPane = ({ children, className, size = "default", ...props }) => /* @__PURE__ */ jsx("div", {
|
package/dist/index.d.ts
CHANGED
|
@@ -75,7 +75,7 @@ import { InspectorEntityTab, InspectorEntityTabInactiveIcon, entityTabGlyph } fr
|
|
|
75
75
|
import { InspectorFacetBar } from "./inspector/facet-bar.js";
|
|
76
76
|
import { PROPERTY_ROW_GRID, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX } from "./inspector/layout-tokens.js";
|
|
77
77
|
import { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, shouldForceSidebarCollapsed } from "./inspector/pane-width.js";
|
|
78
|
-
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP,
|
|
78
|
+
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./inspector/use-pane-width.js";
|
|
79
79
|
import "./inspector/index.js";
|
|
80
80
|
import { KanbanCardFieldSelection, selectKanbanCardFieldIds } from "./kanban/card-properties.js";
|
|
81
81
|
import { KanbanCardShell, KanbanCardShellProps } from "./kanban/card-shell.js";
|
|
@@ -104,4 +104,4 @@ import { ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffS
|
|
|
104
104
|
import { ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone } from "./review/review-out-of-date-notice.js";
|
|
105
105
|
import { ReviewStatusBadge, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant } from "./review/review-status-badge.js";
|
|
106
106
|
import { ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusDot, reviewSeverityTone } from "./review/review-severity-dot.js";
|
|
107
|
-
export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, type BidiDirection, BidiText, type BidiTextProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuildKanbanBoardMatrixParams, Button, CONTROL_SIZE, CONTROL_SIZES, COPIED_RESET_MS, CalendarCell, type CalendarDateRange, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, type ColorPickerContentProps, type ColorPickerProps, type ColorPreset, ColorVariants, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, type ControlSize, CopyButton, CopyFeedback, type CreateKanbanDropIntentParams, DEFAULT_PRESETS, DataTable, type DataTableAriaSort, type DataTableColumn, type DataTableProps, type DataTableRowAction, DatePickerPopover, type DatePickerPopoverProps, DestructiveActionConfirmation, DestructiveConfirmDialog, type DestructiveConfirmDialogProps, type DestructiveConfirmOutcome, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, type FileInputProps, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, type HexColorPickerProps, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, type InspectorDockMount, InspectorEmptyRow, InspectorEntityTab, type InspectorEntityTabInactiveIcon, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, type KanbanBandToggleActivation, type KanbanBoardAxis, type KanbanBoardCell, type KanbanBoardColumn, type KanbanBoardCoordinate, type KanbanBoardDestination, type KanbanBoardLane, type KanbanBoardMatrix, type KanbanBuiltInGroup, type KanbanCardFieldSelection, KanbanCardShell, type KanbanCardShellProps, KanbanCellAction, type KanbanCellActionProps, KanbanCollapsedBandCaption, type KanbanCollapsedBandCaptionProps, type KanbanColumnBand, KanbanColumnBandHeader, type KanbanColumnBandHeaderProps, type KanbanColumnBandSpan, KanbanColumnHeader, type KanbanColumnHeaderProps, type KanbanDropAxisChange, type KanbanDropIntent, type KanbanGroup, type KanbanGroupOption, type KanbanGrouping, type KanbanSchema, type KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, type KanbanSubgroupBoardProps, type KanbanSubgroupCellContext, type KanbanSubgroupCollapsedBandCellContext, type KanbanSubgroupColumnHeaderContext, type KanbanSubgroupLaneColumnActionContext, type KanbanSubgroupLaneColumnSummaryContext, type KanbanSubgroupLaneIdentityContext, KanbanVirtualCell, type KanbanVirtualCellPagination, type KanbanVirtualCellProps, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OptionColor, type OrderKanbanCellsByColumnsParams, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, OverlayLayer, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, Prose, type RegisterKanbanBoardAutoScrollOptions, type RegisterKanbanCardDragOptions, type ResolveKanbanGroupValueParams, type ResolveKanbanGroupingParams, ResourceCalendar, type ResourceCalendarColumn, type ResourceCalendarEntry, type ResourceCalendarEntryTone, type ResourceCalendarLaneLayout, type ResourceCalendarLanePlacement, type ResourceCalendarPlacement, type ResourceCalendarResource, ReviewAuthorAvatar, ReviewCommentAuthor, ReviewCommentCard, ReviewDecisionActions, ReviewDecisionSize, ReviewDecisionState, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffSegmentType, ReviewDiffText, ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone, ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusBadge, ReviewStatusDot, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, ScrollToTopProps, SearchField, type SearchFieldProps, SecretInput, type SecretInputProps, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, type SheetSide, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SortDirection, SortableHead, type StatusTone, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, type TableColumnCapabilities, type TableColumnDescriptor, TableFooter, TableHead, TableHeader, TableRow, type TableSchema, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, type TextareaProps, type ToastPosition, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, TypedCharacterEvent, UNKNOWN_AUTHOR_LABEL, UserText, type WorkspaceCompactNavigation, WorkspaceEndRail, type WorkspaceEndRailChatAction, type WorkspaceEndRailProps, type WorkspaceNavigation, WorkspaceShell, type WorkspaceShellProps, type WorkspaceTopBarContext, XLogoIcon, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, parsePersistedPaneWidth, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, toastCountdownMs, toastDedupeId, typedCharacter, useComboboxFilter, useContentDir, useCopiedFeedback, useCopyConfirmation, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
|
|
107
|
+
export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, type BidiDirection, BidiText, type BidiTextProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuildKanbanBoardMatrixParams, Button, CONTROL_SIZE, CONTROL_SIZES, COPIED_RESET_MS, CalendarCell, type CalendarDateRange, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, type ColorPickerContentProps, type ColorPickerProps, type ColorPreset, ColorVariants, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, type ControlSize, CopyButton, CopyFeedback, type CreateKanbanDropIntentParams, DEFAULT_PRESETS, DataTable, type DataTableAriaSort, type DataTableColumn, type DataTableProps, type DataTableRowAction, DatePickerPopover, type DatePickerPopoverProps, DestructiveActionConfirmation, DestructiveConfirmDialog, type DestructiveConfirmDialogProps, type DestructiveConfirmOutcome, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, type FileInputProps, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, type HexColorPickerProps, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, type InspectorDockMount, InspectorEmptyRow, InspectorEntityTab, type InspectorEntityTabInactiveIcon, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, type KanbanBandToggleActivation, type KanbanBoardAxis, type KanbanBoardCell, type KanbanBoardColumn, type KanbanBoardCoordinate, type KanbanBoardDestination, type KanbanBoardLane, type KanbanBoardMatrix, type KanbanBuiltInGroup, type KanbanCardFieldSelection, KanbanCardShell, type KanbanCardShellProps, KanbanCellAction, type KanbanCellActionProps, KanbanCollapsedBandCaption, type KanbanCollapsedBandCaptionProps, type KanbanColumnBand, KanbanColumnBandHeader, type KanbanColumnBandHeaderProps, type KanbanColumnBandSpan, KanbanColumnHeader, type KanbanColumnHeaderProps, type KanbanDropAxisChange, type KanbanDropIntent, type KanbanGroup, type KanbanGroupOption, type KanbanGrouping, type KanbanSchema, type KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, type KanbanSubgroupBoardProps, type KanbanSubgroupCellContext, type KanbanSubgroupCollapsedBandCellContext, type KanbanSubgroupColumnHeaderContext, type KanbanSubgroupLaneColumnActionContext, type KanbanSubgroupLaneColumnSummaryContext, type KanbanSubgroupLaneIdentityContext, KanbanVirtualCell, type KanbanVirtualCellPagination, type KanbanVirtualCellProps, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OptionColor, type OrderKanbanCellsByColumnsParams, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, OverlayLayer, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, Prose, type RegisterKanbanBoardAutoScrollOptions, type RegisterKanbanCardDragOptions, type ResolveKanbanGroupValueParams, type ResolveKanbanGroupingParams, ResourceCalendar, type ResourceCalendarColumn, type ResourceCalendarEntry, type ResourceCalendarEntryTone, type ResourceCalendarLaneLayout, type ResourceCalendarLanePlacement, type ResourceCalendarPlacement, type ResourceCalendarResource, ReviewAuthorAvatar, ReviewCommentAuthor, ReviewCommentCard, ReviewDecisionActions, ReviewDecisionSize, ReviewDecisionState, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffSegmentType, ReviewDiffText, ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone, ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusBadge, ReviewStatusDot, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, ScrollToTopProps, SearchField, type SearchFieldProps, SecretInput, type SecretInputProps, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, type SheetSide, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SortDirection, SortableHead, type StatusTone, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, type TableColumnCapabilities, type TableColumnDescriptor, TableFooter, TableHead, TableHeader, TableRow, type TableSchema, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, type TextareaProps, type ToastPosition, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, TypedCharacterEvent, UNKNOWN_AUTHOR_LABEL, UserText, type WorkspaceCompactNavigation, WorkspaceEndRail, type WorkspaceEndRailChatAction, type WorkspaceEndRailProps, type WorkspaceNavigation, WorkspaceShell, type WorkspaceShellProps, type WorkspaceTopBarContext, XLogoIcon, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, toastCountdownMs, toastDedupeId, typedCharacter, useComboboxFilter, useContentDir, useCopiedFeedback, useCopyConfirmation, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
|
package/dist/index.js
CHANGED
|
@@ -75,7 +75,7 @@ import { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE
|
|
|
75
75
|
import { InspectorDock } from "./inspector/dock.js";
|
|
76
76
|
import { InspectorEntityTab, entityTabGlyph } from "./inspector/entity-tab.js";
|
|
77
77
|
import { InspectorFacetBar } from "./inspector/facet-bar.js";
|
|
78
|
-
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP,
|
|
78
|
+
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./inspector/use-pane-width.js";
|
|
79
79
|
import { selectKanbanCardFieldIds } from "./kanban/card-properties.js";
|
|
80
80
|
import { KANBAN_CARD_STICKY_TOP_VAR, KANBAN_STICKY_TOP_VAR, KanbanCollapsedBandCaption } from "./kanban/sticky-lane.js";
|
|
81
81
|
import { KanbanCardShell } from "./kanban/card-shell.js";
|
|
@@ -100,4 +100,4 @@ import { ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffText, TRACKED_DELETI
|
|
|
100
100
|
import { ReviewOutOfDateNotice } from "./review/review-out-of-date-notice.js";
|
|
101
101
|
import { ReviewSeverityDot, ReviewStatusDot, reviewSeverityTone } from "./review/review-severity-dot.js";
|
|
102
102
|
import { ReviewStatusBadge } from "./review/review-status-badge.js";
|
|
103
|
-
export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, BidiText, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CONTROL_SIZE, CONTROL_SIZES, COPIED_RESET_MS, CalendarCell, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, CopyButton, CopyFeedback, DEFAULT_PRESETS, DataTable, DatePickerPopover, DestructiveActionConfirmation, DestructiveConfirmDialog, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, InspectorEmptyRow, InspectorEntityTab, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, KanbanCardShell, KanbanCellAction, KanbanCollapsedBandCaption, KanbanColumnBandHeader, KanbanColumnHeader, KanbanSubgroupBoard, KanbanVirtualCell, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OutlineRail, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, Prose, ResourceCalendar, ReviewAuthorAvatar, ReviewCommentCard, ReviewDecisionActions, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffText, ReviewOutOfDateNotice, ReviewSeverityDot, ReviewStatusBadge, ReviewStatusDot, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, SearchField, SecretInput, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SortableHead, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, UNKNOWN_AUTHOR_LABEL, UserText, WorkspaceEndRail, WorkspaceShell, XLogoIcon, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText,
|
|
103
|
+
export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, BidiText, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CONTROL_SIZE, CONTROL_SIZES, COPIED_RESET_MS, CalendarCell, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, CopyButton, CopyFeedback, DEFAULT_PRESETS, DataTable, DatePickerPopover, DestructiveActionConfirmation, DestructiveConfirmDialog, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, InspectorEmptyRow, InspectorEntityTab, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, KanbanCardShell, KanbanCellAction, KanbanCollapsedBandCaption, KanbanColumnBandHeader, KanbanColumnHeader, KanbanSubgroupBoard, KanbanVirtualCell, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OutlineRail, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, Prose, ResourceCalendar, ReviewAuthorAvatar, ReviewCommentCard, ReviewDecisionActions, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffText, ReviewOutOfDateNotice, ReviewSeverityDot, ReviewStatusBadge, ReviewStatusDot, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, SearchField, SecretInput, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SortableHead, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, UNKNOWN_AUTHOR_LABEL, UserText, WorkspaceEndRail, WorkspaceShell, XLogoIcon, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, toastCountdownMs, toastDedupeId, typedCharacter, useComboboxFilter, useContentDir, useCopiedFeedback, useCopyConfirmation, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
|
|
@@ -4,5 +4,5 @@ import { InspectorEntityTab, InspectorEntityTabInactiveIcon, entityTabGlyph } fr
|
|
|
4
4
|
import { InspectorFacetBar } from "./facet-bar.js";
|
|
5
5
|
import { PROPERTY_ROW_GRID, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX } from "./layout-tokens.js";
|
|
6
6
|
import { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, shouldForceSidebarCollapsed } from "./pane-width.js";
|
|
7
|
-
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP,
|
|
8
|
-
export { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, type InspectorDockMount, InspectorEmptyRow, InspectorEntityTab, type InspectorEntityTabInactiveIcon, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, PROPERTY_ROW_GRID, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, entityTabGlyph,
|
|
7
|
+
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./use-pane-width.js";
|
|
8
|
+
export { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, type InspectorDockMount, InspectorEmptyRow, InspectorEntityTab, type InspectorEntityTabInactiveIcon, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, PROPERTY_ROW_GRID, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, entityTabGlyph, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKeyboardWidth, shouldForceSidebarCollapsed, useInspectorPaneWidth };
|
package/dist/inspector/index.js
CHANGED
|
@@ -4,5 +4,5 @@ import { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE
|
|
|
4
4
|
import { InspectorDock } from "./dock.js";
|
|
5
5
|
import { InspectorEntityTab, entityTabGlyph } from "./entity-tab.js";
|
|
6
6
|
import { InspectorFacetBar } from "./facet-bar.js";
|
|
7
|
-
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP,
|
|
8
|
-
export { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, InspectorEmptyRow, InspectorEntityTab, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, PROPERTY_ROW_GRID, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, entityTabGlyph,
|
|
7
|
+
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./use-pane-width.js";
|
|
8
|
+
export { INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, InspectorEmptyRow, InspectorEntityTab, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, PROPERTY_ROW_GRID, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, entityTabGlyph, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKeyboardWidth, shouldForceSidebarCollapsed, useInspectorPaneWidth };
|
|
@@ -68,7 +68,7 @@ export declare const resolveInspectorPaneMaxWidth: ({ sidebarWidth, viewportWidt
|
|
|
68
68
|
* A width inside the pane's own bounds, independent of any viewport.
|
|
69
69
|
*
|
|
70
70
|
* Every width the pane keeps goes through this, because the kept width is
|
|
71
|
-
* also the persisted one and
|
|
71
|
+
* also the persisted one and the persistence owner rejects —
|
|
72
72
|
* and so resets — anything outside these bounds. A raw cursor position is
|
|
73
73
|
* routinely outside them, so a drag past the edge has to be remembered as
|
|
74
74
|
* the bound it stopped at rather than as the pixel the pointer reached.
|
|
@@ -58,7 +58,7 @@ const resolveInspectorPaneMaxWidth = ({ sidebarWidth, viewportWidth }) => {
|
|
|
58
58
|
* A width inside the pane's own bounds, independent of any viewport.
|
|
59
59
|
*
|
|
60
60
|
* Every width the pane keeps goes through this, because the kept width is
|
|
61
|
-
* also the persisted one and
|
|
61
|
+
* also the persisted one and the persistence owner rejects —
|
|
62
62
|
* and so resets — anything outside these bounds. A raw cursor position is
|
|
63
63
|
* routinely outside them, so a drag past the edge has to be remembered as
|
|
64
64
|
* the bound it stopped at rather than as the pixel the pointer reached.
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { KeyboardEvent, PointerEvent } from "react";
|
|
2
2
|
//#region src/inspector/use-pane-width.d.ts
|
|
3
|
-
/**
|
|
4
|
-
* Reads a persisted pane width, rejecting anything that is not a finite
|
|
5
|
-
* number inside the pane's own bounds. A corrupt or stale entry must not
|
|
6
|
-
* be able to render the pane at a width the drag handle cannot recover
|
|
7
|
-
* from, so an unusable value falls back to the default rather than being
|
|
8
|
-
* clamped into something the user never chose.
|
|
9
|
-
*/
|
|
10
|
-
export declare const parsePersistedPaneWidth: (raw: string | null) => number;
|
|
11
3
|
/**
|
|
12
4
|
* Width the drag produces for a pane docked to the inline-end edge.
|
|
13
5
|
*
|
|
@@ -18,8 +10,7 @@ export declare const parsePersistedPaneWidth: (raw: string | null) => number;
|
|
|
18
10
|
* A pointer can be dragged well past either bound — off the window edge, or
|
|
19
11
|
* across the whole viewport — so the raw distance is clamped here, before
|
|
20
12
|
* anything keeps it. Persisting the raw distance is what made a pane dragged
|
|
21
|
-
* narrower than the minimum
|
|
22
|
-
* load, because `parsePersistedPaneWidth` refuses an out-of-range entry.
|
|
13
|
+
* narrower than the minimum from being persisted as an invalid preference.
|
|
23
14
|
*/
|
|
24
15
|
export declare const resolveDragWidth: ({ clientX, isRtl, viewportWidth }: {
|
|
25
16
|
clientX: number;
|
|
@@ -43,24 +34,15 @@ export declare const resolveKeyboardWidth: ({ currentWidth, isRtl, key }: {
|
|
|
43
34
|
isRtl: boolean;
|
|
44
35
|
key: string;
|
|
45
36
|
}) => number | null;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* throw in the state initializer takes the whole pane down on mount. A pane
|
|
51
|
-
* that forgets its width is a smaller failure than a pane that does not
|
|
52
|
-
* render, so both directions degrade to in-memory.
|
|
53
|
-
*/
|
|
54
|
-
export declare const readStoredWidth: (storageKey: string) => number;
|
|
55
|
-
export declare const writeStoredWidth: (storageKey: string, width: number) => void;
|
|
37
|
+
export type InspectorPaneWidthPersistence = {
|
|
38
|
+
read: () => number;
|
|
39
|
+
write: (width: number) => void;
|
|
40
|
+
};
|
|
56
41
|
type UseInspectorPaneWidthOptions = {
|
|
57
42
|
/** Inline size the sidebar takes out of the same layout row. */
|
|
58
43
|
sidebarWidth: number;
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
* the width in memory only, which resets the pane on every reload.
|
|
62
|
-
*/
|
|
63
|
-
storageKey?: string | undefined;
|
|
44
|
+
/** Persistence is injected so this package stays independent of its host. */
|
|
45
|
+
persistence?: InspectorPaneWidthPersistence | undefined;
|
|
64
46
|
/** Viewport width in CSS pixels; 0 before the viewport is known. */
|
|
65
47
|
viewportWidth: number;
|
|
66
48
|
};
|
|
@@ -100,5 +82,5 @@ type UseInspectorPaneWidthResult = {
|
|
|
100
82
|
* the content column. The *desired* width keeps the user's choice, so the
|
|
101
83
|
* pane returns to it once the room comes back.
|
|
102
84
|
*/
|
|
103
|
-
export declare const useInspectorPaneWidth: ({ sidebarWidth,
|
|
85
|
+
export declare const useInspectorPaneWidth: ({ sidebarWidth, persistence, viewportWidth }: UseInspectorPaneWidthOptions) => UseInspectorPaneWidthResult;
|
|
104
86
|
//#endregion
|
|
@@ -2,19 +2,6 @@ import { INSPECTOR_PANE_MAX_WIDTH, clampInspectorPaneWidth, resolveInspectorPane
|
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
//#region src/inspector/use-pane-width.ts
|
|
4
4
|
/**
|
|
5
|
-
* Reads a persisted pane width, rejecting anything that is not a finite
|
|
6
|
-
* number inside the pane's own bounds. A corrupt or stale entry must not
|
|
7
|
-
* be able to render the pane at a width the drag handle cannot recover
|
|
8
|
-
* from, so an unusable value falls back to the default rather than being
|
|
9
|
-
* clamped into something the user never chose.
|
|
10
|
-
*/
|
|
11
|
-
const parsePersistedPaneWidth = (raw) => {
|
|
12
|
-
if (raw === null) return 512;
|
|
13
|
-
const parsed = Number.parseInt(raw, 10);
|
|
14
|
-
if (!Number.isFinite(parsed) || parsed < 320 || parsed > 1400) return 512;
|
|
15
|
-
return parsed;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
5
|
* Width the drag produces for a pane docked to the inline-end edge.
|
|
19
6
|
*
|
|
20
7
|
* That edge is the right in LTR (width = distance from the right) and the
|
|
@@ -24,8 +11,7 @@ const parsePersistedPaneWidth = (raw) => {
|
|
|
24
11
|
* A pointer can be dragged well past either bound — off the window edge, or
|
|
25
12
|
* across the whole viewport — so the raw distance is clamped here, before
|
|
26
13
|
* anything keeps it. Persisting the raw distance is what made a pane dragged
|
|
27
|
-
* narrower than the minimum
|
|
28
|
-
* load, because `parsePersistedPaneWidth` refuses an out-of-range entry.
|
|
14
|
+
* narrower than the minimum from being persisted as an invalid preference.
|
|
29
15
|
*/
|
|
30
16
|
const resolveDragWidth = ({ clientX, isRtl, viewportWidth }) => clampInspectorPaneWidth(isRtl ? clientX : viewportWidth - clientX);
|
|
31
17
|
/** Pixels one arrow press moves the edge; Page/Home/End move further. */
|
|
@@ -55,28 +41,6 @@ const resolveKeyboardWidth = ({ currentWidth, isRtl, key }) => {
|
|
|
55
41
|
}
|
|
56
42
|
};
|
|
57
43
|
/**
|
|
58
|
-
* Reads and writes are wrapped because `window.localStorage` is a getter that
|
|
59
|
-
* *throws* where storage is blocked — a sandboxed iframe, a hardened privacy
|
|
60
|
-
* mode, a full quota. The `typeof window` check does not cover that, and a
|
|
61
|
-
* throw in the state initializer takes the whole pane down on mount. A pane
|
|
62
|
-
* that forgets its width is a smaller failure than a pane that does not
|
|
63
|
-
* render, so both directions degrade to in-memory.
|
|
64
|
-
*/
|
|
65
|
-
const readStoredWidth = (storageKey) => {
|
|
66
|
-
if (typeof window === "undefined") return 512;
|
|
67
|
-
try {
|
|
68
|
-
return parsePersistedPaneWidth(window.localStorage.getItem(storageKey));
|
|
69
|
-
} catch {
|
|
70
|
-
return 512;
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
const writeStoredWidth = (storageKey, width) => {
|
|
74
|
-
if (typeof window === "undefined") return;
|
|
75
|
-
try {
|
|
76
|
-
window.localStorage.setItem(storageKey, String(width));
|
|
77
|
-
} catch {}
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
44
|
* Owns the docked pane's width: the width the user dragged to, its
|
|
81
45
|
* persistence, and the clamp against the room actually available.
|
|
82
46
|
*
|
|
@@ -85,13 +49,24 @@ const writeStoredWidth = (storageKey, width) => {
|
|
|
85
49
|
* the content column. The *desired* width keeps the user's choice, so the
|
|
86
50
|
* pane returns to it once the room comes back.
|
|
87
51
|
*/
|
|
88
|
-
const useInspectorPaneWidth = ({ sidebarWidth,
|
|
89
|
-
const [desiredWidth, setDesiredWidth] = useState(() =>
|
|
52
|
+
const useInspectorPaneWidth = ({ sidebarWidth, persistence, viewportWidth }) => {
|
|
53
|
+
const [desiredWidth, setDesiredWidth] = useState(() => {
|
|
54
|
+
const saved = persistence?.read();
|
|
55
|
+
return saved === void 0 || !Number.isFinite(saved) ? 512 : clampInspectorPaneWidth(saved);
|
|
56
|
+
});
|
|
90
57
|
const isDragging = useRef(false);
|
|
58
|
+
const lastPersisted = useRef({
|
|
59
|
+
persistence,
|
|
60
|
+
desiredWidth
|
|
61
|
+
});
|
|
91
62
|
useEffect(() => {
|
|
92
|
-
if (
|
|
93
|
-
|
|
94
|
-
|
|
63
|
+
if (persistence === void 0 || lastPersisted.current.persistence === persistence && lastPersisted.current.desiredWidth === desiredWidth) return;
|
|
64
|
+
persistence.write(desiredWidth);
|
|
65
|
+
lastPersisted.current = {
|
|
66
|
+
persistence,
|
|
67
|
+
desiredWidth
|
|
68
|
+
};
|
|
69
|
+
}, [desiredWidth, persistence]);
|
|
95
70
|
const handlePointerDown = (event) => {
|
|
96
71
|
event.preventDefault();
|
|
97
72
|
isDragging.current = true;
|
|
@@ -156,4 +131,4 @@ const useInspectorPaneWidth = ({ sidebarWidth, storageKey, viewportWidth }) => {
|
|
|
156
131
|
};
|
|
157
132
|
};
|
|
158
133
|
//#endregion
|
|
159
|
-
export { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP,
|
|
134
|
+
export { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth };
|
|
@@ -52,6 +52,13 @@ export declare const SEARCH_HIT_MARK: {
|
|
|
52
52
|
/** The classes of one mark, for markup that is not a `<TextMark>` (a claim
|
|
53
53
|
* button, a PDF text-layer box, an element a DOM walker creates). */
|
|
54
54
|
export declare const textMarkClass: ({ variant, tone, state, weight }: TextMarkOptions) => string;
|
|
55
|
+
/**
|
|
56
|
+
* The classes of one mark drawn as an empty box over painted text (a PDF
|
|
57
|
+
* page's canvas), where no text decoration can reach the words: a line
|
|
58
|
+
* variant becomes the box's bottom edge (wavy reads as dashed) or, for a
|
|
59
|
+
* strike, a rule through its middle; hue, wash and ring are the text mark's.
|
|
60
|
+
*/
|
|
61
|
+
export declare const textMarkBoxClass: ({ variant, tone, state }: Omit<TextMarkOptions, "weight">) => string;
|
|
55
62
|
/**
|
|
56
63
|
* The search-hit mark reached through a descendant selector, for markup that
|
|
57
64
|
* arrives already highlighted (the search endpoints' `<mark>` snippets).
|
package/dist/review/text-mark.js
CHANGED
|
@@ -51,6 +51,17 @@ const textMarkClass = ({ variant, tone, state = "rest", weight = "inherit" }) =>
|
|
|
51
51
|
WEIGHT_CLASS[weight]
|
|
52
52
|
].filter((part) => part !== "").join(" ");
|
|
53
53
|
/**
|
|
54
|
+
* The classes of one mark drawn as an empty box over painted text (a PDF
|
|
55
|
+
* page's canvas), where no text decoration can reach the words: a line
|
|
56
|
+
* variant becomes the box's bottom edge (wavy reads as dashed) or, for a
|
|
57
|
+
* strike, a rule through its middle; hue, wash and ring are the text mark's.
|
|
58
|
+
*/
|
|
59
|
+
const textMarkBoxClass = ({ variant, tone, state = "rest" }) => [
|
|
60
|
+
BOX_LINE_CLASS[variant],
|
|
61
|
+
TONE_CLASS[tone],
|
|
62
|
+
WASH_CLASS[variant === "fill" ? "fill" : "line"][state]
|
|
63
|
+
].filter((part) => part !== "").join(" ");
|
|
64
|
+
/**
|
|
54
65
|
* The search-hit mark reached through a descendant selector, for markup that
|
|
55
66
|
* arrives already highlighted (the search endpoints' `<mark>` snippets).
|
|
56
67
|
* Spelled out because Tailwind emits only the classes it can read in the
|
|
@@ -82,6 +93,13 @@ const VARIANT_CLASS = {
|
|
|
82
93
|
wavy: `${LINE_CLASS} decoration-wavy`,
|
|
83
94
|
strike: "text-inherit line-through decoration-2 decoration-[color:var(--text-mark)]"
|
|
84
95
|
};
|
|
96
|
+
const BOX_LINE_CLASS = {
|
|
97
|
+
fill: "",
|
|
98
|
+
underline: "border-b-2 border-(--text-mark)",
|
|
99
|
+
dotted: "border-b-2 border-dotted border-(--text-mark)",
|
|
100
|
+
wavy: "border-b-2 border-dashed border-(--text-mark)",
|
|
101
|
+
strike: "bg-[linear-gradient(transparent_calc(50%-1px),var(--text-mark)_calc(50%-1px),var(--text-mark)_calc(50%+1px),transparent_calc(50%+1px))]"
|
|
102
|
+
};
|
|
85
103
|
const TONE_CLASS = {
|
|
86
104
|
warning: "[--text-mark:var(--warning)]",
|
|
87
105
|
success: "[--text-mark:var(--success)]",
|
|
@@ -163,4 +181,4 @@ const WEIGHT_CLASS = {
|
|
|
163
181
|
medium: "font-medium"
|
|
164
182
|
};
|
|
165
183
|
//#endregion
|
|
166
|
-
export { SEARCH_HIT_DESCENDANT_MARK_CLASS, SEARCH_HIT_MARK, TEXT_MARK_TONE_COLOR, TextMark, textMarkClass, textMarkHighlightRule };
|
|
184
|
+
export { SEARCH_HIT_DESCENDANT_MARK_CLASS, SEARCH_HIT_MARK, TEXT_MARK_TONE_COLOR, TextMark, textMarkBoxClass, textMarkClass, textMarkHighlightRule };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
//#region src/testing/browser-clock.d.ts
|
|
3
|
+
/** Keep native and polyfilled Temporal on Playwright's controlled page clock. */
|
|
4
|
+
export declare const setFixedBrowserTime: (page: Page, time: Date | number | string) => Promise<void>;
|
|
5
|
+
/** Install advancing time and keep native Temporal on the same clock. */
|
|
6
|
+
export declare const installBrowserClock: (page: Page, time: Date | number | string) => Promise<void>;
|
|
7
|
+
//#endregion
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/testing/browser-clock.ts
|
|
2
|
+
const TEMPORAL_CLOCK_INIT = `
|
|
3
|
+
{
|
|
4
|
+
const temporal = globalThis.Temporal;
|
|
5
|
+
if (temporal !== undefined) {
|
|
6
|
+
const timeZoneId = temporal.Now.timeZoneId.bind(temporal.Now);
|
|
7
|
+
const instant = () => temporal.Instant.fromEpochMilliseconds(Date.now());
|
|
8
|
+
const zonedDateTimeISO = (timeZone) =>
|
|
9
|
+
instant().toZonedDateTimeISO(timeZone ?? timeZoneId());
|
|
10
|
+
|
|
11
|
+
Object.defineProperties(temporal.Now, {
|
|
12
|
+
instant: { configurable: true, value: instant },
|
|
13
|
+
plainDateISO: {
|
|
14
|
+
configurable: true,
|
|
15
|
+
value: (timeZone) => zonedDateTimeISO(timeZone).toPlainDate(),
|
|
16
|
+
},
|
|
17
|
+
plainDateTimeISO: {
|
|
18
|
+
configurable: true,
|
|
19
|
+
value: (timeZone) => zonedDateTimeISO(timeZone).toPlainDateTime(),
|
|
20
|
+
},
|
|
21
|
+
plainTimeISO: {
|
|
22
|
+
configurable: true,
|
|
23
|
+
value: (timeZone) => zonedDateTimeISO(timeZone).toPlainTime(),
|
|
24
|
+
},
|
|
25
|
+
zonedDateTimeISO: { configurable: true, value: zonedDateTimeISO },
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
/** Keep native and polyfilled Temporal on Playwright's controlled page clock. */
|
|
31
|
+
const setFixedBrowserTime = async (page, time) => {
|
|
32
|
+
await page.clock.setFixedTime(time);
|
|
33
|
+
await page.addInitScript({ content: TEMPORAL_CLOCK_INIT });
|
|
34
|
+
};
|
|
35
|
+
/** Install advancing time and keep native Temporal on the same clock. */
|
|
36
|
+
const installBrowserClock = async (page, time) => {
|
|
37
|
+
await page.clock.install({ time });
|
|
38
|
+
await page.addInitScript({ content: TEMPORAL_CLOCK_INIT });
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { installBrowserClock, setFixedBrowserTime };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stll/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.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",
|
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
"types": "./dist/index.d.ts",
|
|
34
34
|
"import": "./dist/index.js"
|
|
35
35
|
},
|
|
36
|
+
"./browser-clock": {
|
|
37
|
+
"types": "./dist/testing/browser-clock.d.ts",
|
|
38
|
+
"import": "./dist/testing/browser-clock.js"
|
|
39
|
+
},
|
|
36
40
|
"./toolbar-icon-action": {
|
|
37
41
|
"types": "./dist/components/toolbar-icon-action.d.ts",
|
|
38
42
|
"import": "./dist/components/toolbar-icon-action.js"
|
|
@@ -321,6 +325,10 @@
|
|
|
321
325
|
"types": "./dist/components/scroll-area.d.ts",
|
|
322
326
|
"import": "./dist/components/scroll-area.js"
|
|
323
327
|
},
|
|
328
|
+
"./horizontal-scroller": {
|
|
329
|
+
"types": "./dist/components/horizontal-scroller.d.ts",
|
|
330
|
+
"import": "./dist/components/horizontal-scroller.js"
|
|
331
|
+
},
|
|
324
332
|
"./scroll-to-top": {
|
|
325
333
|
"types": "./dist/components/scroll-to-top.d.ts",
|
|
326
334
|
"import": "./dist/components/scroll-to-top.js"
|
|
@@ -606,6 +614,10 @@
|
|
|
606
614
|
"types": "./dist/components/scroll-area.d.ts",
|
|
607
615
|
"import": "./dist/components/scroll-area.js"
|
|
608
616
|
},
|
|
617
|
+
"./components/horizontal-scroller": {
|
|
618
|
+
"types": "./dist/components/horizontal-scroller.d.ts",
|
|
619
|
+
"import": "./dist/components/horizontal-scroller.js"
|
|
620
|
+
},
|
|
609
621
|
"./components/scroll-to-top": {
|
|
610
622
|
"types": "./dist/components/scroll-to-top.d.ts",
|
|
611
623
|
"import": "./dist/components/scroll-to-top.js"
|
|
@@ -756,6 +768,7 @@
|
|
|
756
768
|
"@atlaskit/pragmatic-drag-and-drop": "^4.0.0",
|
|
757
769
|
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^3.2.1",
|
|
758
770
|
"@base-ui/react": "^1.7.0",
|
|
771
|
+
"@playwright/test": "^1.63.0",
|
|
759
772
|
"@tanstack/react-virtual": "^3.14.13",
|
|
760
773
|
"@types/react": ">=19",
|
|
761
774
|
"@types/react-dom": ">=19",
|
|
@@ -764,6 +777,9 @@
|
|
|
764
777
|
"tailwindcss": "^4.3.0"
|
|
765
778
|
},
|
|
766
779
|
"peerDependenciesMeta": {
|
|
780
|
+
"@playwright/test": {
|
|
781
|
+
"optional": true
|
|
782
|
+
},
|
|
767
783
|
"@types/react": {
|
|
768
784
|
"optional": true
|
|
769
785
|
},
|