@bikdotai/bik-component-library 0.0.787-beta.1 → 0.0.787-beta.11

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 (381) hide show
  1. package/dist/cjs/assets/icons/Ai_event_generating.svg.js +1 -1
  2. package/dist/cjs/components/ProgressChecklist/MultiChecklistItem.d.ts +29 -1
  3. package/dist/cjs/components/ProgressChecklist/ProgressChecklist.d.ts +1 -27
  4. package/dist/cjs/components/QueryBuilder/Filters/Event/components/EventFilter.js +1 -1
  5. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/EmojiPicker.d.ts +1 -2
  6. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/EmojiPicker.js +1 -1
  7. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.d.ts +5 -2
  8. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.js +1 -1
  9. package/dist/cjs/components/QueryBuilder/components/Connectors/Connector.js +1 -1
  10. package/dist/cjs/components/QueryBuilder/constants/connector.d.ts +1 -1
  11. package/dist/cjs/components/QueryBuilder/constants/connector.js +1 -1
  12. package/dist/cjs/components/QueryBuilder/constants/connectorPosition.js +1 -1
  13. package/dist/cjs/components/QueryBuilder/helpers/Connector.helper.d.ts +1 -1
  14. package/dist/cjs/components/QueryBuilder/helpers/Connector.helper.js +1 -1
  15. package/dist/cjs/components/QueryBuilder/helpers/PropertyCustomProcessor.d.ts +1 -1
  16. package/dist/cjs/components/QueryBuilder/helpers/SegmentValidator.d.ts +3 -15
  17. package/dist/cjs/components/QueryBuilder/types/QueryBuilder.type.d.ts +2 -22
  18. package/dist/cjs/components/QueryBuilder/types/QueryBuilder.type.js +1 -1
  19. package/dist/cjs/components/QueryBuilder/types/QueryBuilderAPI.type.d.ts +1 -1
  20. package/dist/cjs/components/QueryBuilder/types/QueryBuilderConnector.type.d.ts +1 -1
  21. package/dist/cjs/components/QueryBuilder/types/QueryBuilderEnum.type.d.ts +21 -0
  22. package/dist/cjs/components/QueryBuilder/types/QueryBuilderEnum.type.js +1 -0
  23. package/dist/cjs/components/QueryBuilder/types/index.d.ts +2 -1
  24. package/dist/cjs/components/SearchFilter/components/DatePickerButton.d.ts +1 -1
  25. package/dist/cjs/components/SearchFilter/components/DateRangeOnlyButton.d.ts +1 -1
  26. package/dist/cjs/components/SearchFilter/components/SearchFilterItem.d.ts +1 -1
  27. package/dist/cjs/components/SearchFilter/types/SearchFilter.type.d.ts +1 -1
  28. package/dist/cjs/components/WhatsAppTextEditor/AIRephraseButton.d.ts +4 -1
  29. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditor.d.ts +4 -1
  30. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.d.ts +1 -4
  31. package/dist/cjs/components/WhatsAppTextEditor/ai/actionRegistry.d.ts +2 -1
  32. package/dist/cjs/components/accordion/Accordion.d.ts +2 -35
  33. package/dist/cjs/components/accordion/Accordion.model.d.ts +35 -0
  34. package/dist/cjs/components/accordion/Accordion.style.d.ts +1 -1
  35. package/dist/cjs/components/analytics-card/AnalyticsCard.d.ts +1 -1
  36. package/dist/cjs/components/analytics-card/AnalyticsCard.model.d.ts +1 -0
  37. package/dist/cjs/components/analytics-card/AnalyticsCard.styled.d.ts +1 -1
  38. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.d.ts +1 -17
  39. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.model.d.ts +18 -0
  40. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChipChannelFooter.d.ts +1 -1
  41. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsMultiChip.d.ts +1 -1
  42. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/LazyCharts.d.ts +2 -0
  43. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/LazyCharts.js +1 -0
  44. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  45. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js +1 -1
  46. package/dist/cjs/components/avatar/Avatar.js +1 -1
  47. package/dist/cjs/components/bik-layout/BikSidebar.d.ts +1 -1
  48. package/dist/cjs/components/bik-layout/Sidebar.model.d.ts +27 -0
  49. package/dist/cjs/components/bik-layout/SidebarPopup.d.ts +1 -1
  50. package/dist/cjs/components/bik-layout/SidebarSkeleton.d.ts +1 -1
  51. package/dist/cjs/components/bik-layout/SidebarStyles.d.ts +1 -1
  52. package/dist/cjs/components/bik-layout/SimpleSidebar.d.ts +1 -27
  53. package/dist/cjs/components/floating-input-dropdown/FloatingInputDropdown.d.ts +1 -1
  54. package/dist/cjs/components/image-cropper/BikImageCropper.d.ts +1 -6
  55. package/dist/cjs/components/image-cropper/BikImageCropper.model.d.ts +6 -0
  56. package/dist/cjs/components/image-cropper/BikImagePipeline/BikImagePipeline.d.ts +1 -1
  57. package/dist/cjs/components/input/ChipInput.js +1 -1
  58. package/dist/cjs/components/input/ChipInput.styled.d.ts +6 -66
  59. package/dist/cjs/components/input/ChipInput.styled.js +1 -1
  60. package/dist/cjs/components/input/Input-helper.d.ts +1 -1
  61. package/dist/cjs/components/input/Input.d.ts +1 -74
  62. package/dist/cjs/components/input/Input.js +1 -1
  63. package/dist/cjs/components/input/Input.model.d.ts +73 -0
  64. package/dist/cjs/components/input/Input.styled.d.ts +1 -2
  65. package/dist/cjs/components/input/Input.styled.js +1 -1
  66. package/dist/cjs/components/input-with-vars/InputWithVariables.d.ts +1 -1
  67. package/dist/cjs/components/list-item/List.model.d.ts +18 -0
  68. package/dist/cjs/components/list-item/ListItem.d.ts +1 -17
  69. package/dist/cjs/components/list-item/ListItem.styled.d.ts +1 -1
  70. package/dist/cjs/components/list-item/themes.d.ts +1 -1
  71. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.d.ts +2 -1
  72. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  73. package/dist/cjs/components/multi-level-dropdown/MenuItem.d.ts +2 -1
  74. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  75. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  76. package/dist/cjs/components/multi-level-dropdown/type.d.ts +2 -1
  77. package/dist/cjs/components/product-picker-v2/ProductPickerTag.d.ts +2 -2
  78. package/dist/cjs/components/product-picker-v2/collectionScreen.d.ts +3 -3
  79. package/dist/cjs/components/product-picker-v2/helpers/ProductHelper.d.ts +3 -4
  80. package/dist/cjs/components/product-picker-v2/index.d.ts +1 -1
  81. package/dist/cjs/components/product-picker-v2/modal.d.ts +2 -58
  82. package/dist/cjs/components/product-picker-v2/product.d.ts +2 -3
  83. package/dist/cjs/components/product-picker-v2/productInfoOverlay.d.ts +1 -2
  84. package/dist/cjs/components/product-picker-v2/productScreen.d.ts +3 -3
  85. package/dist/cjs/components/product-picker-v2/productScreen.js +1 -1
  86. package/dist/cjs/components/product-picker-v2/rearrangeScreen.d.ts +3 -4
  87. package/dist/cjs/components/product-picker-v2/rearrangeScreen.js +1 -1
  88. package/dist/cjs/components/product-picker-v2/reducers.d.ts +1 -1
  89. package/dist/cjs/components/product-picker-v2/reducers.js +1 -1
  90. package/dist/cjs/components/product-picker-v2/searchScreen.d.ts +3 -4
  91. package/dist/cjs/components/product-picker-v2/selectedScreen.d.ts +3 -4
  92. package/dist/cjs/components/product-picker-v2/type.d.ts +65 -0
  93. package/dist/cjs/components/product-picker-v2/utility.d.ts +3 -3
  94. package/dist/cjs/components/product-picker-v2/utility.js +1 -1
  95. package/dist/cjs/components/product-picker-v2/variant.d.ts +2 -12
  96. package/dist/cjs/components/product-picker-v2/variantComponents.d.ts +2 -3
  97. package/dist/cjs/components/product-picker-v2/variantComponents.js +1 -1
  98. package/dist/cjs/components/sample-button/SampleButton.d.ts +1 -16
  99. package/dist/cjs/components/sample-button/SampleButton.model.d.ts +17 -0
  100. package/dist/cjs/components/sample-button/SampleButton.styled.d.ts +1 -1
  101. package/dist/cjs/components/sample-button/themes.d.ts +1 -1
  102. package/dist/cjs/components/searchBar/searchBar.d.ts +1 -1
  103. package/dist/cjs/components/slider/slider.js +1 -1
  104. package/dist/cjs/components/stepper/Stepper.d.ts +1 -17
  105. package/dist/cjs/components/stepper/Stepper.model.d.ts +17 -0
  106. package/dist/cjs/components/stepper/Stepper.styled.d.ts +1 -1
  107. package/dist/cjs/components/stepper/StepperService.d.ts +1 -1
  108. package/dist/cjs/components/stepper/themes.d.ts +1 -1
  109. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.d.ts +9 -9
  110. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js +1 -1
  111. package/dist/cjs/components/template-context-mapper/context/templateModalContext.d.ts +7 -7
  112. package/dist/cjs/components/template-context-mapper/custom-hooks/useAdditionalVariables.d.ts +1 -1
  113. package/dist/cjs/components/template-context-mapper/helpers/WebpushTemplateHelper.d.ts +6 -4
  114. package/dist/cjs/components/template-context-mapper/helpers/WebpushTemplateHelper.js +1 -1
  115. package/dist/cjs/components/template-context-mapper/modalElements/Body.d.ts +2 -2
  116. package/dist/cjs/components/template-context-mapper/modalElements/Body.js +10 -10
  117. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js +7 -7
  118. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaModal.d.ts +3 -3
  119. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaModal.js +1 -1
  120. package/dist/cjs/components/template-context-mapper/modalElements/EditWebpushTemplate.d.ts +2 -2
  121. package/dist/cjs/components/template-context-mapper/modalElements/EditWebpushTemplate.js +1 -1
  122. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.d.ts +3 -14
  123. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js +1 -1
  124. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +5 -5
  125. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +2 -2
  126. package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +4 -4
  127. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.d.ts +1 -1
  128. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +3 -3
  129. package/dist/cjs/components/template-context-mapper/modalElements/QualityWarningModal.d.ts +1 -1
  130. package/dist/cjs/components/template-context-mapper/modalElements/TemplateAnalyticsComponent.d.ts +1 -1
  131. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +2 -2
  132. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.d.ts +1 -1
  133. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js +4 -4
  134. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +5 -4
  135. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -1
  136. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +1 -1
  137. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +2 -2
  138. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -1
  139. package/dist/cjs/components/template-context-mapper/modalElements/modal.d.ts +13 -0
  140. package/dist/cjs/components/template-context-mapper/modalElements/useEditWhtasappTemplateMedia.d.ts +1 -1
  141. package/dist/cjs/components/template-context-mapper/modalElements/useEditWhtasappTemplateMedia.js +1 -1
  142. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +2 -2
  143. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +2 -2
  144. package/dist/cjs/components/template-context-mapper/utils/highlightFor.d.ts +1 -1
  145. package/dist/cjs/components/template-preview/models/TemplateMeta.d.ts +1 -1
  146. package/dist/cjs/components/template-preview/models/WhatsappCarouselTemplate.d.ts +2 -2
  147. package/dist/cjs/components/toaster/Toaster.styled.js +1 -1
  148. package/dist/cjs/components/variable-picker-v3/SubHeaderItems.js +1 -1
  149. package/dist/cjs/firebase/environment.d.ts +58 -0
  150. package/dist/cjs/firebase/environment.js +1 -0
  151. package/dist/cjs/firebase/firebaseUserFetcher.d.ts +34 -0
  152. package/dist/cjs/firebase/firebaseUserFetcher.js +1 -0
  153. package/dist/cjs/firebase/index.d.ts +7 -0
  154. package/dist/cjs/firebase/lazyFirebaseApp.d.ts +22 -0
  155. package/dist/cjs/firebase/lazyFirebaseApp.js +1 -0
  156. package/dist/cjs/firebase/lazyFirebaseMethods.d.ts +589 -0
  157. package/dist/cjs/firebase/lazyFirebaseMethods.js +1 -0
  158. package/dist/cjs/firebase/lazyFirestore.d.ts +6 -0
  159. package/dist/cjs/firebase/lazyFirestore.js +1 -0
  160. package/dist/cjs/firebase/lazyFirestoreLite.d.ts +6 -0
  161. package/dist/cjs/firebase/lazyFirestoreLite.js +1 -0
  162. package/dist/cjs/firebase/lazyStorage.d.ts +5 -0
  163. package/dist/cjs/firebase/lazyStorage.js +1 -0
  164. package/dist/cjs/index.d.ts +3 -0
  165. package/dist/cjs/index.js +1 -1
  166. package/dist/cjs/request-executor/executor.d.ts +99 -0
  167. package/dist/cjs/request-executor/executor.js +1 -0
  168. package/dist/cjs/request-executor/index.d.ts +2 -0
  169. package/dist/cjs/request-executor/model.d.ts +14 -0
  170. package/dist/cjs/utils/logging/ErrorConstructor/ApiError.d.ts +3 -0
  171. package/dist/cjs/utils/logging/ErrorConstructor/ApiError.js +1 -0
  172. package/dist/cjs/utils/logging/ErrorConstructor/BroadcastFlowError.d.ts +4 -0
  173. package/dist/cjs/utils/logging/ErrorConstructor/BroadcastFlowError.js +1 -0
  174. package/dist/cjs/utils/logging/ErrorConstructor/CohortError.d.ts +4 -0
  175. package/dist/cjs/utils/logging/ErrorConstructor/CohortError.js +1 -0
  176. package/dist/cjs/utils/logging/ErrorConstructor/CustomError.d.ts +3 -0
  177. package/dist/cjs/utils/logging/ErrorConstructor/CustomError.js +1 -0
  178. package/dist/cjs/utils/logging/ErrorConstructor/ExcelUploadError.d.ts +3 -0
  179. package/dist/cjs/utils/logging/ErrorConstructor/ExcelUploadError.js +1 -0
  180. package/dist/cjs/utils/logging/ErrorConstructor/FirebaseCallError.d.ts +3 -0
  181. package/dist/cjs/utils/logging/ErrorConstructor/FirebaseCallError.js +1 -0
  182. package/dist/cjs/utils/logging/ErrorConstructor/FirebaseSubscriptionError.d.ts +3 -0
  183. package/dist/cjs/utils/logging/ErrorConstructor/FirebaseSubscriptionError.js +1 -0
  184. package/dist/cjs/utils/logging/ErrorConstructor/RechargeFailure.d.ts +3 -0
  185. package/dist/cjs/utils/logging/ErrorConstructor/RechargeFailure.js +1 -0
  186. package/dist/cjs/utils/logging/ErrorConstructor/WhatsappIntegrationError.d.ts +3 -0
  187. package/dist/cjs/utils/logging/ErrorConstructor/WhatsappIntegrationError.js +1 -0
  188. package/dist/cjs/utils/logging/Logger.d.ts +24 -0
  189. package/dist/cjs/utils/logging/Logger.js +1 -0
  190. package/dist/cjs/utils/logging/index.d.ts +10 -0
  191. package/dist/esm/assets/icons/Ai_event_generating.svg.js +1 -1
  192. package/dist/esm/components/ProgressChecklist/MultiChecklistItem.d.ts +29 -1
  193. package/dist/esm/components/ProgressChecklist/ProgressChecklist.d.ts +1 -27
  194. package/dist/esm/components/QueryBuilder/Filters/Event/components/EventFilter.js +1 -1
  195. package/dist/esm/components/QueryBuilder/components/Connectors/Components/EmojiPicker.d.ts +1 -2
  196. package/dist/esm/components/QueryBuilder/components/Connectors/Components/EmojiPicker.js +1 -1
  197. package/dist/esm/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.d.ts +5 -2
  198. package/dist/esm/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.js +1 -1
  199. package/dist/esm/components/QueryBuilder/components/Connectors/Connector.js +1 -1
  200. package/dist/esm/components/QueryBuilder/constants/connector.d.ts +1 -1
  201. package/dist/esm/components/QueryBuilder/constants/connector.js +1 -1
  202. package/dist/esm/components/QueryBuilder/constants/connectorPosition.js +1 -1
  203. package/dist/esm/components/QueryBuilder/helpers/Connector.helper.d.ts +1 -1
  204. package/dist/esm/components/QueryBuilder/helpers/Connector.helper.js +1 -1
  205. package/dist/esm/components/QueryBuilder/helpers/PropertyCustomProcessor.d.ts +1 -1
  206. package/dist/esm/components/QueryBuilder/helpers/SegmentValidator.d.ts +3 -15
  207. package/dist/esm/components/QueryBuilder/types/QueryBuilder.type.d.ts +2 -22
  208. package/dist/esm/components/QueryBuilder/types/QueryBuilder.type.js +1 -1
  209. package/dist/esm/components/QueryBuilder/types/QueryBuilderAPI.type.d.ts +1 -1
  210. package/dist/esm/components/QueryBuilder/types/QueryBuilderConnector.type.d.ts +1 -1
  211. package/dist/esm/components/QueryBuilder/types/QueryBuilderEnum.type.d.ts +21 -0
  212. package/dist/esm/components/QueryBuilder/types/QueryBuilderEnum.type.js +1 -0
  213. package/dist/esm/components/QueryBuilder/types/index.d.ts +2 -1
  214. package/dist/esm/components/SearchFilter/components/DatePickerButton.d.ts +1 -1
  215. package/dist/esm/components/SearchFilter/components/DateRangeOnlyButton.d.ts +1 -1
  216. package/dist/esm/components/SearchFilter/components/SearchFilterItem.d.ts +1 -1
  217. package/dist/esm/components/SearchFilter/types/SearchFilter.type.d.ts +1 -1
  218. package/dist/esm/components/WhatsAppTextEditor/AIRephraseButton.d.ts +4 -1
  219. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditor.d.ts +4 -1
  220. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.d.ts +1 -4
  221. package/dist/esm/components/WhatsAppTextEditor/ai/actionRegistry.d.ts +2 -1
  222. package/dist/esm/components/accordion/Accordion.d.ts +2 -35
  223. package/dist/esm/components/accordion/Accordion.model.d.ts +35 -0
  224. package/dist/esm/components/accordion/Accordion.style.d.ts +1 -1
  225. package/dist/esm/components/analytics-card/AnalyticsCard.d.ts +1 -1
  226. package/dist/esm/components/analytics-card/AnalyticsCard.model.d.ts +1 -0
  227. package/dist/esm/components/analytics-card/AnalyticsCard.styled.d.ts +1 -1
  228. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.d.ts +1 -17
  229. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.model.d.ts +18 -0
  230. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChipChannelFooter.d.ts +1 -1
  231. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsMultiChip.d.ts +1 -1
  232. package/dist/esm/components/analytics-chips-and-dropdowns/chart/LazyCharts.d.ts +2 -0
  233. package/dist/esm/components/analytics-chips-and-dropdowns/chart/LazyCharts.js +1 -0
  234. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  235. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js +1 -1
  236. package/dist/esm/components/avatar/Avatar.js +1 -1
  237. package/dist/esm/components/bik-layout/BikSidebar.d.ts +1 -1
  238. package/dist/esm/components/bik-layout/Sidebar.model.d.ts +27 -0
  239. package/dist/esm/components/bik-layout/SidebarPopup.d.ts +1 -1
  240. package/dist/esm/components/bik-layout/SidebarSkeleton.d.ts +1 -1
  241. package/dist/esm/components/bik-layout/SidebarStyles.d.ts +1 -1
  242. package/dist/esm/components/bik-layout/SimpleSidebar.d.ts +1 -27
  243. package/dist/esm/components/floating-input-dropdown/FloatingInputDropdown.d.ts +1 -1
  244. package/dist/esm/components/image-cropper/BikImageCropper.d.ts +1 -6
  245. package/dist/esm/components/image-cropper/BikImageCropper.model.d.ts +6 -0
  246. package/dist/esm/components/image-cropper/BikImagePipeline/BikImagePipeline.d.ts +1 -1
  247. package/dist/esm/components/input/ChipInput.js +1 -1
  248. package/dist/esm/components/input/ChipInput.styled.d.ts +6 -66
  249. package/dist/esm/components/input/ChipInput.styled.js +1 -1
  250. package/dist/esm/components/input/Input-helper.d.ts +1 -1
  251. package/dist/esm/components/input/Input.d.ts +1 -74
  252. package/dist/esm/components/input/Input.js +1 -1
  253. package/dist/esm/components/input/Input.model.d.ts +73 -0
  254. package/dist/esm/components/input/Input.styled.d.ts +1 -2
  255. package/dist/esm/components/input/Input.styled.js +1 -1
  256. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +1 -1
  257. package/dist/esm/components/list-item/List.model.d.ts +18 -0
  258. package/dist/esm/components/list-item/ListItem.d.ts +1 -17
  259. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -1
  260. package/dist/esm/components/list-item/themes.d.ts +1 -1
  261. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +2 -1
  262. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  263. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +2 -1
  264. package/dist/esm/components/multi-level-dropdown/MenuItem.js +1 -1
  265. package/dist/esm/components/multi-level-dropdown/MenuList.js +1 -1
  266. package/dist/esm/components/multi-level-dropdown/type.d.ts +2 -1
  267. package/dist/esm/components/product-picker-v2/ProductPickerTag.d.ts +2 -2
  268. package/dist/esm/components/product-picker-v2/collectionScreen.d.ts +3 -3
  269. package/dist/esm/components/product-picker-v2/helpers/ProductHelper.d.ts +3 -4
  270. package/dist/esm/components/product-picker-v2/index.d.ts +1 -1
  271. package/dist/esm/components/product-picker-v2/modal.d.ts +2 -58
  272. package/dist/esm/components/product-picker-v2/product.d.ts +2 -3
  273. package/dist/esm/components/product-picker-v2/productInfoOverlay.d.ts +1 -2
  274. package/dist/esm/components/product-picker-v2/productScreen.d.ts +3 -3
  275. package/dist/esm/components/product-picker-v2/productScreen.js +1 -1
  276. package/dist/esm/components/product-picker-v2/rearrangeScreen.d.ts +3 -4
  277. package/dist/esm/components/product-picker-v2/rearrangeScreen.js +1 -1
  278. package/dist/esm/components/product-picker-v2/reducers.d.ts +1 -1
  279. package/dist/esm/components/product-picker-v2/reducers.js +1 -1
  280. package/dist/esm/components/product-picker-v2/searchScreen.d.ts +3 -4
  281. package/dist/esm/components/product-picker-v2/selectedScreen.d.ts +3 -4
  282. package/dist/esm/components/product-picker-v2/type.d.ts +65 -0
  283. package/dist/esm/components/product-picker-v2/utility.d.ts +3 -3
  284. package/dist/esm/components/product-picker-v2/utility.js +1 -1
  285. package/dist/esm/components/product-picker-v2/variant.d.ts +2 -12
  286. package/dist/esm/components/product-picker-v2/variantComponents.d.ts +2 -3
  287. package/dist/esm/components/product-picker-v2/variantComponents.js +1 -1
  288. package/dist/esm/components/sample-button/SampleButton.d.ts +1 -16
  289. package/dist/esm/components/sample-button/SampleButton.model.d.ts +17 -0
  290. package/dist/esm/components/sample-button/SampleButton.styled.d.ts +1 -1
  291. package/dist/esm/components/sample-button/themes.d.ts +1 -1
  292. package/dist/esm/components/searchBar/searchBar.d.ts +1 -1
  293. package/dist/esm/components/slider/slider.js +1 -1
  294. package/dist/esm/components/stepper/Stepper.d.ts +1 -17
  295. package/dist/esm/components/stepper/Stepper.model.d.ts +17 -0
  296. package/dist/esm/components/stepper/Stepper.styled.d.ts +1 -1
  297. package/dist/esm/components/stepper/StepperService.d.ts +1 -1
  298. package/dist/esm/components/stepper/themes.d.ts +1 -1
  299. package/dist/esm/components/template-context-mapper/TemplateContextMapper.d.ts +9 -9
  300. package/dist/esm/components/template-context-mapper/TemplateContextMapper.js +1 -1
  301. package/dist/esm/components/template-context-mapper/context/templateModalContext.d.ts +7 -7
  302. package/dist/esm/components/template-context-mapper/custom-hooks/useAdditionalVariables.d.ts +1 -1
  303. package/dist/esm/components/template-context-mapper/helpers/WebpushTemplateHelper.d.ts +6 -4
  304. package/dist/esm/components/template-context-mapper/helpers/WebpushTemplateHelper.js +1 -1
  305. package/dist/esm/components/template-context-mapper/modalElements/Body.d.ts +2 -2
  306. package/dist/esm/components/template-context-mapper/modalElements/Body.js +10 -10
  307. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js +6 -6
  308. package/dist/esm/components/template-context-mapper/modalElements/EditMediaModal.d.ts +3 -3
  309. package/dist/esm/components/template-context-mapper/modalElements/EditMediaModal.js +1 -1
  310. package/dist/esm/components/template-context-mapper/modalElements/EditWebpushTemplate.d.ts +2 -2
  311. package/dist/esm/components/template-context-mapper/modalElements/EditWebpushTemplate.js +1 -1
  312. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.d.ts +3 -14
  313. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js +1 -1
  314. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +5 -5
  315. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -1
  316. package/dist/esm/components/template-context-mapper/modalElements/Footer.js +4 -4
  317. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.d.ts +1 -1
  318. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +5 -5
  319. package/dist/esm/components/template-context-mapper/modalElements/QualityWarningModal.d.ts +1 -1
  320. package/dist/esm/components/template-context-mapper/modalElements/TemplateAnalyticsComponent.d.ts +1 -1
  321. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +2 -2
  322. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.d.ts +1 -1
  323. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js +1 -1
  324. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +5 -4
  325. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -1
  326. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +1 -1
  327. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +2 -2
  328. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -1
  329. package/dist/esm/components/template-context-mapper/modalElements/modal.d.ts +13 -0
  330. package/dist/esm/components/template-context-mapper/modalElements/useEditWhtasappTemplateMedia.d.ts +1 -1
  331. package/dist/esm/components/template-context-mapper/modalElements/useEditWhtasappTemplateMedia.js +1 -1
  332. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +2 -2
  333. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +2 -2
  334. package/dist/esm/components/template-context-mapper/utils/highlightFor.d.ts +1 -1
  335. package/dist/esm/components/template-preview/models/TemplateMeta.d.ts +1 -1
  336. package/dist/esm/components/template-preview/models/WhatsappCarouselTemplate.d.ts +2 -2
  337. package/dist/esm/components/toaster/Toaster.styled.js +1 -1
  338. package/dist/esm/components/variable-picker-v3/SubHeaderItems.js +1 -1
  339. package/dist/esm/firebase/environment.d.ts +58 -0
  340. package/dist/esm/firebase/environment.js +1 -0
  341. package/dist/esm/firebase/firebaseUserFetcher.d.ts +34 -0
  342. package/dist/esm/firebase/firebaseUserFetcher.js +1 -0
  343. package/dist/esm/firebase/index.d.ts +7 -0
  344. package/dist/esm/firebase/lazyFirebaseApp.d.ts +22 -0
  345. package/dist/esm/firebase/lazyFirebaseApp.js +1 -0
  346. package/dist/esm/firebase/lazyFirebaseMethods.d.ts +589 -0
  347. package/dist/esm/firebase/lazyFirebaseMethods.js +1 -0
  348. package/dist/esm/firebase/lazyFirestore.d.ts +6 -0
  349. package/dist/esm/firebase/lazyFirestore.js +1 -0
  350. package/dist/esm/firebase/lazyFirestoreLite.d.ts +6 -0
  351. package/dist/esm/firebase/lazyFirestoreLite.js +1 -0
  352. package/dist/esm/firebase/lazyStorage.d.ts +5 -0
  353. package/dist/esm/firebase/lazyStorage.js +1 -0
  354. package/dist/esm/index.d.ts +3 -0
  355. package/dist/esm/index.js +1 -1
  356. package/dist/esm/request-executor/executor.d.ts +99 -0
  357. package/dist/esm/request-executor/executor.js +1 -0
  358. package/dist/esm/request-executor/index.d.ts +2 -0
  359. package/dist/esm/request-executor/model.d.ts +14 -0
  360. package/dist/esm/utils/logging/ErrorConstructor/ApiError.d.ts +3 -0
  361. package/dist/esm/utils/logging/ErrorConstructor/ApiError.js +1 -0
  362. package/dist/esm/utils/logging/ErrorConstructor/BroadcastFlowError.d.ts +4 -0
  363. package/dist/esm/utils/logging/ErrorConstructor/BroadcastFlowError.js +1 -0
  364. package/dist/esm/utils/logging/ErrorConstructor/CohortError.d.ts +4 -0
  365. package/dist/esm/utils/logging/ErrorConstructor/CohortError.js +1 -0
  366. package/dist/esm/utils/logging/ErrorConstructor/CustomError.d.ts +3 -0
  367. package/dist/esm/utils/logging/ErrorConstructor/CustomError.js +1 -0
  368. package/dist/esm/utils/logging/ErrorConstructor/ExcelUploadError.d.ts +3 -0
  369. package/dist/esm/utils/logging/ErrorConstructor/ExcelUploadError.js +1 -0
  370. package/dist/esm/utils/logging/ErrorConstructor/FirebaseCallError.d.ts +3 -0
  371. package/dist/esm/utils/logging/ErrorConstructor/FirebaseCallError.js +1 -0
  372. package/dist/esm/utils/logging/ErrorConstructor/FirebaseSubscriptionError.d.ts +3 -0
  373. package/dist/esm/utils/logging/ErrorConstructor/FirebaseSubscriptionError.js +1 -0
  374. package/dist/esm/utils/logging/ErrorConstructor/RechargeFailure.d.ts +3 -0
  375. package/dist/esm/utils/logging/ErrorConstructor/RechargeFailure.js +1 -0
  376. package/dist/esm/utils/logging/ErrorConstructor/WhatsappIntegrationError.d.ts +3 -0
  377. package/dist/esm/utils/logging/ErrorConstructor/WhatsappIntegrationError.js +1 -0
  378. package/dist/esm/utils/logging/Logger.d.ts +24 -0
  379. package/dist/esm/utils/logging/Logger.js +1 -0
  380. package/dist/esm/utils/logging/index.d.ts +10 -0
  381. package/package.json +9 -9
