@amboss/design-system 4.9.4 → 4.10.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.
Files changed (201) hide show
  1. package/build/cjs/components/CheckboxCard/CheckboxCard.d.ts +1 -1
  2. package/build/cjs/components/Content/ContentCheckbox/ContentCheckbox.d.ts +1 -1
  3. package/build/cjs/components/Content/ContentCitation/ContentCitation.d.ts +3 -3
  4. package/build/cjs/components/Content/ContentFontResizer/FontSizeOffsetContext.d.ts +1 -1
  5. package/build/cjs/components/Content/ContentText/ContentText.d.ts +1 -1
  6. package/build/cjs/components/Content/DosageButton/DosageButton.d.ts +1 -1
  7. package/build/cjs/components/DataTable/DataTable.d.ts +3 -2
  8. package/build/cjs/components/DataTable/TableCell.d.ts +1 -1
  9. package/build/cjs/components/DataTable/internal/tablePrimitives.d.ts +3 -3
  10. package/build/cjs/components/EntityList/styled-components.d.ts +8 -8
  11. package/build/cjs/components/Form/Checkbox/Checkbox.d.ts +2 -2
  12. package/build/cjs/components/Form/Combobox/StyledSelectComponents.d.ts +4 -4
  13. package/build/cjs/components/Form/DatePicker/DatePicker.d.ts +1 -1
  14. package/build/cjs/components/Form/MaskedInput/MaskedInput.d.ts +1 -1
  15. package/build/cjs/components/Form/Radio/Radio.d.ts +2 -2
  16. package/build/cjs/components/Form/RangeInput/RangeInput.d.ts +1 -1
  17. package/build/cjs/components/Form/Textarea/Textarea.d.ts +2 -2
  18. package/build/cjs/components/Form/Toggle/Toggle.d.ts +3 -3
  19. package/build/cjs/components/Form/ToggleButton/ToggleButton.d.ts +1 -1
  20. package/build/cjs/components/Grid/Grid.d.ts +1 -1
  21. package/build/cjs/components/Internal/Drawer/Drawer.js +3 -3
  22. package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.d.ts +13 -1
  23. package/build/cjs/components/Internal/LayoutFloat/useLayoutFloatDrag.d.ts +1 -1
  24. package/build/cjs/components/Internal/Panel/Panel.d.ts +5 -3
  25. package/build/cjs/components/Internal/Panel/Panel.js +1 -1
  26. package/build/cjs/components/Internal/PanelHeader/PanelHeader.d.ts +1 -1
  27. package/build/cjs/components/Internal/PanelHeader/PanelHeader.js +1 -1
  28. package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  29. package/build/cjs/components/Layout/-constants.d.ts +10 -0
  30. package/build/cjs/components/Layout/-constants.js +1 -1
  31. package/build/cjs/components/Layout/-types.d.ts +35 -11
  32. package/build/cjs/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.d.ts +18 -0
  33. package/build/cjs/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.js +1 -0
  34. package/build/cjs/components/Layout/BottomBar/LayoutBottomBar.d.ts +3 -0
  35. package/build/cjs/components/Layout/BottomBar/LayoutBottomBar.js +1 -0
  36. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBar.d.ts +11 -0
  37. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBar.js +1 -0
  38. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBarSection.d.ts +13 -0
  39. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBarSection.js +1 -0
  40. package/build/cjs/components/Layout/BottomBar/getBottomBarLayout.d.ts +42 -0
  41. package/build/cjs/components/Layout/BottomBar/getBottomBarLayout.js +1 -0
  42. package/build/cjs/components/Layout/Layout.d.ts +4 -0
  43. package/build/cjs/components/Layout/Layout.js +1 -1
  44. package/build/cjs/components/Layout/LayoutCssVars.d.ts +1 -1
  45. package/build/cjs/components/Layout/LayoutCssVars.js +1 -1
  46. package/build/cjs/components/Layout/LayoutPortal.d.ts +7 -0
  47. package/build/cjs/components/Layout/LayoutPortal.js +1 -0
  48. package/build/cjs/components/Layout/LayoutProvider.js +1 -1
  49. package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +3 -4
  50. package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -1
  51. package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  52. package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +1 -1
  53. package/build/cjs/components/Layout/PanelContainer.d.ts +1 -1
  54. package/build/cjs/components/Layout/PanelContainer.js +1 -1
  55. package/build/cjs/components/Layout/RightPanel/RightPanel.js +1 -1
  56. package/build/cjs/components/Layout/Split/MobileSplitView/MobileSplitView.js +1 -1
  57. package/build/cjs/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.d.ts +1 -1
  58. package/build/cjs/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  59. package/build/cjs/components/Layout/Split/Split.js +1 -1
  60. package/build/cjs/components/Layout/Split/SplitDocked.js +1 -1
  61. package/build/cjs/components/Layout/context.d.ts +2 -2
  62. package/build/cjs/components/Layout/cssVarStore.d.ts +10 -3
  63. package/build/cjs/components/Layout/cssVarStore.js +1 -1
  64. package/build/cjs/components/Layout/registry.d.ts +13 -9
  65. package/build/cjs/components/Layout/useLayout.js +1 -1
  66. package/build/cjs/components/Layout/useLeftPanelId.d.ts +1 -1
  67. package/build/cjs/components/Layout/usePanelAnimations.d.ts +12 -0
  68. package/build/cjs/components/Layout/usePanelAnimations.js +1 -0
  69. package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -1
  70. package/build/cjs/components/NavBar/NavBar.d.ts +14 -18
  71. package/build/cjs/components/NavBar/NavBarContext.d.ts +1 -1
  72. package/build/cjs/components/NavBar/NavBarDropdownTriggerButton.d.ts +1 -1
  73. package/build/cjs/components/Patterns/Dialog/DialogContext.d.ts +1 -1
  74. package/build/cjs/components/Patterns/EmptyState/EmptyState.d.ts +2 -2
  75. package/build/cjs/components/Patterns/Modal/Modal.d.ts +4 -2
  76. package/build/cjs/components/Patterns/Popover/PopoverContext.d.ts +1 -1
  77. package/build/cjs/components/PromptInput/PromptInput.d.ts +1 -1
  78. package/build/cjs/components/RadioCard/RadioCard.d.ts +1 -1
  79. package/build/cjs/components/SearchResult/SearchResult.d.ts +3 -1
  80. package/build/cjs/components/Sheet/Sheet.js +1 -1
  81. package/build/cjs/components/Sheet/useSheetHeightSync.d.ts +26 -0
  82. package/build/cjs/components/Sheet/useSheetHeightSync.js +1 -0
  83. package/build/cjs/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  84. package/build/cjs/components/Tooltip/FloatingPositionedContext.d.ts +1 -1
  85. package/build/cjs/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  86. package/build/cjs/components/Utilities/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  87. package/build/cjs/shared/components/SelectableButton.d.ts +1 -1
  88. package/build/cjs/shared/useExitAnimation.js +1 -0
  89. package/build/cjs/web-tokens/layout-vars.d.ts +7 -0
  90. package/build/cjs/web-tokens/layout-vars.js +1 -1
  91. package/build/cjs/web-tokens/layout-vars.ts +7 -0
  92. package/build/cjs/web-tokens/visualConfig.d.ts +39 -0
  93. package/build/cjs/web-tokens/visualConfig.js +1 -1
  94. package/build/esm/components/CheckboxCard/CheckboxCard.d.ts +1 -1
  95. package/build/esm/components/Content/ContentCheckbox/ContentCheckbox.d.ts +1 -1
  96. package/build/esm/components/Content/ContentCitation/ContentCitation.d.ts +3 -3
  97. package/build/esm/components/Content/ContentFontResizer/FontSizeOffsetContext.d.ts +1 -1
  98. package/build/esm/components/Content/ContentText/ContentText.d.ts +1 -1
  99. package/build/esm/components/Content/DosageButton/DosageButton.d.ts +1 -1
  100. package/build/esm/components/DataTable/DataTable.d.ts +3 -2
  101. package/build/esm/components/DataTable/TableCell.d.ts +1 -1
  102. package/build/esm/components/DataTable/internal/tablePrimitives.d.ts +3 -3
  103. package/build/esm/components/EntityList/styled-components.d.ts +8 -8
  104. package/build/esm/components/Form/Checkbox/Checkbox.d.ts +2 -2
  105. package/build/esm/components/Form/Combobox/StyledSelectComponents.d.ts +4 -4
  106. package/build/esm/components/Form/DatePicker/DatePicker.d.ts +1 -1
  107. package/build/esm/components/Form/MaskedInput/MaskedInput.d.ts +1 -1
  108. package/build/esm/components/Form/Radio/Radio.d.ts +2 -2
  109. package/build/esm/components/Form/RangeInput/RangeInput.d.ts +1 -1
  110. package/build/esm/components/Form/Textarea/Textarea.d.ts +2 -2
  111. package/build/esm/components/Form/Toggle/Toggle.d.ts +3 -3
  112. package/build/esm/components/Form/ToggleButton/ToggleButton.d.ts +1 -1
  113. package/build/esm/components/Grid/Grid.d.ts +1 -1
  114. package/build/esm/components/Internal/Drawer/Drawer.js +3 -3
  115. package/build/esm/components/Internal/LayoutFloat/LayoutFloat.d.ts +13 -1
  116. package/build/esm/components/Internal/LayoutFloat/useLayoutFloatDrag.d.ts +1 -1
  117. package/build/esm/components/Internal/Panel/Panel.d.ts +5 -3
  118. package/build/esm/components/Internal/Panel/Panel.js +1 -1
  119. package/build/esm/components/Internal/PanelHeader/PanelHeader.d.ts +1 -1
  120. package/build/esm/components/Internal/PanelHeader/PanelHeader.js +1 -1
  121. package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  122. package/build/esm/components/Layout/-constants.d.ts +10 -0
  123. package/build/esm/components/Layout/-constants.js +1 -1
  124. package/build/esm/components/Layout/-types.d.ts +35 -11
  125. package/build/esm/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.d.ts +18 -0
  126. package/build/esm/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.js +1 -0
  127. package/build/esm/components/Layout/BottomBar/LayoutBottomBar.d.ts +3 -0
  128. package/build/esm/components/Layout/BottomBar/LayoutBottomBar.js +1 -0
  129. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBar.d.ts +11 -0
  130. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBar.js +1 -0
  131. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBarSection.d.ts +13 -0
  132. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBarSection.js +1 -0
  133. package/build/esm/components/Layout/BottomBar/getBottomBarLayout.d.ts +42 -0
  134. package/build/esm/components/Layout/BottomBar/getBottomBarLayout.js +1 -0
  135. package/build/esm/components/Layout/Layout.d.ts +4 -0
  136. package/build/esm/components/Layout/Layout.js +1 -1
  137. package/build/esm/components/Layout/LayoutCssVars.d.ts +1 -1
  138. package/build/esm/components/Layout/LayoutCssVars.js +1 -1
  139. package/build/esm/components/Layout/LayoutPortal.d.ts +7 -0
  140. package/build/esm/components/Layout/LayoutPortal.js +1 -0
  141. package/build/esm/components/Layout/LayoutProvider.js +1 -1
  142. package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +3 -4
  143. package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -1
  144. package/build/esm/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  145. package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +1 -1
  146. package/build/esm/components/Layout/PanelContainer.d.ts +1 -1
  147. package/build/esm/components/Layout/PanelContainer.js +1 -1
  148. package/build/esm/components/Layout/RightPanel/RightPanel.js +1 -1
  149. package/build/esm/components/Layout/Split/MobileSplitView/MobileSplitView.js +1 -1
  150. package/build/esm/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.d.ts +1 -1
  151. package/build/esm/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  152. package/build/esm/components/Layout/Split/Split.js +1 -1
  153. package/build/esm/components/Layout/Split/SplitDocked.js +1 -1
  154. package/build/esm/components/Layout/context.d.ts +2 -2
  155. package/build/esm/components/Layout/cssVarStore.d.ts +10 -3
  156. package/build/esm/components/Layout/cssVarStore.js +1 -1
  157. package/build/esm/components/Layout/registry.d.ts +13 -9
  158. package/build/esm/components/Layout/useLayout.js +1 -1
  159. package/build/esm/components/Layout/useLeftPanelId.d.ts +1 -1
  160. package/build/esm/components/Layout/usePanelAnimations.d.ts +12 -0
  161. package/build/esm/components/Layout/usePanelAnimations.js +1 -0
  162. package/build/esm/components/Layout/usePanelDockedSlide.js +1 -1
  163. package/build/esm/components/NavBar/NavBar.d.ts +14 -18
  164. package/build/esm/components/NavBar/NavBarContext.d.ts +1 -1
  165. package/build/esm/components/NavBar/NavBarDropdownTriggerButton.d.ts +1 -1
  166. package/build/esm/components/Patterns/Dialog/DialogContext.d.ts +1 -1
  167. package/build/esm/components/Patterns/EmptyState/EmptyState.d.ts +2 -2
  168. package/build/esm/components/Patterns/Modal/Modal.d.ts +4 -2
  169. package/build/esm/components/Patterns/Popover/PopoverContext.d.ts +1 -1
  170. package/build/esm/components/PromptInput/PromptInput.d.ts +1 -1
  171. package/build/esm/components/RadioCard/RadioCard.d.ts +1 -1
  172. package/build/esm/components/SearchResult/SearchResult.d.ts +3 -1
  173. package/build/esm/components/Sheet/Sheet.js +1 -1
  174. package/build/esm/components/Sheet/useSheetHeightSync.d.ts +26 -0
  175. package/build/esm/components/Sheet/useSheetHeightSync.js +1 -0
  176. package/build/esm/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  177. package/build/esm/components/Tooltip/FloatingPositionedContext.d.ts +1 -1
  178. package/build/esm/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  179. package/build/esm/components/Utilities/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  180. package/build/esm/shared/components/SelectableButton.d.ts +1 -1
  181. package/build/esm/shared/useExitAnimation.js +1 -0
  182. package/build/esm/web-tokens/layout-vars.d.ts +7 -0
  183. package/build/esm/web-tokens/layout-vars.js +1 -1
  184. package/build/esm/web-tokens/layout-vars.ts +7 -0
  185. package/build/esm/web-tokens/visualConfig.d.ts +39 -0
  186. package/build/esm/web-tokens/visualConfig.js +1 -1
  187. package/build/scss/_layout.scss +14 -0
  188. package/build/scss/_variables.scss +6 -0
  189. package/package.json +9 -10
  190. package/build/cjs/components/Internal/Drawer/useExitAnimation.js +0 -1
  191. package/build/cjs/shared/isWithinScrolledElement.d.ts +0 -1
  192. package/build/cjs/shared/isWithinScrolledElement.js +0 -1
  193. package/build/cjs/shared/useDragDown.d.ts +0 -14
  194. package/build/cjs/shared/useDragDown.js +0 -1
  195. package/build/esm/components/Internal/Drawer/useExitAnimation.js +0 -1
  196. package/build/esm/shared/isWithinScrolledElement.d.ts +0 -1
  197. package/build/esm/shared/isWithinScrolledElement.js +0 -1
  198. package/build/esm/shared/useDragDown.d.ts +0 -14
  199. package/build/esm/shared/useDragDown.js +0 -1
  200. /package/build/cjs/{components/Internal/Drawer → shared}/useExitAnimation.d.ts +0 -0
  201. /package/build/esm/{components/Internal/Drawer → shared}/useExitAnimation.d.ts +0 -0
