@redis-ui/components 39.18.0 → 41.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) 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.style.cjs +2 -2
  55. package/dist/ProfileIcon/ProfileIcon.style.js +2 -2
  56. package/dist/ProfileIcon/ProfileIcon.types.d.ts +1 -1
  57. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.cjs +32 -0
  58. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.d.ts +8 -0
  59. package/dist/ScreenReaderAnnounce/ScreenReaderAnnounce.js +32 -0
  60. package/dist/ScreenReaderAnnounce/index.d.ts +1 -0
  61. package/dist/Section/Section.cjs +11 -8
  62. package/dist/Section/Section.d.ts +9 -7
  63. package/dist/Section/Section.js +11 -8
  64. package/dist/Section/Section.types.d.ts +8 -2
  65. package/dist/Section/components/Body/Body.cjs +10 -6
  66. package/dist/Section/components/Body/Body.d.ts +1 -1
  67. package/dist/Section/components/Body/Body.js +11 -7
  68. package/dist/Section/components/Body/Body.style.cjs +1 -1
  69. package/dist/Section/components/Body/Body.style.js +1 -1
  70. package/dist/Section/components/Body/Body.types.d.ts +2 -5
  71. package/dist/Section/components/Compose/Compose.cjs +18 -7
  72. package/dist/Section/components/Compose/Compose.d.ts +1 -1
  73. package/dist/Section/components/Compose/Compose.js +18 -7
  74. package/dist/Section/components/Compose/Compose.types.d.ts +2 -2
  75. package/dist/Section/components/Header/Header.cjs +12 -20
  76. package/dist/Section/components/Header/Header.d.ts +5 -4
  77. package/dist/Section/components/Header/Header.js +12 -20
  78. package/dist/Section/components/Header/Header.types.d.ts +7 -3
  79. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.cjs +34 -0
  80. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.d.ts +2 -0
  81. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.js +34 -0
  82. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.style.cjs +30 -0
  83. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.style.d.ts +3 -0
  84. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.style.js +28 -0
  85. package/dist/Section/components/Header/components/CollapseButton/CollapseButton.types.d.ts +6 -0
  86. package/dist/Section/components/Header/components/Compose/Compose.cjs +2 -30
  87. package/dist/Section/components/Header/components/Compose/Compose.d.ts +1 -1
  88. package/dist/Section/components/Header/components/Compose/Compose.js +3 -31
  89. package/dist/Section/components/Header/components/Compose/Compose.style.cjs +3 -36
  90. package/dist/Section/components/Header/components/Compose/Compose.style.d.ts +1 -9
  91. package/dist/Section/components/Header/components/Compose/Compose.style.js +5 -38
  92. package/dist/Section/components/Header/components/Compose/Compose.types.d.ts +2 -5
  93. package/dist/Section/components/Header/components/Group/Group.types.d.ts +1 -1
  94. package/dist/Section/components/Header/components/Label/Label.cjs +18 -7
  95. package/dist/Section/components/Header/components/Label/Label.js +19 -8
  96. package/dist/Section/components/Header/components/Label/Label.style.cjs +17 -4
  97. package/dist/Section/components/Header/components/Label/Label.style.d.ts +2 -1
  98. package/dist/Section/components/Header/components/Label/Label.style.js +17 -4
  99. package/dist/Section/components/Header/components/Label/Label.types.d.ts +2 -2
  100. package/dist/Section/components/SummaryBar/SummaryBar.cjs +14 -0
  101. package/dist/Section/components/SummaryBar/SummaryBar.d.ts +2 -0
  102. package/dist/Section/components/SummaryBar/SummaryBar.js +14 -0
  103. package/dist/Section/components/SummaryBar/SummaryBar.style.cjs +22 -0
  104. package/dist/Section/components/SummaryBar/SummaryBar.style.d.ts +3 -0
  105. package/dist/Section/components/SummaryBar/SummaryBar.style.js +20 -0
  106. package/dist/Section/components/SummaryBar/SummaryBar.types.d.ts +4 -0
  107. package/dist/Select/components/Content/components/Search/SelectSearchInput.style.d.ts +1 -1
  108. package/dist/Select/components/Trigger/components/Compose/Compose.style.cjs +1 -1
  109. package/dist/Select/components/Trigger/components/Compose/Compose.style.js +1 -1
  110. package/dist/SideBar/components/Footer/Footer.style.cjs +4 -1
  111. package/dist/SideBar/components/Footer/Footer.style.js +5 -2
  112. package/dist/SideBar/components/Header/Header.cjs +4 -6
  113. package/dist/SideBar/components/Header/Header.js +4 -6
  114. package/dist/SideBar/components/ScrollContainer/ScrollContainer.types.d.ts +1 -1
  115. package/dist/Stepper/Stepper.cjs +15 -27
  116. package/dist/Stepper/Stepper.context.cjs +13 -0
  117. package/dist/Stepper/Stepper.context.d.ts +12 -0
  118. package/dist/Stepper/Stepper.context.js +13 -0
  119. package/dist/Stepper/Stepper.d.ts +14 -5
  120. package/dist/Stepper/Stepper.js +15 -25
  121. package/dist/Stepper/Stepper.types.d.ts +9 -3
  122. package/dist/Stepper/components/Compose/Compose.cjs +42 -0
  123. package/dist/Stepper/components/Compose/Compose.d.ts +10 -0
  124. package/dist/Stepper/components/Compose/Compose.js +42 -0
  125. package/dist/Stepper/{Stepper.style.cjs → components/Compose/Compose.style.cjs} +4 -4
  126. package/dist/Stepper/components/Compose/Compose.style.d.ts +1 -0
  127. package/dist/Stepper/{Stepper.style.js → components/Compose/Compose.style.js} +4 -4
  128. package/dist/Stepper/components/Compose/Compose.types.d.ts +6 -0
  129. package/dist/Stepper/components/Step/Step.cjs +10 -17
  130. package/dist/Stepper/components/Step/Step.context.d.ts +3 -3
  131. package/dist/Stepper/components/Step/Step.d.ts +7 -5
  132. package/dist/Stepper/components/Step/Step.js +10 -17
  133. package/dist/Stepper/components/Step/Step.types.cjs +2 -2
  134. package/dist/Stepper/components/Step/Step.types.d.ts +6 -8
  135. package/dist/Stepper/components/Step/Step.types.js +2 -2
  136. package/dist/Stepper/components/Step/components/Compose/Compose.cjs +36 -4
  137. package/dist/Stepper/components/Step/components/Compose/Compose.d.ts +1 -1
  138. package/dist/Stepper/components/Step/components/Compose/Compose.js +37 -5
  139. package/dist/Stepper/components/Step/components/Compose/Compose.style.cjs +8 -4
  140. package/dist/Stepper/components/Step/components/Compose/Compose.style.d.ts +1 -1
  141. package/dist/Stepper/components/Step/components/Compose/Compose.style.js +10 -6
  142. package/dist/Stepper/components/Step/components/Compose/Compose.types.d.ts +2 -5
  143. package/dist/Stepper/components/Step/components/Icon/Icon.cjs +11 -6
  144. package/dist/Stepper/components/Step/components/Icon/Icon.d.ts +1 -1
  145. package/dist/Stepper/components/Step/components/Icon/Icon.js +12 -7
  146. package/dist/Stepper/components/Step/components/Icon/Icon.style.cjs +1 -1
  147. package/dist/Stepper/components/Step/components/Icon/Icon.style.js +2 -2
  148. package/dist/Stepper/components/Step/components/Label/Label.cjs +11 -13
  149. package/dist/Stepper/components/Step/components/Label/Label.d.ts +1 -1
  150. package/dist/Stepper/components/Step/components/Label/Label.js +12 -14
  151. package/dist/Stepper/components/Step/components/Label/Label.style.cjs +8 -8
  152. package/dist/Stepper/components/Step/components/Label/Label.style.d.ts +1 -1
  153. package/dist/Stepper/components/Step/components/Label/Label.style.js +9 -9
  154. package/dist/Stepper/components/Step/components/Label/Label.types.d.ts +3 -2
  155. package/dist/Stepper/hooks/useStepIndexing.cjs +38 -0
  156. package/dist/Stepper/hooks/useStepIndexing.d.ts +10 -0
  157. package/dist/Stepper/hooks/useStepIndexing.js +38 -0
  158. package/dist/Stepper/hooks/useStepRegistration.cjs +25 -0
  159. package/dist/Stepper/hooks/useStepRegistration.d.ts +5 -0
  160. package/dist/Stepper/hooks/useStepRegistration.js +25 -0
  161. package/dist/Stepper/hooks/useStepperInteractive.cjs +96 -0
  162. package/dist/Stepper/hooks/useStepperInteractive.d.ts +30 -0
  163. package/dist/Stepper/hooks/useStepperInteractive.js +96 -0
  164. package/dist/Switch/Switch.d.ts +1 -1
  165. package/dist/TableHeading/TableHeading.d.ts +1 -1
  166. package/dist/TableHeading/TableHeading.style.d.ts +1 -1
  167. package/dist/Tabs/Tabs.d.ts +3 -3
  168. package/dist/Tabs/components/ContentPane/ContentPane.d.ts +1 -1
  169. package/dist/Tabs/components/TabBar/TabBar.d.ts +2 -2
  170. package/dist/Tabs/components/TabBar/components/Trigger/Trigger.d.ts +1 -1
  171. package/dist/Tabs/components/TabBar/utils/theme.utils.d.ts +1 -1
  172. package/dist/Toast/Toast.d.ts +4 -4
  173. package/dist/Toast/components/Actions/Actions.d.ts +1 -1
  174. package/dist/Toast/components/Actions/Actions.types.d.ts +1 -1
  175. package/dist/Toast/components/Actions/components/Action/Action.cjs +1 -1
  176. package/dist/Toast/components/Actions/components/Action/Action.js +1 -1
  177. package/dist/Toast/components/Actions/components/Compose/Compose.d.ts +1 -1
  178. package/dist/Toast/components/Compose/Compose.cjs +2 -2
  179. package/dist/Toast/components/Compose/Compose.d.ts +1 -1
  180. package/dist/Toast/components/Compose/Compose.js +2 -2
  181. package/dist/Toast/components/Compose/Compose.style.d.ts +1 -1
  182. package/dist/Toast/components/Content/Content.d.ts +1 -1
  183. package/dist/Toast/components/Content/Content.types.d.ts +1 -1
  184. package/dist/Toast/components/Content/components/Compose/Compose.cjs +15 -3
  185. package/dist/Toast/components/Content/components/Compose/Compose.d.ts +1 -1
  186. package/dist/Toast/components/Content/components/Compose/Compose.js +15 -3
  187. package/dist/Toast/components/Content/components/Description/Description.cjs +1 -1
  188. package/dist/Toast/components/Content/components/Description/Description.js +1 -1
  189. package/dist/Toast/components/Content/components/Message/Message.cjs +1 -1
  190. package/dist/Toast/components/Content/components/Message/Message.js +1 -1
  191. package/dist/Toast/components/Icon/Icon.cjs +1 -0
  192. package/dist/Toast/components/Icon/Icon.js +1 -0
  193. package/dist/Toast/core/content.helper.cjs +1 -1
  194. package/dist/Toast/core/content.helper.js +2 -2
  195. package/dist/Toast/core/context.cjs +4 -5
  196. package/dist/Toast/core/context.d.ts +1 -2
  197. package/dist/Toast/core/context.js +4 -5
  198. package/dist/Toast/core/core.cjs +2 -0
  199. package/dist/Toast/core/core.d.ts +9 -8
  200. package/dist/Toast/core/core.js +3 -1
  201. package/dist/Toast/core/mapping.helpers.cjs +24 -16
  202. package/dist/Toast/core/mapping.helpers.d.ts +8 -6
  203. package/dist/Toast/core/mapping.helpers.js +25 -17
  204. package/dist/Toast/core/mapping.types.d.ts +9 -8
  205. package/dist/Tooltip/Tooltip.types.d.ts +1 -1
  206. package/dist/Typography/components/Heading/Heading.types.d.ts +1 -1
  207. package/dist/index.cjs +7 -1
  208. package/dist/index.d.ts +1 -0
  209. package/dist/index.js +8 -2
  210. package/dist/packages/icons/dist/multicolor/LoaderLarge.cjs +1 -1
  211. package/dist/packages/icons/dist/multicolor/LoaderLarge.js +1 -1
  212. package/package.json +3 -3
  213. package/dist/Section/components/Header/components/ActionButton/ActionButton.cjs +0 -23
  214. package/dist/Section/components/Header/components/ActionButton/ActionButton.js +0 -23
  215. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.cjs +0 -19
  216. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.d.ts +0 -2
  217. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.js +0 -19
  218. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.style.cjs +0 -11
  219. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.style.d.ts +0 -1
  220. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.style.js +0 -9
  221. package/dist/Section/components/Header/components/CollapseIndicator/CollapseIndicator.types.d.ts +0 -2
  222. package/dist/Stepper/Stepper.style.d.ts +0 -1
