@stll/ui 0.54.1 → 0.55.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/alert-dialog.d.ts +2 -2
- package/dist/components/button.d.ts +3 -2
- package/dist/components/button.js +6 -4
- package/dist/components/combobox.d.ts +1 -1
- package/dist/components/command.d.ts +3 -3
- package/dist/components/composer-tokens.d.ts +72 -0
- package/dist/components/composer-tokens.js +73 -0
- package/dist/components/composer.d.ts +3 -71
- package/dist/components/composer.js +1 -70
- package/dist/components/copy-button.d.ts +1 -1
- package/dist/components/date-picker-popover.d.ts +1 -1
- package/dist/components/destructive-action-confirmation.d.ts +1 -1
- package/dist/components/dialog.d.ts +2 -2
- package/dist/components/document-identity-badge.js +30 -16
- package/dist/components/document-identity-badge.logic.d.ts +23 -4
- package/dist/components/document-identity-badge.logic.js +17 -1
- package/dist/components/input-group.d.ts +1 -1
- package/dist/components/input.d.ts +1 -1
- package/dist/components/list.d.ts +1 -1
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/popover.d.ts +1 -1
- package/dist/components/search-field.d.ts +1 -1
- package/dist/components/select.d.ts +1 -1
- package/dist/components/sidebar.d.ts +1 -1
- package/dist/components/sidebar.js +10 -4
- package/dist/components/split-button.d.ts +1 -1
- package/dist/components/textarea.d.ts +1 -1
- package/dist/data-table/index.d.ts +1 -1
- package/dist/index.d.ts +59 -59
- package/dist/inspector/index.d.ts +2 -2
- package/dist/kanban/column-bands.d.ts +1 -1
- package/dist/kanban/index.d.ts +9 -9
- package/dist/kanban/subgroup-board.d.ts +1 -1
- package/dist/kanban/virtual-cell.d.ts +1 -1
- package/dist/lib/utils.d.ts +1 -1
- package/package.json +5 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
2
|
-
import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
|
|
3
1
|
import * as React$1 from "react";
|
|
2
|
+
import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
|
|
3
|
+
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
4
4
|
//#region src/components/alert-dialog.d.ts
|
|
5
5
|
declare const AlertDialogCreateHandle: typeof AlertDialog$1.createHandle;
|
|
6
6
|
declare const AlertDialog: typeof AlertDialog$1.Root;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
3
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
4
|
//#region src/components/button.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Disabled styling for a button that is only `aria-disabled`.
|
|
@@ -52,7 +52,8 @@ type ButtonProps = {
|
|
|
52
52
|
loading?: boolean;
|
|
53
53
|
icon?: ReactNode;
|
|
54
54
|
tooltip?: ReactNode;
|
|
55
|
+
"data-accessible-disabled"?: "";
|
|
55
56
|
} & useRender.ComponentProps<"button">;
|
|
56
|
-
declare function Button({ className, variant, size, render, loading, icon, children, disabled, tooltip, ...props }: ButtonProps): import("react").JSX.Element;
|
|
57
|
+
declare function Button({ className, variant, size, render, loading, icon, children, disabled, tooltip, "data-accessible-disabled": accessibleDisabled, ...props }: ButtonProps): import("react").JSX.Element;
|
|
57
58
|
//#endregion
|
|
58
59
|
export { BUTTON_CONTENT, BUTTON_SIZE_CONTENT, Button, buttonAccessibleDisabledClass, buttonVariants };
|
|
@@ -102,7 +102,7 @@ const implicitTooltip = (size, accessibleName) => {
|
|
|
102
102
|
default: return panic(`Unhandled button content: ${String(content)}`);
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
|
-
function Button({ className, variant, size, render, loading, icon, children, disabled, tooltip, ...props }) {
|
|
105
|
+
function Button({ className, variant, size, render, loading, icon, children, disabled, tooltip, "data-accessible-disabled": accessibleDisabled, ...props }) {
|
|
106
106
|
const typeValue = render ? void 0 : "button";
|
|
107
107
|
const tooltipContent = tooltip ?? implicitTooltip(size, props["aria-label"] ?? props.title);
|
|
108
108
|
const disposition = resolveButtonDisposition({
|
|
@@ -111,6 +111,7 @@ function Button({ className, variant, size, render, loading, icon, children, dis
|
|
|
111
111
|
tooltip: tooltipContent
|
|
112
112
|
});
|
|
113
113
|
const isAccessibleDisabled = disposition === BUTTON_DISPOSITION.accessibleDisabled;
|
|
114
|
+
const isActivationPreservingDisabled = accessibleDisabled !== void 0;
|
|
114
115
|
const defaultProps = {
|
|
115
116
|
children: /* @__PURE__ */ jsxs(Fragment, { children: [loading ? /* @__PURE__ */ jsx(Loader, {
|
|
116
117
|
animation: "none",
|
|
@@ -119,18 +120,19 @@ function Button({ className, variant, size, render, loading, icon, children, dis
|
|
|
119
120
|
size: "sm",
|
|
120
121
|
variant: "decorative"
|
|
121
122
|
}) : icon, children] }),
|
|
122
|
-
className: cn(disposition === BUTTON_DISPOSITION.enabled && size !== "row" && variant !== "link" && buttonPressClass, buttonVariants({
|
|
123
|
+
className: cn(disposition === BUTTON_DISPOSITION.enabled && !isActivationPreservingDisabled && size !== "row" && variant !== "link" && buttonPressClass, buttonVariants({
|
|
123
124
|
className,
|
|
124
125
|
size,
|
|
125
126
|
variant
|
|
126
|
-
}), isAccessibleDisabled && "cursor-not-allowed opacity-64"),
|
|
127
|
+
}), (isAccessibleDisabled || isActivationPreservingDisabled) && "cursor-not-allowed opacity-64"),
|
|
127
128
|
"data-slot": "button",
|
|
128
129
|
"aria-busy": loading || void 0,
|
|
129
|
-
...isAccessibleDisabled ? {
|
|
130
|
+
...isAccessibleDisabled || isActivationPreservingDisabled ? {
|
|
130
131
|
"aria-disabled": true,
|
|
131
132
|
"data-disabled": "",
|
|
132
133
|
tabIndex: 0
|
|
133
134
|
} : { disabled: disposition === BUTTON_DISPOSITION.nativeDisabled },
|
|
135
|
+
"data-accessible-disabled": accessibleDisabled,
|
|
134
136
|
type: typeValue
|
|
135
137
|
};
|
|
136
138
|
const button = useRender({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ControlSize } from "../lib/control-size.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
3
2
|
import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
|
|
3
|
+
import { ControlSize } from "../lib/control-size.js";
|
|
4
4
|
//#region src/components/combobox.d.ts
|
|
5
5
|
declare const Combobox: <Value, Multiple extends boolean | undefined = false>(props: Combobox$1.Root.Props<Value, Multiple>) => React$1.JSX.Element;
|
|
6
6
|
declare const ComboboxChipsInput: ({ className, size, ...props }: Omit<Combobox$1.Input.Props, "size"> & {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ControlSize } from "../lib/control-size.js";
|
|
2
|
-
import { DialogContent as DialogPopup } from "./dialog.js";
|
|
3
1
|
import * as React$1 from "react";
|
|
2
|
+
import { Autocomplete } from "@base-ui/react/autocomplete";
|
|
3
|
+
import { ControlSize } from "../lib/control-size.js";
|
|
4
4
|
import { Dialog } from "@base-ui/react/dialog";
|
|
5
|
+
import { DialogContent as DialogPopup } from "./dialog.js";
|
|
5
6
|
import { VariantProps } from "class-variance-authority";
|
|
6
|
-
import { Autocomplete } from "@base-ui/react/autocomplete";
|
|
7
7
|
//#region src/components/command.d.ts
|
|
8
8
|
type CommandProps<ItemValue> = Omit<Autocomplete.Root.Props<ItemValue>, "items"> & {
|
|
9
9
|
items?: readonly ItemValue[] | undefined;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
//#region src/components/composer-tokens.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The tokens every composer box shares: the chat hero, the chat follow-up
|
|
4
|
+
* bar, the docked bar over documents (inspector chat, file overlay,
|
|
5
|
+
* Template Studio) and the law home's entry box all render one shell from
|
|
6
|
+
* these, so they restyle together. A surface that needs the look imports
|
|
7
|
+
* these rather than copying the classes; a copy is how the boxes drifted
|
|
8
|
+
* apart the first time (44px / `rounded-lg` / 14px in the chat, 38px /
|
|
9
|
+
* `rounded-2xl` / 13px in the inspector).
|
|
10
|
+
*/
|
|
11
|
+
/** Shared responsive size for the two round controls flanking a composer. */
|
|
12
|
+
export declare const COMPOSER_CONTROL_BUTTON_SIZE: "icon-sm";
|
|
13
|
+
/** The bordered box: background, radius, border, colour transition. The
|
|
14
|
+
* radius is the docked bar's original `rounded-2xl`: at the compact row's
|
|
15
|
+
* stature it reads as a soft pill, which is the shape the composers were
|
|
16
|
+
* meant to unify on. */
|
|
17
|
+
export declare const COMPOSER_BOX_CLASS = "bg-background rounded-2xl border";
|
|
18
|
+
/** The box's focus ring in its default (non-anonymized) treatment. */
|
|
19
|
+
export declare const COMPOSER_BOX_FOCUS_CLASS = "focus-within:border-ring";
|
|
20
|
+
/**
|
|
21
|
+
* The box's "shield active" treatment when the next send is anonymized: a
|
|
22
|
+
* blue ring replaces the default focus border (both together read as a
|
|
23
|
+
* double ring on click).
|
|
24
|
+
*/
|
|
25
|
+
export declare const COMPOSER_BOX_ANONYMIZED_CLASS = "ring-info/40 border-info/40 focus-within:border-info/60 shadow-[0_0_0_4px_rgb(from_var(--color-info)_r_g_b_/_0.08)] ring-1";
|
|
26
|
+
/**
|
|
27
|
+
* The compact (one-line) bar row: its stature, end alignment, control gap
|
|
28
|
+
* and inset. The surface supplies the layout (`grid` for the chat bar's
|
|
29
|
+
* three fixed columns, `flex` for the docked bar's variable leading
|
|
30
|
+
* controls); the row grows with the editor.
|
|
31
|
+
*/
|
|
32
|
+
export declare const COMPOSER_COMPACT_ROW_CLASS = "min-h-11 items-end gap-1 px-1.5 py-px";
|
|
33
|
+
/**
|
|
34
|
+
* The compact text cell: one `text-sm` line at `leading-5` plus the
|
|
35
|
+
* vertical inset that makes a single line exactly as tall as the row's
|
|
36
|
+
* inner height (44px row, 1px inset each side ⇒ 42px), so text and controls
|
|
37
|
+
* share one centre. The editable element itself takes `min-h-0` so an empty
|
|
38
|
+
* composer collapses to this one line and grows from there.
|
|
39
|
+
*/
|
|
40
|
+
export declare const COMPOSER_COMPACT_TEXT_CELL_CLASS = "relative min-w-0 py-[11px]";
|
|
41
|
+
/** Text stature of the editor and every placeholder painted over it. */
|
|
42
|
+
export declare const COMPOSER_TEXT_CLASS = "text-sm leading-5";
|
|
43
|
+
/**
|
|
44
|
+
* The `large` (hero) text well: the padding around the editor. The editor's
|
|
45
|
+
* own stature is `COMPOSER_LARGE_EDITOR_CLASS` (~3 lines of `text-sm` at
|
|
46
|
+
* `leading-5`), applied on the editable element by each surface because the
|
|
47
|
+
* chat editor targets its `.ProseMirror` node while a plain textarea takes
|
|
48
|
+
* it directly.
|
|
49
|
+
*/
|
|
50
|
+
export declare const COMPOSER_LARGE_TEXT_WELL_CLASS = "ps-3 pe-3 pt-2 pb-1";
|
|
51
|
+
/** The `large` editable element's stature: three lines before it grows. */
|
|
52
|
+
export declare const COMPOSER_LARGE_EDITOR_CLASS = "min-h-15";
|
|
53
|
+
/** The placeholder painted over an empty editor, in either stature. */
|
|
54
|
+
export declare const COMPOSER_PLACEHOLDER_CLASS = "text-foreground-placeholder pointer-events-none absolute truncate text-sm";
|
|
55
|
+
/** The `large` action row under the text well: leading controls, trailing send. */
|
|
56
|
+
export declare const COMPOSER_LARGE_ACTION_ROW_CLASS = "flex items-center justify-end gap-0.5 px-1.5 pb-1.5";
|
|
57
|
+
/** The leading group of the action row (the (+) menu, or a scope control). */
|
|
58
|
+
export declare const COMPOSER_LEADING_GROUP_CLASS = "flex min-w-0 items-center gap-0.5";
|
|
59
|
+
/**
|
|
60
|
+
* The round, foreground-filled primary control at the action row's end:
|
|
61
|
+
* the chat's send/stop/retry button and the law home's submit. `size-7`
|
|
62
|
+
* pins the circle to the (+) trigger's diameter at every breakpoint
|
|
63
|
+
* (`icon-sm` alone is 32px below `sm`), so a row's two round ends match.
|
|
64
|
+
*/
|
|
65
|
+
export declare const COMPOSER_SEND_BUTTON_CLASS = "bg-foreground text-background hover:bg-foreground/90 size-7 shrink-0 rounded-full";
|
|
66
|
+
/**
|
|
67
|
+
* A picker in the status row under the box (the chat's matter picker, the
|
|
68
|
+
* law home's scope and jurisdiction): quiet text with a hover surface, so
|
|
69
|
+
* the row stays subordinate to the box above it.
|
|
70
|
+
*/
|
|
71
|
+
export declare const COMPOSER_PICKER_TRIGGER_CLASS = "text-muted-foreground hover:text-foreground hover:bg-accent inline-flex min-w-0 shrink items-center gap-1 rounded-md px-1.5 py-0.5 text-2xs";
|
|
72
|
+
//#endregion
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
//#region src/components/composer-tokens.ts
|
|
2
|
+
/**
|
|
3
|
+
* The tokens every composer box shares: the chat hero, the chat follow-up
|
|
4
|
+
* bar, the docked bar over documents (inspector chat, file overlay,
|
|
5
|
+
* Template Studio) and the law home's entry box all render one shell from
|
|
6
|
+
* these, so they restyle together. A surface that needs the look imports
|
|
7
|
+
* these rather than copying the classes; a copy is how the boxes drifted
|
|
8
|
+
* apart the first time (44px / `rounded-lg` / 14px in the chat, 38px /
|
|
9
|
+
* `rounded-2xl` / 13px in the inspector).
|
|
10
|
+
*/
|
|
11
|
+
/** Shared responsive size for the two round controls flanking a composer. */
|
|
12
|
+
const COMPOSER_CONTROL_BUTTON_SIZE = "icon-sm";
|
|
13
|
+
/** The bordered box: background, radius, border, colour transition. The
|
|
14
|
+
* radius is the docked bar's original `rounded-2xl`: at the compact row's
|
|
15
|
+
* stature it reads as a soft pill, which is the shape the composers were
|
|
16
|
+
* meant to unify on. */
|
|
17
|
+
const COMPOSER_BOX_CLASS = "bg-background rounded-2xl border";
|
|
18
|
+
/** The box's focus ring in its default (non-anonymized) treatment. */
|
|
19
|
+
const COMPOSER_BOX_FOCUS_CLASS = "focus-within:border-ring";
|
|
20
|
+
/**
|
|
21
|
+
* The box's "shield active" treatment when the next send is anonymized: a
|
|
22
|
+
* blue ring replaces the default focus border (both together read as a
|
|
23
|
+
* double ring on click).
|
|
24
|
+
*/
|
|
25
|
+
const COMPOSER_BOX_ANONYMIZED_CLASS = "ring-info/40 border-info/40 focus-within:border-info/60 shadow-[0_0_0_4px_rgb(from_var(--color-info)_r_g_b_/_0.08)] ring-1";
|
|
26
|
+
/**
|
|
27
|
+
* The compact (one-line) bar row: its stature, end alignment, control gap
|
|
28
|
+
* and inset. The surface supplies the layout (`grid` for the chat bar's
|
|
29
|
+
* three fixed columns, `flex` for the docked bar's variable leading
|
|
30
|
+
* controls); the row grows with the editor.
|
|
31
|
+
*/
|
|
32
|
+
const COMPOSER_COMPACT_ROW_CLASS = "min-h-11 items-end gap-1 px-1.5 py-px";
|
|
33
|
+
/**
|
|
34
|
+
* The compact text cell: one `text-sm` line at `leading-5` plus the
|
|
35
|
+
* vertical inset that makes a single line exactly as tall as the row's
|
|
36
|
+
* inner height (44px row, 1px inset each side ⇒ 42px), so text and controls
|
|
37
|
+
* share one centre. The editable element itself takes `min-h-0` so an empty
|
|
38
|
+
* composer collapses to this one line and grows from there.
|
|
39
|
+
*/
|
|
40
|
+
const COMPOSER_COMPACT_TEXT_CELL_CLASS = "relative min-w-0 py-[11px]";
|
|
41
|
+
/** Text stature of the editor and every placeholder painted over it. */
|
|
42
|
+
const COMPOSER_TEXT_CLASS = "text-sm leading-5";
|
|
43
|
+
/**
|
|
44
|
+
* The `large` (hero) text well: the padding around the editor. The editor's
|
|
45
|
+
* own stature is `COMPOSER_LARGE_EDITOR_CLASS` (~3 lines of `text-sm` at
|
|
46
|
+
* `leading-5`), applied on the editable element by each surface because the
|
|
47
|
+
* chat editor targets its `.ProseMirror` node while a plain textarea takes
|
|
48
|
+
* it directly.
|
|
49
|
+
*/
|
|
50
|
+
const COMPOSER_LARGE_TEXT_WELL_CLASS = "ps-3 pe-3 pt-2 pb-1";
|
|
51
|
+
/** The `large` editable element's stature: three lines before it grows. */
|
|
52
|
+
const COMPOSER_LARGE_EDITOR_CLASS = "min-h-15";
|
|
53
|
+
/** The placeholder painted over an empty editor, in either stature. */
|
|
54
|
+
const COMPOSER_PLACEHOLDER_CLASS = "text-foreground-placeholder pointer-events-none absolute truncate text-sm";
|
|
55
|
+
/** The `large` action row under the text well: leading controls, trailing send. */
|
|
56
|
+
const COMPOSER_LARGE_ACTION_ROW_CLASS = "flex items-center justify-end gap-0.5 px-1.5 pb-1.5";
|
|
57
|
+
/** The leading group of the action row (the (+) menu, or a scope control). */
|
|
58
|
+
const COMPOSER_LEADING_GROUP_CLASS = "flex min-w-0 items-center gap-0.5";
|
|
59
|
+
/**
|
|
60
|
+
* The round, foreground-filled primary control at the action row's end:
|
|
61
|
+
* the chat's send/stop/retry button and the law home's submit. `size-7`
|
|
62
|
+
* pins the circle to the (+) trigger's diameter at every breakpoint
|
|
63
|
+
* (`icon-sm` alone is 32px below `sm`), so a row's two round ends match.
|
|
64
|
+
*/
|
|
65
|
+
const COMPOSER_SEND_BUTTON_CLASS = "bg-foreground text-background hover:bg-foreground/90 size-7 shrink-0 rounded-full";
|
|
66
|
+
/**
|
|
67
|
+
* A picker in the status row under the box (the chat's matter picker, the
|
|
68
|
+
* law home's scope and jurisdiction): quiet text with a hover surface, so
|
|
69
|
+
* the row stays subordinate to the box above it.
|
|
70
|
+
*/
|
|
71
|
+
const COMPOSER_PICKER_TRIGGER_CLASS = "text-muted-foreground hover:text-foreground hover:bg-accent inline-flex min-w-0 shrink items-center gap-1 rounded-md px-1.5 py-0.5 text-2xs";
|
|
72
|
+
//#endregion
|
|
73
|
+
export { COMPOSER_BOX_ANONYMIZED_CLASS, COMPOSER_BOX_CLASS, COMPOSER_BOX_FOCUS_CLASS, COMPOSER_COMPACT_ROW_CLASS, COMPOSER_COMPACT_TEXT_CELL_CLASS, COMPOSER_CONTROL_BUTTON_SIZE, COMPOSER_LARGE_ACTION_ROW_CLASS, COMPOSER_LARGE_EDITOR_CLASS, COMPOSER_LARGE_TEXT_WELL_CLASS, COMPOSER_LEADING_GROUP_CLASS, COMPOSER_PICKER_TRIGGER_CLASS, COMPOSER_PLACEHOLDER_CLASS, COMPOSER_SEND_BUTTON_CLASS, COMPOSER_TEXT_CLASS };
|
|
@@ -1,75 +1,6 @@
|
|
|
1
|
+
import { COMPOSER_BOX_ANONYMIZED_CLASS, COMPOSER_BOX_CLASS, COMPOSER_BOX_FOCUS_CLASS, COMPOSER_COMPACT_ROW_CLASS, COMPOSER_COMPACT_TEXT_CELL_CLASS, COMPOSER_CONTROL_BUTTON_SIZE, COMPOSER_LARGE_ACTION_ROW_CLASS, COMPOSER_LARGE_EDITOR_CLASS, COMPOSER_LARGE_TEXT_WELL_CLASS, COMPOSER_LEADING_GROUP_CLASS, COMPOSER_PICKER_TRIGGER_CLASS, COMPOSER_PLACEHOLDER_CLASS, COMPOSER_SEND_BUTTON_CLASS, COMPOSER_TEXT_CLASS } from "./composer-tokens.js";
|
|
1
2
|
import { ReactNode } from "react";
|
|
2
3
|
//#region src/components/composer.d.ts
|
|
3
|
-
/**
|
|
4
|
-
* The tokens every composer box shares: the chat hero, the chat follow-up
|
|
5
|
-
* bar, the docked bar over documents (inspector chat, file overlay,
|
|
6
|
-
* Template Studio) and the law home's entry box all render one shell from
|
|
7
|
-
* these, so they restyle together. A surface that needs the look imports
|
|
8
|
-
* these rather than copying the classes; a copy is how the boxes drifted
|
|
9
|
-
* apart the first time (44px / `rounded-lg` / 14px in the chat, 38px /
|
|
10
|
-
* `rounded-2xl` / 13px in the inspector).
|
|
11
|
-
*/
|
|
12
|
-
/** Shared responsive size for the two round controls flanking a composer. */
|
|
13
|
-
export declare const COMPOSER_CONTROL_BUTTON_SIZE: "icon-sm";
|
|
14
|
-
/** The bordered box: background, radius, border, colour transition. The
|
|
15
|
-
* radius is the docked bar's original `rounded-2xl`: at the compact row's
|
|
16
|
-
* stature it reads as a soft pill, which is the shape the composers were
|
|
17
|
-
* meant to unify on. */
|
|
18
|
-
export declare const COMPOSER_BOX_CLASS = "bg-background rounded-2xl border";
|
|
19
|
-
/** The box's focus ring in its default (non-anonymized) treatment. */
|
|
20
|
-
export declare const COMPOSER_BOX_FOCUS_CLASS = "focus-within:border-ring";
|
|
21
|
-
/**
|
|
22
|
-
* The box's "shield active" treatment when the next send is anonymized: a
|
|
23
|
-
* blue ring replaces the default focus border (both together read as a
|
|
24
|
-
* double ring on click).
|
|
25
|
-
*/
|
|
26
|
-
export declare const COMPOSER_BOX_ANONYMIZED_CLASS = "ring-info/40 border-info/40 focus-within:border-info/60 shadow-[0_0_0_4px_rgb(from_var(--color-info)_r_g_b_/_0.08)] ring-1";
|
|
27
|
-
/**
|
|
28
|
-
* The compact (one-line) bar row: its stature, end alignment, control gap
|
|
29
|
-
* and inset. The surface supplies the layout (`grid` for the chat bar's
|
|
30
|
-
* three fixed columns, `flex` for the docked bar's variable leading
|
|
31
|
-
* controls); the row grows with the editor.
|
|
32
|
-
*/
|
|
33
|
-
export declare const COMPOSER_COMPACT_ROW_CLASS = "min-h-11 items-end gap-1 px-1.5 py-px";
|
|
34
|
-
/**
|
|
35
|
-
* The compact text cell: one `text-sm` line at `leading-5` plus the
|
|
36
|
-
* vertical inset that makes a single line exactly as tall as the row's
|
|
37
|
-
* inner height (44px row, 1px inset each side ⇒ 42px), so text and controls
|
|
38
|
-
* share one centre. The editable element itself takes `min-h-0` so an empty
|
|
39
|
-
* composer collapses to this one line and grows from there.
|
|
40
|
-
*/
|
|
41
|
-
export declare const COMPOSER_COMPACT_TEXT_CELL_CLASS = "relative min-w-0 py-[11px]";
|
|
42
|
-
/** Text stature of the editor and every placeholder painted over it. */
|
|
43
|
-
export declare const COMPOSER_TEXT_CLASS = "text-sm leading-5";
|
|
44
|
-
/**
|
|
45
|
-
* The `large` (hero) text well: the padding around the editor. The editor's
|
|
46
|
-
* own stature is `COMPOSER_LARGE_EDITOR_CLASS` (~3 lines of `text-sm` at
|
|
47
|
-
* `leading-5`), applied on the editable element by each surface because the
|
|
48
|
-
* chat editor targets its `.ProseMirror` node while a plain textarea takes
|
|
49
|
-
* it directly.
|
|
50
|
-
*/
|
|
51
|
-
export declare const COMPOSER_LARGE_TEXT_WELL_CLASS = "ps-3 pe-3 pt-2 pb-1";
|
|
52
|
-
/** The `large` editable element's stature: three lines before it grows. */
|
|
53
|
-
export declare const COMPOSER_LARGE_EDITOR_CLASS = "min-h-15";
|
|
54
|
-
/** The placeholder painted over an empty editor, in either stature. */
|
|
55
|
-
export declare const COMPOSER_PLACEHOLDER_CLASS = "text-foreground-placeholder pointer-events-none absolute truncate text-sm";
|
|
56
|
-
/** The `large` action row under the text well: leading controls, trailing send. */
|
|
57
|
-
export declare const COMPOSER_LARGE_ACTION_ROW_CLASS = "flex items-center justify-end gap-0.5 px-1.5 pb-1.5";
|
|
58
|
-
/** The leading group of the action row (the (+) menu, or a scope control). */
|
|
59
|
-
export declare const COMPOSER_LEADING_GROUP_CLASS = "flex min-w-0 items-center gap-0.5";
|
|
60
|
-
/**
|
|
61
|
-
* The round, foreground-filled primary control at the action row's end:
|
|
62
|
-
* the chat's send/stop/retry button and the law home's submit. `size-7`
|
|
63
|
-
* pins the circle to the (+) trigger's diameter at every breakpoint
|
|
64
|
-
* (`icon-sm` alone is 32px below `sm`), so a row's two round ends match.
|
|
65
|
-
*/
|
|
66
|
-
export declare const COMPOSER_SEND_BUTTON_CLASS = "bg-foreground text-background hover:bg-foreground/90 size-7 shrink-0 rounded-full";
|
|
67
|
-
/**
|
|
68
|
-
* A picker in the status row under the box (the chat's matter picker, the
|
|
69
|
-
* law home's scope and jurisdiction): quiet text with a hover surface, so
|
|
70
|
-
* the row stays subordinate to the box above it.
|
|
71
|
-
*/
|
|
72
|
-
export declare const COMPOSER_PICKER_TRIGGER_CLASS = "text-muted-foreground hover:text-foreground hover:bg-accent inline-flex min-w-0 shrink items-center gap-1 rounded-md px-1.5 py-0.5 text-2xs";
|
|
73
4
|
type ComposerStatusRowProps = {
|
|
74
5
|
/** Left cluster: matter picker, web-search / anonymize toggles, ... */
|
|
75
6
|
start?: ReactNode | undefined;
|
|
@@ -112,4 +43,5 @@ type ComposerPickerProps<Value extends string> = {
|
|
|
112
43
|
* kind of control.
|
|
113
44
|
*/
|
|
114
45
|
export declare const ComposerPicker: <Value extends string>({ ariaLabel, icon, onChange, options, value }: ComposerPickerProps<Value>) => import("react").JSX.Element;
|
|
115
|
-
//#endregion
|
|
46
|
+
//#endregion
|
|
47
|
+
export { COMPOSER_BOX_ANONYMIZED_CLASS, COMPOSER_BOX_CLASS, COMPOSER_BOX_FOCUS_CLASS, COMPOSER_COMPACT_ROW_CLASS, COMPOSER_COMPACT_TEXT_CELL_CLASS, COMPOSER_CONTROL_BUTTON_SIZE, COMPOSER_LARGE_ACTION_ROW_CLASS, COMPOSER_LARGE_EDITOR_CLASS, COMPOSER_LARGE_TEXT_WELL_CLASS, COMPOSER_LEADING_GROUP_CLASS, COMPOSER_PICKER_TRIGGER_CLASS, COMPOSER_PLACEHOLDER_CLASS, COMPOSER_SEND_BUTTON_CLASS, COMPOSER_TEXT_CLASS };
|
|
@@ -2,79 +2,10 @@
|
|
|
2
2
|
import { ChevronDownIcon } from "../icons.js";
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
4
|
import { DropdownMenu as Menu, DropdownMenuContent as MenuPopup, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem as MenuRadioItem, DropdownMenuTrigger as MenuTrigger } from "./menu.js";
|
|
5
|
+
import { COMPOSER_BOX_ANONYMIZED_CLASS, COMPOSER_BOX_CLASS, COMPOSER_BOX_FOCUS_CLASS, COMPOSER_COMPACT_ROW_CLASS, COMPOSER_COMPACT_TEXT_CELL_CLASS, COMPOSER_CONTROL_BUTTON_SIZE, COMPOSER_LARGE_ACTION_ROW_CLASS, COMPOSER_LARGE_EDITOR_CLASS, COMPOSER_LARGE_TEXT_WELL_CLASS, COMPOSER_LEADING_GROUP_CLASS, COMPOSER_PICKER_TRIGGER_CLASS, COMPOSER_PLACEHOLDER_CLASS, COMPOSER_SEND_BUTTON_CLASS, COMPOSER_TEXT_CLASS } from "./composer-tokens.js";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
//#region src/components/composer.tsx
|
|
7
8
|
/**
|
|
8
|
-
* The tokens every composer box shares: the chat hero, the chat follow-up
|
|
9
|
-
* bar, the docked bar over documents (inspector chat, file overlay,
|
|
10
|
-
* Template Studio) and the law home's entry box all render one shell from
|
|
11
|
-
* these, so they restyle together. A surface that needs the look imports
|
|
12
|
-
* these rather than copying the classes; a copy is how the boxes drifted
|
|
13
|
-
* apart the first time (44px / `rounded-lg` / 14px in the chat, 38px /
|
|
14
|
-
* `rounded-2xl` / 13px in the inspector).
|
|
15
|
-
*/
|
|
16
|
-
/** Shared responsive size for the two round controls flanking a composer. */
|
|
17
|
-
const COMPOSER_CONTROL_BUTTON_SIZE = "icon-sm";
|
|
18
|
-
/** The bordered box: background, radius, border, colour transition. The
|
|
19
|
-
* radius is the docked bar's original `rounded-2xl`: at the compact row's
|
|
20
|
-
* stature it reads as a soft pill, which is the shape the composers were
|
|
21
|
-
* meant to unify on. */
|
|
22
|
-
const COMPOSER_BOX_CLASS = "bg-background rounded-2xl border";
|
|
23
|
-
/** The box's focus ring in its default (non-anonymized) treatment. */
|
|
24
|
-
const COMPOSER_BOX_FOCUS_CLASS = "focus-within:border-ring";
|
|
25
|
-
/**
|
|
26
|
-
* The box's "shield active" treatment when the next send is anonymized: a
|
|
27
|
-
* blue ring replaces the default focus border (both together read as a
|
|
28
|
-
* double ring on click).
|
|
29
|
-
*/
|
|
30
|
-
const COMPOSER_BOX_ANONYMIZED_CLASS = "ring-info/40 border-info/40 focus-within:border-info/60 shadow-[0_0_0_4px_rgb(from_var(--color-info)_r_g_b_/_0.08)] ring-1";
|
|
31
|
-
/**
|
|
32
|
-
* The compact (one-line) bar row: its stature, end alignment, control gap
|
|
33
|
-
* and inset. The surface supplies the layout (`grid` for the chat bar's
|
|
34
|
-
* three fixed columns, `flex` for the docked bar's variable leading
|
|
35
|
-
* controls); the row grows with the editor.
|
|
36
|
-
*/
|
|
37
|
-
const COMPOSER_COMPACT_ROW_CLASS = "min-h-11 items-end gap-1 px-1.5 py-px";
|
|
38
|
-
/**
|
|
39
|
-
* The compact text cell: one `text-sm` line at `leading-5` plus the
|
|
40
|
-
* vertical inset that makes a single line exactly as tall as the row's
|
|
41
|
-
* inner height (44px row, 1px inset each side ⇒ 42px), so text and controls
|
|
42
|
-
* share one centre. The editable element itself takes `min-h-0` so an empty
|
|
43
|
-
* composer collapses to this one line and grows from there.
|
|
44
|
-
*/
|
|
45
|
-
const COMPOSER_COMPACT_TEXT_CELL_CLASS = "relative min-w-0 py-[11px]";
|
|
46
|
-
/** Text stature of the editor and every placeholder painted over it. */
|
|
47
|
-
const COMPOSER_TEXT_CLASS = "text-sm leading-5";
|
|
48
|
-
/**
|
|
49
|
-
* The `large` (hero) text well: the padding around the editor. The editor's
|
|
50
|
-
* own stature is `COMPOSER_LARGE_EDITOR_CLASS` (~3 lines of `text-sm` at
|
|
51
|
-
* `leading-5`), applied on the editable element by each surface because the
|
|
52
|
-
* chat editor targets its `.ProseMirror` node while a plain textarea takes
|
|
53
|
-
* it directly.
|
|
54
|
-
*/
|
|
55
|
-
const COMPOSER_LARGE_TEXT_WELL_CLASS = "ps-3 pe-3 pt-2 pb-1";
|
|
56
|
-
/** The `large` editable element's stature: three lines before it grows. */
|
|
57
|
-
const COMPOSER_LARGE_EDITOR_CLASS = "min-h-15";
|
|
58
|
-
/** The placeholder painted over an empty editor, in either stature. */
|
|
59
|
-
const COMPOSER_PLACEHOLDER_CLASS = "text-foreground-placeholder pointer-events-none absolute truncate text-sm";
|
|
60
|
-
/** The `large` action row under the text well: leading controls, trailing send. */
|
|
61
|
-
const COMPOSER_LARGE_ACTION_ROW_CLASS = "flex items-center justify-end gap-0.5 px-1.5 pb-1.5";
|
|
62
|
-
/** The leading group of the action row (the (+) menu, or a scope control). */
|
|
63
|
-
const COMPOSER_LEADING_GROUP_CLASS = "flex min-w-0 items-center gap-0.5";
|
|
64
|
-
/**
|
|
65
|
-
* The round, foreground-filled primary control at the action row's end:
|
|
66
|
-
* the chat's send/stop/retry button and the law home's submit. `size-7`
|
|
67
|
-
* pins the circle to the (+) trigger's diameter at every breakpoint
|
|
68
|
-
* (`icon-sm` alone is 32px below `sm`), so a row's two round ends match.
|
|
69
|
-
*/
|
|
70
|
-
const COMPOSER_SEND_BUTTON_CLASS = "bg-foreground text-background hover:bg-foreground/90 size-7 shrink-0 rounded-full";
|
|
71
|
-
/**
|
|
72
|
-
* A picker in the status row under the box (the chat's matter picker, the
|
|
73
|
-
* law home's scope and jurisdiction): quiet text with a hover surface, so
|
|
74
|
-
* the row stays subordinate to the box above it.
|
|
75
|
-
*/
|
|
76
|
-
const COMPOSER_PICKER_TRIGGER_CLASS = "text-muted-foreground hover:text-foreground hover:bg-accent inline-flex min-w-0 shrink items-center gap-1 rounded-md px-1.5 py-0.5 text-2xs";
|
|
77
|
-
/**
|
|
78
9
|
* The slim status row rendered beneath a composer box: a `text-xs` row with
|
|
79
10
|
* a start cluster and an end slot pinned to the far edge. Shared by every
|
|
80
11
|
* surface so the shell can never drift. Renders nothing when both slots are
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Button } from "./button.js";
|
|
2
|
-
import { CopyToClipboardIcon } from "../icons.js";
|
|
3
2
|
import { ComponentProps } from "react";
|
|
3
|
+
import { CopyToClipboardIcon } from "../icons.js";
|
|
4
4
|
//#region src/components/copy-button.d.ts
|
|
5
5
|
export declare const COPIED_RESET_MS = 1500;
|
|
6
6
|
type CopyButtonProps = Omit<ComponentProps<typeof Button>, "children" | "onClick"> & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
2
1
|
import { DatePickerMode } from "./date-picker-popover.logic.js";
|
|
2
|
+
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
3
3
|
//#region src/components/date-picker-popover.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* `compact` keeps the dense 32px day cells everywhere. `touch` grows day,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { InputProps } from "./input.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
2
|
+
import { InputProps } from "./input.js";
|
|
3
3
|
//#region src/components/destructive-action-confirmation.d.ts
|
|
4
4
|
type DestructiveActionConfirmationProps = Omit<InputProps, "onChange" | "type" | "value"> & {
|
|
5
5
|
confirmation: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
2
|
-
import { DialogFormState } from "./dialog-form-state.js";
|
|
3
1
|
import * as React$1 from "react";
|
|
4
2
|
import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
|
|
3
|
+
import { DialogFormState } from "./dialog-form-state.js";
|
|
4
|
+
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
5
5
|
//#region src/components/dialog.d.ts
|
|
6
6
|
declare const DialogCreateHandle: typeof Dialog$1.createHandle;
|
|
7
7
|
type DialogLabels = {
|
|
@@ -2,7 +2,7 @@ import { FileTextIcon } from "../icons.js";
|
|
|
2
2
|
import { cn } from "../lib/utils.js";
|
|
3
3
|
import { Tooltip, TooltipContent as TooltipPopup, TooltipTrigger } from "./tooltip.js";
|
|
4
4
|
import { CourtBadge } from "./court-badge.js";
|
|
5
|
-
import { COURT_TIER_WEIGHT, statuteIdentityLabels } from "./document-identity-badge.logic.js";
|
|
5
|
+
import { COURT_TIER_WEIGHT, caseNumberIdentityLabels, statuteIdentityLabels } from "./document-identity-badge.logic.js";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { panic } from "better-result";
|
|
8
8
|
//#region src/components/document-identity-badge.tsx
|
|
@@ -18,21 +18,11 @@ function documentIdentityMark(identity, size) {
|
|
|
18
18
|
switch (identity.kind) {
|
|
19
19
|
case "statute": {
|
|
20
20
|
const labels = statuteIdentityLabels(identity);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"data-kind": "statute",
|
|
27
|
-
dir: "ltr",
|
|
28
|
-
children: [/* @__PURE__ */ jsx("bdi", {
|
|
29
|
-
className: statuteLabelClasses(labels.long.length).short,
|
|
30
|
-
children: labels.short
|
|
31
|
-
}), /* @__PURE__ */ jsx("bdi", {
|
|
32
|
-
className: statuteLabelClasses(labels.long.length).long,
|
|
33
|
-
children: labels.long
|
|
34
|
-
})]
|
|
35
|
-
});
|
|
21
|
+
return labels === null ? unknownDocumentMark() : referenceLabelMark(labels, "statute");
|
|
22
|
+
}
|
|
23
|
+
case "caseNumber": {
|
|
24
|
+
const labels = caseNumberIdentityLabels(identity);
|
|
25
|
+
return labels === null ? unknownDocumentMark() : referenceLabelMark(labels, "caseNumber");
|
|
36
26
|
}
|
|
37
27
|
case "decision": {
|
|
38
28
|
const abbreviation = identity.courtAbbreviation?.trim();
|
|
@@ -53,6 +43,30 @@ function documentIdentityMark(identity, size) {
|
|
|
53
43
|
default: return panic("Unhandled document identity");
|
|
54
44
|
}
|
|
55
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* A number standing for its document: a statute's `165/12`, a decision's
|
|
48
|
+
* `C-359/25`. Container queries compare available space with the full label
|
|
49
|
+
* in the same monospace units, so no observer or per-row state is needed; a
|
|
50
|
+
* label longer than its slot even in the short form truncates rather than
|
|
51
|
+
* spilling over its neighbour.
|
|
52
|
+
*/
|
|
53
|
+
function referenceLabelMark(labels, kind) {
|
|
54
|
+
const classes = statuteLabelClasses(labels.long.length);
|
|
55
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
56
|
+
className: cn("@container/document-identity inline-flex max-w-full shrink-0 items-center justify-center font-mono leading-4 font-semibold tabular-nums", labels.short.length > 7 ? "text-[9px]" : "text-[10px]"),
|
|
57
|
+
style: { width: `${labels.long.length + .25}ch` },
|
|
58
|
+
"data-slot": "document-identity-badge",
|
|
59
|
+
"data-kind": kind,
|
|
60
|
+
dir: "ltr",
|
|
61
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
62
|
+
className: cn("min-w-0 truncate", classes.short),
|
|
63
|
+
children: labels.short
|
|
64
|
+
}), /* @__PURE__ */ jsx("bdi", {
|
|
65
|
+
className: cn("min-w-0 truncate", classes.long),
|
|
66
|
+
children: labels.long
|
|
67
|
+
})]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
56
70
|
function unknownDocumentMark() {
|
|
57
71
|
return /* @__PURE__ */ jsx(FileTextIcon, {
|
|
58
72
|
"aria-hidden": "true",
|
|
@@ -13,13 +13,32 @@ export type DocumentIdentity = {
|
|
|
13
13
|
kind: "decision";
|
|
14
14
|
courtAbbreviation: string | null | undefined;
|
|
15
15
|
courtTier?: keyof typeof COURT_TIER_WEIGHT | undefined;
|
|
16
|
+
} |
|
|
17
|
+
/**
|
|
18
|
+
* A decision named by its own case number, where a court chip would not
|
|
19
|
+
* tell several open decisions apart (one court's tabs side by side).
|
|
20
|
+
*/
|
|
21
|
+
{
|
|
22
|
+
kind: "caseNumber";
|
|
23
|
+
caseNumber: string | null | undefined;
|
|
16
24
|
} | {
|
|
17
25
|
kind: "unknown";
|
|
18
26
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}>) => {
|
|
27
|
+
/** A reference label in its narrow and its full form. */
|
|
28
|
+
export type IdentityLabels = {
|
|
22
29
|
short: string;
|
|
23
30
|
long: string;
|
|
24
|
-
}
|
|
31
|
+
};
|
|
32
|
+
export declare const statuteIdentityLabels: ({ number, year }: Extract<DocumentIdentity, {
|
|
33
|
+
kind: "statute";
|
|
34
|
+
}>) => IdentityLabels | null;
|
|
35
|
+
/**
|
|
36
|
+
* A case number in the two forms a statute number takes: the full one, and
|
|
37
|
+
* one whose closing four-digit year is cut to two, the way `165/2012` reads
|
|
38
|
+
* `165/12`. A number already printed with a two-digit year (`C-359/25`) is
|
|
39
|
+
* its own short form.
|
|
40
|
+
*/
|
|
41
|
+
export declare const caseNumberIdentityLabels: ({ caseNumber }: Extract<DocumentIdentity, {
|
|
42
|
+
kind: "caseNumber";
|
|
43
|
+
}>) => IdentityLabels | null;
|
|
25
44
|
//#endregion
|
|
@@ -21,5 +21,21 @@ const statuteIdentityLabels = ({ number, year }) => {
|
|
|
21
21
|
long: `${ordinal}/${fullYear}`
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
+
/** A four-digit year closing a case number: `1234/2019`, `C-1/2004`. */
|
|
25
|
+
const TRAILING_FULL_YEAR = /\/\d{2}(\d{2})$/u;
|
|
26
|
+
/**
|
|
27
|
+
* A case number in the two forms a statute number takes: the full one, and
|
|
28
|
+
* one whose closing four-digit year is cut to two, the way `165/2012` reads
|
|
29
|
+
* `165/12`. A number already printed with a two-digit year (`C-359/25`) is
|
|
30
|
+
* its own short form.
|
|
31
|
+
*/
|
|
32
|
+
const caseNumberIdentityLabels = ({ caseNumber }) => {
|
|
33
|
+
const long = caseNumber?.trim().replaceAll(/\s+/gu, " ") ?? "";
|
|
34
|
+
if (long === "") return null;
|
|
35
|
+
return {
|
|
36
|
+
short: long.replace(TRAILING_FULL_YEAR, "/$1"),
|
|
37
|
+
long
|
|
38
|
+
};
|
|
39
|
+
};
|
|
24
40
|
//#endregion
|
|
25
|
-
export { COURT_TIER_WEIGHT, statuteIdentityLabels };
|
|
41
|
+
export { COURT_TIER_WEIGHT, caseNumberIdentityLabels, statuteIdentityLabels };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
1
2
|
import { InputProps } from "./input.js";
|
|
2
3
|
import { TextareaProps } from "./textarea.js";
|
|
3
|
-
import * as React$1 from "react";
|
|
4
4
|
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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ControlSize } from "../lib/control-size.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
2
|
+
import { ControlSize } from "../lib/control-size.js";
|
|
3
3
|
import { Input as Input$1 } from "@base-ui/react/input";
|
|
4
4
|
//#region src/components/input.d.ts
|
|
5
5
|
type InputProps = Omit<Input$1.Props & React$1.RefAttributes<HTMLInputElement>, "size" | "style" | "type"> & {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
3
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
4
|
//#region src/components/list.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Grouped list: a titled section holding one surface of hairline-divided
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Button } from "./button.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
2
|
+
import { Button } from "./button.js";
|
|
3
3
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
4
|
//#region src/components/pagination.d.ts
|
|
5
5
|
declare const Pagination: ({ className, ...props }: React$1.ComponentProps<"nav">) => React$1.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
3
2
|
import { ComponentProps } from "react";
|
|
3
|
+
import { OverlayLayer } from "../lib/overlay-layer.js";
|
|
4
4
|
import { Popover as Popover$1 } from "@base-ui/react/popover";
|
|
5
5
|
//#region src/components/popover.d.ts
|
|
6
6
|
declare const PopoverCreateHandle: typeof Popover$1.createHandle;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { InputGroupInput } from "./input-group.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
2
|
+
import { InputGroupInput } from "./input-group.js";
|
|
3
3
|
//#region src/components/search-field.d.ts
|
|
4
4
|
type SearchFieldProps = Omit<React$1.ComponentProps<typeof InputGroupInput>, "onChange" | "type" | "value"> & {
|
|
5
5
|
value: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ControlSize } from "../lib/control-size.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
2
|
+
import { ControlSize } from "../lib/control-size.js";
|
|
3
3
|
import { Select as Select$1 } from "@base-ui/react/select";
|
|
4
4
|
//#region src/components/select.d.ts
|
|
5
5
|
type SelectItemProps = Select$1.Item.Props & {
|
|
@@ -40,7 +40,7 @@ declare const SidebarProvider: ({ defaultOpen, forceCollapsed, open: openProp, o
|
|
|
40
40
|
open?: boolean;
|
|
41
41
|
onOpenChange?: (open: boolean) => void;
|
|
42
42
|
}) => import("react").JSX.Element;
|
|
43
|
-
declare const Sidebar: ({ side, variant, collapsible, mobileTitle, mobileDescription, className, children, ...props }: React.ComponentProps<"div"> & {
|
|
43
|
+
declare const Sidebar: ({ side, variant, collapsible, mobileTitle, mobileDescription, className, style, children, ...props }: React.ComponentProps<"div"> & {
|
|
44
44
|
/**
|
|
45
45
|
* Which edge the sidebar docks to. Despite the physical name, this is
|
|
46
46
|
* applied as a *logical* position: `"left"` docks at the CSS inline-start
|
|
@@ -103,32 +103,37 @@ const SidebarProvider = ({ defaultOpen, forceCollapsed = false, open: openProp,
|
|
|
103
103
|
})
|
|
104
104
|
});
|
|
105
105
|
};
|
|
106
|
-
const Sidebar = ({ side = "left", variant = "sidebar", collapsible = "offcanvas", mobileTitle = DEFAULT_MOBILE_TITLE, mobileDescription = DEFAULT_MOBILE_DESCRIPTION, className, children, ...props }) => {
|
|
106
|
+
const Sidebar = ({ side = "left", variant = "sidebar", collapsible = "offcanvas", mobileTitle = DEFAULT_MOBILE_TITLE, mobileDescription = DEFAULT_MOBILE_DESCRIPTION, className, style, children, ...props }) => {
|
|
107
107
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
108
108
|
if (collapsible === "none") return /* @__PURE__ */ jsx("div", {
|
|
109
109
|
className: cn("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", className),
|
|
110
110
|
"data-slot": "sidebar",
|
|
111
|
+
style,
|
|
111
112
|
...props,
|
|
112
113
|
children
|
|
113
114
|
});
|
|
114
115
|
if (isMobile) {
|
|
115
|
-
const mobileStyle = {
|
|
116
|
+
const mobileStyle = {
|
|
117
|
+
"--sidebar-width": SIDEBAR_WIDTH_MOBILE,
|
|
118
|
+
...style
|
|
119
|
+
};
|
|
116
120
|
return /* @__PURE__ */ jsx(Sheet, {
|
|
117
121
|
onOpenChange: setOpenMobile,
|
|
118
122
|
open: openMobile,
|
|
119
|
-
...props,
|
|
120
123
|
children: /* @__PURE__ */ jsxs(SheetPopup, {
|
|
121
|
-
className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) [&>button]:hidden",
|
|
124
|
+
className: cn("bg-sidebar text-sidebar-foreground w-(--sidebar-width) [&>button]:hidden", className),
|
|
122
125
|
"data-mobile": "true",
|
|
123
126
|
"data-sidebar": "sidebar",
|
|
124
127
|
"data-slot": "sidebar",
|
|
125
128
|
side: side === "left" ? "inline-start" : "inline-end",
|
|
126
129
|
style: mobileStyle,
|
|
130
|
+
...props,
|
|
127
131
|
children: [/* @__PURE__ */ jsxs(SheetHeader, {
|
|
128
132
|
className: "sr-only",
|
|
129
133
|
children: [/* @__PURE__ */ jsx(SheetTitle, { children: mobileTitle }), /* @__PURE__ */ jsx(SheetDescription, { children: mobileDescription })]
|
|
130
134
|
}), /* @__PURE__ */ jsx("div", {
|
|
131
135
|
className: "flex h-full w-full flex-col",
|
|
136
|
+
"data-slot": "sidebar-inner",
|
|
132
137
|
children
|
|
133
138
|
})]
|
|
134
139
|
})
|
|
@@ -147,6 +152,7 @@ const Sidebar = ({ side = "left", variant = "sidebar", collapsible = "offcanvas"
|
|
|
147
152
|
}), /* @__PURE__ */ jsx("div", {
|
|
148
153
|
className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-inline-size) transition-[inset-inline-start,inset-inline-end,width] duration-200 ease-in-out md:flex", "pt-(--safe-area-top) pb-(--safe-area-bottom)", side === "left" ? "start-0 ps-(--safe-area-inline-start) group-data-[collapsible=offcanvas]:start-[calc(var(--sidebar-inline-size)*-1)]" : "end-0 pe-(--safe-area-inline-end) group-data-[collapsible=offcanvas]:end-[calc(var(--sidebar-inline-size)*-1)]", variant === "floating" || variant === "inset" ? ["p-2 pt-[calc(var(--safe-area-top)+--spacing(2))] pb-[calc(var(--safe-area-bottom)+--spacing(2))] group-data-[collapsible=icon]:w-[calc(var(--sidebar-inline-size)+2px)]", side === "left" ? "ps-[calc(var(--safe-area-inline-start)+--spacing(2))]" : "pe-[calc(var(--safe-area-inline-end)+--spacing(2))]"] : "group-data-[side=left]:border-e group-data-[side=right]:border-s", className),
|
|
149
154
|
"data-slot": "sidebar-container",
|
|
155
|
+
style,
|
|
150
156
|
...props,
|
|
151
157
|
children: /* @__PURE__ */ jsx("div", {
|
|
152
158
|
className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BUTTON_CONTENT, Button } from "./button.js";
|
|
2
|
+
import { ComponentProps, ReactNode } from "react";
|
|
2
3
|
import { DropdownMenu as Menu } from "./menu.js";
|
|
3
4
|
import { Popover } from "./popover.js";
|
|
4
|
-
import { ComponentProps, ReactNode } from "react";
|
|
5
5
|
//#region src/components/split-button.d.ts
|
|
6
6
|
type SplitButtonSharedProps = {
|
|
7
7
|
menuLabel: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ControlSize } from "../lib/control-size.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
2
|
+
import { ControlSize } from "../lib/control-size.js";
|
|
3
3
|
//#region src/components/textarea.d.ts
|
|
4
4
|
type TextareaProps = React$1.ComponentProps<"textarea"> & {
|
|
5
5
|
size?: ControlSize | number;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TableColumnCapabilities, TableColumnDescriptor, TableSchema, duplicateColumnIds, findTableColumn, hideableColumnIds, sortableColumnIds, tableColumnIds, tableColumnSizing, visibleColumnIds } from "./schema.js";
|
|
2
1
|
import { DataTable, DataTableAriaSort, DataTableColumn, DataTableProps, DataTableRowAction } from "./table.js";
|
|
2
|
+
import { TableColumnCapabilities, TableColumnDescriptor, TableSchema, duplicateColumnIds, findTableColumn, hideableColumnIds, sortableColumnIds, tableColumnIds, tableColumnSizing, visibleColumnIds } from "./schema.js";
|
|
3
3
|
export { DataTable, type DataTableAriaSort, type DataTableColumn, type DataTableProps, type DataTableRowAction, type TableColumnCapabilities, type TableColumnDescriptor, type TableSchema, duplicateColumnIds, findTableColumn, hideableColumnIds, sortableColumnIds, tableColumnIds, tableColumnSizing, visibleColumnIds };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,49 +1,83 @@
|
|
|
1
|
-
import { CalendarCell, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow } from "./calendar/primitives.js";
|
|
2
|
-
import { CalendarDateRange, ResourceCalendarLaneLayout, ResourceCalendarLanePlacement, ResourceCalendarPlacement, assertConsecutiveCalendarDates, getResourceCalendarPlacement, layoutResourceCalendarEntries, nextCalendarDate } from "./calendar/resource-calendar.logic.js";
|
|
3
|
-
import { ResourceCalendar, ResourceCalendarColumn, ResourceCalendarEntry, ResourceCalendarEntryTone, ResourceCalendarResource } from "./calendar/resource-calendar.js";
|
|
4
1
|
import "./calendar/index.js";
|
|
2
|
+
import "./data-table/index.js";
|
|
3
|
+
import "./inspector/index.js";
|
|
4
|
+
import "./kanban/index.js";
|
|
5
|
+
import { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator } from "./components/application-rail.js";
|
|
5
6
|
import { Accordion, AccordionContent as AccordionPanel, AccordionItem, AccordionTrigger } from "./components/accordion.js";
|
|
6
|
-
import { BOARD_DRAG_OVERLAY_Z_INDEX, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OverlayLayer, SHELL_CHROME_LAYER_CLASS_NAME } from "./lib/overlay-layer.js";
|
|
7
7
|
import { AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogContent as AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport } from "./components/alert-dialog.js";
|
|
8
|
-
import {
|
|
8
|
+
import { AnchoredToastProvider, TOAST_RIGHT_OFFSET_VAR, ToastPosition, ToastProvider, resolveToastUpdateTimeout, stellaToast, toastCountdownMs, toastDedupeId } from "./components/toast.js";
|
|
9
9
|
import { Avatar, AvatarFallback, AvatarImage } from "./components/avatar.js";
|
|
10
|
+
import { BOARD_DRAG_OVERLAY_Z_INDEX, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OverlayLayer, SHELL_CHROME_LAYER_CLASS_NAME } from "./lib/overlay-layer.js";
|
|
11
|
+
import { BUTTON_CONTENT, BUTTON_SIZE_CONTENT, Button, buttonAccessibleDisabledClass, buttonVariants } from "./components/button.js";
|
|
10
12
|
import { BidiDirection, BidiText, BidiTextProps, UserText } from "./components/bidi-text.js";
|
|
11
|
-
import { DiscordLogoIcon, GitHubLogoIcon, XLogoIcon } from "./components/brand-icons.js";
|
|
12
13
|
import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/breadcrumb.js";
|
|
13
|
-
import {
|
|
14
|
+
import { BuildKanbanBoardMatrixParams, CreateKanbanDropIntentParams, KANBAN_BOARD_AXES, KanbanBoardAxis, KanbanBoardCell, KanbanBoardColumn, KanbanBoardCoordinate, KanbanBoardDestination, KanbanBoardLane, KanbanBoardMatrix, KanbanDropAxisChange, KanbanDropIntent, OrderKanbanCellsByColumnsParams, ResolveKanbanGroupValueParams, buildKanbanBoardMatrix, createKanbanDropIntent, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, orderKanbanCellsByColumns } from "./kanban/matrix.js";
|
|
15
|
+
import { CONTROL_SIZE, CONTROL_SIZES, ControlSize } from "./lib/control-size.js";
|
|
16
|
+
import { COPIED_RESET_MS, CopyButton, CopyFeedback, useCopiedFeedback, useCopyConfirmation } from "./components/copy-button.js";
|
|
17
|
+
import { CalendarCell, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow } from "./calendar/primitives.js";
|
|
18
|
+
import { CalendarDateRange, ResourceCalendarLaneLayout, ResourceCalendarLanePlacement, ResourceCalendarPlacement, assertConsecutiveCalendarDates, getResourceCalendarPlacement, layoutResourceCalendarEntries, nextCalendarDate } from "./calendar/resource-calendar.logic.js";
|
|
14
19
|
import { Checkbox } from "./components/checkbox.js";
|
|
15
20
|
import { ColorPicker, ColorPickerContent, ColorPickerContentProps, ColorPickerProps, ColorPreset, DEFAULT_PRESETS } from "./components/color-picker.js";
|
|
16
|
-
import {
|
|
21
|
+
import { ColorVariants, OptionColor, emptyColor, optionColors, resolveOptionColor } from "./lib/option-color.js";
|
|
17
22
|
import { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue } from "./components/combobox.js";
|
|
18
|
-
import { DialogFormState } from "./components/dialog-form-state.js";
|
|
19
|
-
import { DIALOG_MOBILE_LAYOUT, Dialog, DialogBackdrop, DialogClose, DialogContent as DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogHeader, DialogMobileLayout, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport } from "./components/dialog.js";
|
|
20
23
|
import { Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut } from "./components/command.js";
|
|
21
|
-
import {
|
|
24
|
+
import { DIALOG_MOBILE_LAYOUT, Dialog, DialogBackdrop, DialogClose, DialogContent as DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogHeader, DialogMobileLayout, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport } from "./components/dialog.js";
|
|
25
|
+
import { DataTable, DataTableAriaSort, DataTableColumn, DataTableProps, DataTableRowAction } from "./data-table/table.js";
|
|
22
26
|
import { DatePickerPopover, DatePickerPopoverProps } from "./components/date-picker-popover.js";
|
|
23
|
-
import { Input, InputProps } from "./components/input.js";
|
|
24
27
|
import { DestructiveActionConfirmation, useDestructiveActionConfirmation } from "./components/destructive-action-confirmation.js";
|
|
25
28
|
import { DestructiveConfirmDialog, DestructiveConfirmDialogProps, DestructiveConfirmOutcome } from "./components/destructive-confirm-dialog.js";
|
|
26
29
|
import { DetailsGrid, DetailsItem } from "./components/details-grid.js";
|
|
30
|
+
import { DialogFormState } from "./components/dialog-form-state.js";
|
|
27
31
|
import { DirectionalIcon } from "./components/directional-icon.js";
|
|
32
|
+
import { DiscordLogoIcon, GitHubLogoIcon, XLogoIcon } from "./components/brand-icons.js";
|
|
33
|
+
import { DropdownMenu as Menu, DropdownMenuCheckboxItem as MenuCheckboxItem, DropdownMenuContent as MenuPopup, DropdownMenuCreateHandle as MenuCreateHandle, DropdownMenuGroup as MenuGroup, DropdownMenuItem as MenuItem, DropdownMenuLabel as MenuGroupLabel, DropdownMenuPortal as MenuPortal, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem as MenuRadioItem, DropdownMenuSeparator as MenuSeparator, DropdownMenuShortcut as MenuShortcut, DropdownMenuSub as MenuSub, DropdownMenuSubContent as MenuSubPopup, DropdownMenuSubTrigger as MenuSubTrigger, DropdownMenuTrigger as MenuTrigger } from "./components/menu.js";
|
|
28
34
|
import { Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity } from "./components/field.js";
|
|
29
35
|
import { FileInput, FileInputProps } from "./components/file-input.js";
|
|
30
36
|
import { Form } from "./components/form.js";
|
|
31
37
|
import { Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle } from "./components/frame.js";
|
|
32
38
|
import { HexColorPicker, HexColorPickerProps } from "./components/hex-color-picker.js";
|
|
39
|
+
import { HoverCard as PreviewCard, HoverCardContent as PreviewCardPopup, HoverCardTrigger as PreviewCardTrigger, PreviewCardPrimitive } from "./components/preview-card.js";
|
|
40
|
+
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";
|
|
41
|
+
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./inspector/use-pane-width.js";
|
|
33
42
|
import { InlineRenameInput } from "./components/inline-rename.js";
|
|
34
|
-
import {
|
|
43
|
+
import { Input, InputProps } from "./components/input.js";
|
|
35
44
|
import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea } from "./components/input-group.js";
|
|
36
45
|
import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "./components/input-otp.js";
|
|
46
|
+
import { Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorEmptyRow, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle } from "./inspector/chrome.js";
|
|
47
|
+
import { InspectorDock, InspectorDockMount } from "./inspector/dock.js";
|
|
48
|
+
import { InspectorEntityTab, InspectorEntityTabInactiveIcon, entityTabGlyph } from "./inspector/entity-tab.js";
|
|
49
|
+
import { InspectorFacetBar } from "./inspector/facet-bar.js";
|
|
50
|
+
import { KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX } from "./kanban/layout-tokens.js";
|
|
51
|
+
import { KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS } from "./kanban/band-peek.js";
|
|
52
|
+
import { KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_CARD_DRAG_MIME, KanbanCardDragPreview, RegisterKanbanBoardAutoScrollOptions, RegisterKanbanCardDragOptions, registerKanbanBoardAutoScroll, registerKanbanCardDrag } from "./kanban/drag-interactions.js";
|
|
53
|
+
import { KANBAN_CARD_STICKY_TOP_VAR, KANBAN_STICKY_TOP_VAR, KanbanCollapsedBandCaption, KanbanCollapsedBandCaptionProps } from "./kanban/sticky-lane.js";
|
|
54
|
+
import { KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KanbanColumnBandSpan, hasKanbanColumnBands, resolveKanbanColumnBands } from "./kanban/column-bands.js";
|
|
55
|
+
import { KANBAN_VIRTUAL_CELL_PAGINATION, KanbanVirtualCell, KanbanVirtualCellPagination, KanbanVirtualCellProps } from "./kanban/virtual-cell.js";
|
|
56
|
+
import { KanbanBandToggleActivation, KanbanColumnBandHeader, KanbanColumnBandHeaderProps } from "./kanban/column-band-header.js";
|
|
57
|
+
import { KanbanBuiltInGroup, KanbanColumnBand, KanbanGroup, KanbanGroupOption, KanbanGrouping, KanbanSchema, ResolveKanbanGroupingParams, getKanbanGroupingPropertyId, getKanbanGroups, isKanbanGroupingRenderable, resolveKanbanGroupOptions, resolveKanbanGrouping, selectKanbanRows } from "./kanban/grouping.js";
|
|
58
|
+
import { KanbanCardFieldSelection, selectKanbanCardFieldIds } from "./kanban/card-properties.js";
|
|
59
|
+
import { KanbanCardSelectionModifiers, KanbanCardShell, KanbanCardShellProps } from "./kanban/card-shell.js";
|
|
60
|
+
import { KanbanCellAction, KanbanCellActionProps } from "./kanban/cell-action.js";
|
|
61
|
+
import { KanbanColumnHeader, KanbanColumnHeaderProps } from "./kanban/column-header.js";
|
|
62
|
+
import { KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, KanbanSubgroupBoardProps, KanbanSubgroupCellContext, KanbanSubgroupCollapsedBandCellContext, KanbanSubgroupColumnHeaderContext, KanbanSubgroupLaneColumnActionContext, KanbanSubgroupLaneColumnSummaryContext, KanbanSubgroupLaneIdentityContext } from "./kanban/subgroup-board.js";
|
|
37
63
|
import { Label } from "./components/label.js";
|
|
38
64
|
import { List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, StatusTone } from "./components/list.js";
|
|
65
|
+
import { MenuPreviewLayout, PreviewPane } from "./components/preview-pane.js";
|
|
39
66
|
import { MenuSection } from "./components/menu-section.js";
|
|
40
|
-
import { DropdownMenu as Menu, DropdownMenuCheckboxItem as MenuCheckboxItem, DropdownMenuContent as MenuPopup, DropdownMenuCreateHandle as MenuCreateHandle, DropdownMenuGroup as MenuGroup, DropdownMenuItem as MenuItem, DropdownMenuLabel as MenuGroupLabel, DropdownMenuPortal as MenuPortal, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem as MenuRadioItem, DropdownMenuSeparator as MenuSeparator, DropdownMenuShortcut as MenuShortcut, DropdownMenuSub as MenuSub, DropdownMenuSubContent as MenuSubPopup, DropdownMenuSubTrigger as MenuSubTrigger, DropdownMenuTrigger as MenuTrigger } from "./components/menu.js";
|
|
41
67
|
import { OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, outlineEntryText } from "./components/outline-rail.js";
|
|
68
|
+
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";
|
|
42
69
|
import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "./components/pagination.js";
|
|
70
|
+
import { PanelTrigger, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, sidebarIdentityTriggerClassName, useSidebar, useSidebarInlineSize, useSidebarLayout } from "./components/sidebar.js";
|
|
43
71
|
import { Popover, PopoverClose, PopoverContent as PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger } from "./components/popover.js";
|
|
44
|
-
import { HoverCard as PreviewCard, HoverCardContent as PreviewCardPopup, HoverCardTrigger as PreviewCardTrigger, PreviewCardPrimitive } from "./components/preview-card.js";
|
|
45
|
-
import { MenuPreviewLayout, PreviewPane } from "./components/preview-pane.js";
|
|
46
72
|
import { Prose } from "./components/prose.js";
|
|
73
|
+
import { ResourceCalendar, ResourceCalendarColumn, ResourceCalendarEntry, ResourceCalendarEntryTone, ResourceCalendarResource } from "./calendar/resource-calendar.js";
|
|
74
|
+
import { ReviewAuthorAvatar, UNKNOWN_AUTHOR_LABEL } from "./review/review-author-avatar.js";
|
|
75
|
+
import { ReviewCommentAuthor, ReviewCommentCard } from "./review/review-comment-card.js";
|
|
76
|
+
import { ReviewDecisionActions, ReviewDecisionSize, ReviewDecisionState } from "./review/review-decision-actions.js";
|
|
77
|
+
import { ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffSegmentType, ReviewDiffText, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, reviewDiffSegmentKeys } from "./review/review-diff-text.js";
|
|
78
|
+
import { ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone } from "./review/review-out-of-date-notice.js";
|
|
79
|
+
import { ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusDot, reviewSeverityTone } from "./review/review-severity-dot.js";
|
|
80
|
+
import { ReviewStatusBadge, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant } from "./review/review-status-badge.js";
|
|
47
81
|
import { ScrollArea, ScrollBar } from "./components/scroll-area.js";
|
|
48
82
|
import { ScrollToTop, ScrollToTopProps } from "./components/scroll-to-top.js";
|
|
49
83
|
import { SearchField, SearchFieldProps } from "./components/search-field.js";
|
|
@@ -52,56 +86,22 @@ import { SegmentedIconToggle } from "./components/segmented-icon-toggle.js";
|
|
|
52
86
|
import { Select, SelectContent as SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue } from "./components/select.js";
|
|
53
87
|
import { Separator, TextSeparator } from "./components/separator.js";
|
|
54
88
|
import { Sheet, SheetBackdrop, SheetClose, SheetContent as SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, SheetSide, SheetTitle, SheetTrigger } from "./components/sheet.js";
|
|
55
|
-
import { Tooltip, TooltipContent as TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger } from "./components/tooltip.js";
|
|
56
|
-
import { PanelTrigger, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, sidebarIdentityTriggerClassName, useSidebar, useSidebarInlineSize, useSidebarLayout } from "./components/sidebar.js";
|
|
57
89
|
import { Skeleton } from "./components/skeleton.js";
|
|
90
|
+
import { SortDirection, SortableHead, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/table.js";
|
|
58
91
|
import { StellaMark } from "./components/stella-mark.js";
|
|
59
92
|
import { StellaWordmarkLatin } from "./components/stella-wordmark.js";
|
|
60
|
-
import {
|
|
93
|
+
import { TableColumnCapabilities, TableColumnDescriptor, TableSchema, duplicateColumnIds, findTableColumn, hideableColumnIds, sortableColumnIds, tableColumnIds, tableColumnSizing, visibleColumnIds } from "./data-table/schema.js";
|
|
61
94
|
import { Tabs, TabsContent as TabsPanel, TabsList, TabsTab } from "./components/tabs.js";
|
|
62
|
-
import {
|
|
95
|
+
import { Textarea, TextareaProps } from "./components/textarea.js";
|
|
96
|
+
import { Tooltip, TooltipContent as TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger } from "./components/tooltip.js";
|
|
97
|
+
import { TypedCharacterEvent, typedCharacter } from "./lib/typed-character.js";
|
|
63
98
|
import { WorkspaceCompactNavigation, WorkspaceEndRail, WorkspaceEndRailChatAction, WorkspaceEndRailProps, WorkspaceNavigation, WorkspaceShell, WorkspaceShellProps, WorkspaceTopBarContext } from "./components/workspace-shell.js";
|
|
64
|
-
import {
|
|
65
|
-
import { DataTable, DataTableAriaSort, DataTableColumn, DataTableProps, DataTableRowAction } from "./data-table/table.js";
|
|
66
|
-
import "./data-table/index.js";
|
|
99
|
+
import { cn, composeRefs } from "./lib/utils.js";
|
|
67
100
|
import { containedEventHandler, containedHandler } from "./hooks/use-contained-handler.js";
|
|
68
101
|
import { contentDir, isStructuredInputType, useContentDir } from "./hooks/use-content-dir.js";
|
|
69
|
-
import {
|
|
102
|
+
import { getFirstWeekday, getLocaleWeekInfo, getWeekendDays } from "./lib/week.js";
|
|
103
|
+
import { getInitials } from "./lib/initials.js";
|
|
70
104
|
import { useIsMobile } from "./hooks/use-mobile.js";
|
|
105
|
+
import { useLatest } from "./hooks/use-latest.js";
|
|
71
106
|
import { useViewportWidth } from "./hooks/use-viewport-width.js";
|
|
72
|
-
import { Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorEmptyRow, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle } from "./inspector/chrome.js";
|
|
73
|
-
import { InspectorDock, InspectorDockMount } from "./inspector/dock.js";
|
|
74
|
-
import { InspectorEntityTab, InspectorEntityTabInactiveIcon, entityTabGlyph } from "./inspector/entity-tab.js";
|
|
75
|
-
import { InspectorFacetBar } from "./inspector/facet-bar.js";
|
|
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
|
-
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, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./inspector/use-pane-width.js";
|
|
79
|
-
import "./inspector/index.js";
|
|
80
|
-
import { KanbanCardFieldSelection, selectKanbanCardFieldIds } from "./kanban/card-properties.js";
|
|
81
|
-
import { KanbanCardSelectionModifiers, KanbanCardShell, KanbanCardShellProps } from "./kanban/card-shell.js";
|
|
82
|
-
import { KanbanCellAction, KanbanCellActionProps } from "./kanban/cell-action.js";
|
|
83
|
-
import { KanbanBandToggleActivation, KanbanColumnBandHeader, KanbanColumnBandHeaderProps } from "./kanban/column-band-header.js";
|
|
84
|
-
import { ColorVariants, OptionColor, emptyColor, optionColors, resolveOptionColor } from "./lib/option-color.js";
|
|
85
|
-
import { KanbanBuiltInGroup, KanbanColumnBand, KanbanGroup, KanbanGroupOption, KanbanGrouping, KanbanSchema, ResolveKanbanGroupingParams, getKanbanGroupingPropertyId, getKanbanGroups, isKanbanGroupingRenderable, resolveKanbanGroupOptions, resolveKanbanGrouping, selectKanbanRows } from "./kanban/grouping.js";
|
|
86
|
-
import { BuildKanbanBoardMatrixParams, CreateKanbanDropIntentParams, KANBAN_BOARD_AXES, KanbanBoardAxis, KanbanBoardCell, KanbanBoardColumn, KanbanBoardCoordinate, KanbanBoardDestination, KanbanBoardLane, KanbanBoardMatrix, KanbanDropAxisChange, KanbanDropIntent, OrderKanbanCellsByColumnsParams, ResolveKanbanGroupValueParams, buildKanbanBoardMatrix, createKanbanDropIntent, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, orderKanbanCellsByColumns } from "./kanban/matrix.js";
|
|
87
|
-
import { KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KanbanColumnBandSpan, hasKanbanColumnBands, resolveKanbanColumnBands } from "./kanban/column-bands.js";
|
|
88
|
-
import { KanbanColumnHeader, KanbanColumnHeaderProps } from "./kanban/column-header.js";
|
|
89
|
-
import { KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX } from "./kanban/layout-tokens.js";
|
|
90
|
-
import { KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_CARD_DRAG_MIME, KanbanCardDragPreview, RegisterKanbanBoardAutoScrollOptions, RegisterKanbanCardDragOptions, registerKanbanBoardAutoScroll, registerKanbanCardDrag } from "./kanban/drag-interactions.js";
|
|
91
|
-
import { KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, KanbanSubgroupBoardProps, KanbanSubgroupCellContext, KanbanSubgroupCollapsedBandCellContext, KanbanSubgroupColumnHeaderContext, KanbanSubgroupLaneColumnActionContext, KanbanSubgroupLaneColumnSummaryContext, KanbanSubgroupLaneIdentityContext } from "./kanban/subgroup-board.js";
|
|
92
|
-
import { KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS } from "./kanban/band-peek.js";
|
|
93
|
-
import { KANBAN_CARD_STICKY_TOP_VAR, KANBAN_STICKY_TOP_VAR, KanbanCollapsedBandCaption, KanbanCollapsedBandCaptionProps } from "./kanban/sticky-lane.js";
|
|
94
|
-
import { KANBAN_VIRTUAL_CELL_PAGINATION, KanbanVirtualCell, KanbanVirtualCellPagination, KanbanVirtualCellProps } from "./kanban/virtual-cell.js";
|
|
95
|
-
import "./kanban/index.js";
|
|
96
|
-
import { getInitials } from "./lib/initials.js";
|
|
97
|
-
import { TypedCharacterEvent, typedCharacter } from "./lib/typed-character.js";
|
|
98
|
-
import { cn, composeRefs } from "./lib/utils.js";
|
|
99
|
-
import { getFirstWeekday, getLocaleWeekInfo, getWeekendDays } from "./lib/week.js";
|
|
100
|
-
import { ReviewAuthorAvatar, UNKNOWN_AUTHOR_LABEL } from "./review/review-author-avatar.js";
|
|
101
|
-
import { ReviewCommentAuthor, ReviewCommentCard } from "./review/review-comment-card.js";
|
|
102
|
-
import { ReviewDecisionActions, ReviewDecisionSize, ReviewDecisionState } from "./review/review-decision-actions.js";
|
|
103
|
-
import { ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffSegmentType, ReviewDiffText, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, reviewDiffSegmentKeys } from "./review/review-diff-text.js";
|
|
104
|
-
import { ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone } from "./review/review-out-of-date-notice.js";
|
|
105
|
-
import { ReviewStatusBadge, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant } from "./review/review-status-badge.js";
|
|
106
|
-
import { ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusDot, reviewSeverityTone } from "./review/review-severity-dot.js";
|
|
107
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, BUTTON_CONTENT, BUTTON_SIZE_CONTENT, 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, DIALOG_MOBILE_LAYOUT, 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, type DialogMobileLayout, 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 KanbanCardDragPreview, type KanbanCardFieldSelection, type KanbanCardSelectionModifiers, 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, PanelTrigger, 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, resolveToastUpdateTimeout, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, toastCountdownMs, toastDedupeId, typedCharacter, useContentDir, useCopiedFeedback, useCopyConfirmation, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
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";
|
|
2
|
+
import { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./use-pane-width.js";
|
|
1
3
|
import { Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorEmptyRow, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle } from "./chrome.js";
|
|
2
4
|
import { InspectorDock, InspectorDockMount } from "./dock.js";
|
|
3
5
|
import { InspectorEntityTab, InspectorEntityTabInactiveIcon, entityTabGlyph } from "./entity-tab.js";
|
|
4
6
|
import { InspectorFacetBar } from "./facet-bar.js";
|
|
5
7
|
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
|
-
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, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth } from "./use-pane-width.js";
|
|
8
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 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { KanbanColumnBand } from "./grouping.js";
|
|
2
1
|
import { KanbanBoardColumn } from "./matrix.js";
|
|
2
|
+
import { KanbanColumnBand } from "./grouping.js";
|
|
3
3
|
//#region src/kanban/column-bands.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Column bands: named runs of adjacent columns the board shows under one
|
package/dist/kanban/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { KanbanCardFieldSelection, selectKanbanCardFieldIds } from "./card-properties.js";
|
|
2
|
-
import { KanbanCardSelectionModifiers, KanbanCardShell, KanbanCardShellProps } from "./card-shell.js";
|
|
3
|
-
import { KanbanCellAction, KanbanCellActionProps } from "./cell-action.js";
|
|
4
|
-
import { KanbanBandToggleActivation, KanbanColumnBandHeader, KanbanColumnBandHeaderProps } from "./column-band-header.js";
|
|
5
|
-
import { KanbanBuiltInGroup, KanbanColumnBand, KanbanGroup, KanbanGroupOption, KanbanGrouping, KanbanSchema, ResolveKanbanGroupingParams, getKanbanGroupingPropertyId, getKanbanGroups, isKanbanGroupingRenderable, resolveKanbanGroupOptions, resolveKanbanGrouping, selectKanbanRows } from "./grouping.js";
|
|
6
1
|
import { BuildKanbanBoardMatrixParams, CreateKanbanDropIntentParams, KANBAN_BOARD_AXES, KanbanBoardAxis, KanbanBoardCell, KanbanBoardColumn, KanbanBoardCoordinate, KanbanBoardDestination, KanbanBoardLane, KanbanBoardMatrix, KanbanDropAxisChange, KanbanDropIntent, OrderKanbanCellsByColumnsParams, ResolveKanbanGroupValueParams, buildKanbanBoardMatrix, createKanbanDropIntent, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, orderKanbanCellsByColumns } from "./matrix.js";
|
|
7
|
-
import { KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KanbanColumnBandSpan, hasKanbanColumnBands, resolveKanbanColumnBands } from "./column-bands.js";
|
|
8
|
-
import { KanbanColumnHeader, KanbanColumnHeaderProps } from "./column-header.js";
|
|
9
2
|
import { KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX } from "./layout-tokens.js";
|
|
10
|
-
import { KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_CARD_DRAG_MIME, KanbanCardDragPreview, RegisterKanbanBoardAutoScrollOptions, RegisterKanbanCardDragOptions, registerKanbanBoardAutoScroll, registerKanbanCardDrag } from "./drag-interactions.js";
|
|
11
|
-
import { KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, KanbanSubgroupBoardProps, KanbanSubgroupCellContext, KanbanSubgroupCollapsedBandCellContext, KanbanSubgroupColumnHeaderContext, KanbanSubgroupLaneColumnActionContext, KanbanSubgroupLaneColumnSummaryContext, KanbanSubgroupLaneIdentityContext } from "./subgroup-board.js";
|
|
12
3
|
import { KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS } from "./band-peek.js";
|
|
4
|
+
import { KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_CARD_DRAG_MIME, KanbanCardDragPreview, RegisterKanbanBoardAutoScrollOptions, RegisterKanbanCardDragOptions, registerKanbanBoardAutoScroll, registerKanbanCardDrag } from "./drag-interactions.js";
|
|
13
5
|
import { KANBAN_CARD_STICKY_TOP_VAR, KANBAN_STICKY_TOP_VAR, KanbanCollapsedBandCaption, KanbanCollapsedBandCaptionProps } from "./sticky-lane.js";
|
|
6
|
+
import { KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KanbanColumnBandSpan, hasKanbanColumnBands, resolveKanbanColumnBands } from "./column-bands.js";
|
|
14
7
|
import { KANBAN_VIRTUAL_CELL_PAGINATION, KanbanVirtualCell, KanbanVirtualCellPagination, KanbanVirtualCellProps } from "./virtual-cell.js";
|
|
8
|
+
import { KanbanBandToggleActivation, KanbanColumnBandHeader, KanbanColumnBandHeaderProps } from "./column-band-header.js";
|
|
9
|
+
import { KanbanBuiltInGroup, KanbanColumnBand, KanbanGroup, KanbanGroupOption, KanbanGrouping, KanbanSchema, ResolveKanbanGroupingParams, getKanbanGroupingPropertyId, getKanbanGroups, isKanbanGroupingRenderable, resolveKanbanGroupOptions, resolveKanbanGrouping, selectKanbanRows } from "./grouping.js";
|
|
10
|
+
import { KanbanCardFieldSelection, selectKanbanCardFieldIds } from "./card-properties.js";
|
|
11
|
+
import { KanbanCardSelectionModifiers, KanbanCardShell, KanbanCardShellProps } from "./card-shell.js";
|
|
12
|
+
import { KanbanCellAction, KanbanCellActionProps } from "./cell-action.js";
|
|
13
|
+
import { KanbanColumnHeader, KanbanColumnHeaderProps } from "./column-header.js";
|
|
14
|
+
import { KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, KanbanSubgroupBoardProps, KanbanSubgroupCellContext, KanbanSubgroupCollapsedBandCellContext, KanbanSubgroupColumnHeaderContext, KanbanSubgroupLaneColumnActionContext, KanbanSubgroupLaneColumnSummaryContext, KanbanSubgroupLaneIdentityContext } from "./subgroup-board.js";
|
|
15
15
|
export { type BuildKanbanBoardMatrixParams, type CreateKanbanDropIntentParams, 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 KanbanCardDragPreview, type KanbanCardFieldSelection, type KanbanCardSelectionModifiers, 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, type OrderKanbanCellsByColumnsParams, type RegisterKanbanBoardAutoScrollOptions, type RegisterKanbanCardDragOptions, type ResolveKanbanGroupValueParams, type ResolveKanbanGroupingParams, buildKanbanBoardMatrix, createKanbanDropIntent, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, hasKanbanColumnBands, isKanbanGroupingRenderable, orderKanbanCellsByColumns, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, selectKanbanCardFieldIds, selectKanbanRows };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { KanbanBandToggleActivation } from "./column-band-header.js";
|
|
2
|
-
import { KanbanColumnBand, KanbanGroup } from "./grouping.js";
|
|
3
2
|
import { KanbanBoardCell, KanbanBoardColumn, KanbanBoardMatrix } from "./matrix.js";
|
|
3
|
+
import { KanbanColumnBand, KanbanGroup } from "./grouping.js";
|
|
4
4
|
import { ReactNode, Ref } from "react";
|
|
5
5
|
//#region src/kanban/subgroup-board.d.ts
|
|
6
6
|
export type KanbanSubgroupColumnHeaderContext = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { OptionColor } from "../lib/option-color.js";
|
|
2
1
|
import { Key, ReactNode, RefObject } from "react";
|
|
2
|
+
import { OptionColor } from "../lib/option-color.js";
|
|
3
3
|
//#region src/kanban/virtual-cell.d.ts
|
|
4
4
|
export declare const KANBAN_VIRTUAL_CELL_PAGINATION: {
|
|
5
5
|
readonly NONE: "none";
|
package/dist/lib/utils.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stll/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.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",
|
|
@@ -101,6 +101,10 @@
|
|
|
101
101
|
"types": "./dist/components/composer.d.ts",
|
|
102
102
|
"import": "./dist/components/composer.js"
|
|
103
103
|
},
|
|
104
|
+
"./composer-tokens": {
|
|
105
|
+
"types": "./dist/components/composer-tokens.d.ts",
|
|
106
|
+
"import": "./dist/components/composer-tokens.js"
|
|
107
|
+
},
|
|
104
108
|
"./context-menu": {
|
|
105
109
|
"types": "./dist/components/context-menu.d.ts",
|
|
106
110
|
"import": "./dist/components/context-menu.js"
|