@helpwave/hightide 0.6.5 → 0.6.7

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.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import react__default, { HTMLAttributes, SVGProps, CSSProperties, ReactNode, PropsWithChildren, RefObject, Dispatch, SetStateAction, ButtonHTMLAttributes, InputHTMLAttributes, ComponentProps, TextareaHTMLAttributes, LabelHTMLAttributes } from 'react';
3
+ import react__default, { HTMLAttributes, SVGProps, CSSProperties, ReactNode, PropsWithChildren, RefObject, Dispatch, SetStateAction, ButtonHTMLAttributes, InputHTMLAttributes, ComponentProps, TableHTMLAttributes, TextareaHTMLAttributes, LabelHTMLAttributes } from 'react';
4
4
  import Link from 'next/link';
5
- import { Column, RowData, FilterFn, ColumnDef, Table as Table$1, InitialTableState, Row, TableState, TableOptions, RowSelectionState, SortDirection } from '@tanstack/react-table';
5
+ import { ColumnDef, Table as Table$1, InitialTableState, Row, TableState, TableOptions, RowData, FilterFn, RowSelectionState, PaginationState, Column, SortDirection, ColumnSizingState } from '@tanstack/react-table';
6
6
  import { Translation, TranslationEntries, PartialTranslationExtension } from '@helpwave/internationalization';
7
7
 
8
8
  type Size = 'sm' | 'md' | 'lg';
@@ -361,6 +361,33 @@ type FormFieldResult<T> = {
361
361
  };
362
362
  declare function useFormField<T extends FormValue, K extends keyof T>(key: K, { triggerUpdate }: UseFormFieldOptions): FormFieldResult<T[K]> | null;
363
363
 
364
+ type FloatingElementAlignment = 'beforeStart' | 'afterStart' | 'center' | 'beforeEnd' | 'afterEnd';
365
+ type CalculatePositionOptions = {
366
+ verticalAlignment?: FloatingElementAlignment;
367
+ horizontalAlignment?: FloatingElementAlignment;
368
+ screenPadding?: number;
369
+ gap?: number;
370
+ avoidOverlap?: boolean;
371
+ };
372
+ type UseAnchoredPositionOptions = CalculatePositionOptions & {
373
+ isPolling?: boolean;
374
+ pollingInterval?: number;
375
+ };
376
+ type UseAnchoredPostitionProps = UseAnchoredPositionOptions & {
377
+ container: RefObject<HTMLElement>;
378
+ anchor: RefObject<HTMLElement>;
379
+ window?: RefObject<HTMLElement>;
380
+ active?: boolean;
381
+ };
382
+ declare function useAnchoredPosition({ active, window: windowRef, anchor: anchorRef, container: containerRef, isPolling, pollingInterval, verticalAlignment, horizontalAlignment, avoidOverlap, screenPadding, gap, }: UseAnchoredPostitionProps): CSSProperties;
383
+
384
+ type BackgroundOverlayProps = HTMLAttributes<HTMLDivElement>;
385
+ interface AnchoredFloatingContainerProps extends HTMLAttributes<HTMLDivElement> {
386
+ anchor?: RefObject<HTMLElement>;
387
+ options?: UseAnchoredPositionOptions;
388
+ }
389
+ declare const AnchoredFloatingContainer: react.ForwardRefExoticComponent<AnchoredFloatingContainerProps & react.RefAttributes<HTMLDivElement>>;
390
+
364
391
  interface CarouselSlideProps extends HTMLAttributes<HTMLDivElement> {
365
392
  isSelected: boolean;
366
393
  index: number;
@@ -410,7 +437,16 @@ type DrawerProps = HTMLAttributes<HTMLDivElement> & {
410
437
  backgroundClassName?: string;
411
438
  onClose: () => void;
412
439
  };
413
- declare const Drawer: ({ children, isOpen, alignment, titleElement, description, containerClassName, backgroundClassName, onClose, ...props }: DrawerProps) => react.ReactPortal;
440
+ declare const Drawer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
441
+ isOpen: boolean;
442
+ alignment: DrawerAligment;
443
+ titleElement: ReactNode;
444
+ description: ReactNode;
445
+ isAnimated?: boolean;
446
+ containerClassName?: string;
447
+ backgroundClassName?: string;
448
+ onClose: () => void;
449
+ } & react.RefAttributes<HTMLDivElement>>;
414
450
 
415
451
  type ExpandableRootProps = HTMLAttributes<HTMLDivElement> & {
416
452
  isExpanded?: boolean;
@@ -486,58 +522,6 @@ type FAQSectionProps = {
486
522
  };
487
523
  declare const FAQSection: ({ entries, }: FAQSectionProps) => react_jsx_runtime.JSX.Element;
488
524
 
489
- type FloatingElementAlignment = 'beforeStart' | 'afterStart' | 'center' | 'beforeEnd' | 'afterEnd';
490
- type CalculatePositionOptions = {
491
- verticalAlignment?: FloatingElementAlignment;
492
- horizontalAlignment?: FloatingElementAlignment;
493
- screenPadding?: number;
494
- gap?: number;
495
- };
496
- type UseFloatingElementOptions = CalculatePositionOptions & {
497
- isPolling?: boolean;
498
- pollingInterval?: number;
499
- };
500
- type UseFloatingElementProps = UseFloatingElementOptions & {
501
- containerRef: RefObject<HTMLElement>;
502
- anchorRef: RefObject<HTMLElement>;
503
- windowRef?: RefObject<HTMLElement>;
504
- active?: boolean;
505
- };
506
- declare function useFloatingElement({ active, windowRef, anchorRef, containerRef, isPolling, pollingInterval, verticalAlignment, horizontalAlignment, screenPadding, gap, }: UseFloatingElementProps): CSSProperties;
507
-
508
- type FloatingContainerProps = HTMLAttributes<HTMLDivElement> & UseFloatingElementOptions & {
509
- anchor?: RefObject<HTMLElement>;
510
- /**
511
- * Polls the position of the anchor every 100ms
512
- *
513
- * Use sparingly
514
- */
515
- backgroundOverlay?: ReactNode;
516
- };
517
- /**
518
- * A floating container that aligns to its anchor
519
- *
520
- * Notes:
521
- * - to hide it use the hidden attribute as other means break the functionality
522
- */
523
- declare const FloatingContainer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
524
- verticalAlignment?: FloatingElementAlignment;
525
- horizontalAlignment?: FloatingElementAlignment;
526
- screenPadding?: number;
527
- gap?: number;
528
- } & {
529
- isPolling?: boolean;
530
- pollingInterval?: number;
531
- } & {
532
- anchor?: RefObject<HTMLElement>;
533
- /**
534
- * Polls the position of the anchor every 100ms
535
- *
536
- * Use sparingly
537
- */
538
- backgroundOverlay?: ReactNode;
539
- } & react.RefAttributes<HTMLDivElement>>;
540
-
541
525
  interface InfiniteScrollProps {
542
526
  itemCount: number;
543
527
  /** How many items to keep in the DOM at once (default: 30) */
@@ -690,6 +674,81 @@ type VisibilityProps = PropsWithChildren & {
690
674
  };
691
675
  declare function Visibility({ children, isVisible }: VisibilityProps): react_jsx_runtime.JSX.Element;
692
676
 
677
+ type DialogPosition = 'top' | 'center' | 'none';
678
+ type DialogProps = HTMLAttributes<HTMLDivElement> & {
679
+ /** Whether the dialog is currently open */
680
+ isOpen?: boolean;
681
+ /** Title of the Dialog used for accessibility */
682
+ titleElement: ReactNode;
683
+ /** Description of the Dialog used for accessibility */
684
+ description: ReactNode;
685
+ /** Callback when the dialog tries to close */
686
+ onClose?: () => void;
687
+ /** Styling for the background */
688
+ backgroundClassName?: string;
689
+ /** If true shows a close button and sends onClose on background clicks */
690
+ isModal?: boolean;
691
+ position?: DialogPosition;
692
+ isAnimated?: boolean;
693
+ containerClassName?: string;
694
+ };
695
+ /**
696
+ * A generic dialog window which is managed by its parent
697
+ */
698
+ declare const Dialog: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
699
+ /** Whether the dialog is currently open */
700
+ isOpen?: boolean;
701
+ /** Title of the Dialog used for accessibility */
702
+ titleElement: ReactNode;
703
+ /** Description of the Dialog used for accessibility */
704
+ description: ReactNode;
705
+ /** Callback when the dialog tries to close */
706
+ onClose?: () => void;
707
+ /** Styling for the background */
708
+ backgroundClassName?: string;
709
+ /** If true shows a close button and sends onClose on background clicks */
710
+ isModal?: boolean;
711
+ position?: DialogPosition;
712
+ isAnimated?: boolean;
713
+ containerClassName?: string;
714
+ } & react.RefAttributes<HTMLDivElement>>;
715
+
716
+ type DialogContextType = {
717
+ isOpen: boolean;
718
+ setIsOpen: Dispatch<SetStateAction<boolean>>;
719
+ isModal: boolean;
720
+ };
721
+ declare const DialogContext: react.Context<DialogContextType>;
722
+ declare function useDialogContext(): DialogContextType;
723
+
724
+ interface DialogOpenerWrapperBag {
725
+ open: () => void;
726
+ close: () => void;
727
+ isOpen: boolean;
728
+ toggleOpen: () => void;
729
+ props: {
730
+ 'onClick': () => void;
731
+ 'aria-haspopup': 'dialog';
732
+ };
733
+ }
734
+ interface DialogOpenerWrapperProps {
735
+ children: (props: DialogOpenerWrapperBag) => ReactNode;
736
+ }
737
+ declare function DialogOpenerWrapper({ children }: DialogOpenerWrapperProps): ReactNode;
738
+ interface DialogOpenerPassingProps {
739
+ 'children'?: React.ReactNode;
740
+ 'onClick'?: React.MouseEventHandler<HTMLButtonElement>;
741
+ 'aria-haspopup'?: 'dialog';
742
+ }
743
+
744
+ interface DialogRootProps extends PropsWithChildren {
745
+ isOpen?: boolean;
746
+ onIsOpenChange?: (isOpen: boolean) => void;
747
+ initialIsOpen?: boolean;
748
+ isModal?: boolean;
749
+ }
750
+ declare function DialogRoot({ children, isOpen: controlledIsOpen, onIsOpenChange, initialIsOpen, isModal, }: DialogRootProps): react_jsx_runtime.JSX.Element;
751
+
693
752
  /**
694
753
  * The different sizes for a button
695
754
  */
@@ -737,29 +796,6 @@ declare const Button: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLB
737
796
  allowClickEventPropagation?: boolean;
738
797
  } & react.RefAttributes<HTMLButtonElement>>;
739
798
 
740
- type DialogPosition = 'top' | 'center' | 'none';
741
- type DialogProps = HTMLAttributes<HTMLDivElement> & {
742
- /** Whether the dialog is currently open */
743
- isOpen: boolean;
744
- /** Title of the Dialog used for accessibility */
745
- titleElement: ReactNode;
746
- /** Description of the Dialog used for accessibility */
747
- description: ReactNode;
748
- /** Callback when the dialog tries to close */
749
- onClose?: () => void;
750
- /** Styling for the background */
751
- backgroundClassName?: string;
752
- /** If true shows a close button and sends onClose on background clicks */
753
- isModal?: boolean;
754
- position?: DialogPosition;
755
- isAnimated?: boolean;
756
- containerClassName?: string;
757
- };
758
- /**
759
- * A generic dialog window which is managed by its parent
760
- */
761
- declare const Dialog: ({ children, isOpen, titleElement, description, isModal, onClose, backgroundClassName, position, containerClassName, ...props }: PropsWithChildren<DialogProps>) => react.ReactPortal;
762
-
763
799
  type ConfirmDialogType = 'positive' | 'negative' | 'neutral' | 'primary';
