@crisp-ui-kit/crisp 0.31.3 → 0.31.5
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/authshell.css +1 -1
- package/dist/cjs/components/accordion/accordion.js +1 -1
- package/dist/cjs/components/accordion/accordion.recipe.js +1 -1
- package/dist/cjs/components/avatargroup/avatargroup.js +1 -1
- package/dist/cjs/components/barchart/barchart.js +1 -1
- package/dist/cjs/components/barchart/barchart.recipe.js +1 -1
- package/dist/cjs/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/cjs/components/breadcrumb/breadcrumb.recipe.js +1 -1
- package/dist/cjs/components/bulkbar/bulkbar.js +1 -1
- package/dist/cjs/components/bulkbar/bulkbar.recipe.js +1 -1
- package/dist/cjs/components/callout/callout.js +1 -1
- package/dist/cjs/components/callout/callout.recipe.js +1 -1
- package/dist/cjs/components/checkbox/checkbox.js +1 -1
- package/dist/cjs/components/checkbox/checkbox.recipe.js +1 -1
- package/dist/cjs/components/columncalc/columncalc.js +2 -2
- package/dist/cjs/components/columncalc/columncalc.recipe.js +2 -2
- package/dist/cjs/components/datatable/datatable.js +5 -5
- package/dist/cjs/components/datatable/datatable.recipe.js +5 -5
- package/dist/cjs/components/datepicker/datepicker.recipe.js +3 -3
- package/dist/cjs/components/datepickerfield/datepickerfield.js +1 -1
- package/dist/cjs/components/datepickerfield/datepickerfield.recipe.js +2 -2
- package/dist/cjs/components/dialog/dialog.js +1 -1
- package/dist/cjs/components/dialog/dialog.recipe.js +1 -1
- package/dist/cjs/components/donutchart/donutchart.js +1 -1
- package/dist/cjs/components/donutchart/donutchart.recipe.js +1 -1
- package/dist/cjs/components/emptystate/emptystate.recipe.js +2 -2
- package/dist/cjs/components/fileupload/fileupload.js +1 -1
- package/dist/cjs/components/fileupload/fileupload.recipe.js +6 -6
- package/dist/cjs/components/formfield/formfield.js +1 -1
- package/dist/cjs/components/formfield/formfield.recipe.js +1 -1
- package/dist/cjs/components/input/input.recipe.js +1 -1
- package/dist/cjs/components/linechart/linechart.js +1 -1
- package/dist/cjs/components/linechart/linechart.recipe.js +1 -1
- package/dist/cjs/components/menu/menu.js +1 -1
- package/dist/cjs/components/menu/menu.recipe.js +2 -2
- package/dist/cjs/components/multiselect/multiselect.js +1 -1
- package/dist/cjs/components/multiselect/multiselect.recipe.js +1 -1
- package/dist/cjs/components/progress/progress.recipe.js +1 -1
- package/dist/cjs/components/quantitypicker/quantitypicker.recipe.js +2 -2
- package/dist/cjs/components/radiogroup/radiogroup.js +1 -1
- package/dist/cjs/components/radiogroup/radiogroup.recipe.js +1 -1
- package/dist/cjs/components/resizablepanel/resizablepanel.js +1 -1
- package/dist/cjs/components/resizablepanel/resizablepanel.recipe.js +2 -2
- package/dist/cjs/components/segmented/segmented.js +1 -1
- package/dist/cjs/components/segmented/segmented.recipe.js +1 -1
- package/dist/cjs/components/select/select.js +1 -1
- package/dist/cjs/components/select/select.recipe.js +2 -2
- package/dist/cjs/components/slider/slider.recipe.js +2 -2
- package/dist/cjs/components/stagebar/stagebar.js +1 -1
- package/dist/cjs/components/stagebar/stagebar.recipe.js +1 -1
- package/dist/cjs/components/statcard/statcard.js +1 -1
- package/dist/cjs/components/statcard/statcard.recipe.js +2 -2
- package/dist/cjs/components/switch/switch.js +1 -1
- package/dist/cjs/components/switch/switch.recipe.js +1 -1
- package/dist/cjs/components/table/table.recipe.js +1 -1
- package/dist/cjs/components/tabletoolbar/tabletoolbar.chrome.js +2 -2
- package/dist/cjs/components/tabletoolbar/tabletoolbar.js +2 -2
- package/dist/cjs/components/tabletoolbar/tabletoolbar.recipe.js +1 -1
- package/dist/cjs/components/tabs/tabs.js +2 -2
- package/dist/cjs/components/tabs/tabs.recipe.js +1 -1
- package/dist/cjs/components/textarea/textarea.js +1 -1
- package/dist/cjs/components/textarea/textarea.recipe.js +1 -1
- package/dist/cjs/components/tooltip/tooltip.js +1 -1
- package/dist/cjs/components/tooltip/tooltip.recipe.js +1 -1
- package/dist/cjs/product/appshell/appshell.js +4 -4
- package/dist/cjs/product/appshell/appshell.recipe.js +1 -1
- package/dist/cjs/product/authshell/authshell.js +1 -1
- package/dist/cjs/product/authshell/authshell.recipe.js +3 -3
- package/dist/cjs/product/board/board.js +1 -1
- package/dist/cjs/product/board/board.recipe.js +1 -1
- package/dist/cjs/product/command/command.js +1 -1
- package/dist/cjs/product/entitycard/entitycard.js +1 -1
- package/dist/cjs/product/entitycard/entitycard.recipe.js +1 -1
- package/dist/cjs/product/flowcanvas/flowcanvas.js +1 -1
- package/dist/cjs/product/flowcanvas/flowcanvas.recipe.js +1 -1
- package/dist/cjs/product/inbox/inbox.js +1 -1
- package/dist/cjs/product/inbox/inbox.recipe.js +1 -1
- package/dist/cjs/product/listpage/listpage.js +1 -1
- package/dist/cjs/product/listpage/listpage.recipe.js +1 -1
- package/dist/cjs/product/onboarding/onboarding.js +1 -1
- package/dist/cjs/product/onboarding/onboarding.recipe.js +1 -1
- package/dist/cjs/product/recordpage/recordpage.js +7 -7
- package/dist/cjs/product/recordpage/recordpage.recipe.js +2 -2
- package/dist/cjs/product/recordpanel/recordpanel.recipe.js +1 -1
- package/dist/cjs/product/recordstable/recordstable.js +9 -9
- package/dist/cjs/product/recordstable/recordstable.recipe.js +2 -2
- package/dist/cjs/product/recordstable/recordstable.tag.js +1 -1
- package/dist/cjs/product/richtext/richtext.js +1 -1
- package/dist/cjs/product/richtext/richtext.recipe.js +1 -1
- package/dist/cjs/product/settingssection/settingssection.js +1 -1
- package/dist/cjs/product/settingssection/settingssection.recipe.js +1 -1
- package/dist/cjs/product/settingsshell/settingsshell.js +1 -1
- package/dist/cjs/product/settingsshell/settingsshell.recipe.js +2 -2
- package/dist/cjs/product/sidebar/sidebar.js +6 -6
- package/dist/cjs/product/tasklist/tasklist.js +1 -1
- package/dist/cjs/product/tasklist/tasklist.recipe.js +1 -1
- package/dist/cjs/product/trialbanner/trialbanner.js +1 -1
- package/dist/cjs/product/trialbanner/trialbanner.recipe.js +2 -2
- package/dist/cjs/product/viewtoggle/viewtoggle.js +1 -1
- package/dist/cjs/product/viewtoggle/viewtoggle.recipe.js +1 -1
- package/dist/columncalc.css +1 -1
- package/dist/datatable.css +5 -5
- package/dist/esm/components/accordion/accordion.js +1 -1
- package/dist/esm/components/accordion/accordion.recipe.js +1 -1
- package/dist/esm/components/avatargroup/avatargroup.js +1 -1
- package/dist/esm/components/barchart/barchart.js +1 -1
- package/dist/esm/components/barchart/barchart.recipe.js +1 -1
- package/dist/esm/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/esm/components/breadcrumb/breadcrumb.recipe.js +1 -1
- package/dist/esm/components/bulkbar/bulkbar.js +1 -1
- package/dist/esm/components/bulkbar/bulkbar.recipe.js +1 -1
- package/dist/esm/components/callout/callout.js +1 -1
- package/dist/esm/components/callout/callout.recipe.js +1 -1
- package/dist/esm/components/checkbox/checkbox.js +1 -1
- package/dist/esm/components/checkbox/checkbox.recipe.js +1 -1
- package/dist/esm/components/columncalc/columncalc.js +2 -2
- package/dist/esm/components/columncalc/columncalc.recipe.js +2 -2
- package/dist/esm/components/datatable/datatable.js +5 -5
- package/dist/esm/components/datatable/datatable.recipe.js +5 -5
- package/dist/esm/components/datepicker/datepicker.recipe.js +3 -3
- package/dist/esm/components/datepickerfield/datepickerfield.js +1 -1
- package/dist/esm/components/datepickerfield/datepickerfield.recipe.js +2 -2
- package/dist/esm/components/dialog/dialog.js +1 -1
- package/dist/esm/components/dialog/dialog.recipe.js +1 -1
- package/dist/esm/components/donutchart/donutchart.js +1 -1
- package/dist/esm/components/donutchart/donutchart.recipe.js +1 -1
- package/dist/esm/components/emptystate/emptystate.recipe.js +2 -2
- package/dist/esm/components/fileupload/fileupload.js +1 -1
- package/dist/esm/components/fileupload/fileupload.recipe.js +6 -6
- package/dist/esm/components/formfield/formfield.js +1 -1
- package/dist/esm/components/formfield/formfield.recipe.js +1 -1
- package/dist/esm/components/input/input.recipe.js +1 -1
- package/dist/esm/components/linechart/linechart.js +1 -1
- package/dist/esm/components/linechart/linechart.recipe.js +1 -1
- package/dist/esm/components/menu/menu.js +1 -1
- package/dist/esm/components/menu/menu.recipe.js +2 -2
- package/dist/esm/components/multiselect/multiselect.js +1 -1
- package/dist/esm/components/multiselect/multiselect.recipe.js +1 -1
- package/dist/esm/components/progress/progress.recipe.js +1 -1
- package/dist/esm/components/quantitypicker/quantitypicker.recipe.js +2 -2
- package/dist/esm/components/radiogroup/radiogroup.js +1 -1
- package/dist/esm/components/radiogroup/radiogroup.recipe.js +1 -1
- package/dist/esm/components/resizablepanel/resizablepanel.js +1 -1
- package/dist/esm/components/resizablepanel/resizablepanel.recipe.js +2 -2
- package/dist/esm/components/segmented/segmented.js +1 -1
- package/dist/esm/components/segmented/segmented.recipe.js +1 -1
- package/dist/esm/components/select/select.js +1 -1
- package/dist/esm/components/select/select.recipe.js +2 -2
- package/dist/esm/components/slider/slider.recipe.js +2 -2
- package/dist/esm/components/stagebar/stagebar.js +1 -1
- package/dist/esm/components/stagebar/stagebar.recipe.js +1 -1
- package/dist/esm/components/statcard/statcard.js +1 -1
- package/dist/esm/components/statcard/statcard.recipe.js +2 -2
- package/dist/esm/components/switch/switch.js +1 -1
- package/dist/esm/components/switch/switch.recipe.js +1 -1
- package/dist/esm/components/table/table.recipe.js +1 -1
- package/dist/esm/components/tabletoolbar/tabletoolbar.chrome.js +2 -2
- package/dist/esm/components/tabletoolbar/tabletoolbar.js +2 -2
- package/dist/esm/components/tabletoolbar/tabletoolbar.recipe.js +1 -1
- package/dist/esm/components/tabs/tabs.js +2 -2
- package/dist/esm/components/tabs/tabs.recipe.js +1 -1
- package/dist/esm/components/textarea/textarea.js +1 -1
- package/dist/esm/components/textarea/textarea.recipe.js +1 -1
- package/dist/esm/components/tooltip/tooltip.js +1 -1
- package/dist/esm/components/tooltip/tooltip.recipe.js +1 -1
- package/dist/esm/product/appshell/appshell.js +4 -4
- package/dist/esm/product/appshell/appshell.recipe.js +1 -1
- package/dist/esm/product/authshell/authshell.js +1 -1
- package/dist/esm/product/authshell/authshell.recipe.js +3 -3
- package/dist/esm/product/board/board.js +1 -1
- package/dist/esm/product/board/board.recipe.js +1 -1
- package/dist/esm/product/command/command.js +1 -1
- package/dist/esm/product/entitycard/entitycard.js +1 -1
- package/dist/esm/product/entitycard/entitycard.recipe.js +1 -1
- package/dist/esm/product/flowcanvas/flowcanvas.js +1 -1
- package/dist/esm/product/flowcanvas/flowcanvas.recipe.js +1 -1
- package/dist/esm/product/inbox/inbox.js +1 -1
- package/dist/esm/product/inbox/inbox.recipe.js +1 -1
- package/dist/esm/product/listpage/listpage.js +1 -1
- package/dist/esm/product/listpage/listpage.recipe.js +1 -1
- package/dist/esm/product/onboarding/onboarding.js +1 -1
- package/dist/esm/product/onboarding/onboarding.recipe.js +1 -1
- package/dist/esm/product/recordpage/recordpage.js +7 -7
- package/dist/esm/product/recordpage/recordpage.recipe.js +2 -2
- package/dist/esm/product/recordpanel/recordpanel.recipe.js +1 -1
- package/dist/esm/product/recordstable/recordstable.js +9 -9
- package/dist/esm/product/recordstable/recordstable.recipe.js +2 -2
- package/dist/esm/product/recordstable/recordstable.tag.js +1 -1
- package/dist/esm/product/richtext/richtext.js +1 -1
- package/dist/esm/product/richtext/richtext.recipe.js +1 -1
- package/dist/esm/product/settingssection/settingssection.js +1 -1
- package/dist/esm/product/settingssection/settingssection.recipe.js +1 -1
- package/dist/esm/product/settingsshell/settingsshell.js +1 -1
- package/dist/esm/product/settingsshell/settingsshell.recipe.js +2 -2
- package/dist/esm/product/sidebar/sidebar.js +6 -6
- package/dist/esm/product/tasklist/tasklist.js +1 -1
- package/dist/esm/product/tasklist/tasklist.recipe.js +1 -1
- package/dist/esm/product/trialbanner/trialbanner.js +1 -1
- package/dist/esm/product/trialbanner/trialbanner.recipe.js +2 -2
- package/dist/esm/product/viewtoggle/viewtoggle.js +1 -1
- package/dist/esm/product/viewtoggle/viewtoggle.recipe.js +1 -1
- package/dist/fileupload.css +2 -2
- package/dist/recordpage.css +1 -1
- package/dist/recordstable.css +1 -1
- package/dist/settingsshell.css +1 -1
- package/dist/styles.css +12 -12
- package/dist/types/components/avatargroup/avatargroup.d.ts +1 -1
- package/dist/types/components/barchart/barchart.d.ts +1 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -1
- package/dist/types/components/bulkbar/bulkbar.d.ts +1 -1
- package/dist/types/components/callout/callout.d.ts +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/columncalc/columncalc.d.ts +5 -5
- package/dist/types/components/datatable/datatable.d.ts +5 -5
- package/dist/types/components/datepickerfield/datepickerfield.d.ts +1 -1
- package/dist/types/components/dialog/dialog.d.ts +1 -1
- package/dist/types/components/donutchart/donutchart.d.ts +1 -1
- package/dist/types/components/emptystate/emptystate.d.ts +1 -1
- package/dist/types/components/formfield/formfield.d.ts +1 -1
- package/dist/types/components/linechart/linechart.d.ts +1 -1
- package/dist/types/components/menu/menu.d.ts +1 -1
- package/dist/types/components/multiselect/multiselect.d.ts +1 -1
- package/dist/types/components/progress/progress.d.ts +1 -1
- package/dist/types/components/radiogroup/radiogroup.d.ts +1 -1
- package/dist/types/components/resizablepanel/resizablepanel.d.ts +4 -4
- package/dist/types/components/segmented/segmented.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +2 -2
- package/dist/types/components/stagebar/stagebar.d.ts +1 -1
- package/dist/types/components/statcard/statcard.d.ts +1 -1
- package/dist/types/components/switch/switch.d.ts +1 -1
- package/dist/types/components/tabletoolbar/tabletoolbar.d.ts +1 -1
- package/dist/types/components/tabs/tabs.d.ts +2 -2
- package/dist/types/components/textarea/textarea.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/product/appshell/appshell.d.ts +2 -2
- package/dist/types/product/authshell/authshell.d.ts +1 -1
- package/dist/types/product/board/board.d.ts +1 -1
- package/dist/types/product/entitycard/entitycard.d.ts +1 -1
- package/dist/types/product/flowcanvas/flowcanvas.d.ts +1 -1
- package/dist/types/product/inbox/inbox.d.ts +1 -1
- package/dist/types/product/listpage/listpage.d.ts +1 -1
- package/dist/types/product/onboarding/onboarding.d.ts +1 -1
- package/dist/types/product/recordpage/recordpage.d.ts +2 -2
- package/dist/types/product/recordstable/recordstable.d.ts +10 -4
- package/dist/types/product/recordstable/recordstable.tag.d.ts +1 -1
- package/dist/types/product/richtext/richtext.d.ts +1 -1
- package/dist/types/product/settingssection/settingssection.d.ts +1 -1
- package/dist/types/product/settingsshell/settingsshell.d.ts +1 -1
- package/dist/types/product/sidebar/sidebar.d.ts +10 -10
- package/dist/types/product/tasklist/tasklist.d.ts +1 -1
- package/dist/types/product/trialbanner/trialbanner.d.ts +1 -1
- package/dist/types/product/viewtoggle/viewtoggle.d.ts +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ export type CalloutProps = Omit<React.ComponentPropsWithoutRef<"div">, "title">
|
|
|
11
11
|
className?: string;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
* An inline callout / banner — measured from
|
|
14
|
+
* An inline callout / banner — measured from info notices. `tone` tints
|
|
15
15
|
* the background and icon; pass a `title` and/or body `children`.
|
|
16
16
|
*/
|
|
17
17
|
export declare function Callout({ tone, icon, title, children, action, className, ...rest }: CalloutProps): React.JSX.Element;
|
|
@@ -5,7 +5,7 @@ export type CheckboxProps = Omit<React.ComponentPropsWithoutRef<"input">, "type"
|
|
|
5
5
|
asChild?: boolean;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
* A native `<input type="checkbox">` styled to
|
|
8
|
+
* A native `<input type="checkbox">` styled to the measured grid checkbox (16px,
|
|
9
9
|
* r6, brand fill + white check). Native on purpose: keyboard, focus, and form
|
|
10
10
|
* semantics come for free. `indeterminate` is a DOM-only property, so it is
|
|
11
11
|
* applied via ref rather than an attribute.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* A column footer calculation. Measured from the live app: clicking a
|
|
4
4
|
* summary cell opens an "Aggregations" menu — 180px wide — whose contents
|
|
5
5
|
* depend on the column's type.
|
|
6
6
|
*
|
|
@@ -14,9 +14,9 @@ import * as React from "react";
|
|
|
14
14
|
* Plugs into `DataTable`'s per-column `summary(rows)` slot.
|
|
15
15
|
*/
|
|
16
16
|
export type CalcOp = "none" | "countEmpty" | "countFilled" | "percentEmpty" | "percentFilled" | "sum" | "average" | "min" | "max";
|
|
17
|
-
/** The four
|
|
17
|
+
/** The four calcs offered on every column, in their order. */
|
|
18
18
|
export declare const UNIVERSAL_CALCS: CalcOp[];
|
|
19
|
-
/** The four
|
|
19
|
+
/** The four calcs added for numeric columns, in their order. */
|
|
20
20
|
export declare const NUMERIC_CALCS: CalcOp[];
|
|
21
21
|
export declare const CALC_LABEL: Record<CalcOp, string>;
|
|
22
22
|
/** A value counts as empty when it is null/undefined, "" or an empty array. */
|
|
@@ -31,7 +31,7 @@ export type ColumnCalcProps<T> = Omit<React.ComponentPropsWithoutRef<"span">, "v
|
|
|
31
31
|
rows: T[];
|
|
32
32
|
/** Reads this column's value out of a row. */
|
|
33
33
|
value: (row: T) => unknown;
|
|
34
|
-
/** Numeric columns get Sum/Average/Min/Max
|
|
34
|
+
/** Numeric columns get Sum/Average/Min/Max. */
|
|
35
35
|
numeric?: boolean;
|
|
36
36
|
defaultOp?: CalcOp;
|
|
37
37
|
/** Controlled operation. */
|
|
@@ -46,7 +46,7 @@ export type ColumnCalcProps<T> = Omit<React.ComponentPropsWithoutRef<"span">, "v
|
|
|
46
46
|
opLabels?: Partial<Record<CalcOp, string>>;
|
|
47
47
|
/** Format the result; defaults to a grouped number, percentages with a %. */
|
|
48
48
|
format?: (n: number, op: CalcOp) => string;
|
|
49
|
-
/** Match the column's alignment — numeric columns right-align
|
|
49
|
+
/** Match the column's alignment — numeric columns right-align. */
|
|
50
50
|
align?: "left" | "right";
|
|
51
51
|
className?: string;
|
|
52
52
|
};
|
|
@@ -10,7 +10,7 @@ export type EntityValue = {
|
|
|
10
10
|
export type DataCellType = "text" | "entity" | "tags" | "status" | "date" | "number" | "currency";
|
|
11
11
|
export type DataTableColumn<T> = {
|
|
12
12
|
key: string;
|
|
13
|
-
/** Truncates with an ellipsis
|
|
13
|
+
/** Truncates with an ellipsis when it's wider than the
|
|
14
14
|
* column. The full text stays in the DOM, so assistive tech and copy/paste
|
|
15
15
|
* get all of it; there is deliberately no `title` tooltip — see the recipe. */
|
|
16
16
|
header: React.ReactNode;
|
|
@@ -76,12 +76,12 @@ export type DataTableProps<T extends {
|
|
|
76
76
|
selectRowLabel?: (row: T) => string;
|
|
77
77
|
/** Controlled sort (omit for self-managed; seed with `defaultSort`). */
|
|
78
78
|
/**
|
|
79
|
-
* Active sort. Accepts a single sort or an ordered list —
|
|
79
|
+
* Active sort. Accepts a single sort or an ordered list — a table can sort by
|
|
80
80
|
* several columns at once ("Sorted by Last interaction +1"), applying each
|
|
81
81
|
* in turn and falling through to the next on a tie.
|
|
82
82
|
*/
|
|
83
83
|
/**
|
|
84
|
-
* Show
|
|
84
|
+
* Show the column header menu — Sort ascending/descending, Move
|
|
85
85
|
* left/right, Edit column label, Hide from view. Anything but sorting
|
|
86
86
|
* needs `onColumnsChange` (or leave it off and the table manages its own
|
|
87
87
|
* copy of the column list).
|
|
@@ -89,7 +89,7 @@ export type DataTableProps<T extends {
|
|
|
89
89
|
columnMenu?: boolean;
|
|
90
90
|
/** Called with the next column list after a move, rename or hide. */
|
|
91
91
|
onColumnsChange?: (columns: DataTableColumn<T>[]) => void;
|
|
92
|
-
/** Group rows under a heading row, the way
|
|
92
|
+
/** Group rows under a heading row, the way a grouped view does. */
|
|
93
93
|
groupBy?: (row: T) => string;
|
|
94
94
|
/**
|
|
95
95
|
* Enables drag-to-reorder rows (a leading grip column). Called with the
|
|
@@ -120,7 +120,7 @@ export type DataTableProps<T extends {
|
|
|
120
120
|
onEdit?: (id: string, key: string, value: string) => void;
|
|
121
121
|
/** Sticky the first column(s) with a horizontal scroll shadow (default true). */
|
|
122
122
|
stickyFirst?: boolean;
|
|
123
|
-
/** Tone for `entity`-type avatars: `"brand"` (uniform, matches
|
|
123
|
+
/** Tone for `entity`-type avatars: `"brand"` (uniform, matches the real
|
|
124
124
|
* records grid) or `"hashed"` (a stable colour per name — the tone `tags`/
|
|
125
125
|
* `status` pills already use, and entity's previous default). */
|
|
126
126
|
avatarTone?: "brand" | "hashed";
|
|
@@ -33,7 +33,7 @@ export type DatePickerFieldProps = Omit<React.ComponentPropsWithoutRef<"div">, "
|
|
|
33
33
|
className?: string;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* A measured date field: a trigger showing the value, opening a calendar in a
|
|
37
37
|
* popover. This is what `DatePicker` used to be; `DatePicker` is now
|
|
38
38
|
* seed-design's bare calendar, and this composes it.
|
|
39
39
|
*/
|
|
@@ -26,7 +26,7 @@ export type DialogProps = Omit<React.ComponentPropsWithoutRef<"div">, "title" |
|
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
28
|
* A modal dialog — composes Zag's dialog machine (focus trap, scroll lock,
|
|
29
|
-
* Escape / outside-click dismissal) with the measured
|
|
29
|
+
* Escape / outside-click dismissal) with the measured modal surface.
|
|
30
30
|
* Compose the body with `DialogBody` and actions with `DialogFooter`.
|
|
31
31
|
*/
|
|
32
32
|
export declare function Dialog({ open, onOpenChange, title, icon, width, "aria-label": ariaLabel, closeLabel, children, className, style, "aria-describedby": describedBy, ...rest }: DialogProps): React.JSX.Element | null;
|
|
@@ -22,7 +22,7 @@ export type DonutChartProps = React.ComponentPropsWithoutRef<"div"> & {
|
|
|
22
22
|
className?: string;
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
|
-
* A donut / ring chart — measured from
|
|
25
|
+
* A donut / ring chart — measured from a reports breakdown report. SVG
|
|
26
26
|
* ring using the r=15.915 (circumference 100) trick so slices are percentages;
|
|
27
27
|
* a centred total and an optional legend. `role="img"` with a summary.
|
|
28
28
|
*/
|
|
@@ -7,7 +7,7 @@ export type EmptyStateProps = Omit<React.ComponentPropsWithoutRef<"div">, "title
|
|
|
7
7
|
action?: React.ReactNode;
|
|
8
8
|
/**
|
|
9
9
|
* `illustrated` shows a large icon on a dotted-grid backdrop; `page` is
|
|
10
|
-
*
|
|
10
|
+
* the full-view empty state (ringed circle icon + 20px heading).
|
|
11
11
|
*/
|
|
12
12
|
variant?: "default" | "illustrated" | "page";
|
|
13
13
|
className?: string;
|
|
@@ -19,7 +19,7 @@ export type FormFieldProps = React.ComponentPropsWithoutRef<"div"> & {
|
|
|
19
19
|
className?: string;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* A labelled form field — measured from
|
|
22
|
+
* A labelled form field — measured from settings forms. A muted label
|
|
23
23
|
* above any control, with an optional description or error line below. When
|
|
24
24
|
* `error` is set it replaces the description; the control is given
|
|
25
25
|
* `aria-describedby`, plus `aria-invalid` and `aria-required` as they apply.
|
|
@@ -27,7 +27,7 @@ export type LineChartProps = Omit<React.ComponentPropsWithoutRef<"div">, "color"
|
|
|
27
27
|
className?: string;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
* A responsive line chart — measured from
|
|
30
|
+
* A responsive line chart — measured from a reports historical chart.
|
|
31
31
|
* A stretched SVG line/area (non-scaling stroke keeps it crisp) over dashed
|
|
32
32
|
* gridlines; dots are HTML so they stay round. `role="img"` with a summary.
|
|
33
33
|
*/
|
|
@@ -16,7 +16,7 @@ export type MenuProps = {
|
|
|
16
16
|
"aria-label"?: string;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
* A dropdown menu — the ⋯ / sort / filter menu surface, on
|
|
19
|
+
* A dropdown menu — the ⋯ / sort / filter menu surface, on a measured
|
|
20
20
|
* popover. Give it a `trigger` element and Menu items as children. Opens on
|
|
21
21
|
* click / ↓ / Enter; roving-focus keyboard model (↑/↓ move, Home/End jump,
|
|
22
22
|
* typeahead, Enter/Space select, Esc closes and returns focus to the trigger);
|
|
@@ -41,7 +41,7 @@ export type MultiSelectProps = Omit<React.ComponentPropsWithoutRef<"div">, "valu
|
|
|
41
41
|
"aria-label"?: string;
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
|
-
* A multi-select / tag editor — measured from
|
|
44
|
+
* A multi-select / tag editor — measured from a cell tag picker. The
|
|
45
45
|
* outlined trigger shows the selected values as coloured chips; it opens a
|
|
46
46
|
* popover with a search field over rows of "[chip] … [checkbox]" that toggle on
|
|
47
47
|
* click (the menu stays open). Keyboard: ↑/↓ move, Enter toggles, Esc closes.
|
|
@@ -3,7 +3,7 @@ export type ProgressProps = React.ComponentPropsWithoutRef<"div"> & {
|
|
|
3
3
|
value: number;
|
|
4
4
|
/** Maximum value (default 100). */
|
|
5
5
|
max?: number;
|
|
6
|
-
/** Render as N discrete segments (
|
|
6
|
+
/** Render as N discrete segments (a step bar) instead of a continuous fill. */
|
|
7
7
|
segments?: number;
|
|
8
8
|
"aria-label"?: string;
|
|
9
9
|
className?: string;
|
|
@@ -28,7 +28,7 @@ export type RadioGroupProps = Omit<React.ComponentPropsWithoutRef<"div">, "value
|
|
|
28
28
|
children: React.ReactNode;
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
|
-
* A radio group — measured from
|
|
31
|
+
* A radio group — measured from a settings page. `default` renders rows (a ring
|
|
32
32
|
* that fills brand when selected + a label); `card` renders a row of bordered
|
|
33
33
|
* preview cards whose border turns brand when picked (the Theme picker). Arrow
|
|
34
34
|
* keys move between options (roving focus). Controlled or uncontrolled.
|
|
@@ -39,7 +39,7 @@ export type ResizablePanelProps = Omit<React.ComponentPropsWithoutRef<"div">, "c
|
|
|
39
39
|
min?: number;
|
|
40
40
|
/**
|
|
41
41
|
* `max-width` — a px number, or a raw CSS expression for callers that need
|
|
42
|
-
*
|
|
42
|
+
* a real clamp, e.g. `max="min(60%, 100% - 350px)"`. Constraints are
|
|
43
43
|
* never re-applied in JS: the handler writes the unclamped drag width, and
|
|
44
44
|
* the browser's own `min-width`/`max-width` resolve the rendered size.
|
|
45
45
|
*/
|
|
@@ -53,8 +53,8 @@ export type ResizablePanelProps = Omit<React.ComponentPropsWithoutRef<"div">, "c
|
|
|
53
53
|
/** Resize-handle geometry — "panel" (default) or "column" (table edges). */
|
|
54
54
|
handleVariant?: ResizablePanelHandleVariant;
|
|
55
55
|
/**
|
|
56
|
-
* Persist width as a percentage of the container under this key (
|
|
57
|
-
*
|
|
56
|
+
* Persist width as a percentage of the container under this key (a `%`,
|
|
57
|
+
* not px, so the panel keeps its proportion on resize).
|
|
58
58
|
* Only applies when `size` is uncontrolled.
|
|
59
59
|
*/
|
|
60
60
|
storageKey?: string;
|
|
@@ -62,7 +62,7 @@ export type ResizablePanelProps = Omit<React.ComponentPropsWithoutRef<"div">, "c
|
|
|
62
62
|
children?: React.ReactNode;
|
|
63
63
|
};
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* An adjustable-panel primitive: a spacer that reserves layout width
|
|
66
66
|
* plus a panel that overlays it, so the panel can move between docked
|
|
67
67
|
* (in-flow) and floating (`position: fixed`, an overlay) without a reflow
|
|
68
68
|
* glitch. Drag the edge handle to resize; constraints are CSS `min-width`/
|
|
@@ -17,7 +17,7 @@ export type SegmentedProps = Omit<React.ComponentPropsWithoutRef<"div">, "defaul
|
|
|
17
17
|
className?: string;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
|
-
* A segmented control (single-choice toggle) — measured from
|
|
20
|
+
* A segmented control (single-choice toggle) — measured from a view
|
|
21
21
|
* switcher. `role="radiogroup"` over `role="radio"` buttons with roving
|
|
22
22
|
* tabindex and ←/→ (Home/End) keyboard selection.
|
|
23
23
|
*/
|
|
@@ -4,7 +4,7 @@ export type SelectOption = {
|
|
|
4
4
|
label: React.ReactNode;
|
|
5
5
|
/** Text used for filtering when `searchable` (falls back to a string label). */
|
|
6
6
|
keywords?: string;
|
|
7
|
-
/** A status colour dot shown before the label (
|
|
7
|
+
/** A status colour dot shown before the label (status/select fields). */
|
|
8
8
|
color?: string;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
};
|
|
@@ -47,7 +47,7 @@ export type SelectProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" |
|
|
|
47
47
|
id?: string;
|
|
48
48
|
};
|
|
49
49
|
/**
|
|
50
|
-
* A select / dropdown — the settings control, measured
|
|
50
|
+
* A select / dropdown — the settings control, measured live, with an
|
|
51
51
|
* optional Linear-style search. A `role="combobox"` trigger opens a
|
|
52
52
|
* `role="listbox"`; pass `searchable` to add a filter field at the top (with a
|
|
53
53
|
* "No results" empty state). Full keyboard model — ↑/↓ move, Enter/Space pick,
|
|
@@ -11,7 +11,7 @@ export type StageBarProps = React.ComponentPropsWithoutRef<"div"> & {
|
|
|
11
11
|
className?: string;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
* A pipeline stage bar — measured from
|
|
14
|
+
* A pipeline stage bar — measured from a deal-stage highlight. Each stage
|
|
15
15
|
* is a segment tinted with its colour; the current stage is at full strength.
|
|
16
16
|
*/
|
|
17
17
|
export declare function StageBar({ stages, current, "aria-label": ariaLabel, className, ...rest }: StageBarProps): import("react").JSX.Element;
|
|
@@ -20,7 +20,7 @@ export type StatCardProps = React.ComponentPropsWithoutRef<"div"> & {
|
|
|
20
20
|
className?: string;
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
* A single-metric KPI tile — measured from
|
|
23
|
+
* A single-metric KPI tile — measured from a reports number/insight card.
|
|
24
24
|
* Label, a large value, and an optional up/down delta pill with a caption.
|
|
25
25
|
*/
|
|
26
26
|
export declare function StatCard({ label, icon, value, delta, deltaSuffix, caption, card, className, ...rest }: StatCardProps): React.JSX.Element;
|
|
@@ -25,7 +25,7 @@ export type SwitchProps = Omit<React.ComponentPropsWithoutRef<"button">, "onChan
|
|
|
25
25
|
required?: boolean;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
* An on/off toggle — the settings switch, measured
|
|
28
|
+
* An on/off toggle — the settings switch, measured live. Renders a
|
|
29
29
|
* `role="switch"` button (a native checkbox's semantics without its box), so
|
|
30
30
|
* label association and keyboard (Space/Enter) come for free. Controlled via
|
|
31
31
|
* `checked`/`onCheckedChange`, or uncontrolled from `defaultChecked`.
|
|
@@ -86,7 +86,7 @@ export declare function applyFilters<T>(rows: T[], filters: ToolbarFilter[], get
|
|
|
86
86
|
*/
|
|
87
87
|
export declare function applySorts<T>(rows: T[], sorts: ToolbarSort[], get?: (row: T, key: string) => unknown): T[];
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
89
|
+
* The table toolbar as a standalone primitive: the Sort and Filter
|
|
90
90
|
* controls, their menus, the sort-condition rows and the filter chips.
|
|
91
91
|
*
|
|
92
92
|
* `RecordsTable` renders this same measured chrome internally; this is the
|
|
@@ -23,8 +23,8 @@ export type TabsProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" | "d
|
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
25
|
* A row of text tabs over a sliding ink underline — the record-view tab bar,
|
|
26
|
-
* measured
|
|
27
|
-
* Home/End jump); activation follows focus
|
|
26
|
+
* measured live. Roving-tabindex keyboard model (←/→ move + activate,
|
|
27
|
+
* Home/End jump); activation follows focus. Controlled via
|
|
28
28
|
* `value`/`onValueChange`, or uncontrolled from `defaultValue`.
|
|
29
29
|
*/
|
|
30
30
|
export declare function Tabs({ tabs, value, defaultValue, onValueChange, leading, children, className, "aria-label": ariaLabel, ...rest }: TabsProps): React.JSX.Element;
|
|
@@ -6,7 +6,7 @@ export type TextareaProps = React.ComponentPropsWithoutRef<"textarea"> & {
|
|
|
6
6
|
wrapperClassName?: string;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
|
-
* A multiline text field — measured from
|
|
9
|
+
* A multiline text field — measured from settings. Forwards every native
|
|
10
10
|
* `<textarea>` prop; pass `showCount` with `maxLength` to render a live
|
|
11
11
|
* character counter (which turns red if the value exceeds the limit).
|
|
12
12
|
*/
|
|
@@ -22,7 +22,7 @@ export type TooltipProps = {
|
|
|
22
22
|
onOpenChange?: (open: boolean) => void;
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
|
-
* A hover/focus tooltip — a dark hint chip measured
|
|
25
|
+
* A hover/focus tooltip — a dark hint chip measured live. Wraps its
|
|
26
26
|
* trigger in an inline element, shows after `delay` on pointer-enter / focus,
|
|
27
27
|
* and hides on leave / blur / Escape. The bubble is portaled and positioned
|
|
28
28
|
* above the trigger (flipping below near the top edge).
|
|
@@ -27,8 +27,8 @@ export type AppShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "childre
|
|
|
27
27
|
className?: string;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
* App-shell layout with a collapsible + resizable sidebar, mirroring
|
|
31
|
-
* window: drag the sidebar's right edge to resize, press the sidebar's
|
|
30
|
+
* App-shell layout with a collapsible + resizable sidebar, mirroring a live
|
|
31
|
+
* app's window: drag the sidebar's right edge to resize, press the sidebar's
|
|
32
32
|
* collapse button to slide it away (a floating button brings it back). The
|
|
33
33
|
* sidebar pane clips rather than squishing, so its content never reflows.
|
|
34
34
|
*/
|
|
@@ -15,7 +15,7 @@ export type AuthShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "title"
|
|
|
15
15
|
className?: string;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* The
|
|
18
|
+
* The welcome/auth layout — measured live.
|
|
19
19
|
* A centered page frame: an optional top progress bar, a logo, a two-pane
|
|
20
20
|
* card (the form + an optional product preview, hidden under 1200px), and
|
|
21
21
|
* a footer. Auth-surface Input/FormField/Button treatment (flatter fields,
|
|
@@ -32,7 +32,7 @@ export type BoardProps<T extends BoardCard> = Omit<React.ComponentPropsWithoutRe
|
|
|
32
32
|
* A kanban board with native drag-and-drop between columns. Cards are
|
|
33
33
|
* `draggable`; dropping one on a column reparents it via `onCardsChange`
|
|
34
34
|
* (the parent owns the cards, so the move is a controlled state update).
|
|
35
|
-
* Measured from
|
|
35
|
+
* Measured from a deals pipeline.
|
|
36
36
|
*/
|
|
37
37
|
export declare function Board<T extends BoardCard>({ columns, cards, onCardsChange, renderCard, onNewCard, newCardLabel, getCardLabel, announceMove, className, ...rest }: BoardProps<T>): React.JSX.Element;
|
|
38
38
|
export declare namespace Board {
|
|
@@ -14,7 +14,7 @@ export type EntityCardProps = Omit<React.ComponentPropsWithoutRef<"button">, "ch
|
|
|
14
14
|
className?: string;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
-
* A note / entity card — measured from
|
|
17
|
+
* A note / entity card — measured from a notes grid. A bordered white
|
|
18
18
|
* card with an author row, a title, a clamped excerpt, and a footer row with a
|
|
19
19
|
* right-aligned date. Rendered as a button so the whole card is clickable.
|
|
20
20
|
*/
|
|
@@ -31,7 +31,7 @@ export type FlowCanvasProps<T extends FlowNode> = Omit<React.ComponentPropsWitho
|
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* A pannable, zoomable node canvas with draggable nodes and connecting edges —
|
|
34
|
-
* measured from
|
|
34
|
+
* measured from a workflows editor. Drag a node to move it (fires
|
|
35
35
|
* `onNodesChange`); drag the background to pan; use the toolbar to zoom.
|
|
36
36
|
*/
|
|
37
37
|
export declare function FlowCanvas<T extends FlowNode>({ nodes, edges, onNodesChange, renderNode, nodeWidth, nodeHeight, "aria-label": ariaLabel, className, zoomOutLabel, zoomInLabel, resetLabel, edgesLabel, ...rest }: FlowCanvasProps<T>): React.JSX.Element;
|
|
@@ -33,7 +33,7 @@ export type InboxProps = Omit<React.ComponentPropsWithoutRef<"div">, "children"
|
|
|
33
33
|
className?: string;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
|
-
* A notifications inbox panel — measured from
|
|
36
|
+
* A notifications inbox panel — measured from a notification flyout. A
|
|
37
37
|
* title, Notifications/Requests tabs with counts, then notification rows
|
|
38
38
|
* (avatar + message + time + unread dot) or a centred empty state. Put it inside
|
|
39
39
|
* a Popover for the flyout.
|
|
@@ -35,7 +35,7 @@ export declare function ListRow({ children, onClick, }: {
|
|
|
35
35
|
onClick?: () => void;
|
|
36
36
|
}): React.JSX.Element;
|
|
37
37
|
/**
|
|
38
|
-
* The entity-list page shell — measured from
|
|
38
|
+
* The entity-list page shell — measured from Reports/Sequences/Tasks/
|
|
39
39
|
* Notes list views. A view-bar toolbar (leading/trailing slots + record count),
|
|
40
40
|
* an optional dashed Favorites region, then column headers and time-grouped
|
|
41
41
|
* rows. Rows are composed by the caller (wrap each in <ListRow>).
|
|
@@ -48,7 +48,7 @@ export declare const onboardingLabels: {
|
|
|
48
48
|
completedStepLabel: (label: React.ReactNode) => string;
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
|
-
* An onboarding checklist card — measured from
|
|
51
|
+
* An onboarding checklist card — measured from a floating "Getting
|
|
52
52
|
* started" widget. Title + optional menu/minimize, a segmented progress bar,
|
|
53
53
|
* and step rows (completed rows strike through with a brand check).
|
|
54
54
|
*/
|
|
@@ -21,7 +21,7 @@ export type RecordPageProps = Omit<React.ComponentPropsWithoutRef<"div">, "child
|
|
|
21
21
|
* The record's own field labels and values are NOT here — those arrive through
|
|
22
22
|
* `record` and `columns`, and are the consumer's data. What this covers is the
|
|
23
23
|
* surface crisp draws around them: the tab strip, the Highlights stats (a fixed
|
|
24
|
-
* set measured
|
|
24
|
+
* set measured live, not consumer data), the action bar and the feed.
|
|
25
25
|
*/
|
|
26
26
|
export type RecordPageLabels = {
|
|
27
27
|
breadcrumb: string;
|
|
@@ -90,7 +90,7 @@ export type RecordPageLabelsInput = Partial<Omit<RecordPageLabels, "tabs" | "hig
|
|
|
90
90
|
highlightEmpty?: Partial<RecordPageLabels["highlightEmpty"]>;
|
|
91
91
|
};
|
|
92
92
|
/**
|
|
93
|
-
* The full-page company record view — the page
|
|
93
|
+
* The full-page company record view — the page that opens when you click into a
|
|
94
94
|
* record (as opposed to the peek [RecordPanel]). A top breadcrumb bar with
|
|
95
95
|
* favourite/edit/compose/… actions, a 320px left attribute column, and a tabbed
|
|
96
96
|
* main area: Overview stacks Highlights, an Activity feed, and Notes / Tasks /
|
|
@@ -18,8 +18,8 @@ export type Column = {
|
|
|
18
18
|
key: string;
|
|
19
19
|
label: string;
|
|
20
20
|
type?: ColumnType;
|
|
21
|
-
/** Mark the column's values as AI-enriched — tints the cells the way
|
|
22
|
-
*
|
|
21
|
+
/** Mark the column's values as AI-enriched — tints the cells the way
|
|
22
|
+
* enriched values are washed (#9b69ff at 4%). */
|
|
23
23
|
enriched?: boolean;
|
|
24
24
|
icon?: IconType;
|
|
25
25
|
width?: number;
|
|
@@ -90,7 +90,7 @@ export type RecordsTableProps = Omit<React.ComponentPropsWithoutRef<"div">, "chi
|
|
|
90
90
|
/** Called when a row's entity name is clicked — navigate to its full record page. */
|
|
91
91
|
onOpenRecordPage?: (row: Row) => void;
|
|
92
92
|
/** Tone for `entity`/`reference` avatars: `"brand"` (uniform, today's
|
|
93
|
-
* measured
|
|
93
|
+
* measured records-grid behaviour — the default) or `"hashed"` (a
|
|
94
94
|
* stable colour per name, matching what `DataTable`'s `avatarTone` offers).
|
|
95
95
|
* Entity avatars only — `TAG_TONES`/tag/status tone logic is untouched. */
|
|
96
96
|
avatarTone?: "brand" | "hashed";
|
|
@@ -120,6 +120,12 @@ export type RecordsTableLabels = {
|
|
|
120
120
|
descending: string;
|
|
121
121
|
noSorts: string;
|
|
122
122
|
learnSorting: string;
|
|
123
|
+
/**
|
|
124
|
+
* Where the sort popover's "Learn about sorting" row links to. Unset by default:
|
|
125
|
+
* the row renders as plain text, since a component library has no help site of its
|
|
126
|
+
* own to point at. Pass your own docs URL to make it a link.
|
|
127
|
+
*/
|
|
128
|
+
learnSortingHref?: string;
|
|
123
129
|
filter: string;
|
|
124
130
|
addFilter: string;
|
|
125
131
|
filterByField: string;
|
|
@@ -199,7 +205,7 @@ export declare function parseCellDate(raw: string | undefined): Date | null;
|
|
|
199
205
|
/** The inverse: the picked date's own calendar day, not the UTC one. */
|
|
200
206
|
export declare function formatCellDate(d: Date): string;
|
|
201
207
|
/**
|
|
202
|
-
*
|
|
208
|
+
* A measured-style record grid — fully featured. Toolbar (search / sort status /
|
|
203
209
|
* count / New), sticky checkbox + entity columns, 36px rows, typed cells,
|
|
204
210
|
* click-to-sort headers, column resize by dragging a header edge, inline cell
|
|
205
211
|
* editing (double-click a text/number/url/date cell), add-row and add-column,
|
|
@@ -19,7 +19,7 @@ export type RichTextEditorProps = Omit<React.ComponentPropsWithoutRef<"div">, "c
|
|
|
19
19
|
className?: string;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* A block rich-text editor — measured from
|
|
22
|
+
* A block rich-text editor — measured from a notes editor. A large title,
|
|
23
23
|
* a prose body (headings, lists, quote, marks, links), and a floating toolbar
|
|
24
24
|
* that appears over a text selection. Built on contentEditable, dependency-free.
|
|
25
25
|
* Uncontrolled: seed with `defaultTitle`/`defaultHtml`, read via `onChange`.
|
|
@@ -8,7 +8,7 @@ export type SettingsSectionProps = Omit<React.ComponentPropsWithoutRef<"section"
|
|
|
8
8
|
className?: string;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
* A settings section — measured from
|
|
11
|
+
* A settings section — measured from settings pages. A title + optional
|
|
12
12
|
* subtitle and trailing action, then a gapped stack of rows (pair with
|
|
13
13
|
* FormField). Compose several inside a settings content pane.
|
|
14
14
|
*/
|
|
@@ -28,7 +28,7 @@ export type SettingsShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "ti
|
|
|
28
28
|
className?: string;
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
|
-
* The Settings layout — measured
|
|
31
|
+
* The Settings layout — measured live. A left nav (back header,
|
|
32
32
|
* search, grouped items) beside a scrolling content pane. The search filters the
|
|
33
33
|
* nav by label. Fills the height its container gives it.
|
|
34
34
|
*/
|
|
@@ -57,9 +57,9 @@ export type SidebarProps = React.ComponentPropsWithoutRef<"nav"> & {
|
|
|
57
57
|
asChild?: boolean;
|
|
58
58
|
/** Called when the collapse-panel button in the header is pressed. */
|
|
59
59
|
onToggleCollapse?: () => void;
|
|
60
|
-
/** Workspace switcher content. Defaults to the measured
|
|
60
|
+
/** Workspace switcher content. Defaults to the measured workspace. */
|
|
61
61
|
workspace?: SidebarWorkspace;
|
|
62
|
-
/** Main nav rows (Home, Tasks, …). Defaults to the measured
|
|
62
|
+
/** Main nav rows (Home, Tasks, …). Defaults to the measured nav. */
|
|
63
63
|
items?: SidebarNavItem[];
|
|
64
64
|
/** The Records section (label + glyph-avatar rows). */
|
|
65
65
|
recordsSection?: SidebarRecordsSection;
|
|
@@ -70,17 +70,17 @@ export type SidebarProps = React.ComponentPropsWithoutRef<"nav"> & {
|
|
|
70
70
|
/** Footer copy (onboarding pill, invite row, trial banner). */
|
|
71
71
|
footer?: SidebarFooter;
|
|
72
72
|
};
|
|
73
|
-
/** The measured
|
|
73
|
+
/** The measured workspace switcher — the default `workspace` prop. */
|
|
74
74
|
export declare const ATTIO_SIDEBAR_WORKSPACE: SidebarWorkspace;
|
|
75
|
-
/** The measured
|
|
75
|
+
/** The measured main nav — the default `items` prop. */
|
|
76
76
|
export declare const ATTIO_SIDEBAR_ITEMS: SidebarNavItem[];
|
|
77
|
-
/** The measured
|
|
77
|
+
/** The measured Records section — the default `recordsSection` prop. */
|
|
78
78
|
export declare const ATTIO_SIDEBAR_RECORDS_SECTION: SidebarRecordsSection;
|
|
79
|
-
/** The measured
|
|
79
|
+
/** The measured Lists section — the default `listsSection` prop. */
|
|
80
80
|
export declare const ATTIO_SIDEBAR_LISTS_SECTION: SidebarListsSection;
|
|
81
|
-
/** The measured
|
|
81
|
+
/** The measured Chats section — the default `chatsSection` prop. */
|
|
82
82
|
export declare const ATTIO_SIDEBAR_CHATS_SECTION: SidebarSection;
|
|
83
|
-
/** The measured
|
|
83
|
+
/** The measured footer copy — the default `footer` prop. */
|
|
84
84
|
export declare const ATTIO_SIDEBAR_FOOTER: SidebarFooter;
|
|
85
85
|
export declare const Sidebar: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
|
|
86
86
|
/** Label for the collapse control. */
|
|
@@ -92,9 +92,9 @@ export declare const Sidebar: React.ForwardRefExoticComponent<Omit<React.Detaile
|
|
|
92
92
|
asChild?: boolean;
|
|
93
93
|
/** Called when the collapse-panel button in the header is pressed. */
|
|
94
94
|
onToggleCollapse?: () => void;
|
|
95
|
-
/** Workspace switcher content. Defaults to the measured
|
|
95
|
+
/** Workspace switcher content. Defaults to the measured workspace. */
|
|
96
96
|
workspace?: SidebarWorkspace;
|
|
97
|
-
/** Main nav rows (Home, Tasks, …). Defaults to the measured
|
|
97
|
+
/** Main nav rows (Home, Tasks, …). Defaults to the measured nav. */
|
|
98
98
|
items?: SidebarNavItem[];
|
|
99
99
|
/** The Records section (label + glyph-avatar rows). */
|
|
100
100
|
recordsSection?: SidebarRecordsSection;
|
|
@@ -30,7 +30,7 @@ export type TaskListProps = Omit<React.ComponentPropsWithoutRef<"div">, "childre
|
|
|
30
30
|
className?: string;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
|
-
* A task list — measured from
|
|
33
|
+
* A task list — measured from a tasks page. Optional group headers with a
|
|
34
34
|
* count, then rows of a round complete-checkbox + title + trailing meta.
|
|
35
35
|
* Completed rows strike through; overdue dates go red.
|
|
36
36
|
*/
|
|
@@ -12,7 +12,7 @@ export type TrialBannerProps = Omit<React.ComponentPropsWithoutRef<"div">, "chil
|
|
|
12
12
|
className?: string;
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
* A compact trial / upgrade banner — measured from
|
|
15
|
+
* A compact trial / upgrade banner — measured from a sidebar footer.
|
|
16
16
|
* Icon + message + an optional small action pill (soft-glow outlined button).
|
|
17
17
|
*/
|
|
18
18
|
export declare function TrialBanner({ icon, children, action, onAction, tone, className, ...rest }: TrialBannerProps): React.JSX.Element;
|
|
@@ -26,7 +26,7 @@ export type ViewToggleProps<T extends string = string> = Omit<React.ComponentPro
|
|
|
26
26
|
className?: string;
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
29
|
-
* A compact icon toggle — measured from
|
|
29
|
+
* A compact icon toggle — measured from a list/grid switch. A padded track
|
|
30
30
|
* of icon tiles; the selected tile is raised. Use for view-mode switches (list ⇄
|
|
31
31
|
* grid) or any small mutually-exclusive icon choice.
|
|
32
32
|
*/
|