@@ -15,4 +15,4 @@ export declare const CheckboxCard: React.ForwardRefExoticComponent<{
15
15
  renderContent?: (params: {
16
16
  isSelected: boolean;
17
17
  }) => React.ReactNode;
18
- } & Omit<CheckboxProps, "errorMessages" | "hint" | "hideLabel" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
18
+ } & Omit<CheckboxProps, "errorMessages" | "hideLabel" | "hint" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
@@ -16,4 +16,4 @@ export declare const ContentCheckbox: React.ForwardRefExoticComponent<{
16
16
  /** Adds extra spacing around the checkbox to accomodate a label with larger line height */
17
17
  isSpacedOut?: boolean;
18
18
  "data-e2e-test-id"?: string;
19
- } & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
19
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -20,7 +20,7 @@ export type ContentCitationProps = {
20
20
  */
21
21
  export declare function ContentCitation({ children, color, isSpacedOut, as, "data-e2e-test-id": dataE2eTestId, }: ContentCitationProps): React.ReactElement;
22
22
  export declare namespace ContentCitation {
23
- var Title: typeof ContentCitationTitle;
24
- var Link: typeof ContentCitationLink;
25
- var LookupLink: typeof ContentCitationLookupLink;
23
+ export { ContentCitationTitle as Title };
24
+ export { ContentCitationLink as Link };
25
+ export { ContentCitationLookupLink as LookupLink };
26
26
  }
@@ -1,2 +1,2 @@
1
1
  export type FontSizeOffset = number;
2
- export declare const FontSizeOffsetContext: React.Context<number>;
2
+ export declare const FontSizeOffsetContext: import("react").Context<number>;
@@ -7,6 +7,6 @@ export type ContentTextProps = TypographyTextProps & {
7
7
  /** Provides additional line-height */
8
8
  isSpacedOut?: boolean;
9
9
  };
10
- export declare const ContentTextContext: React.Context<Pick<ContentTextProps, "color" | "size" | "weight" | "isSpacedOut"> | null>;
10
+ export declare const ContentTextContext: React.Context<Pick<ContentTextProps, "color" | "isSpacedOut" | "size" | "weight"> | null>;
11
11
  export declare const CONTENT_TEXT_LINE_HEIGHT_OFFSET = 0.14;
12
12
  export declare function ContentText({ size, color, weight, isSpacedOut, children, ...rest }: ContentTextProps): React.ReactElement;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  export type DosageButtonProps = React.ComponentPropsWithRef<"button">;
3
3
  export declare const DosageButton: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
4
- ref?: ((instance: HTMLButtonElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLButtonElement> | null | undefined;
4
+ ref?: React.RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | null | undefined;
5
5
  }, "ref"> & React.RefAttributes<HTMLButtonElement>>;
@@ -1,6 +1,7 @@
1
1
  import type { ReactElement, ReactNode } from "react";
2
2
  import type { MQ } from "../../types";
3
3
  import type { DataTableColumn, DataTableColumnOrGroup, DataTableRow, DataTableRowProps, DataTableSlotProps } from "./types";
4
+ import { defaultSortCompareFn } from "./useDataTableSort";
4
5
  import { DataTableToolbar } from "./DataTableToolbar/DataTableToolbar";
5
6
  type DataTablePropsBase = {
6
7
  /** Screen reader text for table caption */
@@ -143,7 +144,7 @@ export type DataTableProps = DataTablePropsBase & (DataTableSelectableProps | Da
143
144
  export declare function BaseDataTable({ caption, columns, rows, footer, currentlySortedByColumn, isFirstColumnSticky, isLastColumnSticky, "data-e2e-test-id": dataE2eTestId, isLoading, loadingStateScreenReaderText, isEmpty, slotProps, children, emptyTableContentHeight, layout, width, bodyCellVerticalPadding, emptyCellContent, maxHeight, isSelectable, selectedRowIds, allRowsSelected, selectAllRowsCheckboxAriaLabel, getRowProps, onRowSelectionChange, onAllRowsSelectionChange, isExpandable, expandedRowIds: expandedRowIdsProp, onRowExpansionChange, expandRowAriaLabel, collapseRowAriaLabel, onSort, ...ariaAttributes }: DataTableProps): ReactElement;
144
145
  export declare function DataTable({ children, ...rest }: DataTableProps): ReactElement;
145
146
  export declare namespace DataTable {
146
- var sortCompareFn: (a: DataTableRow, b: DataTableRow, columnName: DataTableColumn["name"], desiredSortDirection: DataTableColumn["sortDirection"]) => number;
147
- var Toolbar: typeof DataTableToolbar;
147
+ export { defaultSortCompareFn as sortCompareFn };
148
+ export { DataTableToolbar as Toolbar };
148
149
  }
149
150
  export {};
@@ -17,5 +17,5 @@ declare const TableCell: import("@emotion/styled").StyledComponent<{
17
17
  isTableScrolledToLeft: boolean;
18
18
  isTableScrolledToRight: boolean;
19
19
  sticky?: "left" | "right" | false;
20
- } & Pick<DataTableRowProps, "isActive">, React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
20
+ } & Pick<DataTableRowProps, "isActive">, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
21
21
  export default TableCell;
@@ -10,14 +10,14 @@ type StyledTrProps = {
10
10
  export declare const StyledTr: import("@emotion/styled").StyledComponent<{
11
11
  theme?: import("@emotion/react").Theme;
12
12
  as?: React.ElementType;
13
- } & StyledTrProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
13
+ } & StyledTrProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
14
14
  type StyledTextProps = {
15
15
  alignColumn?: DataTableColumn["align"];
16
16
  };
17
17
  export declare const StyledText: import("@emotion/styled").StyledComponent<Omit<{
18
18
  theme?: import("@emotion/react").Theme;
19
19
  as?: React.ElementType;
20
- } & import("../../Typography/Text/Text").BaseTextProps & React.ClassAttributes<HTMLParagraphElement> & React.HTMLAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement> & {
20
+ } & import("../../Typography/Text/Text").BaseTextProps & import("react").ClassAttributes<HTMLParagraphElement> & import("react").HTMLAttributes<HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement> & {
21
21
  theme?: import("@emotion/react").Theme;
22
22
  } & StyledTextProps, {}, {}>;
23
23
  export declare const StyledTd: import("@emotion/styled").StyledComponent<{
@@ -30,7 +30,7 @@ export declare const StyledTd: import("@emotion/styled").StyledComponent<{
30
30
  isTableScrolledToLeft: boolean;
31
31
  isTableScrolledToRight: boolean;
32
32
  sticky?: "left" | "right" | false;
33
- } & Pick<import("../types").DataTableRowProps, "isActive"> & React.ClassAttributes<HTMLTableDataCellElement> & React.TdHTMLAttributes<HTMLTableDataCellElement> & {
33
+ } & Pick<import("../types").DataTableRowProps, "isActive"> & import("react").ClassAttributes<HTMLTableDataCellElement> & import("react").TdHTMLAttributes<HTMLTableDataCellElement> & {
34
34
  theme?: import("@emotion/react").Theme;
35
35
  } & {
36
36
  bodyCellVerticalPadding?: DataTableProps["bodyCellVerticalPadding"];
@@ -3,38 +3,38 @@ import type { EntityListItemProps, EntityListItemWrapperProps } from "./types";
3
3
  import type { ListSize } from "../../types";
4
4
  export declare const getOffsetMqStyle: (cssProp: string, { theme, size, }: {
5
5
  theme: Theme;
6
- } & Partial<EntityListItemWrapperProps>) => Record<string, (string | number) | {
6
+ } & Partial<EntityListItemWrapperProps>) => Record<string, {
7
7
  [x: string]: string | number;
8
- }>;
8
+ } | (string | number)>;
9
9
  export declare const StyledList: import("@emotion/styled").StyledComponent<{
10
10
  theme?: Theme;
11
11
  as?: React.ElementType;
12
12
  } & {
13
13
  size: ListSize;
14
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
15
15
  export declare const StyledEntityItem: import("@emotion/styled").StyledComponent<{
16
16
  theme?: Theme;
17
17
  as?: React.ElementType;
18
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
19
19
  export declare const StyledShowMore: import("@emotion/styled").StyledComponent<{
20
20
  theme?: Theme;
21
21
  as?: React.ElementType;
22
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
23
23
  export declare const StyledWrapperOffset: import("@emotion/styled").StyledComponent<{
24
24
  theme?: Theme;
25
25
  as?: React.ElementType;
26
26
  } & {
27
27
  size: ListSize;
28
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
28
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
29
29
  export declare const StyledEntityListItemWrapper: import("@emotion/styled").StyledComponent<{
30
30
  theme?: Theme;
31
31
  as?: React.ElementType;
32
32
  } & {
33
33
  size: ListSize;
34
- } & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
34
+ } & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
35
35
  theme?: Theme;
36
36
  } & EntityListItemWrapperProps, {}, {}>;
37
37
  export declare const StyledEntityListItemButton: import("@emotion/styled").StyledComponent<{
38
38
  theme?: Theme;
39
39
  as?: React.ElementType;
40
- } & Partial<EntityListItemProps>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
40
+ } & Partial<EntityListItemProps>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -35,11 +35,11 @@ export declare const CheckboxRaw: React.ForwardRefExoticComponent<{
35
35
  label?: string | React.ReactElement;
36
36
  indeterminate?: boolean;
37
37
  size?: CheckboxSizes;
38
- } & Omit<FormFieldProps, "label" | "hideLabel"> & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
38
+ } & Omit<FormFieldProps, "hideLabel" | "label"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
39
39
  labelSize?: CheckboxSizes;
40
40
  } & React.RefAttributes<HTMLInputElement>>;
41
41
  export declare const Checkbox: React.ForwardRefExoticComponent<{
42
42
  label?: string | React.ReactElement;
43
43
  indeterminate?: boolean;
44
44
  size?: CheckboxSizes;
45
- } & Omit<FormFieldProps, "label" | "hideLabel"> & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
45
+ } & Omit<FormFieldProps, "hideLabel" | "label"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -1,7 +1,7 @@
1
1
  export declare const StyledContainer: import("@emotion/styled").StyledComponent<{
2
2
  theme?: import("@emotion/react").Theme;
3
3
  as?: React.ElementType;
4
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
5
  type StyledOptionProps = {
6
6
  active: boolean;
7
7
  preSelected: boolean;
@@ -10,13 +10,13 @@ type StyledOptionProps = {
10
10
  export declare const StyledOption: import("@emotion/styled").StyledComponent<{
11
11
  theme?: import("@emotion/react").Theme;
12
12
  as?: React.ElementType;
13
- } & StyledOptionProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
13
+ } & StyledOptionProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
14
  export declare const StyledFakeInputWrap: import("@emotion/styled").StyledComponent<{
15
15
  theme?: import("@emotion/react").Theme;
16
16
  as?: React.ElementType;
17
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
18
  export declare const StyledDropdown: import("@emotion/styled").StyledComponent<{
19
19
  theme?: import("@emotion/react").Theme;
20
20
  as?: React.ElementType;
21
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
21
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
22
  export {};
@@ -27,7 +27,7 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
27
27
  formatAriaLabel: (monthName: string, year: number) => string;
28
28
  };
29
29
  };
30
- } & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange"> & {
30
+ } & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "type" | "value"> & {
31
31
  value?: string;
32
32
  hasError?: boolean;
33
33
  } & React.RefAttributes<HTMLInputElement>>;
@@ -20,4 +20,4 @@ export declare const MaskedInput: React.ForwardRefExoticComponent<{
20
20
  maskOptions: FactoryArg;
21
21
  onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
22
22
  onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
23
- } & Omit<InputProps, "type" | "onChange" | "size"> & React.RefAttributes<HTMLInputElement>>;
23
+ } & Omit<InputProps, "onChange" | "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -18,7 +18,7 @@ export declare const RadioRaw: React.ForwardRefExoticComponent<{
18
18
  /** Display hint below the label specific for the radio */
