@ozen-ui/kit 0.80.0 → 0.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/__inner__/cjs/components/Dialog/Dialog.d.ts +1 -0
  2. package/__inner__/cjs/components/DialogNext/components/DialogModal/DialogModal.d.ts +1 -0
  3. package/__inner__/cjs/components/DialogNext/types.d.ts +1 -1
  4. package/__inner__/cjs/components/Drawer/Drawer.d.ts +1 -0
  5. package/__inner__/cjs/components/Modal/Modal.d.ts +1 -0
  6. package/__inner__/cjs/components/Modal/Modal.js +13 -5
  7. package/__inner__/cjs/components/Modal/constants.d.ts +1 -0
  8. package/__inner__/cjs/components/Modal/constants.js +2 -1
  9. package/__inner__/cjs/components/Modal/types.d.ts +2 -0
  10. package/__inner__/cjs/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +2 -1
  11. package/__inner__/cjs/components/StepperVertical/StepperVertical.d.ts +1 -0
  12. package/__inner__/cjs/components/StepperVertical/StepperVertical.js +14 -3
  13. package/__inner__/cjs/components/StepperVertical/StepperVerticalContext.d.ts +8 -0
  14. package/__inner__/cjs/components/StepperVertical/StepperVerticalContext.js +10 -0
  15. package/__inner__/cjs/components/StepperVertical/hooks/index.d.ts +4 -0
  16. package/__inner__/cjs/components/StepperVertical/hooks/index.js +7 -0
  17. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalCreateStep/index.d.ts +2 -0
  18. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalCreateStep/index.js +5 -0
  19. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalCreateStep/types.d.ts +11 -0
  20. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalCreateStep/types.js +2 -0
  21. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalCreateStep/useStepperVerticalCreateStep.d.ts +2 -0
  22. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalCreateStep/useStepperVerticalCreateStep.js +48 -0
  23. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepHelper.d.ts +5 -0
  24. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepHelper.js +92 -0
  25. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsControl/index.d.ts +2 -0
  26. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsControl/index.js +5 -0
  27. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsControl/types.d.ts +8 -0
  28. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsControl/types.js +2 -0
  29. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsControl/useStepperVerticalStepsControl.d.ts +2 -0
  30. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsControl/useStepperVerticalStepsControl.js +26 -0
  31. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsStructure/index.d.ts +2 -0
  32. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsStructure/index.js +5 -0
  33. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsStructure/types.d.ts +15 -0
  34. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsStructure/types.js +2 -0
  35. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsStructure/useStepperVerticalStepsStructure.d.ts +8 -0
  36. package/__inner__/cjs/components/StepperVertical/hooks/useStepperVerticalStepsStructure/useStepperVerticalStepsStructure.js +82 -0
  37. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.js +1 -0
  38. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.css +42 -4
  39. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.d.ts +0 -1
  40. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.js +46 -16
  41. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.d.ts +3 -0
  42. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.js +11 -0
  43. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepRootContext.d.ts +7 -0
  44. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepRootContext.js +15 -0
  45. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/classNames.d.ts +1 -0
  46. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/classNames.js +5 -0
  47. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/variant.d.ts +1 -1
  48. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/variant.js +1 -0
  49. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/index.d.ts +2 -0
  50. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/index.js +2 -0
  51. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/types.d.ts +2 -0
  52. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.css +10 -0
  53. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.d.ts +3 -0
  54. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.js +31 -0
  55. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/constants.d.ts +2 -0
  56. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/constants.js +6 -0
  57. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/content.d.ts +4 -0
  58. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/content.js +2 -0
  59. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/index.d.ts +1 -0
  60. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/index.js +4 -0
  61. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/index.d.ts +3 -0
  62. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/index.js +6 -0
  63. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/types.d.ts +11 -0
  64. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepSubstepButton/types.js +2 -0
  65. package/__inner__/cjs/components/StepperVertical/modules/index.d.ts +1 -0
  66. package/__inner__/cjs/components/StepperVertical/modules/index.js +1 -0
  67. package/__inner__/cjs/hooks/useEventBus/index.d.ts +1 -0
  68. package/__inner__/cjs/hooks/useEventBus/index.js +4 -0
  69. package/__inner__/cjs/hooks/useEventBus/useEventBus.d.ts +3 -0
  70. package/__inner__/cjs/hooks/useEventBus/useEventBus.js +9 -0
  71. package/__inner__/cjs/hooks/useEventBusEvents/index.d.ts +2 -0
  72. package/__inner__/cjs/hooks/useEventBusEvents/index.js +5 -0
  73. package/__inner__/cjs/hooks/useEventBusEvents/types.d.ts +4 -0
  74. package/__inner__/cjs/hooks/useEventBusEvents/types.js +2 -0
  75. package/__inner__/cjs/hooks/useEventBusEvents/useEventBusEvents.d.ts +5 -0
  76. package/__inner__/cjs/hooks/useEventBusEvents/useEventBusEvents.js +40 -0
  77. package/__inner__/cjs/utils/eventBus/EventBus.d.ts +8 -0
  78. package/__inner__/cjs/utils/eventBus/EventBus.js +51 -0
  79. package/__inner__/cjs/utils/eventBus/index.d.ts +2 -0
  80. package/__inner__/cjs/utils/eventBus/index.js +5 -0
  81. package/__inner__/cjs/utils/eventBus/types/EventBusEvents.d.ts +1 -0
  82. package/__inner__/cjs/utils/eventBus/types/EventBusEvents.js +2 -0
  83. package/__inner__/cjs/utils/eventBus/types/EventBusListener.d.ts +5 -0
  84. package/__inner__/cjs/utils/eventBus/types/EventBusListener.js +2 -0
  85. package/__inner__/cjs/utils/eventBus/types/EventBusListenerCallback.d.ts +1 -0
  86. package/__inner__/cjs/utils/eventBus/types/EventBusListenerCallback.js +2 -0
  87. package/__inner__/cjs/utils/eventBus/types/ExtractEventBusEvents.d.ts +3 -0
  88. package/__inner__/cjs/utils/eventBus/types/ExtractEventBusEvents.js +2 -0
  89. package/__inner__/cjs/utils/eventBus/types/index.d.ts +4 -0
  90. package/__inner__/cjs/utils/eventBus/types/index.js +7 -0
  91. package/__inner__/cjs/utils/index.d.ts +1 -0
  92. package/__inner__/cjs/utils/index.js +1 -0
  93. package/__inner__/cjs/utils/test-utils.d.ts +9 -1
  94. package/__inner__/cjs/utils/test-utils.js +19 -2
  95. package/__inner__/esm/components/Dialog/Dialog.d.ts +1 -0
  96. package/__inner__/esm/components/DialogNext/components/DialogModal/DialogModal.d.ts +1 -0
  97. package/__inner__/esm/components/DialogNext/types.d.ts +1 -1
  98. package/__inner__/esm/components/Drawer/Drawer.d.ts +1 -0
  99. package/__inner__/esm/components/Modal/Modal.d.ts +1 -0
  100. package/__inner__/esm/components/Modal/Modal.js +14 -6
  101. package/__inner__/esm/components/Modal/constants.d.ts +1 -0
  102. package/__inner__/esm/components/Modal/constants.js +1 -0
  103. package/__inner__/esm/components/Modal/types.d.ts +2 -0
  104. package/__inner__/esm/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +2 -1
  105. package/__inner__/esm/components/StepperVertical/StepperVertical.d.ts +1 -0
  106. package/__inner__/esm/components/StepperVertical/StepperVertical.js +14 -3
  107. package/__inner__/esm/components/StepperVertical/StepperVerticalContext.d.ts +8 -0
  108. package/__inner__/esm/components/StepperVertical/StepperVerticalContext.js +10 -0
  109. package/__inner__/esm/components/StepperVertical/hooks/index.d.ts +4 -0
  110. package/__inner__/esm/components/StepperVertical/hooks/index.js +4 -0
  111. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalCreateStep/index.d.ts +2 -0
  112. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalCreateStep/index.js +2 -0
  113. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalCreateStep/types.d.ts +11 -0
  114. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalCreateStep/types.js +1 -0
  115. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalCreateStep/useStepperVerticalCreateStep.d.ts +2 -0
  116. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalCreateStep/useStepperVerticalCreateStep.js +44 -0
  117. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepHelper.d.ts +5 -0
  118. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepHelper.js +88 -0
  119. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsControl/index.d.ts +2 -0
  120. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsControl/index.js +2 -0
  121. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsControl/types.d.ts +8 -0
  122. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsControl/types.js +1 -0
  123. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsControl/useStepperVerticalStepsControl.d.ts +2 -0
  124. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsControl/useStepperVerticalStepsControl.js +22 -0
  125. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsStructure/index.d.ts +2 -0
  126. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsStructure/index.js +2 -0
  127. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsStructure/types.d.ts +15 -0
  128. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsStructure/types.js +1 -0
  129. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsStructure/useStepperVerticalStepsStructure.d.ts +8 -0
  130. package/__inner__/esm/components/StepperVertical/hooks/useStepperVerticalStepsStructure/useStepperVerticalStepsStructure.js +78 -0
  131. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.js +2 -1
  132. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.css +42 -4
  133. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.d.ts +0 -1
  134. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.js +46 -16
  135. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.d.ts +3 -0
  136. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.js +11 -0
  137. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepRootContext.d.ts +7 -0
  138. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepRootContext.js +11 -0
  139. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/classNames.d.ts +1 -0
  140. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/classNames.js +2 -0
  141. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/variant.d.ts +1 -1
  142. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/variant.js +1 -0
  143. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/index.d.ts +2 -0
  144. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/index.js +2 -0
  145. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/types.d.ts +2 -0
  146. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.css +10 -0
  147. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.d.ts +3 -0
  148. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.js +28 -0
  149. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/constants.d.ts +2 -0
  150. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/constants.js +3 -0
  151. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/content.d.ts +4 -0
  152. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/content.js +1 -0
  153. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/index.d.ts +1 -0
  154. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/entities/index.js +1 -0
  155. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/index.d.ts +3 -0
  156. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/index.js +3 -0
  157. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/types.d.ts +11 -0
  158. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepSubstepButton/types.js +1 -0
  159. package/__inner__/esm/components/StepperVertical/modules/index.d.ts +1 -0
  160. package/__inner__/esm/components/StepperVertical/modules/index.js +1 -0
  161. package/__inner__/esm/hooks/useEventBus/index.d.ts +1 -0
  162. package/__inner__/esm/hooks/useEventBus/index.js +1 -0
  163. package/__inner__/esm/hooks/useEventBus/useEventBus.d.ts +3 -0
  164. package/__inner__/esm/hooks/useEventBus/useEventBus.js +5 -0
  165. package/__inner__/esm/hooks/useEventBusEvents/index.d.ts +2 -0
  166. package/__inner__/esm/hooks/useEventBusEvents/index.js +2 -0
  167. package/__inner__/esm/hooks/useEventBusEvents/types.d.ts +4 -0
  168. package/__inner__/esm/hooks/useEventBusEvents/types.js +1 -0
  169. package/__inner__/esm/hooks/useEventBusEvents/useEventBusEvents.d.ts +5 -0
  170. package/__inner__/esm/hooks/useEventBusEvents/useEventBusEvents.js +36 -0
  171. package/__inner__/esm/utils/eventBus/EventBus.d.ts +8 -0
  172. package/__inner__/esm/utils/eventBus/EventBus.js +48 -0
  173. package/__inner__/esm/utils/eventBus/index.d.ts +2 -0
  174. package/__inner__/esm/utils/eventBus/index.js +2 -0
  175. package/__inner__/esm/utils/eventBus/types/EventBusEvents.d.ts +1 -0
  176. package/__inner__/esm/utils/eventBus/types/EventBusEvents.js +1 -0
  177. package/__inner__/esm/utils/eventBus/types/EventBusListener.d.ts +5 -0
  178. package/__inner__/esm/utils/eventBus/types/EventBusListener.js +1 -0
  179. package/__inner__/esm/utils/eventBus/types/EventBusListenerCallback.d.ts +1 -0
  180. package/__inner__/esm/utils/eventBus/types/EventBusListenerCallback.js +1 -0
  181. package/__inner__/esm/utils/eventBus/types/ExtractEventBusEvents.d.ts +3 -0
  182. package/__inner__/esm/utils/eventBus/types/ExtractEventBusEvents.js +1 -0
  183. package/__inner__/esm/utils/eventBus/types/index.d.ts +4 -0
  184. package/__inner__/esm/utils/eventBus/types/index.js +4 -0
  185. package/__inner__/esm/utils/index.d.ts +1 -0
  186. package/__inner__/esm/utils/index.js +1 -0
  187. package/__inner__/esm/utils/test-utils.d.ts +9 -1
  188. package/__inner__/esm/utils/test-utils.js +16 -1
  189. package/package.json +4 -4
  190. package/useEventBus/package.json +5 -0
  191. package/useEventBusEvents/package.json +5 -0
