@redis-ui/components 39.18.0 → 41.3.2

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 (215) hide show
  1. package/dist/AppSelectionMenu/components/Icon/Icon.cjs +3 -1
  2. package/dist/AppSelectionMenu/components/Icon/Icon.js +3 -1
  3. package/dist/AppSelectionMenu/components/Trigger/Trigger.styles.cjs +1 -1
  4. package/dist/AppSelectionMenu/components/Trigger/Trigger.styles.js +1 -1
  5. package/dist/AutoCompleteSelect/AutoCompleteSelect.style.d.ts +1 -1
  6. package/dist/Banner/Banner.d.ts +3 -3
  7. package/dist/Banner/components/Actions/Actions.d.ts +1 -1
  8. package/dist/Banner/components/Compose/Compose.style.d.ts +1 -1
  9. package/dist/BoxSelectionGroup/components/Item/components/Compose/Compose.types.d.ts +1 -1
  10. package/dist/ChipList/Components/ExtraItem.cjs +3 -0
  11. package/dist/ChipList/Components/ExtraItem.js +3 -0
  12. package/dist/Drawer/Drawer.d.ts +2 -2
  13. package/dist/Drawer/components/Body/Body.cjs +17 -3
  14. package/dist/Drawer/components/Body/Body.d.ts +1 -1
  15. package/dist/Drawer/components/Body/Body.js +17 -3
  16. package/dist/Drawer/components/Body/Body.types.d.ts +3 -1
  17. package/dist/Filters/components/MultiSelectFilter/MultiSelectFilter.styles.d.ts +2 -2
  18. package/dist/FormField/FormField.context.d.ts +6 -2
  19. package/dist/FormField/FormField.d.ts +2 -4
  20. package/dist/FormField/components/Compose/Compose.d.ts +1 -1
  21. package/dist/FormField/components/Compose/Compose.types.d.ts +2 -2
  22. package/dist/FormField/components/Nested/Nested.cjs +25 -8
  23. package/dist/FormField/components/Nested/Nested.d.ts +1 -1
  24. package/dist/FormField/components/Nested/Nested.js +25 -8
  25. package/dist/FormField/components/Nested/Nested.types.d.ts +2 -0
  26. package/dist/Helpers/common.types.d.ts +1 -1
  27. package/dist/Helpers/contexts/NullableContext.cjs +17 -0
  28. package/dist/Helpers/contexts/NullableContext.d.ts +4 -0
  29. package/dist/Helpers/contexts/NullableContext.js +17 -0
  30. package/dist/Helpers/contexts/PrimitiveContextState.cjs +27 -0
  31. package/dist/Helpers/contexts/PrimitiveContextState.d.ts +7 -2
  32. package/dist/Helpers/contexts/PrimitiveContextState.js +27 -0
  33. package/dist/Helpers/hooks/useScrollable.cjs +32 -0
  34. package/dist/Helpers/hooks/useScrollable.d.ts +3 -0
  35. package/dist/Helpers/hooks/useScrollable.js +32 -0
  36. package/dist/Helpers/index.d.ts +2 -0
  37. package/dist/Inputs/Input/Input.d.ts +1 -1
  38. package/dist/Inputs/NumericInput/NumericInput.d.ts +1 -1
  39. package/dist/Inputs/PasswordInput/components/Compose/Compose.style.d.ts +1 -1
  40. package/dist/Inputs/QuantityCounter/QuantityCounter.d.ts +2 -2
  41. package/dist/Inputs/QuantityCounter/components/Compose/Compose.style.d.ts +1 -1
  42. package/dist/Inputs/QuantityCounter/components/InputGroup/InputGroup.d.ts +1 -1
  43. package/dist/Inputs/SearchInput/SearchInput.d.ts +1 -1
  44. package/dist/Inputs/TextArea/TextArea.d.ts +1 -1
  45. package/dist/Inputs/TextArea/components/Compose/Compose.style.d.ts +1 -1
  46. package/dist/Inputs/components/Context/Field.context.d.ts +3 -1
  47. package/dist/Loader/Loader.style.cjs +1 -1
  48. package/dist/Loader/Loader.style.js +1 -1
  49. package/dist/Menu/Menu.d.ts +1 -1
  50. package/dist/Menu/components/Content/Content.d.ts +1 -1
  51. package/dist/Menu/components/Content/components/Label/Label.d.ts +1 -1
  52. package/dist/Modal/Modal.d.ts +1 -1
  53. package/dist/Modal/components/Content/Content.d.ts +1 -1
  54. package/dist/ProfileIcon/ProfileIcon.types.d.ts +1 -1
  55. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.cjs +32 -0
  56. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.d.ts +8 -0
  57. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.js +32 -0
  58. package/dist/ScreenReaderAnnounce/index.d.ts +1 -0
  59. package/dist/Section/Section.cjs +11 -8
  60. package/dist/Section/Section.d.ts +9 -7
  61. package/dist/Section/Section.js +11 -8
  62. package/dist/Section/Section.types.d.ts +8 -2
  63. package/dist/Section/components/Body/Body.cjs +10 -6
  64. package/dist/Section/components/Body/Body.d.ts +1 -1
  65. package/dist/Section/components/Body/Body.js +11 -7
  66. package/dist/Section/components/Body/Body.style.cjs +1 -1
  67. package/dist/Section/components/Body/Body.style.js +1 -1
  68. package/dist/Section/components/Body/Body.types.d.ts +2 -5
  69. package/dist/Section/components/Compose/Compose.cjs +18 -7
  70. package/dist/Section/components/Compose/Compose.d.ts +1 -1
  71. package/dist/Section/components/Compose/Compose.js +18 -7
  72. package/dist/Section/components/Compose/Compose.types.d.ts +2 -2
  73. package/dist/Section/components/Header/Header.cjs +12 -20
  74. package/dist/Section/components/Header/Header.d.ts +5 -4
  75. package/dist/Section/components/Header/Header.js +12 -20
  76. package/dist/Section/components/Header/Header.types.d.ts +7 -3
  77. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.cjs +34 -0
  78. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.d.ts +2 -0
  79. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.js +34 -0
  80. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.style.cjs +30 -0
  81. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.style.d.ts +3 -0
  82. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.style.js +28 -0
  83. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.types.d.ts +6 -0
  84. package/dist/Section/components/Header/components/Compose/Compose.cjs +2 -30
  85. package/dist/Section/components/Header/components/Compose/Compose.d.ts +1 -1
  86. package/dist/Section/components/Header/components/Compose/Compose.js +3 -31
  87. package/dist/Section/components/Header/components/Compose/Compose.style.cjs +3 -36
  88. package/dist/Section/components/Header/components/Compose/Compose.style.d.ts +1 -9
  89. package/dist/Section/components/Header/components/Compose/Compose.style.js +5 -38
  90. package/dist/Section/components/Header/components/Compose/Compose.types.d.ts +2 -5
  91. package/dist/Section/components/Header/components/Group/Group.types.d.ts +1 -1
  92. package/dist/Section/components/Header/components/Label/Label.cjs +18 -7
  93. package/dist/Section/components/Header/components/Label/Label.js +19 -8
  94. package/dist/Section/components/Header/components/Label/Label.style.cjs +17 -4
  95. package/dist/Section/components/Header/components/Label/Label.style.d.ts +2 -1
  96. package/dist/Section/components/Header/components/Label/Label.style.js +17 -4
  97. package/dist/Section/components/Header/components/Label/Label.types.d.ts +2 -2
  98. package/dist/Section/components/SummaryBar/SummaryBar.cjs +14 -0
  99. package/dist/Section/components/SummaryBar/SummaryBar.d.ts +2 -0
  100. package/dist/Section/components/SummaryBar/SummaryBar.js +14 -0
  101. package/dist/Section/components/SummaryBar/SummaryBar.style.cjs +22 -0
  102. package/dist/Section/components/SummaryBar/SummaryBar.style.d.ts +3 -0
  103. package/dist/Section/components/SummaryBar/SummaryBar.style.js +20 -0
  104. package/dist/Section/components/SummaryBar/SummaryBar.types.d.ts +4 -0
  105. package/dist/Select/components/Content/components/Search/SelectSearchInput.style.d.ts +1 -1
  106. package/dist/SideBar/components/Footer/Footer.style.cjs +4 -1
  107. package/dist/SideBar/components/Footer/Footer.style.js +5 -2
  108. package/dist/SideBar/components/Header/Header.cjs +4 -6
  109. package/dist/SideBar/components/Header/Header.js +4 -6
  110. package/dist/SideBar/components/ScrollContainer/ScrollContainer.types.d.ts +1 -1
  111. package/dist/Stepper/Stepper.cjs +15 -27
  112. package/dist/Stepper/Stepper.context.cjs +13 -0
  113. package/dist/Stepper/Stepper.context.d.ts +12 -0
  114. package/dist/Stepper/Stepper.context.js +13 -0
  115. package/dist/Stepper/Stepper.d.ts +14 -5
  116. package/dist/Stepper/Stepper.js +15 -25
  117. package/dist/Stepper/Stepper.types.d.ts +9 -3
  118. package/dist/Stepper/components/Compose/Compose.cjs +42 -0
  119. package/dist/Stepper/components/Compose/Compose.d.ts +10 -0
  120. package/dist/Stepper/components/Compose/Compose.js +42 -0
  121. package/dist/Stepper/{Stepper.style.cjs → components/Compose/Compose.style.cjs} +4 -4
  122. package/dist/Stepper/components/Compose/Compose.style.d.ts +1 -0
  123. package/dist/Stepper/{Stepper.style.js → components/Compose/Compose.style.js} +4 -4
  124. package/dist/Stepper/components/Compose/Compose.types.d.ts +6 -0
  125. package/dist/Stepper/components/Step/Step.cjs +10 -17
  126. package/dist/Stepper/components/Step/Step.context.d.ts +3 -3
  127. package/dist/Stepper/components/Step/Step.d.ts +7 -5
  128. package/dist/Stepper/components/Step/Step.js +10 -17
  129. package/dist/Stepper/components/Step/Step.types.cjs +2 -2
  130. package/dist/Stepper/components/Step/Step.types.d.ts +6 -8
  131. package/dist/Stepper/components/Step/Step.types.js +2 -2
  132. package/dist/Stepper/components/Step/components/Compose/Compose.cjs +36 -4
  133. package/dist/Stepper/components/Step/components/Compose/Compose.d.ts +1 -1
  134. package/dist/Stepper/components/Step/components/Compose/Compose.js +37 -5
  135. package/dist/Stepper/components/Step/components/Compose/Compose.style.cjs +8 -4
  136. package/dist/Stepper/components/Step/components/Compose/Compose.style.d.ts +1 -1
  137. package/dist/Stepper/components/Step/components/Compose/Compose.style.js +10 -6
  138. package/dist/Stepper/components/Step/components/Compose/Compose.types.d.ts +2 -5
  139. package/dist/Stepper/components/Step/components/Icon/Icon.cjs +11 -6
  140. package/dist/Stepper/components/Step/components/Icon/Icon.d.ts +1 -1
  141. package/dist/Stepper/components/Step/components/Icon/Icon.js +12 -7
  142. package/dist/Stepper/components/Step/components/Icon/Icon.style.cjs +1 -1
  143. package/dist/Stepper/components/Step/components/Icon/Icon.style.js +2 -2
  144. package/dist/Stepper/components/Step/components/Label/Label.cjs +11 -13
  145. package/dist/Stepper/components/Step/components/Label/Label.d.ts +1 -1
  146. package/dist/Stepper/components/Step/components/Label/Label.js +12 -14
  147. package/dist/Stepper/components/Step/components/Label/Label.style.cjs +8 -8
  148. package/dist/Stepper/components/Step/components/Label/Label.style.d.ts +1 -1
  149. package/dist/Stepper/components/Step/components/Label/Label.style.js +9 -9
  150. package/dist/Stepper/components/Step/components/Label/Label.types.d.ts +3 -2
  151. package/dist/Stepper/hooks/useStepIndexing.cjs +38 -0
  152. package/dist/Stepper/hooks/useStepIndexing.d.ts +10 -0
  153. package/dist/Stepper/hooks/useStepIndexing.js +38 -0
  154. package/dist/Stepper/hooks/useStepRegistration.cjs +25 -0
  155. package/dist/Stepper/hooks/useStepRegistration.d.ts +5 -0
  156. package/dist/Stepper/hooks/useStepRegistration.js +25 -0
  157. package/dist/Stepper/hooks/useStepperInteractive.cjs +96 -0
  158. package/dist/Stepper/hooks/useStepperInteractive.d.ts +30 -0
  159. package/dist/Stepper/hooks/useStepperInteractive.js +96 -0
  160. package/dist/Switch/Switch.d.ts +1 -1
  161. package/dist/TableHeading/TableHeading.d.ts +1 -1
  162. package/dist/TableHeading/TableHeading.style.d.ts +1 -1
  163. package/dist/Tabs/Tabs.d.ts +3 -3
  164. package/dist/Tabs/components/ContentPane/ContentPane.d.ts +1 -1
  165. package/dist/Tabs/components/TabBar/TabBar.d.ts +2 -2
  166. package/dist/Tabs/components/TabBar/components/Trigger/Trigger.d.ts +1 -1
  167. package/dist/Toast/Toast.d.ts +4 -4
  168. package/dist/Toast/components/Actions/Actions.d.ts +1 -1
  169. package/dist/Toast/components/Actions/Actions.types.d.ts +1 -1
  170. package/dist/Toast/components/Actions/components/Action/Action.cjs +1 -1
  171. package/dist/Toast/components/Actions/components/Action/Action.js +1 -1
  172. package/dist/Toast/components/Actions/components/Compose/Compose.d.ts +1 -1
  173. package/dist/Toast/components/Compose/Compose.cjs +2 -2
  174. package/dist/Toast/components/Compose/Compose.d.ts +1 -1
  175. package/dist/Toast/components/Compose/Compose.js +2 -2
  176. package/dist/Toast/components/Compose/Compose.style.d.ts +1 -1
  177. package/dist/Toast/components/Content/Content.d.ts +1 -1
  178. package/dist/Toast/components/Content/Content.types.d.ts +1 -1
  179. package/dist/Toast/components/Content/components/Compose/Compose.cjs +15 -3
  180. package/dist/Toast/components/Content/components/Compose/Compose.d.ts +1 -1
  181. package/dist/Toast/components/Content/components/Compose/Compose.js +15 -3
  182. package/dist/Toast/components/Content/components/Description/Description.cjs +1 -1
  183. package/dist/Toast/components/Content/components/Description/Description.js +1 -1
  184. package/dist/Toast/components/Content/components/Message/Message.cjs +1 -1
  185. package/dist/Toast/components/Content/components/Message/Message.js +1 -1
  186. package/dist/Toast/components/Icon/Icon.cjs +1 -0
  187. package/dist/Toast/components/Icon/Icon.js +1 -0
  188. package/dist/Toast/core/content.helper.cjs +1 -1
  189. package/dist/Toast/core/content.helper.js +2 -2
  190. package/dist/Toast/core/context.cjs +4 -5
  191. package/dist/Toast/core/context.d.ts +1 -2
  192. package/dist/Toast/core/context.js +4 -5
  193. package/dist/Toast/core/core.cjs +2 -0
  194. package/dist/Toast/core/core.d.ts +9 -8
  195. package/dist/Toast/core/core.js +3 -1
  196. package/dist/Toast/core/mapping.helpers.cjs +24 -16
  197. package/dist/Toast/core/mapping.helpers.d.ts +8 -6
  198. package/dist/Toast/core/mapping.helpers.js +25 -17
  199. package/dist/Toast/core/mapping.types.d.ts +9 -8
  200. package/dist/Tooltip/Tooltip.types.d.ts +1 -1
  201. package/dist/Typography/components/Heading/Heading.types.d.ts +1 -1
  202. package/dist/index.cjs +7 -1
  203. package/dist/index.d.ts +1 -0
  204. package/dist/index.js +8 -2
  205. package/package.json +3 -3
  206. package/dist/Section/components/Header/components/ActionButton/ActionButton.cjs +0 -23
  207. package/dist/Section/components/Header/components/ActionButton/ActionButton.js +0 -23
  208. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.cjs +0 -19
  209. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.d.ts +0 -2
  210. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.js +0 -19
  211. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.style.cjs +0 -11
  212. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.style.d.ts +0 -1
  213. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.style.js +0 -9
  214. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.types.d.ts +0 -2
  215. package/dist/Stepper/Stepper.style.d.ts +0 -1
