@integry/sdk 4.7.39 → 4.7.41

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 (267) hide show
  1. package/dist/esm/index.csm.js +1 -1
  2. package/dist/umd/index.umd.js +1 -1
  3. package/package.json +6 -1
  4. package/.eslintignore +0 -1
  5. package/.vscode/launch.json +0 -17
  6. package/CHANGELOG_INTERNAL.md +0 -134
  7. package/README_INTERNAL.md +0 -176
  8. package/THIRD_PARTY_LICENSES +0 -525
  9. package/generateTests.js +0 -80
  10. package/jest.config.cjs +0 -10
  11. package/src/components/AddTagButton/index.ts +0 -23
  12. package/src/components/BasicSelect/index.ts +0 -123
  13. package/src/components/BasicSelect/styles.module.scss +0 -44
  14. package/src/components/Button/index.ts +0 -97
  15. package/src/components/Button/styles.module.scss +0 -152
  16. package/src/components/CheckboxGroup/Checkbox.ts +0 -104
  17. package/src/components/CheckboxGroup/index.ts +0 -190
  18. package/src/components/CheckboxGroup/styles.module.scss +0 -63
  19. package/src/components/CollapsedMenu/index.ts +0 -104
  20. package/src/components/CollapsedMenu/styles.module.scss +0 -46
  21. package/src/components/ConfigureFieldWrapper/index.ts +0 -85
  22. package/src/components/ConfigureFieldWrapper/styles.module.scss +0 -57
  23. package/src/components/EditableText/index.ts +0 -121
  24. package/src/components/EditableText/styles.module.scss +0 -38
  25. package/src/components/EditableTextArea/index.ts +0 -143
  26. package/src/components/EditableTextArea/styles.module.scss +0 -91
  27. package/src/components/ErrorMessage/index.ts +0 -16
  28. package/src/components/ErrorMessage/styles.module.scss +0 -19
  29. package/src/components/ErrorPage/index.ts +0 -42
  30. package/src/components/ErrorPage/styles.module.scss +0 -26
  31. package/src/components/Footer/index.ts +0 -41
  32. package/src/components/Footer/styles.module.scss +0 -40
  33. package/src/components/HTMLContent/index.tsx +0 -205
  34. package/src/components/HTMLContent/styles.module.scss +0 -3
  35. package/src/components/InfoBox/index.ts +0 -48
  36. package/src/components/InfoBox/styles.module.scss +0 -21
  37. package/src/components/Input/BaseInput/index.ts +0 -170
  38. package/src/components/Input/BaseInput/styles.module.scss +0 -95
  39. package/src/components/Input/DateInput/index.ts +0 -103
  40. package/src/components/Input/DateInput/styles.module.scss +0 -50
  41. package/src/components/Input/Input/index.ts +0 -225
  42. package/src/components/Input/Input/styles.module.scss +0 -16
  43. package/src/components/Input/PasswordInput/index.ts +0 -164
  44. package/src/components/Input/PasswordInput/styles.module.scss +0 -37
  45. package/src/components/Input/index.ts +0 -7
  46. package/src/components/Label/index.ts +0 -61
  47. package/src/components/Label/styles.module.scss +0 -41
  48. package/src/components/LargeLoader/index.ts +0 -25
  49. package/src/components/LargeLoader/styles.module.scss +0 -16
  50. package/src/components/Listbox/ListBoxItem.ts +0 -57
  51. package/src/components/Listbox/index.ts +0 -488
  52. package/src/components/Listbox/styles.module.scss +0 -197
  53. package/src/components/Loader/index.ts +0 -25
  54. package/src/components/Loader/styles.module.scss +0 -16
  55. package/src/components/MediaGallery/MediaGalleryModal.ts +0 -82
  56. package/src/components/MediaGallery/MediaSlider.ts +0 -76
  57. package/src/components/MediaGallery/index.ts +0 -92
  58. package/src/components/MediaGallery/styles.module.scss +0 -156
  59. package/src/components/MediaUpload/index.ts +0 -233
  60. package/src/components/MediaUpload/styles.module.scss +0 -118
  61. package/src/components/Modal/index.ts +0 -87
  62. package/src/components/Modal/styles.module.scss +0 -441
  63. package/src/components/MultipurposeField/Dropdown/ListBoxItem.tsx +0 -59
  64. package/src/components/MultipurposeField/Dropdown/index.tsx +0 -1202
  65. package/src/components/MultipurposeField/Dropdown/styles.module.scss +0 -215
  66. package/src/components/MultipurposeField/TagMenu/index.ts +0 -536
  67. package/src/components/MultipurposeField/TagMenu/styles.module.scss +0 -175
  68. package/src/components/MultipurposeField/TagOptions/index.tsx +0 -83
  69. package/src/components/MultipurposeField/TagOptions/styles.module.scss +0 -95
  70. package/src/components/MultipurposeField/index.tsx +0 -944
  71. package/src/components/MultipurposeField/styles.module.scss +0 -77
  72. package/src/components/NewModal/index.ts +0 -69
  73. package/src/components/NewModal/styles.module.scss +0 -70
  74. package/src/components/OverflowTooltip/index.tsx +0 -59
  75. package/src/components/PopUp/ConfirmationPopUp/index.ts +0 -58
  76. package/src/components/PopUp/ConfirmationPopUp/styles.module.scss +0 -49
  77. package/src/components/PopUp/SuccessPopUp/index.ts +0 -62
  78. package/src/components/PopUp/SuccessPopUp/styles.module.scss +0 -38
  79. package/src/components/RadioGroup/Radio.ts +0 -128
  80. package/src/components/RadioGroup/index.ts +0 -169
  81. package/src/components/RadioGroup/styles.module.scss +0 -81
  82. package/src/components/Search/index.ts +0 -69
  83. package/src/components/Search/styles.module.scss +0 -149
  84. package/src/components/TabBar/Tab.ts +0 -33
  85. package/src/components/TabBar/index.ts +0 -64
  86. package/src/components/TabBar/styles.module.scss +0 -43
  87. package/src/components/Tag/index.ts +0 -29
  88. package/src/components/Tag/styles.module.scss +0 -57
  89. package/src/components/TagsMenu/index.ts +0 -1697
  90. package/src/components/TagsMenu/styles.module.scss +0 -350
  91. package/src/components/TestComponent/index.ts +0 -71
  92. package/src/components/TestComponent/styles.module.scss +0 -152
  93. package/src/components/TextArea/index.ts +0 -172
  94. package/src/components/TextArea/styles.module.scss +0 -72
  95. package/src/components/TextContent/index.tsx +0 -128
  96. package/src/components/TextContent/styles.module.scss +0 -6
  97. package/src/components/ThreeDotLoader/index.ts +0 -39
  98. package/src/components/ThreeDotLoader/styles.module.scss +0 -41
  99. package/src/components/TimeInput/index.ts +0 -129
  100. package/src/components/TimeInput/styles.module.scss +0 -16
  101. package/src/components/Toggle/index.ts +0 -34
  102. package/src/components/Toggle/styles.module.scss +0 -56
  103. package/src/components/Toggle-v2/index.ts +0 -40
  104. package/src/components/Toggle-v2/styles.module.scss +0 -86
  105. package/src/components/Tooltip/index.ts +0 -271
  106. package/src/components/Tooltip/styles.module.scss +0 -105
  107. package/src/components/form/FunctionField/index.ts +0 -816
  108. package/src/components/form/FunctionField/styles.module.scss +0 -478
  109. package/src/components/form/ObjectField/__snapshots__/index.ts.test.tsx.snap +0 -3
  110. package/src/components/form/ObjectField/index.ts +0 -593
  111. package/src/components/form/ObjectField/index.ts.test.tsx +0 -213
  112. package/src/components/form/ObjectField/styles.module.scss +0 -103
  113. package/src/components/form/index.ts +0 -4
  114. package/src/contexts/AppContext.ts +0 -12
  115. package/src/declaration.d.ts +0 -7
  116. package/src/extensions/HMAC.ts +0 -25
  117. package/src/extensions/IntegryAPIError.ts +0 -19
  118. package/src/features/common/AccountDropdown/index.ts +0 -291
  119. package/src/features/common/AccountDropdown/styles.module.scss +0 -19
  120. package/src/features/common/ActionForm/index.ts +0 -2602
  121. package/src/features/common/ActionForm/styles.module.scss +0 -35
  122. package/src/features/common/AppCard/index.ts +0 -207
  123. package/src/features/common/AppCard/styles.module.scss +0 -117
  124. package/src/features/common/AppCardCompact/index.ts +0 -189
  125. package/src/features/common/AppCardCompact/styles.module.scss +0 -141
  126. package/src/features/common/AuthSelector/index.ts +0 -537
  127. package/src/features/common/AuthSelector/styles.module.scss +0 -161
  128. package/src/features/common/AuthSelectorCompact/index.ts +0 -706
  129. package/src/features/common/AuthSelectorCompact/styles.module.scss +0 -219
  130. package/src/features/common/AuthSelectorDropdown/index.ts +0 -704
  131. package/src/features/common/AuthSelectorDropdown/styles.module.scss +0 -361
  132. package/src/features/common/AuthSelectorV2/index.ts +0 -336
  133. package/src/features/common/AuthSelectorV2/styles.module.scss +0 -235
  134. package/src/features/common/DynamicField/index.ts +0 -402
  135. package/src/features/common/DynamicField/styles.module.scss +0 -266
  136. package/src/features/common/DynamicTypedField/index.ts +0 -504
  137. package/src/features/common/DynamicTypedField/styles.module.scss +0 -135
  138. package/src/features/common/FunctionForm/index.ts +0 -1095
  139. package/src/features/common/FunctionForm/styles.module.scss +0 -225
  140. package/src/features/common/MappingUI/index.ts +0 -649
  141. package/src/features/common/MappingUI/styles.module.scss +0 -121
  142. package/src/features/common/MarketplaceAppCard/index.ts +0 -279
  143. package/src/features/common/MarketplaceAppCard/styles.module.scss +0 -231
  144. package/src/features/common/MarketplaceAppCardCompact/index.ts +0 -283
  145. package/src/features/common/MarketplaceAppCardCompact/styles.module.scss +0 -255
  146. package/src/features/common/NewMappingUI/index.ts +0 -515
  147. package/src/features/common/NewMappingUI/styles.module.scss +0 -113
  148. package/src/features/common/RequestAppWidget/RequestAppModal/index.ts +0 -67
  149. package/src/features/common/RequestAppWidget/RequestAppModal/styles.module.scss +0 -23
  150. package/src/features/common/RequestAppWidget/index.ts +0 -48
  151. package/src/features/common/RequestAppWidget/request-app-form.ts +0 -89
  152. package/src/features/common/RequestAppWidget/styles.module.scss +0 -43
  153. package/src/features/common/SectionField/index.ts +0 -272
  154. package/src/features/common/SectionField/styles.module.scss +0 -67
  155. package/src/features/common/Step/index.ts +0 -827
  156. package/src/features/common/Step/styles.module.scss +0 -12
  157. package/src/features/common/StepNavigation/CollapsedSteps.ts +0 -131
  158. package/src/features/common/StepNavigation/NavItem.ts +0 -111
  159. package/src/features/common/StepNavigation/index.ts +0 -261
  160. package/src/features/common/StepNavigation/styles.module.scss +0 -117
  161. package/src/features/common/Steps/index.ts +0 -1140
  162. package/src/features/common/Steps/styles.module.scss +0 -314
  163. package/src/features/containers/AppFlowContainer/AppFlowListing/compactStyles.module.scss +0 -404
  164. package/src/features/containers/AppFlowContainer/AppFlowListing/flow-instance.tsx +0 -367
  165. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCard.test.tsx +0 -58
  166. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCard.tsx +0 -208
  167. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCardCompact.test.tsx +0 -49
  168. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCardCompact.tsx +0 -421
  169. package/src/features/containers/AppFlowContainer/AppFlowListing/flowInstanceCompact.tsx +0 -577
  170. package/src/features/containers/AppFlowContainer/AppFlowListing/index.tsx +0 -83
  171. package/src/features/containers/AppFlowContainer/AppFlowListing/styles.module.scss +0 -233
  172. package/src/features/containers/AppFlowContainer/AppFlowWrap/app-page-loader.tsx +0 -45
  173. package/src/features/containers/AppFlowContainer/AppFlowWrap/index.tsx +0 -1085
  174. package/src/features/containers/AppFlowContainer/AppFlowWrap/styles.module.scss +0 -465
  175. package/src/features/containers/AppFlowContainer/Authentication/index.ts +0 -610
  176. package/src/features/containers/AppFlowContainer/Authentication/styles.module.scss +0 -468
  177. package/src/features/containers/AppFlowContainer/index.ts +0 -114
  178. package/src/features/containers/AppPageContainer/AppPage/index.tsx +0 -262
  179. package/src/features/containers/AppPageContainer/AppPage/styles.module.scss +0 -120
  180. package/src/features/containers/AppPageContainer/IntegrationCard/index.ts +0 -165
  181. package/src/features/containers/AppPageContainer/IntegrationCard/styles.module.scss +0 -81
  182. package/src/features/containers/AppPageContainer/index.tsx +0 -93
  183. package/src/features/containers/AppPageContainer/styles.module.scss +0 -0
  184. package/src/features/containers/AppsForFlows/index.ts +0 -161
  185. package/src/features/containers/AppsForFlows/styles.module.scss +0 -280
  186. package/src/features/containers/AppsForFlowsCompact/index.ts +0 -161
  187. package/src/features/containers/AppsForFlowsCompact/styles.module.scss +0 -279
  188. package/src/features/containers/AuthSetupContainer/AppSelection.ts +0 -73
  189. package/src/features/containers/AuthSetupContainer/AuthTypeSelection.ts +0 -67
  190. package/src/features/containers/AuthSetupContainer/Footer.ts +0 -32
  191. package/src/features/containers/AuthSetupContainer/Header.ts +0 -39
  192. package/src/features/containers/AuthSetupContainer/PostAdditionPopup.ts +0 -27
  193. package/src/features/containers/AuthSetupContainer/index.ts +0 -349
  194. package/src/features/containers/AuthSetupContainer/styles.module.scss +0 -229
  195. package/src/features/containers/FlowSetupContainer/index.ts +0 -391
  196. package/src/features/containers/FlowSetupContainer/styles.module.scss +0 -18
  197. package/src/features/containers/MarkeplaceApps/index.ts +0 -583
  198. package/src/features/containers/MarkeplaceApps/styles.module.scss +0 -558
  199. package/src/features/containers/MarketplaceAppsCompact/index.ts +0 -585
  200. package/src/features/containers/MarketplaceAppsCompact/styles.module.scss +0 -563
  201. package/src/features/containers/MarketplaceAppsContainer/index.ts +0 -91
  202. package/src/features/containers/MarketplaceContainer/AppCard/index.ts +0 -91
  203. package/src/features/containers/MarketplaceContainer/AppCard/styles.module.scss +0 -66
  204. package/src/features/containers/MarketplaceContainer/AppListing/index.ts +0 -34
  205. package/src/features/containers/MarketplaceContainer/AppListing/styles.module.scss +0 -10
  206. package/src/features/containers/MarketplaceContainer/MarketplaceContentWrap/index.ts +0 -132
  207. package/src/features/containers/MarketplaceContainer/MarketplaceContentWrap/styles.module.scss +0 -117
  208. package/src/features/containers/MarketplaceContainer/index.ts +0 -242
  209. package/src/features/containers/MarketplaceContainer/styles.module.scss +0 -84
  210. package/src/features/containers/SDKContainer/index.ts +0 -817
  211. package/src/features/containers/SDKContainer/styles.module.scss +0 -266
  212. package/src/features/containers/SDKDebugContainer/index.ts +0 -137
  213. package/src/features/containers/SDKDebugContainer/styles.module.scss +0 -37
  214. package/src/features/containers/SDKFailedContainer/index.ts +0 -117
  215. package/src/features/containers/SDKFailedContainer/styles.module.scss +0 -57
  216. package/src/features/integrations/IntegrationRow/Icons.ts +0 -77
  217. package/src/features/integrations/IntegrationRow/index.ts +0 -129
  218. package/src/features/integrations/IntegrationRow/styles.module.scss +0 -62
  219. package/src/features/integrations/IntegrationsHeader/index.ts +0 -34
  220. package/src/features/integrations/IntegrationsHeader/styles.module.scss +0 -47
  221. package/src/features/integrations/IntegrationsList/index.ts +0 -252
  222. package/src/features/integrations/IntegrationsList/styles.module.scss +0 -67
  223. package/src/features/templates/Template/index.ts +0 -295
  224. package/src/features/templates/Template/styles.module.scss +0 -226
  225. package/src/features/templates/TemplatesView/index.ts +0 -368
  226. package/src/features/templates/TemplatesView/styles.module.scss +0 -71
  227. package/src/features/templates/TemplatesViewCompact/index.ts +0 -364
  228. package/src/features/templates/TemplatesViewCompact/styles.module.scss +0 -141
  229. package/src/hooks/useAutosizeTextArea.ts +0 -22
  230. package/src/hooks/useCustomRef.ts +0 -13
  231. package/src/hooks/useDebounce.ts +0 -17
  232. package/src/hooks/useElementResize.ts +0 -40
  233. package/src/hooks/useEventListener.ts +0 -42
  234. package/src/hooks/useHover.ts +0 -40
  235. package/src/hooks/useOnClickOutside.ts +0 -32
  236. package/src/index.ts +0 -2244
  237. package/src/index.umd.ts +0 -13
  238. package/src/interfaces/index.ts +0 -938
  239. package/src/modules/api/index.ts +0 -1325
  240. package/src/modules/api/responseHandler.ts +0 -38
  241. package/src/modules/event-emitter/index.ts +0 -72
  242. package/src/modules/event-emitter/runners/abstract.ts +0 -21
  243. package/src/modules/event-emitter/runners/default.ts +0 -11
  244. package/src/modules/event-emitter/runners/ntimes.ts +0 -28
  245. package/src/modules/event-emitter/types.ts +0 -34
  246. package/src/store/actionFunctions.ts +0 -1578
  247. package/src/store/index.ts +0 -17
  248. package/src/store/initialState.ts +0 -58
  249. package/src/types/index.ts +0 -320
  250. package/src/types/preact-compat.d.ts +0 -4
  251. package/src/types/store.ts +0 -366
  252. package/src/types/utils.ts +0 -19
  253. package/src/utils/ActivityOutputUtils.ts +0 -176
  254. package/src/utils/common.ts +0 -20
  255. package/src/utils/copyToClipboard.ts +0 -24
  256. package/src/utils/datetime.ts +0 -101
  257. package/src/utils/getUrlParam.ts +0 -11
  258. package/src/utils/isAuthMessage.ts +0 -16
  259. package/src/utils/isBrowser.ts +0 -1
  260. package/src/utils/jsonEncodeDecode.ts +0 -15
  261. package/src/utils/objectUtils.ts +0 -117
  262. package/src/utils/popup.ts +0 -30
  263. package/src/utils/searchJson.ts +0 -51
  264. package/src/utils/stepUtils.ts +0 -45
  265. package/src/utils/truncate.ts +0 -6
  266. package/test/setup.ts +0 -1
  267. package/vitest.config.ts +0 -16