@@ -0,0 +1,4 @@
1
+ export * from './EventBusEvents';
2
+ export * from './EventBusListener';
3
+ export * from './EventBusListenerCallback';
4
+ export * from './ExtractEventBusEvents';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./EventBusEvents"), exports);
5
+ tslib_1.__exportStar(require("./EventBusListener"), exports);
6
+ tslib_1.__exportStar(require("./EventBusListenerCallback"), exports);
7
+ tslib_1.__exportStar(require("./ExtractEventBusEvents"), exports);
@@ -3,6 +3,7 @@ export * from './breakpoint';
3
3
  export * from './capitalizeFirstLetter';
4
4
  export * from './css';
5
5
  export * from './date';
6
+ export * from './eventBus';
6
7
  export * from './generateUniqKey';
7
8
  export * from './getByMap';
8
9
  export * from './getScrollBarSize';
@@ -6,6 +6,7 @@ tslib_1.__exportStar(require("./breakpoint"), exports);
6
6
  tslib_1.__exportStar(require("./capitalizeFirstLetter"), exports);
7
7
  tslib_1.__exportStar(require("./css"), exports);
8
8
  tslib_1.__exportStar(require("./date"), exports);
9
+ tslib_1.__exportStar(require("./eventBus"), exports);
9
10
  tslib_1.__exportStar(require("./generateUniqKey"), exports);