19
19
  labelHint?: string | React.ReactElement;
20
20
  size?: RadioSizes;
21
- } & Omit<FormFieldProps, "label" | "labelHint" | "hideLabel"> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
21
+ } & Omit<FormFieldProps, "hideLabel" | "label" | "labelHint"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
22
22
  labelSize?: RadioSizes;
23
23
  } & React.RefAttributes<HTMLInputElement>>;
24
24
  export declare const Radio: React.ForwardRefExoticComponent<{
@@ -26,5 +26,5 @@ export declare const Radio: React.ForwardRefExoticComponent<{
26
26
  /** Display hint below the label specific for the radio */
27
27
  labelHint?: string | React.ReactElement;
28
28
  size?: RadioSizes;
29
- } & Omit<FormFieldProps, "label" | "labelHint" | "hideLabel"> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
29
+ } & Omit<FormFieldProps, "hideLabel" | "label" | "labelHint"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
30
30
  export {};
@@ -9,4 +9,4 @@ export declare const RangeInput: React.ForwardRefExoticComponent<{
9
9
  /** The step size for each change in the range input's value. */
10
10
  hasError?: boolean;
11
11
  onSlideStart?: (e: React.FormEvent<HTMLInputElement>) => void;
12
- } & FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
12
+ } & FormFieldProps & Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -14,12 +14,12 @@ export declare const TextareaRaw: React.ForwardRefExoticComponent<{
14
14
  */
15
15
  hasError?: boolean;
16
16
  resize?: "none" | "horizontal" | "vertical" | "both";
17
- } & React.TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
17
+ } & TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
18
18
  export declare const Textarea: React.ForwardRefExoticComponent<FormFieldProps & {
19
19
  /**
20
20
  * Set to true to toggle error state
21
21
  */
22
22
  hasError?: boolean;
23
23
  resize?: "none" | "horizontal" | "vertical" | "both";
24
- } & React.TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
24
+ } & TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
25
25
  export {};