@@ -1,12 +0,0 @@
1
- .stepsWrap {
2
- width: 100%;
3
- }
4
-
5
- .stepWrap {
6
- margin-bottom: 30px;
7
- }
8
-
9
- .unsupported {
10
- font-size: 12px;
11
- color: #ca8c1b;
12
- }
@@ -1,131 +0,0 @@
1
- import { html } from 'htm/preact';
2
- import { useRef, useState } from 'preact/hooks';
3
- import { StepStateStep } from '@/types/store';
4
- import { useOnClickOutside } from '@/hooks/useOnClickOutside';
5
-
6
- import { NavItem } from './NavItem';
7
-
8
- import styles from './styles.module.scss';
9
-
10
- interface CollapsedStepsProps {
11
- isPreviewMode?: boolean;
12
- currentStepIndex: number;
13
- changeStep(index: number): void;
14
- steps: StepStateStep[];
15
- isReadOnly?: boolean;
16
- }
17
-
18
- const CollapsedSteps = (props: CollapsedStepsProps) => {
19
- const {
20
- steps,
21
- currentStepIndex,
22
- isPreviewMode,
23
- changeStep,
24
- isReadOnly = false,
25
- } = props;
26
-
27
- const collapseRef = useRef<HTMLDivElement | null>(null);
28
- const dotsRef = useRef<HTMLDivElement>();
29
-
30
- const [showCollapsed, setShowCollapsed] = useState(false);
31
-
32
- useOnClickOutside(collapseRef, () =>
33
- showCollapsed ? setShowCollapsed(false) : null,
34
- );
35
-
36
- // useEffect(() => {
37
- // const onMouseOver = () => {
38
- // setShowCollapsed(true);
39
- // };
40
- // const onMouseLeave = () => {
41
- // setShowCollapsed(false);
42
- // };
43
- // dotsRef.current?.addEventListener('mouseenter', onMouseOver);
44
- // collapseRef.current?.addEventListener('mouseleave', onMouseLeave);
45
-
46
- // return () => {
47
- // dotsRef.current?.removeEventListener('mouseenter', onMouseOver);
48
- // collapseRef.current?.removeEventListener('mouseleave', onMouseLeave);
49
- // };
50
- // }, []);
51
-
52
- return html`
53
- <div class=${styles.collapse}>
54
- <div
55
- class=${styles.dots}
56
- ref=${dotsRef}
57
- onclick=${() => setShowCollapsed(true)}
58
- >
59
- <svg
60
- width="16"
61
- height="17"
62
- viewBox="0 0 16 17"
63
- fill="none"
64
- xmlns="http://www.w3.org/2000/svg"
65
- >
66
- <path
67
- fill-rule="evenodd"
68
- clip-rule="evenodd"
69
- d="M3.60039 9.83213C4.26313 9.83213 4.80039 9.29487 4.80039 8.63213C4.80039 7.96939 4.26313 7.43213 3.60039 7.43213C2.93765 7.43213 2.40039 7.96939 2.40039 8.63213C2.40039 9.29487 2.93765 9.83213 3.60039 9.83213Z"
70
- fill="#333333"
71
- />
72
- <path
73
- fill-rule="evenodd"
74
- clip-rule="evenodd"
75
- d="M7.60039 9.83213C8.26313 9.83213 8.80039 9.29487 8.80039 8.63213C8.80039 7.96939 8.26313 7.43213 7.60039 7.43213C6.93765 7.43213 6.40039 7.96939 6.40039 8.63213C6.40039 9.29487 6.93765 9.83213 7.60039 9.83213Z"
76
- fill="#333333"
77
- />
78
- <path
79
- fill-rule="evenodd"
80
- clip-rule="evenodd"
81
- d="M11.6004 9.83213C12.2631 9.83213 12.8004 9.29487 12.8004 8.63213C12.8004 7.96939 12.2631 7.43213 11.6004 7.43213C10.9376 7.43213 10.4004 7.96939 10.4004 8.63213C10.4004 9.29487 10.9376 9.83213 11.6004 9.83213Z"
82
- fill="#333333"
83
- />
84
- </svg>
85
- </div>
86
- <div
87
- ref=${collapseRef}
88
- class="${styles.popup} ${showCollapsed ? styles.show : ''}"
89
- >
90
- ${steps.map(
91
- (el) => html`<div class=${styles.stepItem}>
92
- <${NavItem}
93
- label=${el.type !== 'CONFIRMATION' ? el.title : 'Confirmation'}
94
- logoUrl=${el.type !== 'CONFIRMATION' && el.iconUrl}
95
- isCompleted=${!isPreviewMode && el.isCompleted}
96
- isActive=${el.type !== 'CONFIRMATION' &&
97
- currentStepIndex === el.itemIndex}
98
- isDisabled=${(isPreviewMode &&
99
- Number(currentStepIndex) !== el.itemIndex) ||
100
- Number(currentStepIndex) < el.itemIndex}
101
- isLastStep=${false}
102
- showArrow=${false}
103
- onClick=${() => {
104
- setShowCollapsed(false);
105
- changeStep(el.itemIndex);
106
- }}
107
- isReadOnly=${isReadOnly}
108
- />
109
- </div>`,
110
- )}
111
- </div>
112
- <div class=${styles.arrow}>
113
- <svg
114
- width="6"
115
- height="11"
116
- viewBox="0 0 6 11"
117
- fill="none"
118
- xmlns="http://www.w3.org/2000/svg"
119
- >
120
- <path
121
- d="M0.917969 1.33366L5.08464 5.50033L0.917969 9.66699"
122
- stroke="#999999"
123
- stroke-linecap="round"
124
- />
125
- </svg>
126
- </div>
127
- </div>
128
- `;
129
- };
130
-
131
- export { CollapsedSteps };
@@ -1,111 +0,0 @@
1
- import { html, Component } from 'htm/preact';
2
-
3
- import styles from './styles.module.scss';
4
-
5
- type NavItemProps = {
6
- label: string;
7
- logoUrl?: string;
8
- isDisabled?: boolean;
9
- isActive?: boolean;
10
- isCompleted?: boolean;
11
- isLastStep?: boolean;
12
- showArrow?: boolean;
13
- onClick?(): void;
14
- isReadOnly?: boolean;
15
- };
16
-
17
- const TickMark = html` <svg
18
- width="15"
19
- height="15"
20
- viewBox="0 0 15 15"
21
- fill="none"
22
- xmlns="http://www.w3.org/2000/svg"
23
- >
24
- <rect opacity="0.7" width="15" height="15" rx="7.5" fill="#2ECC71" />
25
- <path
26
- d="M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033"
27
- stroke="white"
28
- stroke-width="1.2"
29
- stroke-linecap="round"
30
- />
31
- </svg>`;
32
-
33
- const FinalTickMark = html`
34
- <svg
35
- width="15"
36
- height="15"
37
- viewBox="0 0 15 15"
38
- fill="none"
39
- xmlns="http://www.w3.org/2000/svg"
40
- >
41
- <circle
42
- cx="7.5"
43
- cy="7.5"
44
- r="6.75"
45
- fill="white"
46
- stroke="#2ECC71"
47
- stroke-width="1.5"
48
- />
49
- <path
50
- d="M10.3333 5.5L6.83522 9.5L5 7.40148"
51
- stroke="#2ECC71"
52
- stroke-width="1.5"
53
- stroke-linecap="round"
54
- />
55
- </svg>
56
- `;
57
-
58
- class NavItem extends Component<NavItemProps> {
59
- render() {
60
- const {
61
- logoUrl,
62
- isActive = false,
63
- isCompleted = false,
64
- isDisabled = false,
65
- isLastStep = false,
66
- onClick = () => null,
67
- showArrow = true,
68
- isReadOnly = false,
69
- } = this.props;
70
- return html`
71
- <div
72
- class=${`${styles.navItem} ${isDisabled ? styles.disabled : ''} ${
73
- isActive ? styles.active : ''} ${!isActive && isReadOnly ? styles.disabled : ''}`}
74
- onclick=${onClick}
75
- tabindex="-1"
76
- role="button"
77
- >
78
- <div class=${styles.navItemContent}>
79
- <div class=${styles.imgContainer}>
80
- ${!(isCompleted && !isActive) || isReadOnly
81
- ? html`<img src=${logoUrl} />`
82
- : TickMark}
83
- ${!isReadOnly && isLastStep && FinalTickMark}
84
- </div>
85
- <p>${this.props.label}</p>
86
- ${!isLastStep &&
87
- showArrow &&
88
- html`
89
- <div class=${styles.arrow}>
90
- <svg
91
- width="6"
92
- height="11"
93
- viewBox="0 0 6 11"
94
- fill="none"
95
- xmlns="http://www.w3.org/2000/svg"
96
- >
97
- <path
98
- d="M0.917969 1.33366L5.08464 5.50033L0.917969 9.66699"
99
- stroke="#999999"
100
- stroke-linecap="round"
101
- />
102
- </svg>
103
- </div>
104
- `}
105
- </div>
106
- </div>
107
- `;
108
- }
109
- }
110
-
111
- export { NavItem, NavItemProps };
@@ -1,261 +0,0 @@
1
- import { html } from 'htm/preact';
2
- import { useContext, useState, useEffect, useRef } from 'preact/hooks';
3
- import { connect } from 'unistore/preact';
4
- import { StepStateStep, StoreType } from '@/types/store';
5
-
6
- import AppContext from '@/contexts/AppContext';
7
- import { actionFunctions } from '@/store';
8
- import useElementResize from '@/hooks/useElementResize';
9
- import useDebounce from '@/hooks/useDebounce';
10
-
11
- import { NavItem } from './NavItem';
12
- import { CollapsedSteps } from './CollapsedSteps';
13
-
14
- import styles from './styles.module.scss';
15
-
16
- export type StepNavigationProps = StoreType;
17
-
18
- interface ParsedStep {
19
- type: 'VISIBLE' | 'COLLAPSED';
20
- steps: StepStateStep[];
21
- }
22
-
23
- const StepNavigation = (props: StepNavigationProps) => {
24
- const MAX_STEP_WIDTH = 220;
25
-
26
- const wrapRef = useRef<HTMLDivElement | null>(null);
27
- const {
28
- gotoStep,
29
- stepState: {
30
- stepIndex: currentStepIndex,
31
- steps,
32
- currentStep: step,
33
- allStepsCompleted,
34
- },
35
- } = props;
36
- const context = useContext(AppContext);
37
- const isReadOnly = context?.isReadOnly;
38
-
39
- const { width } = useElementResize(wrapRef);
40
-
41
- const debouncedWidth = useDebounce(width, 150);
42
-
43
- const [parsedSteps, setParsedSteps] = useState<ParsedStep[]>([]);
44
-
45
- useEffect(() => {
46
- let widthToUse = 0;
47
- // immediately use width and then use debounded value
48
- if (debouncedWidth === 0) widthToUse = width;
49
- else widthToUse = debouncedWidth;
50
-
51
- let composedArray: ParsedStep[] = [];
52
-
53
- if (wrapRef.current) {
54
- // console.log('Width of step container:', debouncedWidth);
55
- // console.log('Max width:', MAX_STEP_WIDTH);
56
- // console.log('Number of steps:', steps.length);
57
-
58
- const stepsToShow = widthToUse / MAX_STEP_WIDTH;
59
- // console.log('step_width / MAX_WIDTH:', stepsToShow);
60
-
61
- let itemIndex = -1;
62
- let stepsLength = steps.length;
63
- if (isReadOnly) {
64
- stepsLength = steps.length - 1;
65
- }
66
-
67
- if (stepsToShow <= stepsLength) {
68
- // const canShowComfortably = Math.floor(stepsToShow);
69
- // console.log(
70
- // 'Collapsed state enabled since we can only show:',
71
- // canShowComfortably,
72
- // );
73
- if (stepsLength <= 2) {
74
- // simple template with upto 2 steps, always show all
75
- // console.log(
76
- // 'Simple template with upto three steps, always show all three',
77
- // );
78
- // first and second, and confirmation step are always shown.
79
- composedArray.push({
80
- type: 'VISIBLE',
81
- steps: steps.map((el) => {
82
- itemIndex += 1;
83
- return {
84
- ...el,
85
- itemIndex,
86
- };
87
- }),
88
- });
89
- } else if (stepsLength > 2) {
90
- itemIndex += 1;
91
-
92
- // now we have to check logic
93
- // console.log(
94
- // 'Template has more than 3 steps, checking collapse states',
95
- // );
96
- // if index is not first or last
97
- // always show first step
98
- composedArray.push({
99
- type: 'VISIBLE',
100
- steps: [{ ...steps[0], itemIndex }],
101
- });
102
-
103
- if (currentStepIndex !== 0 && currentStepIndex !== stepsLength) {
104
- // check middle cases
105
- if (currentStepIndex > 1) {
106
- // console.log('More steps on the left exist');
107
- composedArray.push({
108
- type: 'COLLAPSED',
109
- steps: steps.slice(1, currentStepIndex).map((el) => {
110
- itemIndex += 1;
111
- return { ...el, itemIndex };
112
- }),
113
- });
114
- }
115
-
116
- // add the current step in every case
117
- composedArray.push({
118
- type: 'VISIBLE',
119
- steps: [
120
- { ...steps[currentStepIndex], itemIndex: currentStepIndex },
121
- ],
122
- });
123
- itemIndex += 1;
124
-
125
- if (stepsLength - currentStepIndex > 1) {
126
- // console.log('More steps on the right exist');
127
- composedArray.push({
128
- type: 'COLLAPSED',
129
- steps: steps
130
- .slice(currentStepIndex + 1, stepsLength)
131
- .map((el) => {
132
- itemIndex += 1;
133
- return {
134
- ...el,
135
- itemIndex,
136
- };
137
- }),
138
- });
139
- }
140
- } else {
141
- itemIndex += 1;
142
- // check if more Visible steps can be added
143
- composedArray.push({
144
- type: 'VISIBLE',
145
- steps: [{ ...steps[itemIndex], itemIndex }],
146
- });
147
-
148
- // console.log('Show first, last, collapsed steps in middle');
149
- composedArray.push({
150
- type: 'COLLAPSED',
151
- steps: steps.slice(itemIndex + 1, stepsLength).map((el) => {
152
- itemIndex += 1;
153
- return { ...el, itemIndex };
154
- }),
155
- });
156
- }
157
- if (isReadOnly) {
158
- // add the last step always for readOnly mode
159
- composedArray.push({
160
- type: 'VISIBLE',
161
- steps: [{ ...steps[stepsLength], itemIndex: stepsLength }],
162
- });
163
- }
164
- }
165
- } else {
166
- // console.log('Showing all');
167
- composedArray = [
168
- {
169
- type: 'VISIBLE',
170
- steps: steps.map((el, idx) => ({
171
- ...el,
172
- itemIndex: idx,
173
- })),
174
- },
175
- ];
176
- }
177
- }
178
- // console.log({
179
- // composedArray,
180
- // });
181
- setParsedSteps(composedArray);
182
- }, [steps, width, debouncedWidth, currentStepIndex]);
183
-
184
- const changeStep = (stepIndex: number) => {
185
- gotoStep(stepIndex);
186
- };
187
-
188
- return html`
189
- <div
190
- class="${styles.navigation} ${'integry-steps-navigation'}"
191
- ref=${wrapRef}
192
- >
193
- ${parsedSteps.map((parent) => {
194
- if (parent.type === 'VISIBLE') {
195
- return parent.steps.map(
196
- (el) => html`
197
- <div
198
- class=${styles.stepItem}
199
- style=${{
200
- maxWidth: MAX_STEP_WIDTH,
201
- }}
202
- >
203
- <${NavItem}
204
- label=${el.type !== 'CONFIRMATION'
205
- ? el.title
206
- : 'Confirmation'}
207
- logoUrl=${el.type !== 'CONFIRMATION' && el.iconUrl}
208
- isCompleted=${!context?.isPreviewMode && el.isCompleted}
209
- isActive=${step?.type !== 'CONFIRMATION' &&
210
- el.type !== 'CONFIRMATION' &&
211
- currentStepIndex === el.itemIndex}
212
- isDisabled=${!allStepsCompleted &&
213
- ((context?.isPreviewMode &&
214
- Number(currentStepIndex) !== el.itemIndex) ||
215
- Number(currentStepIndex) < el.itemIndex)}
216
- isLastStep=${isReadOnly
217
- ? el.itemIndex === steps.length - 1
218
- : el.itemIndex === steps.length}
219
- onClick=${() => changeStep(el.itemIndex)}
220
- isReadOnly=${isReadOnly}
221
- />
222
- </div>
223
- `,
224
- );
225
- }
226
- if (parent.type === 'COLLAPSED') {
227
- return html`
228
- <${CollapsedSteps}
229
- isPreviewMode=${context?.isPreviewMode}
230
- currentStepIndex=${currentStepIndex}
231
- changeStep=${changeStep}
232
- steps=${parent.steps}
233
- isReadOnly=${isReadOnly}
234
- />
235
- `;
236
- }
237
- return html`<></>`;
238
- })}
239
- ${parsedSteps.length > 0 &&
240
- !isReadOnly &&
241
- html`
242
- <${NavItem}
243
- label="Confirmation"
244
- logoUrl=""
245
- isCompleted=${true}
246
- isActive=${step !== undefined && currentStepIndex === steps.length}
247
- isDisabled=${!allStepsCompleted &&
248
- step !== undefined &&
249
- currentStepIndex !== steps.length}
250
- isLastStep=${true}
251
- onClick=${() => changeStep(steps.length ?? 0)}
252
- />
253
- `}
254
- </div>
255
- `;
256
- };
257
-
258
- export default connect<StepNavigationProps, unknown, StoreType, unknown>(
259
- 'stepState',
260
- actionFunctions,
261
- )(StepNavigation);
@@ -1,117 +0,0 @@
1
- .navigation {
2
- margin-bottom: 20px;
3
- position: relative;
4
- display: flex;
5
- align-items: center;
6
- justify-content: center;
7
- width: 100%;
8
- }
9
-
10
- .collapse {
11
- display: flex;
12
- width: 30px;
13
- height: 20px;
14
- padding-top: 0px;
15
- align-items: center;
16
- margin-right: 18px;
17
- .dots {
18
- cursor: pointer;
19
- height: 16px;
20
- padding-right: 0px;
21
- svg {
22
- vertical-align: unset;
23
- }
24
- }
25
- .popup {
26
- position: absolute;
27
- display: none;
28
- padding: 0 10px;
29
- background: #ffffff;
30
- border: 1px solid #f3f3f3;
31
- box-shadow: 0px 2px 7px rgba(162, 162, 162, 0.25);
32
- border-radius: 4px;
33
- top: 28px;
34
- z-index: 100;
35
- &.show {
36
- display: block;
37
- }
38
- .stepItem {
39
- padding: 10px 0px;
40
- &:not(:last-child) {
41
- border-bottom: 1px solid #f3f3f3;
42
- }
43
- }
44
- }
45
- .arrow {
46
- margin-top: 0px;
47
- margin-left: 0.75rem;
48
- margin-right: 0.5rem;
49
- svg {
50
- opacity: 0.5;
51
- vertical-align: unset;
52
- }
53
- }
54
- }
55
-
56
- .navItem {
57
- cursor: pointer;
58
- color: rgba(31, 41, 55, 1);
59
-
60
- .navItemContent {
61
- display: flex;
62
- align-items: center;
63
- padding-right: 0.25rem;
64
- p {
65
- margin: 0;
66
- overflow: hidden;
67
- text-overflow: ellipsis;
68
- white-space: nowrap;
69
- font-size: 12px;
70
- font-weight: 400;
71
- color: #333333;
72
- }
73
- .imgContainer {
74
- position: relative;
75
- margin-right: 0.5rem;
76
- height: 15px;
77
- width: 15px;
78
- overflow: hidden;
79
- border-radius: 9999px;
80
- img,
81
- svg {
82
- position: absolute;
83
- top: 0px;
84
- left: 0px;
85
- height: 100%;
86
- width: 100%;
87
- object-fit: cover;
88
- }
89
- }
90
- }
91
- .arrow {
92
- margin-top: 0px;
93
- margin-left: 0.75rem;
94
- margin-right: 0.5rem;
95
- svg {
96
- vertical-align: unset;
97
- }
98
- }
99
-
100
- &.active {
101
- opacity: 1;
102
- p {
103
- font-weight: 500;
104
- }
105
- }
106
-
107
- &.disabled {
108
- user-select: none;
109
- opacity: 0.5;
110
- p {
111
- font-weight: 400;
112
- }
113
- }
114
- // &.showDisabledIcon {
115
- // cursor: not-allowed;
116
- // }
117
- }