@@ -1,3 +1,3 @@
1
- import type { Variant } from './ListItem';
1
+ import type { Variant } from './List.model';
2
2
  export declare function getColor(variant: Variant): string;
3
3
  export declare function getTheme(variant: Variant, version?: '1.0' | '2.0'): import("@emotion/utils").SerializedStyles;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GroupedOption, MultiLevelDropdownOption } from './type';
2
+ import { GroupedOption, MultiLevelDropdownOption, RenderNestedMenu } from './type';
3
3
  export declare const GroupedMenuList: React.FC<{
4
4
  width: string;
5
5
  onDropdownItemClick?: (option: MultiLevelDropdownOption, parents: MultiLevelDropdownOption[]) => void;
@@ -9,4 +9,5 @@ export declare const GroupedMenuList: React.FC<{
9
9
  maxLevels?: number;
10
10
  hideGroupLabel?: boolean;
11
11
  currentLevel: number;
12
+ renderNestedMenu: RenderNestedMenu;
12
13
  }>;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{COLORS as t}from"../../constants/Theme.js";import{BodyTiny as r}from"../TypographyStyle.js";import{MenuItem as n}from"./MenuItem.js";import{GroupedMenuListContainer as l}from"./MultiLevelDropdown.styled.js";const p=p=>{let{width:i,onDropdownItemClick:a,option:m,parents:s,allowParentSelection:c,maxLevels:d,hideGroupLabel:u,currentLevel:h}=p;return e(l,{children:[!u&&o(r,Object.assign({style:{padding:"4px 8px 4px 12px",cursor:"default"},color:t.content.placeholder},{children:m.label})),m.options.map(((e,t)=>o(n,{width:i,onDropdownItemClick:a,option:e,parents:s,allowParentSelection:c,maxLevels:d,currentLevel:h},t)))]})};export{p as GroupedMenuList};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{COLORS as o}from"../../constants/Theme.js";import{BodyTiny as r}from"../TypographyStyle.js";import{MenuItem as n}from"./MenuItem.js";import{GroupedMenuListContainer as l}from"./MultiLevelDropdown.styled.js";const p=p=>{let{width:i,onDropdownItemClick:s,option:a,parents:m,allowParentSelection:d,maxLevels:c,hideGroupLabel:u,currentLevel:h,renderNestedMenu:x}=p;return e(l,{children:[!u&&t(r,Object.assign({style:{padding:"4px 8px 4px 12px",cursor:"default"},color:o.content.placeholder},{children:a.label})),a.options.map(((e,o)=>t(n,{width:i,onDropdownItemClick:s,option:e,parents:m,allowParentSelection:d,maxLevels:c,currentLevel:h,renderNestedMenu:x},o)))]})};export{p as GroupedMenuList};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MultiLevelDropdownOption, SingleOption } from './type';