@@ -2,5 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
4
  const redisUiIcons = require("@redislabsdev/redis-ui-icons");
5
- const Icon = () => jsxRuntime.jsxRuntimeExports.jsx(redisUiIcons.MenuIcon, {});
5
+ const Icon = () => jsxRuntime.jsxRuntimeExports.jsx(redisUiIcons.MenuIcon, {
6
+ customColor: "currentColor"
7
+ });
6
8
  exports.Icon = Icon;
@@ -1,6 +1,8 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
2
  import { MenuIcon } from "@redislabsdev/redis-ui-icons";
3
- const Icon = () => jsxRuntimeExports.jsx(MenuIcon, {});
3
+ const Icon = () => jsxRuntimeExports.jsx(MenuIcon, {
4
+ customColor: "currentColor"
5
+ });
4
6
  export {
5
7
  Icon
6
8
  };
@@ -13,7 +13,7 @@ const getStyles = (theme) => _styled.css`
13
13
  width: ${theme.components.appSelectionMenu.trigger.width};
14
14
  padding: ${theme.components.appSelectionMenu.trigger.padding};
15
15
  `;
16
- const maps = [css_utils.tokenMaps.bgColor];
16
+ const maps = [css_utils.tokenMaps.bgColor, css_utils.tokenMaps.textColor, css_utils.tokenMaps.borderColor];
17
17
  const getStateStyle = (theme, active) => {
18
18
  const state = active ? "on" : "off";
19
19
  const stateColors = theme.components.appSelectionMenu.trigger.toggleStates[state];
@@ -9,7 +9,7 @@ const getStyles = (theme) => css`
9
9
  width: ${theme.components.appSelectionMenu.trigger.width};
10
10
  padding: ${theme.components.appSelectionMenu.trigger.padding};
11
11
  `;
12
- const maps = [tokenMaps.bgColor];
12
+ const maps = [tokenMaps.bgColor, tokenMaps.textColor, tokenMaps.borderColor];
13
13
  const getStateStyle = (theme, active) => {
14
14
  const state = active ? "on" : "off";
15
15
  const stateColors = theme.components.appSelectionMenu.trigger.toggleStates[state];
@@ -13,7 +13,7 @@ export declare const ContentContainer: import("styled-components").StyledCompone
13
13
  Label: (({ children, text, icon, ...restProps }: import("../Menu").MenuLabelProps & import("../Menu").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("../Menu/components/Content/components/Item/Components/Icon/Icon.types").MenuIconProps) => import("react/jsx-runtime").JSX.Element;
16
- Compose: (props: import("../Menu/components/Content/components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
16
+ Compose: (props: import("../Menu/components/Content/components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
17
17
  };
18
18
  Separator: (props: import("../Menu/components/Content/components/Separator/Separator.types").SeparatorProps) => import("react/jsx-runtime").JSX.Element;
19
19
  }, any, {
@@ -5,11 +5,11 @@ declare const Banner: (({ show, onClose, actions, message, showIcon, showCloseBu
5
5
  Compose: ({ size, variant, layoutVariant, onClose, ...props }: import("./components/BannerSemanticComponents").SemanticContainerProps & {
6
6
  layoutVariant?: import("./Banner.types").BannerLayout | undefined;
7
7
  onClose?: VoidFunction | undefined;
8
- } & import("../Helpers/common.types").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
8
+ } & import("../Helpers/common.types").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
9
9
  Icon: ({ customIcon, variant, ...props }: import("./components/Icon/Icon.types").BannerIconProps) => import("react/jsx-runtime").JSX.Element;
10
10
  Message: ({ children, ...restProps }: import("..").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element | null;
11
- Actions: (({ primary, secondary, ...props }: import("./components/Actions/Actions.types").ActionsProps & ChildFree<ComposeElementProps<HTMLDivElement>>) => import("react/jsx-runtime").JSX.Element | null) & {
12
- Compose: (props: ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
11
+ Actions: (({ primary, secondary, ...props }: import("./components/Actions/Actions.types").ActionsProps & ChildFree<ComposeElementProps<HTMLElement>>) => import("react/jsx-runtime").JSX.Element | null) & {
12
+ Compose: (props: ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
13
13
  Action: ({ label, onClick, closes, icon, variant: outlineVariant, size, ...restProps }: import("./Banner.types").BannerActionType & {
14
14
  size?: "M" | "S" | undefined;
15
15
  variant?: import("./components/BannerSemanticComponents").SemanticOutlineVariant | undefined;
@@ -1,7 +1,7 @@
1
1
  import { ChildFree, ComposeElementProps } from '../../../Helpers/common.types';
2
2
  import type { ActionsProps } from './Actions.types';
3
3
  declare const Actions: (({ primary, secondary, ...props }: ActionsProps & ChildFree<ComposeElementProps>) => import("react/jsx-runtime").JSX.Element | null) & {
4
- Compose: (props: ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
4
+ Compose: (props: ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
5
5
  Action: ({ label, onClick, closes, icon, variant: outlineVariant, size, ...restProps }: import("../..").BannerActionType & {
6
6
  size?: "M" | "S" | undefined;
7
7
  variant?: import("../BannerSemanticComponents").SemanticOutlineVariant | undefined;
@@ -1,2 +1,2 @@
1
1
  /// <reference types="react" />
2
- export declare const BannerContainer: import("styled-components").StyledComponent<({ variant, size, ...props }: import("../BannerSemanticComponents").SemanticContainerProps & import("../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
2
+ export declare const BannerContainer: import("styled-components").StyledComponent<({ variant, size, ...props }: import("../BannerSemanticComponents").SemanticContainerProps & import("../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
@@ -1,4 +1,4 @@
1
- import { TooltipContentProps } from 'src/Tooltip/components/Content/Content.types';
1
+ import { TooltipContentProps } from '../../../../../Tooltip/components/Content/Content.types';
2
2
  import { BoxSelectionGroupBox } from '../../../../BoxSelectionGroup.types';
3
3
  import { ComposeElementProps } from '../../../../../Helpers/common.types';
4
4
  export type BoxSelectionGroupItemComposeProps = {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("../../node_modules/react/jsx-runtime.cjs");
4
+ const redisUiStyles = require("@redislabsdev/redis-ui-styles");
4
5
  const Chip = require("../../Chip/Chip.cjs");
5
6
  const ExtraItem_style = require("./ExtraItem.style.cjs");
6
7
  const useScrollableTooltip = require("../../Tooltip/hooks/useScrollableTooltip.cjs");
@@ -19,6 +20,7 @@ const ExtraItem = ({
19
20
  chips,
20
21
  renderTooltip = defaultTooltip
21
22
  }) => {
23
+ const theme = redisUiStyles.useTheme();
22
24
  const {
23
25
  tooltipScrollContainerRef,
24
26
  onOpenChange,
@@ -32,6 +34,7 @@ const ExtraItem = ({
32
34
  disableInteractionHelper: true,
33
35
  withButton: true,
34
36
  placement: "right",
37
+ backgroundColor: theme.components.chipList.popupList.bgColor,
35
38
  content: content && jsxRuntime.jsxRuntimeExports.jsx(ExtraItem_style.ExtraListContainer, {
36
39
  ref: tooltipScrollContainerRef,
37
40
  children: content
@@ -1,4 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "../../node_modules/react/jsx-runtime.js";
2
+ import { useTheme } from "@redislabsdev/redis-ui-styles";
2
3
  import Chip from "../../Chip/Chip.js";
3
4
  import { ExtraListContainer, ExtraListItem } from "./ExtraItem.style.js";
4
5
  import { useScrollableTooltip } from "../../Tooltip/hooks/useScrollableTooltip.js";
@@ -17,6 +18,7 @@ const ExtraItem = ({
17
18
  chips,
18
19
  renderTooltip = defaultTooltip
19
20
  }) => {
21
+ const theme = useTheme();
20
22
  const {
21
23
  tooltipScrollContainerRef,
22
24
  onOpenChange,
@@ -30,6 +32,7 @@ const ExtraItem = ({
30
32
  disableInteractionHelper: true,
31
33
  withButton: true,
32
34
  placement: "right",
35
+ backgroundColor: theme.components.chipList.popupList.bgColor,
33
36
  content: content && jsxRuntimeExports.jsx(ExtraListContainer, {
34
37
  ref: tooltipScrollContainerRef,
35
38
  children: content
@@ -5,10 +5,10 @@ declare const Drawer: (({ children, persistent, open, onOpenChange, containerEle
5
5
  Compose: ({ children, ...props }: import("./components/Header/components/Compose/Compose.types").DrawerHeaderComposeProps) => import("react/jsx-runtime").JSX.Element;
6
6
  Title: ({ hidden, children, ...restProps }: import("./components/Header/components/Title/Title.types").DrawerContentTitleProps) => import("react/jsx-runtime").JSX.Element;
7
7
  };
8
- Description: (({ hidden, children, ...restProps }: import("./components/Description/Description.types").DrawerDescriptionProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element | null) & {
8
+ Description: (({ hidden, children, ...restProps }: import("./components/Description/Description.types").DrawerDescriptionProps & import("..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element | null) & {
9
9
  Text: (props: import("..").TypographyHeadingProps) => import("react/jsx-runtime").JSX.Element;
10
10
  };
11
- Body: (props: import("./components/Body/Body.types").DrawerBodyProps) => import("react/jsx-runtime").JSX.Element;
11
+ Body: ({ focusableForScroll, ...props }: import("./components/Body/Body.types").DrawerBodyProps) => import("react/jsx-runtime").JSX.Element;
12
12
  Footer: (({ primaryButtonText, secondaryButtonText, tertiaryButtonText, tertiaryButtonIcon, primaryButtonDisabled, secondaryButtonDisabled, tertiaryButtonDisabled, onPrimaryButtonClick, onSecondaryButtonClick, onTertiaryButtonClick, ...restProps }: import("./components/Footer/Footer.types").DrawerFooterProps) => import("react/jsx-runtime").JSX.Element) & {
13
13
  ActionButtonsContainer: ({ children, ...props }: import("./components/Footer/components/ActionButtonsContainer/ActionButtonsContainer.types").ActionButtonsContainerProps) => import("react/jsx-runtime").JSX.Element;
14
14
  Compose: (props: import("./components/Footer/components/Compose/Compose.types").ContentFooterComposeProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
+ const React = require("react");
4
5
  const Body_style = require("./Body.style.cjs");
5
- const Body = (props) => jsxRuntime.jsxRuntimeExports.jsx(Body_style.DrawerBody, {
6
- tabIndex: 0,
6
+ const useScrollable = require("../../../Helpers/hooks/useScrollable.cjs");
7
+ const Body = ({
8
+ focusableForScroll = true,
7
9
  ...props
8
- });
10
+ }) => {
11
+ const ref = React.useRef(null);
12
+ const scrollable = useScrollable.useScrollable(ref);
13
+ return jsxRuntime.jsxRuntimeExports.jsx(Body_style.DrawerBody, {
14
+ ref: focusableForScroll ? ref : void 0,
15
+ ...scrollable && {
16
+ tabIndex: 0,
17
+ role: "region",
18
+ "aria-label": "Drawer content"
19
+ },
20
+ ...props
21
+ });
22
+ };
9
23
  exports.default = Body;
@@ -1,3 +1,3 @@
1
1
  import { DrawerBodyProps } from './Body.types';
2
- declare const Body: (props: DrawerBodyProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Body: ({ focusableForScroll, ...props }: DrawerBodyProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Body;
@@ -1,9 +1,23 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { useRef } from "react";
2
3
  import { DrawerBody } from "./Body.style.js";
3
- const Body = (props) => jsxRuntimeExports.jsx(DrawerBody, {
4
- tabIndex: 0,
4
+ import { useScrollable } from "../../../Helpers/hooks/useScrollable.js";
5
+ const Body = ({
6
+ focusableForScroll = true,
5
7
  ...props
6
- });
8
+ }) => {
9
+ const ref = useRef(null);
10
+ const scrollable = useScrollable(ref);
11
+ return jsxRuntimeExports.jsx(DrawerBody, {
12
+ ref: focusableForScroll ? ref : void 0,
13
+ ...scrollable && {
14
+ tabIndex: 0,
15
+ role: "region",
16
+ "aria-label": "Drawer content"
17
+ },
18
+ ...props
19
+ });
20
+ };
7
21
  export {
8
22
  Body as default
9
23
  };
@@ -1,2 +1,4 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export type DrawerBodyProps = HTMLAttributes<HTMLDivElement>;
2
+ export type DrawerBodyProps = HTMLAttributes<HTMLDivElement> & {
3
+ focusableForScroll?: boolean;
4
+ };
@@ -12,7 +12,7 @@ export declare const MenuContent: import("styled-components").StyledComponent<im
12
12
  Label: (({ children, text, icon, ...restProps }: import("../../../Menu").MenuLabelProps & import("../../../Menu").RestMenuLabelProps) => import("react/jsx-runtime").JSX.Element) & {
13
13
  Text: ({ tooltipOnEllipsis, ...restProps }: import("../../..").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
14
14
  Icon: ({ icon, ...props }: import("../../../Menu/components/Content/components/Item/Components/Icon/Icon.types").MenuIconProps) => import("react/jsx-runtime").JSX.Element;
15
- Compose: (props: import("../../../Menu/components/Content/components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
15
+ Compose: (props: import("../../../Menu/components/Content/components/Label/components/Compose/Compose.types").MenuLabelComposeProps & import("../../..").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
16
16
  };
17
17
  Separator: (props: import("../../../Menu/components/Content/components/Separator/Separator.types").SeparatorProps) => import("react/jsx-runtime").JSX.Element;
18
18
  }, any, {}, never>;
@@ -23,7 +23,7 @@ export declare const FilterToggleButton: import("styled-components").StyledCompo
23
23
  export declare const MenuOptionsContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
24
24
  export declare const MenuOption: import("styled-components").StyledComponent<({ isSelected, selected, onClick, ...restProps }: import("../../../Menu/components/Content/components/Item/Components/Compose/Compose.types").MenuItemComposeProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
25
25
  export declare const OptionsSearch: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("../../../Inputs/components/Compose/TextCompose.types").TextInputComposeProps, "readOnly" | "parser" | "formatter"> & import("../../../Inputs/components/InputTag/InputTag.types").InputTagProps & import("../../../Inputs/components/LoadingIndicator/LoadingIndicator.types").LoadingIndicatorProps & import("../../../Inputs/components/ResetButton/ResetButton.types").ResetButtonProps & import("../../../Inputs").RestInputProps & import("react").RefAttributes<HTMLInputElement>> & {
26
- Compose: ({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../../../Inputs/components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../Inputs/components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../../..").ComposeElementProps<HTMLDivElement>, "defaultValue" | "onChange"> & {
26
+ Compose: ({ value, defaultValue, onChange, parser, formatter, ...restProps }: import("../../../Inputs/components/Compose/CommonCompose.types").CommonInputComposeProps & Omit<import("../../../Inputs/components/Context/InputValueProvider").InputValueProviderProps, "children"> & Omit<import("../../..").ComposeElementProps<HTMLElement>, "defaultValue" | "onChange"> & {
27
27
  readonlyRender?: import("../../../Inputs/components/ReadonlyRender/ReadonlyRender.types").ReadOnlyRenderComponent | undefined;
28
28
  readonlyProps?: import("react").HTMLAttributes<HTMLElement> | undefined;
29
29
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { FieldStatus } from './FormField.types';
3
- export declare const useFieldStatus: (value?: FieldStatus | undefined) => FieldStatus | undefined, FieldStatusProvider: ({ value, children }: Partial<import("react").ProviderProps<FieldStatus>>) => import("react/jsx-runtime").JSX.Element, FieldStatusTransProvider: ({ value, children }: Partial<import("react").ProviderProps<FieldStatus>>) => import("react/jsx-runtime").JSX.Element;
4
- export declare const useFieldReadonly: (value?: boolean | undefined) => boolean | undefined, FieldReadonlyProvider: ({ value, children }: Partial<import("react").ProviderProps<boolean>>) => import("react/jsx-runtime").JSX.Element, FieldReadonlyTransProvider: ({ value, children }: Partial<import("react").ProviderProps<boolean>>) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const useFieldStatus: (value?: FieldStatus | undefined) => FieldStatus | undefined, FieldStatusProvider: ({ value, children }: Partial<import("react").ProviderProps<FieldStatus>>) => import("react/jsx-runtime").JSX.Element, FieldStatusTransProvider: ({ value, passOnlyStateDown, children }: Partial<import("react").ProviderProps<FieldStatus>> & {
4
+ passOnlyStateDown?: FieldStatus | ((state: FieldStatus) => boolean) | undefined;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const useFieldReadonly: (value?: boolean | undefined) => boolean | undefined, FieldReadonlyProvider: ({ value, children }: Partial<import("react").ProviderProps<boolean>>) => import("react/jsx-runtime").JSX.Element, FieldReadonlyTransProvider: ({ value, passOnlyStateDown, children }: Partial<import("react").ProviderProps<boolean>> & {
7
+ passOnlyStateDown?: boolean | ((state: boolean) => boolean) | undefined;
8
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -2,10 +2,8 @@
2
2
  import { FormFieldProps } from './FormField.types';
3
3
  import { ComposeElementProps } from '../Helpers/common.types';
4
4
  declare const FormField: (({ children, label, infoIconProps, required, optional, additionalText, ...restProps }: FormFieldProps & ComposeElementProps) => import("react/jsx-runtime").JSX.Element) & {
5
- Nested: ({ id, children }: import("./components/Nested/Nested.types").FormFieldNestedProps) => import("react/jsx-runtime").JSX.Element;
6
- Compose: ({ layout, id, ...restProps }: import("./components/Nested/Nested.types").FormFieldNestedProps & {
7
- layout?: import("./FormField.types").FormFieldLayout | undefined;
8
- } & import("../Helpers/common.types").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLDivElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
5
+ Nested: ({ id, children, disabledState }: import("./components/Nested/Nested.types").FormFieldNestedProps) => import("react/jsx-runtime").JSX.Element;
6
+ Compose: ({ layout, id, ...restProps }: import("./components/Compose/Compose.types").FormFieldComposeProps & import("../Helpers/common.types").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLElement>, "content" | "children">) => import("react/jsx-runtime").JSX.Element;
9
7
  AdditionalText: ({ size, children, forceStatus, ...restProps }: import("./components/AdditionalText/AdditionalText.types").AdditionalTextProps) => import("react/jsx-runtime").JSX.Element | null;
10
8
  Label: (({ label, infoIconProps, required, optional, readOnly, ...restProps }: import("../Label").LabelProps) => import("react/jsx-runtime").JSX.Element) & {
11
9
  Text: ({ children, readOnly, ...restProps }: import("../Label/components/Text/Text.types").TextProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import { FormFieldComposeProps } from './Compose.types';
2
- import { ComposeElementProps } from '../../../Helpers/common.types';
2
+ import { ComposeElementProps } from '../../../Helpers';
3
3
  declare const Compose: ({ layout, id, ...restProps }: FormFieldComposeProps & ComposeElementProps) => import("react/jsx-runtime").JSX.Element;
4
4
  export default Compose;
@@ -1,5 +1,5 @@
1
1
  import { FormFieldLayout } from '../../FormField.types';
2
- import { FormFieldNestedProps } from '../Nested/Nested.types';
3
- export type FormFieldComposeProps = FormFieldNestedProps & {
2
+ export type FormFieldComposeProps = {
3
+ id?: string;
4
4
  layout?: FormFieldLayout;
5
5
  };
@@ -2,16 +2,33 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
4
  const FormField_context = require("../../FormField.context.cjs");
5
+ const Field_context = require("../../../Inputs/components/Context/Field.context.cjs");
5
6
  const SharedId_context = require("../../../Helpers/contexts/SharedId.context.cjs");
7
+ const DISABLED_STATE_TO_PASS = true;
6
8
  const Nested = ({
7
9
  id,
8
- children
9
- }) => jsxRuntime.jsxRuntimeExports.jsx(SharedId_context.SharedIdProvider, {
10
- customId: id,
11
- children: jsxRuntime.jsxRuntimeExports.jsx(FormField_context.FieldStatusProvider, {
12
- children: jsxRuntime.jsxRuntimeExports.jsx(FormField_context.FieldReadonlyProvider, {
13
- children
10
+ children,
11
+ disabledState = "smart"
12
+ }) => {
13
+ const otherProviders = jsxRuntime.jsxRuntimeExports.jsx(SharedId_context.SharedIdProvider, {
14
+ customId: id,
15
+ children: jsxRuntime.jsxRuntimeExports.jsx(FormField_context.FieldStatusProvider, {
16
+ children: jsxRuntime.jsxRuntimeExports.jsx(FormField_context.FieldReadonlyProvider, {
17
+ children
18
+ })
14
19
  })
15
- })
16
- });
20
+ });
21
+ if (disabledState === "smart") {
22
+ return jsxRuntime.jsxRuntimeExports.jsx(Field_context.FieldDisabledTransProvider, {
23
+ passOnlyStateDown: DISABLED_STATE_TO_PASS,
24
+ children: otherProviders
25
+ });
26
+ }
27
+ if (disabledState === "cut") {
28
+ return jsxRuntime.jsxRuntimeExports.jsx(Field_context.FieldDisabledProvider, {
29
+ children: otherProviders
30
+ });
31
+ }
32
+ return otherProviders;
33
+ };
17
34
  exports.default = Nested;
@@ -1,3 +1,3 @@
1
1
  import { FormFieldNestedProps } from './Nested.types';
2
- declare const Nested: ({ id, children }: FormFieldNestedProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Nested: ({ id, children, disabledState }: FormFieldNestedProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Nested;
@@ -1,17 +1,34 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
2
  import { FieldStatusProvider, FieldReadonlyProvider } from "../../FormField.context.js";
3
+ import { FieldDisabledTransProvider, FieldDisabledProvider } from "../../../Inputs/components/Context/Field.context.js";
3
4
  import { SharedIdProvider } from "../../../Helpers/contexts/SharedId.context.js";
5
+ const DISABLED_STATE_TO_PASS = true;
4
6
  const Nested = ({
5
7
  id,
6
- children
7
- }) => jsxRuntimeExports.jsx(SharedIdProvider, {
8
- customId: id,
9
- children: jsxRuntimeExports.jsx(FieldStatusProvider, {
10
- children: jsxRuntimeExports.jsx(FieldReadonlyProvider, {
11
- children
8
+ children,
9
+ disabledState = "smart"
10
+ }) => {
11
+ const otherProviders = jsxRuntimeExports.jsx(SharedIdProvider, {
12
+ customId: id,
13
+ children: jsxRuntimeExports.jsx(FieldStatusProvider, {
14
+ children: jsxRuntimeExports.jsx(FieldReadonlyProvider, {
15
+ children
16
+ })
12
17
  })
13
- })
14
- });
18
+ });
19
+ if (disabledState === "smart") {
20
+ return jsxRuntimeExports.jsx(FieldDisabledTransProvider, {
21
+ passOnlyStateDown: DISABLED_STATE_TO_PASS,
22
+ children: otherProviders
23
+ });
24
+ }
25
+ if (disabledState === "cut") {
26
+ return jsxRuntimeExports.jsx(FieldDisabledProvider, {
27
+ children: otherProviders
28
+ });
29
+ }
30
+ return otherProviders;
31
+ };
15
32
  export {
16
33
  Nested as default
17
34
  };
@@ -1,5 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
+ export type DisableStateManagement = 'pass' | 'cut' | 'smart';
2
3
  export type FormFieldNestedProps = {
3
4
  children?: ReactNode;
4
5
  id?: string;
6
+ disabledState?: DisableStateManagement;
5
7
  };
@@ -9,6 +9,6 @@ export type AnyOtherString = string & NonNullable<unknown>;
9
9
  export type ComposeChildrenProps = {
10
10
  children: ReactNode;
11
11
  };
12
- export type ComposeElementProps<T extends HTMLElement = HTMLDivElement> = ComposeChildrenProps & Omit<HTMLAttributes<T>, 'children' | 'content'>;
12
+ export type ComposeElementProps<T extends HTMLElement = HTMLElement> = ComposeChildrenProps & Omit<HTMLAttributes<T>, 'children' | 'content'>;
13
13
  export type ToCamel<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : Uncapitalize<S> : never;
14
14
  export type ToPascal<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${Capitalize<ToCamel<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${Capitalize<ToCamel<Head>>}${Capitalize<ToCamel<Tail>>}` : Capitalize<S> : never;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const createNullableContext = ({
5
+ forComponentName
6
+ }) => {
7
+ const Context = React.createContext(null);
8
+ const useTheContext = () => {
9
+ const context = React.useContext(Context);
10
+ if (context === null) {
11
+ throw new Error(`${forComponentName} compound components cannot be rendered outside the ${forComponentName} component`);
12
+ }
13
+ return context;
14
+ };
15
+ return [useTheContext, Context.Provider, Context];
16
+ };
17
+ exports.createNullableContext = createNullableContext;
@@ -0,0 +1,4 @@
1
+ import { Provider } from 'react';
2
+ export declare const createNullableContext: <T>({ forComponentName }: {
3
+ forComponentName: string;
4
+ }) => readonly [() => T, Provider<T>, import("react").Context<T | null>];
@@ -0,0 +1,17 @@
1
+ import { createContext, useContext } from "react";
2
+ const createNullableContext = ({
3
+ forComponentName
4
+ }) => {
5
+ const Context = createContext(null);
6
+ const useTheContext = () => {
7
+ const context = useContext(Context);
8
+ if (context === null) {
9
+ throw new Error(`${forComponentName} compound components cannot be rendered outside the ${forComponentName} component`);
10
+ }
11
+ return context;
12
+ };
13
+ return [useTheContext, Context.Provider, Context];
14
+ };
15
+ export {
16
+ createNullableContext
17
+ };
@@ -40,8 +40,30 @@ const createPrimitiveContextState = () => {
40
40
  children
41
41
  });
42
42
  };
43
+ const OverridingStateProvider = ({
44
+ value,
45
+ passOnlyStateDown,
46
+ children
47
+ }) => {
48
+ var _a;
49
+ const [state, setState] = React.useState(value);
50
+ React.useLayoutEffect(() => {
51
+ if (value !== void 0) setState(value);
52
+ }, [value]);
53
+ const contextState = (_a = React.useContext(Context)) == null ? void 0 : _a.state;
54
+ const mergedState = contextState !== void 0 && (passOnlyStateDown === contextState || typeof passOnlyStateDown === "function" && passOnlyStateDown(contextState)) ? contextState : state;
55
+ const context = React.useMemo(() => ({
56
+ state: mergedState,
57
+ setState
58
+ }), [mergedState]);
59
+ return jsxRuntime.jsxRuntimeExports.jsx(Context.Provider, {
60
+ value: context,
61
+ children
62
+ });
63
+ };
43
64
  const StateTransProvider = ({
44
65
  value,
66
+ passOnlyStateDown = void 0,
45
67
  children
46
68
  }) => {
47
69
  const context = React.useContext(Context);
@@ -49,6 +71,11 @@ const createPrimitiveContextState = () => {
49
71
  value,
50
72
  children
51
73
  });
74
+ if (passOnlyStateDown !== void 0) return jsxRuntime.jsxRuntimeExports.jsx(OverridingStateProvider, {
75
+ passOnlyStateDown,
76
+ value,
77
+ children
78
+ });
52
79
  if (value !== void 0) return jsxRuntime.jsxRuntimeExports.jsx(ValueUpdater, {
53
80
  value,
54
81
  children
@@ -1,5 +1,8 @@
1
1
  import { ProviderProps } from 'react';
2
2
  type StateProviderProps<T> = Partial<ProviderProps<T>>;
3
+ type OverridingStateProps<T> = {
4
+ passOnlyStateDown?: T | ((state: T) => boolean);
5
+ };
3
6
  /**
4
7
  * Presents the shared context state for a primitive value.
5
8
  *
@@ -11,7 +14,9 @@ type StateProviderProps<T> = Partial<ProviderProps<T>>;
11
14
  * The top provider unconditionally creates its own shared state and passes it to descendants.
12
15
  *
13
16
  * The transitive provider forwards state from the ascendant top provider, if there is one.
14
- * Otherwise, it behaves like a top state provider.
17
+ * Otherwise, it behaves like a top provider.<br/>
18
+ * If the `passOnlyStateDown` prop is set, the provider creates inner shared state (like a top provider),
19
+ * but overrides the state value with outer state if allowed by the prop
15
20
  *
16
21
  * Each provider type and hook optionally receives a value and updates state.
17
22
  * Undefined values are ignored.
@@ -19,5 +24,5 @@ type StateProviderProps<T> = Partial<ProviderProps<T>>;
19
24
  *
20
25
  * If no providers are found, the hook returns the state passed to it.
21
26
  */
22
- export declare const createPrimitiveContextState: <T extends string | number | boolean | null>() => readonly [(value?: T | undefined) => T | undefined, ({ value, children }: Partial<ProviderProps<T>>) => import("react/jsx-runtime").JSX.Element, ({ value, children }: Partial<ProviderProps<T>>) => import("react/jsx-runtime").JSX.Element];
27
+ export declare const createPrimitiveContextState: <T extends string | number | boolean | null>() => readonly [(value?: T | undefined) => T | undefined, ({ value, children }: Partial<ProviderProps<T>>) => import("react/jsx-runtime").JSX.Element, ({ value, passOnlyStateDown, children }: Partial<ProviderProps<T>> & OverridingStateProps<T>) => import("react/jsx-runtime").JSX.Element];
23
28
  export {};
@@ -38,8 +38,30 @@ const createPrimitiveContextState = () => {
38
38
  children
39
39
  });
40
40
  };
41
+ const OverridingStateProvider = ({
42
+ value,
43
+ passOnlyStateDown,
44
+ children
45
+ }) => {
46
+ var _a;
47
+ const [state, setState] = useState(value);
48
+ useLayoutEffect(() => {
49
+ if (value !== void 0) setState(value);
50
+ }, [value]);
51
+ const contextState = (_a = useContext(Context)) == null ? void 0 : _a.state;
52
+ const mergedState = contextState !== void 0 && (passOnlyStateDown === contextState || typeof passOnlyStateDown === "function" && passOnlyStateDown(contextState)) ? contextState : state;
53
+ const context = useMemo(() => ({
54
+ state: mergedState,
55
+ setState
56
+ }), [mergedState]);
57
+ return jsxRuntimeExports.jsx(Context.Provider, {
58
+ value: context,
59
+ children
60
+ });
61
+ };
41
62
  const StateTransProvider = ({
42
63
  value,
64
+ passOnlyStateDown = void 0,
43
65
  children
44
66
  }) => {
45
67
  const context = useContext(Context);
@@ -47,6 +69,11 @@ const createPrimitiveContextState = () => {
47
69
  value,
48
70
  children
49
71
  });
72
+ if (passOnlyStateDown !== void 0) return jsxRuntimeExports.jsx(OverridingStateProvider, {
73
+ passOnlyStateDown,
74
+ value,
75
+ children
76
+ });
50
77
  if (value !== void 0) return jsxRuntimeExports.jsx(ValueUpdater, {
51
78
  value,
52
79
  children
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ function isScrollable(el) {
5
+ return el.scrollHeight > el.clientHeight || el.scrollWidth > el.clientWidth;
6
+ }
7
+ const useScrollable = (ref) => {
8
+ const [scrollable, setScrollable] = React.useState(false);
9
+ React.useEffect(() => {
10
+ const el = ref.current;
11
+ if (!el) return void 0;
12
+ const update = () => setScrollable(isScrollable(el));
13
+ const resizeObserver = new ResizeObserver(update);
14
+ resizeObserver.observe(el);
15
+ const mutationObserver = new MutationObserver(update);
16
+ mutationObserver.observe(el, {
17
+ childList: true,
18
+ subtree: true,
19
+ attributes: true,
20
+ characterData: true
21
+ });
22
+ window.addEventListener("resize", update);
23
+ update();
24
+ return () => {
25
+ resizeObserver.disconnect();
26
+ mutationObserver.disconnect();
27
+ window.removeEventListener("resize", update);
28
+ };
29
+ }, [ref]);
30
+ return scrollable;
31
+ };
32
+ exports.useScrollable = useScrollable;
@@ -0,0 +1,3 @@
1
+ import { RefObject } from 'react';
2
+ /** Hook: returns whether element is scrollable */
3
+ export declare const useScrollable: (ref: RefObject<HTMLElement>) => boolean;