@@ -0,0 +1,32 @@
1
+ import { useState, useEffect } from "react";
2
+ function isScrollable(el) {
3
+ return el.scrollHeight > el.clientHeight || el.scrollWidth > el.clientWidth;
4
+ }
5
+ const useScrollable = (ref) => {
6
+ const [scrollable, setScrollable] = useState(false);
7
+ useEffect(() => {
8
+ const el = ref.current;
9
+ if (!el) return void 0;
10
+ const update = () => setScrollable(isScrollable(el));
11
+ const resizeObserver = new ResizeObserver(update);
12
+ resizeObserver.observe(el);
13
+ const mutationObserver = new MutationObserver(update);
14
+ mutationObserver.observe(el, {
15
+ childList: true,
16
+ subtree: true,
17
+ attributes: true,
18
+ characterData: true
19
+ });
20
+ window.addEventListener("resize", update);
21
+ update();
22
+ return () => {
23
+ resizeObserver.disconnect();
24
+ mutationObserver.disconnect();
25
+ window.removeEventListener("resize", update);
26
+ };
27
+ }, [ref]);
28
+ return scrollable;
29
+ };
30
+ export {
31
+ useScrollable
32
+ };
@@ -3,7 +3,9 @@ export * from './generateId';
3
3
  export * from './debounce';
