@homebound/beam 2.417.11 → 3.0.0-alpha.1
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/index.cjs +4000 -4686
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +277 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +1081 -1049
- package/dist/index.d.ts +1081 -1049
- package/dist/index.js +3768 -4453
- package/dist/index.js.map +1 -1
- package/package.json +3 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as csstype from 'csstype';
|
|
2
2
|
import { Properties as Properties$1 } from 'csstype';
|
|
3
3
|
import * as React$1 from 'react';
|
|
4
|
-
import React__default, { PropsWithChildren, AriaAttributes, ReactNode,
|
|
5
|
-
import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
|
|
4
|
+
import React__default, { PropsWithChildren, AriaAttributes, ReactNode, ReactElement, MutableRefObject, Dispatch, SetStateAction, RefObject, ButtonHTMLAttributes, KeyboardEvent, LabelHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, Key, HTMLAttributes, ReactPortal } from 'react';
|
|
6
5
|
import { DOMProps, PressEvent, Key as Key$1 } from '@react-types/shared';
|
|
7
6
|
import { VirtuosoHandle, ListRange } from 'react-virtuoso';
|
|
8
7
|
import { AriaButtonProps } from '@react-types/button';
|
|
@@ -15,20 +14,26 @@ import { NumberFieldAria } from '@react-aria/numberfield';
|
|
|
15
14
|
/** Given a type X, and the user's proposed type T, only allow keys in X and nothing else. */
|
|
16
15
|
type Only<X, T> = X & Record<Exclude<keyof T, keyof X>, never>;
|
|
17
16
|
type Properties = Properties$1<string | 0, string>;
|
|
17
|
+
/** A marker token used with `when`/`markerOf` etc. */
|
|
18
|
+
type Marker = symbol;
|
|
18
19
|
type Typography = "xs2" | "xs2Sb" | "xs" | "xsSb" | "sm" | "smSb" | "md" | "mdSb" | "lg" | "xl" | "xl2";
|
|
20
|
+
declare module "react" {
|
|
21
|
+
interface HTMLAttributes<T> {
|
|
22
|
+
css?: Properties;
|
|
23
|
+
}
|
|
24
|
+
interface SVGAttributes<T> {
|
|
25
|
+
css?: Properties;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
19
28
|
type Opts<T> = {
|
|
20
29
|
rules: T;
|
|
21
30
|
enabled: boolean;
|
|
22
|
-
important: boolean;
|
|
23
31
|
selector: string | undefined;
|
|
32
|
+
elseApplied: boolean;
|
|
24
33
|
};
|
|
25
34
|
declare class CssBuilder<T extends Properties> {
|
|
26
35
|
private opts;
|
|
27
36
|
constructor(opts: Opts<T>);
|
|
28
|
-
private get rules();
|
|
29
|
-
private get enabled();
|
|
30
|
-
private get selector();
|
|
31
|
-
private newCss;
|
|
32
37
|
/** Sets `borderStyle: "solid"; borderWidth: "1px"`. */
|
|
33
38
|
get ba(): CssBuilder<T & {
|
|
34
39
|
borderStyle: csstype.Property.BorderStyle | undefined;
|
|
@@ -4013,7 +4018,7 @@ declare class CssBuilder<T extends Properties> {
|
|
|
4013
4018
|
} & {
|
|
4014
4019
|
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
4015
4020
|
}>;
|
|
4016
|
-
/** Sets `position: "absolute"; overflow: "hidden"; clip: "inset(50%)"; clipPath: ""; border: 0; height: "1px"; margin: "-1px"; width: "1px"; padding: 0; whiteSpace: "nowrap"; opacity: 0`. */
|
|
4021
|
+
/** Sets `position: "absolute"; overflow: "hidden"; clip: "inset(50%)"; clipPath: "none"; border: 0; height: "1px"; margin: "-1px"; width: "1px"; padding: 0; whiteSpace: "nowrap"; opacity: 0`. */
|
|
4017
4022
|
get visuallyHidden(): CssBuilder<T & {
|
|
4018
4023
|
position: csstype.Property.Position | undefined;
|
|
4019
4024
|
} & {
|
|
@@ -4042,11 +4047,40 @@ declare class CssBuilder<T extends Properties> {
|
|
|
4042
4047
|
content: csstype.Property.Content | undefined;
|
|
4043
4048
|
}>;
|
|
4044
4049
|
get $(): T;
|
|
4045
|
-
if(bp: Breakpoint): CssBuilder<T>;
|
|
4046
|
-
if(cond: boolean): CssBuilder<T>;
|
|
4047
|
-
if(attr: string, value: boolean | string): CssBuilder<T>;
|
|
4048
4050
|
get onHover(): CssBuilder<T>;
|
|
4049
|
-
|
|
4051
|
+
get onFocus(): CssBuilder<T>;
|
|
4052
|
+
get onFocusVisible(): CssBuilder<T>;
|
|
4053
|
+
get onFocusWithin(): CssBuilder<T>;
|
|
4054
|
+
get onActive(): CssBuilder<T>;
|
|
4055
|
+
get onDisabled(): CssBuilder<T>;
|
|
4056
|
+
/** Marks this element as a default hover marker (for ancestor pseudo selectors). */
|
|
4057
|
+
get marker(): CssBuilder<T>;
|
|
4058
|
+
/** Marks this element with a user-defined marker. */
|
|
4059
|
+
markerOf(_marker: Marker): CssBuilder<T>;
|
|
4060
|
+
/** Creates a marker token for use with markerOf() and when(). */
|
|
4061
|
+
newMarker(): Marker;
|
|
4062
|
+
typography(key: Typography): CssBuilder<T>;
|
|
4063
|
+
/**
|
|
4064
|
+
* Styles after this `when` are applied based on a relationship + pseudo selector.
|
|
4065
|
+
*
|
|
4066
|
+
* `when("ancestor", ":hover")` — react to ancestor hover
|
|
4067
|
+
* `when("descendant", ":focus")` — react to descendant focus
|
|
4068
|
+
* `when("siblingAfter", ":hover")` — react to a following sibling's hover
|
|
4069
|
+
*/
|
|
4070
|
+
when(relationship: "ancestor" | "descendant" | "anySibling" | "siblingBefore" | "siblingAfter", pseudo: string): CssBuilder<T>;
|
|
4071
|
+
/**
|
|
4072
|
+
* Styles after this `when` are applied based on a relationship-to-marker + pseudo selector.
|
|
4073
|
+
*
|
|
4074
|
+
* `when("ancestor", marker, ":hover")` — react to a specific ancestor's hover
|
|
4075
|
+
*/
|
|
4076
|
+
when(relationship: "ancestor" | "descendant" | "anySibling" | "siblingBefore" | "siblingAfter", marker: Marker, pseudo: string): CssBuilder<T>;
|
|
4077
|
+
ifContainer(_props: {
|
|
4078
|
+
name?: string;
|
|
4079
|
+
lt?: number;
|
|
4080
|
+
gt?: number;
|
|
4081
|
+
}): this;
|
|
4082
|
+
/** Apply styles within a pseudo-element (e.g. `"::placeholder"`, `"::selection"`). */
|
|
4083
|
+
element(_pseudoElement: string): CssBuilder<T>;
|
|
4050
4084
|
get ifPrint(): CssBuilder<T>;
|
|
4051
4085
|
get ifSm(): CssBuilder<T>;
|
|
4052
4086
|
get ifMd(): CssBuilder<T>;
|
|
@@ -4055,18 +4089,23 @@ declare class CssBuilder<T extends Properties> {
|
|
|
4055
4089
|
get ifMdAndDown(): CssBuilder<T>;
|
|
4056
4090
|
get ifLg(): CssBuilder<T>;
|
|
4057
4091
|
get ifMdOrLg(): CssBuilder<T>;
|
|
4092
|
+
/** Conditionally apply styles when `cond` is true. */
|
|
4093
|
+
if(cond: boolean): CssBuilder<T>;
|
|
4094
|
+
/** Apply styles within a media query (e.g. `Breakpoints.sm` or a raw `@media` string). */
|
|
4095
|
+
if(mediaQuery: string): CssBuilder<T>;
|
|
4058
4096
|
get else(): CssBuilder<T>;
|
|
4059
|
-
get important(): CssBuilder<T>;
|
|
4060
|
-
/** Adds new properties, either a specific key/value or a Properties object, to the current css. */
|
|
4061
4097
|
add<P extends Properties>(props: P): CssBuilder<T & P>;
|
|
4062
4098
|
add<K extends keyof Properties>(prop: K, value: Properties[K]): CssBuilder<T & {
|
|
4063
4099
|
[U in K]: Properties[K];
|
|
4064
4100
|
}>;
|
|
4065
|
-
/**
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4101
|
+
/** Inline a partial style hash, skipping any undefined values. */
|
|
4102
|
+
addCss<P extends Properties>(props: P): CssBuilder<T & P>;
|
|
4103
|
+
/** Convert a style hash into `{ className, style }` props for manual spreading into non-`css=` contexts. */
|
|
4104
|
+
props(styles: Properties): Record<string, unknown>;
|
|
4105
|
+
private get rules();
|
|
4106
|
+
private get enabled();
|
|
4107
|
+
private get selector();
|
|
4108
|
+
private newCss;
|
|
4070
4109
|
}
|
|
4071
4110
|
/** Converts `inc` into pixels value with a `px` suffix. */
|
|
4072
4111
|
declare function maybeInc(inc: number | string): string;
|
|
@@ -4158,32 +4197,14 @@ type Font = "fontSize" | "fontWeight" | "lineHeight";
|
|
|
4158
4197
|
type Breakpoint = "print" | "sm" | "md" | "smOrMd" | "mdAndUp" | "mdAndDown" | "lg" | "mdOrLg";
|
|
4159
4198
|
declare enum Breakpoints {
|
|
4160
4199
|
print = "@media print",
|
|
4161
|
-
sm = "@media screen and (max-width:599px)",
|
|
4162
|
-
md = "@media screen and (min-width:600px) and (max-width:1024px)",
|
|
4163
|
-
smOrMd = "@media screen and (max-width:1024px)",
|
|
4164
|
-
mdAndUp = "@media screen and (min-width:600px)",
|
|
4165
|
-
mdAndDown = "@media screen and (max-width:1024px)",
|
|
4166
|
-
lg = "@media screen and (min-width:1025px)",
|
|
4167
|
-
mdOrLg = "@media screen and (min-width:600px)"
|
|
4200
|
+
sm = "@media screen and (max-width: 599px)",
|
|
4201
|
+
md = "@media screen and (min-width: 600px) and (max-width: 1024px)",
|
|
4202
|
+
smOrMd = "@media screen and (max-width: 1024px)",
|
|
4203
|
+
mdAndUp = "@media screen and (min-width: 600px)",
|
|
4204
|
+
mdAndDown = "@media screen and (max-width: 1024px)",
|
|
4205
|
+
lg = "@media screen and (min-width: 1025px)",
|
|
4206
|
+
mdOrLg = "@media screen and (min-width: 600px)"
|
|
4168
4207
|
}
|
|
4169
|
-
/**
|
|
4170
|
-
* Utility to help write `@container` queries
|
|
4171
|
-
*
|
|
4172
|
-
* @param name - The name of the container.
|
|
4173
|
-
* @param lt - The maximum width of the container inclusive.
|
|
4174
|
-
* @param gt - The minimum width of the container exclusive.
|
|
4175
|
-
*/
|
|
4176
|
-
type ContainerProps = {
|
|
4177
|
-
name?: string;
|
|
4178
|
-
} & ({
|
|
4179
|
-
lt: number;
|
|
4180
|
-
} | {
|
|
4181
|
-
gt: number;
|
|
4182
|
-
} | {
|
|
4183
|
-
lt: number;
|
|
4184
|
-
gt: number;
|
|
4185
|
-
});
|
|
4186
|
-
declare function Container(props: ContainerProps): string;
|
|
4187
4208
|
|
|
4188
4209
|
type HasIdIsh<V = string> = {
|
|
4189
4210
|
id: V;
|
|
@@ -4234,7 +4255,7 @@ type AutoSaveStatusProviderProps = PropsWithChildren<{
|
|
|
4234
4255
|
/** After a successful save, reset Status back to `Idle` after this many milliseconds */
|
|
4235
4256
|
resetToIdleTimeout?: number;
|
|
4236
4257
|
}>;
|
|
4237
|
-
declare function AutoSaveStatusProvider({ children, resetToIdleTimeout }: AutoSaveStatusProviderProps):
|
|
4258
|
+
declare function AutoSaveStatusProvider({ children, resetToIdleTimeout }: AutoSaveStatusProviderProps): JSX.Element;
|
|
4238
4259
|
|
|
4239
4260
|
/**
|
|
4240
4261
|
* Provides access to the current auto-save status, i.e. idle/saving/done.
|
|
@@ -4260,7 +4281,7 @@ interface IconProps extends AriaAttributes, DOMProps {
|
|
|
4260
4281
|
xss?: Xss<Margin | "visibility" | "flexShrink">;
|
|
4261
4282
|
tooltip?: ReactNode;
|
|
4262
4283
|
}
|
|
4263
|
-
declare const Icon: React__default.MemoExoticComponent<(props: IconProps) =>
|
|
4284
|
+
declare const Icon: React__default.MemoExoticComponent<(props: IconProps) => JSX.Element>;
|
|
4264
4285
|
/**
|
|
4265
4286
|
* Map of icons paths mapped to their respective name.
|
|
4266
4287
|
*
|
|
@@ -4271,165 +4292,165 @@ declare const Icon: React__default.MemoExoticComponent<(props: IconProps) => _em
|
|
|
4271
4292
|
* 3. Remove all fill attributes as these will be controlled by the wrapping component
|
|
4272
4293
|
*/
|
|
4273
4294
|
declare const Icons: {
|
|
4274
|
-
kanban:
|
|
4275
|
-
expand:
|
|
4276
|
-
collapse:
|
|
4277
|
-
drag:
|
|
4278
|
-
move:
|
|
4279
|
-
x:
|
|
4280
|
-
loader:
|
|
4281
|
-
link:
|
|
4282
|
-
linkExternal:
|
|
4283
|
-
upload:
|
|
4284
|
-
download:
|
|
4285
|
-
checkboxChecked:
|
|
4286
|
-
checkbox:
|
|
4287
|
-
check:
|
|
4288
|
-
search:
|
|
4289
|
-
comment:
|
|
4290
|
-
commentFilled:
|
|
4291
|
-
plus:
|
|
4292
|
-
minus:
|
|
4293
|
-
pencil:
|
|
4294
|
-
cloudUpload:
|
|
4295
|
-
toggleOn:
|
|
4296
|
-
trash:
|
|
4297
|
-
refresh:
|
|
4298
|
-
eyeball:
|
|
4299
|
-
thumbsUp:
|
|
4300
|
-
verticalDots:
|
|
4301
|
-
star:
|
|
4302
|
-
starFilled:
|
|
4303
|
-
cloudSave:
|
|
4304
|
-
attachment:
|
|
4305
|
-
archive:
|
|
4306
|
-
unarchive:
|
|
4307
|
-
duplicate:
|
|
4308
|
-
filter:
|
|
4309
|
-
errorCircle:
|
|
4310
|
-
checkCircle:
|
|
4311
|
-
infoCircle:
|
|
4312
|
-
helpCircle:
|
|
4313
|
-
error:
|
|
4314
|
-
xCircle:
|
|
4315
|
-
flag:
|
|
4316
|
-
outlineFlag:
|
|
4317
|
-
add:
|
|
4318
|
-
remove:
|
|
4319
|
-
loaderCircle:
|
|
4320
|
-
circleOutline:
|
|
4321
|
-
chevronsDown:
|
|
4322
|
-
chevronsRight:
|
|
4323
|
-
sortUp:
|
|
4324
|
-
sortDown:
|
|
4325
|
-
chevronDown:
|
|
4326
|
-
chevronUp:
|
|
4327
|
-
chevronLeft:
|
|
4328
|
-
chevronRight:
|
|
4329
|
-
arrowBack:
|
|
4330
|
-
arrowLeft:
|
|
4331
|
-
arrowUp:
|
|
4332
|
-
arrowDown:
|
|
4333
|
-
arrowRight:
|
|
4334
|
-
triangleLeft:
|
|
4335
|
-
triangleRight:
|
|
4336
|
-
triangleUp:
|
|
4337
|
-
triangleDown:
|
|
4338
|
-
menuClose:
|
|
4339
|
-
menuOpen:
|
|
4340
|
-
arrowFromLeft:
|
|
4341
|
-
arrowFromBottom:
|
|
4342
|
-
arrowFromRight:
|
|
4343
|
-
arrowFromTop:
|
|
4344
|
-
subDirectoryRight:
|
|
4345
|
-
camera:
|
|
4346
|
-
email:
|
|
4347
|
-
fileBlank:
|
|
4348
|
-
folder:
|
|
4349
|
-
image:
|
|
4350
|
-
file:
|
|
4351
|
-
images:
|
|
4352
|
-
openBook:
|
|
4353
|
-
inbox:
|
|
4354
|
-
criticalPath:
|
|
4355
|
-
nested:
|
|
4356
|
-
estimate:
|
|
4357
|
-
commentItem:
|
|
4358
|
-
todo:
|
|
4359
|
-
projectItem:
|
|
4360
|
-
bill:
|
|
4361
|
-
commitment:
|
|
4362
|
-
document:
|
|
4363
|
-
budgetReallocation:
|
|
4364
|
-
cog:
|
|
4365
|
-
abacus:
|
|
4366
|
-
hardHat:
|
|
4367
|
-
task:
|
|
4368
|
-
dollar:
|
|
4369
|
-
userCircle:
|
|
4370
|
-
calendar:
|
|
4371
|
-
calendarError:
|
|
4372
|
-
calendarX:
|
|
4373
|
-
changeEvent:
|
|
4374
|
-
buildingHouse:
|
|
4375
|
-
house:
|
|
4376
|
-
bell:
|
|
4377
|
-
customize:
|
|
4378
|
-
leaf:
|
|
4379
|
-
floorPlan:
|
|
4380
|
-
chair:
|
|
4381
|
-
bolt:
|
|
4382
|
-
checklistComplete:
|
|
4383
|
-
checklistNotComplete:
|
|
4384
|
-
faucet:
|
|
4385
|
-
bed:
|
|
4386
|
-
sqFeet:
|
|
4387
|
-
ruler:
|
|
4388
|
-
palette:
|
|
4389
|
-
bath:
|
|
4390
|
-
car:
|
|
4391
|
-
basement:
|
|
4392
|
-
cube:
|
|
4393
|
-
history:
|
|
4394
|
-
projects:
|
|
4395
|
-
tasks:
|
|
4396
|
-
finances:
|
|
4397
|
-
templates:
|
|
4398
|
-
tradePartners:
|
|
4399
|
-
menu:
|
|
4400
|
-
tile:
|
|
4401
|
-
list:
|
|
4402
|
-
cloudy:
|
|
4403
|
-
fog:
|
|
4404
|
-
hail:
|
|
4405
|
-
ice:
|
|
4406
|
-
partlyCloudy:
|
|
4407
|
-
rain:
|
|
4408
|
-
snow:
|
|
4409
|
-
sunny:
|
|
4410
|
-
thunderstorms:
|
|
4411
|
-
undoCircle:
|
|
4412
|
-
windy:
|
|
4413
|
-
circle:
|
|
4414
|
-
checkCircleFilled:
|
|
4415
|
-
cart:
|
|
4416
|
-
programChange:
|
|
4417
|
-
architectural:
|
|
4418
|
-
structural:
|
|
4419
|
-
mep:
|
|
4420
|
-
designPackage:
|
|
4421
|
-
updateDesignPackage:
|
|
4422
|
-
exteriorStyle:
|
|
4423
|
-
time:
|
|
4424
|
-
lockOpen:
|
|
4425
|
-
map:
|
|
4426
|
-
pin:
|
|
4427
|
-
mapGlobe:
|
|
4428
|
-
buildings:
|
|
4429
|
-
community:
|
|
4430
|
-
subdivision:
|
|
4431
|
-
lot:
|
|
4432
|
-
houseFilled:
|
|
4295
|
+
kanban: JSX.Element;
|
|
4296
|
+
expand: JSX.Element;
|
|
4297
|
+
collapse: JSX.Element;
|
|
4298
|
+
drag: JSX.Element;
|
|
4299
|
+
move: JSX.Element;
|
|
4300
|
+
x: JSX.Element;
|
|
4301
|
+
loader: JSX.Element;
|
|
4302
|
+
link: JSX.Element;
|
|
4303
|
+
linkExternal: JSX.Element;
|
|
4304
|
+
upload: JSX.Element;
|
|
4305
|
+
download: JSX.Element;
|
|
4306
|
+
checkboxChecked: JSX.Element;
|
|
4307
|
+
checkbox: JSX.Element;
|
|
4308
|
+
check: JSX.Element;
|
|
4309
|
+
search: JSX.Element;
|
|
4310
|
+
comment: JSX.Element;
|
|
4311
|
+
commentFilled: JSX.Element;
|
|
4312
|
+
plus: JSX.Element;
|
|
4313
|
+
minus: JSX.Element;
|
|
4314
|
+
pencil: JSX.Element;
|
|
4315
|
+
cloudUpload: JSX.Element;
|
|
4316
|
+
toggleOn: JSX.Element;
|
|
4317
|
+
trash: JSX.Element;
|
|
4318
|
+
refresh: JSX.Element;
|
|
4319
|
+
eyeball: JSX.Element;
|
|
4320
|
+
thumbsUp: JSX.Element;
|
|
4321
|
+
verticalDots: JSX.Element;
|
|
4322
|
+
star: JSX.Element;
|
|
4323
|
+
starFilled: JSX.Element;
|
|
4324
|
+
cloudSave: JSX.Element;
|
|
4325
|
+
attachment: JSX.Element;
|
|
4326
|
+
archive: JSX.Element;
|
|
4327
|
+
unarchive: JSX.Element;
|
|
4328
|
+
duplicate: JSX.Element;
|
|
4329
|
+
filter: JSX.Element;
|
|
4330
|
+
errorCircle: JSX.Element;
|
|
4331
|
+
checkCircle: JSX.Element;
|
|
4332
|
+
infoCircle: JSX.Element;
|
|
4333
|
+
helpCircle: JSX.Element;
|
|
4334
|
+
error: JSX.Element;
|
|
4335
|
+
xCircle: JSX.Element;
|
|
4336
|
+
flag: JSX.Element;
|
|
4337
|
+
outlineFlag: JSX.Element;
|
|
4338
|
+
add: JSX.Element;
|
|
4339
|
+
remove: JSX.Element;
|
|
4340
|
+
loaderCircle: JSX.Element;
|
|
4341
|
+
circleOutline: JSX.Element;
|
|
4342
|
+
chevronsDown: JSX.Element;
|
|
4343
|
+
chevronsRight: JSX.Element;
|
|
4344
|
+
sortUp: JSX.Element;
|
|
4345
|
+
sortDown: JSX.Element;
|
|
4346
|
+
chevronDown: JSX.Element;
|
|
4347
|
+
chevronUp: JSX.Element;
|
|
4348
|
+
chevronLeft: JSX.Element;
|
|
4349
|
+
chevronRight: JSX.Element;
|
|
4350
|
+
arrowBack: JSX.Element;
|
|
4351
|
+
arrowLeft: JSX.Element;
|
|
4352
|
+
arrowUp: JSX.Element;
|
|
4353
|
+
arrowDown: JSX.Element;
|
|
4354
|
+
arrowRight: JSX.Element;
|
|
4355
|
+
triangleLeft: JSX.Element;
|
|
4356
|
+
triangleRight: JSX.Element;
|
|
4357
|
+
triangleUp: JSX.Element;
|
|
4358
|
+
triangleDown: JSX.Element;
|
|
4359
|
+
menuClose: JSX.Element;
|
|
4360
|
+
menuOpen: JSX.Element;
|
|
4361
|
+
arrowFromLeft: JSX.Element;
|
|
4362
|
+
arrowFromBottom: JSX.Element;
|
|
4363
|
+
arrowFromRight: JSX.Element;
|
|
4364
|
+
arrowFromTop: JSX.Element;
|
|
4365
|
+
subDirectoryRight: JSX.Element;
|
|
4366
|
+
camera: JSX.Element;
|
|
4367
|
+
email: JSX.Element;
|
|
4368
|
+
fileBlank: JSX.Element;
|
|
4369
|
+
folder: JSX.Element;
|
|
4370
|
+
image: JSX.Element;
|
|
4371
|
+
file: JSX.Element;
|
|
4372
|
+
images: JSX.Element;
|
|
4373
|
+
openBook: JSX.Element;
|
|
4374
|
+
inbox: JSX.Element;
|
|
4375
|
+
criticalPath: JSX.Element;
|
|
4376
|
+
nested: JSX.Element;
|
|
4377
|
+
estimate: JSX.Element;
|
|
4378
|
+
commentItem: JSX.Element;
|
|
4379
|
+
todo: JSX.Element;
|
|
4380
|
+
projectItem: JSX.Element;
|
|
4381
|
+
bill: JSX.Element;
|
|
4382
|
+
commitment: JSX.Element;
|
|
4383
|
+
document: JSX.Element;
|
|
4384
|
+
budgetReallocation: JSX.Element;
|
|
4385
|
+
cog: JSX.Element;
|
|
4386
|
+
abacus: JSX.Element;
|
|
4387
|
+
hardHat: JSX.Element;
|
|
4388
|
+
task: JSX.Element;
|
|
4389
|
+
dollar: JSX.Element;
|
|
4390
|
+
userCircle: JSX.Element;
|
|
4391
|
+
calendar: JSX.Element;
|
|
4392
|
+
calendarError: JSX.Element;
|
|
4393
|
+
calendarX: JSX.Element;
|
|
4394
|
+
changeEvent: JSX.Element;
|
|
4395
|
+
buildingHouse: JSX.Element;
|
|
4396
|
+
house: JSX.Element;
|
|
4397
|
+
bell: JSX.Element;
|
|
4398
|
+
customize: JSX.Element;
|
|
4399
|
+
leaf: JSX.Element;
|
|
4400
|
+
floorPlan: JSX.Element;
|
|
4401
|
+
chair: JSX.Element;
|
|
4402
|
+
bolt: JSX.Element;
|
|
4403
|
+
checklistComplete: JSX.Element;
|
|
4404
|
+
checklistNotComplete: JSX.Element;
|
|
4405
|
+
faucet: JSX.Element;
|
|
4406
|
+
bed: JSX.Element;
|
|
4407
|
+
sqFeet: JSX.Element;
|
|
4408
|
+
ruler: JSX.Element;
|
|
4409
|
+
palette: JSX.Element;
|
|
4410
|
+
bath: JSX.Element;
|
|
4411
|
+
car: JSX.Element;
|
|
4412
|
+
basement: JSX.Element;
|
|
4413
|
+
cube: JSX.Element;
|
|
4414
|
+
history: JSX.Element;
|
|
4415
|
+
projects: JSX.Element;
|
|
4416
|
+
tasks: JSX.Element;
|
|
4417
|
+
finances: JSX.Element;
|
|
4418
|
+
templates: JSX.Element;
|
|
4419
|
+
tradePartners: JSX.Element;
|
|
4420
|
+
menu: JSX.Element;
|
|
4421
|
+
tile: JSX.Element;
|
|
4422
|
+
list: JSX.Element;
|
|
4423
|
+
cloudy: JSX.Element;
|
|
4424
|
+
fog: JSX.Element;
|
|
4425
|
+
hail: JSX.Element;
|
|
4426
|
+
ice: JSX.Element;
|
|
4427
|
+
partlyCloudy: JSX.Element;
|
|
4428
|
+
rain: JSX.Element;
|
|
4429
|
+
snow: JSX.Element;
|
|
4430
|
+
sunny: JSX.Element;
|
|
4431
|
+
thunderstorms: JSX.Element;
|
|
4432
|
+
undoCircle: JSX.Element;
|
|
4433
|
+
windy: JSX.Element;
|
|
4434
|
+
circle: JSX.Element;
|
|
4435
|
+
checkCircleFilled: JSX.Element;
|
|
4436
|
+
cart: JSX.Element;
|
|
4437
|
+
programChange: JSX.Element;
|
|
4438
|
+
architectural: JSX.Element;
|
|
4439
|
+
structural: JSX.Element;
|
|
4440
|
+
mep: JSX.Element;
|
|
4441
|
+
designPackage: JSX.Element;
|
|
4442
|
+
updateDesignPackage: JSX.Element;
|
|
4443
|
+
exteriorStyle: JSX.Element;
|
|
4444
|
+
time: JSX.Element;
|
|
4445
|
+
lockOpen: JSX.Element;
|
|
4446
|
+
map: JSX.Element;
|
|
4447
|
+
pin: JSX.Element;
|
|
4448
|
+
mapGlobe: JSX.Element;
|
|
4449
|
+
buildings: JSX.Element;
|
|
4450
|
+
community: JSX.Element;
|
|
4451
|
+
subdivision: JSX.Element;
|
|
4452
|
+
lot: JSX.Element;
|
|
4453
|
+
houseFilled: JSX.Element;
|
|
4433
4454
|
};
|
|
4434
4455
|
type IconKey = keyof typeof Icons;
|
|
4435
4456
|
|
|
@@ -4444,7 +4465,7 @@ interface ChipProps<X> {
|
|
|
4444
4465
|
icon?: IconKey;
|
|
4445
4466
|
}
|
|
4446
4467
|
/** Kinda like a chip, but read-only, so no `onClick` or `hover`. */
|
|
4447
|
-
declare function Chip<X extends Only<Xss<Margin | "color" | "backgroundColor">, X>>(props: ChipProps<X>):
|
|
4468
|
+
declare function Chip<X extends Only<Xss<Margin | "color" | "backgroundColor">, X>>(props: ChipProps<X>): JSX.Element;
|
|
4448
4469
|
declare const chipBaseStyles: (compact?: boolean) => {
|
|
4449
4470
|
fontWeight: csstype.Property.FontWeight | undefined;
|
|
4450
4471
|
} & {
|
|
@@ -4487,10 +4508,49 @@ interface ChipsProps<X> {
|
|
|
4487
4508
|
wrap?: boolean;
|
|
4488
4509
|
}
|
|
4489
4510
|
/** Renders a list of `Chip`s, with wrapping & appropriate margin between each `Chip`. */
|
|
4490
|
-
declare function Chips<X extends Only<ChipsXss, X>>(props: ChipsProps<X>):
|
|
4511
|
+
declare function Chips<X extends Only<ChipsXss, X>>(props: ChipsProps<X>): JSX.Element;
|
|
4491
4512
|
|
|
4492
4513
|
type ResizedWidths = Record<string, number>;
|
|
4493
4514
|
|
|
4515
|
+
type InputStylePalette = "success" | "warning" | "caution" | "info";
|
|
4516
|
+
interface PresentationFieldProps {
|
|
4517
|
+
numberAlignment?: "left" | "right";
|
|
4518
|
+
/** Sets the label position or visibility. Defaults to "above" */
|
|
4519
|
+
labelStyle?: "inline" | "hidden" | "above" | "left";
|
|
4520
|
+
/** Defines the width property of the input field wrapper when using `labelStyle="left"`. */
|
|
4521
|
+
labelLeftFieldWidth?: number | string;
|
|
4522
|
+
labelSuffix?: LabelSuffixStyle;
|
|
4523
|
+
borderless?: boolean;
|
|
4524
|
+
borderOnHover?: boolean;
|
|
4525
|
+
compact?: boolean;
|
|
4526
|
+
typeScale?: Typography;
|
|
4527
|
+
visuallyDisabled?: false;
|
|
4528
|
+
errorInTooltip?: true;
|
|
4529
|
+
/** Allow the fields to grow to the width of its container. By default, fields will extend up to 550px */
|
|
4530
|
+
fullWidth?: boolean;
|
|
4531
|
+
/** Changes bg and hoverBg; Takes priority over `contrast`; Useful when showing many fields w/in a table that require user attention; In no way should be used as a replacement for error/focus state */
|
|
4532
|
+
inputStylePalette?: InputStylePalette;
|
|
4533
|
+
}
|
|
4534
|
+
type PresentationContextProps = {
|
|
4535
|
+
/** `inputStylePalette` omitted because it is too dependent on the individual field use case to be controlled at this level */
|
|
4536
|
+
fieldProps?: Omit<PresentationFieldProps, "inputStylePalette">;
|
|
4537
|
+
gridTableStyle?: GridStyle;
|
|
4538
|
+
wrap?: boolean;
|
|
4539
|
+
};
|
|
4540
|
+
declare function PresentationProvider(props: PropsWithChildren<PresentationContextProps>): JSX.Element;
|
|
4541
|
+
/**
|
|
4542
|
+
* Label settings for required/optional fields.
|
|
4543
|
+
*
|
|
4544
|
+
* We may want to just hard-code this behavior, so that it's very consistent,
|
|
4545
|
+
* but for now making it configurable.
|
|
4546
|
+
*/
|
|
4547
|
+
type LabelSuffixStyle = {
|
|
4548
|
+
/** The suffix to use for required fields. */
|
|
4549
|
+
required?: string;
|
|
4550
|
+
/** The suffix to use for explicitly optional (i.e. `required=false`) fields. */
|
|
4551
|
+
optional?: string;
|
|
4552
|
+
};
|
|
4553
|
+
|
|
4494
4554
|
type Kinded = {
|
|
4495
4555
|
kind: string;
|
|
4496
4556
|
};
|
|
@@ -4650,371 +4710,133 @@ declare const rowLinkRenderFn: (as: RenderAs, colSpan: number) => RenderCellFn<a
|
|
|
4650
4710
|
/** Renders a cell that will fire the RowStyle.onClick. */
|
|
4651
4711
|
declare const rowClickRenderFn: (as: RenderAs, api: GridTableApi<any>, colSpan: number) => RenderCellFn<any>;
|
|
4652
4712
|
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
interface AvatarProps {
|
|
4660
|
-
src: string | undefined;
|
|
4661
|
-
name?: string;
|
|
4662
|
-
size?: AvatarSize;
|
|
4663
|
-
showName?: boolean;
|
|
4664
|
-
disableTooltip?: boolean;
|
|
4665
|
-
}
|
|
4666
|
-
declare function Avatar({ src, name, size, showName, disableTooltip, ...others }: AvatarProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
4667
|
-
type AvatarSize = "sm" | "md" | "lg" | "xl";
|
|
4668
|
-
|
|
4669
|
-
/** Base Interfaced */
|
|
4670
|
-
interface BeamFocusableProps {
|
|
4671
|
-
/** Whether the element should receive focus on render. */
|
|
4672
|
-
autoFocus?: boolean;
|
|
4673
|
-
forceFocusStyles?: boolean;
|
|
4674
|
-
}
|
|
4675
|
-
interface BeamButtonProps {
|
|
4713
|
+
/** Completely static look & feel, i.e. nothing that is based on row kinds/content. */
|
|
4714
|
+
interface GridStyle {
|
|
4715
|
+
/** Applied to the base div element. */
|
|
4716
|
+
rootCss?: Properties;
|
|
4717
|
+
/** Extra bottom padding for the virtual-table footer loader/spacer, in pixels. */
|
|
4718
|
+
virtualFooterPaddingBottomPx?: number;
|
|
4676
4719
|
/**
|
|
4677
|
-
*
|
|
4678
|
-
*
|
|
4679
|
-
*
|
|
4720
|
+
* Applied as the base body-row cell styling (commonly used for row separators).
|
|
4721
|
+
* This is applied to body rows broadly (including the last body row); use
|
|
4722
|
+
* `lastRowCellCss`/`lastRowCss` to adjust/cancel any final-row treatment.
|
|
4680
4723
|
*/
|
|
4681
|
-
|
|
4682
|
-
/**
|
|
4683
|
-
|
|
4684
|
-
/**
|
|
4685
|
-
|
|
4686
|
-
/**
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4692
|
-
disabled?: boolean | ReactNode;
|
|
4693
|
-
errorMsg?: string;
|
|
4694
|
-
helperText?: string | ReactNode;
|
|
4695
|
-
/** Input label */
|
|
4696
|
-
label: string;
|
|
4697
|
-
/** Marks the field as required or optional, the default is assumed ambiguous/unknown. */
|
|
4698
|
-
required?: boolean;
|
|
4699
|
-
value: string | undefined;
|
|
4700
|
-
/** Handler called when the interactive element state changes. */
|
|
4701
|
-
onChange: (value: string | undefined) => void;
|
|
4702
|
-
/** Called when the component loses focus, mostly for BoundTextField to use. */
|
|
4703
|
-
onBlur?: VoidFunction;
|
|
4704
|
-
onFocus?: VoidFunction;
|
|
4705
|
-
onEnter?: VoidFunction;
|
|
4706
|
-
/** Whether the field is readOnly. If a ReactNode, it's treated as a "readOnly reason" that's shown in a tooltip. */
|
|
4707
|
-
readOnly?: boolean | ReactNode;
|
|
4708
|
-
placeholder?: string;
|
|
4709
|
-
/** Styles overrides */
|
|
4710
|
-
xss?: X;
|
|
4711
|
-
}
|
|
4712
|
-
interface TextFieldInternalProps {
|
|
4724
|
+
betweenRowsCss?: Properties;
|
|
4725
|
+
/** Applied on the last row of the table, typically to override/cancel `betweenRowsCss`. */
|
|
4726
|
+
lastRowCss?: Properties;
|
|
4727
|
+
/** Applied on the first row of the table (could be the Header or Totals row). */
|
|
4728
|
+
firstRowCss?: Properties;
|
|
4729
|
+
/** Applied to every non-header row of the table */
|
|
4730
|
+
nonHeaderRowCss?: Properties;
|
|
4731
|
+
/** Applied to the first body row, i.e. if you want to cancel out `betweenRowsCss`. */
|
|
4732
|
+
firstBodyRowCss?: Properties;
|
|
4733
|
+
/** Applied to all cell divs (via a selector off the base div). */
|
|
4734
|
+
cellCss?: Properties;
|
|
4713
4735
|
/**
|
|
4714
|
-
*
|
|
4715
|
-
*
|
|
4716
|
-
*
|
|
4736
|
+
* Applied to the header row divs.
|
|
4737
|
+
*
|
|
4738
|
+
* NOTE `as=virtual`: When using a virtual table with the goal of adding space
|
|
4739
|
+
* between the header and the first row use `firstBodyRowCss` with a
|
|
4740
|
+
* margin-top instead. Using `headerCellCss` will not work since the header
|
|
4741
|
+
* rows are wrapper with Chrome rows.
|
|
4717
4742
|
*/
|
|
4718
|
-
|
|
4719
|
-
/**
|
|
4720
|
-
|
|
4721
|
-
/**
|
|
4722
|
-
|
|
4743
|
+
headerCellCss?: Properties;
|
|
4744
|
+
/** Applied to 'kind: "totals"' cells */
|
|
4745
|
+
totalsCellCss?: Properties;
|
|
4746
|
+
/** Applied to 'kind: "expandableHeader"' cells */
|
|
4747
|
+
expandableHeaderCss?: Properties;
|
|
4748
|
+
/** Applied to expandable header cells that are not the last table column. */
|
|
4749
|
+
expandableHeaderNonLastColumnCss?: Properties;
|
|
4750
|
+
/** Applied to the first cell of all rows, i.e. for table-wide padding or left-side borders. */
|
|
4751
|
+
firstCellCss?: Properties;
|
|
4752
|
+
/** Applied to the last cell of all rows, i.e. for table-wide padding or right-side borders. */
|
|
4753
|
+
lastCellCss?: Properties;
|
|
4754
|
+
/** Applied to every cell in the first table-head row (expandableHeader/header/totals). */
|
|
4755
|
+
firstRowCellCss?: Properties;
|
|
4756
|
+
/** Applied to the first cell in the first table-head row. */
|
|
4757
|
+
firstRowFirstCellCss?: Properties;
|
|
4758
|
+
/** Applied to the last cell in the first table-head row. */
|
|
4759
|
+
firstRowLastCellCss?: Properties;
|
|
4760
|
+
/** Applied to every cell in the last table-body row. */
|
|
4761
|
+
lastRowCellCss?: Properties;
|
|
4762
|
+
/** Applied to the first cell in the last table-body row. */
|
|
4763
|
+
lastRowFirstCellCss?: Properties;
|
|
4764
|
+
/** Applied to the last cell in the last table-body row. */
|
|
4765
|
+
lastRowLastCellCss?: Properties;
|
|
4766
|
+
/** Applied if there is a fallback/overflow message showing. */
|
|
4767
|
+
firstRowMessageCss?: Properties;
|
|
4768
|
+
/** Applied on hover if a row has a rowLink/onClick set. */
|
|
4769
|
+
rowHoverColor?: Palette | "none";
|
|
4770
|
+
/** Default content to put into an empty cell */
|
|
4771
|
+
emptyCell?: ReactNode;
|
|
4772
|
+
presentationSettings?: Pick<PresentationFieldProps, "borderless" | "borderOnHover" | "typeScale"> & Pick<PresentationContextProps, "wrap">;
|
|
4773
|
+
/** Minimum table width in pixels. Used when calculating columns sizes */
|
|
4774
|
+
minWidthPx?: number;
|
|
4775
|
+
/** Css to apply at each level of a parent/child nested table. */
|
|
4776
|
+
levels?: Record<number, {
|
|
4777
|
+
/** Number of pixels to indent the row. This value will be subtracted from the "first content column" width. First content column is the first column that is not an 'action' column (i.e. non-checkbox or non-collapse button column) */
|
|
4778
|
+
rowIndent?: number;
|
|
4779
|
+
cellCss?: Properties;
|
|
4780
|
+
firstContentColumn?: Properties;
|
|
4781
|
+
}> | ((level: number) => {
|
|
4782
|
+
rowIndent?: number;
|
|
4783
|
+
cellCss?: Properties;
|
|
4784
|
+
firstContentColumn?: Properties;
|
|
4785
|
+
});
|
|
4786
|
+
/** Allows for customization of the background color used to denote an "active" row */
|
|
4787
|
+
activeBgColor?: Palette;
|
|
4788
|
+
/** Defines styles for the group row which holds the selected rows that have been filtered out */
|
|
4789
|
+
keptGroupRowCss?: Properties;
|
|
4790
|
+
/** Defines styles for the last row `keptGroup` to provide separation from the rest of the table */
|
|
4791
|
+
keptLastRowCss?: Properties;
|
|
4723
4792
|
}
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4793
|
+
interface GridStyleDef {
|
|
4794
|
+
/** Changes the height of the rows when `rowHeight: fixed` to provide more space between rows for input fields. */
|
|
4795
|
+
inlineEditing?: boolean;
|
|
4796
|
+
/** Adds styling for grouped rows */
|
|
4797
|
+
grouped?: boolean;
|
|
4798
|
+
/** 'fixed' height rows do not allow text to wrap. 'flexible' allows for wrapping. Defaults to `flexible` */
|
|
4799
|
+
rowHeight?: "fixed" | "flexible";
|
|
4800
|
+
/** Enables cells Highlight and hover */
|
|
4801
|
+
cellHighlight?: boolean;
|
|
4802
|
+
/** Applies a white background to the whole table, including header and group rows. */
|
|
4803
|
+
allWhite?: boolean;
|
|
4804
|
+
/** Whether to apply a border around the whole table */
|
|
4805
|
+
bordered?: boolean;
|
|
4806
|
+
/** Whether to show a hover effect on rows. Defaults to true */
|
|
4807
|
+
rowHover?: boolean;
|
|
4808
|
+
/** Defines the vertical alignment of the content of the cells for the whole table (not including the 'header' rows). Defaults to `center` */
|
|
4809
|
+
vAlign?: "top" | "center" | "bottom";
|
|
4810
|
+
/** Defines the Typography for the table body's cells (not the header). This only applies to rows that are not nested/grouped */
|
|
4811
|
+
cellTypography?: Typography;
|
|
4812
|
+
/** Defines if the table should highlight the row on hover. Defaults to true */
|
|
4813
|
+
highlightOnHover?: boolean;
|
|
4734
4814
|
}
|
|
4735
|
-
declare
|
|
4736
|
-
|
|
4737
|
-
|
|
4815
|
+
declare const getTableStyles: (props?: GridStyleDef) => GridStyle;
|
|
4816
|
+
/** Defines row-specific styling for each given row `kind` in `R` */
|
|
4817
|
+
type RowStyles<R extends Kinded> = {
|
|
4818
|
+
[P in R["kind"]]?: RowStyle<DiscriminateUnion<R, "kind", P>>;
|
|
4738
4819
|
};
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4747
|
-
|
|
4748
|
-
|
|
4749
|
-
|
|
4750
|
-
top: csstype.Property.Top<string | 0> | undefined;
|
|
4751
|
-
} & {
|
|
4752
|
-
left: csstype.Property.Left<string | 0> | undefined;
|
|
4753
|
-
} & {
|
|
4754
|
-
opacity: csstype.Property.Opacity | undefined;
|
|
4755
|
-
} & {
|
|
4756
|
-
pointerEvents: csstype.Property.PointerEvents | undefined;
|
|
4757
|
-
};
|
|
4758
|
-
|
|
4759
|
-
interface ButtonProps extends BeamButtonProps, BeamFocusableProps {
|
|
4760
|
-
label: ReactNode;
|
|
4761
|
-
variant?: ButtonVariant;
|
|
4762
|
-
size?: ButtonSize;
|
|
4763
|
-
icon?: IconProps["icon"] | null;
|
|
4764
|
-
/** Displays contents after the Button's label. Will be ignored for Buttons rendered as a link with an absolute URL */
|
|
4765
|
-
endAdornment?: ReactNode;
|
|
4766
|
-
/** HTML attributes to apply to the button element when it is being used to trigger a menu. */
|
|
4767
|
-
menuTriggerProps?: AriaButtonProps;
|
|
4768
|
-
buttonRef?: RefObject<HTMLElement>;
|
|
4769
|
-
/** Allow for setting "submit" | "button" | "reset" on button element */
|
|
4770
|
-
type?: ButtonHTMLAttributes<HTMLButtonElement>["type"];
|
|
4771
|
-
/** Denotes if this button is used to download a resource. Uses the anchor tag with the `download` attribute */
|
|
4772
|
-
download?: boolean;
|
|
4773
|
-
contrast?: boolean;
|
|
4774
|
-
/** Additional text to further customize button during an async request is in progress. */
|
|
4775
|
-
labelInFlight?: string;
|
|
4776
|
-
/** Shows pressed/active styles (useful when a menu is open) */
|
|
4777
|
-
active?: boolean;
|
|
4778
|
-
}
|
|
4779
|
-
declare function Button(props: ButtonProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
4780
|
-
type ButtonSize = "sm" | "md" | "lg";
|
|
4781
|
-
type ButtonVariant = "primary" | "secondary" | "secondaryBlack" | "tertiary" | "tertiaryDanger" | "caution" | "danger" | "quaternary" | "text" | "textSecondary";
|
|
4782
|
-
|
|
4783
|
-
interface IconButtonProps extends BeamButtonProps, BeamFocusableProps {
|
|
4784
|
-
/** The icon to use within the button. */
|
|
4785
|
-
icon: IconProps["icon"];
|
|
4786
|
-
color?: Palette;
|
|
4787
|
-
bgColor?: Palette;
|
|
4788
|
-
/** The size of the icon, in increments, defaults to 3 which is 24px. */
|
|
4789
|
-
inc?: number;
|
|
4790
|
-
/** HTML attributes to apply to the button element when it is being used to trigger a menu. */
|
|
4791
|
-
menuTriggerProps?: AriaButtonProps;
|
|
4792
|
-
buttonRef?: RefObject<HTMLButtonElement>;
|
|
4793
|
-
/** Whether to show a 16x16px version of the IconButton */
|
|
4794
|
-
compact?: boolean;
|
|
4795
|
-
/** Whether to display the contrast variant */
|
|
4796
|
-
contrast?: boolean;
|
|
4797
|
-
/** Whether to display the circle variant */
|
|
4798
|
-
circle?: boolean;
|
|
4799
|
-
/** Indicates that the button is active/selected */
|
|
4800
|
-
active?: boolean;
|
|
4801
|
-
/** Denotes if this button is used to download a resource. Uses the anchor tag with the `download` attribute */
|
|
4802
|
-
download?: boolean;
|
|
4803
|
-
/** Provides label for screen readers - Will become a required soon */
|
|
4804
|
-
label?: string;
|
|
4805
|
-
}
|
|
4806
|
-
declare function IconButton(props: IconButtonProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
4807
|
-
declare const iconButtonStylesHover: {
|
|
4808
|
-
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
4809
|
-
};
|
|
4810
|
-
declare const iconButtonContrastStylesHover: {
|
|
4811
|
-
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
4812
|
-
};
|
|
4813
|
-
declare const iconButtonCircleStylesHover: {
|
|
4814
|
-
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
4815
|
-
} & {
|
|
4816
|
-
borderColor: csstype.Property.BorderColor | undefined;
|
|
4817
|
-
};
|
|
4818
|
-
|
|
4819
|
-
interface NavLinkProps extends BeamFocusableProps {
|
|
4820
|
-
/** active indicates the user is on the current page */
|
|
4821
|
-
active?: boolean;
|
|
4822
|
-
disabled?: boolean;
|
|
4823
|
-
/** if `href` isn't provided, it is treated as a <button> */
|
|
4824
|
-
href?: string;
|
|
4825
|
-
label: ReactNode;
|
|
4826
|
-
icon?: IconKey;
|
|
4827
|
-
variant: NavLinkVariant;
|
|
4828
|
-
openInNew?: boolean;
|
|
4829
|
-
contrast?: boolean;
|
|
4830
|
-
/** HTML attributes to apply to the button element when it is being used to trigger a menu. */
|
|
4831
|
-
menuTriggerProps?: AriaButtonProps;
|
|
4832
|
-
buttonRef?: RefObject<HTMLElement>;
|
|
4833
|
-
}
|
|
4834
|
-
type NavLinkVariant = "side" | "global";
|
|
4835
|
-
declare function NavLink(props: NavLinkProps): JSX.Element;
|
|
4836
|
-
|
|
4837
|
-
interface TextButtonTriggerProps extends Pick<ButtonProps, "label" | "variant" | "size" | "icon"> {
|
|
4838
|
-
}
|
|
4839
|
-
interface IconButtonTriggerProps extends Pick<IconButtonProps, "icon" | "color" | "compact" | "contrast" | "inc"> {
|
|
4840
|
-
}
|
|
4841
|
-
interface AvatarButtonTriggerProps extends Pick<AvatarButtonProps, "src" | "name" | "size"> {
|
|
4842
|
-
}
|
|
4843
|
-
interface NavLinkButtonTriggerProps extends Pick<NavLinkProps, "active" | "variant" | "icon"> {
|
|
4844
|
-
navLabel: string;
|
|
4845
|
-
}
|
|
4846
|
-
interface OverlayTriggerProps {
|
|
4847
|
-
trigger: TextButtonTriggerProps | IconButtonTriggerProps | AvatarButtonTriggerProps | NavLinkButtonTriggerProps;
|
|
4848
|
-
/** Defaults to "left" */
|
|
4849
|
-
placement?: "left" | "right";
|
|
4850
|
-
/** Whether the Button is disabled. If a ReactNode, it's treated as a "disabled reason" that's shown in a tooltip. */
|
|
4851
|
-
disabled?: boolean | ReactNode;
|
|
4852
|
-
/** Text to be shown via a tooltip when the user hovers over the button */
|
|
4853
|
-
tooltip?: ReactNode;
|
|
4854
|
-
/** The component to be shown within the overlay */
|
|
4855
|
-
children: ReactElement;
|
|
4856
|
-
/** Props returned by the useMenuTrigger hook to be passed to the button element */
|
|
4857
|
-
menuTriggerProps: AriaButtonProps;
|
|
4858
|
-
/** Ref for the button element */
|
|
4859
|
-
buttonRef: MutableRefObject<HTMLButtonElement | null>;
|
|
4860
|
-
/** Result of the useMenuTriggerState hook */
|
|
4861
|
-
state: MenuTriggerState;
|
|
4862
|
-
/** Prop set the style of the button element */
|
|
4863
|
-
variant?: ButtonVariant;
|
|
4864
|
-
hideEndAdornment?: boolean;
|
|
4865
|
-
showActiveBorder?: boolean;
|
|
4866
|
-
contrast?: boolean;
|
|
4867
|
-
}
|
|
4868
|
-
|
|
4869
|
-
type EditColumnsButtonProps<R extends Kinded> = {
|
|
4870
|
-
columns: GridColumn<R>[];
|
|
4871
|
-
api: GridTableApi<R>;
|
|
4872
|
-
defaultOpen?: boolean;
|
|
4873
|
-
} & Pick<OverlayTriggerProps, "trigger" | "placement" | "disabled" | "tooltip">;
|
|
4874
|
-
declare function EditColumnsButton<R extends Kinded>(props: EditColumnsButtonProps<R>): _emotion_react_jsx_runtime.JSX.Element;
|
|
4875
|
-
|
|
4876
|
-
interface SelectToggleProps {
|
|
4877
|
-
id: string;
|
|
4878
|
-
disabled?: boolean | ReactNode;
|
|
4879
|
-
}
|
|
4880
|
-
/** Provides a checkbox to show/drive this row's selected state. */
|
|
4881
|
-
declare function SelectToggle({ id, disabled }: SelectToggleProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
4882
|
-
|
|
4883
|
-
interface SortHeaderProps {
|
|
4884
|
-
content: string;
|
|
4885
|
-
xss?: Properties;
|
|
4886
|
-
iconOnLeft?: boolean;
|
|
4887
|
-
sortKey: string;
|
|
4888
|
-
tooltipEl?: ReactNode;
|
|
4889
|
-
}
|
|
4890
|
-
/**
|
|
4891
|
-
* Wraps column header names with up/down sorting icons.
|
|
4892
|
-
*
|
|
4893
|
-
* GridTable will use this automatically if the header content is just a text string.
|
|
4894
|
-
*
|
|
4895
|
-
* Alternatively, callers can also:
|
|
4896
|
-
*
|
|
4897
|
-
* - Instantiate this SortHeader directly with some customizations in `xss`, or
|
|
4898
|
-
* - Write their own component that uses `GridSortContext` to access the column's
|
|
4899
|
-
* current sort state + `toggleSort` function
|
|
4900
|
-
*/
|
|
4901
|
-
declare function SortHeader(props: SortHeaderProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
4902
|
-
|
|
4903
|
-
/**
|
|
4904
|
-
* Calculates an array of sizes for each of our columns.
|
|
4905
|
-
*
|
|
4906
|
-
* We originally supported CSS grid-template-column definitions which allowed fancier,
|
|
4907
|
-
* dynamic/content-based widths, but have eventually dropped it mainly due to:
|
|
4908
|
-
*
|
|
4909
|
-
* 1. In virtual tables, a) the table never has all of the rows in DOM at a single time,
|
|
4910
|
-
* so any "content-based" widths will change as you scroll the table, which is weird, and
|
|
4911
|
-
* b) a sticky header and rows are put in different DOM parent elements by react-virtuoso,
|
|
4912
|
-
* so wouldn't arrive at the same "content-based" widths.
|
|
4913
|
-
*
|
|
4914
|
-
* 2. Using CSS grid but still have a row-level div for hover/focus targeting required
|
|
4915
|
-
* a "fake" `display: contents` div that couldn't have actually any styles applied to it.
|
|
4916
|
-
*
|
|
4917
|
-
* So we've just got with essentially fixed/deterministic widths, i.e. `px` or `percent` or
|
|
4918
|
-
* `fr`.
|
|
4919
|
-
*
|
|
4920
|
-
* Disclaimer that we roll our own `fr` b/c we're not in CSS grid anymore.
|
|
4921
|
-
*/
|
|
4922
|
-
declare function useSetupColumnSizes<R extends Kinded>(style: GridStyle, columns: GridColumnWithId<R>[], resizeRef: MutableRefObject<HTMLElement | null>, expandedColumnIds: string[], visibleColumnsStorageKey: string | undefined, disableColumnResizing: boolean): {
|
|
4923
|
-
columnSizes: string[];
|
|
4924
|
-
tableWidth: number | undefined;
|
|
4925
|
-
resizedWidths: ResizedWidths;
|
|
4926
|
-
setResizedWidth: (columnId: string, width: number) => void;
|
|
4927
|
-
setResizedWidths: (widths: ResizedWidths | ((prev: ResizedWidths) => ResizedWidths)) => void;
|
|
4928
|
-
resetColumnWidths: () => void;
|
|
4929
|
-
};
|
|
4930
|
-
|
|
4931
|
-
/** Provides default styling for a GridColumn representing a Date. */
|
|
4932
|
-
declare function column<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
4933
|
-
/** Provides default styling for a GridColumn representing a Date. */
|
|
4934
|
-
declare function dateColumn<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
4935
|
-
/**
|
|
4936
|
-
* Provides default styling for a GridColumn representing a Numeric value (Price, percentage, PO #, etc.). */
|
|
4937
|
-
declare function numericColumn<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
4938
|
-
/** Provides default styling for a GridColumn representing an Action. */
|
|
4939
|
-
declare function actionColumn<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
4940
|
-
/**
|
|
4941
|
-
* Provides default styling for a GridColumn containing a checkbox.
|
|
4942
|
-
*
|
|
4943
|
-
* We allow either no `columnDef` at all, or a partial column def (i.e. to say a Totals row should
|
|
4944
|
-
* not have a `SelectToggle`, b/c we can provide the default behavior a `SelectToggle` for basically
|
|
4945
|
-
* all rows.
|
|
4946
|
-
*/
|
|
4947
|
-
declare function selectColumn<T extends Kinded>(columnDef?: Partial<GridColumn<T>>): GridColumn<T>;
|
|
4948
|
-
/**
|
|
4949
|
-
* Provides default styling for a GridColumn containing a collapse icon.
|
|
4950
|
-
*
|
|
4951
|
-
* We allow either no `columnDef` at all, or a partial column def (i.e. to say a Totals row should
|
|
4952
|
-
* not have a `CollapseToggle`, b/c we can provide the default behavior a `CollapseToggle` for basically
|
|
4953
|
-
* all rows.
|
|
4954
|
-
*/
|
|
4955
|
-
declare function collapseColumn<T extends Kinded>(columnDef?: Partial<GridColumn<T>>): GridColumn<T>;
|
|
4956
|
-
declare function parseWidthToPx(widthStr: string | undefined, tableWidth: number | undefined): number | null;
|
|
4957
|
-
/**
|
|
4958
|
-
* Calculates column widths using a flexible `calc()` definition that allows for consistent column alignment without the use of `<table />`, CSS Grid, etc layouts.
|
|
4959
|
-
* Enforces only fixed-sized units (% and px)
|
|
4960
|
-
*/
|
|
4961
|
-
declare function calcColumnSizes<R extends Kinded>(columns: GridColumnWithId<R>[], tableWidth: number | undefined, tableMinWidthPx: number | undefined, expandedColumnIds: string[], resizedWidths?: ResizedWidths): string[];
|
|
4962
|
-
/** Assign column ids if missing. */
|
|
4963
|
-
declare function assignDefaultColumnIds<T extends Kinded>(columns: GridColumn<T>[]): GridColumnWithId<T>[];
|
|
4964
|
-
declare const generateColumnId: (columnIndex: number) => string;
|
|
4965
|
-
declare function dragHandleColumn<T extends Kinded>(columnDef?: Partial<GridColumn<T>>): GridColumn<T>;
|
|
4966
|
-
|
|
4967
|
-
/**
|
|
4968
|
-
* Allows a caller to ask for the currently shown rows, given the current sorting/filtering.
|
|
4969
|
-
*
|
|
4970
|
-
* We will probably end up generalizing this into a GridTableApi that exposes more
|
|
4971
|
-
* actions i.e. scrolling to a row and selection state.
|
|
4972
|
-
*/
|
|
4973
|
-
interface GridRowLookup<R extends Kinded> {
|
|
4974
|
-
/** Returns both the immediate next/prev rows, as well as `[kind].next/prev` values, ignoring headers. */
|
|
4975
|
-
lookup(row: GridDataRow<R>, additionalFilter?: (row: GridDataRow<R>) => boolean): NextPrev<R> & {
|
|
4976
|
-
[P in R["kind"]]: NextPrev<DiscriminateUnion<R, "kind", P>>;
|
|
4977
|
-
};
|
|
4978
|
-
/** Returns the list of currently filtered/sorted rows, without headers. */
|
|
4979
|
-
currentList(): readonly GridDataRow<R>[];
|
|
4980
|
-
/**
|
|
4981
|
-
* Scroll's to the row with the given kind + id. Requires using `as=virtual`.
|
|
4982
|
-
* Will skip re-scrolling to a row if it's already visible.
|
|
4983
|
-
*/
|
|
4984
|
-
scrollTo(kind: R["kind"], id: string): void;
|
|
4985
|
-
}
|
|
4986
|
-
interface NextPrev<R extends Kinded> {
|
|
4987
|
-
next: GridDataRow<R> | undefined;
|
|
4988
|
-
prev: GridDataRow<R> | undefined;
|
|
4820
|
+
interface RowStyle<R extends Kinded> {
|
|
4821
|
+
/** Applies this css to the wrapper row, i.e. for row-level hovers. */
|
|
4822
|
+
rowCss?: Properties | ((row: R) => Properties);
|
|
4823
|
+
/** Applies this css to each cell in the row. */
|
|
4824
|
+
cellCss?: Properties | ((row: R) => Properties);
|
|
4825
|
+
/** Renders the cell element, i.e. a link to get whole-row links. */
|
|
4826
|
+
renderCell?: RenderCellFn<R>;
|
|
4827
|
+
/** Whether the row should be a link. */
|
|
4828
|
+
rowLink?: (row: R) => string;
|
|
4829
|
+
/** Fired when the row is clicked, similar to rowLink but for actions that aren't 'go to this link'. */
|
|
4830
|
+
onClick?: (row: GridDataRow<R>, api: GridTableApi<R>) => void;
|
|
4989
4831
|
}
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
/**
|
|
4995
|
-
*
|
|
4996
|
-
*
|
|
4997
|
-
|
|
4998
|
-
* when rows are mobx proxies and we need proxy accesses to happen within the column
|
|
4999
|
-
* rendering.
|
|
5000
|
-
*/
|
|
5001
|
-
type SimpleHeaderAndData<T> = {
|
|
5002
|
-
kind: "header";
|
|
5003
|
-
} | {
|
|
5004
|
-
kind: "data";
|
|
5005
|
-
data: T;
|
|
5006
|
-
id: string;
|
|
5007
|
-
};
|
|
5008
|
-
/** A const for a marker header row. */
|
|
5009
|
-
declare const simpleHeader: {
|
|
5010
|
-
kind: "header";
|
|
5011
|
-
id: string;
|
|
5012
|
-
data: undefined;
|
|
5013
|
-
};
|
|
5014
|
-
/** Like `simpleRows` but for `SimpleHeaderAndData`. */
|
|
5015
|
-
declare function simpleDataRows<R extends SimpleHeaderAndData<D>, D>(data?: Array<D & {
|
|
5016
|
-
id: string;
|
|
5017
|
-
}> | undefined): GridDataRow<R>[];
|
|
4832
|
+
/** Our original table look & feel/style. */
|
|
4833
|
+
declare const defaultStyle: GridStyle;
|
|
4834
|
+
/** Tightens up the padding of rows, great for rows that have form elements in them. */
|
|
4835
|
+
declare const condensedStyle: GridStyle;
|
|
4836
|
+
/** Renders each row as a card.
|
|
4837
|
+
* TODO: Add `cardStyle` option to `getTableStyles` and remove this.
|
|
4838
|
+
* */
|
|
4839
|
+
declare const cardStyle: GridStyle;
|
|
5018
4840
|
|
|
5019
4841
|
/**
|
|
5020
4842
|
* Manages loading/saving our currently-collapsed rows to session storage.
|
|
@@ -5043,165 +4865,6 @@ declare class RowStorage<R extends Kinded> {
|
|
|
5043
4865
|
wasCollapsed(id: string): boolean | undefined;
|
|
5044
4866
|
}
|
|
5045
4867
|
|
|
5046
|
-
/**
|
|
5047
|
-
* Manages our tree of observable RowStates that manage each GridDataRow's behavior.
|
|
5048
|
-
*/
|
|
5049
|
-
declare class RowStates<R extends Kinded> {
|
|
5050
|
-
private map;
|
|
5051
|
-
readonly table: TableState<R>;
|
|
5052
|
-
readonly storage: RowStorage<R>;
|
|
5053
|
-
private readonly header;
|
|
5054
|
-
private keptGroupRow;
|
|
5055
|
-
/** The first level of rows, i.e. not the header (or kept group), but the totals + top-level children. */
|
|
5056
|
-
private topRows;
|
|
5057
|
-
constructor(table: TableState<R>);
|
|
5058
|
-
/** Returns a flat list of all of our RowStates. */
|
|
5059
|
-
get allStates(): RowState<R>[];
|
|
5060
|
-
/** Returns the `RowState` for the given `id`. We should probably require `kind`. */
|
|
5061
|
-
get(id: string): RowState<R>;
|
|
5062
|
-
/**
|
|
5063
|
-
* Merge a new set of `rows` prop into our state.
|
|
5064
|
-
*
|
|
5065
|
-
* Any missing rows are marked as `wasRemoved` so we can consider them "kept" if they're also selected.
|
|
5066
|
-
*/
|
|
5067
|
-
setRows(rows: GridDataRow<R>[]): void;
|
|
5068
|
-
/** Fully delete `ids`, so they don't show up in kept rows anymore. */
|
|
5069
|
-
delete(ids: string[]): void;
|
|
5070
|
-
/** Implements special collapse behavior, which is just the header's collapse/uncollapse. */
|
|
5071
|
-
toggleCollapsed(id: string): void;
|
|
5072
|
-
get visibleRows(): RowState<R>[];
|
|
5073
|
-
/** Returns kept rows, i.e. those that were user-selected but then client-side or server-side filtered. */
|
|
5074
|
-
get keptRows(): RowState<R>[];
|
|
5075
|
-
get collapsedRows(): RowState<R>[];
|
|
5076
|
-
private createHeaderRow;
|
|
5077
|
-
/** Create our synthetic "group row" for kept rows, that users never pass in, but we self-inject as needed. */
|
|
5078
|
-
private createKeptGroupRow;
|
|
5079
|
-
maybeSetRowDraggedOver(id: string, draggedOver: DraggedOver, requireSameParentRow?: GridDataRow<R> | undefined): void;
|
|
5080
|
-
}
|
|
5081
|
-
|
|
5082
|
-
declare enum DraggedOver {
|
|
5083
|
-
None = 0,
|
|
5084
|
-
Above = 1,// In this case this means higher on the screen which means a lower y value and a lower row index
|
|
5085
|
-
Below = 2
|
|
5086
|
-
}
|
|
5087
|
-
/**
|
|
5088
|
-
* A reactive/observable state of each GridDataRow's current behavior.
|
|
5089
|
-
*
|
|
5090
|
-
* We set up the RowStates in a tree, just like GridDataRow, to make business logic
|
|
5091
|
-
* that uses parent/children easier to write, i.e. selected-ness and collapsed-ness.
|
|
5092
|
-
*/
|
|
5093
|
-
declare class RowState<R extends Kinded> {
|
|
5094
|
-
private states;
|
|
5095
|
-
parent: RowState<R> | undefined;
|
|
5096
|
-
/** Our row, not actually observed, b/c each `createRows` calc creates unstable rows. */
|
|
5097
|
-
private _row;
|
|
5098
|
-
/** Our data, only ref observed, so we don't crawl into GraphQL fragments. */
|
|
5099
|
-
private _data;
|
|
5100
|
-
/** Our children row states, as of the latest `props.rows`, without any filtering applied. */
|
|
5101
|
-
children: RowState<R>[] | undefined;
|
|
5102
|
-
/** Whether we are *directly* selected. */
|
|
5103
|
-
selected: boolean;
|
|
5104
|
-
/** Whether we are collapsed. */
|
|
5105
|
-
collapsed: boolean;
|
|
5106
|
-
/** Whether we are dragged over. */
|
|
5107
|
-
isDraggedOver: DraggedOver;
|
|
5108
|
-
/**
|
|
5109
|
-
* Whether our `row` had been in `props.rows`, but then removed _while being
|
|
5110
|
-
* selected_, i.e. potentially by server-side filters.
|
|
5111
|
-
*
|
|
5112
|
-
* We have had a large foot-gun where users "select a row", change the filters,
|
|
5113
|
-
* the row disappears (filtered out), and the user clicks "Go!", but the table
|
|
5114
|
-
* thinks their previously-selected row is gone (b/c it's not in view), and
|
|
5115
|
-
* then the row is inappropriately deleted/unassociated/etc. (b/c in the user's
|
|
5116
|
-
* head, it is "still selected").
|
|
5117
|
-
*
|
|
5118
|
-
* To avoid this, we by default keep selected rows, as "kept rows", to make
|
|
5119
|
-
* extra sure the user wants them to go away.
|
|
5120
|
-
*
|
|
5121
|
-
* Soft-deleted rows are rows that were removed from `props.rows` (i.e. we
|
|
5122
|
-
* suspect are just hidden by a changed server-side-filter), and hard-deleted
|
|
5123
|
-
* rows are rows the page called `api.deleteRow` and confirmed it should be
|
|
5124
|
-
* actively removed.
|
|
5125
|
-
*/
|
|
5126
|
-
removed: false | "soft" | "hard";
|
|
5127
|
-
private isCalculatingDirectMatch;
|
|
5128
|
-
constructor(states: RowStates<R>, parent: RowState<R> | undefined, row: GridDataRow<R>);
|
|
5129
|
-
/** Returns a stable-ish row identity that will only change if our `data` changes. */
|
|
5130
|
-
get row(): GridDataRow<R>;
|
|
5131
|
-
/** Accepts a new unstable row, i.e. each `createRows` creates a new row literal. */
|
|
5132
|
-
set row(row: GridDataRow<R>);
|
|
5133
|
-
/**
|
|
5134
|
-
* Whether we match a client-side filter; true if no filter is in place.
|
|
5135
|
-
*
|
|
5136
|
-
* We should try and keep this based solely on "does/does not match the filter",
|
|
5137
|
-
* and do any overrides for things like pinning/kept rows/etc. elsewhere.
|
|
5138
|
-
*/
|
|
5139
|
-
get isMatched(): boolean;
|
|
5140
|
-
/**
|
|
5141
|
-
* Whether we are effectively selected, for `GridTableApi.getSelectedRows`.
|
|
5142
|
-
*
|
|
5143
|
-
* Note that we don't use "I'm selected || my parent is selected" logic here, because whether a child is selected
|
|
5144
|
-
* is actually based on whether it was _visible at the time the parent was selected_. So, we can't just assume
|
|
5145
|
-
* "a parent being selected means the child is also selected", and instead parents have to push selected-ness down
|
|
5146
|
-
* to their visible children explicitly.
|
|
5147
|
-
*/
|
|
5148
|
-
get isSelected(): boolean;
|
|
5149
|
-
/** The UI state for checked/unchecked + "partially checked" for parents. */
|
|
5150
|
-
get selectedState(): SelectedState;
|
|
5151
|
-
/**
|
|
5152
|
-
* A special SelectedState that "sees through"/ignores inferSelectedState, so the header works.
|
|
5153
|
-
*
|
|
5154
|
-
* I.e. a row might have `inferSelectedState: false`, so is showing unchecked, but the header
|
|
5155
|
-
* wants to show partial-ness whenever any given child is selected.
|
|
5156
|
-
*/
|
|
5157
|
-
get selectedStateForHeader(): SelectedState;
|
|
5158
|
-
/**
|
|
5159
|
-
* Called to explicitly select/unselect this row.
|
|
5160
|
-
*
|
|
5161
|
-
* This could be either because the user clicked directly on us, or because we're a visible
|
|
5162
|
-
* child of a selected parent row.
|
|
5163
|
-
*/
|
|
5164
|
-
select(selected: boolean): void;
|
|
5165
|
-
/** Marks the row as removed from `props.rows`, to potentially become kept. */
|
|
5166
|
-
markRemoved(): void;
|
|
5167
|
-
toggleCollapsed(): void;
|
|
5168
|
-
/** Whether this is a selected-but-filtered-out row that we should hoist to the top. */
|
|
5169
|
-
get isKept(): boolean;
|
|
5170
|
-
get isLastKeptRow(): boolean;
|
|
5171
|
-
get key(): string;
|
|
5172
|
-
get kind(): string;
|
|
5173
|
-
get isActive(): boolean;
|
|
5174
|
-
get level(): number;
|
|
5175
|
-
private get inferSelectedState();
|
|
5176
|
-
/** Returns this row and, if we're not collapsed, our children. */
|
|
5177
|
-
get selfAndMaybeChildren(): RowState<R>[];
|
|
5178
|
-
private get visibleChildren();
|
|
5179
|
-
private get visibleDirectlyMatchedChildren();
|
|
5180
|
-
/** The `visibleChildren`, but with the current sort config applied. */
|
|
5181
|
-
private get visibleSortedChildren();
|
|
5182
|
-
private get hasSelectableChildren();
|
|
5183
|
-
/**
|
|
5184
|
-
* Returns whether this row should act like a parent.
|
|
5185
|
-
*
|
|
5186
|
-
* This means "has children" and "does not have inferSelectedState: false"
|
|
5187
|
-
* set. I.e. `inferSelectedState: false` allows a parent with children to
|
|
5188
|
-
* still act as its own selectable identity.
|
|
5189
|
-
*
|
|
5190
|
-
* We also check `children.length > 0`, because sometimes pages will calc a
|
|
5191
|
-
* row's children as `children = someList.map(...)`, and if the list is empty,
|
|
5192
|
-
* they want the row to be selectable.
|
|
5193
|
-
*/
|
|
5194
|
-
private get isParent();
|
|
5195
|
-
private get isPinned();
|
|
5196
|
-
get api(): GridRowApi<R>;
|
|
5197
|
-
get isReservedKind(): boolean;
|
|
5198
|
-
/** A dedicated method to "looking down" recursively, to avoid loops in `isMatched`. */
|
|
5199
|
-
private get hasDirectlyMatchedChildren();
|
|
5200
|
-
/** A dedicated method to "looking up" recursively, to avoid loops in `isMatched`. */
|
|
5201
|
-
private get hasDirectlyMatchedParent();
|
|
5202
|
-
private get isDirectlyMatched();
|
|
5203
|
-
}
|
|
5204
|
-
|
|
5205
4868
|
type SelectedState = "checked" | "unchecked" | "partial";
|
|
5206
4869
|
/**
|
|
5207
4870
|
* Stores the collapsed & selected state of rows.
|
|
@@ -5278,246 +4941,182 @@ declare class TableState<R extends Kinded> {
|
|
|
5278
4941
|
isCollapsed(id: string): boolean;
|
|
5279
4942
|
toggleCollapsed(id: string): void;
|
|
5280
4943
|
deleteRows(ids: string[]): void;
|
|
5281
|
-
maybeSetRowDraggedOver(id: string, draggedOver: DraggedOver, requireSameParentRow?: GridDataRow<R> | undefined): void;
|
|
5282
|
-
}
|
|
5283
|
-
/** Provides a context for rows to access their table's `TableState`. */
|
|
5284
|
-
declare const TableStateContext: React__default.Context<{
|
|
5285
|
-
tableState: TableState<any>;
|
|
5286
|
-
tableContainerRef?: React__default.MutableRefObject<HTMLElement | null>;
|
|
5287
|
-
}>;
|
|
5288
|
-
type ColumnSort = {
|
|
5289
|
-
columnId: string;
|
|
5290
|
-
direction: Direction;
|
|
5291
|
-
};
|
|
5292
|
-
type SortState = {
|
|
5293
|
-
current?: ColumnSort;
|
|
5294
|
-
/** The persistent sort is always applied first, i.e. for schedules, probably. */
|
|
5295
|
-
persistent?: ColumnSort;
|
|
5296
|
-
};
|
|
5297
|
-
type SortOn = "client" | "server" | undefined;
|
|
5298
|
-
|
|
5299
|
-
declare function sortRows<R extends Kinded>(columns: GridColumnWithId<R>[], rows: GridDataRow<R>[], sortState: SortState, caseSensitive: boolean): GridDataRow<R>[];
|
|
5300
|
-
/** Creates a comparator for two GridDataRows based on the current sortState. */
|
|
5301
|
-
declare function sortFn<R extends Kinded>(columns: GridColumnWithId<R>[], sortState: SortState, caseSensitive: boolean): (a: GridDataRow<R>, b: GridDataRow<R>) => number;
|
|
5302
|
-
declare function ensureClientSideSortValueIsSortable(sortOn: SortOn, isHeader: boolean, column: GridColumnWithId<any>, idx: number, maybeContent: ReactNode | GridCellContent): void;
|
|
5303
|
-
|
|
5304
|
-
/** If a column def return just string text for a given row, apply some default styling. */
|
|
5305
|
-
declare function toContent(maybeContent: ReactNode | GridCellContent, isHeader: boolean, canSortColumn: boolean, isClientSideSorting: boolean, style: GridStyle, as: RenderAs, alignment: GridCellAlignment, column: GridColumnWithId<any>, isExpandableHeader: boolean, isExpandable: boolean, minStickyLeftOffset: number, isKeptSelectedRow: boolean): ReactNode;
|
|
5306
|
-
declare function isGridCellContent(content: ReactNode | GridCellContent): content is GridCellContent;
|
|
5307
|
-
type DragData<R extends Kinded> = {
|
|
5308
|
-
rowRenderRef: React.RefObject<HTMLTableRowElement>;
|
|
5309
|
-
onDragStart?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
5310
|
-
onDragEnd?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
5311
|
-
onDrop?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
5312
|
-
onDragEnter?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
5313
|
-
onDragOver?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
5314
|
-
};
|
|
5315
|
-
/** Return the content for a given column def applied to a given row. */
|
|
5316
|
-
declare function applyRowFn<R extends Kinded>(column: GridColumnWithId<R>, row: GridDataRow<R>, api: GridRowApi<R>, level: number, expanded: boolean, dragData?: DragData<R>): ReactNode | GridCellContent;
|
|
5317
|
-
declare const ASC: "ASC";
|
|
5318
|
-
declare const DESC: "DESC";
|
|
5319
|
-
declare const emptyCell: GridCellContent;
|
|
5320
|
-
declare function getFirstOrLastCellCss<R extends Kinded>(style: GridStyle, columnIndex: number, columns: GridColumnWithId<R>[], colspan?: number): Properties;
|
|
5321
|
-
/** A heuristic to detect the result of `React.createElement` / i.e. JSX. */
|
|
5322
|
-
declare function isJSX(content: any): boolean;
|
|
5323
|
-
declare function getAlignment(column: GridColumnWithId<any>, maybeContent: ReactNode | GridCellContent): GridCellAlignment;
|
|
5324
|
-
declare function getJustification(column: GridColumnWithId<any>, maybeContent: ReactNode | GridCellContent, as: RenderAs, alignment: GridCellAlignment): {
|
|
5325
|
-
textAlign: csstype.Property.TextAlign | undefined;
|
|
5326
|
-
};
|
|
5327
|
-
declare function maybeApplyFunction<T>(row: T, maybeFn: Properties | ((row: T) => Properties) | undefined): Properties | undefined;
|
|
5328
|
-
declare function matchesFilter(maybeContent: ReactNode | GridCellContent, filter: string): boolean;
|
|
5329
|
-
declare const HEADER = "header";
|
|
5330
|
-
declare const TOTALS = "totals";
|
|
5331
|
-
/** Tables expandable columns get an extra header. */
|
|
5332
|
-
declare const EXPANDABLE_HEADER = "expandableHeader";
|
|
5333
|
-
declare const KEPT_GROUP = "keptGroup";
|
|
5334
|
-
declare const reservedRowKinds: string[];
|
|
5335
|
-
declare const zIndices: {
|
|
5336
|
-
stickyHeader: number;
|
|
5337
|
-
stickyColumns: number;
|
|
5338
|
-
expandableHeaderTitle: number;
|
|
5339
|
-
expandableHeaderIcon: number;
|
|
4944
|
+
maybeSetRowDraggedOver(id: string, draggedOver: DraggedOver, requireSameParentRow?: GridDataRow<R> | undefined): void;
|
|
4945
|
+
}
|
|
4946
|
+
/** Provides a context for rows to access their table's `TableState`. */
|
|
4947
|
+
declare const TableStateContext: React__default.Context<{
|
|
4948
|
+
tableState: TableState<any>;
|
|
4949
|
+
tableContainerRef?: React__default.MutableRefObject<HTMLElement | null>;
|
|
4950
|
+
}>;
|
|
4951
|
+
type ColumnSort = {
|
|
4952
|
+
columnId: string;
|
|
4953
|
+
direction: Direction;
|
|
5340
4954
|
};
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
declare function recursivelyGetContainingRow<R extends Kinded>(rowId: string, rowArray: GridDataRow<R>[], parent?: GridDataRow<R>): {
|
|
5346
|
-
array: GridDataRow<R>[];
|
|
5347
|
-
parent: GridDataRow<R> | undefined;
|
|
5348
|
-
} | undefined;
|
|
5349
|
-
declare function getTableRefWidthStyles(isVirtual: boolean): {
|
|
5350
|
-
width: csstype.Property.Width<string | 0> | undefined;
|
|
4955
|
+
type SortState = {
|
|
4956
|
+
current?: ColumnSort;
|
|
4957
|
+
/** The persistent sort is always applied first, i.e. for schedules, probably. */
|
|
4958
|
+
persistent?: ColumnSort;
|
|
5351
4959
|
};
|
|
4960
|
+
type SortOn = "client" | "server" | undefined;
|
|
5352
4961
|
|
|
5353
|
-
|
|
4962
|
+
/**
|
|
4963
|
+
* Manages our tree of observable RowStates that manage each GridDataRow's behavior.
|
|
4964
|
+
*/
|
|
4965
|
+
declare class RowStates<R extends Kinded> {
|
|
4966
|
+
private map;
|
|
4967
|
+
readonly table: TableState<R>;
|
|
4968
|
+
readonly storage: RowStorage<R>;
|
|
4969
|
+
private readonly header;
|
|
4970
|
+
private keptGroupRow;
|
|
4971
|
+
/** The first level of rows, i.e. not the header (or kept group), but the totals + top-level children. */
|
|
4972
|
+
private topRows;
|
|
4973
|
+
constructor(table: TableState<R>);
|
|
4974
|
+
/** Returns a flat list of all of our RowStates. */
|
|
4975
|
+
get allStates(): RowState<R>[];
|
|
4976
|
+
/** Returns the `RowState` for the given `id`. We should probably require `kind`. */
|
|
4977
|
+
get(id: string): RowState<R>;
|
|
4978
|
+
/**
|
|
4979
|
+
* Merge a new set of `rows` prop into our state.
|
|
4980
|
+
*
|
|
4981
|
+
* Any missing rows are marked as `wasRemoved` so we can consider them "kept" if they're also selected.
|
|
4982
|
+
*/
|
|
4983
|
+
setRows(rows: GridDataRow<R>[]): void;
|
|
4984
|
+
/** Fully delete `ids`, so they don't show up in kept rows anymore. */
|
|
4985
|
+
delete(ids: string[]): void;
|
|
4986
|
+
/** Implements special collapse behavior, which is just the header's collapse/uncollapse. */
|
|
4987
|
+
toggleCollapsed(id: string): void;
|
|
4988
|
+
get visibleRows(): RowState<R>[];
|
|
4989
|
+
/** Returns kept rows, i.e. those that were user-selected but then client-side or server-side filtered. */
|
|
4990
|
+
get keptRows(): RowState<R>[];
|
|
4991
|
+
get collapsedRows(): RowState<R>[];
|
|
4992
|
+
private createHeaderRow;
|
|
4993
|
+
/** Create our synthetic "group row" for kept rows, that users never pass in, but we self-inject as needed. */
|
|
4994
|
+
private createKeptGroupRow;
|
|
4995
|
+
maybeSetRowDraggedOver(id: string, draggedOver: DraggedOver, requireSameParentRow?: GridDataRow<R> | undefined): void;
|
|
4996
|
+
}
|
|
5354
4997
|
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
labelStyle?: "inline" | "hidden" | "above" | "left";
|
|
5360
|
-
/** Defines the width property of the input field wrapper when using `labelStyle="left"`. */
|
|
5361
|
-
labelLeftFieldWidth?: number | string;
|
|
5362
|
-
labelSuffix?: LabelSuffixStyle;
|
|
5363
|
-
borderless?: boolean;
|
|
5364
|
-
borderOnHover?: boolean;
|
|
5365
|
-
compact?: boolean;
|
|
5366
|
-
typeScale?: Typography;
|
|
5367
|
-
visuallyDisabled?: false;
|
|
5368
|
-
errorInTooltip?: true;
|
|
5369
|
-
/** Allow the fields to grow to the width of its container. By default, fields will extend up to 550px */
|
|
5370
|
-
fullWidth?: boolean;
|
|
5371
|
-
/** Changes bg and hoverBg; Takes priority over `contrast`; Useful when showing many fields w/in a table that require user attention; In no way should be used as a replacement for error/focus state */
|
|
5372
|
-
inputStylePalette?: InputStylePalette;
|
|
4998
|
+
declare enum DraggedOver {
|
|
4999
|
+
None = 0,
|
|
5000
|
+
Above = 1,// In this case this means higher on the screen which means a lower y value and a lower row index
|
|
5001
|
+
Below = 2
|
|
5373
5002
|
}
|
|
5374
|
-
type PresentationContextProps = {
|
|
5375
|
-
/** `inputStylePalette` omitted because it is too dependent on the individual field use case to be controlled at this level */
|
|
5376
|
-
fieldProps?: Omit<PresentationFieldProps, "inputStylePalette">;
|
|
5377
|
-
gridTableStyle?: GridStyle;
|
|
5378
|
-
wrap?: boolean;
|
|
5379
|
-
};
|
|
5380
|
-
declare function PresentationProvider(props: PropsWithChildren<PresentationContextProps>): _emotion_react_jsx_runtime.JSX.Element;
|
|
5381
5003
|
/**
|
|
5382
|
-
*
|
|
5004
|
+
* A reactive/observable state of each GridDataRow's current behavior.
|
|
5383
5005
|
*
|
|
5384
|
-
* We
|
|
5385
|
-
*
|
|
5006
|
+
* We set up the RowStates in a tree, just like GridDataRow, to make business logic
|
|
5007
|
+
* that uses parent/children easier to write, i.e. selected-ness and collapsed-ness.
|
|
5386
5008
|
*/
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
/**
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
/**
|
|
5395
|
-
|
|
5396
|
-
/**
|
|
5397
|
-
|
|
5009
|
+
declare class RowState<R extends Kinded> {
|
|
5010
|
+
private states;
|
|
5011
|
+
parent: RowState<R> | undefined;
|
|
5012
|
+
/** Our row, not actually observed, b/c each `createRows` calc creates unstable rows. */
|
|
5013
|
+
private _row;
|
|
5014
|
+
/** Our data, only ref observed, so we don't crawl into GraphQL fragments. */
|
|
5015
|
+
private _data;
|
|
5016
|
+
/** Our children row states, as of the latest `props.rows`, without any filtering applied. */
|
|
5017
|
+
children: RowState<R>[] | undefined;
|
|
5018
|
+
/** Whether we are *directly* selected. */
|
|
5019
|
+
selected: boolean;
|
|
5020
|
+
/** Whether we are collapsed. */
|
|
5021
|
+
collapsed: boolean;
|
|
5022
|
+
/** Whether we are dragged over. */
|
|
5023
|
+
isDraggedOver: DraggedOver;
|
|
5398
5024
|
/**
|
|
5399
|
-
*
|
|
5400
|
-
*
|
|
5401
|
-
*
|
|
5025
|
+
* Whether our `row` had been in `props.rows`, but then removed _while being
|
|
5026
|
+
* selected_, i.e. potentially by server-side filters.
|
|
5027
|
+
*
|
|
5028
|
+
* We have had a large foot-gun where users "select a row", change the filters,
|
|
5029
|
+
* the row disappears (filtered out), and the user clicks "Go!", but the table
|
|
5030
|
+
* thinks their previously-selected row is gone (b/c it's not in view), and
|
|
5031
|
+
* then the row is inappropriately deleted/unassociated/etc. (b/c in the user's
|
|
5032
|
+
* head, it is "still selected").
|
|
5033
|
+
*
|
|
5034
|
+
* To avoid this, we by default keep selected rows, as "kept rows", to make
|
|
5035
|
+
* extra sure the user wants them to go away.
|
|
5036
|
+
*
|
|
5037
|
+
* Soft-deleted rows are rows that were removed from `props.rows` (i.e. we
|
|
5038
|
+
* suspect are just hidden by a changed server-side-filter), and hard-deleted
|
|
5039
|
+
* rows are rows the page called `api.deleteRow` and confirmed it should be
|
|
5040
|
+
* actively removed.
|
|
5402
5041
|
*/
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
/**
|
|
5407
|
-
|
|
5408
|
-
/**
|
|
5409
|
-
|
|
5410
|
-
/** Applied to the first body row, i.e. if you want to cancel out `betweenRowsCss`. */
|
|
5411
|
-
firstBodyRowCss?: Properties;
|
|
5412
|
-
/** Applied to all cell divs (via a selector off the base div). */
|
|
5413
|
-
cellCss?: Properties;
|
|
5042
|
+
removed: false | "soft" | "hard";
|
|
5043
|
+
private isCalculatingDirectMatch;
|
|
5044
|
+
constructor(states: RowStates<R>, parent: RowState<R> | undefined, row: GridDataRow<R>);
|
|
5045
|
+
/** Returns a stable-ish row identity that will only change if our `data` changes. */
|
|
5046
|
+
get row(): GridDataRow<R>;
|
|
5047
|
+
/** Accepts a new unstable row, i.e. each `createRows` creates a new row literal. */
|
|
5048
|
+
set row(row: GridDataRow<R>);
|
|
5414
5049
|
/**
|
|
5415
|
-
*
|
|
5050
|
+
* Whether we match a client-side filter; true if no filter is in place.
|
|
5416
5051
|
*
|
|
5417
|
-
*
|
|
5418
|
-
*
|
|
5419
|
-
* margin-top instead. Using `headerCellCss` will not work since the header
|
|
5420
|
-
* rows are wrapper with Chrome rows.
|
|
5052
|
+
* We should try and keep this based solely on "does/does not match the filter",
|
|
5053
|
+
* and do any overrides for things like pinning/kept rows/etc. elsewhere.
|
|
5421
5054
|
*/
|
|
5422
|
-
|
|
5423
|
-
/**
|
|
5424
|
-
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
|
|
5440
|
-
|
|
5441
|
-
/**
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
/**
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
/**
|
|
5482
|
-
|
|
5483
|
-
/**
|
|
5484
|
-
|
|
5485
|
-
|
|
5486
|
-
bordered?: boolean;
|
|
5487
|
-
/** Whether to show a hover effect on rows. Defaults to true */
|
|
5488
|
-
rowHover?: boolean;
|
|
5489
|
-
/** Defines the vertical alignment of the content of the cells for the whole table (not including the 'header' rows). Defaults to `center` */
|
|
5490
|
-
vAlign?: "top" | "center" | "bottom";
|
|
5491
|
-
/** Defines the Typography for the table body's cells (not the header). This only applies to rows that are not nested/grouped */
|
|
5492
|
-
cellTypography?: Typography;
|
|
5493
|
-
/** Defines if the table should highlight the row on hover. Defaults to true */
|
|
5494
|
-
highlightOnHover?: boolean;
|
|
5495
|
-
}
|
|
5496
|
-
declare const getTableStyles: (props?: GridStyleDef) => GridStyle;
|
|
5497
|
-
/** Defines row-specific styling for each given row `kind` in `R` */
|
|
5498
|
-
type RowStyles<R extends Kinded> = {
|
|
5499
|
-
[P in R["kind"]]?: RowStyle<DiscriminateUnion<R, "kind", P>>;
|
|
5500
|
-
};
|
|
5501
|
-
interface RowStyle<R extends Kinded> {
|
|
5502
|
-
/** Applies this css to the wrapper row, i.e. for row-level hovers. */
|
|
5503
|
-
rowCss?: Properties | ((row: R) => Properties);
|
|
5504
|
-
/** Applies this css to each cell in the row. */
|
|
5505
|
-
cellCss?: Properties | ((row: R) => Properties);
|
|
5506
|
-
/** Renders the cell element, i.e. a link to get whole-row links. */
|
|
5507
|
-
renderCell?: RenderCellFn<R>;
|
|
5508
|
-
/** Whether the row should be a link. */
|
|
5509
|
-
rowLink?: (row: R) => string;
|
|
5510
|
-
/** Fired when the row is clicked, similar to rowLink but for actions that aren't 'go to this link'. */
|
|
5511
|
-
onClick?: (row: GridDataRow<R>, api: GridTableApi<R>) => void;
|
|
5055
|
+
get isMatched(): boolean;
|
|
5056
|
+
/**
|
|
5057
|
+
* Whether we are effectively selected, for `GridTableApi.getSelectedRows`.
|
|
5058
|
+
*
|
|
5059
|
+
* Note that we don't use "I'm selected || my parent is selected" logic here, because whether a child is selected
|
|
5060
|
+
* is actually based on whether it was _visible at the time the parent was selected_. So, we can't just assume
|
|
5061
|
+
* "a parent being selected means the child is also selected", and instead parents have to push selected-ness down
|
|
5062
|
+
* to their visible children explicitly.
|
|
5063
|
+
*/
|
|
5064
|
+
get isSelected(): boolean;
|
|
5065
|
+
/** The UI state for checked/unchecked + "partially checked" for parents. */
|
|
5066
|
+
get selectedState(): SelectedState;
|
|
5067
|
+
/**
|
|
5068
|
+
* A special SelectedState that "sees through"/ignores inferSelectedState, so the header works.
|
|
5069
|
+
*
|
|
5070
|
+
* I.e. a row might have `inferSelectedState: false`, so is showing unchecked, but the header
|
|
5071
|
+
* wants to show partial-ness whenever any given child is selected.
|
|
5072
|
+
*/
|
|
5073
|
+
get selectedStateForHeader(): SelectedState;
|
|
5074
|
+
/**
|
|
5075
|
+
* Called to explicitly select/unselect this row.
|
|
5076
|
+
*
|
|
5077
|
+
* This could be either because the user clicked directly on us, or because we're a visible
|
|
5078
|
+
* child of a selected parent row.
|
|
5079
|
+
*/
|
|
5080
|
+
select(selected: boolean): void;
|
|
5081
|
+
/** Marks the row as removed from `props.rows`, to potentially become kept. */
|
|
5082
|
+
markRemoved(): void;
|
|
5083
|
+
toggleCollapsed(): void;
|
|
5084
|
+
/** Whether this is a selected-but-filtered-out row that we should hoist to the top. */
|
|
5085
|
+
get isKept(): boolean;
|
|
5086
|
+
get isLastKeptRow(): boolean;
|
|
5087
|
+
get key(): string;
|
|
5088
|
+
get kind(): string;
|
|
5089
|
+
get isActive(): boolean;
|
|
5090
|
+
get level(): number;
|
|
5091
|
+
private get inferSelectedState();
|
|
5092
|
+
/** Returns this row and, if we're not collapsed, our children. */
|
|
5093
|
+
get selfAndMaybeChildren(): RowState<R>[];
|
|
5094
|
+
private get visibleChildren();
|
|
5095
|
+
private get visibleDirectlyMatchedChildren();
|
|
5096
|
+
/** The `visibleChildren`, but with the current sort config applied. */
|
|
5097
|
+
private get visibleSortedChildren();
|
|
5098
|
+
private get hasSelectableChildren();
|
|
5099
|
+
/**
|
|
5100
|
+
* Returns whether this row should act like a parent.
|
|
5101
|
+
*
|
|
5102
|
+
* This means "has children" and "does not have inferSelectedState: false"
|
|
5103
|
+
* set. I.e. `inferSelectedState: false` allows a parent with children to
|
|
5104
|
+
* still act as its own selectable identity.
|
|
5105
|
+
*
|
|
5106
|
+
* We also check `children.length > 0`, because sometimes pages will calc a
|
|
5107
|
+
* row's children as `children = someList.map(...)`, and if the list is empty,
|
|
5108
|
+
* they want the row to be selectable.
|
|
5109
|
+
*/
|
|
5110
|
+
private get isParent();
|
|
5111
|
+
private get isPinned();
|
|
5112
|
+
get api(): GridRowApi<R>;
|
|
5113
|
+
get isReservedKind(): boolean;
|
|
5114
|
+
/** A dedicated method to "looking down" recursively, to avoid loops in `isMatched`. */
|
|
5115
|
+
private get hasDirectlyMatchedChildren();
|
|
5116
|
+
/** A dedicated method to "looking up" recursively, to avoid loops in `isMatched`. */
|
|
5117
|
+
private get hasDirectlyMatchedParent();
|
|
5118
|
+
private get isDirectlyMatched();
|
|
5512
5119
|
}
|
|
5513
|
-
/** Our original table look & feel/style. */
|
|
5514
|
-
declare const defaultStyle: GridStyle;
|
|
5515
|
-
/** Tightens up the padding of rows, great for rows that have form elements in them. */
|
|
5516
|
-
declare const condensedStyle: GridStyle;
|
|
5517
|
-
/** Renders each row as a card.
|
|
5518
|
-
* TODO: Add `cardStyle` option to `getTableStyles` and remove this.
|
|
5519
|
-
* */
|
|
5520
|
-
declare const cardStyle: GridStyle;
|
|
5521
5120
|
|
|
5522
5121
|
interface RowProps<R extends Kinded> {
|
|
5523
5122
|
as: RenderAs;
|
|
@@ -5596,6 +5195,33 @@ type GridDataRow<R extends Kinded> = {
|
|
|
5596
5195
|
draggable?: boolean;
|
|
5597
5196
|
} & IfAny<R, AnyObject, DiscriminateUnion<R, "kind", R["kind"]>>;
|
|
5598
5197
|
|
|
5198
|
+
/**
|
|
5199
|
+
* Allows a caller to ask for the currently shown rows, given the current sorting/filtering.
|
|
5200
|
+
*
|
|
5201
|
+
* We will probably end up generalizing this into a GridTableApi that exposes more
|
|
5202
|
+
* actions i.e. scrolling to a row and selection state.
|
|
5203
|
+
*/
|
|
5204
|
+
interface GridRowLookup<R extends Kinded> {
|
|
5205
|
+
/** Returns both the immediate next/prev rows, as well as `[kind].next/prev` values, ignoring headers. */
|
|
5206
|
+
lookup(row: GridDataRow<R>, additionalFilter?: (row: GridDataRow<R>) => boolean): NextPrev<R> & {
|
|
5207
|
+
[P in R["kind"]]: NextPrev<DiscriminateUnion<R, "kind", P>>;
|
|
5208
|
+
};
|
|
5209
|
+
/** Returns the list of currently filtered/sorted rows, without headers. */
|
|
5210
|
+
currentList(): readonly GridDataRow<R>[];
|
|
5211
|
+
/**
|
|
5212
|
+
* Scroll's to the row with the given kind + id. Requires using `as=virtual`.
|
|
5213
|
+
* Will skip re-scrolling to a row if it's already visible.
|
|
5214
|
+
*/
|
|
5215
|
+
scrollTo(kind: R["kind"], id: string): void;
|
|
5216
|
+
}
|
|
5217
|
+
interface NextPrev<R extends Kinded> {
|
|
5218
|
+
next: GridDataRow<R> | undefined;
|
|
5219
|
+
prev: GridDataRow<R> | undefined;
|
|
5220
|
+
}
|
|
5221
|
+
declare function createRowLookup<R extends Kinded>(api: GridTableApiImpl<R>, virtuosoRef: MutableRefObject<VirtuosoHandle | null>, virtuosoRangeRef: MutableRefObject<ListRange | null>): GridRowLookup<R>;
|
|
5222
|
+
/** Optionally takes into consideration if a row is already in view before attempting to scroll to it. */
|
|
5223
|
+
declare function shouldSkipScrollTo(index: number, virtuosoRangeRef: MutableRefObject<ListRange | null>): boolean;
|
|
5224
|
+
|
|
5599
5225
|
/**
|
|
5600
5226
|
* Creates an `api` handle to drive a `GridTable`.
|
|
5601
5227
|
*
|
|
@@ -5863,7 +5489,7 @@ interface GridTableProps<R extends Kinded, X> {
|
|
|
5863
5489
|
*
|
|
5864
5490
|
* https://docs.google.com/document/d/1DFnlkDubK4nG_GLf_hB8yp0flnSNt_3IBh5iOicuaFM/edit#heading=h.9m9cpwgeqfc9
|
|
5865
5491
|
*/
|
|
5866
|
-
declare function GridTable<R extends Kinded, X extends Only<GridTableXss, X> = any>(props: GridTableProps<R, X>):
|
|
5492
|
+
declare function GridTable<R extends Kinded, X extends Only<GridTableXss, X> = any>(props: GridTableProps<R, X>): JSX.Element;
|
|
5867
5493
|
|
|
5868
5494
|
type ToggleChipXss$2 = Xss<Margin>;
|
|
5869
5495
|
interface ToggleChipProps<X> {
|
|
@@ -5873,10 +5499,13 @@ interface ToggleChipProps<X> {
|
|
|
5873
5499
|
disabled?: boolean;
|
|
5874
5500
|
icon?: IconKey;
|
|
5875
5501
|
}
|
|
5876
|
-
declare function ToggleChip<X extends Only<ToggleChipXss$2, X>>(props: ToggleChipProps<X>):
|
|
5502
|
+
declare function ToggleChip<X extends Only<ToggleChipXss$2, X>>(props: ToggleChipProps<X>): JSX.Element;
|
|
5877
5503
|
declare const chipHoverStyles: {
|
|
5878
5504
|
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
5879
5505
|
};
|
|
5506
|
+
declare const chipHoverOnlyStyles: {
|
|
5507
|
+
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
5508
|
+
};
|
|
5880
5509
|
declare const chipDisabledStyles: {
|
|
5881
5510
|
color: csstype.Property.Color | undefined;
|
|
5882
5511
|
} & {
|
|
@@ -5891,7 +5520,7 @@ interface ToggleChipsProps<T, X> {
|
|
|
5891
5520
|
xss?: X;
|
|
5892
5521
|
}
|
|
5893
5522
|
/** Renders a list of `Chip`s, with wrapping & appropriate margin between each `Chip`. */
|
|
5894
|
-
declare function ToggleChips<T, X extends Only<ToggleChipXss$1, X>>(props: ToggleChipsProps<T, X>):
|
|
5523
|
+
declare function ToggleChips<T, X extends Only<ToggleChipXss$1, X>>(props: ToggleChipsProps<T, X>): JSX.Element;
|
|
5895
5524
|
|
|
5896
5525
|
type AccordionXss = Xss<Padding>;
|
|
5897
5526
|
interface AccordionProps<X = AccordionXss> {
|
|
@@ -5920,7 +5549,7 @@ interface AccordionProps<X = AccordionXss> {
|
|
|
5920
5549
|
/** Modifies the typography, padding, icon size and background color of the accordion header */
|
|
5921
5550
|
compact?: boolean;
|
|
5922
5551
|
}
|
|
5923
|
-
declare function Accordion<X extends Only<AccordionXss, X>>(props: AccordionProps<X>):
|
|
5552
|
+
declare function Accordion<X extends Only<AccordionXss, X>>(props: AccordionProps<X>): JSX.Element;
|
|
5924
5553
|
type AccordionSize = "xs" | "sm" | "md" | "lg";
|
|
5925
5554
|
|
|
5926
5555
|
interface AccordionListProps {
|
|
@@ -5931,13 +5560,113 @@ interface AccordionListProps {
|
|
|
5931
5560
|
/** Modifies the typography, padding, icon size and background color of the accordion header */
|
|
5932
5561
|
compact?: boolean;
|
|
5933
5562
|
}
|
|
5934
|
-
declare function AccordionList(props: AccordionListProps):
|
|
5563
|
+
declare function AccordionList(props: AccordionListProps): JSX.Element;
|
|
5935
5564
|
|
|
5936
5565
|
interface AutoSaveIndicatorProps {
|
|
5937
5566
|
hideOnIdle?: boolean;
|
|
5938
5567
|
doNotReset?: boolean;
|
|
5939
5568
|
}
|
|
5940
|
-
declare function AutoSaveIndicator({ hideOnIdle, doNotReset }: AutoSaveIndicatorProps):
|
|
5569
|
+
declare function AutoSaveIndicator({ hideOnIdle, doNotReset }: AutoSaveIndicatorProps): JSX.Element | null;
|
|
5570
|
+
|
|
5571
|
+
interface AvatarProps {
|
|
5572
|
+
src: string | undefined;
|
|
5573
|
+
name?: string;
|
|
5574
|
+
size?: AvatarSize;
|
|
5575
|
+
showName?: boolean;
|
|
5576
|
+
disableTooltip?: boolean;
|
|
5577
|
+
}
|
|
5578
|
+
declare function Avatar({ src, name, size, showName, disableTooltip, ...others }: AvatarProps): JSX.Element;
|
|
5579
|
+
type AvatarSize = "sm" | "md" | "lg" | "xl";
|
|
5580
|
+
|
|
5581
|
+
/** Base Interfaced */
|
|
5582
|
+
interface BeamFocusableProps {
|
|
5583
|
+
/** Whether the element should receive focus on render. */
|
|
5584
|
+
autoFocus?: boolean;
|
|
5585
|
+
forceFocusStyles?: boolean;
|
|
5586
|
+
}
|
|
5587
|
+
interface BeamButtonProps {
|
|
5588
|
+
/**
|
|
5589
|
+
* Whether the interactive element is disabled.
|
|
5590
|
+
*
|
|
5591
|
+
* If a ReactNode, it's treated as a "disabled reason" that's shown in a tooltip.
|
|
5592
|
+
*/
|
|
5593
|
+
disabled?: boolean | ReactNode;
|
|
5594
|
+
/** If function, then it is the handler that is called when the press is released over the target. Otherwise if string, it is the URL path for the link */
|
|
5595
|
+
onClick: ((e: PressEvent) => void) | ((e: PressEvent) => Promise<void>) | string;
|
|
5596
|
+
/** Text to be shown via a tooltip when the user hovers over the button */
|
|
5597
|
+
tooltip?: ReactNode;
|
|
5598
|
+
/** Whether to open link in a new tab. This only effects the element if the `onClick` is a `string`/URL. */
|
|
5599
|
+
openInNew?: boolean;
|
|
5600
|
+
}
|
|
5601
|
+
type TextFieldXss = Xss<"textAlign" | "justifyContent" | "fontWeight" | "fontSize" | "lineHeight">;
|
|
5602
|
+
interface BeamTextFieldProps<X> extends BeamFocusableProps, PresentationFieldProps {
|
|
5603
|
+
/** Whether the field is disabled. If a ReactNode, it's treated as a "disabled reason" that's shown in a tooltip. */
|
|
5604
|
+
disabled?: boolean | ReactNode;
|
|
5605
|
+
errorMsg?: string;
|
|
5606
|
+
helperText?: string | ReactNode;
|
|
5607
|
+
/** Input label */
|
|
5608
|
+
label: string;
|
|
5609
|
+
/** Marks the field as required or optional, the default is assumed ambiguous/unknown. */
|
|
5610
|
+
required?: boolean;
|
|
5611
|
+
value: string | undefined;
|
|
5612
|
+
/** Handler called when the interactive element state changes. */
|
|
5613
|
+
onChange: (value: string | undefined) => void;
|
|
5614
|
+
/** Called when the component loses focus, mostly for BoundTextField to use. */
|
|
5615
|
+
onBlur?: VoidFunction;
|
|
5616
|
+
onFocus?: VoidFunction;
|
|
5617
|
+
onEnter?: VoidFunction;
|
|
5618
|
+
/** Whether the field is readOnly. If a ReactNode, it's treated as a "readOnly reason" that's shown in a tooltip. */
|
|
5619
|
+
readOnly?: boolean | ReactNode;
|
|
5620
|
+
placeholder?: string;
|
|
5621
|
+
/** Styles overrides */
|
|
5622
|
+
xss?: X;
|
|
5623
|
+
}
|
|
5624
|
+
interface TextFieldInternalProps {
|
|
5625
|
+
/**
|
|
5626
|
+
* Denoting a field as 'compound' will remove existing borders on the returned field, including the 2px of height added by the borders.
|
|
5627
|
+
* It is expected that the caller reintroduces the border to achieve the expected field height and handles the custom border logic of a Compound Field
|
|
5628
|
+
* This is explicitly an internal property that is not exposed to any field's API.
|
|
5629
|
+
*/
|
|
5630
|
+
compound?: boolean;
|
|
5631
|
+
/** Forces focus styles for storybook purposes */
|
|
5632
|
+
forceFocus?: true;
|
|
5633
|
+
/** Forces hover styles for storybook purposes */
|
|
5634
|
+
forceHover?: boolean;
|
|
5635
|
+
}
|
|
5636
|
+
|
|
5637
|
+
interface AvatarButtonProps extends AvatarProps, BeamButtonProps, BeamFocusableProps {
|
|
5638
|
+
menuTriggerProps?: AriaButtonProps;
|
|
5639
|
+
buttonRef?: RefObject<HTMLButtonElement>;
|
|
5640
|
+
/** Storybook-only visual state overrides for snapshotting pseudo-interactions. */
|
|
5641
|
+
__storyState?: {
|
|
5642
|
+
hovered?: boolean;
|
|
5643
|
+
focusVisible?: boolean;
|
|
5644
|
+
pressed?: boolean;
|
|
5645
|
+
};
|
|
5646
|
+
}
|
|
5647
|
+
declare function AvatarButton(props: AvatarButtonProps): JSX.Element;
|
|
5648
|
+
declare const hoverStyles: {
|
|
5649
|
+
boxShadow: csstype.Property.BoxShadow | undefined;
|
|
5650
|
+
};
|
|
5651
|
+
declare const pressedOverlayCss: {
|
|
5652
|
+
borderRadius: csstype.Property.BorderRadius<string | 0> | undefined;
|
|
5653
|
+
} & {
|
|
5654
|
+
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
5655
|
+
} & {
|
|
5656
|
+
width: csstype.Property.Width<string | 0> | undefined;
|
|
5657
|
+
} & {
|
|
5658
|
+
height: csstype.Property.Height<string | 0> | undefined;
|
|
5659
|
+
} & {
|
|
5660
|
+
position: csstype.Property.Position | undefined;
|
|
5661
|
+
} & {
|
|
5662
|
+
top: csstype.Property.Top<string | 0> | undefined;
|
|
5663
|
+
} & {
|
|
5664
|
+
left: csstype.Property.Left<string | 0> | undefined;
|
|
5665
|
+
} & {
|
|
5666
|
+
opacity: csstype.Property.Opacity | undefined;
|
|
5667
|
+
} & {
|
|
5668
|
+
pointerEvents: csstype.Property.PointerEvents | undefined;
|
|
5669
|
+
};
|
|
5941
5670
|
|
|
5942
5671
|
interface AvatarGroupProps {
|
|
5943
5672
|
avatars: {
|
|
@@ -5946,7 +5675,7 @@ interface AvatarGroupProps {
|
|
|
5946
5675
|
}[];
|
|
5947
5676
|
size?: AvatarSize;
|
|
5948
5677
|
}
|
|
5949
|
-
declare function AvatarGroup(props: AvatarGroupProps):
|
|
5678
|
+
declare function AvatarGroup(props: AvatarGroupProps): JSX.Element;
|
|
5950
5679
|
|
|
5951
5680
|
interface BannerProps {
|
|
5952
5681
|
type: BannerTypes;
|
|
@@ -5954,7 +5683,7 @@ interface BannerProps {
|
|
|
5954
5683
|
onClose?: VoidFunction;
|
|
5955
5684
|
showIcon?: boolean;
|
|
5956
5685
|
}
|
|
5957
|
-
declare function Banner(props: BannerProps):
|
|
5686
|
+
declare function Banner(props: BannerProps): JSX.Element;
|
|
5958
5687
|
type BannerTypes = "error" | "warning" | "success" | "info" | "alert";
|
|
5959
5688
|
|
|
5960
5689
|
type ModalSize = "sm" | "md" | "lg" | "xl" | "xxl";
|
|
@@ -6058,24 +5787,134 @@ interface UseSuperDrawerHook {
|
|
|
6058
5787
|
*/
|
|
6059
5788
|
addCanCloseDrawerDetailCheck: (canCloseCheck: CanCloseCheck) => void;
|
|
6060
5789
|
}
|
|
6061
|
-
declare function useSuperDrawer(): UseSuperDrawerHook;
|
|
5790
|
+
declare function useSuperDrawer(): UseSuperDrawerHook;
|
|
5791
|
+
|
|
5792
|
+
interface BeamProviderProps extends PropsWithChildren<PresentationContextProps> {
|
|
5793
|
+
}
|
|
5794
|
+
declare function BeamProvider({ children, ...presentationProps }: BeamProviderProps): JSX.Element;
|
|
5795
|
+
|
|
5796
|
+
interface ButtonProps extends BeamButtonProps, BeamFocusableProps {
|
|
5797
|
+
label: ReactNode;
|
|
5798
|
+
variant?: ButtonVariant;
|
|
5799
|
+
size?: ButtonSize;
|
|
5800
|
+
icon?: IconProps["icon"] | null;
|
|
5801
|
+
/** Displays contents after the Button's label. Will be ignored for Buttons rendered as a link with an absolute URL */
|
|
5802
|
+
endAdornment?: ReactNode;
|
|
5803
|
+
/** HTML attributes to apply to the button element when it is being used to trigger a menu. */
|
|
5804
|
+
menuTriggerProps?: AriaButtonProps;
|
|
5805
|
+
buttonRef?: RefObject<HTMLElement>;
|
|
5806
|
+
/** Allow for setting "submit" | "button" | "reset" on button element */
|
|
5807
|
+
type?: ButtonHTMLAttributes<HTMLButtonElement>["type"];
|
|
5808
|
+
/** Denotes if this button is used to download a resource. Uses the anchor tag with the `download` attribute */
|
|
5809
|
+
download?: boolean;
|
|
5810
|
+
contrast?: boolean;
|
|
5811
|
+
/** Additional text to further customize button during an async request is in progress. */
|
|
5812
|
+
labelInFlight?: string;
|
|
5813
|
+
/** Shows pressed/active styles (useful when a menu is open) */
|
|
5814
|
+
active?: boolean;
|
|
5815
|
+
}
|
|
5816
|
+
declare function Button(props: ButtonProps): JSX.Element;
|
|
5817
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
5818
|
+
type ButtonVariant = "primary" | "secondary" | "secondaryBlack" | "tertiary" | "tertiaryDanger" | "caution" | "danger" | "quaternary" | "text" | "textSecondary";
|
|
5819
|
+
|
|
5820
|
+
interface DatePickerProps {
|
|
5821
|
+
value?: Date;
|
|
5822
|
+
onSelect: (value: Date) => void;
|
|
5823
|
+
disabledDays?: Matcher | Matcher[];
|
|
5824
|
+
dottedDays?: Matcher[];
|
|
5825
|
+
useYearPicker?: boolean;
|
|
5826
|
+
}
|
|
5827
|
+
|
|
5828
|
+
interface IconButtonProps extends BeamButtonProps, BeamFocusableProps {
|
|
5829
|
+
/** The icon to use within the button. */
|
|
5830
|
+
icon: IconProps["icon"];
|
|
5831
|
+
color?: Palette;
|
|
5832
|
+
bgColor?: Palette;
|
|
5833
|
+
/** The size of the icon, in increments, defaults to 3 which is 24px. */
|
|
5834
|
+
inc?: number;
|
|
5835
|
+
/** HTML attributes to apply to the button element when it is being used to trigger a menu. */
|
|
5836
|
+
menuTriggerProps?: AriaButtonProps;
|
|
5837
|
+
buttonRef?: RefObject<HTMLButtonElement>;
|
|
5838
|
+
/** Whether to show a 16x16px version of the IconButton */
|
|
5839
|
+
compact?: boolean;
|
|
5840
|
+
/** Whether to display the contrast variant */
|
|
5841
|
+
contrast?: boolean;
|
|
5842
|
+
/** Whether to display the circle variant */
|
|
5843
|
+
circle?: boolean;
|
|
5844
|
+
/** Indicates that the button is active/selected */
|
|
5845
|
+
active?: boolean;
|
|
5846
|
+
/** Denotes if this button is used to download a resource. Uses the anchor tag with the `download` attribute */
|
|
5847
|
+
download?: boolean;
|
|
5848
|
+
/** Provides label for screen readers - Will become a required soon */
|
|
5849
|
+
label?: string;
|
|
5850
|
+
}
|
|
5851
|
+
declare function IconButton(props: IconButtonProps): JSX.Element;
|
|
5852
|
+
declare const iconButtonStylesHover: {
|
|
5853
|
+
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
5854
|
+
};
|
|
5855
|
+
declare const iconButtonContrastStylesHover: {
|
|
5856
|
+
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
5857
|
+
};
|
|
5858
|
+
declare const iconButtonCircleStylesHover: {
|
|
5859
|
+
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
5860
|
+
} & {
|
|
5861
|
+
borderColor: csstype.Property.BorderColor | undefined;
|
|
5862
|
+
};
|
|
6062
5863
|
|
|
6063
|
-
interface
|
|
5864
|
+
interface NavLinkProps extends BeamFocusableProps {
|
|
5865
|
+
/** active indicates the user is on the current page */
|
|
5866
|
+
active?: boolean;
|
|
5867
|
+
disabled?: boolean;
|
|
5868
|
+
/** if `href` isn't provided, it is treated as a <button> */
|
|
5869
|
+
href?: string;
|
|
5870
|
+
label: ReactNode;
|
|
5871
|
+
icon?: IconKey;
|
|
5872
|
+
variant: NavLinkVariant;
|
|
5873
|
+
openInNew?: boolean;
|
|
5874
|
+
contrast?: boolean;
|
|
5875
|
+
/** HTML attributes to apply to the button element when it is being used to trigger a menu. */
|
|
5876
|
+
menuTriggerProps?: AriaButtonProps;
|
|
5877
|
+
buttonRef?: RefObject<HTMLElement>;
|
|
6064
5878
|
}
|
|
6065
|
-
|
|
5879
|
+
type NavLinkVariant = "side" | "global";
|
|
5880
|
+
declare function NavLink(props: NavLinkProps): JSX.Element;
|
|
6066
5881
|
|
|
6067
|
-
interface
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
5882
|
+
interface TextButtonTriggerProps extends Pick<ButtonProps, "label" | "variant" | "size" | "icon"> {
|
|
5883
|
+
}
|
|
5884
|
+
interface IconButtonTriggerProps extends Pick<IconButtonProps, "icon" | "color" | "compact" | "contrast" | "inc"> {
|
|
5885
|
+
}
|
|
5886
|
+
interface AvatarButtonTriggerProps extends Pick<AvatarButtonProps, "src" | "name" | "size"> {
|
|
5887
|
+
}
|
|
5888
|
+
interface NavLinkButtonTriggerProps extends Pick<NavLinkProps, "active" | "variant" | "icon"> {
|
|
5889
|
+
navLabel: string;
|
|
5890
|
+
}
|
|
5891
|
+
interface OverlayTriggerProps {
|
|
5892
|
+
trigger: TextButtonTriggerProps | IconButtonTriggerProps | AvatarButtonTriggerProps | NavLinkButtonTriggerProps;
|
|
5893
|
+
/** Defaults to "left" */
|
|
5894
|
+
placement?: "left" | "right";
|
|
5895
|
+
/** Whether the Button is disabled. If a ReactNode, it's treated as a "disabled reason" that's shown in a tooltip. */
|
|
5896
|
+
disabled?: boolean | ReactNode;
|
|
5897
|
+
/** Text to be shown via a tooltip when the user hovers over the button */
|
|
5898
|
+
tooltip?: ReactNode;
|
|
5899
|
+
/** The component to be shown within the overlay */
|
|
5900
|
+
children: ReactElement;
|
|
5901
|
+
/** Props returned by the useMenuTrigger hook to be passed to the button element */
|
|
5902
|
+
menuTriggerProps: AriaButtonProps;
|
|
5903
|
+
/** Ref for the button element */
|
|
5904
|
+
buttonRef: MutableRefObject<HTMLButtonElement | null>;
|
|
5905
|
+
/** Result of the useMenuTriggerState hook */
|
|
5906
|
+
state: MenuTriggerState;
|
|
5907
|
+
/** Prop set the style of the button element */
|
|
5908
|
+
variant?: ButtonVariant;
|
|
5909
|
+
hideEndAdornment?: boolean;
|
|
5910
|
+
showActiveBorder?: boolean;
|
|
5911
|
+
contrast?: boolean;
|
|
6073
5912
|
}
|
|
6074
5913
|
|
|
6075
5914
|
type ButtonDatePickerProps = {
|
|
6076
5915
|
defaultOpen?: boolean;
|
|
6077
5916
|
} & DatePickerProps & Pick<OverlayTriggerProps, "trigger" | "placement" | "disabled" | "tooltip">;
|
|
6078
|
-
declare function ButtonDatePicker(props: ButtonDatePickerProps):
|
|
5917
|
+
declare function ButtonDatePicker(props: ButtonDatePickerProps): JSX.Element;
|
|
6079
5918
|
|
|
6080
5919
|
interface ButtonGroupProps {
|
|
6081
5920
|
buttons: ButtonGroupButton[];
|
|
@@ -6096,7 +5935,7 @@ type ButtonGroupButton = {
|
|
|
6096
5935
|
/** Adds tooltip to the button */
|
|
6097
5936
|
tooltip?: ReactNode;
|
|
6098
5937
|
};
|
|
6099
|
-
declare function ButtonGroup(props: ButtonGroupProps):
|
|
5938
|
+
declare function ButtonGroup(props: ButtonGroupProps): JSX.Element;
|
|
6100
5939
|
type ButtonGroupSize = "xs" | "sm" | "md";
|
|
6101
5940
|
|
|
6102
5941
|
type ButtonMenuBaseProps = {
|
|
@@ -6112,7 +5951,7 @@ type SelectionButtonMenuProps = {
|
|
|
6112
5951
|
onChange: (key: string) => void;
|
|
6113
5952
|
} & ButtonMenuBaseProps;
|
|
6114
5953
|
type ButtonMenuProps = ButtonMenuBaseProps | SelectionButtonMenuProps;
|
|
6115
|
-
declare function ButtonMenu(props: ButtonMenuProps):
|
|
5954
|
+
declare function ButtonMenu(props: ButtonMenuProps): JSX.Element;
|
|
6116
5955
|
type MenuItemBase = {
|
|
6117
5956
|
label: string;
|
|
6118
5957
|
/** If the `onClick` property is set as a string, then the menu item will be rendered as a link with the `onClick` value being the href */
|
|
@@ -6145,7 +5984,7 @@ type ButtonModalProps = {
|
|
|
6145
5984
|
storybookDefaultOpen?: boolean;
|
|
6146
5985
|
hideEndAdornment?: boolean;
|
|
6147
5986
|
} & Pick<OverlayTriggerProps, "trigger" | "placement" | "disabled" | "tooltip" | "showActiveBorder">;
|
|
6148
|
-
declare function ButtonModal(props: ButtonModalProps):
|
|
5987
|
+
declare function ButtonModal(props: ButtonModalProps): JSX.Element;
|
|
6149
5988
|
|
|
6150
5989
|
type TagXss = Margin | "backgroundColor" | "color";
|
|
6151
5990
|
type TagType = "info" | "caution" | "warning" | "success" | "neutral";
|
|
@@ -6159,7 +5998,7 @@ interface TagProps<X> {
|
|
|
6159
5998
|
preventTooltip?: boolean;
|
|
6160
5999
|
}
|
|
6161
6000
|
/** Tag used for indicating a status */
|
|
6162
|
-
declare function Tag<X extends Only<Xss<TagXss>, X>>(props: TagProps<X>):
|
|
6001
|
+
declare function Tag<X extends Only<Xss<TagXss>, X>>(props: TagProps<X>): JSX.Element;
|
|
6163
6002
|
|
|
6164
6003
|
type CardType = "card" | "list";
|
|
6165
6004
|
type ImageFitType = "contain" | "cover";
|
|
@@ -6179,11 +6018,11 @@ interface CardProps {
|
|
|
6179
6018
|
buttonMenuItems?: MenuItem[];
|
|
6180
6019
|
tag?: CardTag;
|
|
6181
6020
|
}
|
|
6182
|
-
declare function Card(props: CardProps):
|
|
6021
|
+
declare function Card(props: CardProps): JSX.Element;
|
|
6183
6022
|
|
|
6184
6023
|
declare function Copy(props: {
|
|
6185
6024
|
children: string | ReactNode;
|
|
6186
|
-
}):
|
|
6025
|
+
}): JSX.Element;
|
|
6187
6026
|
|
|
6188
6027
|
type CountBadgeXss = "color";
|
|
6189
6028
|
interface CountBadgeProps<X> {
|
|
@@ -6197,13 +6036,17 @@ interface CountBadgeProps<X> {
|
|
|
6197
6036
|
* CountBadge displays a numeric count in a circular badge.
|
|
6198
6037
|
* Automatically adjusts size for counts > 100 (increases from 16px to 18px).
|
|
6199
6038
|
*/
|
|
6200
|
-
declare function CountBadge<X extends Only<Xss<CountBadgeXss>, X>>(props: CountBadgeProps<X>):
|
|
6039
|
+
declare function CountBadge<X extends Only<Xss<CountBadgeXss>, X>>(props: CountBadgeProps<X>): JSX.Element | null;
|
|
6201
6040
|
|
|
6041
|
+
declare const navLink = "navLink";
|
|
6202
6042
|
/**
|
|
6203
6043
|
* Applies a CSS Reset that is based on modern-normalize + TW customizations.
|
|
6044
|
+
*
|
|
6045
|
+
* The reset styles are now in CssReset.css and are loaded via a side-effect
|
|
6046
|
+
* import. This component is kept for API compatibility — render it at the top
|
|
6047
|
+
* of your app to ensure the CSS file is included in the bundle.
|
|
6204
6048
|
*/
|
|
6205
|
-
declare function CssReset():
|
|
6206
|
-
declare const navLink = "navLink";
|
|
6049
|
+
declare function CssReset(): null;
|
|
6207
6050
|
|
|
6208
6051
|
interface DnDGridProps {
|
|
6209
6052
|
children: ReactNode;
|
|
@@ -6214,7 +6057,7 @@ interface DnDGridProps {
|
|
|
6214
6057
|
/** Returns the new order of the GridItems. */
|
|
6215
6058
|
onReorder: (items: string[]) => void;
|
|
6216
6059
|
}
|
|
6217
|
-
declare function DnDGrid(props: DnDGridProps):
|
|
6060
|
+
declare function DnDGrid(props: DnDGridProps): JSX.Element;
|
|
6218
6061
|
type GridStyles = Pick<Properties, "gridTemplate" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gap" | "columnGap" | "rowGap">;
|
|
6219
6062
|
|
|
6220
6063
|
interface useDnDGridItemProps {
|
|
@@ -6241,7 +6084,7 @@ interface DnDGridItemHandleProps {
|
|
|
6241
6084
|
color?: Palette;
|
|
6242
6085
|
}
|
|
6243
6086
|
/** Provides a specific handle element for dragging a GridItem. Includes handling behaviors and interactions */
|
|
6244
|
-
declare function DnDGridItemHandle(props: DnDGridItemHandleProps):
|
|
6087
|
+
declare function DnDGridItemHandle(props: DnDGridItemHandleProps): JSX.Element;
|
|
6245
6088
|
|
|
6246
6089
|
type TestIds = Record<string, object>;
|
|
6247
6090
|
/**
|
|
@@ -6363,7 +6206,7 @@ type AutocompleteProps<T> = {
|
|
|
6363
6206
|
reason: string;
|
|
6364
6207
|
})[];
|
|
6365
6208
|
} & Pick<PresentationFieldProps, "labelStyle"> & Pick<TextFieldBaseProps<any>, "label" | "clearable" | "startAdornment" | "fullWidth">;
|
|
6366
|
-
declare function Autocomplete<T extends object>(props: AutocompleteProps<T>):
|
|
6209
|
+
declare function Autocomplete<T extends object>(props: AutocompleteProps<T>): JSX.Element;
|
|
6367
6210
|
|
|
6368
6211
|
interface CheckboxProps {
|
|
6369
6212
|
label: string;
|
|
@@ -6393,7 +6236,7 @@ interface CheckboxProps {
|
|
|
6393
6236
|
/** Callback fired when focus is set to the component */
|
|
6394
6237
|
onFocus?: () => void;
|
|
6395
6238
|
}
|
|
6396
|
-
declare function Checkbox(props: CheckboxProps):
|
|
6239
|
+
declare function Checkbox(props: CheckboxProps): JSX.Element;
|
|
6397
6240
|
|
|
6398
6241
|
interface CheckboxGroupItemOption {
|
|
6399
6242
|
/** Additional text displayed below label */
|
|
@@ -6421,7 +6264,7 @@ interface CheckboxGroupProps extends Pick<PresentationFieldProps, "labelStyle">
|
|
|
6421
6264
|
/** Number of columns to display checkboxes */
|
|
6422
6265
|
columns?: number;
|
|
6423
6266
|
}
|
|
6424
|
-
declare function CheckboxGroup(props: CheckboxGroupProps):
|
|
6267
|
+
declare function CheckboxGroup(props: CheckboxGroupProps): JSX.Element;
|
|
6425
6268
|
|
|
6426
6269
|
interface ChipSelectFieldProps<O, V extends Value> {
|
|
6427
6270
|
label: string;
|
|
@@ -6512,11 +6355,11 @@ interface DateRangeFieldBaseProps extends DateFieldBaseProps {
|
|
|
6512
6355
|
|
|
6513
6356
|
interface DateFieldProps extends Omit<DateSingleFieldBaseProps, "mode"> {
|
|
6514
6357
|
}
|
|
6515
|
-
declare const DateField: (props: DateFieldProps) =>
|
|
6358
|
+
declare const DateField: (props: DateFieldProps) => JSX.Element;
|
|
6516
6359
|
|
|
6517
6360
|
interface DateRangeFieldProps extends Omit<DateRangeFieldBaseProps, "mode"> {
|
|
6518
6361
|
}
|
|
6519
|
-
declare function DateRangeField(props: DateRangeFieldProps):
|
|
6362
|
+
declare function DateRangeField(props: DateRangeFieldProps): JSX.Element;
|
|
6520
6363
|
|
|
6521
6364
|
interface ErrorMessageProps {
|
|
6522
6365
|
/** The dom id for `aria-errormessage` to point to us. */
|
|
@@ -6530,7 +6373,7 @@ interface ErrorMessageProps {
|
|
|
6530
6373
|
*
|
|
6531
6374
|
* Not currently exported as part of our public API.
|
|
6532
6375
|
*/
|
|
6533
|
-
declare function ErrorMessage(props: ErrorMessageProps):
|
|
6376
|
+
declare function ErrorMessage(props: ErrorMessageProps): JSX.Element;
|
|
6534
6377
|
|
|
6535
6378
|
interface IconCardProps {
|
|
6536
6379
|
/** The icon to use within the card. */
|
|
@@ -6543,7 +6386,7 @@ interface IconCardProps {
|
|
|
6543
6386
|
disabled?: boolean;
|
|
6544
6387
|
tooltip?: string;
|
|
6545
6388
|
}
|
|
6546
|
-
declare function IconCard(props: IconCardProps):
|
|
6389
|
+
declare function IconCard(props: IconCardProps): JSX.Element;
|
|
6547
6390
|
declare const selectedStyles: {
|
|
6548
6391
|
borderWidth: csstype.Property.BorderWidth<string | 0> | undefined;
|
|
6549
6392
|
} & {
|
|
@@ -6686,7 +6529,7 @@ interface NumberFieldProps extends Pick<PresentationFieldProps, "labelStyle" | "
|
|
|
6686
6529
|
alwaysShowHelperText?: boolean;
|
|
6687
6530
|
positiveOnly?: boolean;
|
|
6688
6531
|
}
|
|
6689
|
-
declare function NumberField(props: NumberFieldProps):
|
|
6532
|
+
declare function NumberField(props: NumberFieldProps): JSX.Element;
|
|
6690
6533
|
declare function formatValue(value: number, factor: number, numFractionDigits: number | undefined, numIntegerDigits: number | undefined, positiveOnly?: boolean): number | undefined;
|
|
6691
6534
|
|
|
6692
6535
|
type RadioFieldOption<K extends string> = {
|
|
@@ -6721,7 +6564,7 @@ type RadioGroupFieldProps<K extends string> = {
|
|
|
6721
6564
|
*
|
|
6722
6565
|
* TODO: Add hover (non selected and selected) styles
|
|
6723
6566
|
*/
|
|
6724
|
-
declare function RadioGroupField<K extends string>(props: RadioGroupFieldProps<K>):
|
|
6567
|
+
declare function RadioGroupField<K extends string>(props: RadioGroupFieldProps<K>): JSX.Element;
|
|
6725
6568
|
|
|
6726
6569
|
interface RichTextFieldProps extends Pick<PresentationFieldProps, "fullWidth"> {
|
|
6727
6570
|
/** The initial html value to show in the trix editor. */
|
|
@@ -6743,7 +6586,7 @@ interface RichTextFieldProps extends Pick<PresentationFieldProps, "fullWidth"> {
|
|
|
6743
6586
|
/** For rendering formatted text */
|
|
6744
6587
|
readOnly?: boolean;
|
|
6745
6588
|
}
|
|
6746
|
-
declare const RichTextField: (props: RichTextFieldProps) =>
|
|
6589
|
+
declare const RichTextField: (props: RichTextFieldProps) => JSX.Element;
|
|
6747
6590
|
/**
|
|
6748
6591
|
* Provides a simple rich text editor based on trix.
|
|
6749
6592
|
*
|
|
@@ -6751,7 +6594,7 @@ declare const RichTextField: (props: RichTextFieldProps) => _emotion_react_jsx_r
|
|
|
6751
6594
|
*
|
|
6752
6595
|
* We also integrate [tributejs]{@link https://github.com/zurb/tribute} for @ mentions.
|
|
6753
6596
|
*/
|
|
6754
|
-
declare function RichTextFieldImpl(props: RichTextFieldProps):
|
|
6597
|
+
declare function RichTextFieldImpl(props: RichTextFieldProps): JSX.Element;
|
|
6755
6598
|
|
|
6756
6599
|
type SelectFieldProps<O, V extends Value> = {
|
|
6757
6600
|
/** The current value; it can be `undefined`, even if `V` cannot be. */
|
|
@@ -6801,7 +6644,7 @@ interface SwitchProps {
|
|
|
6801
6644
|
focusVisible?: boolean;
|
|
6802
6645
|
};
|
|
6803
6646
|
}
|
|
6804
|
-
declare function Switch(props: SwitchProps):
|
|
6647
|
+
declare function Switch(props: SwitchProps): JSX.Element;
|
|
6805
6648
|
declare const switchHoverStyles: {
|
|
6806
6649
|
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
6807
6650
|
};
|
|
@@ -6818,7 +6661,7 @@ interface TextAreaFieldProps<X> extends BeamTextFieldProps<X> {
|
|
|
6818
6661
|
maxLines?: number;
|
|
6819
6662
|
}
|
|
6820
6663
|
/** Returns a <textarea /> element that auto-adjusts height based on the field's value */
|
|
6821
|
-
declare function TextAreaField<X extends Only<TextFieldXss, X>>(props: TextAreaFieldProps<X>):
|
|
6664
|
+
declare function TextAreaField<X extends Only<TextFieldXss, X>>(props: TextAreaFieldProps<X>): JSX.Element;
|
|
6822
6665
|
|
|
6823
6666
|
interface TextFieldProps<X> extends BeamTextFieldProps<X> {
|
|
6824
6667
|
compact?: boolean;
|
|
@@ -6841,7 +6684,7 @@ interface TextFieldProps<X> extends BeamTextFieldProps<X> {
|
|
|
6841
6684
|
/** Allow focusing without selecting, i.e. to let the user keep typing after we've pre-filled text + called focus, like the Add New component. */
|
|
6842
6685
|
selectOnFocus?: boolean;
|
|
6843
6686
|
}
|
|
6844
|
-
declare function TextField<X extends Only<TextFieldXss, X>>(props: TextFieldProps<X>):
|
|
6687
|
+
declare function TextField<X extends Only<TextFieldXss, X>>(props: TextFieldProps<X>): JSX.Element;
|
|
6845
6688
|
type TextFieldApi = {
|
|
6846
6689
|
focus: VoidFunction;
|
|
6847
6690
|
};
|
|
@@ -6863,7 +6706,7 @@ interface ToggleButtonProps {
|
|
|
6863
6706
|
focusVisible?: boolean;
|
|
6864
6707
|
};
|
|
6865
6708
|
}
|
|
6866
|
-
declare function ToggleButton(props: ToggleButtonProps):
|
|
6709
|
+
declare function ToggleButton(props: ToggleButtonProps): JSX.Element;
|
|
6867
6710
|
/** Styles */
|
|
6868
6711
|
declare const toggleHoverStyles: {
|
|
6869
6712
|
backgroundColor: csstype.Property.BackgroundColor | undefined;
|
|
@@ -6897,7 +6740,7 @@ interface ToggleChipGroupProps extends Pick<PresentationFieldProps, "labelStyle"
|
|
|
6897
6740
|
onChange: (values: string[]) => void;
|
|
6898
6741
|
xss?: ToggleChipXss;
|
|
6899
6742
|
}
|
|
6900
|
-
declare function ToggleChipGroup(props: ToggleChipGroupProps):
|
|
6743
|
+
declare function ToggleChipGroup(props: ToggleChipGroupProps): JSX.Element;
|
|
6901
6744
|
|
|
6902
6745
|
type NestedOption<O> = O & {
|
|
6903
6746
|
children?: NestedOption<O>[];
|
|
@@ -7107,7 +6950,7 @@ interface FilterDropdownMenuProps<F extends Record<string, unknown>, G extends V
|
|
|
7107
6950
|
}>;
|
|
7108
6951
|
};
|
|
7109
6952
|
}
|
|
7110
|
-
declare function FilterDropdownMenu<F extends Record<string, unknown>, G extends Value = string>(props: FilterDropdownMenuProps<F, G>):
|
|
6953
|
+
declare function FilterDropdownMenu<F extends Record<string, unknown>, G extends Value = string>(props: FilterDropdownMenuProps<F, G>): JSX.Element;
|
|
7111
6954
|
declare const _FilterDropdownMenu: typeof FilterDropdownMenu;
|
|
7112
6955
|
|
|
7113
6956
|
interface FilterModalProps<F> {
|
|
@@ -7115,11 +6958,11 @@ interface FilterModalProps<F> {
|
|
|
7115
6958
|
filters: FilterImpls<F>;
|
|
7116
6959
|
onApply: (f: F) => void;
|
|
7117
6960
|
}
|
|
7118
|
-
declare function FilterModal<F>(props: FilterModalProps<F>):
|
|
6961
|
+
declare function FilterModal<F>(props: FilterModalProps<F>): JSX.Element;
|
|
7119
6962
|
declare function ModalFilterItem({ label, children }: {
|
|
7120
6963
|
label?: string;
|
|
7121
6964
|
children: ReactNode;
|
|
7122
|
-
}):
|
|
6965
|
+
}): JSX.Element;
|
|
7123
6966
|
|
|
7124
6967
|
interface FilterProps<F extends Record<string, unknown>, G extends Value = string> {
|
|
7125
6968
|
/** List of filters */
|
|
@@ -7144,7 +6987,7 @@ interface FilterProps<F extends Record<string, unknown>, G extends Value = strin
|
|
|
7144
6987
|
/** Specifies the number of in line filters before more filters modal */
|
|
7145
6988
|
numberOfInlineFilters?: number;
|
|
7146
6989
|
}
|
|
7147
|
-
declare function Filters<F extends Record<string, unknown>, G extends Value = string>(props: FilterProps<F, G>):
|
|
6990
|
+
declare function Filters<F extends Record<string, unknown>, G extends Value = string>(props: FilterProps<F, G>): JSX.Element;
|
|
7148
6991
|
declare const _Filters: typeof Filters;
|
|
7149
6992
|
|
|
7150
6993
|
type ToggleFilterProps<V> = {
|
|
@@ -7172,13 +7015,13 @@ declare const filterTestIdPrefix = "filter";
|
|
|
7172
7015
|
interface ResponsiveGridProps extends PropsWithChildren<useResponsiveGridProps> {
|
|
7173
7016
|
}
|
|
7174
7017
|
/** Helper component for generating a responsive grid */
|
|
7175
|
-
declare function ResponsiveGrid(props: ResponsiveGridProps):
|
|
7018
|
+
declare function ResponsiveGrid(props: ResponsiveGridProps): JSX.Element;
|
|
7176
7019
|
|
|
7177
7020
|
type ResponsiveGridItemProps = PropsWithChildren<{
|
|
7178
7021
|
colSpan: number;
|
|
7179
7022
|
}>;
|
|
7180
7023
|
/** Helper component for generating grid items with the ResponsiveGrid */
|
|
7181
|
-
declare function ResponsiveGridItem(props: ResponsiveGridItemProps):
|
|
7024
|
+
declare function ResponsiveGridItem(props: ResponsiveGridItemProps): JSX.Element;
|
|
7182
7025
|
|
|
7183
7026
|
interface useResponsiveGridProps {
|
|
7184
7027
|
minColumnWidth: number;
|
|
@@ -7286,7 +7129,7 @@ interface UseResponsiveGridItemProps {
|
|
|
7286
7129
|
* config is unavailable, `gridItemStyles` will be an empty object.
|
|
7287
7130
|
*/
|
|
7288
7131
|
declare function useResponsiveGridItem(props: UseResponsiveGridItemProps): {
|
|
7289
|
-
gridItemProps: Record<string, number>;
|
|
7132
|
+
gridItemProps: Record<string, string | number>;
|
|
7290
7133
|
gridItemStyles: Properties;
|
|
7291
7134
|
};
|
|
7292
7135
|
|
|
@@ -7299,7 +7142,7 @@ interface HbLoadingSpinnerProps {
|
|
|
7299
7142
|
/** No text at all */
|
|
7300
7143
|
iconOnly?: boolean;
|
|
7301
7144
|
}
|
|
7302
|
-
declare function HbLoadingSpinner({ noQuips, extraQuips, extraQuipsOnly, iconOnly }: HbLoadingSpinnerProps):
|
|
7145
|
+
declare function HbLoadingSpinner({ noQuips, extraQuips, extraQuipsOnly, iconOnly }: HbLoadingSpinnerProps): JSX.Element;
|
|
7303
7146
|
/** Quips for Homebound's Mission Statement. Internal. */
|
|
7304
7147
|
declare const HB_QUIPS_MISSION: ReadonlyArray<string>;
|
|
7305
7148
|
/** Fun quips internal employees should recognize. Internal. */
|
|
@@ -7313,7 +7156,7 @@ interface HbSpinnerProviderProps {
|
|
|
7313
7156
|
quips?: string[];
|
|
7314
7157
|
children: ReactNode;
|
|
7315
7158
|
}
|
|
7316
|
-
declare function HbSpinnerProvider({ quips, children }: HbSpinnerProviderProps):
|
|
7159
|
+
declare function HbSpinnerProvider({ quips, children }: HbSpinnerProviderProps): JSX.Element;
|
|
7317
7160
|
|
|
7318
7161
|
/**
|
|
7319
7162
|
* A helper component for consistently showing helper text below form fields.
|
|
@@ -7321,7 +7164,7 @@ declare function HbSpinnerProvider({ quips, children }: HbSpinnerProviderProps):
|
|
|
7321
7164
|
declare function HelperText(props: {
|
|
7322
7165
|
helperText: string | ReactNode;
|
|
7323
7166
|
contrast?: boolean;
|
|
7324
|
-
}):
|
|
7167
|
+
}): JSX.Element;
|
|
7325
7168
|
|
|
7326
7169
|
type BoundCheckboxFieldProps = Omit<CheckboxProps, "selected" | "onChange" | "label"> & {
|
|
7327
7170
|
field: FieldState<boolean | null | undefined>;
|
|
@@ -7330,7 +7173,7 @@ type BoundCheckboxFieldProps = Omit<CheckboxProps, "selected" | "onChange" | "la
|
|
|
7330
7173
|
label?: string;
|
|
7331
7174
|
};
|
|
7332
7175
|
/** Wraps `Checkbox` and binds it to a form field. */
|
|
7333
|
-
declare function BoundCheckboxField(props: BoundCheckboxFieldProps):
|
|
7176
|
+
declare function BoundCheckboxField(props: BoundCheckboxFieldProps): JSX.Element;
|
|
7334
7177
|
|
|
7335
7178
|
type BoundCheckboxGroupFieldProps = Omit<CheckboxGroupProps, "values" | "onChange" | "label"> & {
|
|
7336
7179
|
field: FieldState<string[] | null | undefined>;
|
|
@@ -7340,7 +7183,7 @@ type BoundCheckboxGroupFieldProps = Omit<CheckboxGroupProps, "values" | "onChang
|
|
|
7340
7183
|
};
|
|
7341
7184
|
/** Wraps `CheckboxGroup` and binds it to a form field.
|
|
7342
7185
|
* To make the field agnostic to the order of selected values, add `strictOrder: false` to the field's ObjectConfig */
|
|
7343
|
-
declare function BoundCheckboxGroupField(props: BoundCheckboxGroupFieldProps):
|
|
7186
|
+
declare function BoundCheckboxGroupField(props: BoundCheckboxGroupFieldProps): JSX.Element;
|
|
7344
7187
|
|
|
7345
7188
|
type BoundChipSelectFieldProps<O, V extends Value> = {
|
|
7346
7189
|
onSelect?: (option: V | undefined) => void;
|
|
@@ -7356,7 +7199,7 @@ type BoundDateFieldProps = Omit<DateFieldProps, "label" | "value" | "onChange">
|
|
|
7356
7199
|
onChange?: (value: Date | undefined) => void;
|
|
7357
7200
|
};
|
|
7358
7201
|
/** Wraps `TextField` and binds it to a form field. */
|
|
7359
|
-
declare function BoundDateField(props: BoundDateFieldProps):
|
|
7202
|
+
declare function BoundDateField(props: BoundDateFieldProps): JSX.Element;
|
|
7360
7203
|
|
|
7361
7204
|
type BoundDateRangeFieldProps = Omit<DateRangeFieldProps, "label" | "value" | "onChange"> & {
|
|
7362
7205
|
field: FieldState<DateRange | null | undefined>;
|
|
@@ -7364,7 +7207,7 @@ type BoundDateRangeFieldProps = Omit<DateRangeFieldProps, "label" | "value" | "o
|
|
|
7364
7207
|
onChange?: (value: DateRange | undefined) => void;
|
|
7365
7208
|
};
|
|
7366
7209
|
/** Wraps `TextField` and binds it to a form field. */
|
|
7367
|
-
declare function BoundDateRangeField(props: BoundDateRangeFieldProps):
|
|
7210
|
+
declare function BoundDateRangeField(props: BoundDateRangeFieldProps): JSX.Element;
|
|
7368
7211
|
|
|
7369
7212
|
type BoundIconCardFieldProps = Omit<IconCardProps, "label" | "selected" | "onChange"> & {
|
|
7370
7213
|
field: FieldState<boolean | null | undefined>;
|
|
@@ -7374,7 +7217,7 @@ type BoundIconCardFieldProps = Omit<IconCardProps, "label" | "selected" | "onCha
|
|
|
7374
7217
|
label?: string;
|
|
7375
7218
|
};
|
|
7376
7219
|
/** Wraps `IconCard` and binds it to a form field. */
|
|
7377
|
-
declare function BoundIconCardField(props: BoundIconCardFieldProps):
|
|
7220
|
+
declare function BoundIconCardField(props: BoundIconCardFieldProps): JSX.Element;
|
|
7378
7221
|
|
|
7379
7222
|
interface IconCardGroupItemOption<V extends Value> {
|
|
7380
7223
|
icon: IconProps["icon"];
|
|
@@ -7405,7 +7248,7 @@ type BoundIconCardGroupFieldProps<V extends Value> = Omit<IconCardGroupProps<V>,
|
|
|
7405
7248
|
label?: string;
|
|
7406
7249
|
};
|
|
7407
7250
|
/** Wraps `IconCardGroup` and binds it to a form field. */
|
|
7408
|
-
declare function BoundIconCardGroupField<V extends Value>(props: BoundIconCardGroupFieldProps<V>):
|
|
7251
|
+
declare function BoundIconCardGroupField<V extends Value>(props: BoundIconCardGroupFieldProps<V>): JSX.Element;
|
|
7409
7252
|
|
|
7410
7253
|
type ListFieldKey<F> = {
|
|
7411
7254
|
[K in keyof F]: F[K] extends (infer T)[] | null | undefined ? (T extends object ? K : never) : never;
|
|
@@ -7457,7 +7300,7 @@ type BoundNumberFieldProps = Omit<NumberFieldProps, "value" | "onChange" | "labe
|
|
|
7457
7300
|
onChange?: (value: number | undefined) => void;
|
|
7458
7301
|
};
|
|
7459
7302
|
/** Wraps `NumberField` and binds it to a form field. */
|
|
7460
|
-
declare function BoundNumberField(props: BoundNumberFieldProps):
|
|
7303
|
+
declare function BoundNumberField(props: BoundNumberFieldProps): JSX.Element;
|
|
7461
7304
|
|
|
7462
7305
|
type BoundRadioGroupFieldProps<K extends string> = Omit<RadioGroupFieldProps<K>, "value" | "onChange" | "label"> & {
|
|
7463
7306
|
field: FieldState<K | null | undefined>;
|
|
@@ -7466,14 +7309,14 @@ type BoundRadioGroupFieldProps<K extends string> = Omit<RadioGroupFieldProps<K>,
|
|
|
7466
7309
|
label?: string;
|
|
7467
7310
|
};
|
|
7468
7311
|
/** Wraps `TextField` and binds it to a form field. */
|
|
7469
|
-
declare function BoundRadioGroupField<K extends string>(props: BoundRadioGroupFieldProps<K>):
|
|
7312
|
+
declare function BoundRadioGroupField<K extends string>(props: BoundRadioGroupFieldProps<K>): JSX.Element;
|
|
7470
7313
|
|
|
7471
7314
|
type BoundRichTextFieldProps = Omit<RichTextFieldProps, "value" | "onChange"> & {
|
|
7472
7315
|
field: FieldState<string | null | undefined>;
|
|
7473
7316
|
onChange?: (value: string | undefined) => void;
|
|
7474
7317
|
};
|
|
7475
7318
|
/** Wraps `RichTextField` and binds it to a form field. */
|
|
7476
|
-
declare function BoundRichTextField(props: BoundRichTextFieldProps):
|
|
7319
|
+
declare function BoundRichTextField(props: BoundRichTextFieldProps): JSX.Element;
|
|
7477
7320
|
|
|
7478
7321
|
type BoundSelectFieldProps<O, V extends Value> = Omit<SelectFieldProps<O, V>, "value" | "onSelect" | "label"> & {
|
|
7479
7322
|
/** Optional, to allow `onSelect` to be overridden to do more than just `field.set`. */
|
|
@@ -7509,7 +7352,7 @@ type BoundSwitchFieldProps = Omit<SwitchProps, "selected" | "onChange" | "label"
|
|
|
7509
7352
|
label?: string;
|
|
7510
7353
|
};
|
|
7511
7354
|
/** Wraps `Switch` and binds it to a form field. */
|
|
7512
|
-
declare function BoundSwitchField(props: BoundSwitchFieldProps):
|
|
7355
|
+
declare function BoundSwitchField(props: BoundSwitchFieldProps): JSX.Element;
|
|
7513
7356
|
|
|
7514
7357
|
type BoundTextAreaFieldProps<X> = Omit<TextAreaFieldProps<X>, "value" | "onChange" | "label"> & {
|
|
7515
7358
|
label?: string;
|
|
@@ -7517,7 +7360,7 @@ type BoundTextAreaFieldProps<X> = Omit<TextAreaFieldProps<X>, "value" | "onChang
|
|
|
7517
7360
|
onChange?: (value: string | undefined) => void;
|
|
7518
7361
|
};
|
|
7519
7362
|
/** Wraps `TextAreaField` and binds it to a form field. */
|
|
7520
|
-
declare function BoundTextAreaField<X extends Only<TextFieldXss, X>>(props: BoundTextAreaFieldProps<X>):
|
|
7363
|
+
declare function BoundTextAreaField<X extends Only<TextFieldXss, X>>(props: BoundTextAreaFieldProps<X>): JSX.Element;
|
|
7521
7364
|
|
|
7522
7365
|
type BoundTextFieldProps<X> = Omit<TextFieldProps<X>, "value" | "onChange" | "label"> & {
|
|
7523
7366
|
label?: string;
|
|
@@ -7525,7 +7368,7 @@ type BoundTextFieldProps<X> = Omit<TextFieldProps<X>, "value" | "onChange" | "la
|
|
|
7525
7368
|
onChange?: (value: string | undefined) => void;
|
|
7526
7369
|
};
|
|
7527
7370
|
/** Wraps `TextField` and binds it to a form field. */
|
|
7528
|
-
declare function BoundTextField<X extends Only<TextFieldXss, X>>(props: BoundTextFieldProps<X>):
|
|
7371
|
+
declare function BoundTextField<X extends Only<TextFieldXss, X>>(props: BoundTextFieldProps<X>): JSX.Element;
|
|
7529
7372
|
|
|
7530
7373
|
type BoundToggleChipGroupFieldProps = Omit<ToggleChipGroupProps, "values" | "onChange" | "label"> & {
|
|
7531
7374
|
field: FieldState<string[] | null | undefined>;
|
|
@@ -7534,7 +7377,7 @@ type BoundToggleChipGroupFieldProps = Omit<ToggleChipGroupProps, "values" | "onC
|
|
|
7534
7377
|
label?: string;
|
|
7535
7378
|
};
|
|
7536
7379
|
/** Wraps `ToggleChipGroup` and binds it to a form field. */
|
|
7537
|
-
declare function BoundToggleChipGroupField(props: BoundToggleChipGroupFieldProps):
|
|
7380
|
+
declare function BoundToggleChipGroupField(props: BoundToggleChipGroupFieldProps): JSX.Element;
|
|
7538
7381
|
|
|
7539
7382
|
type BoundTreeSelectFieldProps<O, V extends Value> = Omit<TreeSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7540
7383
|
onSelect?: (options: TreeSelectResponse<O, V>) => void;
|
|
@@ -7596,11 +7439,11 @@ type BoundFormProps<F> = {
|
|
|
7596
7439
|
/>
|
|
7597
7440
|
* ```
|
|
7598
7441
|
*/
|
|
7599
|
-
declare function BoundForm<F>(props: BoundFormProps<F>):
|
|
7442
|
+
declare function BoundForm<F>(props: BoundFormProps<F>): JSX.Element;
|
|
7600
7443
|
declare function FormRow<F>({ row, formState }: {
|
|
7601
7444
|
row: BoundFormRowInputs<F>;
|
|
7602
7445
|
formState: ObjectState<F>;
|
|
7603
|
-
}):
|
|
7446
|
+
}): JSX.Element;
|
|
7604
7447
|
/**
|
|
7605
7448
|
* These field component functions are thin wrappers around the `BoundFoo` components which omit
|
|
7606
7449
|
* certain props that the caller doesn't need to pass or we specifically want to restrict to drive UX consistency.
|
|
@@ -7641,7 +7484,7 @@ interface FormHeadingProps {
|
|
|
7641
7484
|
xss?: Xss<Margin>;
|
|
7642
7485
|
isFirst?: boolean;
|
|
7643
7486
|
}
|
|
7644
|
-
declare function FormHeading(props: FormHeadingProps):
|
|
7487
|
+
declare function FormHeading(props: FormHeadingProps): JSX.Element;
|
|
7645
7488
|
declare namespace FormHeading {
|
|
7646
7489
|
var isFormHeading: boolean;
|
|
7647
7490
|
}
|
|
@@ -7668,9 +7511,9 @@ type FormLinesProps = {
|
|
|
7668
7511
|
* Lines can either be individual form fields, or a group of form fields
|
|
7669
7512
|
* (see the `FieldGroup` component), where they will be laid out side-by-side.
|
|
7670
7513
|
*/
|
|
7671
|
-
declare function FormLines(props: FormLinesProps):
|
|
7514
|
+
declare function FormLines(props: FormLinesProps): JSX.Element;
|
|
7672
7515
|
/** Draws a line between form lines. */
|
|
7673
|
-
declare function FormDivider():
|
|
7516
|
+
declare function FormDivider(): JSX.Element;
|
|
7674
7517
|
/** Groups multiple fields side-by-side. */
|
|
7675
7518
|
declare function FieldGroup(props: {
|
|
7676
7519
|
/** The legend/title for this group. */
|
|
@@ -7678,7 +7521,7 @@ declare function FieldGroup(props: {
|
|
|
7678
7521
|
children: JSX.Element[];
|
|
7679
7522
|
/** An array of widths for each child, if a number we use `fr` units. */
|
|
7680
7523
|
widths?: Array<number | string>;
|
|
7681
|
-
}):
|
|
7524
|
+
}): JSX.Element;
|
|
7682
7525
|
|
|
7683
7526
|
interface StaticFieldProps {
|
|
7684
7527
|
label: ReactNode;
|
|
@@ -7686,14 +7529,14 @@ interface StaticFieldProps {
|
|
|
7686
7529
|
children?: ReactNode;
|
|
7687
7530
|
labelStyle?: PresentationFieldProps["labelStyle"];
|
|
7688
7531
|
}
|
|
7689
|
-
declare function StaticField(props: StaticFieldProps):
|
|
7532
|
+
declare function StaticField(props: StaticFieldProps): JSX.Element;
|
|
7690
7533
|
|
|
7691
7534
|
type SubmitButtonProps<T> = Omit<ButtonProps, "label"> & {
|
|
7692
7535
|
label?: ButtonProps["label"];
|
|
7693
7536
|
form: ObjectState<T>;
|
|
7694
7537
|
};
|
|
7695
7538
|
/** Provides a Button that will auto-disable if `formState` is invalid. */
|
|
7696
|
-
declare function SubmitButton<T>(props: SubmitButtonProps<T>):
|
|
7539
|
+
declare function SubmitButton<T>(props: SubmitButtonProps<T>): JSX.Element;
|
|
7697
7540
|
|
|
7698
7541
|
type SidebarContentProps = {
|
|
7699
7542
|
icon: IconKey;
|
|
@@ -7706,7 +7549,7 @@ type RightSidebarProps = {
|
|
|
7706
7549
|
/** Exporting this value allows layout components to coordinate responsive column sizing
|
|
7707
7550
|
* while avoiding layout shift when the sidebar is opened */
|
|
7708
7551
|
declare const RIGHT_SIDEBAR_MIN_WIDTH = "250px";
|
|
7709
|
-
declare function RightSidebar({ content, headerHeightPx }: RightSidebarProps):
|
|
7552
|
+
declare function RightSidebar({ content, headerHeightPx }: RightSidebarProps): JSX.Element;
|
|
7710
7553
|
|
|
7711
7554
|
type HeaderBreadcrumb = {
|
|
7712
7555
|
href: string;
|
|
@@ -7731,7 +7574,7 @@ type FormPageLayoutProps<F> = {
|
|
|
7731
7574
|
tertiaryAction?: ActionButtonProps$1;
|
|
7732
7575
|
rightSideBar?: SidebarContentProps[];
|
|
7733
7576
|
};
|
|
7734
|
-
declare function FormPageLayoutComponent<F>(props: FormPageLayoutProps<F>):
|
|
7577
|
+
declare function FormPageLayoutComponent<F>(props: FormPageLayoutProps<F>): JSX.Element;
|
|
7735
7578
|
declare const FormPageLayout: typeof FormPageLayoutComponent;
|
|
7736
7579
|
|
|
7737
7580
|
/** Provides a way to extend the full width of the ScrollableParent */
|
|
@@ -7877,10 +7720,194 @@ interface PaginationProps {
|
|
|
7877
7720
|
totalCount: number;
|
|
7878
7721
|
pageSizes?: number[];
|
|
7879
7722
|
}
|
|
7880
|
-
declare function Pagination(props: PaginationProps):
|
|
7723
|
+
declare function Pagination(props: PaginationProps): JSX.Element;
|
|
7881
7724
|
declare function toLimitAndOffset(page: PageSettings): OffsetAndLimit;
|
|
7882
7725
|
declare function toPageNumberSize(page: PageSettings): PageNumberAndSize;
|
|
7883
7726
|
|
|
7727
|
+
interface GridTableCollapseToggleProps extends Pick<IconButtonProps, "compact"> {
|
|
7728
|
+
row: GridDataRow<any>;
|
|
7729
|
+
}
|
|
7730
|
+
/** Provides a chevron icons to collapse/un-collapse for parent/child tables. */
|
|
7731
|
+
declare function CollapseToggle(props: GridTableCollapseToggleProps): JSX.Element | null;
|
|
7732
|
+
|
|
7733
|
+
type EditColumnsButtonProps<R extends Kinded> = {
|
|
7734
|
+
columns: GridColumn<R>[];
|
|
7735
|
+
api: GridTableApi<R>;
|
|
7736
|
+
defaultOpen?: boolean;
|
|
7737
|
+
} & Pick<OverlayTriggerProps, "trigger" | "placement" | "disabled" | "tooltip">;
|
|
7738
|
+
declare function EditColumnsButton<R extends Kinded>(props: EditColumnsButtonProps<R>): JSX.Element;
|
|
7739
|
+
|
|
7740
|
+
interface SelectToggleProps {
|
|
7741
|
+
id: string;
|
|
7742
|
+
disabled?: boolean | ReactNode;
|
|
7743
|
+
}
|
|
7744
|
+
/** Provides a checkbox to show/drive this row's selected state. */
|
|
7745
|
+
declare function SelectToggle({ id, disabled }: SelectToggleProps): JSX.Element;
|
|
7746
|
+
|
|
7747
|
+
interface SortHeaderProps {
|
|
7748
|
+
content: string;
|
|
7749
|
+
xss?: Properties;
|
|
7750
|
+
iconOnLeft?: boolean;
|
|
7751
|
+
sortKey: string;
|
|
7752
|
+
tooltipEl?: ReactNode;
|
|
7753
|
+
}
|
|
7754
|
+
/**
|
|
7755
|
+
* Wraps column header names with up/down sorting icons.
|
|
7756
|
+
*
|
|
7757
|
+
* GridTable will use this automatically if the header content is just a text string.
|
|
7758
|
+
*
|
|
7759
|
+
* Alternatively, callers can also:
|
|
7760
|
+
*
|
|
7761
|
+
* - Instantiate this SortHeader directly with some customizations in `xss`, or
|
|
7762
|
+
* - Write their own component that uses `GridSortContext` to access the column's
|
|
7763
|
+
* current sort state + `toggleSort` function
|
|
7764
|
+
*/
|
|
7765
|
+
declare function SortHeader(props: SortHeaderProps): JSX.Element;
|
|
7766
|
+
|
|
7767
|
+
/**
|
|
7768
|
+
* Calculates an array of sizes for each of our columns.
|
|
7769
|
+
*
|
|
7770
|
+
* We originally supported CSS grid-template-column definitions which allowed fancier,
|
|
7771
|
+
* dynamic/content-based widths, but have eventually dropped it mainly due to:
|
|
7772
|
+
*
|
|
7773
|
+
* 1. In virtual tables, a) the table never has all of the rows in DOM at a single time,
|
|
7774
|
+
* so any "content-based" widths will change as you scroll the table, which is weird, and
|
|
7775
|
+
* b) a sticky header and rows are put in different DOM parent elements by react-virtuoso,
|
|
7776
|
+
* so wouldn't arrive at the same "content-based" widths.
|
|
7777
|
+
*
|
|
7778
|
+
* 2. Using CSS grid but still have a row-level div for hover/focus targeting required
|
|
7779
|
+
* a "fake" `display: contents` div that couldn't have actually any styles applied to it.
|
|
7780
|
+
*
|
|
7781
|
+
* So we've just got with essentially fixed/deterministic widths, i.e. `px` or `percent` or
|
|
7782
|
+
* `fr`.
|
|
7783
|
+
*
|
|
7784
|
+
* Disclaimer that we roll our own `fr` b/c we're not in CSS grid anymore.
|
|
7785
|
+
*/
|
|
7786
|
+
declare function useSetupColumnSizes<R extends Kinded>(style: GridStyle, columns: GridColumnWithId<R>[], resizeRef: MutableRefObject<HTMLElement | null>, expandedColumnIds: string[], visibleColumnsStorageKey: string | undefined, disableColumnResizing: boolean): {
|
|
7787
|
+
columnSizes: string[];
|
|
7788
|
+
tableWidth: number | undefined;
|
|
7789
|
+
resizedWidths: ResizedWidths;
|
|
7790
|
+
setResizedWidth: (columnId: string, width: number) => void;
|
|
7791
|
+
setResizedWidths: (widths: ResizedWidths | ((prev: ResizedWidths) => ResizedWidths)) => void;
|
|
7792
|
+
resetColumnWidths: () => void;
|
|
7793
|
+
};
|
|
7794
|
+
|
|
7795
|
+
/** Provides default styling for a GridColumn representing a Date. */
|
|
7796
|
+
declare function column<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
7797
|
+
/** Provides default styling for a GridColumn representing a Date. */
|
|
7798
|
+
declare function dateColumn<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
7799
|
+
/**
|
|
7800
|
+
* Provides default styling for a GridColumn representing a Numeric value (Price, percentage, PO #, etc.). */
|
|
7801
|
+
declare function numericColumn<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
7802
|
+
/** Provides default styling for a GridColumn representing an Action. */
|
|
7803
|
+
declare function actionColumn<T extends Kinded>(columnDef: GridColumn<T>): GridColumn<T>;
|
|
7804
|
+
/**
|
|
7805
|
+
* Provides default styling for a GridColumn containing a checkbox.
|
|
7806
|
+
*
|
|
7807
|
+
* We allow either no `columnDef` at all, or a partial column def (i.e. to say a Totals row should
|
|
7808
|
+
* not have a `SelectToggle`, b/c we can provide the default behavior a `SelectToggle` for basically
|
|
7809
|
+
* all rows.
|
|
7810
|
+
*/
|
|
7811
|
+
declare function selectColumn<T extends Kinded>(columnDef?: Partial<GridColumn<T>>): GridColumn<T>;
|
|
7812
|
+
/**
|
|
7813
|
+
* Provides default styling for a GridColumn containing a collapse icon.
|
|
7814
|
+
*
|
|
7815
|
+
* We allow either no `columnDef` at all, or a partial column def (i.e. to say a Totals row should
|
|
7816
|
+
* not have a `CollapseToggle`, b/c we can provide the default behavior a `CollapseToggle` for basically
|
|
7817
|
+
* all rows.
|
|
7818
|
+
*/
|
|
7819
|
+
declare function collapseColumn<T extends Kinded>(columnDef?: Partial<GridColumn<T>>): GridColumn<T>;
|
|
7820
|
+
declare function parseWidthToPx(widthStr: string | undefined, tableWidth: number | undefined): number | null;
|
|
7821
|
+
/**
|
|
7822
|
+
* Calculates column widths using a flexible `calc()` definition that allows for consistent column alignment without the use of `<table />`, CSS Grid, etc layouts.
|
|
7823
|
+
* Enforces only fixed-sized units (% and px)
|
|
7824
|
+
*/
|
|
7825
|
+
declare function calcColumnSizes<R extends Kinded>(columns: GridColumnWithId<R>[], tableWidth: number | undefined, tableMinWidthPx: number | undefined, expandedColumnIds: string[], resizedWidths?: ResizedWidths): string[];
|
|
7826
|
+
/** Assign column ids if missing. */
|
|
7827
|
+
declare function assignDefaultColumnIds<T extends Kinded>(columns: GridColumn<T>[]): GridColumnWithId<T>[];
|
|
7828
|
+
declare const generateColumnId: (columnIndex: number) => string;
|
|
7829
|
+
declare function dragHandleColumn<T extends Kinded>(columnDef?: Partial<GridColumn<T>>): GridColumn<T>;
|
|
7830
|
+
|
|
7831
|
+
/**
|
|
7832
|
+
* A helper for making `Row` type aliases of simple/flat tables that are just header + data.
|
|
7833
|
+
*
|
|
7834
|
+
* Unlike `SimpleHeaderAndDataOf`, we keep `T` in a separate `data`, which is useful
|
|
7835
|
+
* when rows are mobx proxies and we need proxy accesses to happen within the column
|
|
7836
|
+
* rendering.
|
|
7837
|
+
*/
|
|
7838
|
+
type SimpleHeaderAndData<T> = {
|
|
7839
|
+
kind: "header";
|
|
7840
|
+
} | {
|
|
7841
|
+
kind: "data";
|
|
7842
|
+
data: T;
|
|
7843
|
+
id: string;
|
|
7844
|
+
};
|
|
7845
|
+
/** A const for a marker header row. */
|
|
7846
|
+
declare const simpleHeader: {
|
|
7847
|
+
kind: "header";
|
|
7848
|
+
id: string;
|
|
7849
|
+
data: undefined;
|
|
7850
|
+
};
|
|
7851
|
+
/** Like `simpleRows` but for `SimpleHeaderAndData`. */
|
|
7852
|
+
declare function simpleDataRows<R extends SimpleHeaderAndData<D>, D>(data?: Array<D & {
|
|
7853
|
+
id: string;
|
|
7854
|
+
}> | undefined): GridDataRow<R>[];
|
|
7855
|
+
|
|
7856
|
+
declare function sortRows<R extends Kinded>(columns: GridColumnWithId<R>[], rows: GridDataRow<R>[], sortState: SortState, caseSensitive: boolean): GridDataRow<R>[];
|
|
7857
|
+
/** Creates a comparator for two GridDataRows based on the current sortState. */
|
|
7858
|
+
declare function sortFn<R extends Kinded>(columns: GridColumnWithId<R>[], sortState: SortState, caseSensitive: boolean): (a: GridDataRow<R>, b: GridDataRow<R>) => number;
|
|
7859
|
+
declare function ensureClientSideSortValueIsSortable(sortOn: SortOn, isHeader: boolean, column: GridColumnWithId<any>, idx: number, maybeContent: ReactNode | GridCellContent): void;
|
|
7860
|
+
|
|
7861
|
+
/** If a column def return just string text for a given row, apply some default styling. */
|
|
7862
|
+
declare function toContent(maybeContent: ReactNode | GridCellContent, isHeader: boolean, canSortColumn: boolean, isClientSideSorting: boolean, style: GridStyle, as: RenderAs, alignment: GridCellAlignment, column: GridColumnWithId<any>, isExpandableHeader: boolean, isExpandable: boolean, minStickyLeftOffset: number, isKeptSelectedRow: boolean): ReactNode;
|
|
7863
|
+
declare function isGridCellContent(content: ReactNode | GridCellContent): content is GridCellContent;
|
|
7864
|
+
type DragData<R extends Kinded> = {
|
|
7865
|
+
rowRenderRef: React.RefObject<HTMLTableRowElement>;
|
|
7866
|
+
onDragStart?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
7867
|
+
onDragEnd?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
7868
|
+
onDrop?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
7869
|
+
onDragEnter?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
7870
|
+
onDragOver?: (row: GridDataRow<R>, event: React.DragEvent<HTMLElement>) => void;
|
|
7871
|
+
};
|
|
7872
|
+
/** Return the content for a given column def applied to a given row. */
|
|
7873
|
+
declare function applyRowFn<R extends Kinded>(column: GridColumnWithId<R>, row: GridDataRow<R>, api: GridRowApi<R>, level: number, expanded: boolean, dragData?: DragData<R>): ReactNode | GridCellContent;
|
|
7874
|
+
declare const ASC: "ASC";
|
|
7875
|
+
declare const DESC: "DESC";
|
|
7876
|
+
declare const emptyCell: GridCellContent;
|
|
7877
|
+
declare function getFirstOrLastCellCss<R extends Kinded>(style: GridStyle, columnIndex: number, columns: GridColumnWithId<R>[], colspan?: number): Properties;
|
|
7878
|
+
/** A heuristic to detect the result of `React.createElement` / i.e. JSX. */
|
|
7879
|
+
declare function isJSX(content: any): boolean;
|
|
7880
|
+
declare function getAlignment(column: GridColumnWithId<any>, maybeContent: ReactNode | GridCellContent): GridCellAlignment;
|
|
7881
|
+
declare function getJustification(column: GridColumnWithId<any>, maybeContent: ReactNode | GridCellContent, as: RenderAs, alignment: GridCellAlignment): {
|
|
7882
|
+
textAlign: csstype.Property.TextAlign | undefined;
|
|
7883
|
+
};
|
|
7884
|
+
declare function matchesFilter(maybeContent: ReactNode | GridCellContent, filter: string): boolean;
|
|
7885
|
+
declare const HEADER = "header";
|
|
7886
|
+
declare const TOTALS = "totals";
|
|
7887
|
+
/** Tables expandable columns get an extra header. */
|
|
7888
|
+
declare const EXPANDABLE_HEADER = "expandableHeader";
|
|
7889
|
+
declare const KEPT_GROUP = "keptGroup";
|
|
7890
|
+
declare const reservedRowKinds: string[];
|
|
7891
|
+
declare const zIndices: {
|
|
7892
|
+
stickyHeader: number;
|
|
7893
|
+
stickyColumns: number;
|
|
7894
|
+
expandableHeaderTitle: number;
|
|
7895
|
+
expandableHeaderIcon: number;
|
|
7896
|
+
};
|
|
7897
|
+
/** Loads an array from sessionStorage, if it exists, or `undefined`. */
|
|
7898
|
+
declare function loadArrayOrUndefined(key: string): any;
|
|
7899
|
+
declare function insertAtIndex<T>(array: Array<T>, element: T, index: number): Array<T>;
|
|
7900
|
+
declare function isCursorBelowMidpoint(target: HTMLElement, clientY: number): boolean;
|
|
7901
|
+
declare function recursivelyGetContainingRow<R extends Kinded>(rowId: string, rowArray: GridDataRow<R>[], parent?: GridDataRow<R>): {
|
|
7902
|
+
array: GridDataRow<R>[];
|
|
7903
|
+
parent: GridDataRow<R> | undefined;
|
|
7904
|
+
} | undefined;
|
|
7905
|
+
declare function getTableRefWidthStyles(isVirtual: boolean): {
|
|
7906
|
+
width: csstype.Property.Width<string | 0> | undefined;
|
|
7907
|
+
};
|
|
7908
|
+
|
|
7909
|
+
declare function visit(rows: GridDataRow<any>[], fn: (row: GridDataRow<any>) => void): void;
|
|
7910
|
+
|
|
7884
7911
|
type Sizes = "sm" | "md" | "lg";
|
|
7885
7912
|
type LoadingSkeletonProps = {
|
|
7886
7913
|
rows?: number;
|
|
@@ -7889,7 +7916,7 @@ type LoadingSkeletonProps = {
|
|
|
7889
7916
|
randomizeWidths?: boolean;
|
|
7890
7917
|
contrast?: boolean;
|
|
7891
7918
|
};
|
|
7892
|
-
declare function LoadingSkeleton({ rows, columns, size, randomizeWidths, contrast, }: LoadingSkeletonProps):
|
|
7919
|
+
declare function LoadingSkeleton({ rows, columns, size, randomizeWidths, contrast, }: LoadingSkeletonProps): JSX.Element;
|
|
7893
7920
|
|
|
7894
7921
|
type QueryResult<QData> = {
|
|
7895
7922
|
loading: boolean;
|
|
@@ -7959,7 +7986,7 @@ type GridTableLayoutProps<F extends Record<string, unknown>, R extends Kinded, X
|
|
|
7959
7986
|
*
|
|
7960
7987
|
* Pagination is rendered when `totalCount` is provided. Use `layoutState.page` for server query variables.
|
|
7961
7988
|
*/
|
|
7962
|
-
declare function GridTableLayoutComponent<F extends Record<string, unknown>, R extends Kinded, X extends Only<GridTableXss, X>, QData>(props: GridTableLayoutProps<F, R, X, QData>):
|
|
7989
|
+
declare function GridTableLayoutComponent<F extends Record<string, unknown>, R extends Kinded, X extends Only<GridTableXss, X>, QData>(props: GridTableLayoutProps<F, R, X, QData>): JSX.Element;
|
|
7963
7990
|
declare const GridTableLayout: typeof GridTableLayoutComponent;
|
|
7964
7991
|
/** Configuration for pagination in GridTableLayout */
|
|
7965
7992
|
type PaginationConfig = {
|
|
@@ -8004,7 +8031,7 @@ declare function useGridTableLayoutState<F extends Record<string, unknown>>({ pe
|
|
|
8004
8031
|
};
|
|
8005
8032
|
|
|
8006
8033
|
/** Intended to wrap the whole application to prevent the browser's native scrolling behavior while also taking the full height of the viewport */
|
|
8007
|
-
declare function PreventBrowserScroll({ children }: ChildrenOnly):
|
|
8034
|
+
declare function PreventBrowserScroll({ children }: ChildrenOnly): JSX.Element;
|
|
8008
8035
|
|
|
8009
8036
|
interface OpenRightPaneOpts {
|
|
8010
8037
|
content: ReactNode;
|
|
@@ -8019,7 +8046,7 @@ type RightPaneLayoutContextProps = {
|
|
|
8019
8046
|
declare const RightPaneContext: React__default.Context<RightPaneLayoutContextProps>;
|
|
8020
8047
|
declare function RightPaneProvider({ children }: {
|
|
8021
8048
|
children: ReactNode;
|
|
8022
|
-
}):
|
|
8049
|
+
}): JSX.Element;
|
|
8023
8050
|
declare function useRightPaneContext(): RightPaneLayoutContextProps;
|
|
8024
8051
|
|
|
8025
8052
|
declare function RightPaneLayout(props: {
|
|
@@ -8027,7 +8054,7 @@ declare function RightPaneLayout(props: {
|
|
|
8027
8054
|
paneBgColor?: Palette;
|
|
8028
8055
|
paneWidth?: number;
|
|
8029
8056
|
defaultPaneContent?: ReactElement;
|
|
8030
|
-
}):
|
|
8057
|
+
}): JSX.Element;
|
|
8031
8058
|
|
|
8032
8059
|
interface UseRightPaneHook {
|
|
8033
8060
|
/** Opens a right pane */
|
|
@@ -8056,12 +8083,15 @@ declare function ScrollableContent(props: ScrollableContentProps): ReactPortal |
|
|
|
8056
8083
|
|
|
8057
8084
|
interface ScrollableParentContextProps {
|
|
8058
8085
|
scrollableEl: HTMLElement | null;
|
|
8059
|
-
|
|
8060
|
-
|
|
8086
|
+
paddingRight: string;
|
|
8087
|
+
paddingLeft: string;
|
|
8061
8088
|
setPortalTick: Dispatch<SetStateAction<number>>;
|
|
8062
8089
|
}
|
|
8063
8090
|
interface ScrollableParentContextProviderProps {
|
|
8064
8091
|
xss?: Properties;
|
|
8092
|
+
px?: string | number;
|
|
8093
|
+
pl?: string | number;
|
|
8094
|
+
pr?: string | number;
|
|
8065
8095
|
tagName?: keyof JSX.IntrinsicElements;
|
|
8066
8096
|
}
|
|
8067
8097
|
/**
|
|
@@ -8088,19 +8118,19 @@ interface ScrollableParentContextProviderProps {
|
|
|
8088
8118
|
*
|
|
8089
8119
|
* See [this miro](https://miro.com/app/board/o9J_l-FQ-RU=/) and how we need to "cut the component in half".
|
|
8090
8120
|
*/
|
|
8091
|
-
declare function ScrollableParent(props: PropsWithChildren<ScrollableParentContextProviderProps>):
|
|
8121
|
+
declare function ScrollableParent(props: PropsWithChildren<ScrollableParentContextProviderProps>): JSX.Element;
|
|
8092
8122
|
declare function useScrollableParent(): ScrollableParentContextProps;
|
|
8093
8123
|
|
|
8094
8124
|
interface LoaderProps {
|
|
8095
8125
|
size?: "xs" | "sm" | "md" | "lg";
|
|
8096
8126
|
contrast?: boolean;
|
|
8097
8127
|
}
|
|
8098
|
-
declare function Loader({ size, contrast }: LoaderProps):
|
|
8128
|
+
declare function Loader({ size, contrast }: LoaderProps): JSX.Element;
|
|
8099
8129
|
|
|
8100
8130
|
type MaxLinesProps = PropsWithChildren<{
|
|
8101
8131
|
maxLines: number;
|
|
8102
8132
|
}>;
|
|
8103
|
-
declare function MaxLines({ maxLines, children }: MaxLinesProps):
|
|
8133
|
+
declare function MaxLines({ maxLines, children }: MaxLinesProps): JSX.Element;
|
|
8104
8134
|
|
|
8105
8135
|
interface OpenModalProps {
|
|
8106
8136
|
/** The custom modal content to show. */
|
|
@@ -8149,7 +8179,7 @@ interface ScrollShadowsProps {
|
|
|
8149
8179
|
/** Defines the background color for the shadows */
|
|
8150
8180
|
bgColor?: Palette;
|
|
8151
8181
|
}
|
|
8152
|
-
declare function ScrollShadows(props: ScrollShadowsProps):
|
|
8182
|
+
declare function ScrollShadows(props: ScrollShadowsProps): JSX.Element;
|
|
8153
8183
|
|
|
8154
8184
|
type SnackbarNoticeTypes = "error" | "warning" | "success" | "info" | "alert";
|
|
8155
8185
|
interface SnackbarNoticeProps {
|
|
@@ -8203,7 +8233,7 @@ interface StepperProps {
|
|
|
8203
8233
|
currentStep: Step["value"];
|
|
8204
8234
|
onChange: (stepValue: string) => void;
|
|
8205
8235
|
}
|
|
8206
|
-
declare function Stepper(props: StepperProps):
|
|
8236
|
+
declare function Stepper(props: StepperProps): JSX.Element;
|
|
8207
8237
|
|
|
8208
8238
|
interface SuperDrawerHeaderProps {
|
|
8209
8239
|
children: ReactNode;
|
|
@@ -8223,7 +8253,7 @@ interface ConfirmCloseModalProps {
|
|
|
8223
8253
|
continueText?: string;
|
|
8224
8254
|
}
|
|
8225
8255
|
/** Modal content to appear when a close checks fails */
|
|
8226
|
-
declare function ConfirmCloseModal(props: ConfirmCloseModalProps):
|
|
8256
|
+
declare function ConfirmCloseModal(props: ConfirmCloseModalProps): JSX.Element;
|
|
8227
8257
|
|
|
8228
8258
|
interface SuperDrawerContentProps {
|
|
8229
8259
|
children: ReactNode;
|
|
@@ -8242,7 +8272,7 @@ interface SuperDrawerContentProps {
|
|
|
8242
8272
|
* NOTE: This does not include the header props since the caller will be the one
|
|
8243
8273
|
* that knows how to handle the title, prev/next link and the onClose handler.
|
|
8244
8274
|
*/
|
|
8245
|
-
declare const SuperDrawerContent: ({ children, actions }: SuperDrawerContentProps) =>
|
|
8275
|
+
declare const SuperDrawerContent: ({ children, actions }: SuperDrawerContentProps) => JSX.Element;
|
|
8246
8276
|
|
|
8247
8277
|
interface Tab<V extends string = string> {
|
|
8248
8278
|
name: string;
|
|
@@ -8259,6 +8289,8 @@ interface TabsProps<V extends string, X> {
|
|
|
8259
8289
|
tabs: Tab<V>[];
|
|
8260
8290
|
onChange: (value: V) => void;
|
|
8261
8291
|
contentXss?: X;
|
|
8292
|
+
/** If you want to set your own padding in `contentXss`, you can disable the default FullBleed padding here. */
|
|
8293
|
+
omitFullBleedPadding?: boolean;
|
|
8262
8294
|
alwaysShowAllTabs?: boolean;
|
|
8263
8295
|
includeBottomBorder?: boolean;
|
|
8264
8296
|
right?: ReactNode;
|
|
@@ -8291,12 +8323,12 @@ interface RequiredRenderRouteTabs<V extends string, X> extends Omit<RouteTabsPro
|
|
|
8291
8323
|
* If you want to tease apart Tabs from their TabContent, you can use the `Tab`
|
|
8292
8324
|
* and `TabContent` components directly.
|
|
8293
8325
|
*/
|
|
8294
|
-
declare function TabsWithContent<V extends string, X extends Only<TabsContentXss, X>>(props: RequiredRenderTabs<V, X> | RequiredRenderRouteTabs<V, X>):
|
|
8295
|
-
declare function TabContent<V extends string>(props: Omit<RequiredRenderTabs<V, AnyObject>, "onChange"> | RequiredRenderRouteTabs<V, AnyObject>):
|
|
8326
|
+
declare function TabsWithContent<V extends string, X extends Only<TabsContentXss, X>>(props: RequiredRenderTabs<V, X> | RequiredRenderRouteTabs<V, X>): JSX.Element;
|
|
8327
|
+
declare function TabContent<V extends string>(props: Omit<RequiredRenderTabs<V, AnyObject>, "onChange"> | RequiredRenderRouteTabs<V, AnyObject>): JSX.Element;
|
|
8296
8328
|
/** The top list of tabs. */
|
|
8297
|
-
declare function Tabs<V extends string>(props: TabsProps<V, AnyObject> | RouteTabsProps<V, AnyObject>):
|
|
8329
|
+
declare function Tabs<V extends string>(props: TabsProps<V, AnyObject> | RouteTabsProps<V, AnyObject>): JSX.Element;
|
|
8298
8330
|
|
|
8299
|
-
declare function Toast():
|
|
8331
|
+
declare function Toast(): JSX.Element;
|
|
8300
8332
|
|
|
8301
8333
|
interface ToastNoticeProps extends Omit<BannerProps, "onClose"> {
|
|
8302
8334
|
}
|
|
@@ -8325,11 +8357,11 @@ interface TooltipProps {
|
|
|
8325
8357
|
bgColor?: Palette;
|
|
8326
8358
|
xss?: TooltipXss;
|
|
8327
8359
|
}
|
|
8328
|
-
declare function Tooltip(props: TooltipProps):
|
|
8360
|
+
declare function Tooltip(props: TooltipProps): JSX.Element;
|
|
8329
8361
|
type Placement = "top" | "bottom" | "left" | "right" | "auto";
|
|
8330
8362
|
declare function maybeTooltip(props: Omit<TooltipProps, "children"> & {
|
|
8331
8363
|
children: ReactNode;
|
|
8332
|
-
}):
|
|
8364
|
+
}): JSX.Element;
|
|
8333
8365
|
declare function resolveTooltip(disabled?: boolean | ReactNode, tooltip?: ReactNode, readOnly?: boolean | ReactNode): ReactNode | undefined;
|
|
8334
8366
|
|
|
8335
8367
|
/**
|
|
@@ -8343,4 +8375,4 @@ declare function resolveTooltip(disabled?: boolean | ReactNode, tooltip?: ReactN
|
|
|
8343
8375
|
*/
|
|
8344
8376
|
declare function defaultTestId(label: string): string;
|
|
8345
8377
|
|
|
8346
|
-
export { ASC, Accordion, AccordionList, type AccordionProps, type AccordionSize, AutoSaveIndicator, AutoSaveStatus, AutoSaveStatusContext, AutoSaveStatusProvider, Autocomplete, type AutocompleteProps, Avatar, AvatarButton, type AvatarButtonProps, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, Banner, type BannerProps, type BannerTypes, BaseFilter, type BeamButtonProps, type BeamFocusableProps, BeamProvider, type BeamTextFieldProps, BoundCheckboxField, type BoundCheckboxFieldProps, BoundCheckboxGroupField, type BoundCheckboxGroupFieldProps, BoundChipSelectField, BoundDateField, type BoundDateFieldProps, BoundDateRangeField, type BoundDateRangeFieldProps, BoundForm, type BoundFormInputConfig, type BoundFormProps, type BoundFormRowInputs, BoundIconCardField, type BoundIconCardFieldProps, BoundIconCardGroupField, type BoundIconCardGroupFieldProps, BoundMultiLineSelectField, type BoundMultiLineSelectFieldProps, BoundMultiSelectField, type BoundMultiSelectFieldProps, BoundNumberField, type BoundNumberFieldProps, BoundRadioGroupField, type BoundRadioGroupFieldProps, BoundRichTextField, type BoundRichTextFieldProps, BoundSelectAndTextField, BoundSelectField, type BoundSelectFieldProps, BoundSwitchField, type BoundSwitchFieldProps, BoundTextAreaField, type BoundTextAreaFieldProps, BoundTextField, type BoundTextFieldProps, BoundToggleChipGroupField, type BoundToggleChipGroupFieldProps, BoundTreeSelectField, type BoundTreeSelectFieldProps, type Breakpoint, Breakpoints, Button, ButtonDatePicker, ButtonGroup, type ButtonGroupButton, type ButtonGroupProps, ButtonMenu, type ButtonMenuProps, ButtonModal, type ButtonModalProps, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, type CardTag, type CardType, type CheckFn, Checkbox, CheckboxGroup, type CheckboxGroupItemOption, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipProps, ChipSelectField, type ChipSelectFieldProps, type ChipType, ChipTypes, type ChipValue, Chips, type ChipsProps, CollapseToggle, CollapsedContext, ConfirmCloseModal,
|
|
8378
|
+
export { ASC, Accordion, AccordionList, type AccordionProps, type AccordionSize, AutoSaveIndicator, AutoSaveStatus, AutoSaveStatusContext, AutoSaveStatusProvider, Autocomplete, type AutocompleteProps, Avatar, AvatarButton, type AvatarButtonProps, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, Banner, type BannerProps, type BannerTypes, BaseFilter, type BeamButtonProps, type BeamFocusableProps, BeamProvider, type BeamTextFieldProps, BoundCheckboxField, type BoundCheckboxFieldProps, BoundCheckboxGroupField, type BoundCheckboxGroupFieldProps, BoundChipSelectField, BoundDateField, type BoundDateFieldProps, BoundDateRangeField, type BoundDateRangeFieldProps, BoundForm, type BoundFormInputConfig, type BoundFormProps, type BoundFormRowInputs, BoundIconCardField, type BoundIconCardFieldProps, BoundIconCardGroupField, type BoundIconCardGroupFieldProps, BoundMultiLineSelectField, type BoundMultiLineSelectFieldProps, BoundMultiSelectField, type BoundMultiSelectFieldProps, BoundNumberField, type BoundNumberFieldProps, BoundRadioGroupField, type BoundRadioGroupFieldProps, BoundRichTextField, type BoundRichTextFieldProps, BoundSelectAndTextField, BoundSelectField, type BoundSelectFieldProps, BoundSwitchField, type BoundSwitchFieldProps, BoundTextAreaField, type BoundTextAreaFieldProps, BoundTextField, type BoundTextFieldProps, BoundToggleChipGroupField, type BoundToggleChipGroupFieldProps, BoundTreeSelectField, type BoundTreeSelectFieldProps, type Breakpoint, Breakpoints, Button, ButtonDatePicker, ButtonGroup, type ButtonGroupButton, type ButtonGroupProps, ButtonMenu, type ButtonMenuProps, ButtonModal, type ButtonModalProps, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, type CardTag, type CardType, type CheckFn, Checkbox, CheckboxGroup, type CheckboxGroupItemOption, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipProps, ChipSelectField, type ChipSelectFieldProps, type ChipType, ChipTypes, type ChipValue, Chips, type ChipsProps, CollapseToggle, CollapsedContext, ConfirmCloseModal, type ContentStack, Copy, CountBadge, type CountBadgeProps, Css, CssReset, DESC, DateField, type DateFieldMode, type DateFieldModeTuple, type DateFieldProps, type DateFilterValue, DateRangeField, type DateRangeFieldProps, type DateRangeFilterValue, type Direction, type DiscriminateUnion, type DividerMenuItemType, DnDGrid, DnDGridItemHandle, type DnDGridItemHandleProps, type DnDGridItemProps, type DnDGridProps, type DragData, EXPANDABLE_HEADER, EditColumnsButton, ErrorMessage, FieldGroup, type Filter, type FilterDefs, _FilterDropdownMenu as FilterDropdownMenu, type FilterImpls, FilterModal, _Filters as Filters, type Font, FormDivider, FormHeading, type FormHeadingProps, FormLines, type FormLinesProps, FormPageLayout, FormRow, type FormSectionConfig, type FormWidth, FullBleed, type GridCellAlignment, type GridCellContent, type GridColumn, type GridColumnWithId, type GridDataRow, type GridRowKind, type GridRowLookup, type GridSortConfig, type GridStyle, GridTable, type GridTableApi, type GridTableCollapseToggleProps, type GridTableDefaults, GridTableLayout, type GridTableLayoutProps, type GridTableProps, type GridTableScrollOptions, type GridTableXss, type GroupByHook, HB_QUIPS_FLAVOR, HB_QUIPS_MISSION, HEADER, type HasIdAndName, HbLoadingSpinner, HbSpinnerProvider, HelperText, Icon, IconButton, type IconButtonProps, IconCard, type IconCardProps, type IconKey, type IconMenuItemType, type IconProps, Icons, type IfAny, type ImageFitType, type ImageMenuItemType, type InfiniteScroll, type InputStylePalette, KEPT_GROUP, type Kinded, Loader, LoadingSkeleton, type LoadingSkeletonProps, type Margin, type Marker, MaxLines, type MaxLinesProps, type MaybeFn, type MenuItem, type MenuSection, ModalBody, ModalFilterItem, ModalFooter, ModalHeader, type ModalProps, type ModalSize, MultiLineSelectField, type MultiLineSelectFieldProps, MultiSelectField, type MultiSelectFieldProps, NavLink, type NestedOption, type NestedOptionsOrLoad, NumberField, type NumberFieldProps, type NumberFieldType, type OffsetAndLimit, type OnRowDragEvent, type OnRowSelect, type Only, type OpenDetailOpts, type OpenInDrawerOpts, OpenModal, type OpenRightPaneOpts, type Optional, type Padding, type PageNumberAndSize, type PageSettings, Pagination, type PaginationConfig, Palette, type Pin, type Placement, type PresentationFieldProps, PresentationProvider, PreventBrowserScroll, type Properties, RIGHT_SIDEBAR_MIN_WIDTH, type RadioFieldOption, RadioGroupField, type RadioGroupFieldProps, type RenderAs, type RenderCellFn, ResponsiveGrid, type ResponsiveGridConfig, ResponsiveGridContext, ResponsiveGridItem, type ResponsiveGridItemProps, type ResponsiveGridProps, RichTextField, RichTextFieldImpl, type RichTextFieldProps, RightPaneContext, RightPaneLayout, type RightPaneLayoutContextProps, RightPaneProvider, RightSidebar, type RightSidebarProps, type RouteTab, type RouteTabWithContent, Row, type RowStyle, type RowStyles, ScrollShadows, ScrollableContent, ScrollableParent, SelectField, type SelectFieldProps, SelectToggle, type SelectedState, type SidebarContentProps, type SimpleHeaderAndData, SortHeader, type SortOn, type SortState, StaticField, type Step, Stepper, type StepperProps, SubmitButton, type SubmitButtonProps, SuperDrawerContent, SuperDrawerHeader, SuperDrawerWidth, Switch, type SwitchProps, TOTALS, type Tab, TabContent, type TabWithContent, TableState, TableStateContext, Tabs, TabsWithContent, Tag, type TagType, type TestIds, TextAreaField, type TextAreaFieldProps, TextField, type TextFieldApi, type TextFieldInternalProps, type TextFieldProps, type TextFieldXss, Toast, ToggleButton, type ToggleButtonProps, ToggleChip, ToggleChipGroup, type ToggleChipGroupProps, type ToggleChipProps, ToggleChips, type ToggleChipsProps, Tooltip, TreeSelectField, type TreeSelectFieldProps, type TriggerNoticeProps, type Typography, type UseModalHook, type UsePersistedFilterProps, type UseQueryState, type UseRightPaneHook, type UseSnackbarHook, type UseSuperDrawerHook, type UseToastProps, type Value, type Xss, actionColumn, applyRowFn, assignDefaultColumnIds, booleanFilter, boundCheckboxField, boundCheckboxGroupField, boundDateField, boundDateRangeField, boundIconCardField, boundIconCardGroupField, boundMultiSelectField, boundMultilineSelectField, boundNumberField, boundRadioGroupField, boundRichTextField, boundSelectField, boundSwitchField, boundTextAreaField, boundTextField, boundToggleChipGroupField, boundTreeSelectField, calcColumnSizes, cardStyle, checkboxFilter, chipBaseStyles, chipDisabledStyles, chipHoverOnlyStyles, chipHoverStyles, collapseColumn, column, condensedStyle, createRowLookup, dateColumn, dateFilter, dateFormats, dateRangeFilter, defaultPage, defaultRenderFn, defaultStyle, defaultTestId, dragHandleColumn, emptyCell, ensureClientSideSortValueIsSortable, filterTestIdPrefix, formatDate, formatDateRange, formatValue, generateColumnId, getAlignment, getDateFormat, getFirstOrLastCellCss, getJustification, getTableRefWidthStyles, getTableStyles, headerRenderFn, hoverStyles, iconButtonCircleStylesHover, iconButtonContrastStylesHover, iconButtonStylesHover, iconCardStylesHover, increment, insertAtIndex, isCursorBelowMidpoint, isGridCellContent, isJSX, isListBoxSection, isPersistentItem, isPersistentKey, isValidDate, listFieldPrefix, loadArrayOrUndefined, matchesFilter, maybeInc, maybeTooltip, multiFilter, navLink, newMethodMissingProxy, nonKindGridColumnKeys, numberRangeFilter, numericColumn, parseDate, parseDateRange, parseWidthToPx, persistentItemPrefix, pressedOverlayCss, px, recursivelyGetContainingRow, reservedRowKinds, resolveTooltip, rowClickRenderFn, rowLinkRenderFn, selectColumn, selectedStyles, setDefaultStyle, setGridTableDefaults, setRunningInJest, shouldSkipScrollTo, simpleDataRows, simpleHeader, singleFilter, sortFn, sortRows, switchFocusStyles, switchHoverStyles, switchSelectedHoverStyles, toContent, toLimitAndOffset, toPageNumberSize, toggleFilter, toggleFocusStyles, toggleHoverStyles, togglePressStyles, treeFilter, updateFilter, useAutoSaveStatus, useBreakpoint, useComputed, useDnDGridItem, type useDnDGridItemProps, useFilter, useGridTableApi, useGridTableLayoutState, useGroupBy, useHover, useModal, usePersistedFilter, useQueryState, useResponsiveGrid, useResponsiveGridItem, type useResponsiveGridProps, useRightPane, useRightPaneContext, useScrollableParent, useSessionStorage, useSetupColumnSizes, useSnackbar, useSuperDrawer, useTestIds, useToast, useTreeSelectFieldProvider, visit, zIndices };
|