@homebound/beam 2.380.1 → 2.382.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3227 -2933
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +580 -496
- package/dist/index.d.ts +580 -496
- package/dist/index.js +3167 -2892
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -7252,261 +7252,632 @@ declare function HelperText(props: {
|
|
|
7252
7252
|
contrast?: boolean;
|
|
7253
7253
|
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7254
7254
|
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7255
|
+
type BoundCheckboxFieldProps = Omit<CheckboxProps, "selected" | "onChange" | "label"> & {
|
|
7256
|
+
field: FieldState<boolean | null | undefined>;
|
|
7257
|
+
/** Make optional so that callers can override if they want to. */
|
|
7258
|
+
onChange?: (values: boolean) => void;
|
|
7259
|
+
label?: string;
|
|
7260
|
+
};
|
|
7261
|
+
/** Wraps `Checkbox` and binds it to a form field. */
|
|
7262
|
+
declare function BoundCheckboxField(props: BoundCheckboxFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7260
7263
|
|
|
7261
|
-
|
|
7262
|
-
|
|
7264
|
+
type BoundCheckboxGroupFieldProps = Omit<CheckboxGroupProps, "values" | "onChange" | "label"> & {
|
|
7265
|
+
field: FieldState<string[] | null | undefined>;
|
|
7266
|
+
/** Make optional so that callers can override if they want to. */
|
|
7267
|
+
onChange?: (values: string[]) => void;
|
|
7268
|
+
label?: string;
|
|
7269
|
+
};
|
|
7270
|
+
/** Wraps `CheckboxGroup` and binds it to a form field.
|
|
7271
|
+
* To make the field agnostic to the order of selected values, add `strictOrder: false` to the field's ObjectConfig */
|
|
7272
|
+
declare function BoundCheckboxGroupField(props: BoundCheckboxGroupFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7263
7273
|
|
|
7264
|
-
interface
|
|
7265
|
-
|
|
7274
|
+
interface BoundChipSelectFieldProps<O, V extends Value> extends Omit<ChipSelectFieldProps<O, V>, "onSelect" | "label" | "value"> {
|
|
7275
|
+
onSelect?: (option: V | undefined) => void;
|
|
7276
|
+
field: FieldState<V | null | undefined>;
|
|
7277
|
+
label?: string;
|
|
7266
7278
|
}
|
|
7267
|
-
|
|
7268
|
-
|
|
7269
|
-
|
|
7270
|
-
|
|
7271
|
-
|
|
7272
|
-
|
|
7279
|
+
declare function BoundChipSelectField<O, V extends Value>(props: BoundChipSelectFieldProps<O, V>): JSX.Element;
|
|
7280
|
+
declare function BoundChipSelectField<O extends HasIdAndName<V>, V extends Value>(props: Optional<BoundChipSelectFieldProps<O, V>, "getOptionValue" | "getOptionLabel">): JSX.Element;
|
|
7281
|
+
|
|
7282
|
+
type BoundDateFieldProps = Omit<DateFieldProps, "label" | "value" | "onChange"> & {
|
|
7283
|
+
field: FieldState<Date | null | undefined>;
|
|
7284
|
+
label?: string;
|
|
7285
|
+
onChange?: (value: Date | undefined) => void;
|
|
7273
7286
|
};
|
|
7274
|
-
|
|
7275
|
-
declare function
|
|
7276
|
-
children: ReactNode;
|
|
7277
|
-
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7278
|
-
declare function useRightPaneContext(): RightPaneLayoutContextProps;
|
|
7287
|
+
/** Wraps `TextField` and binds it to a form field. */
|
|
7288
|
+
declare function BoundDateField(props: BoundDateFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7279
7289
|
|
|
7280
|
-
|
|
7281
|
-
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
|
|
7285
|
-
|
|
7290
|
+
type BoundDateRangeFieldProps = Omit<DateRangeFieldProps, "label" | "value" | "onChange"> & {
|
|
7291
|
+
field: FieldState<DateRange | null | undefined>;
|
|
7292
|
+
label?: string;
|
|
7293
|
+
onChange?: (value: DateRange | undefined) => void;
|
|
7294
|
+
};
|
|
7295
|
+
/** Wraps `TextField` and binds it to a form field. */
|
|
7296
|
+
declare function BoundDateRangeField(props: BoundDateRangeFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7286
7297
|
|
|
7287
|
-
|
|
7288
|
-
|
|
7289
|
-
|
|
7290
|
-
/**
|
|
7291
|
-
|
|
7292
|
-
|
|
7293
|
-
|
|
7298
|
+
type BoundIconCardFieldProps = Omit<IconCardProps, "label" | "selected" | "onChange"> & {
|
|
7299
|
+
field: FieldState<boolean | null | undefined>;
|
|
7300
|
+
icon: IconProps["icon"];
|
|
7301
|
+
/** Make optional so that callers can override if they want to. */
|
|
7302
|
+
onChange?: (values: boolean) => void;
|
|
7303
|
+
label?: string;
|
|
7304
|
+
};
|
|
7305
|
+
/** Wraps `IconCard` and binds it to a form field. */
|
|
7306
|
+
declare function BoundIconCardField(props: BoundIconCardFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7294
7307
|
|
|
7295
|
-
interface
|
|
7296
|
-
|
|
7297
|
-
|
|
7298
|
-
|
|
7299
|
-
|
|
7308
|
+
interface IconCardGroupItemOption<V extends Value> {
|
|
7309
|
+
icon: IconProps["icon"];
|
|
7310
|
+
label: string;
|
|
7311
|
+
disabled?: boolean;
|
|
7312
|
+
/** The value of the IconCardGroup item, stored in value array in state. */
|
|
7313
|
+
value: V;
|
|
7314
|
+
/** Exclusive: if true, this option will override all other options when selected. */
|
|
7315
|
+
exclusive?: boolean;
|
|
7316
|
+
}
|
|
7317
|
+
interface IconCardGroupProps<V extends Value> extends Pick<PresentationFieldProps, "labelStyle"> {
|
|
7318
|
+
label: string;
|
|
7319
|
+
/** Called when a card is selected */
|
|
7320
|
+
onChange: (values: V[]) => void;
|
|
7321
|
+
/** Options for the cards contained within the IconCardGroup. */
|
|
7322
|
+
options: IconCardGroupItemOption<V>[];
|
|
7323
|
+
/** The values currently selected. */
|
|
7324
|
+
values: V[];
|
|
7325
|
+
errorMsg?: string;
|
|
7326
|
+
helperText?: string | ReactNode;
|
|
7327
|
+
disabled?: boolean;
|
|
7300
7328
|
}
|
|
7329
|
+
|
|
7330
|
+
type BoundIconCardGroupFieldProps<V extends Value> = Omit<IconCardGroupProps<V>, "label" | "values" | "onChange"> & {
|
|
7331
|
+
field: FieldState<V[] | null | undefined>;
|
|
7332
|
+
/** Make optional so that callers can override if they want to. */
|
|
7333
|
+
onChange?: (values: V[]) => void;
|
|
7334
|
+
label?: string;
|
|
7335
|
+
};
|
|
7336
|
+
/** Wraps `IconCardGroup` and binds it to a form field. */
|
|
7337
|
+
declare function BoundIconCardGroupField<V extends Value>(props: BoundIconCardGroupFieldProps<V>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7338
|
+
|
|
7339
|
+
type BoundMultiLineSelectFieldProps<O, V extends Value> = Omit<MultiLineSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7340
|
+
onSelect?: (values: V[], opts: O[]) => void;
|
|
7341
|
+
field: FieldState<V[] | null | undefined>;
|
|
7342
|
+
label?: string;
|
|
7343
|
+
};
|
|
7301
7344
|
/**
|
|
7302
|
-
*
|
|
7303
|
-
*
|
|
7304
|
-
* See the docs on `ScrollableParent.
|
|
7305
|
-
*
|
|
7306
|
-
* Note that you should not use this "just to get a scrollbar", instead just use `Css.oa.$`
|
|
7307
|
-
* or what not; this is only for implementing page-level patterns that need multiple stickied
|
|
7308
|
-
* components (page header, tab bar, table filter & actions).
|
|
7345
|
+
* Wraps `MultiLineSelectField` and binds it to a form field.
|
|
7309
7346
|
*/
|
|
7310
|
-
declare function
|
|
7347
|
+
declare function BoundMultiLineSelectField<O, V extends Value>(props: BoundMultiLineSelectFieldProps<O, V>): JSX.Element;
|
|
7348
|
+
declare function BoundMultiLineSelectField<O extends HasIdAndName<V>, V extends Value>(props: Optional<BoundMultiLineSelectFieldProps<O, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7311
7349
|
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7317
|
-
}
|
|
7318
|
-
interface ScrollableParentContextProviderProps {
|
|
7319
|
-
xss?: Properties;
|
|
7320
|
-
tagName?: keyof JSX.IntrinsicElements;
|
|
7321
|
-
}
|
|
7350
|
+
type BoundMultiSelectFieldProps<O, V extends Value> = Omit<MultiSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7351
|
+
onSelect?: (values: V[], opts: O[]) => void;
|
|
7352
|
+
field: FieldState<V[] | null | undefined>;
|
|
7353
|
+
label?: string;
|
|
7354
|
+
};
|
|
7322
7355
|
/**
|
|
7323
|
-
*
|
|
7324
|
-
*
|
|
7325
|
-
* In css, `position: sticky` is great for pinning 1 element to the top of a container.
|
|
7326
|
-
*
|
|
7327
|
-
* However, in UX patterns, we're often asked to pin multiple DOM elements that are actually
|
|
7328
|
-
* spread across multiple React components. For example:
|
|
7329
|
-
*
|
|
7330
|
-
* - Sticky a Header (in FooPage)
|
|
7331
|
-
* - Sticky the table filter & actions (in FooTable)
|
|
7332
|
-
* - Sticky the table header row(s) (in GridTable)
|
|
7333
|
-
*
|
|
7334
|
-
* Historically the way we did this was passing `stickyOffset`s around, where the header would be
|
|
7335
|
-
* `top: 0px`, the filter & actions would be `top: ${headerPx}px`, and the table header rows would
|
|
7336
|
-
* be `top: ${headerPx + filterActionsPx}px`.
|
|
7337
|
-
*
|
|
7338
|
-
* However, this is brittle as the `headerPx` / `filterActionsPx` are likely dynamic.
|
|
7356
|
+
* Wraps `MultiSelectField` and binds it to a form field.
|
|
7339
7357
|
*
|
|
7340
|
-
*
|
|
7341
|
-
*
|
|
7342
|
-
*
|
|
7358
|
+
* To ease integration with "select this fooId" inputs, we can take a list
|
|
7359
|
+
* of objects, `T` (i.e. `TradePartner[]`), but accept a field of type `V`
|
|
7360
|
+
* (i.e. `string`).
|
|
7343
7361
|
*
|
|
7344
|
-
*
|
|
7362
|
+
* The caller has to tell us how to turn `T` into `V`, which is usually a
|
|
7363
|
+
* lambda like `t => t.id`.
|
|
7345
7364
|
*/
|
|
7346
|
-
declare function
|
|
7347
|
-
declare function
|
|
7348
|
-
declare const scrollContainerBottomPadding: {
|
|
7349
|
-
content: csstype.Property.Content | undefined;
|
|
7350
|
-
} & {
|
|
7351
|
-
display: csstype.Property.Display | undefined;
|
|
7352
|
-
} & {
|
|
7353
|
-
height: csstype.Property.Height<string | 0> | undefined;
|
|
7354
|
-
};
|
|
7365
|
+
declare function BoundMultiSelectField<O, V extends Value>(props: BoundMultiSelectFieldProps<O, V>): JSX.Element;
|
|
7366
|
+
declare function BoundMultiSelectField<O extends HasIdAndName<V>, V extends Value>(props: Optional<BoundMultiSelectFieldProps<O, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7355
7367
|
|
|
7356
|
-
|
|
7357
|
-
|
|
7358
|
-
|
|
7359
|
-
|
|
7360
|
-
|
|
7368
|
+
type BoundNumberFieldProps = Omit<NumberFieldProps, "value" | "onChange" | "label"> & {
|
|
7369
|
+
label?: string;
|
|
7370
|
+
field: FieldState<number | null | undefined>;
|
|
7371
|
+
onChange?: (value: number | undefined) => void;
|
|
7372
|
+
};
|
|
7373
|
+
/** Wraps `NumberField` and binds it to a form field. */
|
|
7374
|
+
declare function BoundNumberField(props: BoundNumberFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7361
7375
|
|
|
7362
|
-
type
|
|
7363
|
-
|
|
7364
|
-
|
|
7365
|
-
|
|
7366
|
-
|
|
7367
|
-
randomizeWidths?: boolean;
|
|
7368
|
-
contrast?: boolean;
|
|
7376
|
+
type BoundRadioGroupFieldProps<K extends string> = Omit<RadioGroupFieldProps<K>, "value" | "onChange" | "label"> & {
|
|
7377
|
+
field: FieldState<K | null | undefined>;
|
|
7378
|
+
/** Make optional so that callers can override if they want to. */
|
|
7379
|
+
onChange?: (value: K) => void;
|
|
7380
|
+
label?: string;
|
|
7369
7381
|
};
|
|
7370
|
-
|
|
7382
|
+
/** Wraps `TextField` and binds it to a form field. */
|
|
7383
|
+
declare function BoundRadioGroupField<K extends string>(props: BoundRadioGroupFieldProps<K>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7371
7384
|
|
|
7372
|
-
type
|
|
7373
|
-
|
|
7374
|
-
|
|
7375
|
-
|
|
7385
|
+
type BoundRichTextFieldProps = Omit<RichTextFieldProps, "value" | "onChange"> & {
|
|
7386
|
+
field: FieldState<string | null | undefined>;
|
|
7387
|
+
onChange?: (value: string | undefined) => void;
|
|
7388
|
+
};
|
|
7389
|
+
/** Wraps `RichTextField` and binds it to a form field. */
|
|
7390
|
+
declare function BoundRichTextField(props: BoundRichTextFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7376
7391
|
|
|
7377
|
-
|
|
7378
|
-
/**
|
|
7379
|
-
|
|
7380
|
-
/** The
|
|
7381
|
-
|
|
7382
|
-
/**
|
|
7383
|
-
|
|
7384
|
-
}
|
|
7392
|
+
type BoundSelectFieldProps<O, V extends Value> = Omit<SelectFieldProps<O, V>, "value" | "onSelect" | "label"> & {
|
|
7393
|
+
/** Optional, to allow `onSelect` to be overridden to do more than just `field.set`. */
|
|
7394
|
+
onSelect?: (value: V | undefined, opt: O | undefined) => void;
|
|
7395
|
+
/** The field we'll read/write data from. */
|
|
7396
|
+
field: FieldState<V | null | undefined>;
|
|
7397
|
+
/** An optional label, defaults to the humanized field key, i.e. `authorId` -> `Author`. */
|
|
7398
|
+
label?: string;
|
|
7399
|
+
};
|
|
7385
7400
|
/**
|
|
7386
|
-
*
|
|
7387
|
-
*
|
|
7388
|
-
* Currently, calling `render(<ModalComponent />)` in a test currently doesn't work, because
|
|
7389
|
-
* nothing has called `useModal` to get the header & footer mounted into the DOM.
|
|
7401
|
+
* Wraps `SelectField` and binds it to a form field.
|
|
7390
7402
|
*
|
|
7391
|
-
*
|
|
7403
|
+
* To ease integration with GraphQL inputs that want to put `{ authorId: "a:1" }` on
|
|
7404
|
+
* the wire, we generally expect the FieldState type to be a string/tagged id, but the
|
|
7405
|
+
* `options` prop to be the full list of id+name options like `AuthorFragment[]`.
|
|
7392
7406
|
*
|
|
7393
|
-
*
|
|
7394
|
-
*
|
|
7395
|
-
*
|
|
7396
|
-
* <ModalComponent />
|
|
7397
|
-
* </OpenModal>
|
|
7398
|
-
* );
|
|
7399
|
-
* ```
|
|
7407
|
+
* If `AuthorFragment` type matches `HasIdIsh` and `HasNameIsh`, we'll automatically use
|
|
7408
|
+
* the `id` and `name` fields from it, otherwise callers need to provide `getOptionValue`
|
|
7409
|
+
* and `getOptionLabel` to adapt the option, i.e. `getOptionLabel={(author) => author.otherName}`.
|
|
7400
7410
|
*
|
|
7401
|
-
*
|
|
7402
|
-
*
|
|
7411
|
+
* Note: there are four overloads here to handle each combination of "HasIdIsh and HasNameId",
|
|
7412
|
+
* "only has HasIdIsh", "only has HasNameIsh", and "neither".
|
|
7403
7413
|
*/
|
|
7404
|
-
declare function
|
|
7414
|
+
declare function BoundSelectField<T extends HasIdIsh<V> & HasNameIsh, V extends Value>(props: Optional<BoundSelectFieldProps<T, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7415
|
+
declare function BoundSelectField<T extends HasIdIsh<V>, V extends Value>(props: Optional<BoundSelectFieldProps<T, V>, "getOptionValue">): JSX.Element;
|
|
7416
|
+
declare function BoundSelectField<T extends HasNameIsh, V extends Value>(props: Optional<BoundSelectFieldProps<T, V>, "getOptionLabel">): JSX.Element;
|
|
7417
|
+
declare function BoundSelectField<T, V extends Value>(props: BoundSelectFieldProps<T, V>): JSX.Element;
|
|
7405
7418
|
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
declare function
|
|
7419
|
+
type BoundSwitchFieldProps = Omit<SwitchProps, "selected" | "onChange" | "label"> & {
|
|
7420
|
+
field: FieldState<boolean | null | undefined>;
|
|
7421
|
+
/** Make optional so that callers can override if they want to. */
|
|
7422
|
+
onChange?: (value: boolean) => void;
|
|
7423
|
+
label?: string;
|
|
7424
|
+
};
|
|
7425
|
+
/** Wraps `Switch` and binds it to a form field. */
|
|
7426
|
+
declare function BoundSwitchField(props: BoundSwitchFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7427
|
+
|
|
7428
|
+
type BoundTextAreaFieldProps<X> = Omit<TextAreaFieldProps<X>, "value" | "onChange" | "label"> & {
|
|
7429
|
+
label?: string;
|
|
7430
|
+
field: FieldState<string | null | undefined>;
|
|
7431
|
+
onChange?: (value: string | undefined) => void;
|
|
7432
|
+
};
|
|
7433
|
+
/** Wraps `TextAreaField` and binds it to a form field. */
|
|
7434
|
+
declare function BoundTextAreaField<X extends Only<TextFieldXss, X>>(props: BoundTextAreaFieldProps<X>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7435
|
+
|
|
7436
|
+
type BoundTextFieldProps<X> = Omit<TextFieldProps<X>, "value" | "onChange" | "label"> & {
|
|
7437
|
+
label?: string;
|
|
7438
|
+
field: FieldState<string | null | undefined>;
|
|
7439
|
+
onChange?: (value: string | undefined) => void;
|
|
7440
|
+
};
|
|
7441
|
+
/** Wraps `TextField` and binds it to a form field. */
|
|
7442
|
+
declare function BoundTextField<X extends Only<TextFieldXss, X>>(props: BoundTextFieldProps<X>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7443
|
+
|
|
7444
|
+
type BoundToggleChipGroupFieldProps = Omit<ToggleChipGroupProps, "values" | "onChange" | "label"> & {
|
|
7445
|
+
field: FieldState<string[] | null | undefined>;
|
|
7446
|
+
/** Make optional so that callers can override if they want to. */
|
|
7447
|
+
onChange?: (values: string[]) => void;
|
|
7448
|
+
label?: string;
|
|
7449
|
+
};
|
|
7450
|
+
/** Wraps `ToggleChipGroup` and binds it to a form field. */
|
|
7451
|
+
declare function BoundToggleChipGroupField(props: BoundToggleChipGroupFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7414
7452
|
|
|
7453
|
+
type BoundTreeSelectFieldProps<O, V extends Value> = Omit<TreeSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7454
|
+
onSelect?: (options: TreeSelectResponse<O, V>) => void;
|
|
7455
|
+
field: FieldState<V[] | null | undefined>;
|
|
7456
|
+
label?: string;
|
|
7457
|
+
};
|
|
7415
7458
|
/**
|
|
7416
|
-
*
|
|
7459
|
+
* Wraps `TreeSelectField` and binds it to a form field.
|
|
7417
7460
|
*
|
|
7418
|
-
*
|
|
7419
|
-
*
|
|
7461
|
+
* To ease integration with "select this fooId" inputs, we can take a list
|
|
7462
|
+
* of objects, `T` (i.e. `TradePartner[]`), but accept a field of type `V`
|
|
7463
|
+
* (i.e. `string`).
|
|
7464
|
+
*
|
|
7465
|
+
* The caller has to tell us how to turn `T` into `V`, which is usually a
|
|
7466
|
+
* lambda like `t => t.id`.
|
|
7420
7467
|
*/
|
|
7421
|
-
|
|
7422
|
-
|
|
7423
|
-
|
|
7424
|
-
|
|
7468
|
+
declare function BoundTreeSelectField<T, V extends Value>(props: BoundTreeSelectFieldProps<T, V>): JSX.Element;
|
|
7469
|
+
declare function BoundTreeSelectField<T extends HasIdAndName<V>, V extends Value>(props: Optional<BoundTreeSelectFieldProps<T, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7470
|
+
|
|
7471
|
+
type BoundFieldInputFnReturn = {
|
|
7472
|
+
component: ReactNode;
|
|
7473
|
+
minWidth: Properties["minWidth"];
|
|
7425
7474
|
};
|
|
7426
|
-
type
|
|
7427
|
-
|
|
7428
|
-
|
|
7475
|
+
type BoundFieldInputFn<F> = (field: ObjectState<F>[keyof F]) => BoundFieldInputFnReturn;
|
|
7476
|
+
type CapitalizeFirstLetter<S extends string> = S extends `${infer First}${infer Rest}` ? `${Uppercase<First>}${Rest}` : S;
|
|
7477
|
+
declare const reactNodePrefix = "reactNode";
|
|
7478
|
+
type TReactNodePrefix<S extends string> = `${typeof reactNodePrefix}${CapitalizeFirstLetter<S>}`;
|
|
7479
|
+
type CustomReactNodeKey = `${typeof reactNodePrefix}${string}`;
|
|
7480
|
+
type BoundFormRowInputs<F> = Partial<{
|
|
7481
|
+
[K in keyof F]: BoundFieldInputFn<F>;
|
|
7482
|
+
}> & {
|
|
7483
|
+
[K in CustomReactNodeKey]: ReactNode;
|
|
7484
|
+
} & {
|
|
7485
|
+
[K in keyof F as TReactNodePrefix<K & string>]: ReactNode;
|
|
7429
7486
|
};
|
|
7430
|
-
|
|
7431
|
-
|
|
7432
|
-
|
|
7433
|
-
|
|
7434
|
-
|
|
7487
|
+
type BoundFormInputConfig<F> = BoundFormRowInputs<F>[];
|
|
7488
|
+
type BoundFormProps<F> = {
|
|
7489
|
+
rows: BoundFormInputConfig<F>;
|
|
7490
|
+
formState: ObjectState<F>;
|
|
7491
|
+
};
|
|
7492
|
+
/**
|
|
7493
|
+
* A wrapper around the "Bound" form components for the form-state library to render a standard (and responsive) form layout.
|
|
7494
|
+
* * Each row is an object of bound input components keyed by their formState key, which are rendered in a responsive flex layout.
|
|
7495
|
+
* * Alternatively keys can be prefixed with "reactNode" to render any custom JSX node as-is.
|
|
7496
|
+
* * Example usage:
|
|
7497
|
+
* ```tsx
|
|
7498
|
+
* <BoundFormComponent
|
|
7499
|
+
rows={[
|
|
7500
|
+
{ firstName: boundTextField(), middleInitial: boundTextField(), lastName: boundTextField() },
|
|
7501
|
+
{ bio: boundTextAreaField() },
|
|
7502
|
+
{ reactNodeExample: <div>Custom JSX node</div> },
|
|
7503
|
+
]}
|
|
7504
|
+
formState={formState}
|
|
7505
|
+
/>
|
|
7506
|
+
* ```
|
|
7507
|
+
*/
|
|
7508
|
+
declare function BoundForm<F>(props: BoundFormProps<F>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7509
|
+
/**
|
|
7510
|
+
* These field component functions are thin wrappers around the `BoundFoo` components which omit
|
|
7511
|
+
* certain props that the caller doesn't need to pass or we specifically want to restrict to drive UX consistency.
|
|
7512
|
+
*/
|
|
7513
|
+
type KeysToOmit = "field";
|
|
7514
|
+
declare function boundSelectField<O, V extends Value>(props: Omit<BoundSelectFieldProps<O, V>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7515
|
+
declare function boundMultiSelectField<O, V extends Value>(props: Omit<BoundMultiSelectFieldProps<O, V>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7516
|
+
declare function boundMultilineSelectField<O, V extends Value>(props: Omit<BoundMultiLineSelectFieldProps<O, V>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7517
|
+
declare function boundTextField<X extends Only<TextFieldXss, X>>(props?: Omit<BoundTextFieldProps<X>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7518
|
+
declare function boundTextAreaField<X extends Only<TextFieldXss, X>>(props?: Omit<BoundTextAreaFieldProps<X>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7519
|
+
declare function boundNumberField(props?: Omit<BoundNumberFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7520
|
+
declare function boundDateField(props?: Omit<BoundDateFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7521
|
+
declare function boundDateRangeField(props?: Omit<BoundDateRangeFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7522
|
+
declare function boundCheckboxField(props?: Omit<BoundCheckboxFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7523
|
+
declare function boundCheckboxGroupField(props: Omit<BoundCheckboxGroupFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7524
|
+
declare function boundIconCardField(props: Omit<BoundIconCardFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7525
|
+
declare function boundIconCardGroupField<V extends Value>(props: Omit<BoundIconCardGroupFieldProps<V>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7526
|
+
declare function boundRadioGroupField<K extends string>(props: Omit<BoundRadioGroupFieldProps<K>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7527
|
+
declare function boundRichTextField(props?: Omit<BoundRichTextFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7528
|
+
declare function boundSwitchField(props?: Omit<BoundSwitchFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7529
|
+
declare function boundToggleChipGroupField(props: Omit<BoundToggleChipGroupFieldProps, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7530
|
+
declare function boundTreeSelectField<O, V extends Value>(props: Omit<BoundTreeSelectFieldProps<O, V>, KeysToOmit>): (field: FieldState<any>) => BoundFieldInputFnReturn;
|
|
7531
|
+
|
|
7532
|
+
interface BoundSelectAndTextFieldProps<O, V extends Value, X> {
|
|
7533
|
+
selectFieldProps: CompoundSelectFieldProps<O, V>;
|
|
7534
|
+
textFieldProps: CompoundTextFieldProps<X>;
|
|
7535
|
+
compact?: boolean;
|
|
7435
7536
|
}
|
|
7436
|
-
declare function
|
|
7437
|
-
declare function
|
|
7438
|
-
|
|
7537
|
+
declare function BoundSelectAndTextField<O, V extends Value, X extends Only<TextFieldXss, X>>(props: BoundSelectAndTextFieldProps<O, V, X>): JSX.Element;
|
|
7538
|
+
declare function BoundSelectAndTextField<O extends HasIdAndName<V>, V extends Value, X extends Only<TextFieldXss, X>>(props: Omit<BoundSelectAndTextFieldProps<O, V, X>, "selectFieldProps"> & {
|
|
7539
|
+
selectFieldProps: Optional<CompoundSelectFieldProps<O, V>, "getOptionValue" | "getOptionLabel">;
|
|
7540
|
+
}): JSX.Element;
|
|
7541
|
+
type CompoundSelectFieldProps<O, V extends Value> = Omit<BoundSelectFieldProps<O, V>, "compact">;
|
|
7542
|
+
type CompoundTextFieldProps<X> = Omit<BoundTextFieldProps<X>, "compact">;
|
|
7439
7543
|
|
|
7440
|
-
interface
|
|
7544
|
+
interface FormHeadingProps {
|
|
7545
|
+
title: string;
|
|
7546
|
+
xss?: Xss<Margin>;
|
|
7547
|
+
isFirst?: boolean;
|
|
7548
|
+
}
|
|
7549
|
+
declare function FormHeading(props: FormHeadingProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7550
|
+
declare namespace FormHeading {
|
|
7551
|
+
var isFormHeading: boolean;
|
|
7552
|
+
}
|
|
7553
|
+
|
|
7554
|
+
type FormWidth =
|
|
7555
|
+
/** 320px. */
|
|
7556
|
+
"sm"
|
|
7557
|
+
/** 480px, works well in a small, single-stack form. */
|
|
7558
|
+
| "md"
|
|
7559
|
+
/** 550px, works well for showing side-by-side/double-stack fields. */
|
|
7560
|
+
| "lg"
|
|
7561
|
+
/** 100%, works well for showing full width fields, or deferring to the parent width. */
|
|
7562
|
+
| "full";
|
|
7563
|
+
interface FormLinesProps extends Pick<PresentationFieldProps, "labelStyle" | "labelLeftFieldWidth" | "labelSuffix" | "compact"> {
|
|
7564
|
+
/** Let the user interleave group-less lines and grouped lines. */
|
|
7441
7565
|
children: ReactNode;
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
horizontal?: boolean;
|
|
7446
|
-
/** Defines the background color for the shadows */
|
|
7447
|
-
bgColor?: Palette;
|
|
7566
|
+
width?: FormWidth;
|
|
7567
|
+
/** Increment property (e.g. 1 = 8px). Defines space between form fields */
|
|
7568
|
+
gap?: number;
|
|
7448
7569
|
}
|
|
7449
|
-
|
|
7570
|
+
/**
|
|
7571
|
+
* Applies standard Form layout/size/spacing between lines.
|
|
7572
|
+
*
|
|
7573
|
+
* Lines can either be individual form fields, or a group of form fields
|
|
7574
|
+
* (see the `FieldGroup` component), where they will be laid out side-by-side.
|
|
7575
|
+
*/
|
|
7576
|
+
declare function FormLines(props: FormLinesProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7577
|
+
/** Draws a line between form lines. */
|
|
7578
|
+
declare function FormDivider(): _emotion_react_jsx_runtime.JSX.Element;
|
|
7579
|
+
/** Groups multiple fields side-by-side. */
|
|
7580
|
+
declare function FieldGroup(props: {
|
|
7581
|
+
/** The legend/title for this group. */
|
|
7582
|
+
title?: string;
|
|
7583
|
+
children: JSX.Element[];
|
|
7584
|
+
/** An array of widths for each child, if a number we use `fr` units. */
|
|
7585
|
+
widths?: Array<number | string>;
|
|
7586
|
+
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7450
7587
|
|
|
7451
|
-
|
|
7452
|
-
|
|
7453
|
-
|
|
7454
|
-
|
|
7455
|
-
|
|
7456
|
-
hideCloseButton?: boolean;
|
|
7457
|
-
message: ReactNode;
|
|
7458
|
-
/** This notice will persist on the screen until systematically closed by the app or by the user clicking the close button. */
|
|
7459
|
-
persistent?: boolean;
|
|
7460
|
-
/** Defines the icon that will show on the left side of the notification. */
|
|
7461
|
-
icon?: SnackbarNoticeTypes;
|
|
7462
|
-
/** Unique identifier to allow notice to close itself */
|
|
7463
|
-
id: string;
|
|
7464
|
-
/** Removes the snackbar notice from the stack */
|
|
7465
|
-
onClose: () => void;
|
|
7588
|
+
interface StaticFieldProps {
|
|
7589
|
+
label: ReactNode;
|
|
7590
|
+
value?: string;
|
|
7591
|
+
children?: ReactNode;
|
|
7592
|
+
labelStyle?: PresentationFieldProps["labelStyle"];
|
|
7466
7593
|
}
|
|
7594
|
+
declare function StaticField(props: StaticFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7467
7595
|
|
|
7468
|
-
type
|
|
7469
|
-
|
|
7596
|
+
type SubmitButtonProps<T> = Omit<ButtonProps, "label"> & {
|
|
7597
|
+
label?: ButtonProps["label"];
|
|
7598
|
+
form: ObjectState<T>;
|
|
7470
7599
|
};
|
|
7600
|
+
/** Provides a Button that will auto-disable if `formState` is invalid. */
|
|
7601
|
+
declare function SubmitButton<T>(props: SubmitButtonProps<T>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7471
7602
|
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
close: () => void;
|
|
7475
|
-
};
|
|
7476
|
-
closeNotice: (id: string) => void;
|
|
7477
|
-
/**
|
|
7478
|
-
* A custom hook that components may call to notify snackbar it should offset,
|
|
7479
|
-
* such as a bottom-mounted Stepper component that ought not be covered by
|
|
7480
|
-
* notifications. Behaves like a useEffect, and will clean up on dismount.
|
|
7481
|
-
* (Known issue: If multiple components call this, last-to-render takes
|
|
7482
|
-
* precedence and first-to-dismount unsets everything)
|
|
7483
|
-
*/
|
|
7484
|
-
useSnackbarOffset: (offset: Offset) => void;
|
|
7485
|
-
}
|
|
7486
|
-
declare function useSnackbar(): UseSnackbarHook;
|
|
7487
|
-
interface TriggerNoticeProps extends Omit<SnackbarNoticeProps, "id" | "onClose"> {
|
|
7488
|
-
id?: string;
|
|
7489
|
-
onClose?: () => void;
|
|
7490
|
-
}
|
|
7491
|
-
|
|
7492
|
-
interface Step {
|
|
7603
|
+
type HeaderBreadcrumb = {
|
|
7604
|
+
href: string;
|
|
7493
7605
|
label: string;
|
|
7494
|
-
|
|
7495
|
-
|
|
7496
|
-
|
|
7606
|
+
};
|
|
7607
|
+
|
|
7608
|
+
type FormSectionConfig<F> = {
|
|
7609
|
+
title?: string;
|
|
7610
|
+
icon?: IconKey;
|
|
7611
|
+
rows: BoundFormInputConfig<F>;
|
|
7612
|
+
}[];
|
|
7613
|
+
type ActionButtonProps = Pick<ButtonProps, "onClick" | "label" | "disabled" | "tooltip">;
|
|
7614
|
+
type FormPageLayoutProps<F> = {
|
|
7615
|
+
pageTitle: string;
|
|
7616
|
+
breadCrumb?: HeaderBreadcrumb | HeaderBreadcrumb[];
|
|
7617
|
+
formState: ObjectState<F>;
|
|
7618
|
+
formSections: FormSectionConfig<F>;
|
|
7619
|
+
submitAction?: ActionButtonProps;
|
|
7620
|
+
cancelAction?: ActionButtonProps;
|
|
7621
|
+
tertiaryAction?: ActionButtonProps;
|
|
7622
|
+
};
|
|
7623
|
+
declare function FormPageLayoutComponent<F>(props: FormPageLayoutProps<F>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7624
|
+
declare const FormPageLayout: typeof FormPageLayoutComponent;
|
|
7625
|
+
|
|
7626
|
+
/** Provides a way to extend the full width of the ScrollableParent */
|
|
7627
|
+
declare function FullBleed({ children, omitPadding }: {
|
|
7628
|
+
children: ReactElement;
|
|
7629
|
+
omitPadding?: boolean;
|
|
7630
|
+
}): ReactElement<any, string | React$1.JSXElementConstructor<any>>;
|
|
7631
|
+
|
|
7632
|
+
/** Intended to wrap the whole application to prevent the browser's native scrolling behavior while also taking the full height of the viewport */
|
|
7633
|
+
declare function PreventBrowserScroll({ children }: ChildrenOnly): _emotion_react_jsx_runtime.JSX.Element;
|
|
7634
|
+
|
|
7635
|
+
interface OpenRightPaneOpts {
|
|
7636
|
+
content: ReactNode;
|
|
7497
7637
|
}
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
|
|
7638
|
+
type RightPaneLayoutContextProps = {
|
|
7639
|
+
openInPane: (opts: OpenRightPaneOpts) => void;
|
|
7640
|
+
closePane: () => void;
|
|
7641
|
+
clearPane: () => void;
|
|
7642
|
+
isRightPaneOpen: boolean;
|
|
7643
|
+
rightPaneContent: ReactNode;
|
|
7644
|
+
};
|
|
7645
|
+
declare const RightPaneContext: React__default.Context<RightPaneLayoutContextProps>;
|
|
7646
|
+
declare function RightPaneProvider({ children }: {
|
|
7647
|
+
children: ReactNode;
|
|
7648
|
+
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7649
|
+
declare function useRightPaneContext(): RightPaneLayoutContextProps;
|
|
7650
|
+
|
|
7651
|
+
declare function RightPaneLayout(props: {
|
|
7652
|
+
children: ReactElement;
|
|
7653
|
+
paneBgColor?: Palette;
|
|
7654
|
+
paneWidth?: number;
|
|
7655
|
+
defaultPaneContent?: ReactElement;
|
|
7656
|
+
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7657
|
+
|
|
7658
|
+
interface UseRightPaneHook {
|
|
7659
|
+
/** Opens a right pane */
|
|
7660
|
+
openRightPane: (opts: OpenRightPaneOpts) => void;
|
|
7661
|
+
/** Closes the right pane */
|
|
7662
|
+
closeRightPane: () => void;
|
|
7502
7663
|
}
|
|
7503
|
-
declare function
|
|
7664
|
+
declare function useRightPane(): UseRightPaneHook;
|
|
7504
7665
|
|
|
7505
|
-
interface
|
|
7666
|
+
interface ScrollableContentProps {
|
|
7506
7667
|
children: ReactNode;
|
|
7507
|
-
|
|
7668
|
+
virtualized?: boolean;
|
|
7669
|
+
omitBottomPadding?: true;
|
|
7670
|
+
bgColor?: Palette;
|
|
7508
7671
|
}
|
|
7509
|
-
|
|
7672
|
+
/**
|
|
7673
|
+
* Helper component for placing scrollable content within a `ScrollableParent`.
|
|
7674
|
+
*
|
|
7675
|
+
* See the docs on `ScrollableParent.
|
|
7676
|
+
*
|
|
7677
|
+
* Note that you should not use this "just to get a scrollbar", instead just use `Css.oa.$`
|
|
7678
|
+
* or what not; this is only for implementing page-level patterns that need multiple stickied
|
|
7679
|
+
* components (page header, tab bar, table filter & actions).
|
|
7680
|
+
*/
|
|
7681
|
+
declare function ScrollableContent(props: ScrollableContentProps): ReactPortal | JSX.Element;
|
|
7682
|
+
|
|
7683
|
+
interface ScrollableParentContextProps {
|
|
7684
|
+
scrollableEl: HTMLElement | null;
|
|
7685
|
+
pr: string | number;
|
|
7686
|
+
pl: string | number;
|
|
7687
|
+
setPortalTick: Dispatch<SetStateAction<number>>;
|
|
7688
|
+
}
|
|
7689
|
+
interface ScrollableParentContextProviderProps {
|
|
7690
|
+
xss?: Properties;
|
|
7691
|
+
tagName?: keyof JSX.IntrinsicElements;
|
|
7692
|
+
}
|
|
7693
|
+
/**
|
|
7694
|
+
* Provides a pattern for implementing "multiple sticky" components.
|
|
7695
|
+
*
|
|
7696
|
+
* In css, `position: sticky` is great for pinning 1 element to the top of a container.
|
|
7697
|
+
*
|
|
7698
|
+
* However, in UX patterns, we're often asked to pin multiple DOM elements that are actually
|
|
7699
|
+
* spread across multiple React components. For example:
|
|
7700
|
+
*
|
|
7701
|
+
* - Sticky a Header (in FooPage)
|
|
7702
|
+
* - Sticky the table filter & actions (in FooTable)
|
|
7703
|
+
* - Sticky the table header row(s) (in GridTable)
|
|
7704
|
+
*
|
|
7705
|
+
* Historically the way we did this was passing `stickyOffset`s around, where the header would be
|
|
7706
|
+
* `top: 0px`, the filter & actions would be `top: ${headerPx}px`, and the table header rows would
|
|
7707
|
+
* be `top: ${headerPx + filterActionsPx}px`.
|
|
7708
|
+
*
|
|
7709
|
+
* However, this is brittle as the `headerPx` / `filterActionsPx` are likely dynamic.
|
|
7710
|
+
*
|
|
7711
|
+
* `ScrollableParent` solves this by putting all the stickied content (except the table header rows)
|
|
7712
|
+
* into a single div, and then having the page use `ScrollableContent` to mark what should actually
|
|
7713
|
+
* scroll, which then we "pull up" to be a sibling div of "everything that was stickied".
|
|
7714
|
+
*
|
|
7715
|
+
* See [this miro](https://miro.com/app/board/o9J_l-FQ-RU=/) and how we need to "cut the component in half".
|
|
7716
|
+
*/
|
|
7717
|
+
declare function ScrollableParent(props: PropsWithChildren<ScrollableParentContextProviderProps>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7718
|
+
declare function useScrollableParent(): ScrollableParentContextProps;
|
|
7719
|
+
declare const scrollContainerBottomPadding: {
|
|
7720
|
+
content: csstype.Property.Content | undefined;
|
|
7721
|
+
} & {
|
|
7722
|
+
display: csstype.Property.Display | undefined;
|
|
7723
|
+
} & {
|
|
7724
|
+
height: csstype.Property.Height<string | 0> | undefined;
|
|
7725
|
+
};
|
|
7726
|
+
|
|
7727
|
+
interface LoaderProps {
|
|
7728
|
+
size?: "xs" | "sm" | "md" | "lg";
|
|
7729
|
+
contrast?: boolean;
|
|
7730
|
+
}
|
|
7731
|
+
declare function Loader({ size, contrast }: LoaderProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7732
|
+
|
|
7733
|
+
type Sizes = "sm" | "md" | "lg";
|
|
7734
|
+
type LoadingSkeletonProps = {
|
|
7735
|
+
rows?: number;
|
|
7736
|
+
columns?: number;
|
|
7737
|
+
size?: Sizes;
|
|
7738
|
+
randomizeWidths?: boolean;
|
|
7739
|
+
contrast?: boolean;
|
|
7740
|
+
};
|
|
7741
|
+
declare function LoadingSkeleton({ rows, columns, size, randomizeWidths, contrast, }: LoadingSkeletonProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7742
|
+
|
|
7743
|
+
type MaxLinesProps = PropsWithChildren<{
|
|
7744
|
+
maxLines: number;
|
|
7745
|
+
}>;
|
|
7746
|
+
declare function MaxLines({ maxLines, children }: MaxLinesProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7747
|
+
|
|
7748
|
+
interface OpenModalProps {
|
|
7749
|
+
/** The custom modal content to show. */
|
|
7750
|
+
children: JSX.Element;
|
|
7751
|
+
/** The size to use. */
|
|
7752
|
+
size?: ModalProps["size"];
|
|
7753
|
+
/** Whether to force the modal to stay open. This is useful for stories where ruler/tape extensions cause the modal to close. */
|
|
7754
|
+
keepOpen?: boolean;
|
|
7755
|
+
}
|
|
7756
|
+
/**
|
|
7757
|
+
* A component for testing open modals in stories and unit tests.
|
|
7758
|
+
*
|
|
7759
|
+
* Currently, calling `render(<ModalComponent />)` in a test currently doesn't work, because
|
|
7760
|
+
* nothing has called `useModal` to get the header & footer mounted into the DOM.
|
|
7761
|
+
*
|
|
7762
|
+
* So instead tests can call:
|
|
7763
|
+
*
|
|
7764
|
+
* ```tsx
|
|
7765
|
+
* render(
|
|
7766
|
+
* <OpenModal>
|
|
7767
|
+
* <ModalComponent />
|
|
7768
|
+
* </OpenModal>
|
|
7769
|
+
* );
|
|
7770
|
+
* ```
|
|
7771
|
+
*
|
|
7772
|
+
* And `OpenModal` will do a boilerplate `openModal` call, so that the content
|
|
7773
|
+
* shows up in the DOM as expected.
|
|
7774
|
+
*/
|
|
7775
|
+
declare function OpenModal(props: OpenModalProps): JSX.Element;
|
|
7776
|
+
|
|
7777
|
+
interface UseModalHook {
|
|
7778
|
+
openModal: (props: ModalProps) => void;
|
|
7779
|
+
closeModal: VoidFunction;
|
|
7780
|
+
addCanClose: (canClose: CheckFn) => void;
|
|
7781
|
+
setSize: (size: ModalProps["size"]) => void;
|
|
7782
|
+
inModal: boolean;
|
|
7783
|
+
}
|
|
7784
|
+
declare function useModal(): UseModalHook;
|
|
7785
|
+
|
|
7786
|
+
/**
|
|
7787
|
+
* Page settings, either a pageNumber+pageSize or offset+limit.
|
|
7788
|
+
*
|
|
7789
|
+
* This component is implemented in terms of "page number + page size",
|
|
7790
|
+
* but our backend wants offset+limit, so we accept both and translate.
|
|
7791
|
+
*/
|
|
7792
|
+
type PageSettings = PageNumberAndSize | OffsetAndLimit;
|
|
7793
|
+
type PageNumberAndSize = {
|
|
7794
|
+
pageNumber: number;
|
|
7795
|
+
pageSize: number;
|
|
7796
|
+
};
|
|
7797
|
+
type OffsetAndLimit = {
|
|
7798
|
+
offset: number;
|
|
7799
|
+
limit: number;
|
|
7800
|
+
};
|
|
7801
|
+
declare const defaultPage: OffsetAndLimit;
|
|
7802
|
+
interface PaginationProps {
|
|
7803
|
+
page: readonly [PageNumberAndSize, Dispatch<PageNumberAndSize>] | readonly [OffsetAndLimit, Dispatch<OffsetAndLimit>];
|
|
7804
|
+
totalCount: number;
|
|
7805
|
+
pageSizes?: number[];
|
|
7806
|
+
}
|
|
7807
|
+
declare function Pagination(props: PaginationProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7808
|
+
declare function toLimitAndOffset(page: PageSettings): OffsetAndLimit;
|
|
7809
|
+
declare function toPageNumberSize(page: PageSettings): PageNumberAndSize;
|
|
7810
|
+
|
|
7811
|
+
interface ScrollShadowsProps {
|
|
7812
|
+
children: ReactNode;
|
|
7813
|
+
/** Allows for styling the container */
|
|
7814
|
+
xss?: Properties;
|
|
7815
|
+
/** Set to true if the container scrolls horizontally */
|
|
7816
|
+
horizontal?: boolean;
|
|
7817
|
+
/** Defines the background color for the shadows */
|
|
7818
|
+
bgColor?: Palette;
|
|
7819
|
+
}
|
|
7820
|
+
declare function ScrollShadows(props: ScrollShadowsProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7821
|
+
|
|
7822
|
+
type SnackbarNoticeTypes = "error" | "warning" | "success" | "info" | "alert";
|
|
7823
|
+
interface SnackbarNoticeProps {
|
|
7824
|
+
/** Adds action button to the right of the notice */
|
|
7825
|
+
action?: Pick<ButtonProps, "label" | "onClick" | "variant">;
|
|
7826
|
+
/** Does not allow the user to close the notice manually. Notice will fade away in 10s. Value will be ignored if 'persistent' is set to 'true'. */
|
|
7827
|
+
hideCloseButton?: boolean;
|
|
7828
|
+
message: ReactNode;
|
|
7829
|
+
/** This notice will persist on the screen until systematically closed by the app or by the user clicking the close button. */
|
|
7830
|
+
persistent?: boolean;
|
|
7831
|
+
/** Defines the icon that will show on the left side of the notification. */
|
|
7832
|
+
icon?: SnackbarNoticeTypes;
|
|
7833
|
+
/** Unique identifier to allow notice to close itself */
|
|
7834
|
+
id: string;
|
|
7835
|
+
/** Removes the snackbar notice from the stack */
|
|
7836
|
+
onClose: () => void;
|
|
7837
|
+
}
|
|
7838
|
+
|
|
7839
|
+
type Offset = {
|
|
7840
|
+
bottom?: number;
|
|
7841
|
+
};
|
|
7842
|
+
|
|
7843
|
+
interface UseSnackbarHook {
|
|
7844
|
+
triggerNotice: (props: TriggerNoticeProps) => {
|
|
7845
|
+
close: () => void;
|
|
7846
|
+
};
|
|
7847
|
+
closeNotice: (id: string) => void;
|
|
7848
|
+
/**
|
|
7849
|
+
* A custom hook that components may call to notify snackbar it should offset,
|
|
7850
|
+
* such as a bottom-mounted Stepper component that ought not be covered by
|
|
7851
|
+
* notifications. Behaves like a useEffect, and will clean up on dismount.
|
|
7852
|
+
* (Known issue: If multiple components call this, last-to-render takes
|
|
7853
|
+
* precedence and first-to-dismount unsets everything)
|
|
7854
|
+
*/
|
|
7855
|
+
useSnackbarOffset: (offset: Offset) => void;
|
|
7856
|
+
}
|
|
7857
|
+
declare function useSnackbar(): UseSnackbarHook;
|
|
7858
|
+
interface TriggerNoticeProps extends Omit<SnackbarNoticeProps, "id" | "onClose"> {
|
|
7859
|
+
id?: string;
|
|
7860
|
+
onClose?: () => void;
|
|
7861
|
+
}
|
|
7862
|
+
|
|
7863
|
+
interface Step {
|
|
7864
|
+
label: string;
|
|
7865
|
+
state: "incomplete" | "complete" | "error";
|
|
7866
|
+
disabled?: boolean;
|
|
7867
|
+
value: string;
|
|
7868
|
+
}
|
|
7869
|
+
interface StepperProps {
|
|
7870
|
+
steps: Step[];
|
|
7871
|
+
currentStep: Step["value"];
|
|
7872
|
+
onChange: (stepValue: string) => void;
|
|
7873
|
+
}
|
|
7874
|
+
declare function Stepper(props: StepperProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7875
|
+
|
|
7876
|
+
interface SuperDrawerHeaderProps {
|
|
7877
|
+
children: ReactNode;
|
|
7878
|
+
hideControls?: boolean;
|
|
7879
|
+
}
|
|
7880
|
+
interface SuperDrawerHeaderStructuredProps {
|
|
7510
7881
|
title: string | ReactNode;
|
|
7511
7882
|
left?: ReactNode;
|
|
7512
7883
|
right?: ReactNode;
|
|
@@ -7634,293 +8005,6 @@ declare function maybeTooltip(props: Omit<TooltipProps, "children"> & {
|
|
|
7634
8005
|
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7635
8006
|
declare function resolveTooltip(disabled?: boolean | ReactNode, tooltip?: ReactNode, readOnly?: boolean | ReactNode): ReactNode | undefined;
|
|
7636
8007
|
|
|
7637
|
-
type BoundCheckboxFieldProps = Omit<CheckboxProps, "selected" | "onChange" | "label"> & {
|
|
7638
|
-
field: FieldState<boolean | null | undefined>;
|
|
7639
|
-
/** Make optional so that callers can override if they want to. */
|
|
7640
|
-
onChange?: (values: boolean) => void;
|
|
7641
|
-
label?: string;
|
|
7642
|
-
};
|
|
7643
|
-
/** Wraps `Checkbox` and binds it to a form field. */
|
|
7644
|
-
declare function BoundCheckboxField(props: BoundCheckboxFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7645
|
-
|
|
7646
|
-
type BoundCheckboxGroupFieldProps = Omit<CheckboxGroupProps, "values" | "onChange" | "label"> & {
|
|
7647
|
-
field: FieldState<string[] | null | undefined>;
|
|
7648
|
-
/** Make optional so that callers can override if they want to. */
|
|
7649
|
-
onChange?: (values: string[]) => void;
|
|
7650
|
-
label?: string;
|
|
7651
|
-
};
|
|
7652
|
-
/** Wraps `CheckboxGroup` and binds it to a form field.
|
|
7653
|
-
* To make the field agnostic to the order of selected values, add `strictOrder: false` to the field's ObjectConfig */
|
|
7654
|
-
declare function BoundCheckboxGroupField(props: BoundCheckboxGroupFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7655
|
-
|
|
7656
|
-
interface BoundChipSelectFieldProps<O, V extends Value> extends Omit<ChipSelectFieldProps<O, V>, "onSelect" | "label" | "value"> {
|
|
7657
|
-
onSelect?: (option: V | undefined) => void;
|
|
7658
|
-
field: FieldState<V | null | undefined>;
|
|
7659
|
-
label?: string;
|
|
7660
|
-
}
|
|
7661
|
-
declare function BoundChipSelectField<O, V extends Value>(props: BoundChipSelectFieldProps<O, V>): JSX.Element;
|
|
7662
|
-
declare function BoundChipSelectField<O extends HasIdAndName<V>, V extends Value>(props: Optional<BoundChipSelectFieldProps<O, V>, "getOptionValue" | "getOptionLabel">): JSX.Element;
|
|
7663
|
-
|
|
7664
|
-
type BoundDateFieldProps = Omit<DateFieldProps, "label" | "value" | "onChange"> & {
|
|
7665
|
-
field: FieldState<Date | null | undefined>;
|
|
7666
|
-
label?: string;
|
|
7667
|
-
onChange?: (value: Date | undefined) => void;
|
|
7668
|
-
};
|
|
7669
|
-
/** Wraps `TextField` and binds it to a form field. */
|
|
7670
|
-
declare function BoundDateField(props: BoundDateFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7671
|
-
|
|
7672
|
-
type BoundDateRangeFieldProps = Omit<DateRangeFieldProps, "label" | "value" | "onChange"> & {
|
|
7673
|
-
field: FieldState<DateRange | null | undefined>;
|
|
7674
|
-
label?: string;
|
|
7675
|
-
onChange?: (value: DateRange | undefined) => void;
|
|
7676
|
-
};
|
|
7677
|
-
/** Wraps `TextField` and binds it to a form field. */
|
|
7678
|
-
declare function BoundDateRangeField(props: BoundDateRangeFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7679
|
-
|
|
7680
|
-
type BoundIconCardFieldProps = Omit<IconCardProps, "label" | "selected" | "onChange"> & {
|
|
7681
|
-
field: FieldState<boolean | null | undefined>;
|
|
7682
|
-
icon: IconProps["icon"];
|
|
7683
|
-
/** Make optional so that callers can override if they want to. */
|
|
7684
|
-
onChange?: (values: boolean) => void;
|
|
7685
|
-
label?: string;
|
|
7686
|
-
};
|
|
7687
|
-
/** Wraps `IconCard` and binds it to a form field. */
|
|
7688
|
-
declare function BoundIconCardField(props: BoundIconCardFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7689
|
-
|
|
7690
|
-
interface IconCardGroupItemOption<V extends Value> {
|
|
7691
|
-
icon: IconProps["icon"];
|
|
7692
|
-
label: string;
|
|
7693
|
-
disabled?: boolean;
|
|
7694
|
-
/** The value of the IconCardGroup item, stored in value array in state. */
|
|
7695
|
-
value: V;
|
|
7696
|
-
/** Exclusive: if true, this option will override all other options when selected. */
|
|
7697
|
-
exclusive?: boolean;
|
|
7698
|
-
}
|
|
7699
|
-
interface IconCardGroupProps<V extends Value> extends Pick<PresentationFieldProps, "labelStyle"> {
|
|
7700
|
-
label: string;
|
|
7701
|
-
/** Called when a card is selected */
|
|
7702
|
-
onChange: (values: V[]) => void;
|
|
7703
|
-
/** Options for the cards contained within the IconCardGroup. */
|
|
7704
|
-
options: IconCardGroupItemOption<V>[];
|
|
7705
|
-
/** The values currently selected. */
|
|
7706
|
-
values: V[];
|
|
7707
|
-
errorMsg?: string;
|
|
7708
|
-
helperText?: string | ReactNode;
|
|
7709
|
-
disabled?: boolean;
|
|
7710
|
-
}
|
|
7711
|
-
|
|
7712
|
-
type BoundIconCardGroupFieldProps<V extends Value> = Omit<IconCardGroupProps<V>, "label" | "values" | "onChange"> & {
|
|
7713
|
-
field: FieldState<V[] | null | undefined>;
|
|
7714
|
-
/** Make optional so that callers can override if they want to. */
|
|
7715
|
-
onChange?: (values: V[]) => void;
|
|
7716
|
-
label?: string;
|
|
7717
|
-
};
|
|
7718
|
-
/** Wraps `IconCardGroup` and binds it to a form field. */
|
|
7719
|
-
declare function BoundIconCardGroupField<V extends Value>(props: BoundIconCardGroupFieldProps<V>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7720
|
-
|
|
7721
|
-
type BoundMultiLineSelectFieldProps<O, V extends Value> = Omit<MultiLineSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7722
|
-
onSelect?: (values: V[], opts: O[]) => void;
|
|
7723
|
-
field: FieldState<V[] | null | undefined>;
|
|
7724
|
-
label?: string;
|
|
7725
|
-
};
|
|
7726
|
-
/**
|
|
7727
|
-
* Wraps `MultiLineSelectField` and binds it to a form field.
|
|
7728
|
-
*/
|
|
7729
|
-
declare function BoundMultiLineSelectField<O, V extends Value>(props: BoundMultiLineSelectFieldProps<O, V>): JSX.Element;
|
|
7730
|
-
declare function BoundMultiLineSelectField<O extends HasIdAndName<V>, V extends Value>(props: Optional<BoundMultiLineSelectFieldProps<O, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7731
|
-
|
|
7732
|
-
type BoundMultiSelectFieldProps<O, V extends Value> = Omit<MultiSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7733
|
-
onSelect?: (values: V[], opts: O[]) => void;
|
|
7734
|
-
field: FieldState<V[] | null | undefined>;
|
|
7735
|
-
label?: string;
|
|
7736
|
-
};
|
|
7737
|
-
/**
|
|
7738
|
-
* Wraps `MultiSelectField` and binds it to a form field.
|
|
7739
|
-
*
|
|
7740
|
-
* To ease integration with "select this fooId" inputs, we can take a list
|
|
7741
|
-
* of objects, `T` (i.e. `TradePartner[]`), but accept a field of type `V`
|
|
7742
|
-
* (i.e. `string`).
|
|
7743
|
-
*
|
|
7744
|
-
* The caller has to tell us how to turn `T` into `V`, which is usually a
|
|
7745
|
-
* lambda like `t => t.id`.
|
|
7746
|
-
*/
|
|
7747
|
-
declare function BoundMultiSelectField<O, V extends Value>(props: BoundMultiSelectFieldProps<O, V>): JSX.Element;
|
|
7748
|
-
declare function BoundMultiSelectField<O extends HasIdAndName<V>, V extends Value>(props: Optional<BoundMultiSelectFieldProps<O, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7749
|
-
|
|
7750
|
-
type BoundNumberFieldProps = Omit<NumberFieldProps, "value" | "onChange" | "label"> & {
|
|
7751
|
-
label?: string;
|
|
7752
|
-
field: FieldState<number | null | undefined>;
|
|
7753
|
-
onChange?: (value: number | undefined) => void;
|
|
7754
|
-
};
|
|
7755
|
-
/** Wraps `NumberField` and binds it to a form field. */
|
|
7756
|
-
declare function BoundNumberField(props: BoundNumberFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7757
|
-
|
|
7758
|
-
type BoundRadioGroupFieldProps<K extends string> = Omit<RadioGroupFieldProps<K>, "value" | "onChange" | "label"> & {
|
|
7759
|
-
field: FieldState<K | null | undefined>;
|
|
7760
|
-
/** Make optional so that callers can override if they want to. */
|
|
7761
|
-
onChange?: (value: K) => void;
|
|
7762
|
-
label?: string;
|
|
7763
|
-
};
|
|
7764
|
-
/** Wraps `TextField` and binds it to a form field. */
|
|
7765
|
-
declare function BoundRadioGroupField<K extends string>(props: BoundRadioGroupFieldProps<K>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7766
|
-
|
|
7767
|
-
type BoundRichTextFieldProps = Omit<RichTextFieldProps, "value" | "onChange"> & {
|
|
7768
|
-
field: FieldState<string | null | undefined>;
|
|
7769
|
-
onChange?: (value: string | undefined) => void;
|
|
7770
|
-
};
|
|
7771
|
-
/** Wraps `RichTextField` and binds it to a form field. */
|
|
7772
|
-
declare function BoundRichTextField(props: BoundRichTextFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7773
|
-
|
|
7774
|
-
interface BoundSelectAndTextFieldProps<O, V extends Value, X> {
|
|
7775
|
-
selectFieldProps: CompoundSelectFieldProps<O, V>;
|
|
7776
|
-
textFieldProps: CompoundTextFieldProps<X>;
|
|
7777
|
-
compact?: boolean;
|
|
7778
|
-
}
|
|
7779
|
-
declare function BoundSelectAndTextField<O, V extends Value, X extends Only<TextFieldXss, X>>(props: BoundSelectAndTextFieldProps<O, V, X>): JSX.Element;
|
|
7780
|
-
declare function BoundSelectAndTextField<O extends HasIdAndName<V>, V extends Value, X extends Only<TextFieldXss, X>>(props: Omit<BoundSelectAndTextFieldProps<O, V, X>, "selectFieldProps"> & {
|
|
7781
|
-
selectFieldProps: Optional<CompoundSelectFieldProps<O, V>, "getOptionValue" | "getOptionLabel">;
|
|
7782
|
-
}): JSX.Element;
|
|
7783
|
-
type CompoundSelectFieldProps<O, V extends Value> = Omit<BoundSelectFieldProps<O, V>, "compact">;
|
|
7784
|
-
type CompoundTextFieldProps<X> = Omit<BoundTextFieldProps<X>, "compact">;
|
|
7785
|
-
|
|
7786
|
-
type BoundSelectFieldProps<O, V extends Value> = Omit<SelectFieldProps<O, V>, "value" | "onSelect" | "label"> & {
|
|
7787
|
-
/** Optional, to allow `onSelect` to be overridden to do more than just `field.set`. */
|
|
7788
|
-
onSelect?: (value: V | undefined, opt: O | undefined) => void;
|
|
7789
|
-
/** The field we'll read/write data from. */
|
|
7790
|
-
field: FieldState<V | null | undefined>;
|
|
7791
|
-
/** An optional label, defaults to the humanized field key, i.e. `authorId` -> `Author`. */
|
|
7792
|
-
label?: string;
|
|
7793
|
-
};
|
|
7794
|
-
/**
|
|
7795
|
-
* Wraps `SelectField` and binds it to a form field.
|
|
7796
|
-
*
|
|
7797
|
-
* To ease integration with GraphQL inputs that want to put `{ authorId: "a:1" }` on
|
|
7798
|
-
* the wire, we generally expect the FieldState type to be a string/tagged id, but the
|
|
7799
|
-
* `options` prop to be the full list of id+name options like `AuthorFragment[]`.
|
|
7800
|
-
*
|
|
7801
|
-
* If `AuthorFragment` type matches `HasIdIsh` and `HasNameIsh`, we'll automatically use
|
|
7802
|
-
* the `id` and `name` fields from it, otherwise callers need to provide `getOptionValue`
|
|
7803
|
-
* and `getOptionLabel` to adapt the option, i.e. `getOptionLabel={(author) => author.otherName}`.
|
|
7804
|
-
*
|
|
7805
|
-
* Note: there are four overloads here to handle each combination of "HasIdIsh and HasNameId",
|
|
7806
|
-
* "only has HasIdIsh", "only has HasNameIsh", and "neither".
|
|
7807
|
-
*/
|
|
7808
|
-
declare function BoundSelectField<T extends HasIdIsh<V> & HasNameIsh, V extends Value>(props: Optional<BoundSelectFieldProps<T, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7809
|
-
declare function BoundSelectField<T extends HasIdIsh<V>, V extends Value>(props: Optional<BoundSelectFieldProps<T, V>, "getOptionValue">): JSX.Element;
|
|
7810
|
-
declare function BoundSelectField<T extends HasNameIsh, V extends Value>(props: Optional<BoundSelectFieldProps<T, V>, "getOptionLabel">): JSX.Element;
|
|
7811
|
-
declare function BoundSelectField<T, V extends Value>(props: BoundSelectFieldProps<T, V>): JSX.Element;
|
|
7812
|
-
|
|
7813
|
-
type BoundSwitchFieldProps = Omit<SwitchProps, "selected" | "onChange" | "label"> & {
|
|
7814
|
-
field: FieldState<boolean | null | undefined>;
|
|
7815
|
-
/** Make optional so that callers can override if they want to. */
|
|
7816
|
-
onChange?: (value: boolean) => void;
|
|
7817
|
-
label?: string;
|
|
7818
|
-
};
|
|
7819
|
-
/** Wraps `Switch` and binds it to a form field. */
|
|
7820
|
-
declare function BoundSwitchField(props: BoundSwitchFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7821
|
-
|
|
7822
|
-
type BoundTextAreaFieldProps<X> = Omit<TextAreaFieldProps<X>, "value" | "onChange" | "label"> & {
|
|
7823
|
-
label?: string;
|
|
7824
|
-
field: FieldState<string | null | undefined>;
|
|
7825
|
-
onChange?: (value: string | undefined) => void;
|
|
7826
|
-
};
|
|
7827
|
-
/** Wraps `TextAreaField` and binds it to a form field. */
|
|
7828
|
-
declare function BoundTextAreaField<X extends Only<TextFieldXss, X>>(props: BoundTextAreaFieldProps<X>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7829
|
-
|
|
7830
|
-
type BoundTextFieldProps<X> = Omit<TextFieldProps<X>, "value" | "onChange" | "label"> & {
|
|
7831
|
-
label?: string;
|
|
7832
|
-
field: FieldState<string | null | undefined>;
|
|
7833
|
-
onChange?: (value: string | undefined) => void;
|
|
7834
|
-
};
|
|
7835
|
-
/** Wraps `TextField` and binds it to a form field. */
|
|
7836
|
-
declare function BoundTextField<X extends Only<TextFieldXss, X>>(props: BoundTextFieldProps<X>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7837
|
-
|
|
7838
|
-
type BoundToggleChipGroupFieldProps = Omit<ToggleChipGroupProps, "values" | "onChange" | "label"> & {
|
|
7839
|
-
field: FieldState<string[] | null | undefined>;
|
|
7840
|
-
/** Make optional so that callers can override if they want to. */
|
|
7841
|
-
onChange?: (values: string[]) => void;
|
|
7842
|
-
label?: string;
|
|
7843
|
-
};
|
|
7844
|
-
/** Wraps `ToggleChipGroup` and binds it to a form field. */
|
|
7845
|
-
declare function BoundToggleChipGroupField(props: BoundToggleChipGroupFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7846
|
-
|
|
7847
|
-
type BoundTreeSelectFieldProps<O, V extends Value> = Omit<TreeSelectFieldProps<O, V>, "values" | "onSelect" | "label"> & {
|
|
7848
|
-
onSelect?: (options: TreeSelectResponse<O, V>) => void;
|
|
7849
|
-
field: FieldState<V[] | null | undefined>;
|
|
7850
|
-
label?: string;
|
|
7851
|
-
};
|
|
7852
|
-
/**
|
|
7853
|
-
* Wraps `TreeSelectField` and binds it to a form field.
|
|
7854
|
-
*
|
|
7855
|
-
* To ease integration with "select this fooId" inputs, we can take a list
|
|
7856
|
-
* of objects, `T` (i.e. `TradePartner[]`), but accept a field of type `V`
|
|
7857
|
-
* (i.e. `string`).
|
|
7858
|
-
*
|
|
7859
|
-
* The caller has to tell us how to turn `T` into `V`, which is usually a
|
|
7860
|
-
* lambda like `t => t.id`.
|
|
7861
|
-
*/
|
|
7862
|
-
declare function BoundTreeSelectField<T, V extends Value>(props: BoundTreeSelectFieldProps<T, V>): JSX.Element;
|
|
7863
|
-
declare function BoundTreeSelectField<T extends HasIdAndName<V>, V extends Value>(props: Optional<BoundTreeSelectFieldProps<T, V>, "getOptionLabel" | "getOptionValue">): JSX.Element;
|
|
7864
|
-
|
|
7865
|
-
interface FormHeadingProps {
|
|
7866
|
-
title: string;
|
|
7867
|
-
xss?: Xss<Margin>;
|
|
7868
|
-
isFirst?: boolean;
|
|
7869
|
-
}
|
|
7870
|
-
declare function FormHeading(props: FormHeadingProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7871
|
-
declare namespace FormHeading {
|
|
7872
|
-
var isFormHeading: boolean;
|
|
7873
|
-
}
|
|
7874
|
-
|
|
7875
|
-
type FormWidth =
|
|
7876
|
-
/** 320px. */
|
|
7877
|
-
"sm"
|
|
7878
|
-
/** 480px, works well in a small, single-stack form. */
|
|
7879
|
-
| "md"
|
|
7880
|
-
/** 550px, works well for showing side-by-side/double-stack fields. */
|
|
7881
|
-
| "lg"
|
|
7882
|
-
/** 100%, works well for showing full width fields, or deferring to the parent width. */
|
|
7883
|
-
| "full";
|
|
7884
|
-
interface FormLinesProps extends Pick<PresentationFieldProps, "labelStyle" | "labelLeftFieldWidth" | "labelSuffix" | "compact"> {
|
|
7885
|
-
/** Let the user interleave group-less lines and grouped lines. */
|
|
7886
|
-
children: ReactNode;
|
|
7887
|
-
width?: FormWidth;
|
|
7888
|
-
/** Increment property (e.g. 1 = 8px). Defines space between form fields */
|
|
7889
|
-
gap?: number;
|
|
7890
|
-
}
|
|
7891
|
-
/**
|
|
7892
|
-
* Applies standard Form layout/size/spacing between lines.
|
|
7893
|
-
*
|
|
7894
|
-
* Lines can either be individual form fields, or a group of form fields
|
|
7895
|
-
* (see the `FieldGroup` component), where they will be laid out side-by-side.
|
|
7896
|
-
*/
|
|
7897
|
-
declare function FormLines(props: FormLinesProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7898
|
-
/** Draws a line between form lines. */
|
|
7899
|
-
declare function FormDivider(): _emotion_react_jsx_runtime.JSX.Element;
|
|
7900
|
-
/** Groups multiple fields side-by-side. */
|
|
7901
|
-
declare function FieldGroup(props: {
|
|
7902
|
-
/** The legend/title for this group. */
|
|
7903
|
-
title?: string;
|
|
7904
|
-
children: JSX.Element[];
|
|
7905
|
-
/** An array of widths for each child, if a number we use `fr` units. */
|
|
7906
|
-
widths?: Array<number | string>;
|
|
7907
|
-
}): _emotion_react_jsx_runtime.JSX.Element;
|
|
7908
|
-
|
|
7909
|
-
interface StaticFieldProps {
|
|
7910
|
-
label: ReactNode;
|
|
7911
|
-
value?: string;
|
|
7912
|
-
children?: ReactNode;
|
|
7913
|
-
labelStyle?: PresentationFieldProps["labelStyle"];
|
|
7914
|
-
}
|
|
7915
|
-
declare function StaticField(props: StaticFieldProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
7916
|
-
|
|
7917
|
-
type SubmitButtonProps<T> = Omit<ButtonProps, "label"> & {
|
|
7918
|
-
label?: ButtonProps["label"];
|
|
7919
|
-
form: ObjectState<T>;
|
|
7920
|
-
};
|
|
7921
|
-
/** Provides a Button that will auto-disable if `formState` is invalid. */
|
|
7922
|
-
declare function SubmitButton<T>(props: SubmitButtonProps<T>): _emotion_react_jsx_runtime.JSX.Element;
|
|
7923
|
-
|
|
7924
8008
|
type BreakpointsType = Record<Breakpoint, boolean>;
|
|
7925
8009
|
/**
|
|
7926
8010
|
* A React hook to return a record of responsive breakpoints that updates on resize.
|
|
@@ -8048,4 +8132,4 @@ declare function useSessionStorage<T>(key: string, defaultValue: T): UseSessionS
|
|
|
8048
8132
|
*/
|
|
8049
8133
|
declare function defaultTestId(label: string): string;
|
|
8050
8134
|
|
|
8051
|
-
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, 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, ButtonModal, type ButtonModalProps, type ButtonProps, type ButtonSize, type ButtonVariant, 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, Container, type ContentStack, Copy, 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, type FilterImpls, FilterModal, _Filters as Filters, type Font, FormDivider, FormHeading, type FormHeadingProps, FormLines, type FormLinesProps, 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, 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 ImageMenuItemType, type InfiniteScroll, type InputStylePalette, KEPT_GROUP, type Kinded, Loader, LoadingSkeleton, type LoadingSkeletonProps, type Margin, 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, Palette, type Pin, type Placement, type PresentationFieldProps, PresentationProvider, PreventBrowserScroll, type Properties, type RadioFieldOption, RadioGroupField, type RadioGroupFieldProps, type RenderAs, type RenderCellFn, ResponsiveGrid, ResponsiveGridItem, type ResponsiveGridItemProps, type ResponsiveGridProps, RichTextField, RichTextFieldImpl, type RichTextFieldProps, RightPaneContext, RightPaneLayout, type RightPaneLayoutContextProps, RightPaneProvider, type RouteTab, type RouteTabWithContent, Row, type RowStyle, type RowStyles, ScrollShadows, ScrollableContent, ScrollableParent, SelectField, type SelectFieldProps, SelectToggle, type SelectedState, 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 UseQueryState, type UseRightPaneHook, type UseSnackbarHook, type UseSuperDrawerHook, type UseToastProps, type Value, type Xss, actionColumn, applyRowFn, assignDefaultColumnIds, booleanFilter, calcColumnSizes, cardStyle, checkboxFilter, 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, iconButtonContrastStylesHover, iconButtonStylesHover, iconCardStylesHover, increment, insertAtIndex, isCursorBelowMidpoint, isGridCellContent, isJSX, isListBoxSection, isPersistentItem, isPersistentKey, isValidDate, loadArrayOrUndefined, matchesFilter, maybeApplyFunction, maybeInc, maybeTooltip, multiFilter, navLink, newMethodMissingProxy, nonKindGridColumnKeys, numberRangeFilter, numericColumn, parseDate, parseDateRange, persistentItemPrefix, pressedStyles, px, recursivelyGetContainingRow, reservedRowKinds, resolveTooltip, rowClickRenderFn, rowLinkRenderFn, scrollContainerBottomPadding, 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, useGroupBy, useHover, useModal, usePersistedFilter, useQueryState, useResponsiveGrid, useResponsiveGridItem, type useResponsiveGridProps, useRightPane, useRightPaneContext, useScrollableParent, useSessionStorage, useSetupColumnSizes, useSnackbar, useSuperDrawer, useTestIds, useToast, useTreeSelectFieldProvider, visit, zIndices };
|
|
8135
|
+
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, 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, ButtonModal, type ButtonModalProps, type ButtonProps, type ButtonSize, type ButtonVariant, 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, Container, type ContentStack, Copy, 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, type FilterImpls, FilterModal, _Filters as Filters, type Font, FormDivider, FormHeading, type FormHeadingProps, FormLines, type FormLinesProps, FormPageLayout, 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, 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 ImageMenuItemType, type InfiniteScroll, type InputStylePalette, KEPT_GROUP, type Kinded, Loader, LoadingSkeleton, type LoadingSkeletonProps, type Margin, 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, Palette, type Pin, type Placement, type PresentationFieldProps, PresentationProvider, PreventBrowserScroll, type Properties, type RadioFieldOption, RadioGroupField, type RadioGroupFieldProps, type RenderAs, type RenderCellFn, ResponsiveGrid, ResponsiveGridItem, type ResponsiveGridItemProps, type ResponsiveGridProps, RichTextField, RichTextFieldImpl, type RichTextFieldProps, RightPaneContext, RightPaneLayout, type RightPaneLayoutContextProps, RightPaneProvider, type RouteTab, type RouteTabWithContent, Row, type RowStyle, type RowStyles, ScrollShadows, ScrollableContent, ScrollableParent, SelectField, type SelectFieldProps, SelectToggle, type SelectedState, 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 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, 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, iconButtonContrastStylesHover, iconButtonStylesHover, iconCardStylesHover, increment, insertAtIndex, isCursorBelowMidpoint, isGridCellContent, isJSX, isListBoxSection, isPersistentItem, isPersistentKey, isValidDate, loadArrayOrUndefined, matchesFilter, maybeApplyFunction, maybeInc, maybeTooltip, multiFilter, navLink, newMethodMissingProxy, nonKindGridColumnKeys, numberRangeFilter, numericColumn, parseDate, parseDateRange, persistentItemPrefix, pressedStyles, px, recursivelyGetContainingRow, reservedRowKinds, resolveTooltip, rowClickRenderFn, rowLinkRenderFn, scrollContainerBottomPadding, 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, useGroupBy, useHover, useModal, usePersistedFilter, useQueryState, useResponsiveGrid, useResponsiveGridItem, type useResponsiveGridProps, useRightPane, useRightPaneContext, useScrollableParent, useSessionStorage, useSetupColumnSizes, useSnackbar, useSuperDrawer, useTestIds, useToast, useTreeSelectFieldProvider, visit, zIndices };
|