2
+ import { MultiLevelDropdownOption, RenderNestedMenu, SingleOption } from './type';
3
3
  export declare const MenuItem: React.FC<{
4
4
  width: string;
5
5
  onDropdownItemClick?: (option: MultiLevelDropdownOption, parents: MultiLevelDropdownOption[]) => void;
@@ -8,4 +8,5 @@ export declare const MenuItem: React.FC<{
8
8
  allowParentSelection?: boolean;
9
9
  maxLevels?: number;
10
10
  currentLevel: number;
11
+ renderNestedMenu: RenderNestedMenu;
11
12
  }>;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import o from"../../assets/icons/chevronRight2.svg.js";import i,{useRef as l,Suspense as r}from"react";import{COLORS as s}from"../../constants/Theme.js";import{BodyCaption as c,BodyTiny as d}from"../TypographyStyle.js";import{MenuItemWrapper as a,MenuItemContainer as p,ContentContainer as u,LeadingIconContainer as h,TrailingIconContainer as m,SubMenuContainer as v,StyledSubMenuWrapper as g,SubMenuListContainer as b}from"./MultiLevelDropdown.styled.js";const f=i.lazy((()=>import("./MenuList.js").then((e=>({default:e.MenuList}))))),j=j=>{let{width:w,onDropdownItemClick:y,option:L,parents:M,allowParentSelection:O,maxLevels:S,currentLevel:x}=j;var C,I,T,k,D,P,E;const[R,z]=i.useState(!1),[B,H]=i.useState(!1),[N,W]=i.useState({top:0,left:0}),q=l({top:0,left:0}),A=!!L.children&&L.children.length>0,F=A&&(void 0===S||x<S);return e(a,Object.assign({onMouseEnter:e=>{F&&(z(!0),(e=>{const t=e.currentTarget.getBoundingClientRect();W({top:t.top,left:t.right}),q.current={top:t.top,left:t.right}})(e))},onMouseLeave:()=>{z(!1)},onClick:e=>{e.stopPropagation(),(()=>{var e;!y||null!==(e=L.disabled)&&void 0!==e&&e||A&&!O||y(L,M)})()},id:"menuItemWrapper",style:{cursor:null!==(C=L.disabled)&&void 0!==C&&C?"not-allowed":"pointer",backgroundColor:null!==(I=L.disabled)&&void 0!==I&&I?s.surface.standard:"transparent"}},{children:[L.customComponent?L.customComponent:e(p,Object.assign({isSelected:L.selected,isSubMenuOpen:R,isHovered:B,isDisabled:null!==(T=L.disabled)&&void 0!==T&&T},{children:[e(u,{children:[L.leadingIcon&&t(h,{children:L.leadingIcon}),e("div",{children:[t(c,Object.assign({style:{color:null!==(k=L.disabled)&&void 0!==k&&k?s.content.inactive:L.selected||B?s.content.positive:s.content.primary}},{children:L.label})),L.subText&&t(d,Object.assign({style:{color:null!==(D=L.disabled)&&void 0!==D&&D?s.content.inactive:L.selected||B?s.content.positive:s.content.secondary,marginTop:"2px"}},{children:L.subText}))]})]}),A?t(m,{children:t(o,{width:16,height:16,color:!F||null!==(P=L.disabled)&&void 0!==P&&P?s.content.inactive:L.selected||B?s.content.positive:s.content.primary})}):L.trailingIcon?t(m,{children:L.trailingIcon}):t(n,{})]})),!(null!==(E=L.disabled)&&void 0!==E&&E)&&L.children&&L.children.length>0&&F&&R&&t(v,Object.assign({width:w,className:"submenu",onMouseEnter:()=>H(!0),onMouseLeave:()=>H(!1)},{children:t(g,Object.assign({width:w,top:N.top,left:N.left},{children:t(b,{children:t(r,Object.assign({fallback:t("div",{children:"Loading..."})},{children:t(f,{width:w,onDropdownItemClick:y,options:L.children,parents:[...M,L],allowParentSelection:O,maxLevels:S,currentLevel:x+1})}))})}))}))]}))};export{j as MenuItem};
1
+ import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import o from"../../assets/icons/chevronRight2.svg.js";import i,{useRef as l}from"react";import{COLORS as r}from"../../constants/Theme.js";import{BodyCaption as s,BodyTiny as c}from"../TypographyStyle.js";import{MenuItemWrapper as d,MenuItemContainer as a,ContentContainer as p,LeadingIconContainer as u,TrailingIconContainer as h,SubMenuContainer as m,StyledSubMenuWrapper as v,SubMenuListContainer as g}from"./MultiLevelDropdown.styled.js";const b=b=>{let{width:f,onDropdownItemClick:j,option:y,parents:w,allowParentSelection:M,maxLevels:O,currentLevel:S,renderNestedMenu:x}=b;var C,I,T,L,k,D,E;const[N,P]=i.useState(!1),[R,B]=i.useState(!1),[H,W]=i.useState({top:0,left:0}),q=l({top:0,left:0}),z=!!y.children&&y.children.length>0,A=z&&(void 0===O||S<O);return e(d,Object.assign({onMouseEnter:e=>{A&&(P(!0),(e=>{const t=e.currentTarget.getBoundingClientRect();W({top:t.top,left:t.right}),q.current={top:t.top,left:t.right}})(e))},onMouseLeave:()=>{P(!1)},onClick:e=>{e.stopPropagation(),(()=>{var e;!j||null!==(e=y.disabled)&&void 0!==e&&e||z&&!M||j(y,w)})()},id:"menuItemWrapper",style:{cursor:null!==(C=y.disabled)&&void 0!==C&&C?"not-allowed":"pointer",backgroundColor:null!==(I=y.disabled)&&void 0!==I&&I?r.surface.standard:"transparent"}},{children:[y.customComponent?y.customComponent:e(a,Object.assign({isSelected:y.selected,isSubMenuOpen:N,isHovered:R,isDisabled:null!==(T=y.disabled)&&void 0!==T&&T},{children:[e(p,{children:[y.leadingIcon&&t(u,{children:y.leadingIcon}),e("div",{children:[t(s,Object.assign({style:{color:null!==(L=y.disabled)&&void 0!==L&&L?r.content.inactive:y.selected||R?r.content.positive:r.content.primary}},{children:y.label})),y.subText&&t(c,Object.assign({style:{color:null!==(k=y.disabled)&&void 0!==k&&k?r.content.inactive:y.selected||R?r.content.positive:r.content.secondary,marginTop:"2px"}},{children:y.subText}))]})]}),z?t(h,{children:t(o,{width:16,height:16,color:!A||null!==(D=y.disabled)&&void 0!==D&&D?r.content.inactive:y.selected||R?r.content.positive:r.content.primary})}):y.trailingIcon?t(h,{children:y.trailingIcon}):t(n,{})]})),!(null!==(E=y.disabled)&&void 0!==E&&E)&&y.children&&y.children.length>0&&A&&N&&t(m,Object.assign({width:f,className:"submenu",onMouseEnter:()=>B(!0),onMouseLeave:()=>B(!1)},{children:t(v,Object.assign({width:f,top:H.top,left:H.left},{children:t(g,{children:x(y.children,[...w,y],S+1)})}))}))]}))};export{b as MenuItem};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{GroupedMenuList as o}from"./GroupedMenuList.js";import{MenuItem as t}from"./MenuItem.js";import{StyledMenuList as n}from"./MultiLevelDropdown.styled.js";const r=r=>{let{width:i,onDropdownItemClick:l,options:p,parents:a,allowParentSelection:m,maxLevels:s,hideGroupLabel:d,currentLevel:c}=r;return e(n,{children:p.map(((n,r)=>"value"in n?e(t,{width:i,onDropdownItemClick:l,option:n,parents:a,allowParentSelection:m,maxLevels:s,currentLevel:c},r):"options"in n&&n.options.length>0?e(o,{width:i,onDropdownItemClick:l,option:n,parents:a,allowParentSelection:m,maxLevels:s,hideGroupLabel:d,currentLevel:c},r):void 0))})};export{r as MenuList};
1
+ import{jsx as e}from"react/jsx-runtime";import{GroupedMenuList as o}from"./GroupedMenuList.js";import{MenuItem as t}from"./MenuItem.js";import{StyledMenuList as n}from"./MultiLevelDropdown.styled.js";const r=l=>{let{width:i,onDropdownItemClick:p,options:a,parents:s,allowParentSelection:d,maxLevels:m,hideGroupLabel:c,currentLevel:u}=l;const w=(o,t,n)=>e(r,{width:i,onDropdownItemClick:p,options:o,parents:t,allowParentSelection:d,maxLevels:m,hideGroupLabel:c,currentLevel:n});return e(n,{children:a.map(((n,r)=>"value"in n?e(t,{width:i,onDropdownItemClick:p,option:n,parents:s,allowParentSelection:d,maxLevels:m,currentLevel:u,renderNestedMenu:w},r):"options"in n&&n.options.length>0?e(o,{width:i,onDropdownItemClick:p,option:n,parents:s,allowParentSelection:d,maxLevels:m,hideGroupLabel:c,currentLevel:u,renderNestedMenu:w},r):void 0))})};export{r as MenuList};
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import type { ReactNode } from 'react';
2
2
  import { FloaterProps } from '../floater/floater';
3
3
  export interface MultiLevelDropdownProps extends FloaterProps {
4
4
  options: MultiLevelDropdownOption[];
@@ -29,3 +29,4 @@ export type SingleOption = {
29
29
  children?: SingleOption[];
30
30
  };
31
31
  export type MultiLevelDropdownOption = SingleOption | GroupedOption;
32
+ export type RenderNestedMenu = (options: MultiLevelDropdownOption[], parents: MultiLevelDropdownOption[], currentLevel: number) => ReactNode;
@@ -1,5 +1,5 @@
1
- import { TagType } from '../tag/model';
2
- import { Product, ProductVariant } from './modal';
1
+ import type { TagType } from '../tag/model';
2
+ import type { Product, ProductVariant } from './type';
3
3
  export type ProductPickerTagType = {
4
4
  isVariant: boolean;
5
5
  data: Product | ProductVariant;
@@ -1,7 +1,7 @@
1
- import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
1
+ import type { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
2
2
  import React from 'react';
3
- import { Collection, CollectionFetcherReturn, SelectedItems } from '.';
4
- import { CollectionsActions, SelectedCollectionsActions } from './reducers';
3
+ import type { CollectionsActions, SelectedCollectionsActions } from './reducers';
4
+ import type { Collection, CollectionFetcherReturn, SelectedItems } from './type';
5
5
  export declare const truncate: (str: string, n: number, useWordBoundary: boolean) => string;
6
6
  interface CollectionsScreenInterface {
7
7
  customCollectionRestriction?: boolean;
@@ -1,7 +1,6 @@
1
- import { TagType } from "../../tag/model";
2
- import { Product, ProductVariant, SelectedItems } from '../modal';
3
- import { OUT_OF_STOCK_ACTION } from '../type';
4
- import { ProductVariantForRearrange } from '../variant';
1
+ import type { TagType } from "../../tag/model";
2
+ import { OUT_OF_STOCK_ACTION, type Product, type ProductVariant, type SelectedItems } from '../type';
3
+ import type { ProductVariantForRearrange } from '../type';
5
4
  export declare class ProductHelper {
6
5
  /**
7
6
  * how to know if a product is out of stock? currentCombination.quantity === 0 (OOS)
@@ -1,2 +1,2 @@
1
1
  export * from './modal';
2
- export { ScreenName } from './type';
2
+ export * from './type';
@@ -1,63 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
3
- import { ButtonProps } from '../button/model';
4
- import { FooterForNonModalI, OUT_OF_STOCK_ACTION, ScreenName } from './type';
5
- export interface ProductVariant {
6
- name: string;
7
- price: string;
8
- image: string;
9
- quantity: number;
10
- skipSync?: boolean;
11
- displayOrder?: number | null;
12
- fbStatus?: FbProductStatus;
13
- description?: string;
14
- id?: string;
15
- actualPrice?: string;
16
- currency?: string;
17
- skuId?: string;
18
- }
19
- export interface Product {
20
- name: string;
21
- image: string;
22
- description?: string;
23
- variants?: {
24
- [key: string]: ProductVariant;
25
- };
26
- id?: string;
27
- handle?: string;
28
- currency?: string;
29
- }
30
- export interface Collection {
31
- name: string;
32
- image: string;
33
- isSmartCollection: boolean;
34
- products?: {
35
- [key: string]: Product;
36
- };
37
- }
38
- export type SelectedItems = {
39
- [key: string]: Collection;
40
- };
41
- export type SearchedItems = {
42
- collections: SelectedItems;
43
- products: SelectedItems;
44
- };
45
- export type CollectionFetcherReturn = Promise<{
46
- collections: {
47
- [key: string]: {
48
- image: string;
49
- name: string;
50
- isSmartCollection: string;
51
- };
52
- };
53
- }>;
54
- export type ProductFetcherReturn = Promise<{
55
- [key: string]: Product;
56
- }>;
57
- export type FbStatusFetcherReturn = Promise<{
58
- [key: string]: FbProductStatus;
59
- }>;
60
- export type FbProductStatus = 'APPROVED' | 'REJECTED';
3
+ import type { ButtonProps } from '../button/model';
4
+ import { type CollectionFetcherReturn, type FbStatusFetcherReturn, type FooterForNonModalI, OUT_OF_STOCK_ACTION, type ProductFetcherReturn, ScreenName, type SearchedItems, type SelectedItems } from './type';
61
5
  export type ProductPickerInterface = {
62
6
  hideGlobalSearch?: boolean;
63
7
  hideInCollectionSearch?: boolean;
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Product, ProductVariant, SelectedItems } from './modal';
3
- import { SelectedCollectionsActions } from './reducers';
4
- import { OUT_OF_STOCK_ACTION } from './type';
2
+ import type { SelectedCollectionsActions } from './reducers';
3
+ import { OUT_OF_STOCK_ACTION, type Product, type ProductVariant, type SelectedItems } from './type';
5
4
  interface ProductGroupInterface {
6
5
  collectionId: string;
7
6
  productId: string;
@@ -1,5 +1,4 @@
1
- import { Product, ProductVariant } from './modal';
2
- import { OUT_OF_STOCK_ACTION } from './type';
1
+ import { OUT_OF_STOCK_ACTION, type Product, type ProductVariant } from './type';
3
2
  /**
4
3
  * When user presses i icon on a product, we show the overlay.
5
4
  * In case of a product, contains products image, product name & description
@@ -1,7 +1,7 @@
1
- import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
1
+ import type { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
2
2
  import React from 'react';
3
- import { Collection, FbStatusFetcherReturn, Product, ProductFetcherReturn, ProductVariant, SelectedItems } from '.';
4
- import { CollectionsActions, SelectedCollectionsActions } from './reducers';
3
+ import { type CollectionsActions, type SelectedCollectionsActions } from './reducers';
4
+ import type { Collection, FbStatusFetcherReturn, Product, ProductFetcherReturn, ProductVariant, SelectedItems } from './type';
5
5
  import { OUT_OF_STOCK_ACTION } from './type';
6
6
  interface ProductsScreenInterface {
7
7
  hideInCollectionSearch?: boolean;
@@ -1 +1 @@
1
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import o from"../../assets/icons/arrow_left.svg.js";import c from"../../assets/icons/box.svg.js";import n from"../../assets/icons/search.svg.js";import{cloneDeep as r}from"lodash";import{useContext as i,useRef as s,useState as l,useEffect as d}from"react";import{COLORS as a}from"../../constants/Theme.js";import{CheckBox as u}from"../checkBox/CheckBox.js";import{IconButton as h}from"../icon-button/IconButton.js";import{InfiniteScroll as p}from"../InfiniteScroll/InfiniteScroll.js";import{Input as m}from"../input/Input.js";import{Spinner as g}from"../spinner/Spinner.js";import{BodyCaption as j,TitleRegular as f}from"../TypographyStyle.js";import{EmptyState as v}from"./emptyState.js";import{ProductGroup as b}from"./product.js";import{ProductPickerShimmer as y}from"./ProductPickerShimmer.js";import{CollectionIdContext as O}from"./reducers.js";import{ProductScreenHeader as k,ProductScreenCollectionCardStyle as C}from"./style.js";import{OUT_OF_STOCK_ACTION as P}from"./type.js";import{getVariantIdsToFetchAtProductLevel as I,markVariantsAsApprovedProductsLevel as D,isCollectionPartiallyChecked as S,isProductPartiallyChecked as x,liftTheStateUp as E}from"./utility.js";const T=T=>{var R,w;const{data:V,collectionsDispatch:A,selectedData:B,selectedCollectionsDispatch:F,productFetcher:J,storeId:K,setScreen:M,setSaveDisabled:N,hideInCollectionSearch:U,customCollectionRestriction:W,hideProductCheckbox:z,outOfStockAction:H=P.BLUR,hideVariantCheckbox:L=!1,selectProductsFromCustomCollection:_=!1,pickerType:q,hideProductVariants:G,fbStatusFetcher:Q,onProductDetailClick:X,showProductDetailInfoIcon:Y,scrollContainerRef:Z,appType:$}=T,tt=i(O),et=s(0),ot=s(!1),[ct,nt]=l(""),[rt,it]=l(!1),[st,lt]=l(V),dt=s(!0),at=s(!1);d((()=>{if(dt.current)return void(dt.current=!1);const t=setTimeout((()=>{ct.length?(it(!0),T.searchInCollectionFetcher(K,tt,ct,$).then((t=>{const e=r(V);e.products=t,lt(e);const o=I(null!=t?t:{});ht(o,null!=t?t:{},!0),N(!1),it(!1)}))):lt(V)}),800);return()=>clearTimeout(t)}),[ct]);d((()=>{var t,e,o,c;at.current=!1,et.current=Math.floor((null===(e=Object.keys(null!==(t=V.products)&&void 0!==t?t:{}))||void 0===e?void 0:e.length)/10);const n=I(null!==(o=V.products)&&void 0!==o?o:{});ht(n,null!==(c=V.products)&&void 0!==c?c:{})}),[tt]);const ut=!!W&&V.isSmartCollection;d((()=>{(null==V?void 0:V.products)||pt(10)}),[]);const ht=(t,e,o)=>{Q||(o?D(e,A,tt,st,lt):D(e,A,tt)),t.length>0&&Q&&Q(K,t,$).then((t=>{const c=Object.assign({},e);Object.keys(e).forEach((o=>{var n,r;Object.keys(null!==(r=null===(n=null==e?void 0:e[o])||void 0===n?void 0:n.variants)&&void 0!==r?r:{}).forEach((n=>{var r,i;const s=null===(r=null==e?void 0:e[o].variants)||void 0===r?void 0:r[n];s&&"REJECTED"===t[n]?s.fbStatus="REJECTED":s&&"APPROVED"===t[n]&&(s.fbStatus="APPROVED");const l=null===(i=null==c?void 0:c[o])||void 0===i?void 0:i.variants;l&&l[n]&&(l[n]=s)}))})),o?(lt((t=>{const e=Object.assign({},t);return e.products=c,e})),A({type:"productsPaged",data:{collectionId:tt,products:c}})):A({type:"productsPaged",data:{collectionId:tt,products:c}})})).catch((t=>{o?D(e,A,tt,st,lt):D(e,A,tt)}))},pt=t=>{N(!0),it(!0),J(tt,K,$,t,0).then((e=>{if(Object.keys(e).length||(at.current=!0),Object.keys(e).length){lt(Object.assign(Object.assign({},st),{products:e}));const t=I(e);ht(t,e),et.current=1}t||F({type:"selected",data:{id:tt,val:Object.assign(Object.assign({},V),{products:e})}}),N(!1),it(!1)})).catch()},mt=(t,e)=>{const o=E(e,V);F({type:t,data:Object.assign(Object.assign({},o),{isRestricted:W})})},gt=!!(null==B?void 0:B[tt])&&!!Object.keys(null!==(w=null===(R=null==B?void 0:B[tt])||void 0===R?void 0:R.products)&&void 0!==w?w:{}).length;return t("div",{children:[t(k,{children:[e(h,{Icon:o,height:16,onClick:()=>{M("collections")}}),e(j,Object.assign({style:{color:a.content.secondary}},{children:V.name}))]}),!U&&e("div",Object.assign({style:{padding:16,height:"76px",borderBottom:"1px solid #E0E0E0"}},{children:e(m,{noKeyDownChange:!0,noErrorHint:!0,rightIcon:{icon:()=>rt&&ct.length?e(g,{size:"small",color:a.content.primary}):e(n,{})},id:"listInput",height:"24px",type:"text",value:ct,onChangeText:t=>{t.length&&t.trim().length?nt(t):nt("")},placeholder:"Search using ID, Name or SKU ID"})})),Object.keys((null==st?void 0:st.products)||[]).length>0&&!ut&&!ct.length&&!z&&"-1"!==tt&&t(C,{children:[e(u,{isChecked:gt,isPartiallyChecked:S(tt,st,B,G),onValueChange:function(t){t?pt():F({type:"unselected",data:{id:tt}})}}),e("div",Object.assign({style:{width:40,height:40}},{children:e(c,{})})),e(f,{children:"All Products"})]}),e(p,Object.assign({hasData:!(Object.keys((null==st?void 0:st.products)||[]).length<10)&&!!Object.keys((null==st?void 0:st.products)||[]).length,fetchMore:()=>(ot.current=!0,J(tt,K,$,10,et.current).then((t=>{let e=!1;if(Object.keys(t).length||(e=!0),Object.keys(t).length){const e=st;e.products=Object.assign(Object.assign({},st.products),t),lt(Object.assign({},e));const o=I(t);ht(o,t)}return N(!1),ot.current=!1,et.current+=1,e}))),containerRef:Z},{children:Object.keys((null==st?void 0:st.products)||[]).length?Object.keys(st.products||[]).map((t=>e(b,{outOfStockAction:H,collectionId:tt,isProductPartiallyChecked:x(tt,t,B,st,G),productId:t,data:st.products[t],selectedData:B,selectedCollectionsDispatch:F,viewOnly:!_&&!!ut,upliftAdditions:mt,hideProductCheckbox:z,hideVariantCheckbox:L,hideProductVariants:G,pickerType:q,onProductDetailClick:X,showProductDetailInfoIcon:Y},t))):rt?e(y,{limit:10}):e(v,{title:"No products to show",subtitle:ct.length?"We couldn't find the product you were looking for":"We couldn’t find any product in this collection."})}))]})};export{T as ProductsScreen};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import o from"../../assets/icons/arrow_left.svg.js";import c from"../../assets/icons/box.svg.js";import n from"../../assets/icons/search.svg.js";import r from"lodash/cloneDeep";import{useContext as i,useRef as s,useState as l,useEffect as d}from"react";import{COLORS as a}from"../../constants/Theme.js";import{CheckBox as u}from"../checkBox/CheckBox.js";import{IconButton as h}from"../icon-button/IconButton.js";import{InfiniteScroll as p}from"../InfiniteScroll/InfiniteScroll.js";import{Input as m}from"../input/Input.js";import{Spinner as g}from"../spinner/Spinner.js";import{BodyCaption as j,TitleRegular as f}from"../TypographyStyle.js";import{EmptyState as v}from"./emptyState.js";import{ProductGroup as b}from"./product.js";import{ProductPickerShimmer as y}from"./ProductPickerShimmer.js";import{CollectionIdContext as O}from"./reducers.js";import{ProductScreenHeader as k,ProductScreenCollectionCardStyle as C}from"./style.js";import{OUT_OF_STOCK_ACTION as P}from"./type.js";import{getVariantIdsToFetchAtProductLevel as I,markVariantsAsApprovedProductsLevel as D,isCollectionPartiallyChecked as S,isProductPartiallyChecked as x,liftTheStateUp as E}from"./utility.js";const T=T=>{var R,w;const{data:V,collectionsDispatch:A,selectedData:B,selectedCollectionsDispatch:F,productFetcher:J,storeId:K,setScreen:M,setSaveDisabled:N,hideInCollectionSearch:U,customCollectionRestriction:W,hideProductCheckbox:z,outOfStockAction:H=P.BLUR,hideVariantCheckbox:L=!1,selectProductsFromCustomCollection:_=!1,pickerType:q,hideProductVariants:G,fbStatusFetcher:Q,onProductDetailClick:X,showProductDetailInfoIcon:Y,scrollContainerRef:Z,appType:$}=T,tt=i(O),et=s(0),ot=s(!1),[ct,nt]=l(""),[rt,it]=l(!1),[st,lt]=l(V),dt=s(!0),at=s(!1);d((()=>{if(dt.current)return void(dt.current=!1);const t=setTimeout((()=>{ct.length?(it(!0),T.searchInCollectionFetcher(K,tt,ct,$).then((t=>{const e=r(V);e.products=t,lt(e);const o=I(null!=t?t:{});ht(o,null!=t?t:{},!0),N(!1),it(!1)}))):lt(V)}),800);return()=>clearTimeout(t)}),[ct]);d((()=>{var t,e,o,c;at.current=!1,et.current=Math.floor((null===(e=Object.keys(null!==(t=V.products)&&void 0!==t?t:{}))||void 0===e?void 0:e.length)/10);const n=I(null!==(o=V.products)&&void 0!==o?o:{});ht(n,null!==(c=V.products)&&void 0!==c?c:{})}),[tt]);const ut=!!W&&V.isSmartCollection;d((()=>{(null==V?void 0:V.products)||pt(10)}),[]);const ht=(t,e,o)=>{Q||(o?D(e,A,tt,st,lt):D(e,A,tt)),t.length>0&&Q&&Q(K,t,$).then((t=>{const c=Object.assign({},e);Object.keys(e).forEach((o=>{var n,r;Object.keys(null!==(r=null===(n=null==e?void 0:e[o])||void 0===n?void 0:n.variants)&&void 0!==r?r:{}).forEach((n=>{var r,i;const s=null===(r=null==e?void 0:e[o].variants)||void 0===r?void 0:r[n];s&&"REJECTED"===t[n]?s.fbStatus="REJECTED":s&&"APPROVED"===t[n]&&(s.fbStatus="APPROVED");const l=null===(i=null==c?void 0:c[o])||void 0===i?void 0:i.variants;l&&l[n]&&(l[n]=s)}))})),o?(lt((t=>{const e=Object.assign({},t);return e.products=c,e})),A({type:"productsPaged",data:{collectionId:tt,products:c}})):A({type:"productsPaged",data:{collectionId:tt,products:c}})})).catch((t=>{o?D(e,A,tt,st,lt):D(e,A,tt)}))},pt=t=>{N(!0),it(!0),J(tt,K,$,t,0).then((e=>{if(Object.keys(e).length||(at.current=!0),Object.keys(e).length){lt(Object.assign(Object.assign({},st),{products:e}));const t=I(e);ht(t,e),et.current=1}t||F({type:"selected",data:{id:tt,val:Object.assign(Object.assign({},V),{products:e})}}),N(!1),it(!1)})).catch()},mt=(t,e)=>{const o=E(e,V);F({type:t,data:Object.assign(Object.assign({},o),{isRestricted:W})})},gt=!!(null==B?void 0:B[tt])&&!!Object.keys(null!==(w=null===(R=null==B?void 0:B[tt])||void 0===R?void 0:R.products)&&void 0!==w?w:{}).length;return t("div",{children:[t(k,{children:[e(h,{Icon:o,height:16,onClick:()=>{M("collections")}}),e(j,Object.assign({style:{color:a.content.secondary}},{children:V.name}))]}),!U&&e("div",Object.assign({style:{padding:16,height:"76px",borderBottom:"1px solid #E0E0E0"}},{children:e(m,{noKeyDownChange:!0,noErrorHint:!0,rightIcon:{icon:()=>rt&&ct.length?e(g,{size:"small",color:a.content.primary}):e(n,{})},id:"listInput",height:"24px",type:"text",value:ct,onChangeText:t=>{t.length&&t.trim().length?nt(t):nt("")},placeholder:"Search using ID, Name or SKU ID"})})),Object.keys((null==st?void 0:st.products)||[]).length>0&&!ut&&!ct.length&&!z&&"-1"!==tt&&t(C,{children:[e(u,{isChecked:gt,isPartiallyChecked:S(tt,st,B,G),onValueChange:function(t){t?pt():F({type:"unselected",data:{id:tt}})}}),e("div",Object.assign({style:{width:40,height:40}},{children:e(c,{})})),e(f,{children:"All Products"})]}),e(p,Object.assign({hasData:!(Object.keys((null==st?void 0:st.products)||[]).length<10)&&!!Object.keys((null==st?void 0:st.products)||[]).length,fetchMore:()=>(ot.current=!0,J(tt,K,$,10,et.current).then((t=>{let e=!1;if(Object.keys(t).length||(e=!0),Object.keys(t).length){const e=st;e.products=Object.assign(Object.assign({},st.products),t),lt(Object.assign({},e));const o=I(t);ht(o,t)}return N(!1),ot.current=!1,et.current+=1,e}))),containerRef:Z},{children:Object.keys((null==st?void 0:st.products)||[]).length?Object.keys(st.products||[]).map((t=>e(b,{outOfStockAction:H,collectionId:tt,isProductPartiallyChecked:x(tt,t,B,st,G),productId:t,data:st.products[t],selectedData:B,selectedCollectionsDispatch:F,viewOnly:!_&&!!ut,upliftAdditions:mt,hideProductCheckbox:z,hideVariantCheckbox:L,hideProductVariants:G,pickerType:q,onProductDetailClick:X,showProductDetailInfoIcon:Y},t))):rt?e(y,{limit:10}):e(v,{title:"No products to show",subtitle:ct.length?"We couldn't find the product you were looking for":"We couldn’t find any product in this collection."})}))]})};export{T as ProductsScreen};
@@ -1,8 +1,7 @@
1
- import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
1
+ import type { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
2
2
  import React from 'react';
3
- import { FbStatusFetcherReturn, SelectedItems } from '.';
4
- import { SelectedCollectionsActions } from './reducers';
5
- import { OUT_OF_STOCK_ACTION } from './type';
3
+ import type { SelectedCollectionsActions } from './reducers';
4
+ import { type FbStatusFetcherReturn, OUT_OF_STOCK_ACTION, type SelectedItems } from './type';
6
5
  interface RearrangeScreenInterface {
7
6
  selectedCollections: SelectedItems;
8
7
  selectedCollectionsDispatch: React.Dispatch<SelectedCollectionsActions>;
@@ -1 +1 @@
1
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import o from"../../assets/icons/arrow_left.svg.js";import{useState as r,useEffect as s}from"react";import{DragDropContext as c}from"react-beautiful-dnd";import{COLORS as i}from"../../constants/Theme.js";import{IconButton as n}from"../icon-button/IconButton.js";import{BodyCaption as l}from"../TypographyStyle.js";import{EmptyState as a}from"./emptyState.js";import{parseSelectedVariantsToArray as p}from"./helpers/ProductHelper.js";import{SelectedScreenHeader as d}from"./style.js";import{fetchFbStatusCollection as m}from"./utility.js";import{VariantsList as u,VariantsGrid as f}from"./variantComponents.js";const h=h=>{const{selectedCollections:j,selectedCollectionsDispatch:y,setScreen:S,rearrangeViewType:g,outOfStockAction:b,scrollContainerRef:C,storeId:O,fbStatusFetcher:v,appType:T}=h,[V,k]=r(p(j));s((()=>{k(p(j))}),[j]),s((()=>{var t;null===(t=null==C?void 0:C.current)||void 0===t||t.scrollTo({top:0}),m(j,O,T,y,v,"update")}),[]);return t(c,Object.assign({onDragEnd:t=>{if(!t.destination)return;const e=V,[o]=e.splice(t.source.index,1);e.splice(t.destination.index,0,o),e.forEach(((t,e)=>{t.displayOrder=e})),k(e)}},{children:[t(d,{children:[e(n,{Icon:o,width:16,height:16,color:i.content.secondary,onClick:()=>{S("collections")}}),e(l,Object.assign({color:i.content.secondary},{children:"All Products"}))]}),Object.keys(j).length>0?"list"===g?e(u,{selectedVariants:V,setSelectedVariants:k,selectedCollectionsDispatch:y,outOfStockAction:b}):e(f,{selectedVariants:V,setSelectedVariants:k,selectedCollectionsDispatch:y}):e(a,{title:"No Products Selected",subtitle:"Selected products will appear here"})]}))};export{h as RearrangeScreen};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{DragDropContext as o}from"@hello-pangea/dnd";import r from"../../assets/icons/arrow_left.svg.js";import{useState as s,useEffect as c}from"react";import{COLORS as i}from"../../constants/Theme.js";import{IconButton as n}from"../icon-button/IconButton.js";import{BodyCaption as l}from"../TypographyStyle.js";import{EmptyState as a}from"./emptyState.js";import{parseSelectedVariantsToArray as p}from"./helpers/ProductHelper.js";import{SelectedScreenHeader as d}from"./style.js";import{fetchFbStatusCollection as m}from"./utility.js";import{VariantsList as f,VariantsGrid as u}from"./variantComponents.js";const h=h=>{const{selectedCollections:j,selectedCollectionsDispatch:y,setScreen:S,rearrangeViewType:g,outOfStockAction:C,scrollContainerRef:b,storeId:O,fbStatusFetcher:v,appType:T}=h,[V,k]=s(p(j));c((()=>{k(p(j))}),[j]),c((()=>{var t;null===(t=null==b?void 0:b.current)||void 0===t||t.scrollTo({top:0}),m(j,O,T,y,v,"update")}),[]);return t(o,Object.assign({onDragEnd:t=>{if(!t.destination)return;const e=V,[o]=e.splice(t.source.index,1);e.splice(t.destination.index,0,o),e.forEach(((t,e)=>{t.displayOrder=e})),k(e)}},{children:[t(d,{children:[e(n,{Icon:r,width:16,height:16,color:i.content.secondary,onClick:()=>{S("collections")}}),e(l,Object.assign({color:i.content.secondary},{children:"All Products"}))]}),Object.keys(j).length>0?"list"===g?e(f,{selectedVariants:V,setSelectedVariants:k,selectedCollectionsDispatch:y,outOfStockAction:C}):e(u,{selectedVariants:V,setSelectedVariants:k,selectedCollectionsDispatch:y}):e(a,{title:"No Products Selected",subtitle:"Selected products will appear here"})]}))};export{h as RearrangeScreen};
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Collection, SearchedItems, SelectedItems } from '.';
2
+ import type { Collection, SearchedItems, SelectedItems } from './type';
3
3
  export interface SelectedCollectionsActions {
4
4
  type: string;
5
5
  data: {
@@ -1 +1 @@
1
- import{cloneDeep as t}from"lodash";import{createContext as a}from"react";function e(a,e){var s,d,c,o,r,n,i,u,l,p,v;let O={},g="",b="",j="";switch(e.type){case"selected":return O=t(a),e.data.val.isSmartCollection&&(e.data.isRestricted&&(O={}),O.isCustom=!0),O[e.data.id]=e.data.val,O;case"unselected":return O=t(a),(null==O?void 0:O.isCustom)&&(O.isCustom=!1),delete O[e.data.id],O;case"productUnselected":return O=t(a),g=e.data.productId,b=e.data.collectionId,delete O[b].products[g],Object.keys(O[b].products).length||((null==O?void 0:O.isCustom)&&(O.isCustom=!1),delete O[b]),O;case"productSelected":return O=t(a),g=e.data.productId,b=e.data.collectionId,(null===(s=e.data.catalogOnlyData)||void 0===s?void 0:s.isSmartCollection)&&(e.data.isRestricted&&(O={}),O.isCustom=!0),(null==O?void 0:O[b])||(O[b]=e.data.catalogOnlyData,O[b].products={}),O[b].products[g]=e.data.product,O;case"variantSelected":return O=t(a),g=e.data.productId,b=e.data.collectionId,j=e.data.variantId,(null===(d=e.data.catalogOnlyData)||void 0===d?void 0:d.isSmartCollection)&&(e.data.isRestricted&&(O={}),O.isCustom=!0),(null==O?void 0:O[b])||(O[b]=e.data.catalogOnlyData,O[b].products={},O[b].products[g]=e.data.productOnlyData,O[b].products[g].variants={}),(null===(c=null==O?void 0:O[b])||void 0===c?void 0:c.products)||(O[b].products={}),(null===(r=null===(o=null==O?void 0:O[b])||void 0===o?void 0:o.products)||void 0===r?void 0:r[g])||(O[b].products[g]=e.data.productOnlyData,O[b].products[g].variants={}),O[b].products[g].variants||(O[b].products[g].variants={}),O[b].products[g].variants[j]=e.data.variant,O;case"variantUnselected":return O=t(a),g=e.data.productId,b=e.data.collectionId,j=e.data.variantId,(null===(i=null===(n=O[b].products[g])||void 0===n?void 0:n.variants)||void 0===i?void 0:i[j])&&delete O[b].products[g].variants[j],Object.keys(null!==(p=null===(l=null===(u=O[b].products)||void 0===u?void 0:u[g])||void 0===l?void 0:l.variants)&&void 0!==p?p:{}).length||(delete O[b].products[g],Object.keys(O[b].products).length||((null===(v=O[b])||void 0===v?void 0:v.isSmartCollection)&&(O.isCustom=!1),delete O[b])),O;case"update":return O=Object.assign({},a),O;case"reset":return{};default:return a}}function s(t,a){let e={};switch(a.type){case"fetched":return e=Object.assign({},a.data),e;case"productsFetched":return e=Object.assign({},t),e[a.data.collectionId].products=a.data.products,e;case"paged":return e=Object.assign(Object.assign({},t),a.data),e;case"productsPaged":return e=Object.assign({},t),e[a.data.collectionId].products=Object.assign(Object.assign({},e[a.data.collectionId].products),a.data.products),e;case"searched":e=Object.assign({},t);for(const t in a.data)t in e||(e[t]=a.data[t]);return e;default:return{}}}function d(t,a){let e={};switch(a.type){case"paginate":e=Object.assign({},t);for(const t in a.data)if(Object.prototype.hasOwnProperty.call(a.data,t)){const s=a.data[t];if(Object.prototype.hasOwnProperty.call(e,t)){const a=e[t];e[t]=Object.assign(Object.assign({},a),{products:Object.assign(Object.assign({},a.products),s.products)})}else e[t]=s}return e;case"update":return e=Object.assign({},t),e;case"set":return e=Object.assign(Object.assign({},t),a.data),e;case"filter":e={};for(const s in t)if(s in a.data){const d=Object.assign({},t[s]),c=a.data[s],o={};for(const t in d.products)if(t in c.products){const a=Object.assign({},d.products[t]),e=c.products[t],s={};for(const t in a.variants)t in e.variants&&(s[t]=Object.assign({},a.variants[t]));Object.keys(s).length>0&&(a.variants=s,o[t]=a)}Object.keys(o).length>0&&(d.products=o,e[s]=d)}return e;default:return t}}function c(t,a){let e={collections:{},products:{}};switch(a.type){case"set":return a.data;case"setProducts":return e=Object.assign({},t),e.products=a.data,e;default:return t}}const o=a("");export{o as CollectionIdContext,s as collectionsReducer,d as paginationReducer,c as searchReducer,e as selectedColectionsReducer};
1
+ import t from"lodash/cloneDeep";import{createContext as a}from"react";function e(a,e){var s,d,c,o,r,n,i,u,l,p,v;let O={},g="",b="",j="";switch(e.type){case"selected":return O=t(a),e.data.val.isSmartCollection&&(e.data.isRestricted&&(O={}),O.isCustom=!0),O[e.data.id]=e.data.val,O;case"unselected":return O=t(a),(null==O?void 0:O.isCustom)&&(O.isCustom=!1),delete O[e.data.id],O;case"productUnselected":return O=t(a),g=e.data.productId,b=e.data.collectionId,delete O[b].products[g],Object.keys(O[b].products).length||((null==O?void 0:O.isCustom)&&(O.isCustom=!1),delete O[b]),O;case"productSelected":return O=t(a),g=e.data.productId,b=e.data.collectionId,(null===(s=e.data.catalogOnlyData)||void 0===s?void 0:s.isSmartCollection)&&(e.data.isRestricted&&(O={}),O.isCustom=!0),(null==O?void 0:O[b])||(O[b]=e.data.catalogOnlyData,O[b].products={}),O[b].products[g]=e.data.product,O;case"variantSelected":return O=t(a),g=e.data.productId,b=e.data.collectionId,j=e.data.variantId,(null===(d=e.data.catalogOnlyData)||void 0===d?void 0:d.isSmartCollection)&&(e.data.isRestricted&&(O={}),O.isCustom=!0),(null==O?void 0:O[b])||(O[b]=e.data.catalogOnlyData,O[b].products={},O[b].products[g]=e.data.productOnlyData,O[b].products[g].variants={}),(null===(c=null==O?void 0:O[b])||void 0===c?void 0:c.products)||(O[b].products={}),(null===(r=null===(o=null==O?void 0:O[b])||void 0===o?void 0:o.products)||void 0===r?void 0:r[g])||(O[b].products[g]=e.data.productOnlyData,O[b].products[g].variants={}),O[b].products[g].variants||(O[b].products[g].variants={}),O[b].products[g].variants[j]=e.data.variant,O;case"variantUnselected":return O=t(a),g=e.data.productId,b=e.data.collectionId,j=e.data.variantId,(null===(i=null===(n=O[b].products[g])||void 0===n?void 0:n.variants)||void 0===i?void 0:i[j])&&delete O[b].products[g].variants[j],Object.keys(null!==(p=null===(l=null===(u=O[b].products)||void 0===u?void 0:u[g])||void 0===l?void 0:l.variants)&&void 0!==p?p:{}).length||(delete O[b].products[g],Object.keys(O[b].products).length||((null===(v=O[b])||void 0===v?void 0:v.isSmartCollection)&&(O.isCustom=!1),delete O[b])),O;case"update":return O=Object.assign({},a),O;case"reset":return{};default:return a}}function s(t,a){let e={};switch(a.type){case"fetched":return e=Object.assign({},a.data),e;case"productsFetched":return e=Object.assign({},t),e[a.data.collectionId].products=a.data.products,e;case"paged":return e=Object.assign(Object.assign({},t),a.data),e;case"productsPaged":return e=Object.assign({},t),e[a.data.collectionId].products=Object.assign(Object.assign({},e[a.data.collectionId].products),a.data.products),e;case"searched":e=Object.assign({},t);for(const t in a.data)t in e||(e[t]=a.data[t]);return e;default:return{}}}function d(t,a){let e={};switch(a.type){case"paginate":e=Object.assign({},t);for(const t in a.data)if(Object.prototype.hasOwnProperty.call(a.data,t)){const s=a.data[t];if(Object.prototype.hasOwnProperty.call(e,t)){const a=e[t];e[t]=Object.assign(Object.assign({},a),{products:Object.assign(Object.assign({},a.products),s.products)})}else e[t]=s}return e;case"update":return e=Object.assign({},t),e;case"set":return e=Object.assign(Object.assign({},t),a.data),e;case"filter":e={};for(const s in t)if(s in a.data){const d=Object.assign({},t[s]),c=a.data[s],o={};for(const t in d.products)if(t in c.products){const a=Object.assign({},d.products[t]),e=c.products[t],s={};for(const t in a.variants)t in e.variants&&(s[t]=Object.assign({},a.variants[t]));Object.keys(s).length>0&&(a.variants=s,o[t]=a)}Object.keys(o).length>0&&(d.products=o,e[s]=d)}return e;default:return t}}function c(t,a){let e={collections:{},products:{}};switch(a.type){case"set":return a.data;case"setProducts":return e=Object.assign({},t),e.products=a.data,e;default:return t}}const o=a("");export{o as CollectionIdContext,s as collectionsReducer,d as paginationReducer,c as searchReducer,e as selectedColectionsReducer};
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
3
- import { Collection, FbStatusFetcherReturn, SearchedItems, SelectedItems } from '.';
4
- import { SearchReducerActions, SelectedCollectionsActions } from './reducers';
5
- import { OUT_OF_STOCK_ACTION } from './type';
2
+ import type { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
3
+ import type { SearchReducerActions, SelectedCollectionsActions } from './reducers';
4
+ import { type Collection, type FbStatusFetcherReturn, OUT_OF_STOCK_ACTION, type SearchedItems, type SelectedItems } from './type';
6
5
  interface SearchScreenInterface {
7
6
  customCollectionRestriction?: boolean;
8
7
  selectedCollections: SelectedItems;
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
3
- import { Collection, FbStatusFetcherReturn, SelectedItems } from '.';
4
- import { SelectedCollectionsActions } from './reducers';
5
- import { OUT_OF_STOCK_ACTION } from './type';
2
+ import type { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
3
+ import { type SelectedCollectionsActions } from './reducers';
4
+ import { type Collection, type FbStatusFetcherReturn, OUT_OF_STOCK_ACTION, type SelectedItems } from './type';
6
5
  interface SelectedScreenInterface {
7
6
  selectedCollections: SelectedItems;
8
7
  selectedCollectionsDispatch: React.Dispatch<SelectedCollectionsActions>;
@@ -17,3 +17,68 @@ export declare enum ScreenName {
17
17
  SearchProducts = "searchProducts",
18
18
  Products = "products"
19
19
  }
20
+ export type FbProductStatus = 'APPROVED' | 'REJECTED';
21
+ export interface ProductVariant {
22
+ name: string;
23
+ price: string;
24
+ image: string;
25
+ quantity: number;
26
+ skipSync?: boolean;
27
+ displayOrder?: number | null;
28
+ fbStatus?: FbProductStatus;
29
+ description?: string;
30
+ id?: string;
31
+ actualPrice?: string;
32
+ currency?: string;
33
+ skuId?: string;
34
+ }
35
+ export interface Product {
36
+ name: string;
37
+ image: string;
38
+ description?: string;
39
+ variants?: {
40
+ [key: string]: ProductVariant;
41
+ };
42
+ id?: string;
43
+ handle?: string;
44
+ currency?: string;
45
+ }
46
+ export interface Collection {
47
+ name: string;
48
+ image: string;
49
+ isSmartCollection: boolean;
50
+ products?: {
51
+ [key: string]: Product;
52
+ };
53
+ }
54
+ export type SelectedItems = {
55
+ [key: string]: Collection;
56
+ };
57
+ export type SearchedItems = {
58
+ collections: SelectedItems;
59
+ products: SelectedItems;
60
+ };
61
+ export type CollectionFetcherReturn = Promise<{
62
+ collections: {
63
+ [key: string]: {
64
+ image: string;
65
+ name: string;
66
+ isSmartCollection: string;
67
+ };
68
+ };
69
+ }>;
70
+ export type ProductFetcherReturn = Promise<{
71
+ [key: string]: Product;
72
+ }>;
73
+ export type FbStatusFetcherReturn = Promise<{
74
+ [key: string]: FbProductStatus;
75
+ }>;
76
+ /**
77
+ * Extended type from Product Variant, which contains ids and name.
78
+ */
79
+ export type ProductVariantForRearrange = ProductVariant & {
80
+ variantId: string;
81
+ productId: string;
82
+ collectionId: string;
83
+ productName: string;
84
+ };
@@ -1,6 +1,6 @@
1
- import { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
2
- import { Collection, FbStatusFetcherReturn, Product, ProductVariant, SearchedItems, SelectedItems } from './modal';
3
- import { CollectionsActions } from './reducers';
1
+ import type { ApplicationType } from '@bikdotai/bik-models/growth/models/bik-store';
2
+ import type { CollectionsActions } from './reducers';
3
+ import type { Collection, FbStatusFetcherReturn, Product, ProductVariant, SearchedItems, SelectedItems } from './type';
4
4
  export declare const liftTheStateUp: (payload: any, data: any) => any;
5
5
  export declare function paginateSelectedItems(selectedItems: SelectedItems, limit: number, offset: number): {
6
6
  [key: string]: Collection;
@@ -1 +1 @@
1
- import{cloneDeep as o}from"lodash";const l=(l,i)=>{const n=o(i);if(delete n.products,(l=Object.assign(Object.assign({},l),{catalogOnlyData:n})).productId&&i.products){const t=o(i.products[l.productId]);(null==t?void 0:t.variants)&&delete t.variants,l=Object.assign(Object.assign({},l),{catalogOnlyData:n,productOnlyData:t})}return l};function i(o,l,i){var t;const d={};let v=0;for(const s in o)if(Object.prototype.hasOwnProperty.call(o,s)){const u=o[s],c=n(u.products,l,i-v);c&&Object.keys(c).length>0&&(d[s]=Object.assign(Object.assign({},u),{products:c})),v+=Object.keys(null!==(t=u.products)&&void 0!==t?t:{}).length}return d}function n(o,l,i){if(!o)return{};const n=Object.keys(o).slice(i,i+l),t={};return n.forEach((l=>{t[l]=o[l]})),t}const t=(o,l,i)=>{Object.keys(o).forEach((l=>{var i,n;const t=null!==(n=null===(i=o[l])||void 0===i?void 0:i.products)&&void 0!==n?n:{};Object.keys(t).forEach((i=>{var n,t,d,v;const s=null!==(v=null===(d=null===(t=null===(n=o[l])||void 0===n?void 0:n.products)||void 0===t?void 0:t[i])||void 0===d?void 0:d.variants)&&void 0!==v?v:{};Object.keys(s).forEach((n=>{var t,d,v,s;const u=null===(s=null===(v=null===(d=null===(t=o[l])||void 0===t?void 0:t.products)||void 0===d?void 0:d[i])||void 0===v?void 0:v.variants)||void 0===s?void 0:s[n];u&&!u.fbStatus&&(u.fbStatus="APPROVED")}))}))})),l({type:i,data:o})},d=function(o,l,i,n,d){let v=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"paged";d||t(o,n,v);const s=(o=>{const l=[];return Object.keys(o).forEach((i=>{var n,t;const d=null!==(t=null===(n=o[i])||void 0===n?void 0:n.products)&&void 0!==t?t:{};Object.keys(d).forEach((n=>{var t,d,v,s;const u=null!==(s=null===(v=null===(d=null===(t=o[i])||void 0===t?void 0:t.products)||void 0===d?void 0:d[n])||void 0===v?void 0:v.variants)&&void 0!==s?s:{};Object.keys(u).forEach((t=>{var d,v,s,u;const c=null===(u=null===(s=null===(v=null===(d=o[i])||void 0===d?void 0:d.products)||void 0===v?void 0:v[n])||void 0===s?void 0:s.variants)||void 0===u?void 0:u[t];(null==c?void 0:c.fbStatus)||l.push(t)}))}))})),l})(o);s.length>0&&d&&d(l,s,i).then((l=>{const i=Object.assign({},o);Object.keys(i).forEach((o=>{var n,t;const d=null!==(t=null===(n=i[o])||void 0===n?void 0:n.products)&&void 0!==t?t:{};Object.keys(d).forEach((n=>{var t,d,v,s;const u=null!==(s=null===(v=null===(d=null===(t=i[o])||void 0===t?void 0:t.products)||void 0===d?void 0:d[n])||void 0===v?void 0:v.variants)&&void 0!==s?s:{};Object.keys(u).forEach((t=>{var d,v,s,u;const c=null===(u=null===(s=null===(v=null===(d=i[o])||void 0===d?void 0:d.products)||void 0===v?void 0:v[n])||void 0===s?void 0:s.variants)||void 0===u?void 0:u[t];c&&"REJECTED"===l[t]?c.fbStatus="REJECTED":c&&"APPROVED"===l[t]&&(c.fbStatus="APPROVED")}))}))})),n({type:v,data:i})})).catch((l=>{console.error("Error in fbStatusFetcher",l),t(o,n,v)}))},v=(o,l)=>{const i=[];return Object.keys(null!=o?o:{}).forEach((n=>{var t,d;const v=null!==(d=null===(t=null==o?void 0:o[n])||void 0===t?void 0:t.variants)&&void 0!==d?d:{};Object.keys(v).forEach((t=>{var d,v,s,u,c;let r;r=l?null===(s=null===(v=null===(d=null==l?void 0:l.products)||void 0===d?void 0:d[n])||void 0===v?void 0:v.variants)||void 0===s?void 0:s[t]:null===(c=null===(u=null==o?void 0:o[n])||void 0===u?void 0:u.variants)||void 0===c?void 0:c[t],(null==r?void 0:r.fbStatus)||i.push(t)}))})),i},s=(o,l,i,n,t)=>{const d=Object.assign({},o);if(Object.keys(o).forEach((l=>{var i,n;Object.keys(null!==(n=null===(i=null==o?void 0:o[l])||void 0===i?void 0:i.variants)&&void 0!==n?n:{}).forEach((i=>{var n,t;const v=null===(n=null==o?void 0:o[l].variants)||void 0===n?void 0:n[i];v&&(v.fbStatus="APPROVED");const s=null===(t=null==d?void 0:d[l])||void 0===t?void 0:t.variants;s&&s[i]&&(s[i]=v)}))})),n&&t){const o=Object.assign({},n);o.products=d,t(o),l({type:"productsPaged",data:{collectionId:i,products:d}})}else l({type:"productsPaged",data:{collectionId:i,products:d}})},u=o=>{const l=Object.keys(o.variants||[]);let i=!1;return!(l.length<=1)||(l.forEach((l=>{var n,t;i=null!==(t=null===(n=o.variants)||void 0===n?void 0:n[l].name.includes(o.name))&&void 0!==t&&t})),!i)},c=(o,l,i,n,t)=>{var d,v,s,u,c,r,a,e,p,b,O,f,j,h,y,g,E,k,P;let D=0,V=0;if(null===(v=null===(d=null==i?void 0:i[o])||void 0===d?void 0:d.products)||void 0===v?void 0:v[l]){if(t)return!1;const d=(null===(c=null===(u=null===(s=null==i?void 0:i[o])||void 0===s?void 0:s.products)||void 0===u?void 0:u[l])||void 0===c?void 0:c.variants)||[];if(1===Object.keys(d).length)for(const n in d){const t=null===(a=null===(r=null==i?void 0:i[o])||void 0===r?void 0:r.products)||void 0===a?void 0:a[l],d=null===(O=null===(b=null===(p=null===(e=null==i?void 0:i[o])||void 0===e?void 0:e.products)||void 0===p?void 0:p[l])||void 0===b?void 0:b.variants)||void 0===O?void 0:O[n];if(null===(f=null==d?void 0:d.name)||void 0===f?void 0:f.includes(null!==(j=null==t?void 0:t.name)&&void 0!==j?j:""))return!1}if(null===(g=Object.keys((null===(y=null===(h=null==n?void 0:n.products)||void 0===h?void 0:h[l])||void 0===y?void 0:y.variants)||[]))||void 0===g||g.forEach((()=>V++)),Object.keys((null===(P=null===(k=null===(E=null==i?void 0:i[o])||void 0===E?void 0:E.products)||void 0===k?void 0:k[l])||void 0===P?void 0:P.variants)||[]).forEach((()=>D++)),D>0&&V!==D)return!0}return!1},r=function(o,l,i){var n,t,d,v;let s=0,u=0;if(arguments.length>3&&void 0!==arguments[3]&&arguments[3]){const v=null!==(n=null==l?void 0:l.products)&&void 0!==n?n:{};s=Object.keys(v).length;const c=null!==(d=null===(t=i[o])||void 0===t?void 0:t.products)&&void 0!==d?d:{};u=Object.keys(c).length}else if(i[o]){const n=null==l?void 0:l.products;n&&Object.keys(n).forEach((o=>{var l;const i=null===(l=n[o])||void 0===l?void 0:l.variants;i&&Object.keys(i).forEach((o=>s+=1))}));const t=null===(v=i[o])||void 0===v?void 0:v.products;if(t&&Object.keys(t).forEach((o=>{var l;const i=null===(l=t[o])||void 0===l?void 0:l.variants;i&&Object.keys(i).forEach((o=>u+=1))})),s<=0&&u>0)return!1}return u>0&&s!==u},a=(l,i,n)=>Object.keys(l).reduce(((t,d)=>{var v;return d in i?(t[d]=Object.assign(Object.assign({},l[d]),{products:Object.keys(null!==(v=l[d].products)&&void 0!==v?v:{}).reduce(((t,v)=>{var s,u,c,r,a,e,p,b,O,f;const j=null===(s=i[d].products)||void 0===s?void 0:s[v],h=null===(r=null===(c=null===(u=null==n?void 0:n.products)||void 0===u?void 0:u[d])||void 0===c?void 0:c.products)||void 0===r?void 0:r[v];return j?t[v]=Object.assign(Object.assign({},(null===(a=l[d].products)||void 0===a?void 0:a[v])||{}),{allVariants:o(j.variants)}):h?t[v]=Object.assign(Object.assign({},(null===(e=l[d].products)||void 0===e?void 0:e[v])||{}),{allVariants:o(h.variants)}):(null===(b=null===(p=l[d].products)||void 0===p?void 0:p[v])||void 0===b?void 0:b.allVariants)&&(t[v]=Object.assign(Object.assign({},(null===(O=l[d].products)||void 0===O?void 0:O[v])||{}),{allVariants:o(null===(f=l[d].products)||void 0===f?void 0:f[v].allVariants)})),t}),{})}),t):t}),{}),e=(o,l)=>{var i;if(l)return o.skuId;const n=Object.values(null!==(i=null==o?void 0:o.variants)&&void 0!==i?i:{});return 1===n.length&&n[0].name.includes(o.name)?n[0].skuId:""};export{d as fetchFbStatusCollection,e as getSkuId,v as getVariantIdsToFetchAtProductLevel,r as isCollectionPartiallyChecked,c as isProductPartiallyChecked,l as liftTheStateUp,s as markVariantsAsApprovedProductsLevel,i as paginateSelectedItems,u as shouldShowVariant,a as updateAllVariantsForSelectedProducts};
1
+ import o from"lodash/cloneDeep";const l=(l,n)=>{const i=o(n);if(delete i.products,(l=Object.assign(Object.assign({},l),{catalogOnlyData:i})).productId&&n.products){const t=o(n.products[l.productId]);(null==t?void 0:t.variants)&&delete t.variants,l=Object.assign(Object.assign({},l),{catalogOnlyData:i,productOnlyData:t})}return l};function n(o,l,n){var t;const d={};let v=0;for(const s in o)if(Object.prototype.hasOwnProperty.call(o,s)){const u=o[s],c=i(u.products,l,n-v);c&&Object.keys(c).length>0&&(d[s]=Object.assign(Object.assign({},u),{products:c})),v+=Object.keys(null!==(t=u.products)&&void 0!==t?t:{}).length}return d}function i(o,l,n){if(!o)return{};const i=Object.keys(o).slice(n,n+l),t={};return i.forEach((l=>{t[l]=o[l]})),t}const t=(o,l,n)=>{Object.keys(o).forEach((l=>{var n,i;const t=null!==(i=null===(n=o[l])||void 0===n?void 0:n.products)&&void 0!==i?i:{};Object.keys(t).forEach((n=>{var i,t,d,v;const s=null!==(v=null===(d=null===(t=null===(i=o[l])||void 0===i?void 0:i.products)||void 0===t?void 0:t[n])||void 0===d?void 0:d.variants)&&void 0!==v?v:{};Object.keys(s).forEach((i=>{var t,d,v,s;const u=null===(s=null===(v=null===(d=null===(t=o[l])||void 0===t?void 0:t.products)||void 0===d?void 0:d[n])||void 0===v?void 0:v.variants)||void 0===s?void 0:s[i];u&&!u.fbStatus&&(u.fbStatus="APPROVED")}))}))})),l({type:n,data:o})},d=function(o,l,n,i,d){let v=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"paged";d||t(o,i,v);const s=(o=>{const l=[];return Object.keys(o).forEach((n=>{var i,t;const d=null!==(t=null===(i=o[n])||void 0===i?void 0:i.products)&&void 0!==t?t:{};Object.keys(d).forEach((i=>{var t,d,v,s;const u=null!==(s=null===(v=null===(d=null===(t=o[n])||void 0===t?void 0:t.products)||void 0===d?void 0:d[i])||void 0===v?void 0:v.variants)&&void 0!==s?s:{};Object.keys(u).forEach((t=>{var d,v,s,u;const c=null===(u=null===(s=null===(v=null===(d=o[n])||void 0===d?void 0:d.products)||void 0===v?void 0:v[i])||void 0===s?void 0:s.variants)||void 0===u?void 0:u[t];(null==c?void 0:c.fbStatus)||l.push(t)}))}))})),l})(o);s.length>0&&d&&d(l,s,n).then((l=>{const n=Object.assign({},o);Object.keys(n).forEach((o=>{var i,t;const d=null!==(t=null===(i=n[o])||void 0===i?void 0:i.products)&&void 0!==t?t:{};Object.keys(d).forEach((i=>{var t,d,v,s;const u=null!==(s=null===(v=null===(d=null===(t=n[o])||void 0===t?void 0:t.products)||void 0===d?void 0:d[i])||void 0===v?void 0:v.variants)&&void 0!==s?s:{};Object.keys(u).forEach((t=>{var d,v,s,u;const c=null===(u=null===(s=null===(v=null===(d=n[o])||void 0===d?void 0:d.products)||void 0===v?void 0:v[i])||void 0===s?void 0:s.variants)||void 0===u?void 0:u[t];c&&"REJECTED"===l[t]?c.fbStatus="REJECTED":c&&"APPROVED"===l[t]&&(c.fbStatus="APPROVED")}))}))})),i({type:v,data:n})})).catch((l=>{console.error("Error in fbStatusFetcher",l),t(o,i,v)}))},v=(o,l)=>{const n=[];return Object.keys(null!=o?o:{}).forEach((i=>{var t,d;const v=null!==(d=null===(t=null==o?void 0:o[i])||void 0===t?void 0:t.variants)&&void 0!==d?d:{};Object.keys(v).forEach((t=>{var d,v,s,u,c;let r;r=l?null===(s=null===(v=null===(d=null==l?void 0:l.products)||void 0===d?void 0:d[i])||void 0===v?void 0:v.variants)||void 0===s?void 0:s[t]:null===(c=null===(u=null==o?void 0:o[i])||void 0===u?void 0:u.variants)||void 0===c?void 0:c[t],(null==r?void 0:r.fbStatus)||n.push(t)}))})),n},s=(o,l,n,i,t)=>{const d=Object.assign({},o);if(Object.keys(o).forEach((l=>{var n,i;Object.keys(null!==(i=null===(n=null==o?void 0:o[l])||void 0===n?void 0:n.variants)&&void 0!==i?i:{}).forEach((n=>{var i,t;const v=null===(i=null==o?void 0:o[l].variants)||void 0===i?void 0:i[n];v&&(v.fbStatus="APPROVED");const s=null===(t=null==d?void 0:d[l])||void 0===t?void 0:t.variants;s&&s[n]&&(s[n]=v)}))})),i&&t){const o=Object.assign({},i);o.products=d,t(o),l({type:"productsPaged",data:{collectionId:n,products:d}})}else l({type:"productsPaged",data:{collectionId:n,products:d}})},u=o=>{const l=Object.keys(o.variants||[]);let n=!1;return!(l.length<=1)||(l.forEach((l=>{var i,t;n=null!==(t=null===(i=o.variants)||void 0===i?void 0:i[l].name.includes(o.name))&&void 0!==t&&t})),!n)},c=(o,l,n,i,t)=>{var d,v,s,u,c,r,a,e,p,b,O,f,j,h,y,g,E,k,P;let D=0,V=0;if(null===(v=null===(d=null==n?void 0:n[o])||void 0===d?void 0:d.products)||void 0===v?void 0:v[l]){if(t)return!1;const d=(null===(c=null===(u=null===(s=null==n?void 0:n[o])||void 0===s?void 0:s.products)||void 0===u?void 0:u[l])||void 0===c?void 0:c.variants)||[];if(1===Object.keys(d).length)for(const i in d){const t=null===(a=null===(r=null==n?void 0:n[o])||void 0===r?void 0:r.products)||void 0===a?void 0:a[l],d=null===(O=null===(b=null===(p=null===(e=null==n?void 0:n[o])||void 0===e?void 0:e.products)||void 0===p?void 0:p[l])||void 0===b?void 0:b.variants)||void 0===O?void 0:O[i];if(null===(f=null==d?void 0:d.name)||void 0===f?void 0:f.includes(null!==(j=null==t?void 0:t.name)&&void 0!==j?j:""))return!1}if(null===(g=Object.keys((null===(y=null===(h=null==i?void 0:i.products)||void 0===h?void 0:h[l])||void 0===y?void 0:y.variants)||[]))||void 0===g||g.forEach((()=>V++)),Object.keys((null===(P=null===(k=null===(E=null==n?void 0:n[o])||void 0===E?void 0:E.products)||void 0===k?void 0:k[l])||void 0===P?void 0:P.variants)||[]).forEach((()=>D++)),D>0&&V!==D)return!0}return!1},r=function(o,l,n){var i,t,d,v;let s=0,u=0;if(arguments.length>3&&void 0!==arguments[3]&&arguments[3]){const v=null!==(i=null==l?void 0:l.products)&&void 0!==i?i:{};s=Object.keys(v).length;const c=null!==(d=null===(t=n[o])||void 0===t?void 0:t.products)&&void 0!==d?d:{};u=Object.keys(c).length}else if(n[o]){const i=null==l?void 0:l.products;i&&Object.keys(i).forEach((o=>{var l;const n=null===(l=i[o])||void 0===l?void 0:l.variants;n&&Object.keys(n).forEach((o=>s+=1))}));const t=null===(v=n[o])||void 0===v?void 0:v.products;if(t&&Object.keys(t).forEach((o=>{var l;const n=null===(l=t[o])||void 0===l?void 0:l.variants;n&&Object.keys(n).forEach((o=>u+=1))})),s<=0&&u>0)return!1}return u>0&&s!==u},a=(l,n,i)=>Object.keys(l).reduce(((t,d)=>{var v;return d in n?(t[d]=Object.assign(Object.assign({},l[d]),{products:Object.keys(null!==(v=l[d].products)&&void 0!==v?v:{}).reduce(((t,v)=>{var s,u,c,r,a,e,p,b,O,f;const j=null===(s=n[d].products)||void 0===s?void 0:s[v],h=null===(r=null===(c=null===(u=null==i?void 0:i.products)||void 0===u?void 0:u[d])||void 0===c?void 0:c.products)||void 0===r?void 0:r[v];return j?t[v]=Object.assign(Object.assign({},(null===(a=l[d].products)||void 0===a?void 0:a[v])||{}),{allVariants:o(j.variants)}):h?t[v]=Object.assign(Object.assign({},(null===(e=l[d].products)||void 0===e?void 0:e[v])||{}),{allVariants:o(h.variants)}):(null===(b=null===(p=l[d].products)||void 0===p?void 0:p[v])||void 0===b?void 0:b.allVariants)&&(t[v]=Object.assign(Object.assign({},(null===(O=l[d].products)||void 0===O?void 0:O[v])||{}),{allVariants:o(null===(f=l[d].products)||void 0===f?void 0:f[v].allVariants)})),t}),{})}),t):t}),{}),e=(o,l)=>{var n;if(l)return o.skuId;const i=Object.values(null!==(n=null==o?void 0:o.variants)&&void 0!==n?n:{});return 1===i.length&&i[0].name.includes(o.name)?i[0].skuId:""};export{d as fetchFbStatusCollection,e as getSkuId,v as getVariantIdsToFetchAtProductLevel,r as isCollectionPartiallyChecked,c as isProductPartiallyChecked,l as liftTheStateUp,s as markVariantsAsApprovedProductsLevel,n as paginateSelectedItems,u as shouldShowVariant,a as updateAllVariantsForSelectedProducts};
@@ -1,16 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { ProductVariant } from './modal';
3
- import { SelectedCollectionsActions } from './reducers';
4
- import { OUT_OF_STOCK_ACTION } from './type';
5
- /**
6
- * Extended type from Product Variant, which contains ids and name.
7
- */
8
- export type ProductVariantForRearrange = ProductVariant & {
9
- variantId: string;
10
- productId: string;
11
- collectionId: string;
12
- productName: string;
13
- };
2
+ import type { SelectedCollectionsActions } from './reducers';
3
+ import { OUT_OF_STOCK_ACTION, type ProductVariantForRearrange } from './type';
14
4
  /**
15
5
  * Props type for variant card in rearrange screen
16
6
  */
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { SelectedCollectionsActions } from './reducers';
3
- import { OUT_OF_STOCK_ACTION } from './type';
4
- import { ProductVariantForRearrange } from './variant';
2
+ import type { SelectedCollectionsActions } from './reducers';
3
+ import { OUT_OF_STOCK_ACTION, type ProductVariantForRearrange } from './type';
5
4
  /**
6
5
  * Props for list of variants - applicable both in list and grid view
7
6
  */
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useState as a}from"react";import{Droppable as t,Draggable as s}from"react-beautiful-dnd";import{COLORS as n}from"../../constants/Theme.js";import{VariantCardListView as d,VariantCardGridView as i}from"./variant.js";const o=i=>{let{selectedVariants:o,setSelectedVariants:l,selectedCollectionsDispatch:c,outOfStockAction:p}=i;const[g,b]=a(-1);function f(e){if(null==e?void 0:e.transform){const r=`translate(0px, ${e.transform.split(",").pop()}`;return Object.assign(Object.assign({},e),{transform:r})}return e}return e(t,Object.assign({droppableId:"droppable-list"},{children:(a,t)=>r("div",Object.assign({},a.droppableProps,{ref:a.innerRef,style:Object.assign({backgroundColor:n.surface.subdued,padding:"0.05px",height:o.length<8?"550px":"100%",overflow:"auto"},a.droppableProps.style)},{children:[o.map(((r,a)=>e("div",Object.assign({style:{background:n.surface.hovered,margin:"5px",boxShadow:a===g?"0px 4px 12px rgba(0, 0, 0, 0.12)":""},onMouseEnter:()=>b(a),onMouseLeave:()=>b(-1)},{children:e(s,Object.assign({draggableId:`${r.productId}-${r.variantId}`,index:a},{children:(t,s)=>e("div",Object.assign({ref:t.innerRef},t.draggableProps,t.dragHandleProps,{style:f(Object.assign(Object.assign({},t.draggableProps.style),t.draggableSnapshot))},{children:e(d,{data:r,selectedCollectionsDispatch:c,onDelete:()=>{const e=o.slice();e[a].displayOrder=null,e.splice(a,1),l(e)},outOfStockAction:p},`${r.productId}-${r.variantId}`)}))}),`${r.productId}-${r.variantId}`)}),`${r.productId}-${r.variantId}`))),a.placeholder&&t.isDraggingOver?e("div",Object.assign({style:{background:n.surface.hovered,margin:"5px"}},{children:a.placeholder})):null]}))}))},l=a=>{let{selectedVariants:n}=a;return e(t,Object.assign({droppableId:"droppable-horizontal"},{children:a=>r("div",Object.assign({},a.droppableProps,{ref:a.innerRef,style:Object.assign(Object.assign({},a.droppableProps.style),{display:"flex"})},{children:[e(t,Object.assign({droppableId:"droppable-vertical",direction:"horizontal"},{children:a=>r("div",Object.assign({},a.droppableProps,{ref:a.innerRef,style:Object.assign(Object.assign({},a.droppableProps.style),{display:"flex",flexWrap:"wrap",flexDirection:"row"})},{children:[n.map(((a,t)=>e(s,Object.assign({draggableId:`${a.productId}-${a.variantId}`,index:t},{children:(t,s)=>r("div",Object.assign({ref:t.innerRef},t.draggableProps,t.dragHandleProps,{children:[e(i,{data:a}),t.placeholder]}))}),`${a.productId}-${a.variantId}`))),a.placeholder]}))})),a.placeholder]}))}))};export{l as VariantsGrid,o as VariantsList};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Droppable as a,Draggable as t}from"@hello-pangea/dnd";import{useState as n}from"react";import{COLORS as d}from"../../constants/Theme.js";import{VariantCardListView as s,VariantCardGridView as i}from"./variant.js";const o=i=>{let{selectedVariants:o,setSelectedVariants:l,selectedCollectionsDispatch:c,outOfStockAction:p}=i;const[g,b]=n(-1);function f(e){if(null==e?void 0:e.transform){const r=`translate(0px, ${e.transform.split(",").pop()}`;return Object.assign(Object.assign({},e),{transform:r})}return e}return e(a,Object.assign({droppableId:"droppable-list"},{children:(a,n)=>r("div",Object.assign({},a.droppableProps,{ref:a.innerRef,style:Object.assign({backgroundColor:d.surface.subdued,padding:"0.05px",height:o.length<8?"550px":"100%",overflow:"auto"},a.droppableProps.style)},{children:[o.map(((r,a)=>e("div",Object.assign({style:{background:d.surface.hovered,margin:"5px",boxShadow:a===g?"0px 4px 12px rgba(0, 0, 0, 0.12)":""},onMouseEnter:()=>b(a),onMouseLeave:()=>b(-1)},{children:e(t,Object.assign({draggableId:`${r.productId}-${r.variantId}`,index:a},{children:(t,n)=>e("div",Object.assign({ref:t.innerRef},t.draggableProps,t.dragHandleProps,{style:f(Object.assign(Object.assign({},t.draggableProps.style),t.draggableSnapshot))},{children:e(s,{data:r,selectedCollectionsDispatch:c,onDelete:()=>{const e=o.slice();e[a].displayOrder=null,e.splice(a,1),l(e)},outOfStockAction:p},`${r.productId}-${r.variantId}`)}))}),`${r.productId}-${r.variantId}`)}),`${r.productId}-${r.variantId}`))),a.placeholder&&n.isDraggingOver?e("div",Object.assign({style:{background:d.surface.hovered,margin:"5px"}},{children:a.placeholder})):null]}))}))},l=n=>{let{selectedVariants:d}=n;return e(a,Object.assign({droppableId:"droppable-horizontal"},{children:n=>r("div",Object.assign({},n.droppableProps,{ref:n.innerRef,style:{display:"flex"}},{children:[e(a,Object.assign({droppableId:"droppable-vertical",direction:"horizontal"},{children:a=>r("div",Object.assign({},a.droppableProps,{ref:a.innerRef,style:{display:"flex",flexWrap:"wrap",flexDirection:"row"}},{children:[d.map(((a,n)=>e(t,Object.assign({draggableId:`${a.productId}-${a.variantId}`,index:n},{children:(t,n)=>r("div",Object.assign({ref:t.innerRef},t.draggableProps,t.dragHandleProps,{children:[e(i,{data:a}),t.placeholder]}))}),`${a.productId}-${a.variantId}`))),a.placeholder]}))})),n.placeholder]}))}))};export{l as VariantsGrid,o as VariantsList};
@@ -1,18 +1,3 @@
1
1
  /// <reference types="react" />
2
- export type Color = 'primary' | 'secondary' | 'success' | 'error' | 'warn';
3
- export type Variant = 'solid' | 'outline' | 'text';
4
- export interface SampleButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
5
- /**
6
- * The color of the Button.
7
- *
8
- * @default 'primary'
9
- */
10
- color?: Color;
11
- /**
12
- * The visual style of the Button.
13
- *
14
- * @default 'solid'
15
- */
16
- variant?: Variant;
17
- }
2
+ import { SampleButtonProps } from './SampleButton.model';
18
3
  export declare const SampleButton: import("react").ForwardRefExoticComponent<SampleButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ export type Color = 'primary' | 'secondary' | 'success' | 'error' | 'warn';
3
+ export type Variant = 'solid' | 'outline' | 'text';
4
+ export interface SampleButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
5
+ /**
6
+ * The color of the Button.
7
+ *
8
+ * @default 'primary'
9
+ */
10
+ color?: Color;
11
+ /**
12
+ * The visual style of the Button.
13
+ *
14
+ * @default 'solid'
15
+ */
16
+ variant?: Variant;
17
+ }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type { Color, Variant } from './SampleButton';
2
+ import type { Color, Variant } from './SampleButton.model';
3
3
  export declare const SampleButton: import("@emotion/styled").StyledComponent<{
4
4
  theme?: import("@emotion/react").Theme | undefined;
5
5
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
@@ -1,2 +1,2 @@
1
- import type { Color, Variant } from './SampleButton';
1
+ import type { Color, Variant } from './SampleButton.model';
2
2
  export declare function getTheme(color: Color, variant: Variant): import("@emotion/utils").SerializedStyles;
@@ -1,5 +1,5 @@
1
1
  import { ButtonProps } from '../button/model';
2
- import { InputVariant } from '../input/Input';
2
+ import { InputVariant } from '../input/Input.model';
3
3
  export interface SearchBarProps {
4
4
  width: string;
5
5
  isEnabled: boolean;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as a,useEffect as r,useCallback as o}from"react";import{COLORS as s}from"../../constants/Theme.js";const i=i=>{let{min:l=0,max:c=100,defaultValue:u,onChange:b,step:d=1,disabled:m=!1}=i;const g=void 0!==u?u:l,[h,p]=n(g),[x,f]=n(!1),[v,w]=n(!1),[k,j]=n(!1),E=a(null),O=a(null),L=(e=>({container:{position:"relative",marginTop:"30px",height:"8px",width:"100%",cursor:e?"not-allowed":"pointer",opacity:e?.5:1},track:{position:"absolute",top:0,left:0,right:0,height:"8px",backgroundColor:"#E0E0E0",borderRadius:"4px"},filledTrack:{position:"absolute",top:0,left:0,height:"8px",backgroundColor:s.background.brand,borderRadius:"4px",transition:"width 0.1s ease"},thumb:{position:"absolute",top:"50%",width:"24px",height:"24px",backgroundColor:s.background.brand,border:`2px solid ${s.background.brand}`,borderRadius:"50%",transform:"translate(-50%, -50%)",cursor:e?"not-allowed":"grab",transition:"box-shadow 0.2s ease",outline:"none",zIndex:1},thumbDisabled:{cursor:"not-allowed"},valueLabel:{position:"absolute",bottom:"100%",left:"50%",marginBottom:"16px",width:"32px",height:"32px",backgroundColor:s.background.brand,borderRadius:"50% 50% 50% 0",transform:"translate(0, 0) rotate(-45deg) scale(0)",transformOrigin:"bottom left",transition:"transform 0.2s ease",pointerEvents:"none",display:"flex",alignItems:"center",justifyContent:"center"},valueLabelVisible:{transform:"translate(0, 0) rotate(-45deg) scale(1)"},valueLabelText:{transform:"rotate(45deg)",color:"white",fontSize:"12px",lineHeight:1.2,fontWeight:500}}))(m);r((()=>{p(void 0!==u?u:l)}),[u,l]);const M=o((e=>{if(!E.current)return l;const t=E.current.getBoundingClientRect(),n=Math.max(0,Math.min(1,(e-t.left)/t.width)),a=l+n*(c-l),r=Math.round(a/d)*d;return Math.max(l,Math.min(c,r))}),[l,c,d]),y=o((e=>{if(m)return;e.preventDefault(),f(!0),j(!0);const t=M(e.clientX);p(t);const n=new Event("change",{bubbles:!0});b(n,t)}),[m,M,b]),C=o((e=>{if(!x||m)return;const t=M(e.clientX);p(t);const n=new Event("change",{bubbles:!0});b(n,t)}),[x,m,M,b]),D=o((()=>{f(!1),j(!1)}),[]),R=o((e=>{if(m)return;let t=h;switch(e.key){case"ArrowLeft":case"ArrowDown":t=Math.max(l,h-d);break;case"ArrowRight":case"ArrowUp":t=Math.min(c,h+d);break;case"Home":t=l;break;case"End":t=c;break;default:return}e.preventDefault(),p(t);const n=new Event("change",{bubbles:!0});b(n,t)}),[m,h,l,c,d,b]);r((()=>{if(x)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",D),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",D)}}),[x,C,D]);const T=(h-l)/(c-l)*100,A=isNaN(T)?0:Math.max(0,Math.min(100,T));return e("div",Object.assign({ref:E,style:L.container,onMouseDown:y,role:"slider","aria-label":"bik slider","aria-valuemin":l,"aria-valuemax":c,"aria-valuenow":h,tabIndex:m?-1:0,onKeyDown:R},{children:[t("div",{style:L.track}),t("div",{style:Object.assign(Object.assign({},L.filledTrack),{width:`${A}%`})}),t("div",Object.assign({ref:O,style:(()=>{const e=Object.assign({},L.thumb);return m?Object.assign(Object.assign({},e),L.thumbDisabled):(x?(e.boxShadow="0px 0px 0px 8px rgba(115, 29, 207, 0.5)",e.cursor="grabbing"):v&&(e.boxShadow="0px 0px 0px 8px rgba(115, 29, 207, 0.08)"),e.left=`${A}%`,e)})(),onMouseEnter:()=>!m&&w(!0),onMouseLeave:()=>!m&&w(!1),onFocus:()=>!m&&j(!0),onBlur:()=>!m&&j(!1)},{children:t("div",Object.assign({style:(()=>{const e=Object.assign({},L.valueLabel);return k||v?Object.assign(Object.assign({},e),L.valueLabelVisible):e})()},{children:t("span",Object.assign({style:L.valueLabelText},{children:h}))}))}))]}))};export{i as BikSlider};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as a,useMemo as r,useEffect as o,useCallback as i}from"react";import{COLORS as s}from"../../constants/Theme.js";const l=l=>{let{min:b=0,max:u=100,defaultValue:d,onChange:c,step:g=1,disabled:h=!1}=l;const m=void 0!==d?d:b,[p,x]=n(m),[f,v]=n(!1),[w,k]=n(!1),[j,L]=n(!1),E=a(null),O=a(null),M=r((()=>(e=>({container:{position:"relative",marginTop:"30px",height:"8px",width:"100%",cursor:e?"not-allowed":"pointer",opacity:e?.5:1},track:{position:"absolute",top:0,left:0,right:0,height:"8px",backgroundColor:"#E0E0E0",borderRadius:"4px"},filledTrack:{position:"absolute",top:0,left:0,height:"8px",backgroundColor:s.background.brand,borderRadius:"4px",transition:"width 0.1s ease"},filledTrackDragging:{position:"absolute",top:0,left:0,height:"8px",backgroundColor:s.background.brand,borderRadius:"4px",transition:"none"},thumb:{position:"absolute",top:"50%",width:"24px",height:"24px",backgroundColor:s.background.brand,border:`2px solid ${s.background.brand}`,borderRadius:"50%",transform:"translate(-50%, -50%)",cursor:e?"not-allowed":"grab",transition:"box-shadow 0.2s ease",outline:"none",zIndex:1},thumbDisabled:{cursor:"not-allowed"},valueLabel:{position:"absolute",bottom:"100%",left:"50%",marginBottom:"16px",width:"32px",height:"32px",backgroundColor:s.background.brand,borderRadius:"50% 50% 50% 0",transform:"translate(0, 0) rotate(-45deg) scale(0)",transformOrigin:"bottom left",transition:"transform 0.2s ease",pointerEvents:"none",display:"flex",alignItems:"center",justifyContent:"center"},valueLabelVisible:{transform:"translate(0, 0) rotate(-45deg) scale(1)"},valueLabelText:{transform:"rotate(45deg)",color:"white",fontSize:"12px",lineHeight:1.2,fontWeight:500}}))(h)),[h]);o((()=>{x(void 0!==d?d:b)}),[d,b]);const y=i((e=>{if(!E.current)return b;const t=E.current.getBoundingClientRect(),n=Math.max(0,Math.min(1,(e-t.left)/t.width)),a=b+n*(u-b),r=Math.round(a/g)*g;return Math.max(b,Math.min(u,r))}),[b,u,g]),D=i((e=>{if(h)return;e.preventDefault(),v(!0),L(!0);const t=y(e.clientX);x(t);const n=new Event("change",{bubbles:!0});c(n,t)}),[h,y,c]),C=i((e=>{if(!f||h)return;const t=y(e.clientX);x(t);const n=new Event("change",{bubbles:!0});c(n,t)}),[f,h,y,c]),T=i((()=>{v(!1),L(!1)}),[]),R=i((e=>{if(h)return;let t=p;switch(e.key){case"ArrowLeft":case"ArrowDown":t=Math.max(b,p-g);break;case"ArrowRight":case"ArrowUp":t=Math.min(u,p+g);break;case"Home":t=b;break;case"End":t=u;break;default:return}e.preventDefault(),x(t);const n=new Event("change",{bubbles:!0});c(n,t)}),[h,p,b,u,g,c]);o((()=>{if(f)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",T),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",T)}}),[f,C,T]);const A=(p-b)/(u-b)*100,V=isNaN(A)?0:Math.max(0,Math.min(100,A)),B=r((()=>{const e=Object.assign({},M.thumb);return h?Object.assign(Object.assign({},e),M.thumbDisabled):(f?(e.boxShadow="0px 0px 0px 8px rgba(115, 29, 207, 0.5)",e.cursor="grabbing"):w&&(e.boxShadow="0px 0px 0px 8px rgba(115, 29, 207, 0.08)"),e.left=`${V}%`,e)}),[M.thumb,M.thumbDisabled,h,f,w,V]),I=r((()=>{const e=Object.assign({},M.valueLabel);return j||w?Object.assign(Object.assign({},e),M.valueLabelVisible):e}),[M.valueLabel,M.valueLabelVisible,j,w]);return e("div",Object.assign({ref:E,style:M.container,onMouseDown:D,role:"slider","aria-label":"bik slider","aria-valuemin":b,"aria-valuemax":u,"aria-valuenow":p,tabIndex:h?-1:0,onKeyDown:R},{children:[t("div",{style:M.track}),t("div",{style:Object.assign(Object.assign({},f?M.filledTrackDragging:M.filledTrack),{width:`${V}%`})}),t("div",Object.assign({ref:O,style:B,onMouseEnter:()=>!h&&k(!0),onMouseLeave:()=>!h&&k(!1),onFocus:()=>!h&&L(!0),onBlur:()=>!h&&L(!1)},{children:t("div",Object.assign({style:I},{children:t("span",Object.assign({style:M.valueLabelText},{children:p}))}))}))]}))};export{l as BikSlider};