@@ -9,7 +9,7 @@ type ToggleRawProps = {
9
9
  export declare const ToggleRaw: React.ForwardRefExoticComponent<{
10
10
  size?: ToggleSize;
11
11
  isHighlighted?: boolean;
12
- } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
12
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
13
13
  export type ToggleProps = ToggleRawProps & {
14
14
  /** Controls label alignment with respect to toggle */
15
15
  alignLabel?: "before" | "after";
@@ -20,11 +20,11 @@ export type ToggleProps = ToggleRawProps & {
20
20
  export declare const Toggle: React.ForwardRefExoticComponent<{
21
21
  size?: ToggleSize;
22
22
  isHighlighted?: boolean;
23
- } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
23
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
24
24
  /** Controls label alignment with respect to toggle */
25
25
  alignLabel?: "before" | "after";
26
26
  /** Display hint below the label specific for the toggle */
27
27
  labelHint?: string | React.ReactElement;
28
28
  alignItems?: InlineProps["alignItems"];
29
- } & Omit<FormFieldProps, "labelHint" | "hideLabel"> & React.RefAttributes<HTMLInputElement>>;
29
+ } & Omit<FormFieldProps, "hideLabel" | "labelHint"> & React.RefAttributes<HTMLInputElement>>;
30
30
  export {};
@@ -7,4 +7,4 @@ export type ToggleButtonProps = {
7
7
  export declare const ToggleButton: React.ForwardRefExoticComponent<{
8
8
  label: string;
9
9
  subLabel?: string;
10
- } & Omit<FormFieldProps, "label" | "labelHint" | "errorMessages" | "hint" | "hideLabel"> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
10
+ } & Omit<FormFieldProps, "errorMessages" | "hideLabel" | "hint" | "label" | "labelHint"> & Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -32,5 +32,5 @@ export type GridProps = {
32
32
  } & HTMLAttributes<HTMLDivElement>;
33
33
  export declare function Grid({ columnGap, rowGap, "data-e2e-test-id": dataE2eTestId, children, ...rest }: GridProps): React.ReactElement;
34
34
  export declare namespace Grid {
35
- var Item: typeof GridItem;
35
+ export { GridItem as Item };
36
36
  }
@@ -1,13 +1,13 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Drawer",{enumerable:!0,get:function(){return Drawer}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_useOutsideClickDeactivatesWithinPortal=require("../../../shared/useOutsideClickDeactivatesWithinPortal"),_useDocument=require("../../../shared/useDocument"),_focusableSelector=require("../../../shared/focusableSelector"),_Portal=require("../../Portal/Portal"),_FocusTrapWrapper=require("../../../shared/FocusTrapWrapper"),_DialogContext=require("../../Patterns/Dialog/DialogContext"),_Backdrop=require("../../Utilities/Backdrop/Backdrop"),_useExitAnimation=require("./useExitAnimation"),StyledViewportLayer=(0,_styled.default)("div",{target:"e11o9pe90",label:"StyledViewportLayer"})(({theme,isLeaving})=>{let{hidden,visible}=theme.variables.opacity,fadeIn=(0,_react1.keyframes)`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Drawer",{enumerable:!0,get:function(){return Drawer}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_useOutsideClickDeactivatesWithinPortal=require("../../../shared/useOutsideClickDeactivatesWithinPortal"),_useDocument=require("../../../shared/useDocument"),_focusableSelector=require("../../../shared/focusableSelector"),_Portal=require("../../Portal/Portal"),_FocusTrapWrapper=require("../../../shared/FocusTrapWrapper"),_DialogContext=require("../../Patterns/Dialog/DialogContext"),_Backdrop=require("../../Utilities/Backdrop/Backdrop"),_useExitAnimation=require("../../../shared/useExitAnimation"),StyledViewportLayer=(0,_styled.default)("div",{target:"e1h3k5750",label:"StyledViewportLayer"})(({theme,isLeaving})=>{let{hidden,visible}=theme.variables.opacity,fadeIn=(0,_react1.keyframes)`
2
2
  from { opacity: ${hidden}; }
3
3
  to { opacity: ${visible}; }
4
4
  `,fadeOut=(0,_react1.keyframes)`
5
5
  from { opacity: ${visible}; }
6
6
  to { opacity: ${hidden}; }
7
- `,{duration,timingFunction}=theme.variables.animation.modalBackdrop.open;return{position:"fixed",top:0,left:0,zIndex:theme.variables.zIndex.modal,width:"100%",height:"100dvh",animation:`${isLeaving?fadeOut:fadeIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledContent=(0,_styled.default)("div",{target:"e11o9pe91",label:"StyledContent"})(({theme,positionX,positionY,isLeaving})=>{let restX=positionX?"0%":"-50%",restY=positionY?"0%":"-50%",{x:fromX,y:fromY}="left"===positionX?{x:"-100%",y:restY}:"right"===positionX?{x:"100%",y:restY}:"top"===positionY?{x:restX,y:"-100%"}:"bottom"===positionY?{x:restX,y:"100%"}:{x:restX,y:restY},resting=`translate(${restX}, ${restY})`,offscreen=`translate(${fromX}, ${fromY})`,slideIn=(0,_react1.keyframes)`
7
+ `,{duration,timingFunction}=theme.variables.animation.modalBackdrop.open;return{position:"fixed",top:0,left:0,zIndex:theme.variables.zIndex.modal,width:"100%",height:"100dvh",animation:`${isLeaving?fadeOut:fadeIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledContent=(0,_styled.default)("div",{target:"e1h3k5751",label:"StyledContent"})(({theme,positionX,positionY,isLeaving})=>{let restX=positionX?"0%":"-50%",restY=positionY?"0%":"-50%",{x:fromX,y:fromY}="left"===positionX?{x:"-100%",y:restY}:"right"===positionX?{x:"100%",y:restY}:"top"===positionY?{x:restX,y:"-100%"}:"bottom"===positionY?{x:restX,y:"100%"}:{x:restX,y:restY},resting=`translate(${restX}, ${restY})`,offscreen=`translate(${fromX}, ${fromY})`,slideIn=(0,_react1.keyframes)`
8
8
  from { transform: ${offscreen}; }
9
9
  to { transform: ${resting}; }
10
10
  `,slideOut=(0,_react1.keyframes)`
11
11
  from { transform: ${resting}; }
12
12
  to { transform: ${offscreen}; }
13
- `,{duration,timingFunction}=theme.variables.animation.navSlide.open;return{position:"fixed",...{..."left"===positionX&&{left:0},..."right"===positionX&&{right:0},...!positionX&&{left:"50%"},..."top"===positionY&&{top:0},..."bottom"===positionY&&{bottom:0},...!positionY&&{top:"50%"}},transform:resting,willChange:"transform",animation:`${isLeaving?slideOut:slideIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledBackdrop=(0,_styled.default)(_Backdrop.Backdrop,{target:"e11o9pe92",label:"StyledBackdrop"})({pointerEvents:"none"});function getFocusTarget(container,document){return container?.querySelector(_focusableSelector.FOCUSABLE_SELECTOR)??container??document.body}function Drawer({backdropRef,portalContainer,initialFocus,isDismissible=!0,isVisible=!0,onUnmount,hasBackdrop=!0,positionX,positionY,children,handleClose,privateProps:{skipPortal}={skipPortal:!1},...rest}){let portalContainerElement=(0,_Portal.usePortalContainerElement)(portalContainer),contentRef=(0,_react.useRef)(null),document=(0,_useDocument.useDocument)(),{isMounted,isLeaving,onAnimationEnd}=(0,_useExitAnimation.useExitAnimation)(isVisible),wasMounted=(0,_react.useRef)(isMounted);(0,_react.useEffect)(()=>{wasMounted.current&&!isMounted&&onUnmount?.(),wasMounted.current=isMounted},[isMounted,onUnmount]);let layerRef=(0,_react.useRef)(null),setLayerNode=(0,_react.useCallback)(node=>{layerRef.current=node,backdropRef&&(backdropRef.current=node)},[backdropRef]),handleClickOutsideDeactivates=(0,_useOutsideClickDeactivatesWithinPortal.useOutsideClickDeactivatesWithinPortal)({portalContainerElement,outerRef:layerRef,isDismissible});if(!isMounted)return null;let content=_react.default.createElement(StyledViewportLayer,{ref:setLayerNode,"data-ds-id":"Drawer",isLeaving:isLeaving},hasBackdrop&&_react.default.createElement(StyledBackdrop,{"data-ds-id":"DrawerBackdrop"}),_react.default.createElement(_FocusTrapWrapper.FocusTrapWrapper,{active:isVisible,focusTrapOptions:{allowOutsideClick:!0,clickOutsideDeactivates:handleClickOutsideDeactivates,escapeDeactivates:isDismissible,preventScroll:!0,initialFocus:()=>{var container;return container=contentRef.current,"string"==typeof initialFocus?initialFocus:initialFocus?.current??getFocusTarget(container,document)},fallbackFocus:()=>getFocusTarget(contentRef.current,document),onPostDeactivate:()=>handleClose?.()}},_react.default.createElement(StyledContent,{...rest,ref:contentRef,positionX:positionX,positionY:positionY,isLeaving:isLeaving,onAnimationEnd:onAnimationEnd,role:"dialog","aria-modal":"true"},children)));return skipPortal?content:_react.default.createElement(_DialogContext.DialogContext.Provider,{value:!0},_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},content))}
13
+ `,{duration,timingFunction}=theme.variables.animation.navSlide.open;return{position:"fixed",...{..."left"===positionX&&{left:0},..."right"===positionX&&{right:0},...!positionX&&{left:"50%"},..."top"===positionY&&{top:0},..."bottom"===positionY&&{bottom:0},...!positionY&&{top:"50%"}},transform:resting,willChange:"transform",animation:`${isLeaving?slideOut:slideIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledBackdrop=(0,_styled.default)(_Backdrop.Backdrop,{target:"e1h3k5752",label:"StyledBackdrop"})({pointerEvents:"none"});function getFocusTarget(container,document){return container?.querySelector(_focusableSelector.FOCUSABLE_SELECTOR)??container??document.body}function Drawer({backdropRef,portalContainer,initialFocus,isDismissible=!0,isVisible=!0,onUnmount,hasBackdrop=!0,positionX,positionY,children,handleClose,privateProps:{skipPortal}={skipPortal:!1},...rest}){let portalContainerElement=(0,_Portal.usePortalContainerElement)(portalContainer),contentRef=(0,_react.useRef)(null),document=(0,_useDocument.useDocument)(),{isMounted,isLeaving,onAnimationEnd}=(0,_useExitAnimation.useExitAnimation)(isVisible),wasMounted=(0,_react.useRef)(isMounted);(0,_react.useEffect)(()=>{wasMounted.current&&!isMounted&&onUnmount?.(),wasMounted.current=isMounted},[isMounted,onUnmount]);let layerRef=(0,_react.useRef)(null),setLayerNode=(0,_react.useCallback)(node=>{layerRef.current=node,backdropRef&&(backdropRef.current=node)},[backdropRef]),handleClickOutsideDeactivates=(0,_useOutsideClickDeactivatesWithinPortal.useOutsideClickDeactivatesWithinPortal)({portalContainerElement,outerRef:layerRef,isDismissible});if(!isMounted)return null;let content=_react.default.createElement(StyledViewportLayer,{ref:setLayerNode,"data-ds-id":"Drawer",isLeaving:isLeaving},hasBackdrop&&_react.default.createElement(StyledBackdrop,{"data-ds-id":"DrawerBackdrop"}),_react.default.createElement(_FocusTrapWrapper.FocusTrapWrapper,{active:isVisible,focusTrapOptions:{allowOutsideClick:!0,clickOutsideDeactivates:handleClickOutsideDeactivates,escapeDeactivates:isDismissible,preventScroll:!0,initialFocus:()=>{var container;return container=contentRef.current,"string"==typeof initialFocus?initialFocus:initialFocus?.current??getFocusTarget(container,document)},fallbackFocus:()=>getFocusTarget(contentRef.current,document),onPostDeactivate:()=>handleClose?.()}},_react.default.createElement(StyledContent,{...rest,ref:contentRef,positionX:positionX,positionY:positionY,isLeaving:isLeaving,onAnimationEnd:onAnimationEnd,role:"dialog","aria-modal":"true"},children)));return skipPortal?content:_react.default.createElement(_DialogContext.DialogContext.Provider,{value:!0},_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},content))}
@@ -13,4 +13,16 @@ export type LayoutFloatProps = {
13
13
  hostRef: (el: HTMLDivElement | null) => void;
14
14
  "data-e2e-test-id"?: string;
15
15
  };
16
- export declare const LayoutFloat: React.MemoExoticComponent<({ width, height, hostRef, "data-e2e-test-id": dataE2eTestId, }: LayoutFloatProps) => React.ReactElement>;
16
+ /**
17
+ * The floating shell hosting a layout panel's content while its variant is
18
+ * `"float"`. Pins to the bottom-right viewport corner via the internal
19
+ * `Float` positioner, then becomes freely draggable by its header across the
20
+ * viewport (clamped to `spacing.m` from the edges, matching `Float`'s inset).
21
+ * The header carries the `useMove` handle; this float owns the drag geometry
22
+ * and publishes its move handlers via `useLayoutFloatDrag` for the header to drive.
23
+ * Purely presentational otherwise: the content arrives by the panel's persistent
24
+ * host node being appended into `hostRef`'s element.
25
+ */
26
+ declare const LayoutFloatBase: ({ width, height, hostRef, "data-e2e-test-id": dataE2eTestId, }: LayoutFloatProps) => React.ReactElement;
27
+ export declare const LayoutFloat: React.MemoExoticComponent<typeof LayoutFloatBase>;
28
+ export {};
@@ -10,7 +10,7 @@ export type LayoutFloatDragContextValue = {
10
10
  /** Publish/clear the handlers - for the float. */
11
11
  setHandlers: (handlers: LayoutFloatDragHandlers) => void;
12
12
  };
13
- export declare const LayoutFloatDragContext: React.Context<LayoutFloatDragContextValue>;
13
+ export declare const LayoutFloatDragContext: import("react").Context<LayoutFloatDragContextValue>;
14
14
  /** Read the float-drag channel. Outside a `LayoutFloatDragProvider` the handlers are
15
15
  * `null` and the setter a no-op, so consumers need no existence checks. */
16
16
  export declare const useLayoutFloatDrag: () => LayoutFloatDragContextValue;
@@ -3,6 +3,8 @@ import type { LayoutStorage, PanelImperativeHandle, PanelProps as ResizablePanel
3
3
  /** A size: plain number = pixels; unitless string = percentage ("10%"). */
4
4
  type Size = number | string;
5
5
  export type PanelItem = {
6
+ /** Leave a transparent spacing token before this panel's column. */
7
+ gapBefore?: boolean;
6
8
  /** Stable id — used by react-resizable-panels to track the panel and persist
7
9
  * its size, and passed back to `onResize`/`onCollapse`. */
8
10
  id: string;
@@ -15,9 +17,9 @@ export type PanelItem = {
15
17
  maxSize?: Size;
16
18
  /** Allow drag-to-collapse; collapsing fires `onCollapse(id)`. */
17
19
  collapsible?: boolean;
18
- /** When `false`, this panel is fixed: it can't be resized directly or by a
19
- * neighbour. Separators beside it stay usable as long as a resizable panel
20
- * remains on each of their sides - the drag just passes this panel by. */
20
+ /** When `false`, user input can't resize this panel directly or through a
21
+ * neighbour. Container resizing still applies. Separators stay usable if a
22
+ * resizable panel remains on each side - the drag passes this panel by. */
21
23
  resizable?: boolean;
22
24
  /** Hold this panel's width when the window (or the containing group) is
23
25
  * resized, rather than its share of the group - so the change lands on the
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get Panel(){return Panel},get groupResizeBehaviorFor(){return groupResizeBehaviorFor}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_reactresizablepanels=require("react-resizable-panels"),CustomGroup=(0,_styled.default)(_reactresizablepanels.Group,{target:"ervy0ss0",label:"CustomGroup"})({height:"100%",width:"100%"}),StyledPanelChild=(0,_styled.default)("div",{target:"ervy0ss1",label:"StyledPanelChild"})({position:"relative",height:"100%",width:"100%"}),NOOP_STORAGE={getItem:()=>null,setItem:()=>{}},isResizable=item=>!1!==item.resizable,locksWidth=item=>!0===item.lockWidthOnWindowResize&&void 0!==item.defaultSize,groupResizeBehaviorFor=(item,panels)=>locksWidth(item)&&panels.some(panel=>!locksWidth(panel))?"preserve-pixel-size":"preserve-relative-size",canSeparatorResize=({panels,index})=>panels.slice(0,index).some(isResizable)&&panels.slice(index).some(isResizable);function Panel({panels,persistenceKey,storage,onResize,onCollapse,panelHandleFor,panelElementFor,shouldSuppressLayoutCallback}){let{defaultLayout,onLayoutChanged:persistSizes}=(0,_reactresizablepanels.useDefaultLayout)({id:persistenceKey??"ds-layout",panelIds:panels.map(p=>p.id),storage:persistenceKey&&storage?storage:NOOP_STORAGE});return _react.default.createElement(CustomGroup,{orientation:"horizontal",defaultLayout:defaultLayout,onLayoutChanged:layout=>{shouldSuppressLayoutCallback?.()||(persistSizes(layout),panels.forEach(({id,collapsible})=>{let pct=layout[id];"number"==typeof pct&&collapsible&&pct<.5&&onCollapse(id)}))}},panels.map((item,index)=>{let isSeparatorDisabled=!canSeparatorResize({panels,index});return _react.default.createElement(_react.default.Fragment,{key:item.id},index>0&&_react.default.createElement(_reactresizablepanels.Separator,{disabled:isSeparatorDisabled}),_react.default.createElement(_reactresizablepanels.Panel,{id:item.id,defaultSize:item.defaultSize,collapsible:item.collapsible,disabled:!1===item.resizable,groupResizeBehavior:groupResizeBehaviorFor(item,panels),minSize:item.minSize,maxSize:item.maxSize,onResize:size=>{!shouldSuppressLayoutCallback?.()&&(size.asPercentage<.5||onResize(item.id,size))},panelRef:panelHandleFor?.(item.id),elementRef:panelElementFor?.(item.id)},_react.default.createElement(StyledPanelChild,null,item.child)))}))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get Panel(){return Panel},get groupResizeBehaviorFor(){return groupResizeBehaviorFor}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_reactresizablepanels=require("react-resizable-panels"),CustomGroup=(0,_styled.default)(_reactresizablepanels.Group,{target:"e1qc2hi70",label:"CustomGroup"})({height:"100%",width:"100%"}),CustomSeparator=(0,_styled.default)(_reactresizablepanels.Separator,{target:"e1qc2hi71",label:"CustomSeparator"})(({theme})=>({flexShrink:0,width:theme.variables.size.spacing.xxs})),StyledPanelChild=(0,_styled.default)("div",{target:"e1qc2hi72",label:"StyledPanelChild"})({position:"relative",height:"100%",width:"100%"}),NOOP_STORAGE={getItem:()=>null,setItem:()=>{}},isResizable=item=>!1!==item.resizable,locksWidth=item=>!0===item.lockWidthOnWindowResize&&void 0!==item.defaultSize,groupResizeBehaviorFor=(item,panels)=>locksWidth(item)&&panels.some(panel=>!locksWidth(panel))?"preserve-pixel-size":"preserve-relative-size",canSeparatorResize=({panels,index})=>panels.slice(0,index).some(isResizable)&&panels.slice(index).some(isResizable);function Panel({panels,persistenceKey,storage,onResize,onCollapse,panelHandleFor,panelElementFor,shouldSuppressLayoutCallback}){let{defaultLayout,onLayoutChanged:persistSizes}=(0,_reactresizablepanels.useDefaultLayout)({id:persistenceKey??"ds-layout",panelIds:panels.map(p=>p.id),storage:persistenceKey&&storage?storage:NOOP_STORAGE});return _react.default.createElement(CustomGroup,{orientation:"horizontal",defaultLayout:defaultLayout,onLayoutChanged:layout=>{shouldSuppressLayoutCallback?.()||(persistSizes(layout),panels.forEach(({id,collapsible})=>{let pct=layout[id];"number"==typeof pct&&collapsible&&pct<.5&&onCollapse(id)}))}},panels.map((item,index)=>{let isSeparatorDisabled=!canSeparatorResize({panels,index}),SeparatorComponent=item.gapBefore?CustomSeparator:_reactresizablepanels.Separator;return _react.default.createElement(_react.default.Fragment,{key:item.id},index>0&&_react.default.createElement(SeparatorComponent,{disabled:isSeparatorDisabled}),_react.default.createElement(_reactresizablepanels.Panel,{id:item.id,defaultSize:item.defaultSize,collapsible:item.collapsible,disabled:!1===item.resizable,groupResizeBehavior:groupResizeBehaviorFor(item,panels),minSize:item.minSize,maxSize:item.maxSize,onResize:size=>{!shouldSuppressLayoutCallback?.()&&(size.asPercentage<.5||onResize(item.id,size))},panelRef:panelHandleFor?.(item.id),elementRef:panelElementFor?.(item.id)},_react.default.createElement(StyledPanelChild,null,item.child)))}))}
@@ -22,7 +22,7 @@ export type PanelHeaderProps = {
22
22
  leftSlot?: React.ReactNode;
23
23
  /** Title block (icon + heading), rendered after `leftSlot`. */
24
24
  title?: PanelHeaderTitle;
25
- /** Rendered at the header end, aligned to the top of multi-line content. */
25
+ /** Rendered at the header end, vertically centered. */
26
26
  rightSlot?: React.ReactNode;
27
27
  /** Fade the leading group out. `rightSlot` is left solid: it is the control
28
28
  * that travels down onto the left bar's own and has to survive the dissolve. */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PanelHeader",{enumerable:!0,get:function(){return PanelHeader}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_TextClamped=require("../../../components/Typography/TextClamped/TextClamped"),_constants=require("../../Layout/-constants"),_mixins=require("../../../shared/mixins"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_Icon=require("../../Icon/Icon"),_Header=require("../../Typography/Header/Header"),StyledHeaderSurface=(0,_styled.default)("div",{target:"e13e79rk0",label:"StyledHeaderSurface"})(({theme})=>({backgroundColor:theme.values.color.background.primary.default})),StyledHeaderRow=(0,_styled.default)("div",{target:"e13e79rk1",label:"StyledHeaderRow"})({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"}),StyledLeadingGroup=(0,_styled.default)("div",{target:"e13e79rk2",label:"StyledLeadingGroup"})(({theme,isContentFaded})=>({minWidth:0,overflow:"hidden",...(0,_mixins.getLeftPanelFadeStyles)({theme,isFaded:isContentFaded})})),StyledSlotContent=(0,_styled.default)("div",{target:"e13e79rk3",label:"StyledSlotContent"})({width:"max-content"}),StyledLeadingContent=(0,_styled.default)("div",{target:"e13e79rk4",label:"StyledLeadingContent"})(({theme,hasTitleInset})=>({paddingLeft:hasTitleInset?theme.variables.size.spacing.xxs:0})),StyledTrailingGroup=(0,_styled.default)("div",{target:"e13e79rk5",label:"StyledTrailingGroup"})({alignSelf:"flex-start",flexShrink:0});function PanelHeader({leftSlot,title,rightSlot,isContentFaded=!1,"data-e2e-test-id":dataE2eTestId}){let colorTitleItems="primary",hasTitle=title&&!1!==title.isVisible,hasIcon=hasTitle&&void 0!==title.icon;return _react.default.createElement(StyledHeaderSurface,{"data-e2e-test-id":dataE2eTestId},_react.default.createElement(_Box.Box,{vSpace:_constants.LEFT_BAR_BUTTON_INSET.vSpace,lSpace:hasIcon?"xs":"s",rSpace:_constants.LEFT_BAR_BUTTON_INSET.hSpace},_react.default.createElement(StyledHeaderRow,null,_react.default.createElement(StyledLeadingGroup,{isContentFaded:isContentFaded},_react.default.createElement(StyledLeadingContent,{hasTitleInset:!!(hasTitle&&!hasIcon)},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center",noWrap:!0},leftSlot&&_react.default.createElement(StyledSlotContent,null,leftSlot),hasTitle&&_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center",noWrap:!0},title.icon&&_react.default.createElement(_Icon.Icon,{...title.icon,color:colorTitleItems,size:"s"}),_react.default.createElement(_TextClamped.TextClamped,{as:"span"},_react.default.createElement(_Header.H5,{as:title.as,color:colorTitleItems},title.label)))))),_react.default.createElement(StyledTrailingGroup,null,_react.default.createElement(_Inline.Inline,{space:"xxs",vAlignItems:"center",noWrap:!0},_react.default.createElement(_react.default.Fragment,null,rightSlot))))))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PanelHeader",{enumerable:!0,get:function(){return PanelHeader}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_TextClamped=require("../../../components/Typography/TextClamped/TextClamped"),_constants=require("../../Layout/-constants"),_mixins=require("../../../shared/mixins"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_Icon=require("../../Icon/Icon"),_Header=require("../../Typography/Header/Header"),StyledHeaderSurface=(0,_styled.default)("div",{target:"e1fxsx1e0",label:"StyledHeaderSurface"})(({theme})=>({backgroundColor:theme.values.color.background.primary.default})),StyledHeaderRow=(0,_styled.default)("div",{target:"e1fxsx1e1",label:"StyledHeaderRow"})({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"}),StyledLeadingGroup=(0,_styled.default)("div",{target:"e1fxsx1e2",label:"StyledLeadingGroup"})(({theme,isContentFaded})=>({minWidth:0,overflow:"hidden",...(0,_mixins.getLeftPanelFadeStyles)({theme,isFaded:isContentFaded})})),StyledSlotContent=(0,_styled.default)("div",{target:"e1fxsx1e3",label:"StyledSlotContent"})({width:"max-content"}),StyledLeadingContent=(0,_styled.default)("div",{target:"e1fxsx1e4",label:"StyledLeadingContent"})(({theme,hasTitleInset})=>({paddingLeft:hasTitleInset?theme.variables.size.spacing.xxs:0})),StyledTrailingGroup=(0,_styled.default)("div",{target:"e1fxsx1e5",label:"StyledTrailingGroup"})({flexShrink:0});function PanelHeader({leftSlot,title,rightSlot,isContentFaded=!1,"data-e2e-test-id":dataE2eTestId}){let colorTitleItems="primary",hasTitle=title&&!1!==title.isVisible,hasIcon=hasTitle&&void 0!==title.icon;return _react.default.createElement(StyledHeaderSurface,{"data-e2e-test-id":dataE2eTestId},_react.default.createElement(_Box.Box,{vSpace:_constants.LEFT_BAR_BUTTON_INSET.vSpace,lSpace:hasIcon?"xs":"s",rSpace:_constants.LEFT_BAR_BUTTON_INSET.hSpace},_react.default.createElement(StyledHeaderRow,null,_react.default.createElement(StyledLeadingGroup,{isContentFaded:isContentFaded},_react.default.createElement(StyledLeadingContent,{hasTitleInset:!!(hasTitle&&!hasIcon)},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center",noWrap:!0},leftSlot&&_react.default.createElement(StyledSlotContent,null,leftSlot),hasTitle&&_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center",noWrap:!0},title.icon&&_react.default.createElement(_Icon.Icon,{...title.icon,color:colorTitleItems,size:"s"}),_react.default.createElement(_TextClamped.TextClamped,{as:"span"},_react.default.createElement(_Header.H5,{as:title.as,color:colorTitleItems},title.label)))))),_react.default.createElement(StyledTrailingGroup,null,_react.default.createElement(_Inline.Inline,{space:"xxs",vAlignItems:"center",noWrap:!0},_react.default.createElement(_react.default.Fragment,null,rightSlot))))))}
@@ -16,6 +16,6 @@ export type SandwichContextValue = SandwichEdges & {
16
16
  /** Static host below the scroll body - `Sandwich.Footer` portals into it. */
17
17
  footerSlotNode: HTMLElement | null;
18
18
  };
19
- export declare const SandwichProvider: React.Provider<SandwichContextValue | null>;
19
+ export declare const SandwichProvider: import("react").Provider<SandwichContextValue | null>;
20
20
  /** Read the Sandwich context, or throw if used outside `<Sandwich>`. */
21
21
  export declare function useSandwichContext(): SandwichContextValue;
@@ -82,6 +82,16 @@ export declare const RIGHT_PANEL_BOTTOM_BAR_INSET: string;
82
82
  export declare const PANEL_WIDTH_VAR: {
83
83
  readonly leftPanel: "--ds-layout-leftPanel-width";
84
84
  readonly content: "--ds-layout-content-width";
85
+ readonly splitview: "--ds-layout-splitview-width";
85
86
  readonly rightPanel: "--ds-layout-rightPanel-width";
86
87
  };
88
+ /** Live start of each column relative to the Layout root. */
89
+ export declare const PANEL_START_VAR: {
90
+ readonly leftPanel: "--ds-layout-leftPanel-start";
91
+ readonly content: "--ds-layout-content-start";
92
+ readonly splitview: "--ds-layout-splitview-start";
93
+ readonly rightPanel: "--ds-layout-rightPanel-start";
94
+ };
95
+ /** Set once column geometry is available to align the bottom bar. */
96
+ export declare const LAYOUT_REGIONS_READY_VAR: "--ds-layout-regions-ready";
87
97
  export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get BOTTOM_BAR_HEIGHT_VAR(){return BOTTOM_BAR_HEIGHT_VAR},get DEFAULT_LEFT_PANEL_VARIANT(){return DEFAULT_LEFT_PANEL_VARIANT},get LEFT_BAR_BUTTON_INSET(){return LEFT_BAR_BUTTON_INSET},get PAGE_BOTTOM_BAR_INSET(){return PAGE_BOTTOM_BAR_INSET},get PANELS(){return PANELS},get PANEL_ORDER(){return PANEL_ORDER},get PANEL_WIDTH_VAR(){return PANEL_WIDTH_VAR},get RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR(){return RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR},get RIGHT_PANEL_BOTTOM_BAR_INSET(){return RIGHT_PANEL_BOTTOM_BAR_INSET},get SIDE_PANELS(){return SIDE_PANELS},get SPLIT_MAX_WIDTH_VAR(){return SPLIT_MAX_WIDTH_VAR},get SUBNAV_OFFSET_VAR(){return SUBNAV_OFFSET_VAR},get Slot(){return Slot},get TOGGLABLE_SLOTS(){return TOGGLABLE_SLOTS}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _layoutvars=require("../../web-tokens/layout-vars"),Slot={leftPanel:"leftPanel",content:"content",splitview:"splitview",rightPanel:"rightPanel"},SIDE_PANELS=[Slot.leftPanel,Slot.rightPanel],PANELS=[Slot.content,Slot.splitview],PANEL_ORDER=[Slot.leftPanel,Slot.content,Slot.splitview,Slot.rightPanel],DEFAULT_LEFT_PANEL_VARIANT="sidebar",LEFT_BAR_BUTTON_INSET={hSpace:"s",vSpace:"xs"},TOGGLABLE_SLOTS=PANEL_ORDER.filter(slot=>slot!==Slot.content),SUBNAV_OFFSET_VAR=_layoutvars.LAYOUT_VARS.subnavOffset,SPLIT_MAX_WIDTH_VAR=_layoutvars.LAYOUT_VARS.splitMaxWidth,BOTTOM_BAR_HEIGHT_VAR=_layoutvars.LAYOUT_VARS.bottomBarHeight,RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR=_layoutvars.LAYOUT_VARS.rightPanelBottomBarHeight,PAGE_BOTTOM_BAR_INSET=`var(${BOTTOM_BAR_HEIGHT_VAR}, 0px)`,RIGHT_PANEL_BOTTOM_BAR_INSET=`var(${RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR}, ${PAGE_BOTTOM_BAR_INSET})`,PANEL_WIDTH_VAR={leftPanel:_layoutvars.LAYOUT_VARS.leftPanelWidth,content:_layoutvars.LAYOUT_VARS.contentWidth,rightPanel:_layoutvars.LAYOUT_VARS.rightPanelWidth};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get BOTTOM_BAR_HEIGHT_VAR(){return BOTTOM_BAR_HEIGHT_VAR},get DEFAULT_LEFT_PANEL_VARIANT(){return DEFAULT_LEFT_PANEL_VARIANT},get LAYOUT_REGIONS_READY_VAR(){return LAYOUT_REGIONS_READY_VAR},get LEFT_BAR_BUTTON_INSET(){return LEFT_BAR_BUTTON_INSET},get PAGE_BOTTOM_BAR_INSET(){return PAGE_BOTTOM_BAR_INSET},get PANELS(){return PANELS},get PANEL_ORDER(){return PANEL_ORDER},get PANEL_START_VAR(){return PANEL_START_VAR},get PANEL_WIDTH_VAR(){return PANEL_WIDTH_VAR},get RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR(){return RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR},get RIGHT_PANEL_BOTTOM_BAR_INSET(){return RIGHT_PANEL_BOTTOM_BAR_INSET},get SIDE_PANELS(){return SIDE_PANELS},get SPLIT_MAX_WIDTH_VAR(){return SPLIT_MAX_WIDTH_VAR},get SUBNAV_OFFSET_VAR(){return SUBNAV_OFFSET_VAR},get Slot(){return Slot},get TOGGLABLE_SLOTS(){return TOGGLABLE_SLOTS}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _layoutvars=require("../../web-tokens/layout-vars"),Slot={leftPanel:"leftPanel",content:"content",splitview:"splitview",rightPanel:"rightPanel"},SIDE_PANELS=[Slot.leftPanel,Slot.rightPanel],PANELS=[Slot.content,Slot.splitview],PANEL_ORDER=[Slot.leftPanel,Slot.content,Slot.splitview,Slot.rightPanel],DEFAULT_LEFT_PANEL_VARIANT="sidebar",LEFT_BAR_BUTTON_INSET={hSpace:"s",vSpace:"xs"},TOGGLABLE_SLOTS=PANEL_ORDER.filter(slot=>slot!==Slot.content),SUBNAV_OFFSET_VAR=_layoutvars.LAYOUT_VARS.subnavOffset,SPLIT_MAX_WIDTH_VAR=_layoutvars.LAYOUT_VARS.splitMaxWidth,BOTTOM_BAR_HEIGHT_VAR=_layoutvars.LAYOUT_VARS.bottomBarHeight,RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR=_layoutvars.LAYOUT_VARS.rightPanelBottomBarHeight,PAGE_BOTTOM_BAR_INSET=`var(${BOTTOM_BAR_HEIGHT_VAR}, 0px)`,RIGHT_PANEL_BOTTOM_BAR_INSET=`var(${RIGHT_PANEL_BOTTOM_BAR_HEIGHT_VAR}, ${PAGE_BOTTOM_BAR_INSET})`,PANEL_WIDTH_VAR={leftPanel:_layoutvars.LAYOUT_VARS.leftPanelWidth,content:_layoutvars.LAYOUT_VARS.contentWidth,splitview:_layoutvars.LAYOUT_VARS.splitviewWidth,rightPanel:_layoutvars.LAYOUT_VARS.rightPanelWidth},PANEL_START_VAR={leftPanel:_layoutvars.LAYOUT_VARS.leftPanelStart,content:_layoutvars.LAYOUT_VARS.contentStart,splitview:_layoutvars.LAYOUT_VARS.splitviewStart,rightPanel:_layoutvars.LAYOUT_VARS.rightPanelStart},LAYOUT_REGIONS_READY_VAR=_layoutvars.LAYOUT_VARS.regionsReady;
@@ -1,4 +1,5 @@
1
1
  import type React from "react";
2
+ import type { ConditionalAccessibleName } from "../../types/a11y";
2
3
  import type { PanelKey, SidePanelKey, SlotKey } from "./-constants";
3
4
  import type { PanelHeaderTitle } from "../Internal/PanelHeader/PanelHeader";
4
5
  import type { SandwichSeparator } from "../Internal/Sandwich/-types";
@@ -69,10 +70,21 @@ export type RightPanelState = SidePanelStateBase & {
69
70
  };
70
71
  /** Either side panel, for code that handles both. */
71
72
  export type SidePanelState = LeftPanelState | RightPanelState;
73
+ export type RegionPresentation = "column" | "overlay" | "hidden";
74
+ export type PanelAnimation = Readonly<{
75
+ property: "flex-grow";
76
+ /** Applied transition duration in milliseconds. */
77
+ duration: number;
78
+ easing: string;
79
+ }>;
72
80
  /** Actions every slot handle exposes, whatever its state shape. No `resize`:
73
81
  * sizes are declarative (`defaultSize` on the panel, then drag), and the
74
82
  * content/split pair is CSS-split, so an imperative size wouldn't hold. */
75
83
  export type PanelHandleActions = {
84
+ /** Whether the region occupies a footer-aligned column, an overlay, or neither. */
85
+ readonly presentation: RegionPresentation;
86
+ /** Parameters of the width transition currently applied by Layout. */
87
+ readonly animation: PanelAnimation | null;
76
88
  /** Whether the slot is currently shown. */
77
89
  isVisible: boolean;
78
90
  /** Show the slot. */
@@ -265,18 +277,15 @@ export type SidePanelProps = ForwardedScrollProps & {
265
277
  /** Accessible name; when set, the panel renders as a `region` landmark. */
266
278
  "aria-label"?: string;
267
279
  collapsible?: boolean;
268
- /** Number = pixels, unitless string = percent (e.g. `"30%"`).
269
- *
270
- * Either unit sets the column's starting width only: a docked side panel
271
- * then keeps that width when the window resizes, and `Layout.Content` grows
272
- * and shrinks around it. Drag-resizing is a separate story - see
273
- * `resizable`. */
280
+ /** Number or `"320px"` = pixels; `"30%"` or `"30"` = percentage.
281
+ * Pixel sizes keep their width when the container resizes. Percentage sizes
282
+ * follow the container, subject to the panel's min/max constraints.
283
+ * Independent of whether the user may resize the panel. */
274
284
  defaultSize?: Size;
275
- /** Desktop only: allow drag-resizing the panel's column. Overrides the
276
- * provider config's `resizable`. When `false`, the column is fixed at
277
- * `defaultSize` - neighbours can't resize it either, though they stay
278
- * resizable against each other. Showing and hiding the panel still works. No
279
- * effect on the mobile drawer/sheet. */
285
+ /** Desktop only: allow the user to resize the column by pointer or keyboard.
286
+ * Overrides the provider config's `resizable`. When `false`, dragging a
287
+ * neighbour cannot resize this panel either. Percentage widths still follow
288
+ * the container; showing and hiding still works. No effect on mobile. */
280
289
  resizable?: boolean;
281
290
  /** Called whenever the panel's visibility changes, with the new value. */
282
291
  onVisibleChange?: (visible: boolean) => void;
@@ -310,6 +319,9 @@ export type ContentProps = {
310
319
  * (default: the `xxl` breakpoint) and centred once past it.
311
320
  */
312
321
  export type SplitProps = ForwardedScrollProps & {
322
+ /** Panel surface. Defaults to primary.
323
+ * TODO: Move background ownership to the client-rendered content. */
324
+ background?: "primary" | "transparent";
313
325
  /** Panel content in source order. `<Layout.SplitHeader />` /
314
326
  * `<Layout.SplitFooter />` children stick to the edges; the rest scrolls. */
315
327
  children: React.ReactNode;
@@ -321,6 +333,8 @@ export type SplitProps = ForwardedScrollProps & {
321
333
  };
322
334
  /** Props of the internal mobile presentation of `Layout.Split`. */
323
335
  export type MobileSplitViewProps = ForwardedScrollProps & {
336
+ /** Surface forwarded from Layout.Split. */
337
+ background?: SplitProps["background"];
324
338
  children: React.ReactNode;
325
339
  /** Accessible name; when set, the view renders as a `region` landmark. */
326
340
  "aria-label"?: string;
@@ -452,6 +466,8 @@ export type SplitHeaderProps = PanelSlotHeaderProps & {
452
466
  };
453
467
  export type SplitFooterProps = PanelSlotFooterProps;
454
468
  export type PanelContainerProps = ForwardedScrollProps & {
469
+ /** Panel surface. Defaults to primary. */
470
+ background?: SplitProps["background"];
455
471
  /** Content in source order. Per-panel header/footer components stick to the
456
472
  * edges; everything else scrolls. */
457
473
  children: React.ReactNode;
@@ -481,3 +497,11 @@ export type RightPanelProps = SidePanelProps & {
481
497
  * floating panel isn't part of the resizable row. */
482
498
  collapsible?: boolean;
483
499
  };
500
+ export type LayoutBottomBarProps = ConditionalAccessibleName & {
501
+ /** Layout.BottomBarItem declarations for the page's actions. */
502
+ children: React.ReactNode;
503
+ /** Background of each section; gaps stay transparent. Defaults to transparent. */
504
+ background?: "primary" | "secondary" | "transparent";
505
+ /** Identifier applied to the action group. */
506
+ "data-e2e-test-id"?: string;
507
+ };
@@ -0,0 +1,18 @@
1
+ import type { FC, ReactNode } from "react";
2
+ import type { SlotKey } from "../../-types";
3
+ export type LayoutBottomBarFallback = "hide" | "remaining" | "full";
4
+ export type LayoutBottomBarItemProps = {
5
+ /** Layout region whose column the item follows. */
6
+ region: SlotKey;
7
+ /** Bounds for column actions. Defaults to panel. Available lets content and
8
+ * split actions occupy their outer margins up to the side panels, keeping gaps.
9
+ * The child controls whether it fills these bounds; fallback is unchanged. */
10
+ boundary?: "panel" | "available";
11
+ /** Placement when the region has no column. Defaults to hiding the item. */
12
+ fallback?: LayoutBottomBarFallback;
13
+ /** Actions supplied and styled by the consumer. */
14
+ children: ReactNode;
15
+ /** Identifier applied to the item's action container. */
16
+ "data-e2e-test-id"?: string;
17
+ };
18
+ export declare const LayoutBottomBarItem: FC<LayoutBottomBarItemProps>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LayoutBottomBarItem",{enumerable:!0,get:function(){return LayoutBottomBarItem}});const LayoutBottomBarItem=()=>null;