764
800
  type ButtonOverwriteType = {
765
801
  text?: string;
@@ -937,17 +973,17 @@ declare const NavigationItemList: ({ items, ...restProps }: NavigationItemListPr
937
973
  type NavigationProps = NavigationItemListProps;
938
974
  declare const Navigation: ({ ...props }: NavigationProps) => react_jsx_runtime.JSX.Element;
939
975
 
940
- type PaginationProps = {
976
+ interface PaginationProps {
941
977
  pageIndex: number;
942
978
  pageCount: number;
943
- onPageChanged: (page: number) => void;
979
+ onPageIndexChanged?: (pageIndex: number) => void;
944
980
  className?: string;
945
981
  style?: CSSProperties;
946
- };
982
+ }
947
983
  /**
948
984
  * A Component showing the pagination allowing first, before, next and last page navigation
949
985
  */
950
- declare const Pagination: ({ pageIndex, pageCount, onPageChanged, className, style, }: PaginationProps) => react_jsx_runtime.JSX.Element;
986
+ declare const Pagination: ({ pageIndex, pageCount, onPageIndexChanged, className, style, }: PaginationProps) => react_jsx_runtime.JSX.Element;
951
987
 
952
988
  type StepperState = {
953
989
  currentStep: number;
@@ -969,75 +1005,455 @@ type StepperBarProps = {
969
1005
  declare const StepperBar: ({ state, numberOfSteps, disabledSteps, onChange, onFinish, finishText, showDots, className, }: StepperBarProps) => react_jsx_runtime.JSX.Element;
970
1006
  declare const StepperBarUncontrolled: ({ state, onChange, ...props }: StepperBarProps) => react_jsx_runtime.JSX.Element;
971
1007
 
972
- type FillerCellProps = HTMLAttributes<HTMLDivElement>;
973
- declare const FillerCell: ({ ...props }: FillerCellProps) => react_jsx_runtime.JSX.Element;
974
-
975
- declare const TableFilters: {
976
- dateRange: (row: any, columnId: any, filterValue: [Date | null, Date | null]) => boolean;
1008
+ type UseFocusTrapProps = {
1009
+ container: RefObject<HTMLElement>;
1010
+ active: boolean;
1011
+ initialFocus?: RefObject<HTMLElement>;
1012
+ /**
1013
+ * Whether to focus the first element when the initialFocus isn't provided
1014
+ *
1015
+ * Focuses the container instead
1016
+ */
1017
+ focusFirst?: boolean;
977
1018
  };
1019
+ declare const useFocusTrap: ({ container, active, initialFocus, focusFirst, }: UseFocusTrapProps) => void;
978
1020
 
979
- type TableFilterType = 'text' | 'range' | 'dateRange';
980
- type TableFilterButtonProps<T = unknown> = {
981
- filterType: TableFilterType;
982
- column: Column<T>;
983
- };
984
- declare const TableFilterButton: <T>({ filterType, column, }: TableFilterButtonProps<T>) => react_jsx_runtime.JSX.Element;
1021
+ interface UseOutsideClickOptions {
1022
+ refs: RefObject<HTMLElement>[];
1023
+ active?: boolean;
1024
+ }
1025
+ interface UseOutsideClickHandlers {
1026
+ onOutsideClick: (event: MouseEvent | TouchEvent) => void;
1027
+ }
1028
+ interface UseOutsideClickProps extends UseOutsideClickOptions, UseOutsideClickHandlers {
1029
+ }
1030
+ declare const useOutsideClick: ({ refs, onOutsideClick, active }: UseOutsideClickProps) => void;
985
1031
 
986
- type BagFunction<B, V = ReactNode> = (bag: B) => V;
987
- type BagFunctionOrValue<B, V> = BagFunction<B, V> | V;
988
- type BagFunctionOrNode<B> = BagFunction<B> | ReactNode;
989
- type PropsWithBagFunction<B, P = unknown> = P & {
990
- children?: BagFunction<B>;
991
- };
992
- type PropsWithBagFunctionOrChildren<B, P = unknown> = P & {
993
- children?: BagFunctionOrNode<B>;
994
- };
995
- declare const BagFunctionUtil: {
996
- resolve: <B, V = ReactNode>(bagFunctionOrValue: BagFunctionOrValue<B, V>, bag: B) => V;
1032
+ interface PopUpProps extends AnchoredFloatingContainerProps, Partial<UseOutsideClickHandlers> {
1033
+ isOpen?: boolean;
1034
+ focusTrapOptions?: Omit<UseFocusTrapProps, 'container'>;
1035
+ outsideClickOptions?: UseOutsideClickOptions;
1036
+ onClose?: () => void;
1037
+ forceMount?: boolean;
1038
+ anchorExcludedFromOutsideClick?: boolean;
1039
+ }
1040
+ declare const PopUp: react.ForwardRefExoticComponent<PopUpProps & react.RefAttributes<HTMLDivElement>>;
1041
+
1042
+ type PopUpContextType = {
1043
+ isOpen: boolean;
1044
+ setIsOpen: Dispatch<SetStateAction<boolean>>;
1045
+ popUpId: string;
1046
+ triggerId: string;
1047
+ triggerRef: RefObject<HTMLElement> | null;
1048
+ setTriggerRef: (ref: RefObject<HTMLElement> | null) => void;
997
1049
  };
1050
+ declare const PopUpContext: react.Context<PopUpContextType>;
1051
+ declare function usePopUpContext(): PopUpContextType;
1052
+
1053
+ interface PopUpOpenerBag<T extends HTMLElement> {
1054
+ open: () => void;
1055
+ close: () => void;
1056
+ isOpen: boolean;
1057
+ toggleOpen: () => void;
1058
+ props: {
1059
+ 'id': string;
1060
+ 'onClick': () => void;
1061
+ 'aria-haspopup': 'dialog';
1062
+ 'aria-controls': string;
1063
+ 'aria-expanded': boolean;
1064
+ 'ref': RefObject<T>;
1065
+ };
1066
+ }
1067
+ interface PopUpOpenerProps<T extends HTMLElement> {
1068
+ children: (props: PopUpOpenerBag<T>) => ReactNode;
1069
+ }
1070
+ declare function PopUpOpener<T extends HTMLElement = HTMLButtonElement>({ children }: PopUpOpenerProps<T>): ReactNode;
1071
+
1072
+ interface PopUpRootProps extends PropsWithChildren {
1073
+ isOpen?: boolean;
1074
+ onIsOpenChange?: (isOpen: boolean) => void;
1075
+ initialIsOpen?: boolean;
1076
+ popUpId?: string;
1077
+ triggerId?: string;
1078
+ }
1079
+ declare function PopUpRoot({ children, isOpen: controlledIsOpen, onIsOpenChange, initialIsOpen, popUpId: popUpIdOverwrite, triggerId: triggerIdOverwrite, }: PopUpRootProps): react_jsx_runtime.JSX.Element;
1080
+
1081
+ type FillerCellProps = HTMLAttributes<HTMLDivElement>;
1082
+ declare const FillerCell: ({ ...props }: FillerCellProps) => react_jsx_runtime.JSX.Element;
1083
+
1084
+ type TableProviderProps<T> = {
1085
+ data: T[];
1086
+ columns?: ColumnDef<T>[];
1087
+ children?: ReactNode;
1088
+ isUsingFillerRows?: boolean;
1089
+ fillerRow?: (columnId: string, table: Table$1<T>) => ReactNode;
1090
+ initialState?: Omit<InitialTableState, 'columnSizing'>;
1091
+ onRowClick?: (row: Row<T>, table: Table$1<T>) => void;
1092
+ state?: Omit<TableState, 'columnSizing'>;
1093
+ } & Partial<TableOptions<T>>;
1094
+ declare const TableProvider: <T>({ data, isUsingFillerRows, fillerRow, initialState, onRowClick, defaultColumn: defaultColumnOverwrite, state, columns: columnsProp, children, ...tableOptions }: TableProviderProps<T>) => react_jsx_runtime.JSX.Element;
998
1095
 
999
1096
  declare module '@tanstack/react-table' {
1000
1097
  interface ColumnMeta<TData extends RowData, TValue> {
1001
1098
  className?: string;
1002
- filterType?: TableFilterType;
1099
+ filterData?: {
1100
+ tags?: {
1101
+ tag: string;
1102
+ label: ReactNode;
1103
+ }[];
1104
+ };
1003
1105
  }
1004
1106
  interface TableMeta<TData> {
1005
1107
  headerRowClassName?: string;
1006
- bodyRowClassName?: BagFunctionOrValue<TData, string>;
1108
+ bodyRowClassName?: ((value: TData) => string) | string;
1007
1109
  }
1008
1110
  interface FilterFns {
1009
- dateRange: FilterFn<unknown>;
1111
+ text: FilterFn<unknown>;
1112
+ number: FilterFn<unknown>;
1113
+ date: FilterFn<unknown>;
1114
+ boolean: FilterFn<unknown>;
1115
+ tags: FilterFn<unknown>;
1116
+ generic: FilterFn<unknown>;
1010
1117
  }
1011
1118
  }
1012
- type TableProps<T> = {
1013
- data: T[];
1014
- columns: ColumnDef<T>[];
1015
- fillerRow?: (columnId: string, table: Table$1<T>) => ReactNode;
1016
- initialState?: Omit<InitialTableState, 'columnSizing' | 'columnSizingInfo'>;
1017
- className?: string;
1018
- tableContainerClassName?: string;
1019
- onRowClick?: (row: Row<T>, table: Table$1<T>) => void;
1020
- state?: Omit<TableState, 'columnSizing' | 'columnSizingInfo'>;
1021
- tableClassName?: string;
1022
- } & Partial<TableOptions<T>>;
1023
- /**
1024
- * The standard table
1025
- */
1026
- declare const Table: <T>({ data, fillerRow, initialState, onRowClick, className, tableClassName, tableContainerClassName, defaultColumn, state, columns, ...tableOptions }: TableProps<T>) => react_jsx_runtime.JSX.Element;
1027
- type TableUncontrolledProps<T> = TableProps<T>;
1028
- declare const TableUncontrolled: <T>({ data, ...props }: TableUncontrolledProps<T>) => react_jsx_runtime.JSX.Element;
1029
- type TableWithSelectionProps<T> = TableProps<T> & {
1119
+
1120
+ type TableHeaderProps = {
1121
+ table?: Table$1<unknown>;
1122
+ isSticky?: boolean;
1123
+ };
1124
+ declare const TableHeader: ({ table: tableOverride, isSticky }: TableHeaderProps) => react_jsx_runtime.JSX.Element;
1125
+
1126
+ interface TableDisplayProps extends TableHTMLAttributes<HTMLTableElement> {
1127
+ containerProps?: Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;
1128
+ tableHeaderProps?: Omit<TableHeaderProps, 'children' | 'table'>;
1129
+ }
1130
+ /**
1131
+ * A display component for a table that requires a TableProvider for the table context
1132
+ */
1133
+ declare const TableDisplay: <T>({ children, containerProps, tableHeaderProps, ...props }: TableDisplayProps) => react_jsx_runtime.JSX.Element;
1134
+
1135
+ type RegisteredOption = {
1136
+ value: string;
1137
+ label: ReactNode;
1138
+ disabled: boolean;
1139
+ ref: React.RefObject<HTMLLIElement>;
1140
+ };
1141
+ type HighlightStartPositionBehavior = 'first' | 'last';
1142
+ type SelectIconAppearance = 'left' | 'right' | 'none';
1143
+ type InternalSelectContextState = {
1144
+ isOpen: boolean;
1145
+ options: RegisteredOption[];
1146
+ highlightedValue?: string;
1147
+ };
1148
+ type SelectContextIds = {
1149
+ trigger: string;
1150
+ content: string;
1151
+ };
1152
+ type SelectContextState = InternalSelectContextState & FormFieldInteractionStates & {
1153
+ value: string[];
1154
+ selectedOptions: RegisteredOption[];
1155
+ };
1156
+ type SelectConfiguration = {
1157
+ isMultiSelect: boolean;
1158
+ iconAppearance: SelectIconAppearance;
1159
+ };
1160
+ type ToggleOpenOptions = {
1161
+ highlightStartPositionBehavior?: HighlightStartPositionBehavior;
1162
+ };
1163
+ type SelectContextType = {
1164
+ ids: SelectContextIds;
1165
+ setIds: Dispatch<SetStateAction<SelectContextIds>>;
1166
+ state: SelectContextState;
1167
+ config: SelectConfiguration;
1168
+ item: {
1169
+ register: (item: RegisteredOption) => void;
1170
+ unregister: (value: string) => void;
1171
+ toggleSelection: (value: string, isSelected?: boolean) => void;
1172
+ highlightItem: (value: string) => void;
1173
+ moveHighlightedIndex: (delta: number) => void;
1174
+ };
1175
+ trigger: {
1176
+ ref: React.RefObject<HTMLElement>;
1177
+ register: (element: React.RefObject<HTMLElement>) => void;
1178
+ unregister: () => void;
1179
+ toggleOpen: (isOpen?: boolean, options?: ToggleOpenOptions) => void;
1180
+ };
1181
+ };
1182
+ declare const SelectContext: react.Context<SelectContextType>;
1183
+ declare function useSelectContext(): SelectContextType;
1184
+ type SharedSelectRootProps = Partial<FormFieldInteractionStates> & PropsWithChildren & {
1185
+ id?: string;
1186
+ initialIsOpen?: boolean;
1187
+ iconAppearance?: SelectIconAppearance;
1188
+ onClose?: () => void;
1189
+ };
1190
+ type SelectRootProps = SharedSelectRootProps & Partial<FormFieldDataHandling<string>>;
1191
+ declare const SelectRoot: ({ value, onValueChange, onEditComplete, ...props }: SelectRootProps) => react_jsx_runtime.JSX.Element;
1192
+ type MultiSelectRootProps = SharedSelectRootProps & Partial<FormFieldDataHandling<string[]>>;
1193
+ declare const MultiSelectRoot: ({ value, onValueChange, onEditComplete, ...props }: MultiSelectRootProps) => react_jsx_runtime.JSX.Element;
1194
+
1195
+ type SelectOptionProps = Omit<HTMLAttributes<HTMLLIElement>, 'children'> & {
1196
+ value: string;
1197
+ disabled?: boolean;
1198
+ iconAppearance?: SelectIconAppearance;
1199
+ children?: ReactNode;
1200
+ };
1201
+ declare const SelectOption: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children"> & {
1202
+ value: string;
1203
+ disabled?: boolean;
1204
+ iconAppearance?: SelectIconAppearance;
1205
+ children?: ReactNode;
1206
+ } & react.RefAttributes<HTMLLIElement>>;
1207
+ type SelectButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
1208
+ placeholder?: ReactNode;
1209
+ selectedDisplay?: (value: string[]) => ReactNode;
1210
+ };
1211
+ declare const SelectButton: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
1212
+ placeholder?: ReactNode;
1213
+ selectedDisplay?: (value: string[]) => ReactNode;
1214
+ } & react.RefAttributes<HTMLButtonElement>>;
1215
+ type SelectContentProps = PopUpProps;
1216
+ declare const SelectContent: react.ForwardRefExoticComponent<PopUpProps & react.RefAttributes<HTMLUListElement>>;
1217
+ type MultiSelectOptionProps = SelectOptionProps;
1218
+ declare const MultiSelectOption: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children"> & {
1219
+ value: string;
1220
+ disabled?: boolean;
1221
+ iconAppearance?: SelectIconAppearance;
1222
+ children?: ReactNode;
1223
+ } & react.RefAttributes<HTMLLIElement>>;
1224
+ type MultiSelectContentProps = SelectContentProps;
1225
+ declare const MultiSelectContent: react.ForwardRefExoticComponent<PopUpProps & react.RefAttributes<HTMLUListElement>>;
1226
+ type MultiSelectButtonProps = SelectButtonProps;
1227
+ declare const MultiSelectButton: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
1228
+ placeholder?: ReactNode;
1229
+ selectedDisplay?: (value: string[]) => ReactNode;
1230
+ } & react.RefAttributes<HTMLButtonElement>>;
1231
+
1232
+ type SelectProps = SelectRootProps & {
1233
+ contentPanelProps?: SelectContentProps;
1234
+ buttonProps?: Omit<SelectButtonProps, 'selectedDisplay'> & {
1235
+ selectedDisplay?: (value: string) => ReactNode;
1236
+ };
1237
+ };
1238
+ declare const Select: react.ForwardRefExoticComponent<Partial<FormFieldInteractionStates> & {
1239
+ children?: ReactNode | undefined;
1240
+ } & {
1241
+ id?: string;
1242
+ initialIsOpen?: boolean;
1243
+ iconAppearance?: SelectIconAppearance;
1244
+ onClose?: () => void;
1245
+ } & Partial<FormFieldDataHandling<string>> & {
1246
+ contentPanelProps?: SelectContentProps;
1247
+ buttonProps?: Omit<SelectButtonProps, "selectedDisplay"> & {
1248
+ selectedDisplay?: (value: string) => ReactNode;
1249
+ };
1250
+ } & react.RefAttributes<HTMLButtonElement>>;
1251
+ type SelectUncontrolledProps = SelectProps;
1252
+ declare const SelectUncontrolled: react.ForwardRefExoticComponent<Partial<FormFieldInteractionStates> & {
1253
+ children?: ReactNode | undefined;
1254
+ } & {
1255
+ id?: string;
1256
+ initialIsOpen?: boolean;
1257
+ iconAppearance?: SelectIconAppearance;
1258
+ onClose?: () => void;
1259
+ } & Partial<FormFieldDataHandling<string>> & {
1260
+ contentPanelProps?: SelectContentProps;
1261
+ buttonProps?: Omit<SelectButtonProps, "selectedDisplay"> & {
1262
+ selectedDisplay?: (value: string) => ReactNode;
1263
+ };
1264
+ } & react.RefAttributes<HTMLButtonElement>>;
1265
+
1266
+ declare const TablePaginationMenu: () => react_jsx_runtime.JSX.Element;
1267
+ interface TablePageSizeSelectProps extends SelectProps {
1268
+ pageSizeOptions?: number[];
1269
+ }
1270
+ declare const TablePageSizeSelect: ({ pageSizeOptions, ...props }: TablePageSizeSelectProps) => react_jsx_runtime.JSX.Element;
1271
+ interface TablePaginationProps extends HTMLAttributes<HTMLDivElement> {
1272
+ allowChangingPageSize?: boolean;
1273
+ pageSizeOptions?: number[];
1274
+ }
1275
+ declare const TablePagination: ({ allowChangingPageSize, pageSizeOptions, ...props }: TablePaginationProps) => react_jsx_runtime.JSX.Element;
1276
+
1277
+ interface TableWithSelectionProviderProps<T> extends TableProviderProps<T> {
1030
1278
  rowSelection: RowSelectionState;
1031
1279
  disableClickRowClickSelection?: boolean;
1032
1280
  selectionRowId?: string;
1033
- };
1034
- declare const TableWithSelection: <T>({ columns, state, fillerRow, rowSelection, disableClickRowClickSelection, selectionRowId, onRowClick, meta, ...props }: TableWithSelectionProps<T>) => react_jsx_runtime.JSX.Element;
1281
+ }
1282
+ declare const TableWithSelectionProvider: <T>({ children, state, fillerRow, rowSelection, disableClickRowClickSelection, selectionRowId, onRowClick, meta, ...props }: TableWithSelectionProviderProps<T>) => react_jsx_runtime.JSX.Element;
1283
+
1284
+ interface TableProps<T> extends HTMLAttributes<HTMLDivElement> {
1285
+ table: TableProviderProps<T>;
1286
+ paginationOptions?: TablePaginationProps & {
1287
+ showPagination?: boolean;
1288
+ };
1289
+ displayProps?: Omit<TableDisplayProps, 'children'>;
1290
+ header?: React.ReactNode;
1291
+ footer?: React.ReactNode;
1292
+ }
1293
+ declare const Table: <T>({ children, table, paginationOptions, displayProps, header, footer, ...props }: TableProps<T>) => react_jsx_runtime.JSX.Element;
1294
+ interface TableWithSelectionProps<T> extends HTMLAttributes<HTMLDivElement> {
1295
+ table: TableWithSelectionProviderProps<T>;
1296
+ paginationOptions?: TablePaginationProps & {
1297
+ showPagination?: boolean;
1298
+ };
1299
+ displayProps?: Omit<TableDisplayProps, 'children'>;
1300
+ header?: React.ReactNode;
1301
+ footer?: React.ReactNode;
1302
+ }
1303
+ declare const TableWithSelection: <T>({ children, table, paginationOptions, displayProps, header, footer, ...props }: TableWithSelectionProps<T>) => react_jsx_runtime.JSX.Element;
1304
+
1305
+ declare const TableBody: react__default.NamedExoticComponent<object>;
1035
1306
 
1036
1307
  type TableCellProps = PropsWithChildren<{
1037
1308
  className?: string;
1038
1309
  }>;
1039
1310
  declare const TableCell: ({ children, className, }: TableCellProps) => react_jsx_runtime.JSX.Element;
1040
1311
 
1312
+ declare const TableFilterOperator: {
1313
+ readonly text: readonly ["textEquals", "textNotEquals", "textNotWhitespace", "textContains", "textNotContains", "textStartsWith", "textEndsWith"];
1314
+ readonly number: readonly ["numberEquals", "numberNotEquals", "numberGreaterThan", "numberGreaterThanOrEqual", "numberLessThan", "numberLessThanOrEqual", "numberBetween", "numberNotBetween"];
1315
+ readonly date: readonly ["dateEquals", "dateNotEquals", "dateGreaterThan", "dateGreaterThanOrEqual", "dateLessThan", "dateLessThanOrEqual", "dateBetween", "dateNotBetween"];
1316
+ readonly boolean: readonly ["booleanIsTrue", "booleanIsFalse"];
1317
+ readonly tags: readonly ["tagsEquals", "tagsNotEquals", "tagsContains", "tagsNotContains"];
1318
+ readonly generic: readonly ["undefined", "notUndefined"];
1319
+ };
1320
+ type TableGenericFilter = (typeof TableFilterOperator.generic)[number];
1321
+ type TableTextFilter = (typeof TableFilterOperator.text)[number] | TableGenericFilter;
1322
+ type TableNumberFilter = (typeof TableFilterOperator.number)[number] | TableGenericFilter;
1323
+ type TableDateFilter = (typeof TableFilterOperator.date)[number] | TableGenericFilter;
1324
+ type TableBooleanFilter = (typeof TableFilterOperator.boolean)[number] | TableGenericFilter;
1325
+ type TableTagsFilter = (typeof TableFilterOperator.tags)[number] | TableGenericFilter;
1326
+ type TableFilterType = TableTextFilter | TableNumberFilter | TableDateFilter | TableBooleanFilter | TableTagsFilter | TableGenericFilter;
1327
+ type TableFilterCategory = keyof typeof TableFilterOperator;
1328
+ declare function isTableFilterCategory(value: unknown): value is TableFilterCategory;
1329
+ type TextFilterParameter = {
1330
+ searchText?: string;
1331
+ };
1332
+ type NumberFilterParameter = {
1333
+ compareValue?: number;
1334
+ min?: number;
1335
+ max?: number;
1336
+ };
1337
+ type DateFilterParameter = {
1338
+ compareDate?: Date;
1339
+ min?: Date;
1340
+ max?: Date;
1341
+ };
1342
+ type BooleanFilterParameter = Record<string, never>;
1343
+ type TagsFilterParameter = {
1344
+ searchTags?: unknown[];
1345
+ };
1346
+ type GenericFilterParameter = Record<string, never>;
1347
+ type TextFilterValue = {
1348
+ operator: TableTextFilter;
1349
+ parameter: TextFilterParameter;
1350
+ };
1351
+ type NumberFilterValue = {
1352
+ operator: TableNumberFilter;
1353
+ parameter: NumberFilterParameter;
1354
+ };
1355
+ type DateFilterValue = {
1356
+ operator: TableDateFilter;
1357
+ parameter: DateFilterParameter;
1358
+ };
1359
+ type BooleanFilterValue = {
1360
+ operator: TableBooleanFilter;
1361
+ parameter: BooleanFilterParameter;
1362
+ };
1363
+ type TagsFilterValue = {
1364
+ operator: TableTagsFilter;
1365
+ parameter: TagsFilterParameter;
1366
+ };
1367
+ type GenericFilterValue = {
1368
+ operator: TableGenericFilter;
1369
+ parameter: GenericFilterParameter;
1370
+ };
1371
+ type TableFilterValue = TextFilterValue | NumberFilterValue | DateFilterValue | BooleanFilterValue | TagsFilterValue | GenericFilterValue;
1372
+ declare const TableFilter: {
1373
+ text: FilterFn<unknown>;
1374
+ number: FilterFn<unknown>;
1375
+ date: FilterFn<unknown>;
1376
+ boolean: FilterFn<unknown>;
1377
+ tags: FilterFn<unknown>;
1378
+ generic: FilterFn<unknown>;
1379
+ };
1380
+
1381
+ type TableColumnProps<T> = ColumnDef<T> & {
1382
+ filterType?: TableFilterCategory;
1383
+ };
1384
+ declare const TableColumn: <T>(props: TableColumnProps<T>) => react_jsx_runtime.JSX.Element;
1385
+
1386
+ type TableColumnSwitcherPopUpProps = PopUpProps;
1387
+ declare const TableColumnSwitcherPopUp: ({ ...props }: TableColumnSwitcherPopUpProps) => react_jsx_runtime.JSX.Element;
1388
+ interface TableColumnSwitcherProps extends TableColumnSwitcherPopUpProps {
1389
+ buttonProps?: ButtonProps;
1390
+ }
1391
+ declare const TableColumnSwitcher: ({ buttonProps, ...props }: TableColumnSwitcherProps) => react_jsx_runtime.JSX.Element;
1392
+
1393
+ type TableDataContextType<T> = {
1394
+ table: Table$1<T>;
1395
+ columns: ColumnDef<T>[];
1396
+ rows: Row<T>[];
1397
+ rowSelection: RowSelectionState;
1398
+ data: T[];
1399
+ pagination: PaginationState;
1400
+ isUsingFillerRows: boolean;
1401
+ fillerRow: (columnId: string, table: Table$1<T>) => ReactNode;
1402
+ onRowClick: (row: Row<T>, table: Table$1<T>) => void;
1403
+ };
1404
+ declare const TableDataContext: react.Context<TableDataContextType<any>>;
1405
+ declare const useTableDataContext: <T>() => TableDataContextType<T>;
1406
+ type TableColumnDefinitionContextType<T> = {
1407
+ table: Table$1<T>;
1408
+ registerColumn: (column: ColumnDef<T>) => () => void;
1409
+ };
1410
+ declare const TableColumnDefinitionContext: react.Context<TableColumnDefinitionContextType<any>>;
1411
+ declare const useTableColumnDefinitionContext: <T>() => TableColumnDefinitionContextType<T>;
1412
+ type TableHeaderContextType<T> = {
1413
+ table: Table$1<T>;
1414
+ sizeVars: Record<string, number>;
1415
+ };
1416
+ declare const TableHeaderContext: react.Context<TableHeaderContextType<any>>;
1417
+ declare const useTableHeaderContext: <T>() => TableHeaderContextType<T>;
1418
+ type TableContainerContextType<T> = {
1419
+ table: Table$1<T>;
1420
+ containerRef: RefObject<HTMLDivElement>;
1421
+ };
1422
+ declare const TableContainerContext: react.Context<TableContainerContextType<any>>;
1423
+ declare const useTableContainerContext: <T>() => TableContainerContextType<T>;
1424
+
1425
+ type TableFilterButtonProps<T = unknown> = {
1426
+ filterType: TableFilterCategory;
1427
+ column: Column<T>;
1428
+ };
1429
+ declare const TableFilterButton: <T>({ filterType, column, }: TableFilterButtonProps<T>) => react_jsx_runtime.JSX.Element;
1430
+
1431
+ interface TableFilterBaseProps<T extends TableFilterValue> {
1432
+ columnId: string;
1433
+ filterValue?: T | undefined;
1434
+ onFilterValueChange: (value: T | undefined) => void;
1435
+ }
1436
+ type OperatorLabelProps = {
1437
+ operator: TableFilterType;
1438
+ };
1439
+ declare const OperatorLabel: ({ operator }: OperatorLabelProps) => react_jsx_runtime.JSX.Element;
1440
+ type TextFilterProps = TableFilterBaseProps<TextFilterValue>;
1441
+ declare const TextFilter: ({ filterValue, onFilterValueChange }: TextFilterProps) => react_jsx_runtime.JSX.Element;
1442
+ type NumberFilterProps = TableFilterBaseProps<NumberFilterValue>;
1443
+ declare const NumberFilter: ({ filterValue, onFilterValueChange }: NumberFilterProps) => react_jsx_runtime.JSX.Element;
1444
+ type DateFilterProps = TableFilterBaseProps<DateFilterValue>;
1445
+ declare const DateFilter: ({ filterValue, onFilterValueChange }: DateFilterProps) => react_jsx_runtime.JSX.Element;
1446
+ type BooleanFilterProps = TableFilterBaseProps<BooleanFilterValue>;
1447
+ declare const BooleanFilter: ({ filterValue, onFilterValueChange }: BooleanFilterProps) => react_jsx_runtime.JSX.Element;
1448
+ type TagsFilterProps = TableFilterBaseProps<TagsFilterValue>;
1449
+ declare const TagsFilter: ({ columnId, filterValue, onFilterValueChange }: TagsFilterProps) => react_jsx_runtime.JSX.Element;
1450
+ type GenericFilterProps = TableFilterBaseProps<GenericFilterValue>;
1451
+ declare const GenericFilter: ({ filterValue, onFilterValueChange }: GenericFilterProps) => react_jsx_runtime.JSX.Element;
1452
+ interface TableFilterContentProps extends TableFilterBaseProps<TableFilterValue> {
1453
+ filterType: TableFilterCategory;
1454
+ }
1455
+ declare const TableFilterContent: ({ filterType, ...props }: TableFilterContentProps) => react_jsx_runtime.JSX.Element;
1456
+
1041
1457
  type SortingIndexDisplay = {
1042
1458
  index: number;
1043
1459
  sortingsCount: number;
@@ -1052,6 +1468,27 @@ type TableSortButtonProps = ButtonProps & {
1052
1468
  */
1053
1469
  declare const TableSortButton: ({ sortDirection, invert, color, size, className, sortingIndexDisplay, ...props }: TableSortButtonProps) => react_jsx_runtime.JSX.Element;
1054
1470
 
1471
+ type ColumnSizeCalculateTargetBehavoir = 'equalOrHigher';
1472
+ type ColumnSizeCalculateTarget = {
1473
+ width: number;
1474
+ behaviour: ColumnSizeCalculateTargetBehavoir;
1475
+ };
1476
+ type ColumnSizeCalculatoProps = {
1477
+ previousSizing: Record<string, number>;
1478
+ newSizing: Record<string, number>;
1479
+ columnIds: string[];
1480
+ target?: ColumnSizeCalculateTarget;
1481
+ minWidthsPerColumn: Record<string, number>;
1482
+ maxWidthsPerColumn?: Record<string, number>;
1483
+ };
1484
+ declare const toSizeVars: (sizing: ColumnSizingState) => {};
1485
+ declare const ColumnSizeUtil: {
1486
+ calculate: ({ previousSizing, newSizing, columnIds, target, minWidthsPerColumn, maxWidthsPerColumn }: ColumnSizeCalculatoProps) => {
1487
+ [x: string]: number;
1488
+ };
1489
+ toSizeVars: (sizing: ColumnSizingState) => {};
1490
+ };
1491
+
1055
1492
  type CheckBoxSize = 'sm' | 'md' | 'lg' | null;
1056
1493
  type CheckboxProps = HTMLAttributes<HTMLDivElement> & Partial<FormFieldInteractionStates> & Partial<FormFieldDataHandling<boolean>> & {
1057
1494
  indeterminate?: boolean;
@@ -1098,47 +1535,28 @@ type CopyToClipboardWrapperProps = PropsWithChildren<{
1098
1535
  */
1099
1536
  declare const CopyToClipboardWrapper: ({ children, textToCopy, tooltipClassName, containerClassName, position, zIndex, }: CopyToClipboardWrapperProps) => react_jsx_runtime.JSX.Element;
1100
1537
 
1101
- type PopoverHorizontalAlignment = 'leftOutside' | 'leftInside' | 'rightOutside' | 'rightInside' | 'center';
1102
- type PopoverVerticalAlignment = 'topOutside' | 'topInside' | 'bottomOutside' | 'bottomInside' | 'center';
1103
- type PopoverPositionOptionsResolved = {
1104
- edgePadding: number;
1105
- outerGap: number;
1106
- verticalAlignment: PopoverVerticalAlignment;
1107
- horizontalAlignment: PopoverHorizontalAlignment;
1108
- disabled: boolean;
1109
- };
1110
- type PopoverPositionOptions = Partial<PopoverPositionOptionsResolved>;
1111
- declare const usePopoverPosition: (trigger?: DOMRect, options?: PopoverPositionOptions) => CSSProperties;
1112
-
1113
1538
  type MenuItemProps = {
1114
1539
  onClick?: () => void;
1115
- alignment?: 'left' | 'right';
1116
1540
  isDisabled?: boolean;
1117
1541
  className?: string;
1118
1542
  };
1119
- declare const MenuItem: ({ children, onClick, alignment, isDisabled, className }: PropsWithChildren<MenuItemProps>) => react_jsx_runtime.JSX.Element;
1543
+ declare const MenuItem: ({ children, onClick, isDisabled, className }: PropsWithChildren<MenuItemProps>) => react_jsx_runtime.JSX.Element;
1120
1544
  type MenuBag = {
1121
1545
  isOpen: boolean;
1122
1546
  disabled: boolean;
1123
1547
  toggleOpen: () => void;
1124
1548
  close: () => void;
1125
1549
  };
1126
- type MenuProps = {
1550
+ interface MenuProps extends Omit<PopUpProps, 'children' | 'anchor'> {
1127
1551
  children: (bag: MenuBag) => ReactNode | ReactNode;
1128
1552
  trigger: (bag: MenuBag, ref: (el: HTMLElement | null) => void) => ReactNode;
1129
- /**
1130
- * @default 'l'
1131
- */
1132
- alignmentHorizontal?: PopoverHorizontalAlignment;
1133
- alignmentVertical?: PopoverVerticalAlignment;
1134
1553
  showOnHover?: boolean;
1135
- menuClassName?: string;
1136
1554
  disabled?: boolean;
1137
- };
1555
+ }
1138
1556
  /**
1139
1557
  * A Menu Component to allow the user to see different functions
1140
1558
  */
1141
- declare const Menu: ({ trigger, children, alignmentHorizontal, alignmentVertical, showOnHover, disabled, menuClassName, }: MenuProps) => react_jsx_runtime.JSX.Element;
1559
+ declare const Menu: ({ trigger, children, showOnHover, disabled, ...props }: MenuProps) => react_jsx_runtime.JSX.Element;
1142
1560
 
1143
1561
  type ScrollPickerProps<T> = {
1144
1562
  options: T[];
@@ -1199,13 +1617,17 @@ declare const hightideTranslationLocales: readonly ["de-DE", "en-US"];
1199
1617
  type HightideTranslationLocales = typeof hightideTranslationLocales[number];
1200
1618
  type HightideTranslationEntries = {
1201
1619
  'add': string;
1620
+ 'after': string;
1202
1621
  'age': string;
1203
1622
  'all': string;
1204
1623
  'apply': string;
1205
1624
  'back': string;
1625
+ 'before': string;
1626
+ 'between': string;
1206
1627
  'cancel': string;
1207
1628
  'carousel': string;
1208
1629
  'change': string;
1630
+ 'changeColumnDisplay': string;
1209
1631
  'chooseLanguage': string;
1210
1632
  'chooseSlide': string;
1211
1633
  'chooseTheme': string;
@@ -1215,10 +1637,16 @@ type HightideTranslationEntries = {
1215
1637
  'clickToCopy': string;
1216
1638
  'clickToSelect': string;
1217
1639
  'close': string;
1640
+ 'closeDialog': string;
1641
+ 'columnPicker': string;
1642
+ 'columnPickerDescription': string;
1643
+ 'columns': string;
1218
1644
  'confirm': string;
1645
+ 'contains': string;
1219
1646
  'copied': string;
1220
1647
  'copy': string;
1221
1648
  'create': string;
1649
+ 'date': string;
1222
1650
  'decline': string;
1223
1651
  'delete': string;
1224
1652
  'discard': string;
@@ -1226,19 +1654,34 @@ type HightideTranslationEntries = {
1226
1654
  'done': string;
1227
1655
  'edit': string;
1228
1656
  'endDate': string;
1657
+ 'endsWith': string;
1229
1658
  'enterText': string;
1659
+ 'entriesPerPage': string;
1230
1660
  'entryDate': string;
1661
+ 'equals': string;
1231
1662
  'error': string;
1232
1663
  'errorOccurred': string;
1233
1664
  'exit': string;
1234
1665
  'fieldRequiredError': string;
1235
1666
  'filter': string;
1667
+ 'filterNonWhitespace': string;
1668
+ 'filterNotUndefined': string;
1669
+ 'filterUndefined': string;
1670
+ 'first': string;
1236
1671
  'goodToSeeYou': string;
1672
+ 'greaterThan': string;
1673
+ 'greaterThanOrEqual': string;
1674
+ 'hideColumn': string;
1237
1675
  'identifier': string;
1238
1676
  'invalidEmail': string;
1239
1677
  'invalidEmailError': string;
1678
+ 'isFalse': string;
1679
+ 'isTrue': string;
1240
1680
  'language': string;
1681
+ 'last': string;
1241
1682
  'less': string;
1683
+ 'lessThan': string;
1684
+ 'lessThanOrEqual': string;
1242
1685
  'loading': string;
1243
1686
  'locale': string;
1244
1687
  'max': string;
@@ -1246,13 +1689,21 @@ type HightideTranslationEntries = {
1246
1689
  'min': string;
1247
1690
  'minLengthError': string;
1248
1691
  'more': string;
1692
+ 'moveDown': string;
1693
+ 'moveUp': string;
1249
1694
  'name': string;
1250
1695
  'next': string;
1251
1696
  'no': string;
1252
1697
  'none': string;
1698
+ 'noParameterRequired': string;
1699
+ 'notBetween': string;
1700
+ 'notContains': string;
1253
1701
  'notEmpty': string;
1702
+ 'notEquals': string;
1254
1703
  'nothingFound': string;
1255
1704
  'of': string;
1705
+ 'onOrAfter': string;
1706
+ 'onOrBefore': string;
1256
1707
  'optional': string;
1257
1708
  'outOfRangeNumber': (values: {
1258
1709
  min: number;
@@ -1266,6 +1717,10 @@ type HightideTranslationEntries = {
1266
1717
  min: number;
1267
1718
  max: number;
1268
1719
  }) => string;
1720
+ 'parameter': string;
1721
+ 'pinLeft': string;
1722
+ 'pinned': string;
1723
+ 'pinRight': string;
1269
1724
  'pleaseWait': string;
1270
1725
  'previous': string;
1271
1726
  'pThemes': (values: {
@@ -1280,13 +1735,18 @@ type HightideTranslationEntries = {
1280
1735
  }) => string;
1281
1736
  'save': string;
1282
1737
  'saved': string;
1738
+ 'sDateTimeSelect': (values: {
1739
+ datetimeMode: string;
1740
+ }) => string;
1283
1741
  'search': string;
1284
1742
  'select': string;
1743
+ 'selection': string;
1285
1744
  'selectOption': string;
1286
1745
  'sGender': (values: {
1287
1746
  gender: string;
1288
1747
  }) => string;
1289
1748
  'show': string;
1749
+ 'showColumn': string;
1290
1750
  'showLess': string;
1291
1751
  'showMore': string;
1292
1752
  'showSlide': (values: {
@@ -1299,12 +1759,15 @@ type HightideTranslationEntries = {
1299
1759
  length: number;
1300
1760
  }) => string;
1301
1761
  'startDate': string;
1762
+ 'startsWith': string;
1302
1763
  'sThemeMode': (values: {
1303
1764
  theme: string;
1304
1765
  }) => string;
1305
1766
  'street': string;
1306
1767
  'submit': string;
1307
1768
  'success': string;
1769
+ 'tag': string;
1770
+ 'tags': string;
1308
1771
  'text': string;
1309
1772
  'time.ago': string;
1310
1773
  'time.agoDays': (values: {
@@ -1377,6 +1840,7 @@ type HightideTranslationEntries = {
1377
1840
  'tooShort': (values: {
1378
1841
  min: number;
1379
1842
  }) => string;
1843
+ 'unpin': string;
1380
1844
  'unsavedChanges': string;
1381
1845
  'unsavedChangesSaveQuestion': string;
1382
1846
  'update': string;
@@ -1398,6 +1862,7 @@ type TooltipConfig = {
1398
1862
  * Number of milliseconds until the tooltip appears
1399
1863
  */
1400
1864
  appearDelay: number;
1865
+ isAnimated: boolean;
1401
1866
  };
1402
1867
  type ThemeConfig = {
1403
1868
  /**
@@ -1430,7 +1895,7 @@ declare const HightideConfigProvider: ({ children, ...initialOverwrite }: Highti
1430
1895
  declare const useHightideConfig: () => ConfigType;
1431
1896
 
1432
1897
  type Position = 'top' | 'bottom' | 'left' | 'right';
1433
- type TooltipProps = PropsWithChildren & Partial<TooltipConfig> & {
1898
+ interface TooltipProps extends PropsWithChildren, Partial<TooltipConfig> {
1434
1899
  tooltip: ReactNode;
1435
1900
  /**
1436
1901
  * Class names of additional styling properties for the tooltip
@@ -1442,7 +1907,7 @@ type TooltipProps = PropsWithChildren & Partial<TooltipConfig> & {
1442
1907
  containerClassName?: string;
1443
1908
  position?: Position;
1444
1909
  disabled?: boolean;
1445
- };
1910
+ }
1446
1911
  /**
1447
1912
  * A Component for showing a tooltip when hovering over Content
1448
1913
  * @param tooltip The tooltip to show can be a text or any ReactNode
@@ -1452,7 +1917,7 @@ type TooltipProps = PropsWithChildren & Partial<TooltipConfig> & {
1452
1917
  * @param position The direction of the tooltip relative to the Container
1453
1918
  * @constructor
1454
1919
  */
1455
- declare const Tooltip: ({ tooltip, children, appearDelay: appearOverwrite, tooltipClassName, containerClassName, position, disabled, }: TooltipProps) => react_jsx_runtime.JSX.Element;
1920
+ declare const Tooltip: ({ tooltip, children, appearDelay: appearOverwrite, isAnimated: isAnimatedOverwrite, tooltipClassName, containerClassName, position, disabled, }: TooltipProps) => react_jsx_runtime.JSX.Element;
1456
1921
 
1457
1922
  type DurationJSON = {
1458
1923
  years: number;
@@ -1579,6 +2044,24 @@ type DateTimePickerProps = Partial<FormFieldDataHandling<Date>> & {
1579
2044
  declare const DateTimePicker: ({ value, start, end, mode, is24HourFormat, minuteIncrement, weekStart, onValueChange, onEditComplete, timePickerProps, datePickerProps, }: DateTimePickerProps) => react_jsx_runtime.JSX.Element;
1580
2045
  declare const DateTimePickerUncontrolled: ({ value: initialValue, onValueChange, ...props }: DateTimePickerProps) => react_jsx_runtime.JSX.Element;
1581
2046
 
2047
+ interface ControlledStateProps<T> {
2048
+ value?: T;
2049
+ onValueChange?: (value: T) => void;
2050
+ defaultValue?: T;
2051
+ isControlled?: boolean;
2052
+ }
2053
+ declare const useControlledState: <T>({ value, onValueChange, defaultValue, isControlled: isEnforcingControlled }: ControlledStateProps<T>) => [T, react__default.Dispatch<react__default.SetStateAction<T>>];
2054
+
2055
+ interface DateTimePickerDialogProps extends ControlledStateProps<Date | null> {
2056
+ allowRemove?: boolean;
2057
+ onEditComplete?: (value: Date | null) => void;
2058
+ pickerProps: Omit<DateTimePickerProps, 'value' | 'onValueChange' | 'onEditComplete'>;
2059
+ mode?: 'date' | 'dateTime';
2060
+ label?: ReactNode;
2061
+ labelId?: string;
2062
+ }
2063
+ declare const DateTimePickerDialog: ({ defaultValue, value, allowRemove, onValueChange, onEditComplete, isControlled, mode, pickerProps, labelId, label, }: DateTimePickerDialogProps) => react_jsx_runtime.JSX.Element;
2064
+
1582
2065
  type TimeDisplayMode = 'daysFromToday' | 'date';
1583
2066
  type TimeDisplayProps = {
1584
2067
  date: Date;
@@ -1589,14 +2072,20 @@ type TimeDisplayProps = {
1589
2072
  */
1590
2073
  declare const TimeDisplay: ({ date, mode }: TimeDisplayProps) => react_jsx_runtime.JSX.Element;
1591
2074
 
1592
- type DateTimeInputProps = Omit<InputProps, keyof FormFieldDataHandling<string>> & Partial<FormFieldDataHandling<Date>> & {
1593
- onRemove?: () => void;
2075
+ type DateTimeInputHandle = {
2076
+ input: HTMLDivElement | null;
2077
+ popup: HTMLDivElement | null;
2078
+ };
2079
+ interface DateTimeInputProps extends Partial<FormFieldInteractionStates>, ControlledStateProps<Date | null>, Omit<ButtonHTMLAttributes<HTMLDivElement>, 'defaultValue' | 'value'>, Partial<FormFieldDataHandling<Date | null>> {
2080
+ placeholder?: ReactNode;
2081
+ allowRemove?: boolean;
1594
2082
  mode?: 'date' | 'dateTime';
1595
2083
  containerProps?: HTMLAttributes<HTMLDivElement>;
1596
2084
  pickerProps?: Omit<DateTimePickerProps, keyof FormFieldDataHandling<Date> | 'mode'>;
1597
- };
1598
- declare const DateTimeInput: ({ value, onValueChange, onEditComplete, onRemove, containerProps, mode, pickerProps, ...props }: DateTimeInputProps) => react_jsx_runtime.JSX.Element;
1599
- declare const DateTimeInputUncontrolled: ({ value: initialValue, ...props }: DateTimeInputProps) => react_jsx_runtime.JSX.Element;
2085
+ outsideClickCloses?: boolean;
2086
+ onDialogOpeningChange?: (isOpen: boolean) => void;
2087
+ }
2088
+ declare const DateTimeInput: react.ForwardRefExoticComponent<DateTimeInputProps & react.RefAttributes<DateTimeInputHandle>>;
1600
2089
 
1601
2090
  type InsideLabelInputProps = Omit<InputProps, 'aria-label' | 'aria-labelledby' | 'placeholder'> & {
1602
2091
  label: ReactNode;
@@ -1710,116 +2199,6 @@ type TextPropertyProps = PropertyField<string>;
1710
2199
  */
1711
2200
  declare const TextProperty: ({ value, readOnly, onRemove, onValueChange, onEditComplete, ...baseProps }: TextPropertyProps) => react_jsx_runtime.JSX.Element;
1712
2201
 
1713
- type RegisteredOption = {
1714
- value: string;
1715
- label: ReactNode;
1716
- disabled: boolean;
1717
- ref: React.RefObject<HTMLLIElement>;
1718
- };
1719
- type HighlightStartPositionBehavior = 'first' | 'last';
1720
- type SelectIconAppearance = 'left' | 'right' | 'none';
1721
- type InternalSelectContextState = {
1722
- isOpen: boolean;
1723
- options: RegisteredOption[];
1724
- highlightedValue?: string;
1725
- };
1726
- type SelectContextIds = {
1727
- trigger: string;
1728
- content: string;
1729
- };
1730
- type SelectContextState = InternalSelectContextState & FormFieldInteractionStates & {
1731
- value: string[];
1732
- selectedOptions: RegisteredOption[];
1733
- };
1734
- type SelectConfiguration = {
1735
- isMultiSelect: boolean;
1736
- iconAppearance: SelectIconAppearance;
1737
- };
1738
- type ToggleOpenOptions = {
1739
- highlightStartPositionBehavior?: HighlightStartPositionBehavior;
1740
- };
1741
- type SelectContextType = {
1742
- ids: SelectContextIds;
1743
- setIds: Dispatch<SetStateAction<SelectContextIds>>;
1744
- state: SelectContextState;
1745
- config: SelectConfiguration;
1746
- item: {
1747
- register: (item: RegisteredOption) => void;
1748
- unregister: (value: string) => void;
1749
- toggleSelection: (value: string, isSelected?: boolean) => void;
1750
- highlightItem: (value: string) => void;
1751
- moveHighlightedIndex: (delta: number) => void;
1752
- };
1753
- trigger: {
1754
- ref: React.RefObject<HTMLElement>;
1755
- register: (element: React.RefObject<HTMLElement>) => void;
1756
- unregister: () => void;
1757
- toggleOpen: (isOpen?: boolean, options?: ToggleOpenOptions) => void;
1758
- };
1759
- };
1760
- declare const SelectContext: react.Context<SelectContextType>;
1761
- declare function useSelectContext(): SelectContextType;
1762
- type SharedSelectRootProps = Partial<FormFieldInteractionStates> & PropsWithChildren & {
1763
- id?: string;
1764
- initialIsOpen?: boolean;
1765
- iconAppearance?: SelectIconAppearance;
1766
- onClose?: () => void;
1767
- };
1768
- type SelectRootProps = SharedSelectRootProps & Partial<FormFieldDataHandling<string>>;
1769
- declare const SelectRoot: ({ value, onValueChange, onEditComplete, ...props }: SelectRootProps) => react_jsx_runtime.JSX.Element;
1770
- type MultiSelectRootProps = SharedSelectRootProps & Partial<FormFieldDataHandling<string[]>>;
1771
- declare const MultiSelectRoot: ({ value, onValueChange, onEditComplete, ...props }: MultiSelectRootProps) => react_jsx_runtime.JSX.Element;
1772
-
1773
- type SelectOptionProps = Omit<HTMLAttributes<HTMLLIElement>, 'children'> & {
1774
- value: string;
1775
- disabled?: boolean;
1776
- iconAppearance?: SelectIconAppearance;
1777
- children?: ReactNode;
1778
- };
1779
- declare const SelectOption: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children"> & {
1780
- value: string;
1781
- disabled?: boolean;
1782
- iconAppearance?: SelectIconAppearance;
1783
- children?: ReactNode;
1784
- } & react.RefAttributes<HTMLLIElement>>;
1785
- type SelectButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
1786
- placeholder?: ReactNode;
1787
- selectedDisplay?: (value: string[]) => ReactNode;
1788
- };
1789
- declare const SelectButton: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
1790
- placeholder?: ReactNode;
1791
- selectedDisplay?: (value: string[]) => ReactNode;
1792
- } & react.RefAttributes<HTMLButtonElement>>;
1793
- type Orientation = 'vertical' | 'horizontal';
1794
- type SelectContentProps = HTMLAttributes<HTMLUListElement> & {
1795
- alignment?: Pick<UseFloatingElementOptions, 'gap' | 'horizontalAlignment' | 'verticalAlignment'>;
1796
- orientation?: Orientation;
1797
- containerClassName?: string;
1798
- };
1799
- declare const SelectContent: react.ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & {
1800
- alignment?: Pick<UseFloatingElementOptions, "gap" | "horizontalAlignment" | "verticalAlignment">;
1801
- orientation?: Orientation;
1802
- containerClassName?: string;
1803
- } & react.RefAttributes<HTMLUListElement>>;
1804
- type MultiSelectOptionProps = SelectOptionProps;
1805
- declare const MultiSelectOption: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children"> & {
1806
- value: string;
1807
- disabled?: boolean;
1808
- iconAppearance?: SelectIconAppearance;
1809
- children?: ReactNode;
1810
- } & react.RefAttributes<HTMLLIElement>>;
1811
- type MultiSelectContentProps = SelectContentProps;
1812
- declare const MultiSelectContent: react.ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & {
1813
- alignment?: Pick<UseFloatingElementOptions, "gap" | "horizontalAlignment" | "verticalAlignment">;
1814
- orientation?: Orientation;
1815
- containerClassName?: string;
1816
- } & react.RefAttributes<HTMLUListElement>>;
1817
- type MultiSelectButtonProps = SelectButtonProps;
1818
- declare const MultiSelectButton: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
1819
- placeholder?: ReactNode;
1820
- selectedDisplay?: (value: string[]) => ReactNode;
1821
- } & react.RefAttributes<HTMLButtonElement>>;
1822
-
1823
2202
  type MultiSelectProps = MultiSelectRootProps & {
1824
2203
  contentPanelProps?: MultiSelectContentProps;
1825
2204
  buttonProps?: MultiSelectButtonProps;
@@ -1883,63 +2262,33 @@ declare const MultiSelectChipDisplayUncontrolled: react.ForwardRefExoticComponen
1883
2262
  chipDisplayProps?: MultiSelectChipDisplayButtonProps;
1884
2263
  } & react.RefAttributes<HTMLDivElement>>;
1885
2264
 
1886
- type SelectProps = SelectRootProps & {
1887
- contentPanelProps?: SelectContentProps;
1888
- buttonProps?: Omit<SelectButtonProps, 'selectedDisplay'> & {
1889
- selectedDisplay?: (value: string) => ReactNode;
1890
- };
1891
- };
1892
- declare const Select: react.ForwardRefExoticComponent<Partial<FormFieldInteractionStates> & {
1893
- children?: ReactNode | undefined;
1894
- } & {
1895
- id?: string;
1896
- initialIsOpen?: boolean;
1897
- iconAppearance?: SelectIconAppearance;
1898
- onClose?: () => void;
1899
- } & Partial<FormFieldDataHandling<string>> & {
1900
- contentPanelProps?: SelectContentProps;
1901
- buttonProps?: Omit<SelectButtonProps, "selectedDisplay"> & {
1902
- selectedDisplay?: (value: string) => ReactNode;
1903
- };
1904
- } & react.RefAttributes<HTMLButtonElement>>;
1905
- type SelectUncontrolledProps = SelectProps;
1906
- declare const SelectUncontrolled: react.ForwardRefExoticComponent<Partial<FormFieldInteractionStates> & {
1907
- children?: ReactNode | undefined;
1908
- } & {
1909
- id?: string;
1910
- initialIsOpen?: boolean;
1911
- iconAppearance?: SelectIconAppearance;
1912
- onClose?: () => void;
1913
- } & Partial<FormFieldDataHandling<string>> & {
1914
- contentPanelProps?: SelectContentProps;
1915
- buttonProps?: Omit<SelectButtonProps, "selectedDisplay"> & {
1916
- selectedDisplay?: (value: string) => ReactNode;
1917
- };
1918
- } & react.RefAttributes<HTMLButtonElement>>;
1919
-
1920
- type FocusTrapProps = HTMLAttributes<HTMLDivElement> & {
1921
- active?: boolean;
1922
- initialFocus?: RefObject<HTMLElement | null>;
1923
- /**
1924
- * Whether to focus the first element when the initialFocus isn't provided
1925
- *
1926
- * Focuses the container instead
1927
- */
1928
- focusFirst?: boolean;
1929
- };
2265
+ interface FocusTrapProps extends PropsWithChildren, UseFocusTrapProps {
2266
+ }
2267
+ declare const FocusTrap: ({ children, ...props }: FocusTrapProps) => react.ReactNode;
2268
+ interface FocusTrapWrapperProps extends HTMLAttributes<HTMLDivElement>, Omit<FocusTrapProps, 'container'> {
2269
+ }
1930
2270
  /**
1931
2271
  * A wrapper for the useFocusTrap hook that directly renders it to a div
1932
2272
  */
1933
- declare const FocusTrap: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1934
- active?: boolean;
1935
- initialFocus?: RefObject<HTMLElement | null>;
1936
- /**
1937
- * Whether to focus the first element when the initialFocus isn't provided
1938
- *
1939
- * Focuses the container instead
1940
- */
1941
- focusFirst?: boolean;
1942
- } & react.RefAttributes<HTMLDivElement>>;
2273
+ declare const FocusTrapWrapper: react.ForwardRefExoticComponent<FocusTrapWrapperProps & react.RefAttributes<HTMLDivElement>>;
2274
+
2275
+ interface PortalProps extends PropsWithChildren {
2276
+ container?: HTMLElement;
2277
+ }
2278
+ declare const Portal: ({ children, container }: PortalProps) => react.ReactPortal;
2279
+
2280
+ type BagFunction<B, V = ReactNode> = (bag: B) => V;
2281
+ type BagFunctionOrValue<B, V> = BagFunction<B, V> | V;
2282
+ type BagFunctionOrNode<B> = BagFunction<B> | ReactNode;
2283
+ type PropsWithBagFunction<B, P = unknown> = P & {
2284
+ children?: BagFunction<B>;
2285
+ };
2286
+ type PropsWithBagFunctionOrChildren<B, P = unknown> = P & {
2287
+ children?: BagFunctionOrNode<B>;
2288
+ };
2289
+ declare const BagFunctionUtil: {
2290
+ resolve: <B, V = ReactNode>(bagFunctionOrValue: BagFunctionOrValue<B, V>, bag: B) => V;
2291
+ };
1943
2292
 
1944
2293
  type TransitionBag = {
1945
2294
  isOpen: boolean;
@@ -1998,21 +2347,11 @@ declare function useFocusManagement(): {
1998
2347
 
1999
2348
  declare const useFocusOnceVisible: (ref: RefObject<HTMLElement>, disable?: boolean) => void;
2000
2349
 
2001
- type UseFocusTrapProps = {
2002
- container: RefObject<HTMLElement>;
2003
- active?: boolean;
2004
- initialFocus?: RefObject<HTMLElement>;
2005
- /**
2006
- * Whether to focus the first element when the initialFocus isn't provided
2007
- *
2008
- * Focuses the container instead
2009
- */
2010
- focusFirst?: boolean;
2011
- };
2012
- declare const useFocusTrap: ({ container, active, initialFocus, focusFirst, }: UseFocusTrapProps) => void;
2013
-
2014
2350
  declare const useIsMounted: () => boolean;
2015
2351
 
2352
+ type ElementHandle = Record<string, HTMLElement | null>;
2353
+ declare function useHandleRefs<T extends ElementHandle>(handleRef: RefObject<T>): RefObject<HTMLElement | null>[];
2354
+
2016
2355
  type UseHoverStateProps = {
2017
2356
  /**
2018
2357
  * The delay after which the menu is closed in milliseconds
@@ -2072,12 +2411,34 @@ type OptionsResolved = {
2072
2411
  type Options = Partial<OptionsResolved>;
2073
2412
  declare const useLogOnce: (message: string, condition: boolean, options?: Options) => void;
2074
2413
 
2075
- declare const useOutsideClick: <Ts extends RefObject<HTMLElement>[]>(refs: Ts, handler: () => void) => void;
2414
+ declare function useLogUnstableDependencies<T extends Record<string, unknown>>(name: string, value: T): void;
2076
2415
 
2077
2416
  type OverlayItem = {
2078
2417
  id: string;
2079
2418
  tags?: string[];
2080
2419
  };
2420
+ type OverlayItemInformation = OverlayItem & {
2421
+ zIndex: number;
2422
+ position: number;
2423
+ tagPositions: Record<string, number>;
2424
+ };
2425
+ type OverlayRegistryValue = {
2426
+ itemInformation: Record<string, OverlayItemInformation>;
2427
+ tagItemCounts: Record<string, number>;
2428
+ activeId: string | null;
2429
+ };
2430
+ type OverlayRegistryListenerCallback = (value: OverlayRegistryValue) => void;
2431
+ declare class OverlayRegistry {
2432
+ private static instance;
2433
+ static getInstance(): OverlayRegistry;
2434
+ private overlayIds;
2435
+ private overlayItems;
2436
+ private listeners;
2437
+ register(item: OverlayItem): () => void;
2438
+ update(item: OverlayItem): void;
2439
+ addListener(callback: OverlayRegistryListenerCallback): () => void;
2440
+ private notify;
2441
+ }
2081
2442
  type UseOverlayRegistryProps = Partial<OverlayItem> & {
2082
2443
  isActive?: boolean;
2083
2444
  /** Tags cannot change on every render, thus make sure they are wrapped in a useMemo or similar */
@@ -2088,13 +2449,21 @@ type UseOverlayRegistryResult = {
2088
2449
  zIndex?: number;
2089
2450
  position?: number;
2090
2451
  tagPositions?: Record<string, number>;
2091
- hasAppeared: boolean;
2092
2452
  tagItemCounts: Record<string, number>;
2093
2453
  };
2094
2454
  declare const useOverlayRegistry: (props?: UseOverlayRegistryProps) => UseOverlayRegistryResult;
2095
2455
 
2096
2456
  declare const useOverwritableState: <T>(overwriteValue?: T, onChange?: (value: T) => void) => [T, react__default.Dispatch<react__default.SetStateAction<T>>];
2097
2457
 
2458
+ interface UsePresenceRefProps {
2459
+ isOpen?: boolean;
2460
+ }
2461
+ declare const usePresenceRef: <T extends HTMLElement>({ isOpen, }: UsePresenceRefProps) => {
2462
+ isPresent: boolean;
2463
+ ref: react.RefObject<T>;
2464
+ refAssignment: (node: T | null) => void;
2465
+ };
2466
+
2098
2467
  declare const useRerender: () => react.ActionDispatch<[]>;
2099
2468
 
2100
2469
  /**
@@ -2130,18 +2499,14 @@ type TransitionState = 'opened' | 'closed' | 'opening' | 'closing';
2130
2499
  type UseTransitionStateResult = {
2131
2500
  transitionState: TransitionState;
2132
2501
  isVisible: boolean;
2133
- callbacks: {
2134
- onAnimationStart: () => void;
2135
- onAnimationEnd: () => void;
2136
- onTransitionStart: () => void;
2137
- onTransitionEnd: () => void;
2138
- onTransitionCancel: () => void;
2139
- };
2140
2502
  };
2141
2503
  type UseTransitionStateProps = {
2142
2504
  isOpen: boolean;
2505
+ initialState?: TransitionState;
2506
+ ref?: RefObject<HTMLElement>;
2507
+ timeout?: number;
2143
2508
  };
2144
- declare const useTransitionState: ({ isOpen }: UseTransitionStateProps) => UseTransitionStateResult;
2509
+ declare const useTransitionState: ({ isOpen, initialState, ref, timeout: initialTimeout, }: UseTransitionStateProps) => UseTransitionStateResult;
2145
2510
 
2146
2511
  type ValidatorError = 'notEmpty' | 'invalidEmail' | 'tooLong' | 'tooShort' | 'outOfRangeString' | 'outOfRangeNumber' | 'outOfRangeSelectionItems' | 'tooFewSelectionItems' | 'tooManySelectionItems';
2147
2512
  type ValidatorResult = ValidatorError | undefined;
@@ -2262,7 +2627,13 @@ declare class LoopingArrayCalculator {
2262
2627
 
2263
2628
  declare const match: <K extends string | number | symbol, V>(key: K, values: Record<K, V>) => Record<K, V>[K];
2264
2629
 
2265
- declare const clamp: (value: number, range?: [number, number]) => number;
2630
+ type Range = [number, number];
2631
+ type UnBoundedRange = [undefined | number, undefined | number];
2632
+ declare function clamp(value: number, min: number, max: number): number;
2633
+ declare function clamp(value: number, range?: [number, number]): number;
2634
+ declare const MathUtil: {
2635
+ clamp: typeof clamp;
2636
+ };
2266
2637
 
2267
2638
  declare const noop: () => any;
2268
2639
 
@@ -2296,7 +2667,7 @@ declare function click<T>(onClick: () => void): {
2296
2667
  onClick: () => void;
2297
2668
  onKeyDown: react__default.KeyboardEventHandler<T>;
2298
2669
  };
2299
- declare function close<T>(onClose: () => void): react__default.KeyboardEventHandler<T>;
2670
+ declare function close<T>(onClose?: () => void): react__default.KeyboardEventHandler<T>;
2300
2671
  type NavigateType<T> = {
2301
2672
  left?: (event: react__default.KeyboardEvent<T>) => void;
2302
2673
  right?: (event: react__default.KeyboardEvent<T>) => void;
@@ -2304,6 +2675,7 @@ type NavigateType<T> = {
2304
2675
  down?: (event: react__default.KeyboardEvent<T>) => void;
2305
2676
  };
2306
2677
  declare function navigate<T>({ left, right, up, down, }: NavigateType<T>): react__default.KeyboardEventHandler<T>;
2678
+ declare function mergeProps<T extends object, U extends Partial<T>>(slotProps: T, childProps: U): T & U;
2307
2679
  type InteractionStateARIAAttributes = Pick<HTMLAttributes<HTMLDivElement>, 'aria-disabled' | 'aria-invalid' | 'aria-readonly' | 'aria-required'>;
2308
2680
  declare function interactionStatesAria(interactionStates: Partial<FormFieldInteractionStates>, props?: Partial<InteractionStateARIAAttributes>): Partial<InteractionStateARIAAttributes>;
2309
2681
  declare const PropsUtil: {
@@ -2322,6 +2694,7 @@ declare const PropsUtil: {
2322
2694
  navigate: typeof navigate;
2323
2695
  interactionStates: typeof interactionStatesAria;
2324
2696
  };
2697
+ mergeProps: typeof mergeProps;
2325
2698
  };
2326
2699
 
2327
2700
  declare function resolveSetState<T>(action: SetStateAction<T>, prev: T): T;
@@ -2392,4 +2765,4 @@ declare class SessionStorageService extends StorageService {
2392
2765
 
2393
2766
  declare const writeToClipboard: (text: string) => Promise<void>;
2394
2767
 
2395
- export { ASTNodeInterpreter, type ASTNodeInterpreterProps, AnimatedRing, type AnimatedRingProps, ArrayUtil, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type BagFunction, type BagFunctionOrNode, type BagFunctionOrValue, BagFunctionUtil, BreadCrumbGroup, BreadCrumbLink, type BreadCrumbLinkProps, type BreadCrumbProps, BreadCrumbs, Button, type ButtonColor, type ButtonProps, ButtonUtil, Carousel, type CarouselProps, CarouselSlide, type CarouselSlideProps, Checkbox, CheckboxProperty, type CheckboxPropertyProps, type CheckboxProps, CheckboxUncontrolled, type CheckboxUncontrolledProps, Chip, type ChipColor, ChipList, type ChipListProps, type ChipProps, ChipUtil, Circle, type CircleProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogType, CopyToClipboardWrapper, type CopyToClipboardWrapperProps, type Crumb, DatePicker, type DatePickerProps, DatePickerUncontrolled, DateProperty, type DatePropertyProps, DateTimeInput, type DateTimeInputProps, DateTimeInputUncontrolled, DateTimePicker, type DateTimePickerMode, type DateTimePickerProps, DateTimePickerUncontrolled, DateUtils, DayPicker, type DayPickerProps, DayPickerUncontrolled, type DeepPartial, Dialog, type DialogPosition, type DialogProps, type Direction, DiscardChangesDialog, DividerInserter, type DividerInserterProps, Drawer, type DrawerAligment, type DrawerProps, Duration, type DurationJSON, type EaseFunction, EaseFunctions, type EditCompleteOptions, type EditCompleteOptionsResolved, ErrorComponent, type ErrorComponentProps, type Exact, Expandable, ExpandableContent, type ExpandableContentProps, ExpandableHeader, type ExpandableHeaderProps, type ExpandableProps, ExpandableRoot, type ExpandableRootProps, ExpandableUncontrolled, ExpansionIcon, type ExpansionIconProps, type FAQItem, FAQSection, type FAQSectionProps, FillerCell, type FillerCellProps, FloatingContainer, type FloatingContainerProps, type FloatingElementAlignment, FocusTrap, type FocusTrapProps, FormContext, type FormContextType, type FormEvent, type FormEventListener, FormField, type FormFieldAriaAttributes, type FormFieldBag, type FormFieldDataHandling, type FormFieldFocusableElementProps, type FormFieldInteractionStates, FormFieldLayout, type FormFieldLayoutBag, type FormFieldLayoutIds, type FormFieldLayoutProps, type FormFieldProps, type FormFieldResult, FormProvider, type FormProviderProps, FormStore, type FormStoreProps, type FormValidationBehaviour, type FormValidator, type FormValue, HelpwaveBadge, type HelpwaveBadgeProps, HelpwaveLogo, type HelpwaveProps, type HighlightStartPositionBehavior, type HightideConfig, HightideConfigContext, HightideConfigProvider, type HightideConfigProviderProps, HightideProvider, type HightideTranslationEntries, type HightideTranslationLocales, InfiniteScroll, type InfiniteScrollProps, Input, InputDialog, type InputModalProps, type InputProps, InputUncontrolled, InsideLabelInput, InsideLabelInputUncontrolled, LanguageDialog, ListBox, ListBoxItem, type ListBoxItemProps, ListBoxMultiple, type ListBoxMultipleProps, ListBoxMultipleUncontrolled, type ListBoxMultipleUncontrolledProps, ListBoxPrimitive, type ListBoxPrimitiveProps, type ListBoxProps, ListBoxUncontrolled, type ListBoxUncontrolledProps, LoadingAndErrorComponent, type LoadingAndErrorComponentProps, LoadingAnimation, type LoadingAnimationProps, type LoadingComponentProps, LoadingContainer, LocalStorageService, LocaleContext, type LocaleContextValue, LocaleProvider, type LocaleProviderProps, type LocalizationConfig, LocalizationUtil, LoopingArrayCalculator, MarkdownInterpreter, type MarkdownInterpreterProps, Menu, type MenuBag, MenuItem, type MenuItemProps, type MenuProps, type Month, MultiSearchWithMapping, MultiSelect, MultiSelectButton, type MultiSelectButtonProps, MultiSelectChipDisplay, MultiSelectChipDisplayButton, type MultiSelectChipDisplayProps, MultiSelectChipDisplayUncontrolled, type MultiSelectChipDisplayUncontrolledProps, MultiSelectContent, type MultiSelectContentProps, MultiSelectOption, type MultiSelectOptionProps, MultiSelectProperty, type MultiSelectPropertyProps, type MultiSelectProps, MultiSelectRoot, type MultiSelectRootProps, MultiSelectUncontrolled, MultiSubjectSearchWithMapping, Navigation, NavigationItemList, type NavigationItemListProps, type NavigationItemType, type NavigationProps, NumberProperty, type NumberPropertyProps, type OverlayItem, Pagination, type PaginationProps, type PopoverHorizontalAlignment, type PopoverVerticalAlignment, ProgressIndicator, type ProgressIndicatorProps, PromiseUtils, PropertyBase, type PropertyBaseProps, type PropertyField, PropsUtil, type PropsWithBagFunction, type PropsWithBagFunctionOrChildren, RadialRings, type RadialRingsProps, type RangeOptions, type ResolvedTheme, Ring, type RingProps, RingWave, type RingWaveProps, ScrollPicker, type ScrollPickerProps, SearchBar, type SearchBarProps, Select, SelectButton, type SelectButtonProps, SelectContent, type SelectContentProps, SelectContext, type SelectIconAppearance, SelectOption, type SelectOptionProps, type SelectProps, SelectRoot, type SelectRootProps, SelectUncontrolled, type SelectUncontrolledProps, SessionStorageService, type SharedSelectRootProps, SimpleSearch, SimpleSearchWithMapping, type SingleOrArray, SingleSelectProperty, type SingleSelectPropertyProps, StepperBar, type StepperBarProps, StepperBarUncontrolled, type StepperState, type SuperSet, type TabContextType, type TabInfo, TabList, TabPanel, TabSwitcher, type TabSwitcherProps, TabView, Table, TableCell, type TableCellProps, TableFilterButton, type TableFilterButtonProps, type TableFilterType, TableFilters, type TableProps, TableSortButton, type TableSortButtonProps, TableUncontrolled, type TableUncontrolledProps, TableWithSelection, type TableWithSelectionProps, TagIcon, type TagProps, TextImage, type TextImageProps, TextProperty, type TextPropertyProps, Textarea, type TextareaProps, TextareaUncontrolled, TextareaWithHeadline, type TextareaWithHeadlineProps, type ThemeConfig, ThemeContext, ThemeDialog, ThemeProvider, type ThemeProviderProps, type ThemeType, ThemeUtil, TimeDisplay, TimePicker, type TimePickerMinuteIncrement, type TimePickerProps, TimePickerUncontrolled, ToggleableInput, ToggleableInputUncontrolled, Tooltip, type TooltipConfig, type TooltipProps, Transition, type TransitionState, type TransitionWrapperProps, type UseCreateFormProps, type UseCreateFormResult, type UseDelayOptions, type UseDelayOptionsResolved, type UseFloatingElementOptions, type UseFloatingElementProps, type UseFocusTrapProps, type UseFormFieldOptions, type UseOverlayRegistryProps, type UseOverlayRegistryResult, type UseSearchProps, UseValidators, type ValidatorError, type ValidatorResult, VerticalDivider, type VerticalDividerProps, Visibility, type VisibilityProps, type WeekDay, YearMonthPicker, type YearMonthPickerProps, YearMonthPickerUncontrolled, addDuration, builder, changeDuration, clamp, closestMatch, createLoopingList, createLoopingListWithIndex, equalSizeGroups, formatDate, formatDateTime, getBetweenDuration, getNeighbours, getWeeksForCalenderMonth, hightideTranslation, hightideTranslationLocales, isInTimeSpan, match, noop, range, resolveSetState, subtractDuration, useCreateForm, useDelay, useFloatingElement, useFocusGuards, useFocusManagement, useFocusOnceVisible, useFocusTrap, useForm, useFormField, useHightideConfig, useHightideTranslation, useHoverState, useICUTranslation, useIsMounted, useLanguage, useLocalStorage, useLocale, useLogOnce, useOutsideClick, useOverlayRegistry, useOverwritableState, usePopoverPosition, useRerender, useResizeCallbackWrapper, useSearch, useSelectContext, useTabContext, useTheme, useTransitionState, useTranslatedValidators, validateEmail, writeToClipboard };
2768
+ export { ASTNodeInterpreter, type ASTNodeInterpreterProps, AnchoredFloatingContainer, type AnchoredFloatingContainerProps, AnimatedRing, type AnimatedRingProps, ArrayUtil, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type BackgroundOverlayProps, type BagFunction, type BagFunctionOrNode, type BagFunctionOrValue, BagFunctionUtil, BooleanFilter, type BooleanFilterParameter, type BooleanFilterProps, type BooleanFilterValue, BreadCrumbGroup, BreadCrumbLink, type BreadCrumbLinkProps, type BreadCrumbProps, BreadCrumbs, Button, type ButtonColor, type ButtonProps, ButtonUtil, Carousel, type CarouselProps, CarouselSlide, type CarouselSlideProps, Checkbox, CheckboxProperty, type CheckboxPropertyProps, type CheckboxProps, CheckboxUncontrolled, type CheckboxUncontrolledProps, Chip, type ChipColor, ChipList, type ChipListProps, type ChipProps, ChipUtil, Circle, type CircleProps, type ColumnSizeCalculatoProps, ColumnSizeUtil, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogType, type ControlledStateProps, CopyToClipboardWrapper, type CopyToClipboardWrapperProps, type Crumb, DateFilter, type DateFilterParameter, type DateFilterProps, type DateFilterValue, DatePicker, type DatePickerProps, DatePickerUncontrolled, DateProperty, type DatePropertyProps, DateTimeInput, type DateTimeInputHandle, type DateTimeInputProps, DateTimePicker, DateTimePickerDialog, type DateTimePickerDialogProps, type DateTimePickerMode, type DateTimePickerProps, DateTimePickerUncontrolled, DateUtils, DayPicker, type DayPickerProps, DayPickerUncontrolled, type DeepPartial, Dialog, DialogContext, type DialogContextType, type DialogOpenerPassingProps, DialogOpenerWrapper, type DialogOpenerWrapperBag, type DialogOpenerWrapperProps, type DialogPosition, type DialogProps, DialogRoot, type DialogRootProps, type Direction, DiscardChangesDialog, DividerInserter, type DividerInserterProps, Drawer, type DrawerAligment, type DrawerProps, Duration, type DurationJSON, type EaseFunction, EaseFunctions, type EditCompleteOptions, type EditCompleteOptionsResolved, type ElementHandle, ErrorComponent, type ErrorComponentProps, type Exact, Expandable, ExpandableContent, type ExpandableContentProps, ExpandableHeader, type ExpandableHeaderProps, type ExpandableProps, ExpandableRoot, type ExpandableRootProps, ExpandableUncontrolled, ExpansionIcon, type ExpansionIconProps, type FAQItem, FAQSection, type FAQSectionProps, FillerCell, type FillerCellProps, type FloatingElementAlignment, FocusTrap, type FocusTrapProps, FocusTrapWrapper, type FocusTrapWrapperProps, FormContext, type FormContextType, type FormEvent, type FormEventListener, FormField, type FormFieldAriaAttributes, type FormFieldBag, type FormFieldDataHandling, type FormFieldFocusableElementProps, type FormFieldInteractionStates, FormFieldLayout, type FormFieldLayoutBag, type FormFieldLayoutIds, type FormFieldLayoutProps, type FormFieldProps, type FormFieldResult, FormProvider, type FormProviderProps, FormStore, type FormStoreProps, type FormValidationBehaviour, type FormValidator, type FormValue, GenericFilter, type GenericFilterParameter, type GenericFilterProps, type GenericFilterValue, HelpwaveBadge, type HelpwaveBadgeProps, HelpwaveLogo, type HelpwaveProps, type HighlightStartPositionBehavior, type HightideConfig, HightideConfigContext, HightideConfigProvider, type HightideConfigProviderProps, HightideProvider, type HightideTranslationEntries, type HightideTranslationLocales, InfiniteScroll, type InfiniteScrollProps, Input, InputDialog, type InputModalProps, type InputProps, InputUncontrolled, InsideLabelInput, InsideLabelInputUncontrolled, LanguageDialog, ListBox, ListBoxItem, type ListBoxItemProps, ListBoxMultiple, type ListBoxMultipleProps, ListBoxMultipleUncontrolled, type ListBoxMultipleUncontrolledProps, ListBoxPrimitive, type ListBoxPrimitiveProps, type ListBoxProps, ListBoxUncontrolled, type ListBoxUncontrolledProps, LoadingAndErrorComponent, type LoadingAndErrorComponentProps, LoadingAnimation, type LoadingAnimationProps, type LoadingComponentProps, LoadingContainer, LocalStorageService, LocaleContext, type LocaleContextValue, LocaleProvider, type LocaleProviderProps, type LocalizationConfig, LocalizationUtil, LoopingArrayCalculator, MarkdownInterpreter, type MarkdownInterpreterProps, MathUtil, Menu, type MenuBag, MenuItem, type MenuItemProps, type MenuProps, type Month, MultiSearchWithMapping, MultiSelect, MultiSelectButton, type MultiSelectButtonProps, MultiSelectChipDisplay, MultiSelectChipDisplayButton, type MultiSelectChipDisplayProps, MultiSelectChipDisplayUncontrolled, type MultiSelectChipDisplayUncontrolledProps, MultiSelectContent, type MultiSelectContentProps, MultiSelectOption, type MultiSelectOptionProps, MultiSelectProperty, type MultiSelectPropertyProps, type MultiSelectProps, MultiSelectRoot, type MultiSelectRootProps, MultiSelectUncontrolled, MultiSubjectSearchWithMapping, Navigation, NavigationItemList, type NavigationItemListProps, type NavigationItemType, type NavigationProps, NumberFilter, type NumberFilterParameter, type NumberFilterProps, type NumberFilterValue, NumberProperty, type NumberPropertyProps, OperatorLabel, type OperatorLabelProps, type OverlayItem, OverlayRegistry, Pagination, type PaginationProps, PopUp, PopUpContext, type PopUpContextType, PopUpOpener, type PopUpOpenerBag, type PopUpOpenerProps, type PopUpProps, PopUpRoot, type PopUpRootProps, Portal, type PortalProps, ProgressIndicator, type ProgressIndicatorProps, PromiseUtils, PropertyBase, type PropertyBaseProps, type PropertyField, PropsUtil, type PropsWithBagFunction, type PropsWithBagFunctionOrChildren, RadialRings, type RadialRingsProps, type Range, type RangeOptions, type ResolvedTheme, Ring, type RingProps, RingWave, type RingWaveProps, ScrollPicker, type ScrollPickerProps, SearchBar, type SearchBarProps, Select, SelectButton, type SelectButtonProps, SelectContent, type SelectContentProps, SelectContext, type SelectIconAppearance, SelectOption, type SelectOptionProps, type SelectProps, SelectRoot, type SelectRootProps, SelectUncontrolled, type SelectUncontrolledProps, SessionStorageService, type SharedSelectRootProps, SimpleSearch, SimpleSearchWithMapping, type SingleOrArray, SingleSelectProperty, type SingleSelectPropertyProps, StepperBar, type StepperBarProps, StepperBarUncontrolled, type StepperState, type SuperSet, type TabContextType, type TabInfo, TabList, TabPanel, TabSwitcher, type TabSwitcherProps, TabView, Table, TableBody, type TableBooleanFilter, TableCell, type TableCellProps, TableColumn, TableColumnDefinitionContext, type TableColumnDefinitionContextType, type TableColumnProps, TableColumnSwitcher, TableColumnSwitcherPopUp, type TableColumnSwitcherPopUpProps, type TableColumnSwitcherProps, TableContainerContext, type TableContainerContextType, TableDataContext, type TableDataContextType, type TableDateFilter, TableDisplay, type TableDisplayProps, TableFilter, type TableFilterBaseProps, TableFilterButton, type TableFilterButtonProps, type TableFilterCategory, TableFilterContent, type TableFilterContentProps, TableFilterOperator, type TableFilterType, type TableFilterValue, type TableGenericFilter, TableHeader, TableHeaderContext, type TableHeaderContextType, type TableHeaderProps, type TableNumberFilter, TablePageSizeSelect, type TablePageSizeSelectProps, TablePagination, TablePaginationMenu, type TablePaginationProps, type TableProps, TableProvider, type TableProviderProps, TableSortButton, type TableSortButtonProps, type TableTagsFilter, type TableTextFilter, TableWithSelection, type TableWithSelectionProps, TableWithSelectionProvider, type TableWithSelectionProviderProps, TagIcon, type TagProps, TagsFilter, type TagsFilterParameter, type TagsFilterProps, type TagsFilterValue, TextFilter, type TextFilterParameter, type TextFilterProps, type TextFilterValue, TextImage, type TextImageProps, TextProperty, type TextPropertyProps, Textarea, type TextareaProps, TextareaUncontrolled, TextareaWithHeadline, type TextareaWithHeadlineProps, type ThemeConfig, ThemeContext, ThemeDialog, ThemeProvider, type ThemeProviderProps, type ThemeType, ThemeUtil, TimeDisplay, TimePicker, type TimePickerMinuteIncrement, type TimePickerProps, TimePickerUncontrolled, ToggleableInput, ToggleableInputUncontrolled, Tooltip, type TooltipConfig, type TooltipProps, Transition, type TransitionState, type TransitionWrapperProps, type UnBoundedRange, type UseAnchoredPositionOptions, type UseAnchoredPostitionProps, type UseCreateFormProps, type UseCreateFormResult, type UseDelayOptions, type UseDelayOptionsResolved, type UseFocusTrapProps, type UseFormFieldOptions, type UseOutsideClickHandlers, type UseOutsideClickOptions, type UseOutsideClickProps, type UseOverlayRegistryProps, type UseOverlayRegistryResult, type UsePresenceRefProps, type UseSearchProps, UseValidators, type ValidatorError, type ValidatorResult, VerticalDivider, type VerticalDividerProps, Visibility, type VisibilityProps, type WeekDay, YearMonthPicker, type YearMonthPickerProps, YearMonthPickerUncontrolled, addDuration, builder, changeDuration, closestMatch, createLoopingList, createLoopingListWithIndex, equalSizeGroups, formatDate, formatDateTime, getBetweenDuration, getNeighbours, getWeeksForCalenderMonth, hightideTranslation, hightideTranslationLocales, isInTimeSpan, isTableFilterCategory, match, mergeProps, noop, range, resolveSetState, subtractDuration, toSizeVars, useAnchoredPosition, useControlledState, useCreateForm, useDelay, useDialogContext, useFocusGuards, useFocusManagement, useFocusOnceVisible, useFocusTrap, useForm, useFormField, useHandleRefs, useHightideConfig, useHightideTranslation, useHoverState, useICUTranslation, useIsMounted, useLanguage, useLocalStorage, useLocale, useLogOnce, useLogUnstableDependencies, useOutsideClick, useOverlayRegistry, useOverwritableState, usePopUpContext, usePresenceRef, useRerender, useResizeCallbackWrapper, useSearch, useSelectContext, useTabContext, useTableColumnDefinitionContext, useTableContainerContext, useTableDataContext, useTableHeaderContext, useTheme, useTransitionState, useTranslatedValidators, validateEmail, writeToClipboard };