4
4
  export * from './contexts/SharedId.context';
5
5
  export * from './contexts/PrimitiveContextState';
6
+ export * from './contexts/NullableContext';
6
7
  export * from './SelfContained';
7
8
  export * from './RestylableElement';
8
9
  export * from './contexts/Popper/Popper.context';
9
10
  export * from './common.types';
11
+ export * from './hooks/useScrollable';
@@ -2,7 +2,7 @@
2
2
  import { RestInputProps } from './Input.types';
3
3
  declare const Input: import("react").ForwardRefExoticComponent<import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/InputValueProvider").InputValueProviderProps, "children"> & import("../components/InputTag/InputTag.types").InputTagProps & import("../components/LoadingIndicator/LoadingIndicator.types").LoadingIndicatorProps & import("../components/ResetButton/ResetButton.types").ResetButtonProps & RestInputProps & import("react").RefAttributes<HTMLInputElement>> & {
4
4
  StatusIndicator: ({ className, style, size, ...restProps }: import("@redislabsdev/redis-ui-icons/monochrome").MonochromeIconProps & Pick<import("react").HTMLAttributes<unknown>, "style" | "className">) => import("react/jsx-runtime").JSX.Element | null;
5
- Compose: ({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
5
+ Compose: ({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
6
6
  readonlyRender?: import("../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
7
7
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
8
8
  }) => import("react/jsx-runtime").JSX.Element;
@@ -4,7 +4,7 @@ declare const NumericInput: import("react").ForwardRefExoticComponent<import("..
4
4
  readOnly?: boolean | undefined;
5
5
  } & RestNumericInputProps & import("react").RefAttributes<HTMLInputElement>> & {
6
6
  StatusIndicator: ({ className, style, size, ...restProps }: import("@redislabsdev/redis-ui-icons/monochrome").MonochromeIconProps & Pick<import("react").HTMLAttributes<unknown>, "style" | "className">) => import("react/jsx-runtime").JSX.Element | null;
7
- Compose: ({ value, defaultValue, onChange, min, max, step, required, maxDecimals, autoValidate, validate, calcStepActionValue, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/NumericInputValueProvider").NumericInputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
7
+ Compose: ({ value, defaultValue, onChange, min, max, step, required, maxDecimals, autoValidate, validate, calcStepActionValue, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/NumericInputValueProvider").NumericInputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
8
8
  readonlyRender?: import("../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
9
9
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
10
10
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const PasswordInputCompose: import("styled-components").StyledComponent<({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../../../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../../../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
2
+ export declare const PasswordInputCompose: import("styled-components").StyledComponent<({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../../../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../../../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
3
3
  readonlyRender?: import("../../../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
4
4
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
5
5
  }) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
@@ -4,7 +4,7 @@ declare const QuantityCounter: import("react").ForwardRefExoticComponent<import(
4
4
  incrementButtonProps?: Omit<import("./QuantityCounter.types").QuantityCounterStepButtonProps, "action"> | undefined;
5
5
  decrementButtonProps?: Omit<import("./QuantityCounter.types").QuantityCounterStepButtonProps, "action"> | undefined;
6
6
  } & RestQuantityCounterProps & import("react").RefAttributes<HTMLInputElement>> & {
7
- Compose: ({ valueLabel, readonlyRender, children, onMouseEnter, onMouseLeave, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/NumericInputValueProvider").NumericInputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
7
+ Compose: ({ valueLabel, readonlyRender, children, onMouseEnter, onMouseLeave, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/NumericInputValueProvider").NumericInputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
8
8
  readonlyRender?: import("../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
9
9
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
10
10
  } & {
@@ -12,7 +12,7 @@ declare const QuantityCounter: import("react").ForwardRefExoticComponent<import(
12
12
  }) => import("react/jsx-runtime").JSX.Element;
13
13
  StepButton: ({ action, title, variant, size, icon, disabled, onClick, onMouseDown, ...restProps }: import("./QuantityCounter.types").QuantityCounterStepButtonProps) => import("react/jsx-runtime").JSX.Element;
14
14
  InputGroup: import("react").ForwardRefExoticComponent<import("../components/InputTag/InputTag.types").RestInputTagProps & import("./QuantityCounter.types").QuantityCounterInputGroupProps & import("react").RefAttributes<HTMLInputElement>> & {
15
- Compose: (props: import("../..").ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
15
+ Compose: (props: import("../..").ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
16
16
  Tag: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../components/InputTag/InputTag.types").InputTagProps & import("../components/InputTag/InputTag.types").RestInputTagProps & import("react").RefAttributes<HTMLInputElement>>, any, {
17
17
  autoSize: true;
18
18
  'aria-description': string;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const QuantityCounterCompose: import("styled-components").StyledComponent<({ value, defaultValue, onChange, min, max, step, required, maxDecimals, autoValidate, validate, calcStepActionValue, ...restProps }: import("../../../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../components/Context/NumericInputValueProvider").NumericInputValueProviderProps, "children"> & Omit<import("../../../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
2
+ export declare const QuantityCounterCompose: import("styled-components").StyledComponent<({ value, defaultValue, onChange, min, max, step, required, maxDecimals, autoValidate, validate, calcStepActionValue, ...restProps }: import("../../../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../components/Context/NumericInputValueProvider").NumericInputValueProviderProps, "children"> & Omit<import("../../../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
3
3
  readonlyRender?: import("../../../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
4
4
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
5
5
  }) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { QuantityCounterInputGroupProps } from './InputGroup.types';
3
3
  export declare const InputGroup: import("react").ForwardRefExoticComponent<import("../../../components/InputTag/InputTag.types").RestInputTagProps & QuantityCounterInputGroupProps & import("react").RefAttributes<HTMLInputElement>> & {
4
- Compose: (props: import("../../../..").ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
4
+ Compose: (props: import("../../../..").ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
5
5
  Tag: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../../components/InputTag/InputTag.types").InputTagProps & import("../../../components/InputTag/InputTag.types").RestInputTagProps & import("react").RefAttributes<HTMLInputElement>>, any, {
6
6
  autoSize: true;
7
7
  'aria-description': string;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  declare const SearchInput: import("react").ForwardRefExoticComponent<Omit<import("../components/Compose/TextCompose.types").TextInputComposeProps, "readOnly" | "parser" | "formatter"> & import("../components/InputTag/InputTag.types").InputTagProps & import("../components/LoadingIndicator/LoadingIndicator.types").LoadingIndicatorProps & import("../components/ResetButton/ResetButton.types").ResetButtonProps & import("..").RestInputProps & import("react").RefAttributes<HTMLInputElement>> & {
3
- Compose: ({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
3
+ Compose: ({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
4
4
  readonlyRender?: import("../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
5
5
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
6
6
  }) => import("react/jsx-runtime").JSX.Element;
@@ -8,7 +8,7 @@ declare const TextArea: import("react").ForwardRefExoticComponent<Omit<import(".
8
8
  StatusIndicator: import("styled-components").StyledComponent<({ className, style, size, ...restProps }: import("@redislabsdev/redis-ui-icons/monochrome").MonochromeIconProps & Pick<import("react").HTMLAttributes<unknown>, "style" | "className">) => import("react/jsx-runtime").JSX.Element | null, any, {}, never>;
9
9
  Compose: ({ readonlyRender, ...restProps }: Omit<import("../components/Compose/TextCompose.types").TextInputComposeProps, "parser" | "formatter"> & {
10
10
  height?: string | undefined;
11
- } & Omit<import("../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
11
+ } & Omit<import("../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
12
12
  readonlyRender?: import("../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
13
13
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
14
14
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const TextAreaCompose: import("styled-components").StyledComponent<({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../../../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../../../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
2
+ export declare const TextAreaCompose: import("styled-components").StyledComponent<({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../../../components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../../../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
3
3
  readonlyRender?: import("../../../components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
4
4
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
5
5
  }) => import("react/jsx-runtime").JSX.Element, any, Omit<import("../../../components/Compose/TextCompose.types").TextInputComposeProps, "parser" | "formatter"> & {
@@ -1,4 +1,6 @@
1
1
  import { ReactElement } from 'react';
2
- export declare const useFieldDisabled: (value?: boolean | undefined) => boolean | undefined, FieldDisabledProvider: ({ value, children }: Partial<import("react").ProviderProps<boolean>>) => import("react/jsx-runtime").JSX.Element, FieldDisabledTransProvider: ({ value, children }: Partial<import("react").ProviderProps<boolean>>) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const useFieldDisabled: (value?: boolean | undefined) => boolean | undefined, FieldDisabledProvider: ({ value, children }: Partial<import("react").ProviderProps<boolean>>) => import("react/jsx-runtime").JSX.Element, FieldDisabledTransProvider: ({ value, passOnlyStateDown, children }: Partial<import("react").ProviderProps<boolean>> & {
3
+ passOnlyStateDown?: boolean | ((state: boolean) => boolean) | undefined;
4
+ }) => import("react/jsx-runtime").JSX.Element;
3
5
  export declare const useErrorContent: () => string | ReactElement<any, string | import("react").JSXElementConstructor<any>>;
4
6
  export declare const ErrorContentProvider: import("react").Provider<string | ReactElement<any, string | import("react").JSXElementConstructor<any>>>;
@@ -33,7 +33,7 @@ const MessageText = _styled__default.default.div.withConfig({
33
33
  }) => {
34
34
  var _a;
35
35
  const theme = redisUiStyles.useTheme().components.loader;
36
- return ((_a = theme.variants[$variant]) == null ? void 0 : _a.textColor) ?? theme.textColor;
36
+ return (_a = theme.variants[$variant]) == null ? void 0 : _a.textColor;
37
37
  });
38
38
  const getVariantStyle = (variant) => {
39
39
  return _styled.css`
@@ -29,7 +29,7 @@ const MessageText = _styled.div.withConfig({
29
29
  }) => {
30
30
  var _a;
31
31
  const theme = useTheme().components.loader;
32
- return ((_a = theme.variants[$variant]) == null ? void 0 : _a.textColor) ?? theme.textColor;
32
+ return (_a = theme.variants[$variant]) == null ? void 0 : _a.textColor;
33
33
  });
34
34
  const getVariantStyle = (variant) => {
35
35
  return css`
@@ -17,7 +17,7 @@ declare const Menu: (({ disabled, ...restProps }: MenuProps) => import("react/js
17
17
  Label: (({ children, text, icon, ...restProps }: import(".").MenuLabelProps & import(".").RestMenuLabelProps) => import("react/jsx-runtime").JSX.Element) & {
18
18
  Text: ({ tooltipOnEllipsis, ...restProps }: import("..").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
19
19
  Icon: ({ icon, ...props }: import("./components/Content/components/Item/Components/Icon/Icon.types").MenuIconProps) => import("react/jsx-runtime").JSX.Element;
20
- Compose: (props: import("./components/Content/components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
20
+ Compose: (props: import("./components/Content/components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
21
21
  };
22
22
  Separator: (props: import("./components/Content/components/Separator/Separator.types").SeparatorProps) => import("react/jsx-runtime").JSX.Element;
23
23
  };
@@ -13,7 +13,7 @@ declare const Content: import("react").ForwardRefExoticComponent<MenuContentProp
13
13
  Label: (({ children, text, icon, ...restProps }: import("../..").MenuLabelProps & import("../..").RestMenuLabelProps) => import("react/jsx-runtime").JSX.Element) & {
14
14
  Text: ({ tooltipOnEllipsis, ...restProps }: import("../../..").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
15
15
  Icon: ({ icon, ...props }: import("./components/Item/Components/Icon/Icon.types").MenuIconProps) => import("react/jsx-runtime").JSX.Element;
16
- Compose: (props: import("./components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("../../../Helpers").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
16
+ Compose: (props: import("./components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("../../../Helpers").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
17
17
  };
18
18
  Separator: (props: import("./components/Separator/Separator.types").SeparatorProps) => import("react/jsx-runtime").JSX.Element;
19
19
  };
@@ -3,6 +3,6 @@ import { MenuLabelProps, RestMenuLabelProps } from './Label.types';
3
3
  declare const Label: (({ children, text, icon, ...restProps }: MenuLabelProps & RestMenuLabelProps) => import("react/jsx-runtime").JSX.Element) & {
4
4
  Text: ({ tooltipOnEllipsis, ...restProps }: import("../../../../..").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
5
5
  Icon: ({ icon, ...props }: import("../Item/Components/Icon/Icon.types").MenuIconProps) => import("react/jsx-runtime").JSX.Element;
6
- Compose: (props: import("./components/Compose/Compose.types").MenuLabelComposeProps & import("../../../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
6
+ Compose: (props: import("./components/Compose/Compose.types").MenuLabelComposeProps & import("../../../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
7
7
  };
8
8
  export default Label;
@@ -8,7 +8,7 @@ declare const Modal: (({ children, defaultOpen, onOpenChange, open, withButton,
8
8
  Compose: (props: import("./components/Content/components/Header/components/Compose/Compose.types").ContentHeaderComposeProps) => import("react/jsx-runtime").JSX.Element;
9
9
  Title: ({ hidden, children, ...restProps }: import("./components/Content/components/Header/components/Title/Title.types").TitleProps) => import("react/jsx-runtime").JSX.Element;
10
10
  };
11
- Description: (({ hidden, children, ...restProps }: import("./components/Content/components/Description/Description.types").ModalDescriptionProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element | null) & {
11
+ Description: (({ hidden, children, ...restProps }: import("./components/Content/components/Description/Description.types").ModalDescriptionProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element | null) & {
12
12
  Text: (props: import("..").TypographyHeadingProps) => import("react/jsx-runtime").JSX.Element;
13
13
  };
14
14
  Body: (({ content, ...restProps }: import("./components/Content/components/Body/Body.types").ContentBodyProps) => import("react/jsx-runtime").JSX.Element) & {
@@ -6,7 +6,7 @@ declare const Content: (({ title, description, descriptionHidden, onCancel, prim
6
6
  Compose: (props: import("./components/Header/components/Compose/Compose.types").ContentHeaderComposeProps) => import("react/jsx-runtime").JSX.Element;
7
7
  Title: ({ hidden, children, ...restProps }: import("./components/Header/components/Title/Title.types").TitleProps) => import("react/jsx-runtime").JSX.Element;
8
8
  };
9
- Description: (({ hidden, children, ...restProps }: import("./components/Description/Description.types").ModalDescriptionProps & import("../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element | null) & {
9
+ Description: (({ hidden, children, ...restProps }: import("./components/Description/Description.types").ModalDescriptionProps & import("../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element | null) & {
10
10
  Text: (props: import("../../..").TypographyHeadingProps) => import("react/jsx-runtime").JSX.Element;
11
11
  };
12
12
  Body: (({ content, ...restProps }: import("./components/Body/Body.types").ContentBodyProps) => import("react/jsx-runtime").JSX.Element) & {
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
- import { AnyOtherString } from 'src/Helpers/common.types';
2
+ import { AnyOtherString } from '../Helpers/common.types';
3
3
  export type Colors = {
4
4
  primaryColor: string;
5
5
  secondaryColor: string;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../node_modules/react/jsx-runtime.cjs");
4
+ const React = require("react");
5
+ const index = require("../node_modules/@radix-ui/react-visually-hidden/dist/index.cjs");
6
+ const ScreenReaderAnnounce = ({
7
+ text,
8
+ allowAnnounce = void 0,
9
+ ...restProps
10
+ }) => {
11
+ const [enabled, setEnabled] = React.useState(false);
12
+ const hasTextChangedRef = React.useRef(false);
13
+ React.useLayoutEffect(() => {
14
+ if (allowAnnounce === void 0) {
15
+ if (hasTextChangedRef.current) {
16
+ setEnabled(true);
17
+ } else {
18
+ hasTextChangedRef.current = true;
19
+ }
20
+ } else {
21
+ setEnabled(allowAnnounce);
22
+ }
23
+ }, [allowAnnounce, text]);
24
+ if (!enabled || !text) return null;
25
+ return jsxRuntime.jsxRuntimeExports.jsx(index.VisuallyHidden, {
26
+ "aria-atomic": true,
27
+ "aria-live": restProps.role === "alert" ? void 0 : "polite",
28
+ ...restProps,
29
+ children: text
30
+ });
31
+ };
32
+ exports.ScreenReaderAnnounce = ScreenReaderAnnounce;
@@ -0,0 +1,8 @@
1
+ import { ComponentProps, AriaAttributes } from 'react';
2
+ import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
3
+ export type ScreenReaderAnnounceProps = Omit<ComponentProps<typeof VisuallyHidden>, 'children' | 'style' | 'className' | 'aria-hidden' | 'role' | 'text' | 'asChild' | keyof AriaAttributes> & Pick<AriaAttributes, 'aria-live' | 'aria-atomic'> & {
4
+ text: string;
5
+ allowAnnounce?: boolean;
6
+ role?: 'alert' | 'status' | 'log';
7
+ };
8
+ export declare const ScreenReaderAnnounce: ({ text, allowAnnounce, ...restProps }: ScreenReaderAnnounceProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,32 @@
1
+ import { j as jsxRuntimeExports } from "../node_modules/react/jsx-runtime.js";
2
+ import { useState, useRef, useLayoutEffect } from "react";
3
+ import { VisuallyHidden } from "../node_modules/@radix-ui/react-visually-hidden/dist/index.js";
4
+ const ScreenReaderAnnounce = ({
5
+ text,
6
+ allowAnnounce = void 0,
7
+ ...restProps
8
+ }) => {
9
+ const [enabled, setEnabled] = useState(false);
10
+ const hasTextChangedRef = useRef(false);
11
+ useLayoutEffect(() => {
12
+ if (allowAnnounce === void 0) {
13
+ if (hasTextChangedRef.current) {
14
+ setEnabled(true);
15
+ } else {
16
+ hasTextChangedRef.current = true;
17
+ }
18
+ } else {
19
+ setEnabled(allowAnnounce);
20
+ }
21
+ }, [allowAnnounce, text]);
22
+ if (!enabled || !text) return null;
23
+ return jsxRuntimeExports.jsx(VisuallyHidden, {
24
+ "aria-atomic": true,
25
+ "aria-live": restProps.role === "alert" ? void 0 : "polite",
26
+ ...restProps,
27
+ children: text
28
+ });
29
+ };
30
+ export {
31
+ ScreenReaderAnnounce
32
+ };
@@ -0,0 +1 @@
1
+ export * from './ScreenReaderAnnounce';
@@ -4,29 +4,32 @@ const jsxRuntime = require("../node_modules/react/jsx-runtime.cjs");
4
4
  const Compose = require("./components/Compose/Compose.cjs");
5
5
  const Header = require("./components/Header/Header.cjs");
6
6
  const Body = require("./components/Body/Body.cjs");
7
+ const SummaryBar = require("./components/SummaryBar/SummaryBar.cjs");
7
8
  const Section = Object.assign(({
8
9
  content,
9
10
  label,
10
- onAction,
11
- actionButtonText,
12
- collapsedInfo,
11
+ actions,
12
+ summary,
13
+ summaryAlwaysVisible,
13
14
  ...composeProps
14
15
  }) => {
15
16
  return jsxRuntime.jsxRuntimeExports.jsxs(Section.Compose, {
16
17
  ...composeProps,
17
18
  children: [jsxRuntime.jsxRuntimeExports.jsx(Section.Header, {
18
19
  label,
19
- onAction,
20
- actionButtonText,
21
- collapsedInfo
20
+ actions
22
21
  }), jsxRuntime.jsxRuntimeExports.jsx(Section.Body, {
23
- content
22
+ children: content
23
+ }), jsxRuntime.jsxRuntimeExports.jsx(Section.SummaryBar, {
24
+ alwaysVisible: summaryAlwaysVisible,
25
+ children: summary
24
26
  })]
25
27
  });
26
28
  }, {
27
29
  Compose: Compose.Compose,
28
30
  Header: Header.Header,
29
- Body: Body.Body
31
+ Body: Body.Body,
32
+ SummaryBar: SummaryBar.SummaryBar
30
33
  });
31
34
  const Section$1 = Section;
32
35
  exports.default = Section$1;
@@ -1,13 +1,15 @@
1
+ /// <reference types="react" />
1
2
  import { SectionProps } from './Section.types';
2
- declare const Section: (({ content, label, onAction, actionButtonText, collapsedInfo, ...composeProps }: SectionProps) => import("react/jsx-runtime").JSX.Element) & {
3
- Compose: ({ open, defaultOpen, disabled, onOpenChange, collapsible, children, ...props }: import("./components/Compose/Compose.types").SectionComposeProps) => import("react/jsx-runtime").JSX.Element;
4
- Header: (({ label, onAction, actionButtonText, collapsedInfo }: import("./components/Header/Header.types").SectionHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
5
- Compose: ({ children, collapsedInfo, ...props }: import("./components/Header/components/Compose/Compose.types").SectionHeaderComposeProps) => import("react/jsx-runtime").JSX.Element;
3
+ declare const Section: (({ content, label, actions, summary, summaryAlwaysVisible, ...composeProps }: SectionProps) => import("react/jsx-runtime").JSX.Element) & {
4
+ Compose: ({ open: controlledOpen, defaultOpen, disabled, onOpenChange, collapsible, children, ...props }: import("./components/Compose/Compose.types").SectionComposeProps) => import("react/jsx-runtime").JSX.Element;
5
+ Header: (({ label, actions }: import("./components/Header/Header.types").SectionHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
6
+ Compose: (props: import("./components/Header/components/Compose/Compose.types").SectionHeaderComposeProps) => import("react/jsx-runtime").JSX.Element;
6
7
  Label: ({ label, ...restProps }: import("./components/Header/components/Label/Label.types").SectionHeaderLabelProps) => import("react/jsx-runtime").JSX.Element;
7
- ActionButton: ({ onClick, children, ...restProps }: import("./components/Header/components/ActionButton/ActionButton.types").SectionHeaderActionButtonsProps) => import("react/jsx-runtime").JSX.Element | null;
8
- CollapseIndicator: (props: import("@redislabsdev/redis-ui-icons/monochrome").MonochromeIconProps) => import("react/jsx-runtime").JSX.Element | null;
8
+ ActionButton: import("react").ForwardRefExoticComponent<import("..").TextButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
9
+ CollapseButton: ({ hidden, icon, ...props }: import("./components/Header/components/CollapseButton/CollapseButton.types").SectionCollapseButtonProps) => import("react/jsx-runtime").JSX.Element | null;
9
10
  Group: (props: import("./components/Header/components/Group/Group.types").SectionHeaderGroupProps) => import("react/jsx-runtime").JSX.Element;
10
11
  };
11
- Body: ({ content, ...props }: import("./components/Body/Body.types").SectionBodyProps) => import("react/jsx-runtime").JSX.Element | null;
12
+ Body: ({ children, ...props }: import("./components/Body/Body.types").SectionBodyProps) => import("react/jsx-runtime").JSX.Element | null;
13
+ SummaryBar: ({ children, alwaysVisible, ...restProps }: import("./components/SummaryBar/SummaryBar.types").SummaryBarProps) => import("react/jsx-runtime").JSX.Element | null;
12
14
  };
13
15
  export default Section;
@@ -2,29 +2,32 @@ import { j as jsxRuntimeExports } from "../node_modules/react/jsx-runtime.js";
2
2
  import { Compose } from "./components/Compose/Compose.js";
3
3
  import { Header } from "./components/Header/Header.js";
4
4
  import { Body } from "./components/Body/Body.js";
5
+ import { SummaryBar } from "./components/SummaryBar/SummaryBar.js";
5
6
  const Section = Object.assign(({
6
7
  content,
7
8
  label,
8
- onAction,
9
- actionButtonText,
10
- collapsedInfo,
9
+ actions,
10
+ summary,
11
+ summaryAlwaysVisible,
11
12
  ...composeProps
12
13
  }) => {
13
14
  return jsxRuntimeExports.jsxs(Section.Compose, {
14
15
  ...composeProps,
15
16
  children: [jsxRuntimeExports.jsx(Section.Header, {
16
17
  label,
17
- onAction,
18
- actionButtonText,
19
- collapsedInfo
18
+ actions
20
19
  }), jsxRuntimeExports.jsx(Section.Body, {
21
- content
20
+ children: content
21
+ }), jsxRuntimeExports.jsx(Section.SummaryBar, {
22
+ alwaysVisible: summaryAlwaysVisible,
23
+ children: summary
22
24
  })]
23
25
  });
24
26
  }, {
25
27
  Compose,
26
28
  Header,
27
- Body
29
+ Body,
30
+ SummaryBar
28
31
  });
29
32
  const Section$1 = Section;
30
33
  export {
@@ -1,10 +1,16 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { SectionComposeProps } from './components/Compose/Compose.types';
3
- import { SectionHeaderProps } from './components/Header/Header.types';
4
- export interface SectionProps extends Omit<SectionComposeProps, 'children'>, Pick<SectionHeaderProps, 'label' | 'onAction' | 'actionButtonText' | 'collapsedInfo'> {
3
+ import { OwnSectionHeaderProps } from './components/Header/Header.types';
4
+ import { ChildFree } from '../Helpers';
5
+ export interface SectionProps extends ChildFree<SectionComposeProps>, OwnSectionHeaderProps {
5
6
  content?: ReactNode;
7
+ summary?: ReactNode;
8
+ summaryAlwaysVisible?: boolean;
6
9
  }
7
10
  export interface SectionContextProps {
8
11
  collapsible?: boolean;
9
12
  setHasContent: (hasContent: boolean) => void;
13
+ triggerId: string | undefined;
14
+ labelId: string;
15
+ open: boolean;
10
16
  }
@@ -5,21 +5,25 @@ const React = require("react");
5
5
  const Section_context = require("../../Section.context.cjs");
6
6
  const Body_style = require("./Body.style.cjs");
7
7
  const Body = ({
8
- content,
8
+ children,
9
9
  ...props
10
10
  }) => {
11
11
  const {
12
- setHasContent
12
+ setHasContent,
13
+ labelId
13
14
  } = Section_context.useSectionContext();
15
+ const hasContent = !!React.Children.toArray(children).filter((ch) => typeof ch !== "string" || ch.trim() !== "").length;
14
16
  React.useLayoutEffect(() => {
15
- setHasContent(!!content);
16
- }, [setHasContent, content]);
17
- if (!content) {
17
+ setHasContent(hasContent);
18
+ }, [setHasContent, hasContent]);
19
+ if (!hasContent) {
18
20
  return null;
19
21
  }
20
22
  return jsxRuntime.jsxRuntimeExports.jsx(Body_style.SectionBody, {
23
+ role: "region",
24
+ "aria-labelledby": labelId,
21
25
  ...props,
22
- children: content
26
+ children
23
27
  });
24
28
  };
25
29
  exports.Body = Body;
@@ -1,2 +1,2 @@
1
1
  import { SectionBodyProps } from './Body.types';
2
- export declare const Body: ({ content, ...props }: SectionBodyProps) => import("react/jsx-runtime").JSX.Element | null;
2
+ export declare const Body: ({ children, ...props }: SectionBodyProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,23 +1,27 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
- import { useLayoutEffect } from "react";
2
+ import { Children, useLayoutEffect } from "react";
3
3
  import { useSectionContext } from "../../Section.context.js";
4
4
  import { SectionBody } from "./Body.style.js";
5
5
  const Body = ({
6
- content,
6
+ children,
7
7
  ...props
8
8
  }) => {
9
9
  const {
10
- setHasContent
10
+ setHasContent,
11
+ labelId
11
12
  } = useSectionContext();
13
+ const hasContent = !!Children.toArray(children).filter((ch) => typeof ch !== "string" || ch.trim() !== "").length;
12
14
  useLayoutEffect(() => {
13
- setHasContent(!!content);
14
- }, [setHasContent, content]);
15
- if (!content) {
15
+ setHasContent(hasContent);
16
+ }, [setHasContent, hasContent]);
17
+ if (!hasContent) {
16
18
  return null;
17
19
  }
18
20
  return jsxRuntimeExports.jsx(SectionBody, {
21
+ role: "region",
22
+ "aria-labelledby": labelId,
19
23
  ...props,
20
- children: content
24
+ children
21
25
  });
22
26
  };
23
27
  export {
@@ -8,5 +8,5 @@ const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
8
8
  const SectionBody = _styled__default.default(index.Content).withConfig({
9
9
  displayName: "Bodystyle__SectionBody",
10
10
  componentId: "RedisUI__sc-1oa2ez8-0"
11
- })(["display:flex;padding:", ";justify-content:space-between;align-items:center;&[hidden]{padding:0;}"], () => redisUiStyles.useTheme().components.section.body.padding);
11
+ })(["display:flex;padding:", ";justify-content:space-between;align-items:center;&[hidden]{padding:0;}&:not(:first-child){box-shadow:inset 0 ", " 0 0 ", ";}"], () => redisUiStyles.useTheme().components.section.body.padding, () => redisUiStyles.useTheme().components.section.separator.width, () => redisUiStyles.useTheme().components.section.separator.color);
12
12
  exports.SectionBody = SectionBody;
@@ -4,7 +4,7 @@ import { Content } from "../../../node_modules/@radix-ui/react-collapsible/dist/
4
4
  const SectionBody = _styled(Content).withConfig({
5
5
  displayName: "Bodystyle__SectionBody",
6
6
  componentId: "RedisUI__sc-1oa2ez8-0"
7
- })(["display:flex;padding:", ";justify-content:space-between;align-items:center;&[hidden]{padding:0;}"], () => useTheme().components.section.body.padding);
7
+ })(["display:flex;padding:", ";justify-content:space-between;align-items:center;&[hidden]{padding:0;}&:not(:first-child){box-shadow:inset 0 ", " 0 0 ", ";}"], () => useTheme().components.section.body.padding, () => useTheme().components.section.separator.width, () => useTheme().components.section.separator.color);
8
8
  export {
9
9
  SectionBody
10
10
  };
@@ -1,5 +1,2 @@
1
- import { ReactNode } from 'react';
2
- import { ChildFree } from '../../../Helpers/common.types';
3
- export interface SectionBodyProps extends ChildFree<Omit<React.HTMLAttributes<HTMLDivElement>, 'content'>> {
4
- content: ReactNode;
5
- }
1
+ import { ComposeElementProps } from '../../../Helpers';
2
+ export type SectionBodyProps = ComposeElementProps;
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
4
  const React = require("react");
5
- const Compose_style = require("./Compose.style.cjs");
5
+ const index$1 = require("../../../node_modules/@radix-ui/react-id/dist/index.cjs");
6
+ const index = require("../../../node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs");
6
7
  const Section_context = require("../../Section.context.cjs");
8
+ const Compose_style = require("./Compose.style.cjs");
7
9
  const Compose = ({
8
- open,
10
+ open: controlledOpen,
9
11
  defaultOpen,
10
12
  disabled,
11
13
  onOpenChange,
@@ -14,15 +16,24 @@ const Compose = ({
14
16
  ...props
15
17
  }) => {
16
18
  const [hasContent, setHasContent] = React.useState(false);
19
+ const [open = false, setOpen] = index.useControllableState({
20
+ prop: hasContent && (!collapsible || controlledOpen),
21
+ defaultProp: defaultOpen,
22
+ onChange: onOpenChange
23
+ });
24
+ const triggerId = index$1.useId();
25
+ const labelId = index$1.useId();
17
26
  const contextValue = React.useMemo(() => ({
27
+ open,
18
28
  collapsible,
19
- setHasContent
20
- }), [collapsible]);
29
+ setHasContent,
30
+ triggerId: collapsible && hasContent ? triggerId : void 0,
31
+ labelId
32
+ }), [collapsible, hasContent, labelId, open, triggerId]);
21
33
  return jsxRuntime.jsxRuntimeExports.jsx(Compose_style.CollapsibleRoot, {
22
- open: hasContent && (!collapsible || open),
23
- defaultOpen,
34
+ open,
35
+ onOpenChange: hasContent && collapsible ? setOpen : void 0,
24
36
  disabled,
25
- onOpenChange,
26
37
  ...props,
27
38
  children: jsxRuntime.jsxRuntimeExports.jsx(Section_context.SectionContext.Provider, {
28
39
  value: contextValue,