@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.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
- /** Provides a way to extend the full width of the ScrollableParent */
7256
- declare function FullBleed({ children, omitPadding }: {
7257
- children: ReactElement;
7258
- omitPadding?: boolean;
7259
- }): ReactElement<any, string | React$1.JSXElementConstructor<any>>;
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
- /** Intended to wrap the whole application to prevent the browser's native scrolling behavior while also taking the full height of the viewport */
7262
- declare function PreventBrowserScroll({ children }: ChildrenOnly): _emotion_react_jsx_runtime.JSX.Element;
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 OpenRightPaneOpts {
7265
- content: ReactNode;
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
- type RightPaneLayoutContextProps = {
7268
- openInPane: (opts: OpenRightPaneOpts) => void;
7269
- closePane: () => void;
7270
- clearPane: () => void;
7271
- isRightPaneOpen: boolean;
7272
- rightPaneContent: ReactNode;
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
- declare const RightPaneContext: React__default.Context<RightPaneLayoutContextProps>;
7275
- declare function RightPaneProvider({ children }: {
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
- declare function RightPaneLayout(props: {
7281
- children: ReactElement;
7282
- paneBgColor?: Palette;
7283
- paneWidth?: number;
7284
- defaultPaneContent?: ReactElement;
7285
- }): _emotion_react_jsx_runtime.JSX.Element;
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
- interface UseRightPaneHook {
7288
- /** Opens a right pane */
7289
- openRightPane: (opts: OpenRightPaneOpts) => void;
7290
- /** Closes the right pane */
7291
- closeRightPane: () => void;
7292
- }
7293
- declare function useRightPane(): UseRightPaneHook;
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 ScrollableContentProps {
7296
- children: ReactNode;
7297
- virtualized?: boolean;
7298
- omitBottomPadding?: true;
7299
- bgColor?: Palette;
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
- * Helper component for placing scrollable content within a `ScrollableParent`.
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 ScrollableContent(props: ScrollableContentProps): ReactPortal | JSX.Element;
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
- interface ScrollableParentContextProps {
7313
- scrollableEl: HTMLElement | null;
7314
- pr: string | number;
7315
- pl: string | number;
7316
- setPortalTick: Dispatch<SetStateAction<number>>;
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
- * Provides a pattern for implementing "multiple sticky" components.
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
- * `ScrollableParent` solves this by putting all the stickied content (except the table header rows)
7341
- * into a single div, and then having the page use `ScrollableContent` to mark what should actually
7342
- * scroll, which then we "pull up" to be a sibling div of "everything that was stickied".
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
- * See [this miro](https://miro.com/app/board/o9J_l-FQ-RU=/) and how we need to "cut the component in half".
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 ScrollableParent(props: PropsWithChildren<ScrollableParentContextProviderProps>): _emotion_react_jsx_runtime.JSX.Element;
7347
- declare function useScrollableParent(): ScrollableParentContextProps;
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
- interface LoaderProps {
7357
- size?: "xs" | "sm" | "md" | "lg";
7358
- contrast?: boolean;
7359
- }
7360
- declare function Loader({ size, contrast }: LoaderProps): _emotion_react_jsx_runtime.JSX.Element;
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 Sizes = "sm" | "md" | "lg";
7363
- type LoadingSkeletonProps = {
7364
- rows?: number;
7365
- columns?: number;
7366
- size?: Sizes;
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
- declare function LoadingSkeleton({ rows, columns, size, randomizeWidths, contrast, }: LoadingSkeletonProps): _emotion_react_jsx_runtime.JSX.Element;
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 MaxLinesProps = PropsWithChildren<{
7373
- maxLines: number;
7374
- }>;
7375
- declare function MaxLines({ maxLines, children }: MaxLinesProps): _emotion_react_jsx_runtime.JSX.Element;
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
- interface OpenModalProps {
7378
- /** The custom modal content to show. */
7379
- children: JSX.Element;
7380
- /** The size to use. */
7381
- size?: ModalProps["size"];
7382
- /** Whether to force the modal to stay open. This is useful for stories where ruler/tape extensions cause the modal to close. */
7383
- keepOpen?: boolean;
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
- * A component for testing open modals in stories and unit tests.
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
- * So instead tests can call:
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
- * ```tsx
7394
- * render(
7395
- * <OpenModal>
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
- * And `OpenModal` will do a boilerplate `openModal` call, so that the content
7402
- * shows up in the DOM as expected.
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 OpenModal(props: OpenModalProps): JSX.Element;
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
- interface UseModalHook {
7407
- openModal: (props: ModalProps) => void;
7408
- closeModal: VoidFunction;
7409
- addCanClose: (canClose: CheckFn) => void;
7410
- setSize: (size: ModalProps["size"]) => void;
7411
- inModal: boolean;
7412
- }
7413
- declare function useModal(): UseModalHook;
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
- * Page settings, either a pageNumber+pageSize or offset+limit.
7459
+ * Wraps `TreeSelectField` and binds it to a form field.
7417
7460
  *
7418
- * This component is implemented in terms of "page number + page size",
7419
- * but our backend wants offset+limit, so we accept both and translate.
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
- type PageSettings = PageNumberAndSize | OffsetAndLimit;
7422
- type PageNumberAndSize = {
7423
- pageNumber: number;
7424
- pageSize: number;
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 OffsetAndLimit = {
7427
- offset: number;
7428
- limit: number;
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
- declare const defaultPage: OffsetAndLimit;
7431
- interface PaginationProps {
7432
- page: readonly [PageNumberAndSize, Dispatch<PageNumberAndSize>] | readonly [OffsetAndLimit, Dispatch<OffsetAndLimit>];
7433
- totalCount: number;
7434
- pageSizes?: number[];
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 Pagination(props: PaginationProps): _emotion_react_jsx_runtime.JSX.Element;
7437
- declare function toLimitAndOffset(page: PageSettings): OffsetAndLimit;
7438
- declare function toPageNumberSize(page: PageSettings): PageNumberAndSize;
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 ScrollShadowsProps {
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
- /** Allows for styling the container */
7443
- xss?: Properties;
7444
- /** Set to true if the container scrolls horizontally */
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
- declare function ScrollShadows(props: ScrollShadowsProps): _emotion_react_jsx_runtime.JSX.Element;
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
- type SnackbarNoticeTypes = "error" | "warning" | "success" | "info" | "alert";
7452
- interface SnackbarNoticeProps {
7453
- /** Adds action button to the right of the notice */
7454
- action?: Pick<ButtonProps, "label" | "onClick" | "variant">;
7455
- /** 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'. */
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 Offset = {
7469
- bottom?: number;
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
- interface UseSnackbarHook {
7473
- triggerNotice: (props: TriggerNoticeProps) => {
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
- state: "incomplete" | "complete" | "error";
7495
- disabled?: boolean;
7496
- value: string;
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
- interface StepperProps {
7499
- steps: Step[];
7500
- currentStep: Step["value"];
7501
- onChange: (stepValue: string) => void;
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 Stepper(props: StepperProps): _emotion_react_jsx_runtime.JSX.Element;
7664
+ declare function useRightPane(): UseRightPaneHook;
7504
7665
 
7505
- interface SuperDrawerHeaderProps {
7666
+ interface ScrollableContentProps {
7506
7667
  children: ReactNode;
7507
- hideControls?: boolean;
7668
+ virtualized?: boolean;
7669
+ omitBottomPadding?: true;
7670
+ bgColor?: Palette;
7508
7671
  }
7509
- interface SuperDrawerHeaderStructuredProps {
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 };