10
11
  tslib_1.__exportStar(require("./getByMap"), exports);
11
12
  tslib_1.__exportStar(require("./getScrollBarSize"), exports);
@@ -1,8 +1,16 @@
1
- import type { ReactElement } from 'react';
1
+ import React from 'react';
2
+ import type { ReactElement, Context } from 'react';
2
3
  import { type RenderResult, type RenderOptions } from '@testing-library/react';
3
4
  export type RenderFn = (component: ReactElement, options?: RenderOptions) => RenderResult;
4
5
  export type MatchesFn = (component: ReactElement, options?: RenderOptions) => ChildNode | HTMLCollection | null;
5
6
  export declare const render: RenderFn;
6
7
  export declare const renderInAct: (ui: ReactElement, options?: RenderOptions) => Promise<RenderResult>;
8
+ export declare const TestConsumer: <ContextValue>({ context, onValue, }: {
9
+ context: Context<ContextValue>;
10
+ onValue: (value: ContextValue) => void;
11
+ }) => null;
12
+ export declare const createTestConsumer: <ContextValue>(context: Context<ContextValue>) => ({ onValue, }: {
13
+ onValue: (value: ContextValue) => void;
14
+ }) => React.JSX.Element;
7
15
  declare const matches: MatchesFn;
8
16
  export default matches;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderInAct = exports.render = void 0;
3
+ exports.createTestConsumer = exports.TestConsumer = exports.renderInAct = exports.render = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var react_1 = tslib_1.__importDefault(require("react"));
5
+ var react_1 = tslib_1.__importStar(require("react"));
6
6
  var react_2 = require("@testing-library/react");
7
7
  var OzenProvider_1 = require("../components/OzenProvider");
8
8
  var WithProviders = function (_a) {
@@ -30,6 +30,23 @@ var renderInAct = function (ui, options) { return tslib_1.__awaiter(void 0, void
30
30
  });
31
31
  }); };
32
32
  exports.renderInAct = renderInAct;
33
+ var TestConsumer = function (_a) {
34
+ var context = _a.context, onValue = _a.onValue;
35
+ var contextValue = (0, react_1.useContext)(context);
36
+ (0, react_1.useEffect)(function () {
37
+ onValue(contextValue);
38
+ }, [contextValue]);
39
+ return null;
40
+ };
41
+ exports.TestConsumer = TestConsumer;
42
+ var createTestConsumer = function (context) {
43
+ var Component = function (_a) {
44
+ var onValue = _a.onValue;
45
+ return react_1.default.createElement(exports.TestConsumer, { context: context, onValue: onValue });
46
+ };
47
+ return Component;
48
+ };
49
+ exports.createTestConsumer = createTestConsumer;
33
50
  var matches = function () {
34
51
  var args = [];
35
52
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -34,6 +34,7 @@ export declare const Dialog: React.ForwardRefExoticComponent<{
34
34
  className?: string;
35
35
  'data-testid'?: string;
36
36
  ignoreClickOutsideRefs?: React.RefObject<HTMLElement>[];
37
+ closeOnlyOnTop?: boolean;
37
38
  } & {
38
39
  container?: import("../../hooks/usePortalContainer").PortalContainer;
39
40
  } & Omit<import("../PortalBase").PortalBaseBaseProps, "container"> & {
@@ -30,6 +30,7 @@ export declare const DialogModal: React.ForwardRefExoticComponent<{
30
30
  className?: string;
31
31
  'data-testid'?: string;
32
32
  ignoreClickOutsideRefs?: React.RefObject<HTMLElement>[];
33
+ closeOnlyOnTop?: boolean;
33
34
  } & {
34
35
  container?: import("../../../../hooks/usePortalContainer").PortalContainer;
35
36
  } & Omit<import("../../../PortalBase").PortalBaseBaseProps, "container"> & {
@@ -6,7 +6,7 @@ import type { DIALOG_DEFAULT_DEVICE_TYPE } from './constants';
6
6
  import type { DialogDeviceType, DialogSizeVariantByDeviceType, DialogVariant } from './entities';
7
7
  export type DialogRef = HTMLDivElement;
8
8
  export type DialogRenderCloseButton = RenderContentTypeEmptyProps['content'];
9
- export type DialogContentBottomSheetProps = Omit<DialogBottomSheetProps, 'hideCloseButton' | 'backdrop' | 'open' | 'size' | 'variant' | 'closeButton' | 'onClose' | 'className'>;
9
+ export type DialogContentBottomSheetProps = Omit<DialogBottomSheetProps, 'hideCloseButton' | 'backdrop' | 'open' | 'size' | 'variant' | 'closeButton' | 'onClose' | 'className' | 'children'>;
10
10
  export type DialogContentModalProps = Omit<DialogModalProps, 'open' | 'onClose' | 'hideCloseButton' | 'className' | 'closeButton' | 'size' | 'variant' | 'children'>;
11
11
  export type DialogBaseProps = {
12
12
  /** Если `true`, будет отображаться окно диалога */
@@ -35,6 +35,7 @@ export declare const Drawer: React.ForwardRefExoticComponent<{
35
35
  className?: string;
36
36
  'data-testid'?: string;
37
37
  ignoreClickOutsideRefs?: React.RefObject<HTMLElement>[];
38
+ closeOnlyOnTop?: boolean;
38
39
  } & {
39
40
  container?: import("../../hooks/usePortalContainer").PortalContainer;
40
41
  } & Omit<import("../PortalBase").PortalBaseBaseProps, "container"> & {
@@ -24,6 +24,7 @@ export declare const Modal: React.ForwardRefExoticComponent<{
24
24
  className?: string;
25
25
  'data-testid'?: string;
26
26
  ignoreClickOutsideRefs?: React.RefObject<HTMLElement>[];
27
+ closeOnlyOnTop?: boolean;
27
28
  } & {
28
29
  container?: import("../../hooks/usePortalContainer").PortalContainer;
29
30
  } & Omit<import("../PortalBase").PortalBaseBaseProps, "container"> & {
@@ -9,16 +9,21 @@ import { useFocusTrap } from '../../hooks/useFocusTrap';
9
9
  import { useLockBodyScroll } from '../../hooks/useLockBodyScroll';
10
10
  import { useMultiRef } from '../../hooks/useMultiRef';
11
11
  import { usePortalContainer } from '../../hooks/usePortalContainer';
12
+ import { useThemeProps } from '../../hooks/useThemeProps';
12
13
  import { cn } from '../../utils/classname';
13
14
  import { isKey } from '../../utils/isKey';
14
15
  import { Backdrop } from '../Backdrop';
15
16
  import { PortalBase } from '../PortalBase';
16
17
  import { ModalConsumer } from './components';
17
- import { MODAL_DEFAULT_DISABLE_CLICK_OUTSIDE, MODAL_DEFAULT_DISABLE_SCROLL_LOCK, MODAL_DEFAULT_ESCAPE_KEY_DOWN, MODAL_DEFAULT_HIDE_BACKDROP, MODAL_DEFAULT_KEEP_MOUNTED, MODAL_DEFAULT_OPEN, MODAL_DEFAULT_PORTAL_CONTAINER, } from './constants';
18
+ import { MODAL_DEFAULT_CLOSE_ONLY_ON_TOP, MODAL_DEFAULT_DISABLE_CLICK_OUTSIDE, MODAL_DEFAULT_DISABLE_SCROLL_LOCK, MODAL_DEFAULT_ESCAPE_KEY_DOWN, MODAL_DEFAULT_HIDE_BACKDROP, MODAL_DEFAULT_KEEP_MOUNTED, MODAL_DEFAULT_OPEN, MODAL_DEFAULT_PORTAL_CONTAINER, } from './constants';
18
19
  import { useModalManager } from './index';
19
20
  export var cnModal = cn('Modal');
20
- export var Modal = forwardRef(function (_a, ref) {
21
- var _b = _a.open, open = _b === void 0 ? MODAL_DEFAULT_OPEN : _b, _c = _a.keepMounted, keepMounted = _c === void 0 ? MODAL_DEFAULT_KEEP_MOUNTED : _c, _d = _a.hideBackdrop, hideBackdrop = _d === void 0 ? MODAL_DEFAULT_HIDE_BACKDROP : _d, _e = _a.disableScrollLock, disableScrollLock = _e === void 0 ? MODAL_DEFAULT_DISABLE_SCROLL_LOCK : _e, _f = _a.disableClickOutside, disableClickOutside = _f === void 0 ? MODAL_DEFAULT_DISABLE_CLICK_OUTSIDE : _f, _g = _a.disableEscapeKeyDown, disableEscapeKeyDown = _g === void 0 ? MODAL_DEFAULT_ESCAPE_KEY_DOWN : _g, children = _a.children, onEnter = _a.onEnter, onEntered = _a.onEntered, onExit = _a.onExit, onExitedProp = _a.onExited, onClose = _a.onClose, backdropProps = _a.backdropProps, windowProps = _a.windowProps, transitionProps = _a.transitionProps, className = _a.className, ignoreClickOutsideRefs = _a.ignoreClickOutsideRefs, _h = _a.container, containerProp = _h === void 0 ? MODAL_DEFAULT_PORTAL_CONTAINER : _h, other = __rest(_a, ["open", "keepMounted", "hideBackdrop", "disableScrollLock", "disableClickOutside", "disableEscapeKeyDown", "children", "onEnter", "onEntered", "onExit", "onExited", "onClose", "backdropProps", "windowProps", "transitionProps", "className", "ignoreClickOutsideRefs", "container"]);
21
+ export var Modal = forwardRef(function (inProps, ref) {
22
+ var props = useThemeProps({
23
+ name: 'Modal',
24
+ props: inProps,
25
+ });
26
+ var _a = props.open, open = _a === void 0 ? MODAL_DEFAULT_OPEN : _a, _b = props.keepMounted, keepMounted = _b === void 0 ? MODAL_DEFAULT_KEEP_MOUNTED : _b, _c = props.hideBackdrop, hideBackdrop = _c === void 0 ? MODAL_DEFAULT_HIDE_BACKDROP : _c, _d = props.disableScrollLock, disableScrollLock = _d === void 0 ? MODAL_DEFAULT_DISABLE_SCROLL_LOCK : _d, _e = props.disableClickOutside, disableClickOutside = _e === void 0 ? MODAL_DEFAULT_DISABLE_CLICK_OUTSIDE : _e, _f = props.disableEscapeKeyDown, disableEscapeKeyDown = _f === void 0 ? MODAL_DEFAULT_ESCAPE_KEY_DOWN : _f, children = props.children, onEnter = props.onEnter, onEntered = props.onEntered, onExit = props.onExit, onExitedProp = props.onExited, onClose = props.onClose, backdropProps = props.backdropProps, windowProps = props.windowProps, transitionProps = props.transitionProps, className = props.className, ignoreClickOutsideRefs = props.ignoreClickOutsideRefs, _g = props.container, containerProp = _g === void 0 ? MODAL_DEFAULT_PORTAL_CONTAINER : _g, _h = props.closeOnlyOnTop, closeOnlyOnTop = _h === void 0 ? MODAL_DEFAULT_CLOSE_ONLY_ON_TOP : _h, other = __rest(props, ["open", "keepMounted", "hideBackdrop", "disableScrollLock", "disableClickOutside", "disableEscapeKeyDown", "children", "onEnter", "onEntered", "onExit", "onExited", "onClose", "backdropProps", "windowProps", "transitionProps", "className", "ignoreClickOutsideRefs", "container", "closeOnlyOnTop"]);
22
27
  var hasBackdrop = !hideBackdrop;
23
28
  var rootRef = useRef(null);
24
29
  var windowInnerRef = useRef(null);
@@ -32,6 +37,7 @@ export var Modal = forwardRef(function (_a, ref) {
32
37
  active: isTop,
33
38
  focusinTrap: false,
34
39
  });
40
+ var isCloseHandlersActive = closeOnlyOnTop ? isTop : true;
35
41
  var modalConsumerMultiRef = useMultiRef([
36
42
  windowInnerRef,
37
43
  trapRef,
@@ -42,7 +48,7 @@ export var Modal = forwardRef(function (_a, ref) {
42
48
  windowInnerRef
43
49
  ], __read(refsClickOutside), false), __read((ignoreClickOutsideRefs || [])), false),
44
50
  handler: onClose,
45
- active: open && !disableClickOutside,
51
+ active: open && !disableClickOutside && isCloseHandlersActive,
46
52
  });
47
53
  // Блокирует прокрутку основного окна приложения
48
54
  useLockBodyScroll(opened && !disableScrollLock);
@@ -78,13 +84,15 @@ export var Modal = forwardRef(function (_a, ref) {
78
84
  return;
79
85
  onClose === null || onClose === void 0 ? void 0 : onClose();
80
86
  },
81
- active: isTop && !disableEscapeKeyDown,
87
+ active: isCloseHandlersActive && !disableEscapeKeyDown,
82
88
  });
83
89
  if (!container) {
84
90
  return null;
85
91
  }
86
92
  return (React.createElement(CSSTransition, __assign({ classNames: cnModal({ animation: true }), nodeRef: rootRef, timeout: 300 }, transitionProps, { in: openState, onEnter: onEnter, onEntered: onEntered, onExit: onExit, onExited: onExited, unmountOnExit: !keepMounted, appear: true }),
87
- React.createElement(PortalBase, __assign({}, other, { container: container, className: cnModal({ hidden: keepMounted && !openState, hasBackdrop: hasBackdrop }, [className]), ref: portalMultiRef }),
93
+ React.createElement(PortalBase, __assign({}, other, { container: container, className: cnModal({ hidden: keepMounted && !openState, hasBackdrop: hasBackdrop }, [
94
+ className,
95
+ ]), ref: portalMultiRef }),
88
96
  !hideBackdrop && (React.createElement(Backdrop, __assign({ zIndex: -1, open: openState }, backdropProps, { className: backdropProps === null || backdropProps === void 0 ? void 0 : backdropProps.className }))),
89
97
  React.createElement(ModalConsumer, __assign({}, windowProps, { ref: modalConsumerMultiRef }), children))));
90
98
  });
@@ -5,3 +5,4 @@ export declare const MODAL_DEFAULT_DISABLE_SCROLL_LOCK = false;
5
5
  export declare const MODAL_DEFAULT_DISABLE_CLICK_OUTSIDE = false;
6
6
  export declare const MODAL_DEFAULT_ESCAPE_KEY_DOWN = false;
7
7
  export declare const MODAL_DEFAULT_PORTAL_CONTAINER: () => HTMLElement;
8
+ export declare const MODAL_DEFAULT_CLOSE_ONLY_ON_TOP = true;
@@ -7,3 +7,4 @@ export var MODAL_DEFAULT_ESCAPE_KEY_DOWN = false;
7
7
  export var MODAL_DEFAULT_PORTAL_CONTAINER = (function () {
8
8
  return window.document.body;
9
9
  });
10
+ export var MODAL_DEFAULT_CLOSE_ONLY_ON_TOP = true;
@@ -49,5 +49,7 @@ export type ModalProps = {
49
49
  'data-testid'?: string;
50
50
  /** Список ссылок на элементы при клике на которые Modal не будет закрываться (см. хук useClickOutside) */
51
51
  ignoreClickOutsideRefs?: RefObject<HTMLElement>[];
52
+ /** Закрыть только если окно находится на самом верхнем слое */
53
+ closeOnlyOnTop?: boolean;
52
54
  } & PortalProps;
53
55
  export type ModalRef = PortalRef;
@@ -66,7 +66,7 @@ import type { SelectIconButtonProps, SelectProps } from '../../../../Select';
66
66
  import type { SliderProps } from '../../../../Slider';
67
67
  import type { SnackbarProviderProps } from '../../../../Snackbar';
68
68
  import type { StackProps } from '../../../../Stack';
69
- import type { StepperVerticalProps, StepperVerticalStepButtonProps, StepperVerticalStepProps, StepperVerticalIndicatorProps, StepperVerticalIconIndicatorProps } from '../../../../StepperVertical';
69
+ import type { StepperVerticalStepSubstepButtonProps, StepperVerticalProps, StepperVerticalStepButtonProps, StepperVerticalStepProps, StepperVerticalIndicatorProps, StepperVerticalIconIndicatorProps } from '../../../../StepperVertical';
70
70
  import type { TableContainerProps, TableProps, TableCaptionProps, TableCellProps } from '../../../../Table';
71
71
  import type { TagProps } from '../../../../Tag';
72
72
  import type { TagProps as TagPropsNext } from '../../../../TagNext';
@@ -193,6 +193,7 @@ export type ThemeDefaultProps = {
193
193
  StepperVertical?: Partial<StepperVerticalProps>;
194
194
  StepperVerticalStep?: Partial<StepperVerticalStepProps>;
195
195
  StepperVerticalStepButton?: Partial<StepperVerticalStepButtonProps>;
196
+ StepperVerticalStepSubstepButton?: Partial<StepperVerticalStepSubstepButtonProps>;
196
197
  StepperVerticalIconIndicator?: Partial<StepperVerticalIconIndicatorProps>;
197
198
  StepperVerticalIndicator?: Partial<StepperVerticalIndicatorProps>;
198
199
  Table?: Partial<TableProps>;
@@ -2,6 +2,7 @@ import './StepperVertical.css';
2
2
  import './modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.css';
3
3
  import './modules/StepperVerticalIndicator/StepperVerticalIndicator.css';
4
4
  import './modules/StepperVerticalStep/StepperVerticalStep.css';
5
+ import './modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.css';
5
6
  import type { StepperVerticalBaseProps } from './types';
6
7
  export declare const cnStepperVertical: import("@bem-react/classname").ClassNameFormatter;
7
8
  export declare const StepperVertical: import("../../utils").PolymorphicComponentWithRef<StepperVerticalBaseProps, "div", "as">;
@@ -3,16 +3,27 @@ import './StepperVertical.css';
3
3
  import './modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.css';
4
4
  import './modules/StepperVerticalIndicator/StepperVerticalIndicator.css';
5
5
  import './modules/StepperVerticalStep/StepperVerticalStep.css';
6
- import React from 'react';
6
+ import './modules/StepperVerticalStepSubstepButton/StepperVerticalStepSubstepButton.css';
7
+ import React, { useRef, useMemo } from 'react';
8
+ import { useMultiRef } from '../../hooks/useMultiRef';
7
9
  import { useThemeProps } from '../../hooks/useThemeProps';
8
10
  import { cn, polymorphicComponentWithRef } from '../../utils';
9
11
  import { Stack } from '../Stack';
10
12
  import { STEPPER_VERTICAL_DEFAULT_ELLIPSIS, STEPPER_VERTICAL_DEFAULT_TAG, } from './constants';
13
+ import { useStepperVerticalStepsControl, useStepperVerticalStepsStructure, } from './hooks';
11
14
  import { StepperVerticalContext } from './StepperVerticalContext';
12
15
  export var cnStepperVertical = cn('StepperVertical');
13
16
  export var StepperVertical = polymorphicComponentWithRef(function (inProps, ref) {
14
17
  var props = useThemeProps({ name: 'StepperVertical', props: inProps });
15
18
  var children = props.children, _a = props.as, as = _a === void 0 ? STEPPER_VERTICAL_DEFAULT_TAG : _a, _b = props.ellipsis, ellipsis = _b === void 0 ? STEPPER_VERTICAL_DEFAULT_ELLIPSIS : _b, className = props.className, fullWidth = props.fullWidth, other = __rest(props, ["children", "as", "ellipsis", "className", "fullWidth"]);
16
- return (React.createElement(StepperVerticalContext.Provider, { value: { ellipsis: ellipsis } },
17
- React.createElement(Stack, __assign({}, other, { ref: ref, as: as, className: cnStepperVertical('', [className]), direction: "column", display: fullWidth ? 'block' : 'inline' }), children)));
19
+ var internalRef = useRef(null);
20
+ var stepsControl = useStepperVerticalStepsControl();
21
+ var structure = useStepperVerticalStepsStructure(internalRef, stepsControl, children);
22
+ var memoizedContextValue = useMemo(function () { return ({
23
+ ellipsis: ellipsis,
24
+ stepsControl: stepsControl,
25
+ structure: structure,
26
+ }); }, [ellipsis, stepsControl, structure]);
27
+ return (React.createElement(StepperVerticalContext.Provider, { value: memoizedContextValue },
28
+ React.createElement(Stack, __assign({}, other, { ref: useMultiRef([internalRef, ref]), as: as, className: cnStepperVertical('', [className]), direction: "column", display: fullWidth ? 'block' : 'inline' }), children)));
18
29
  });
@@ -1,5 +1,13 @@
1
+ import type { StoredValue } from '../../hooks/useStoredValue';
2
+ import { EventBus } from '../../utils';
3
+ import type { StepperVerticalStepsControl, StepperVerticalStepsStructure, StepperVerticalStepsStructureEvents } from './hooks';
1
4
  export type StepperVerticalContextValue = {
2
5
  ellipsis: boolean;
6
+ stepsControl: StepperVerticalStepsControl;
7
+ structure: {
8
+ value: StoredValue<StepperVerticalStepsStructure>;
9
+ eventBus: EventBus<StepperVerticalStepsStructureEvents>;
10
+ };
3
11
  };
4
12
  export declare const StepperVerticalContextDefaultValue: StepperVerticalContextValue;
5
13
  export declare const StepperVerticalContext: import("react").Context<StepperVerticalContextValue>;
@@ -1,8 +1,18 @@
1
1
  import { useContext, createContext } from 'react';
2
2
  import { isDev } from '../../constants/environment';
3
+ import { EventBus } from '../../utils';
3
4
  import { STEPPER_VERTICAL_DEFAULT_ELLIPSIS } from './constants';
4
5
  export var StepperVerticalContextDefaultValue = {
5
6
  ellipsis: STEPPER_VERTICAL_DEFAULT_ELLIPSIS,
7
+ stepsControl: {
8
+ steps: { current: {} },
9
+ initializeStep: function () { },
10
+ deleteStep: function () { },
11
+ },
12
+ structure: {
13
+ value: { current: { nodes: [], nodeById: {} } },
14
+ eventBus: new EventBus(),
15
+ },
6
16
  };
7
17
  export var StepperVerticalContext = createContext(StepperVerticalContextDefaultValue);
8
18
  export var useStepperVerticalContext = function () {
@@ -0,0 +1,4 @@
1
+ export * from './useStepperVerticalCreateStep';
2
+ export * from './useStepperVerticalStepsControl';
3
+ export * from './useStepperVerticalStepsStructure';
4
+ export * from './useStepperVerticalStepHelper';
@@ -0,0 +1,4 @@
1
+ export * from './useStepperVerticalCreateStep';
2
+ export * from './useStepperVerticalStepsControl';
3
+ export * from './useStepperVerticalStepsStructure';
4
+ export * from './useStepperVerticalStepHelper';
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './useStepperVerticalCreateStep';
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './useStepperVerticalCreateStep';
@@ -0,0 +1,11 @@
1
+ import type { Dispatch, RefObject, SetStateAction } from 'react';
2
+ export type StepperVerticalStepControl = {
3
+ id: string;
4
+ ref: RefObject<HTMLElement | null>;
5
+ root: StepperVerticalStepControl | null;
6
+ substeps: Record<string, StepperVerticalStepControl>;
7
+ registerSubstep: (substep: StepperVerticalStepControl) => void;
8
+ unregisterSubstep: (substep: StepperVerticalStepControl) => void;
9
+ isSubStepsOpen: boolean;
10
+ setIsSubStepsOpen: Dispatch<SetStateAction<boolean>>;
11
+ };
@@ -0,0 +1,2 @@
1
+ import type { StepperVerticalStepControl } from './types';
2
+ export declare const useStepperVerticalCreateStep: (root?: StepperVerticalStepControl) => StepperVerticalStepControl;
@@ -0,0 +1,44 @@
1
+ import { __read } from "tslib";
2
+ import { useCallback, useRef, useState, useEffect } from 'react';
3
+ import { useStoredValue } from '../../../../hooks/useStoredValue';
4
+ import { useUniqueId } from '../../../../hooks/useUniqueId';
5
+ import { useStepperVerticalContext } from '../../StepperVerticalContext';
6
+ export var useStepperVerticalCreateStep = function (root) {
7
+ var id = useUniqueId();
8
+ var _a = __read(useState(false), 2), isSubStepsOpen = _a[0], setIsSubStepsOpen = _a[1];
9
+ var stepperVerticalContext = useStepperVerticalContext();
10
+ var ref = useRef(null);
11
+ var step = useStoredValue(function () { return ({
12
+ id: id,
13
+ root: root !== null && root !== void 0 ? root : null,
14
+ ref: ref,
15
+ isSubStepsOpen: isSubStepsOpen,
16
+ setIsSubStepsOpen: setIsSubStepsOpen,
17
+ unregisterSubstep: function () { },
18
+ registerSubstep: function () { },
19
+ substeps: {},
20
+ }); });
21
+ var registerSubstep = useCallback(function (substep) {
22
+ step.current.substeps[substep.id] = substep;
23
+ }, []);
24
+ var unregisterSubstep = useCallback(function (substep) {
25
+ delete step.current.substeps[substep.id];
26
+ }, []);
27
+ step.current.isSubStepsOpen = isSubStepsOpen;
28
+ step.current.root = root !== null && root !== void 0 ? root : null;
29
+ step.current.registerSubstep = registerSubstep;
30
+ step.current.unregisterSubstep = unregisterSubstep;
31
+ useEffect(function () {
32
+ stepperVerticalContext.stepsControl.initializeStep(step.current);
33
+ if (root) {
34
+ root.registerSubstep(step.current);
35
+ }
36
+ return function () {
37
+ stepperVerticalContext.stepsControl.deleteStep(step.current);
38
+ if (root) {
39
+ root.unregisterSubstep(step.current);
40
+ }
41
+ };
42
+ }, []);
43
+ return step.current;
44
+ };
@@ -0,0 +1,5 @@
1
+ import type { StepperVerticalStepControl } from './useStepperVerticalCreateStep';
2
+ export declare const useStepperVerticalStepHelper: (step: StepperVerticalStepControl) => {
3
+ hasPrevious: boolean;
4
+ hasNext: boolean;
5
+ };
@@ -0,0 +1,88 @@
1
+ import { __read } from "tslib";
2
+ import { useEffect, useState } from 'react';
3
+ import { useEventBusEvents } from '../../../hooks/useEventBusEvents';
4
+ import { useStepperVerticalContext } from '../StepperVerticalContext';
5
+ export var useStepperVerticalStepHelper = function (step) {
6
+ var _a;
7
+ var structure = useStepperVerticalContext().structure;
8
+ var _b = __read(useState(false), 2), hasPrevious = _b[0], setHasPrevious = _b[1];
9
+ var _c = __read(useState(false), 2), hasNext = _c[0], setHasNext = _c[1];
10
+ var getStructureNode = function (forStep) {
11
+ var _a;
12
+ if (forStep === void 0) { forStep = step; }
13
+ var node = (_a = structure.value.current.nodeById[forStep.id]) !== null && _a !== void 0 ? _a : null;
14
+ return node;
15
+ };
16
+ var getNodeIndex = function (node) {
17
+ if (!node.root) {
18
+ return structure.value.current.nodes.indexOf(node);
19
+ }
20
+ return node.root.substeps.indexOf(node);
21
+ };
22
+ var checkHasNext = function (forStep) {
23
+ if (forStep === void 0) { forStep = step; }
24
+ if (forStep.isSubStepsOpen) {
25
+ return true;
26
+ }
27
+ var node = getStructureNode(forStep);
28
+ if (!node) {
29
+ return false;
30
+ }
31
+ var nodeIndex = getNodeIndex(node);
32
+ if (!node.root) {
33
+ return !!structure.value.current.nodes[nodeIndex + 1];
34
+ }
35
+ var sameLevelNext = node.root.substeps[nodeIndex + 1];
36
+ if (sameLevelNext) {
37
+ return true;
38
+ }
39
+ var checkHasTopLevelNext = function (node) {
40
+ if (!node.root) {
41
+ return false;
42
+ }
43
+ var rootIndex = getNodeIndex(node.root);
44
+ var nextStep = node.root.root
45
+ ? node.root.root.substeps[rootIndex + 1]
46
+ : structure.value.current.nodes[rootIndex + 1];
47
+ if (nextStep) {
48
+ return true;
49
+ }
50
+ return checkHasTopLevelNext(node.root);
51
+ };
52
+ var otherLevelNext = checkHasTopLevelNext(node);
53
+ return otherLevelNext;
54
+ };
55
+ var checkHasPrevious = function (forStep) {
56
+ if (forStep === void 0) { forStep = step; }
57
+ var node = getStructureNode(forStep);
58
+ if (!node) {
59
+ return false;
60
+ }
61
+ var nodeIndex = getNodeIndex(node);
62
+ if (!node.root) {
63
+ return !!structure.value.current.nodes[nodeIndex - 1];
64
+ }
65
+ var rootHasNext = checkHasNext(node.root.step);
66
+ if (rootHasNext) {
67
+ return true;
68
+ }
69
+ if (nodeIndex === 0) {
70
+ return node.root.step.isSubStepsOpen;
71
+ }
72
+ return true;
73
+ };
74
+ var recalculate = function () {
75
+ setHasPrevious(checkHasPrevious());
76
+ setHasNext(checkHasNext());
77
+ };
78
+ useEventBusEvents(structure.eventBus, {
79
+ update: recalculate,
80
+ });
81
+ useEffect(function () {
82
+ recalculate();
83
+ }, [step.isSubStepsOpen, (_a = step.root) === null || _a === void 0 ? void 0 : _a.isSubStepsOpen]);
84
+ return {
85
+ hasPrevious: hasPrevious,
86
+ hasNext: hasNext,
87
+ };
88
+ };
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './useStepperVerticalStepsControl';
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './useStepperVerticalStepsControl';
@@ -0,0 +1,8 @@
1
+ import type { StoredValue } from '../../../../hooks/useStoredValue';
2
+ import type { StepperVerticalStepControl } from '../useStepperVerticalCreateStep';
3
+ export type StepperVerticalSteps = Record<string, StepperVerticalStepControl>;
4
+ export type StepperVerticalStepsControl = {
5
+ initializeStep: (step: StepperVerticalStepControl) => void;
6
+ deleteStep: (step: StepperVerticalStepControl) => void;
7
+ steps: StoredValue<StepperVerticalSteps>;
8
+ };
@@ -0,0 +1,2 @@
1
+ import type { StepperVerticalStepsControl } from './types';
2
+ export declare const useStepperVerticalStepsControl: () => StepperVerticalStepsControl;
@@ -0,0 +1,22 @@
1
+ import { useCallback, useMemo } from 'react';
2
+ import { useStoredValue } from '../../../../hooks/useStoredValue';
3
+ export var useStepperVerticalStepsControl = function () {
4
+ var steps = useStoredValue({});
5
+ var initializeStep = useCallback(function (step) {
6
+ if (steps.current[step.id]) {
7
+ return;
8
+ }
9
+ steps.current[step.id] = step;
10
+ }, []);
11
+ var deleteStep = useCallback(function (step) {
12
+ if (!steps.current[step.id]) {
13
+ return;
14
+ }
15
+ delete steps.current[step.id];
16
+ }, []);
17
+ return useMemo(function () { return ({
18
+ deleteStep: deleteStep,
19
+ initializeStep: initializeStep,
20
+ steps: steps,
21
+ }); }, []);
22
+ };
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './useStepperVerticalStepsStructure';
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './useStepperVerticalStepsStructure';
@@ -0,0 +1,15 @@
1
+ import type { StepperVerticalStepControl } from '../useStepperVerticalCreateStep';
2
+ export type StepperVerticalStepsStructureNode = {
3
+ root: StepperVerticalStepsStructureNode | null;
4
+ step: StepperVerticalStepControl;
5
+ substeps: StepperVerticalStepsStructureNode[];
6
+ };
7
+ export type StepperVerticalStepsStructure = {
8
+ nodeById: Record<string, StepperVerticalStepsStructureNode>;
9
+ nodes: StepperVerticalStepsStructureNode[];
10
+ };
11
+ export type StepperVerticalStepsStructureEvents = {
12
+ update: {
13
+ structure: StepperVerticalStepsStructure;
14
+ };
15
+ };
@@ -0,0 +1,8 @@
1
+ import type { ReactNode, RefObject } from 'react';
2
+ import type { StepperVerticalRef } from '../../types';
3
+ import type { StepperVerticalStepsControl } from '../useStepperVerticalStepsControl';
4
+ import type { StepperVerticalStepsStructure, StepperVerticalStepsStructureEvents } from './types';
5
+ export declare const useStepperVerticalStepsStructure: (ref: RefObject<StepperVerticalRef>, stepsControl: StepperVerticalStepsControl, children: ReactNode) => {
6
+ value: import("../../../../hooks/useStoredValue").StoredValue<StepperVerticalStepsStructure>;
7
+ eventBus: import("../../../../utils").EventBus<StepperVerticalStepsStructureEvents>;
8
+ };