@redneckz/wildless-cms-uni-blocks 0.14.675 → 0.14.677

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 (243) hide show
  1. package/bundle/EventBus/EventBus.d.ts +1 -8
  2. package/bundle/EventBus/defaultEventBus.d.ts +0 -9
  3. package/bundle/api/RetailAPI/updateRefreshToken.d.ts +1 -1
  4. package/bundle/bundle.umd.js +420 -143
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/hooks/useLocation.d.ts +4 -1
  7. package/bundle/hooks/useNavigator.d.ts +8 -0
  8. package/bundle/index.d.ts +1 -0
  9. package/bundle/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  10. package/dist/EventBus/EventBus.d.ts +1 -8
  11. package/dist/EventBus/EventBus.js +2 -28
  12. package/dist/EventBus/EventBus.js.map +1 -1
  13. package/dist/EventBus/defaultEventBus.d.ts +0 -9
  14. package/dist/EventBus/defaultEventBus.js.map +1 -1
  15. package/dist/api/RetailAPI/updateRefreshToken.d.ts +1 -1
  16. package/dist/api/RetailAPI/updateRefreshToken.js +6 -10
  17. package/dist/api/RetailAPI/updateRefreshToken.js.map +1 -1
  18. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  19. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  20. package/dist/components/ContentPage/ContentPage.js +2 -0
  21. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  22. package/dist/components/CreditCardForm/CreditCardForm.js +4 -1
  23. package/dist/components/CreditCardForm/CreditCardForm.js.map +1 -1
  24. package/dist/components/CreditForm/CreditForm.js +4 -1
  25. package/dist/components/CreditForm/CreditForm.js.map +1 -1
  26. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  27. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  28. package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  29. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  30. package/dist/components/OfficesAtmsMap/AtmsMap.js +1 -1
  31. package/dist/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  32. package/dist/components/OfficesAtmsMap/OfficesMap.js +1 -1
  33. package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  34. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  35. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  36. package/dist/hooks/useLocation.d.ts +4 -1
  37. package/dist/hooks/useLocation.js +16 -34
  38. package/dist/hooks/useLocation.js.map +1 -1
  39. package/dist/hooks/useNavigator.d.ts +8 -0
  40. package/dist/hooks/useNavigator.js +13 -0
  41. package/dist/hooks/useNavigator.js.map +1 -0
  42. package/dist/hooks/useRegions.js +3 -1
  43. package/dist/hooks/useRegions.js.map +1 -1
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.js +3 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/ui-kit/DialogManager/useDialogsList.js +3 -0
  48. package/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  49. package/dist/ui-kit/LocationDialog/LocationDialog.js +11 -14
  50. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  51. package/dist/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  52. package/dist/ui-kit/LocationDialog/SelectedLocation.js +15 -0
  53. package/dist/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  54. package/dist/ui-kit/PopupManager/PopupManager.js +3 -0
  55. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  56. package/lib/EventBus/EventBus.d.ts +1 -8
  57. package/lib/EventBus/EventBus.js +1 -27
  58. package/lib/EventBus/EventBus.js.map +1 -1
  59. package/lib/EventBus/defaultEventBus.d.ts +0 -9
  60. package/lib/EventBus/defaultEventBus.js.map +1 -1
  61. package/lib/api/RetailAPI/updateRefreshToken.d.ts +1 -1
  62. package/lib/api/RetailAPI/updateRefreshToken.js +6 -10
  63. package/lib/api/RetailAPI/updateRefreshToken.js.map +1 -1
  64. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  65. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  66. package/lib/components/ContentPage/ContentPage.js +2 -0
  67. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  68. package/lib/components/CreditCardForm/CreditCardForm.js +4 -1
  69. package/lib/components/CreditCardForm/CreditCardForm.js.map +1 -1
  70. package/lib/components/CreditForm/CreditForm.js +4 -1
  71. package/lib/components/CreditForm/CreditForm.js.map +1 -1
  72. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  73. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  74. package/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  75. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  76. package/lib/components/OfficesAtmsMap/AtmsMap.js +1 -1
  77. package/lib/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  78. package/lib/components/OfficesAtmsMap/OfficesMap.js +1 -1
  79. package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  80. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  81. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  82. package/lib/hooks/useLocation.d.ts +4 -1
  83. package/lib/hooks/useLocation.js +15 -34
  84. package/lib/hooks/useLocation.js.map +1 -1
  85. package/lib/hooks/useNavigator.d.ts +8 -0
  86. package/lib/hooks/useNavigator.js +10 -0
  87. package/lib/hooks/useNavigator.js.map +1 -0
  88. package/lib/hooks/useRegions.js +3 -1
  89. package/lib/hooks/useRegions.js.map +1 -1
  90. package/lib/index.d.ts +1 -0
  91. package/lib/index.js +1 -0
  92. package/lib/index.js.map +1 -1
  93. package/lib/ui-kit/DialogManager/useDialogsList.js +3 -0
  94. package/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  95. package/lib/ui-kit/LocationDialog/LocationDialog.js +13 -16
  96. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  97. package/lib/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  98. package/lib/ui-kit/LocationDialog/SelectedLocation.js +13 -0
  99. package/lib/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  100. package/lib/ui-kit/PopupManager/PopupManager.js +3 -0
  101. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  102. package/mobile/bundle/EventBus/EventBus.d.ts +1 -8
  103. package/mobile/bundle/EventBus/defaultEventBus.d.ts +0 -9
  104. package/mobile/bundle/api/RetailAPI/updateRefreshToken.d.ts +1 -1
  105. package/mobile/bundle/bundle.umd.js +420 -143
  106. package/mobile/bundle/bundle.umd.min.js +1 -1
  107. package/mobile/bundle/hooks/useLocation.d.ts +4 -1
  108. package/mobile/bundle/hooks/useNavigator.d.ts +8 -0
  109. package/mobile/bundle/index.d.ts +1 -0
  110. package/mobile/bundle/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  111. package/mobile/dist/EventBus/EventBus.d.ts +1 -8
  112. package/mobile/dist/EventBus/EventBus.js +2 -28
  113. package/mobile/dist/EventBus/EventBus.js.map +1 -1
  114. package/mobile/dist/EventBus/defaultEventBus.d.ts +0 -9
  115. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -1
  116. package/mobile/dist/api/RetailAPI/updateRefreshToken.d.ts +1 -1
  117. package/mobile/dist/api/RetailAPI/updateRefreshToken.js +6 -10
  118. package/mobile/dist/api/RetailAPI/updateRefreshToken.js.map +1 -1
  119. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  120. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  121. package/mobile/dist/components/ContentPage/ContentPage.js +2 -0
  122. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  123. package/mobile/dist/components/CreditCardForm/CreditCardForm.js +4 -1
  124. package/mobile/dist/components/CreditCardForm/CreditCardForm.js.map +1 -1
  125. package/mobile/dist/components/CreditForm/CreditForm.js +4 -1
  126. package/mobile/dist/components/CreditForm/CreditForm.js.map +1 -1
  127. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  128. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  129. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  130. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  131. package/mobile/dist/components/OfficesAtmsMap/AtmsMap.js +1 -1
  132. package/mobile/dist/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  133. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +1 -1
  134. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  135. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  136. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  137. package/mobile/dist/hooks/useLocation.d.ts +4 -1
  138. package/mobile/dist/hooks/useLocation.js +16 -34
  139. package/mobile/dist/hooks/useLocation.js.map +1 -1
  140. package/mobile/dist/hooks/useNavigator.d.ts +8 -0
  141. package/mobile/dist/hooks/useNavigator.js +13 -0
  142. package/mobile/dist/hooks/useNavigator.js.map +1 -0
  143. package/mobile/dist/hooks/useRegions.js +3 -1
  144. package/mobile/dist/hooks/useRegions.js.map +1 -1
  145. package/mobile/dist/index.d.ts +1 -0
  146. package/mobile/dist/index.js +3 -1
  147. package/mobile/dist/index.js.map +1 -1
  148. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js +3 -0
  149. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  150. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +11 -14
  151. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  152. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  153. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.js +15 -0
  154. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  155. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +3 -0
  156. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  157. package/mobile/lib/EventBus/EventBus.d.ts +1 -8
  158. package/mobile/lib/EventBus/EventBus.js +1 -27
  159. package/mobile/lib/EventBus/EventBus.js.map +1 -1
  160. package/mobile/lib/EventBus/defaultEventBus.d.ts +0 -9
  161. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -1
  162. package/mobile/lib/api/RetailAPI/updateRefreshToken.d.ts +1 -1
  163. package/mobile/lib/api/RetailAPI/updateRefreshToken.js +6 -10
  164. package/mobile/lib/api/RetailAPI/updateRefreshToken.js.map +1 -1
  165. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  166. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  167. package/mobile/lib/components/ContentPage/ContentPage.js +2 -0
  168. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  169. package/mobile/lib/components/CreditCardForm/CreditCardForm.js +4 -1
  170. package/mobile/lib/components/CreditCardForm/CreditCardForm.js.map +1 -1
  171. package/mobile/lib/components/CreditForm/CreditForm.js +4 -1
  172. package/mobile/lib/components/CreditForm/CreditForm.js.map +1 -1
  173. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  174. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  175. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  176. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  177. package/mobile/lib/components/OfficesAtmsMap/AtmsMap.js +1 -1
  178. package/mobile/lib/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  179. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +1 -1
  180. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  181. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  182. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  183. package/mobile/lib/hooks/useLocation.d.ts +4 -1
  184. package/mobile/lib/hooks/useLocation.js +15 -34
  185. package/mobile/lib/hooks/useLocation.js.map +1 -1
  186. package/mobile/lib/hooks/useNavigator.d.ts +8 -0
  187. package/mobile/lib/hooks/useNavigator.js +10 -0
  188. package/mobile/lib/hooks/useNavigator.js.map +1 -0
  189. package/mobile/lib/hooks/useRegions.js +3 -1
  190. package/mobile/lib/hooks/useRegions.js.map +1 -1
  191. package/mobile/lib/index.d.ts +1 -0
  192. package/mobile/lib/index.js +1 -0
  193. package/mobile/lib/index.js.map +1 -1
  194. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js +3 -0
  195. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  196. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +13 -16
  197. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  198. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  199. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.js +13 -0
  200. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  201. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +3 -0
  202. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  203. package/mobile/src/EventBus/EventBus.ts +1 -36
  204. package/mobile/src/EventBus/defaultEventBus.ts +0 -10
  205. package/mobile/src/api/RetailAPI/updateRefreshToken.ts +6 -12
  206. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  207. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -0
  208. package/mobile/src/components/CreditCardForm/CreditCardForm.tsx +6 -1
  209. package/mobile/src/components/CreditForm/CreditForm.tsx +6 -1
  210. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  211. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +1 -1
  212. package/mobile/src/components/OfficesAtmsMap/AtmsMap.tsx +1 -1
  213. package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +1 -1
  214. package/mobile/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +1 -1
  215. package/mobile/src/hooks/useLocation.ts +25 -47
  216. package/mobile/src/hooks/useNavigator.ts +15 -0
  217. package/mobile/src/hooks/useRegions.ts +4 -1
  218. package/mobile/src/index.ts +1 -0
  219. package/mobile/src/ui-kit/DialogManager/useDialogsList.ts +3 -0
  220. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +22 -28
  221. package/mobile/src/ui-kit/LocationDialog/SelectedLocation.tsx +27 -0
  222. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +3 -0
  223. package/package.json +5 -5
  224. package/src/EventBus/EventBus.ts +1 -36
  225. package/src/EventBus/defaultEventBus.ts +0 -10
  226. package/src/api/RetailAPI/updateRefreshToken.ts +6 -12
  227. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  228. package/src/components/ContentPage/ContentPage.tsx +2 -0
  229. package/src/components/CreditCardForm/CreditCardForm.tsx +6 -1
  230. package/src/components/CreditForm/CreditForm.tsx +6 -1
  231. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  232. package/src/components/Header/HeaderSecondaryMenu.tsx +1 -1
  233. package/src/components/OfficesAtmsMap/AtmsMap.tsx +1 -1
  234. package/src/components/OfficesAtmsMap/OfficesMap.tsx +1 -1
  235. package/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +1 -1
  236. package/src/hooks/useLocation.ts +25 -47
  237. package/src/hooks/useNavigator.ts +15 -0
  238. package/src/hooks/useRegions.ts +4 -1
  239. package/src/index.ts +1 -0
  240. package/src/ui-kit/DialogManager/useDialogsList.ts +3 -0
  241. package/src/ui-kit/LocationDialog/LocationDialog.tsx +22 -28
  242. package/src/ui-kit/LocationDialog/SelectedLocation.tsx +27 -0
  243. package/src/ui-kit/PopupManager/PopupManager.tsx +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useLocation.js","sourceRoot":"","sources":["../../src/hooks/useLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAG/E,MAAM,UAAU,GAAG,GAAG,YAAY,SAAS,CAAC;AAC5C,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,eAAe,GAAG,QAAQ;IACpD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,cAAc,CAC3D,eAAe,EACf,UAAU,EACV,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAC/C,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE;QACtD,aAAa,CAAC,CAAC,CAAC,CAAC;QACjB,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EACvC,eAA8C,CAC/C,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAChC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CAAC,eAAe,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEhG,MAAM,eAAe,GAAG,GAAkB,EAAE;IAC1C,IAAI;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEpE,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACjC;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE;IAClC,IAAI;QACF,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3E;IAAC,OAAO,EAAE,EAAE;QACX,aAAa;KACd;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"useLocation.js","sourceRoot":"","sources":["../../src/hooks/useLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,UAAU,GAAG,GAAG,YAAY,SAAS,CAAC;AAM5C,MAAM,UAAU,WAAW,CAAC,eAAe,GAAG,QAAQ;IACpD,MAAM,aAAa,GAAG,aAAa,EAAiB,CAAC;IAErD,OAAO,aAAa,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,eAAe,GAAG,QAAQ;IAC3D,MAAM,aAAa,GAAG,aAAa,EAAiB,CAAC;IAErD,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAS,UAAU,CAAC,CAAC;YACnD,aAAa,CAAC,QAAQ,GAAG,MAAM,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;SAC9D;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAErC,YAAY,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE5C,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface Navigator {
2
+ assign: (url: string) => void;
3
+ }
4
+ export declare function useNavigator(): Navigator;
5
+ export declare namespace useNavigator {
6
+ var _impl: () => Navigator;
7
+ var setup: (impl: () => Navigator) => void;
8
+ }
@@ -0,0 +1,10 @@
1
+ export function useNavigator() {
2
+ return useNavigator._impl();
3
+ }
4
+ useNavigator._impl = () => ({
5
+ assign: (url) => globalThis.location.assign(url),
6
+ });
7
+ useNavigator.setup = (impl) => {
8
+ useNavigator._impl = impl;
9
+ };
10
+ //# sourceMappingURL=useNavigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNavigator.js","sourceRoot":"","sources":["../../src/hooks/useNavigator.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,YAAY,CAAC,KAAK,GAAG,GAAc,EAAE,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;CACjD,CAAC,CAAC;AAEH,YAAY,CAAC,KAAK,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC7C,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;AAC5B,CAAC,CAAC"}
@@ -2,8 +2,10 @@ import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
2
2
  import { API_BASE_URI } from '../api/apiBaseUrl.js';
3
3
  import { fetchJSONUnsafe } from '../utils/fetchJSON.js';
4
4
  const REGIONS_URL = `${API_BASE_URI}/regions`;
5
+ const EMPTY_REGIONS = [];
6
+ // TODO Почему url можно менять? Разве смысл не в инкапсуляции api url. Тоже под рефакторинг попадает
5
7
  export function useRegions(url = REGIONS_URL) {
6
8
  const { data } = useAsyncData(url, fetchJSONUnsafe);
7
- return Array.isArray(data) ? data : [];
9
+ return Array.isArray(data) ? data : EMPTY_REGIONS;
8
10
  }
9
11
  //# sourceMappingURL=useRegions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRegions.js","sourceRoot":"","sources":["../../src/hooks/useRegions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAE/E,MAAM,WAAW,GAAG,GAAG,YAAY,UAAU,CAAC;AAY9C,MAAM,UAAU,UAAU,CAAC,MAAc,WAAW;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,eAAgD,CAAC,CAAC;IAErF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"useRegions.js","sourceRoot":"","sources":["../../src/hooks/useRegions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAE/E,MAAM,WAAW,GAAG,GAAG,YAAY,UAAU,CAAC;AAY9C,MAAM,aAAa,GAAa,EAAE,CAAC;AAEnC,qGAAqG;AACrG,MAAM,UAAU,UAAU,CAAC,MAAc,WAAW;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,eAAgD,CAAC,CAAC;IAErF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;AACpD,CAAC"}
@@ -3,6 +3,7 @@ export { setup } from '@redneckz/uni-jsx/lib/setup';
3
3
  export { Blocks } from './components/Blocks';
4
4
  export { ContentPage } from './components/ContentPage/ContentPage';
5
5
  export { handlerDecorator } from './hooks/handlerDecorator';
6
+ export { useNavigator } from './hooks/useNavigator';
6
7
  export { useRouter } from './hooks/useRouter';
7
8
  export { projectSettings } from './ProjectSettings';
8
9
  export { joinList } from './utils/joinList';
@@ -3,6 +3,7 @@ export { setup } from '@redneckz/uni-jsx/lib/setup';
3
3
  export { Blocks } from './components/Blocks.js';
4
4
  export { ContentPage } from './components/ContentPage/ContentPage.js';
5
5
  export { handlerDecorator } from './hooks/handlerDecorator.js';
6
+ export { useNavigator } from './hooks/useNavigator.js';
6
7
  export { useRouter } from './hooks/useRouter.js';
7
8
  export { projectSettings } from './ProjectSettings.js';
8
9
  export { joinList } from './utils/joinList.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAkB,CAAC"}
@@ -13,6 +13,9 @@ export const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
13
13
  pop();
14
14
  }, [dialogs, onClose]);
15
15
  useEffect(() => defaultEventBus.subscribe('dialog', (action) => {
16
+ if (!action) {
17
+ return;
18
+ }
16
19
  switch (action.type) {
17
20
  case 'open':
18
21
  push(action);
@@ -1 +1 @@
1
- {"version":3,"file":"useDialogsList.js","sourceRoot":"","sources":["../../../src/ui-kit/DialogManager/useDialogsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,UAAU,EACV,OAAO,MACe,EAAE,EAAsB,EAAE;IAChD,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,EAAoB,CAAC;IAEpE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,KAAK,EAAE,CAAC;IACV,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,GAAG,EAAE,CAAC;IACR,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,QAAQ,EAAE,CAAC;iBACZ;qBAAM;oBACL,KAAK,EAAE,CAAC;iBACT;gBACD,MAAM;YACR;gBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,EACJ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"useDialogsList.js","sourceRoot":"","sources":["../../../src/ui-kit/DialogManager/useDialogsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,UAAU,EACV,OAAO,MACe,EAAE,EAAsB,EAAE;IAChD,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,EAAoB,CAAC;IAEpE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,KAAK,EAAE,CAAC;IACV,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,GAAG,EAAE,CAAC;IACR,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QAC7C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,CAAC;gBACb,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,QAAQ,EAAE,CAAC;iBACZ;qBAAM;oBACL,KAAK,EAAE,CAAC;iBACT;gBACD,MAAM;YACR;gBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,EACJ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,40 +1,37 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
4
- import { useLink } from '../../hooks/useLink.js';
5
- import { useLocation } from '../../hooks/useLocation.js';
3
+ import { useCallback, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
4
+ import { useDefaultLocation } from '../../hooks/useLocation.js';
6
5
  import { useRegions } from '../../hooks/useRegions.js';
7
6
  import { groupBy } from '../../utils/groupBy.js';
8
7
  import { jaroWinklerDistance } from '../../utils/jaroWinklerDistance.js';
9
8
  import { Dialog } from '../DialogManager/Dialog.js';
10
9
  import { useDialogManager } from '../DialogManager/useDialogManager.js';
11
- import { LinkWrapper } from '../LinkWrapper/LinkWrapper.js';
12
- import { Paragraph } from '../Paragraph/Paragraph.js';
13
10
  import { Text } from '../Text/Text.js';
14
11
  import { renderForeignOffices } from './renderForeignOffices.js';
15
12
  import { renderRegion } from './renderRegion.js';
16
13
  import { renderRegionGroup } from './renderRegionGroup.js';
17
14
  import { SearchBar } from './SearchBar.js';
15
+ import { SelectedLocation } from './SelectedLocation.js';
18
16
  const SEARCH_TERM_MIN_LENGTH = 3;
19
17
  export const LocationDialog = JSX(({ foreignOffices, branches }) => {
20
- const [currentLocation, selectCurrentLocation] = useLocation(branches?.default);
21
- const link = useLink();
22
- const { href } = link({ href: `/branches/${currentLocation.slug}` });
18
+ const locationStore = useDefaultLocation(branches?.default);
23
19
  const [query, setQuery] = useState('');
24
- const regions = cleanUpRegions(useRegions()).sort((a, b) => a.name.localeCompare(b.name));
25
- const regionsGroupByLetter = groupBy(regions, regionFirstLetter);
20
+ const rawRegions = useRegions();
21
+ const regions = useMemo(() => cleanUpRegions(rawRegions).sort((a, b) => a.name.localeCompare(b.name)), [rawRegions]);
22
+ const regionsGroupByLetter = useMemo(() => groupBy(regions, regionFirstLetter), [regions]);
26
23
  const { close } = useDialogManager();
27
- const handleChangeLocation = useCallback((region) => {
28
- selectCurrentLocation(region);
24
+ const handleChangeLocation = useCallback((_) => {
25
+ locationStore.location = _;
29
26
  close();
30
- }, []);
31
- return (_jsxs(Dialog, { className: "pb-20", head: _jsxs("div", { children: [_jsx(Text, { size: "text-h4", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B" }), currentLocation ? (_jsx("div", { className: "mb-s", children: _jsxs(Paragraph, { size: "text-l", color: "text-primary-text", children: ["\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:", _jsx(LinkWrapper, { href: href, className: "inline mx-2xs text-primary-main", children: currentLocation.name })] }) })) : null, _jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (_jsx("div", { children: regions
27
+ }, [locationStore]);
28
+ return (_jsxs(Dialog, { className: "pb-20", head: _jsxs("div", { children: [_jsx(Text, { size: "text-h4", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B" }), _jsx(SelectedLocation, { defaultLocation: branches?.default }), _jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (_jsx("div", { children: regions
32
29
  .filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
33
30
  .map(renderRegion(branches?.dataSelect, handleChangeLocation)) })) : (_jsx("div", { className: "columns-1 sm:columns-3 md:columns-4 lg:columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation, branches?.dataSelect)) })), renderForeignOffices(foreignOffices)] }));
34
31
  });
35
- const regionFirstLetter = (region) => region.name?.charAt(0) || '';
32
+ const regionFirstLetter = (region) => region.name?.charAt(0) ?? '';
36
33
  const cleanUpRegions = (regions) => regions.map((region) => ({
37
34
  ...region,
38
- name: region.name?.replace(/республика|область|край'/gi, '').trim() || '',
35
+ name: region.name?.replace(/республика|область|край'/gi, '').trim() ?? '',
39
36
  }));
40
37
  //# sourceMappingURL=LocationDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocationDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/LocationDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocationDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/LocationDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ interface SelectedLocationProps {
2
+ defaultLocation?: string;
3
+ }
4
+ export declare const SelectedLocation: import("@redneckz/uni-jsx").UNIComponent<SelectedLocationProps, any, any>;
5
+ export {};
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { JSX } from '@redneckz/uni-jsx';
3
+ import { useLink } from '../../hooks/useLink.js';
4
+ import { useLocation } from '../../hooks/useLocation.js';
5
+ import { LinkWrapper } from '../LinkWrapper/LinkWrapper.js';
6
+ import { Paragraph } from '../Paragraph/Paragraph.js';
7
+ export const SelectedLocation = JSX(({ defaultLocation }) => {
8
+ const currentLocation = useLocation(defaultLocation);
9
+ const link = useLink();
10
+ const { href } = link({ href: `/branches/${currentLocation.slug}` });
11
+ return currentLocation ? (_jsx("div", { className: "mb-s", children: _jsxs(Paragraph, { size: "text-l", color: "text-primary-text", children: ["\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:", _jsx(LinkWrapper, { href: href, className: "inline mx-2xs text-primary-main", children: currentLocation.name })] }) })) : null;
12
+ });
13
+ //# sourceMappingURL=SelectedLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectedLocation.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/SelectedLocation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAwB,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;IACjF,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErE,OAAO,eAAe,CAAC,CAAC,CAAC,CACvB,cAAK,SAAS,EAAC,MAAM,YACnB,MAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,2FAEhD,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,iCAAiC,YACjE,eAAe,CAAC,IAAI,GACT,IACJ,GACR,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC"}
@@ -11,6 +11,9 @@ export const PopupManager = JSX(() => {
11
11
  setPopup(null);
12
12
  }, []);
13
13
  useEffect(() => defaultEventBus.subscribe('popup', (action) => {
14
+ if (!action) {
15
+ return;
16
+ }
14
17
  switch (action.type) {
15
18
  case 'open':
16
19
  case 'update':
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../src/ui-kit/PopupManager/PopupManager.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM;YACR;gBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,EACJ,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;QAC3B,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,KAAK,EAAE,CAAC;SACT;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,cACE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAC5D,KAAK,EAAE;YACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI;YACvB,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI;YACrB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,EACD,IAAI,EAAC,QAAQ,YAEZ,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../src/ui-kit/PopupManager/PopupManager.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM;YACR;gBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,EACJ,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;QAC3B,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,KAAK,EAAE,CAAC;SACT;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,cACE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAC5D,KAAK,EAAE;YACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI;YACvB,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI;YACrB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,EACD,IAAI,EAAC,QAAQ,YAEZ,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC"}
@@ -1,36 +1 @@
1
- export class EventBus<EM extends Record<string, any>> {
2
- private subscribers: Partial<Record<keyof EM, Array<(ev: EM[keyof EM]) => void>>> = {};
3
- private subjectsStateMap: Partial<EM> = {};
4
-
5
- subscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void) {
6
- this.subscribers[type] = (this.subscribers[type] || []).concat(
7
- listener as (ev: EM[keyof EM]) => void,
8
- );
9
-
10
- const latestEvent = this.subjectsStateMap[type];
11
- if (latestEvent) {
12
- listener(latestEvent as EM[K]);
13
- }
14
-
15
- return () => {
16
- this.unsubscribe(type, listener);
17
- };
18
- }
19
-
20
- private unsubscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void) {
21
- this.subscribers[type] = this.subscribers[type]?.filter((s) => s !== listener);
22
- }
23
-
24
- fire<K extends keyof EM>(type: K, event: EM[K]) {
25
- const isSubjectDeclared = type in this.subjectsStateMap;
26
- if (isSubjectDeclared) {
27
- this.subjectsStateMap[type] = event;
28
- }
29
-
30
- this.subscribers[type]?.forEach((s) => s(event));
31
- }
32
-
33
- subject<K extends keyof EM>(type: K, event: EM[K]) {
34
- this.subjectsStateMap[type] = event;
35
- }
36
- }
1
+ export { EventBus } from '@redneckz/uni-jsx/lib/EventBus/EventBus';
@@ -1,21 +1,11 @@
1
1
  import { type CarouselTariffsCardAction } from '../components/CarouselTariffsCard/CarouselTariffsCardAction';
2
- import { type Tab } from '../components/TabsLayout/TabsLayoutContent';
3
- import { type Region } from '../hooks/useRegions';
4
2
  import { type DialogAction } from '../ui-kit/DialogManager/DialogAction';
5
3
  import { type PopupAction } from '../ui-kit/PopupManager/PopupAction';
6
4
  import { EventBus } from './EventBus';
7
5
 
8
- interface TabActivationEvent {
9
- type?: Tab['type'];
10
- groupName?: string;
11
- label?: string;
12
- }
13
-
14
6
  interface GlobalEventMap {
15
- location: Region;
16
7
  dialog: DialogAction;
17
8
  popup: PopupAction;
18
- tab: TabActivationEvent;
19
9
  fold: CarouselTariffsCardAction;
20
10
  }
21
11
 
@@ -5,17 +5,15 @@ interface UpdateRefreshTokenBody {
5
5
  access_token: string;
6
6
  }
7
7
 
8
- const PORTAL_NATURAL_URL = '/';
9
-
10
8
  const UPDATING_INTERVAL = 60000 * 4;
11
9
 
12
- export const updateRefreshToken = () => {
10
+ export const updateRefreshToken = (failCallback: () => void) => {
13
11
  const refreshToken = globalThis.sessionStorage?.getItem('refreshToken');
14
12
  const accessToken = globalThis.sessionStorage?.getItem('accessToken');
15
13
  const taskId = globalThis.localStorage.getItem('taskId');
16
14
 
17
15
  if (!accessToken || !refreshToken || !taskId) {
18
- globalThis.location.href = PORTAL_NATURAL_URL;
16
+ failCallback();
19
17
 
20
18
  return () => null;
21
19
  }
@@ -28,9 +26,11 @@ export const updateRefreshToken = () => {
28
26
  access_token: accessToken,
29
27
  });
30
28
 
31
- if (res) {
32
- handleStatus(res.status);
29
+ if (res?.status == 401) {
30
+ failCallback();
31
+ }
33
32
 
33
+ if (res?.ok) {
34
34
  const data: UpdateRefreshTokenBody = await res.json();
35
35
 
36
36
  globalThis.sessionStorage.setItem('refreshToken', data.refresh_token);
@@ -44,9 +44,3 @@ export const updateRefreshToken = () => {
44
44
 
45
45
  return () => clearInterval(timer);
46
46
  };
47
-
48
- const handleStatus = (status: number) => {
49
- if (status == 401) {
50
- globalThis.location.href = PORTAL_NATURAL_URL;
51
- }
52
- };
@@ -44,7 +44,7 @@ export const CarouselTariffsCard = JSX<CarouselTariffsCardProps>(
44
44
  useEffect(
45
45
  () =>
46
46
  defaultEventBus.subscribe('fold', (event) => {
47
- if (options?.parent !== undefined && event.parent === options?.parent) {
47
+ if (event && options?.parent !== undefined && event.parent === options?.parent) {
48
48
  setIsVisible(event.isUnfolded);
49
49
  }
50
50
  }),
@@ -4,6 +4,7 @@ import { renderBlocksList } from '../../BlockRenderer/renderBlockList';
4
4
  import { renderChildren } from '../../BlockRenderer/renderChildren';
5
5
  import { useClickHandler } from '../../hooks/useClickHandler';
6
6
  import { useJSONRef } from '../../hooks/useJSONRef/useJSONRef';
7
+ import { useDefaultLocation } from '../../hooks/useLocation';
7
8
  import { type BlockDecorator } from '../../model/BlockDecorator';
8
9
  import { type BlocksRegistry } from '../../model/BlocksRegistry';
9
10
  import { type ContentPageDef } from '../../model/ContentPageDef';
@@ -31,6 +32,7 @@ export const ContentPage = JSX<ContentPageProps>(
31
32
  const resolvedPageContent = useJSONRef(pageContent, fallback);
32
33
 
33
34
  useClickHandler();
35
+ useDefaultLocation();
34
36
 
35
37
  const options: BlockRendererOptions = {
36
38
  key: '',
@@ -1,6 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { updateRefreshToken } from '../../api/RetailAPI/updateRefreshToken';
4
+ import { useNavigator } from '../../hooks/useNavigator';
4
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
5
6
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
6
7
  import { style } from '../../utils/style';
@@ -11,6 +12,8 @@ import { stepsSectionsMap } from './creditCardFormStepsData';
11
12
 
12
13
  interface CreditCardFormWizardProps extends CreditCardFormContent, UniBlockProps {}
13
14
 
15
+ const PORTAL_NATURAL_URL = '/';
16
+
14
17
  const WIZARD_STEPS = 6;
15
18
 
16
19
  const WIZARD_TITLES = [
@@ -31,7 +34,9 @@ export const CreditCardForm = JSX<CreditCardFormWizardProps>(({ className, ...re
31
34
  [formContainerRef],
32
35
  );
33
36
 
34
- useEffect(updateRefreshToken, []);
37
+ const navigator = useNavigator();
38
+
39
+ useEffect(() => updateRefreshToken(() => navigator.assign(PORTAL_NATURAL_URL)), []);
35
40
 
36
41
  const handleNextStep = useCallback(() => {
37
42
  setStep((_) => Math.min(_ + 1, WIZARD_STEPS));
@@ -1,6 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { updateRefreshToken } from '../../api/RetailAPI/updateRefreshToken';
4
+ import { useNavigator } from '../../hooks/useNavigator';
4
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
5
6
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
6
7
  import { style } from '../../utils/style';
@@ -12,6 +13,8 @@ import { stepsSectionsMap } from './creditFormStepsData';
12
13
 
13
14
  interface CreditFormWizardProps extends CreditFormContent, UniBlockProps {}
14
15
 
16
+ const PORTAL_NATURAL_URL = '/';
17
+
15
18
  const WIZARD_STEPS = 5;
16
19
 
17
20
  const WIZARD_TITLES = [
@@ -32,7 +35,9 @@ export const CreditForm = JSX<CreditFormWizardProps>(({ className, ...rest }) =>
32
35
  [formContainerRef],
33
36
  );
34
37
 
35
- useEffect(updateRefreshToken, []);
38
+ const navigator = useNavigator();
39
+
40
+ useEffect(() => updateRefreshToken(() => navigator.assign(PORTAL_NATURAL_URL)), []);
36
41
 
37
42
  const handleNextStep = useCallback(() => {
38
43
  setStep((_) => Math.min(_ + 1, WIZARD_STEPS));
@@ -19,7 +19,7 @@ export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlock
19
19
 
20
20
  export const ExchangeRateTile = JSX<ExchangeRateTileProps>(
21
21
  ({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
22
- const [currentLocation] = useLocation();
22
+ const currentLocation = useLocation();
23
23
  const exchangeRates = useFetchExchangeRateData(currentLocation);
24
24
 
25
25
  const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
@@ -22,7 +22,7 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
22
22
  ({ className, version, ...rest }) => {
23
23
  const iconVersion: IconVersion = version === 'transparent' ? 'white' : 'black';
24
24
 
25
- const [currentLocation] = useLocation(rest?.branches?.default);
25
+ const currentLocation = useLocation(rest?.branches?.default);
26
26
 
27
27
  const searchDialog = useSearchDialog(rest);
28
28
  const locationDialog = useLocationDialog(rest);
@@ -30,7 +30,7 @@ export interface AtmsMapProps {
30
30
  }
31
31
 
32
32
  export const AtmsMap = JSX<AtmsMapProps>(({ descriptionData, className }) => {
33
- const [currentLocation] = useLocation();
33
+ const currentLocation = useLocation();
34
34
 
35
35
  const regionCode = currentLocation?.code ?? '000';
36
36
 
@@ -10,7 +10,7 @@ export interface OfficesMapProps {
10
10
  }
11
11
 
12
12
  export const OfficesMap = JSX<OfficesMapProps>(({ className }) => {
13
- const [currentLocation] = useLocation();
13
+ const currentLocation = useLocation();
14
14
  const regionCode = currentLocation?.code ?? '000';
15
15
  const { data, isLoad } = useOffices(regionCode);
16
16
 
@@ -22,7 +22,7 @@ export interface BurgerMenuDialogProps {
22
22
  export const BurgerMenuDialog = JSX<BurgerMenuDialogProps>(
23
23
  ({ menuRef, menuItem, locationDialogProps, closeAll }) => {
24
24
  const locationDialog = useLocationDialog(locationDialogProps || {});
25
- const [{ name: location }] = useLocation();
25
+ const { name: location } = useLocation();
26
26
  const menuDimensions = menuRef?.current?.getBoundingClientRect();
27
27
  const basePath = getBasePath(env.SITE_URL);
28
28
 
@@ -1,55 +1,33 @@
1
- import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
1
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
3
+ import { useLocalStore } from '@redneckz/uni-jsx/lib/Store/useLocalStore';
3
4
  import { API_BASE_URI } from '../api/apiBaseUrl';
4
- import { defaultEventBus } from '../EventBus/defaultEventBus';
5
- import { useLatestEvent } from '../EventBus/useLatestEvent';
6
- import { fetchJSONUnsafe, type FetchJSONUnsafeType } from '../utils/fetchJSON';
5
+ import { fetchJSON } from '../utils/fetchJSON';
7
6
  import { type Region } from './useRegions';
8
7
 
9
8
  const REGION_URL = `${API_BASE_URI}/region`;
10
- const LOCATION_STORAGE_KEY = 'location';
11
-
12
- export function useLocation(defaultLocation = 'Москва'): [Region, (_: Region) => void] {
13
- const [currentLocation, fireCurrentLocation] = useLatestEvent(
14
- defaultEventBus,
15
- 'location',
16
- restoreLocation() ?? { name: defaultLocation },
17
- );
18
-
19
- const selectCurrentLocation = useCallback((_: Region) => {
20
- storeLocation(_);
21
- fireCurrentLocation(_);
22
- }, []);
23
-
24
- const { data } = useAsyncData(
25
- hasStoredLocation() ? null : REGION_URL,
26
- fetchJSONUnsafe as FetchJSONUnsafeType<Region>,
27
- );
28
- useEffect(() => {
29
- if (data && !hasStoredLocation()) {
30
- fireCurrentLocation(data);
31
- }
32
- }, [data]);
33
9
 
34
- return [currentLocation ?? { name: defaultLocation }, selectCurrentLocation];
10
+ interface LocationStore {
11
+ location: Region;
35
12
  }
36
13
 
37
- const hasStoredLocation = () => Boolean(globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY));
38
-
39
- const restoreLocation = (): Region | null => {
40
- try {
41
- const data = globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY);
42
-
43
- return data && JSON.parse(data);
44
- } catch (ex) {
45
- return null;
46
- }
47
- };
48
-
49
- const storeLocation = (_: Region) => {
50
- try {
51
- globalThis.localStorage?.setItem(LOCATION_STORAGE_KEY, JSON.stringify(_));
52
- } catch (ex) {
53
- // Do nothing
54
- }
55
- };
14
+ export function useLocation(defaultLocation = 'Москва'): Region {
15
+ const locationStore = useLocalStore<LocationStore>();
16
+
17
+ return locationStore.location ?? { name: defaultLocation };
18
+ }
19
+
20
+ export function useDefaultLocation(defaultLocation = 'Москва') {
21
+ const locationStore = useLocalStore<LocationStore>();
22
+
23
+ const preselectLocation = useCallback(async () => {
24
+ if (!locationStore.location) {
25
+ const region = await fetchJSON<Region>(REGION_URL);
26
+ locationStore.location = region ?? { name: defaultLocation };
27
+ }
28
+ }, [locationStore, defaultLocation]);
29
+
30
+ useAsyncData(REGION_URL, preselectLocation);
31
+
32
+ return locationStore;
33
+ }
@@ -0,0 +1,15 @@
1
+ export interface Navigator {
2
+ assign: (url: string) => void;
3
+ }
4
+
5
+ export function useNavigator(): Navigator {
6
+ return useNavigator._impl();
7
+ }
8
+
9
+ useNavigator._impl = (): Navigator => ({
10
+ assign: (url) => globalThis.location.assign(url),
11
+ });
12
+
13
+ useNavigator.setup = (impl: () => Navigator) => {
14
+ useNavigator._impl = impl;
15
+ };
@@ -14,8 +14,11 @@ export interface Region {
14
14
  branches?: string[];
15
15
  }
16
16
 
17
+ const EMPTY_REGIONS: Region[] = [];
18
+
19
+ // TODO Почему url можно менять? Разве смысл не в инкапсуляции api url. Тоже под рефакторинг попадает
17
20
  export function useRegions(url: string = REGIONS_URL): Region[] {
18
21
  const { data } = useAsyncData(url, fetchJSONUnsafe as FetchJSONUnsafeType<Region[]>);
19
22
 
20
- return Array.isArray(data) ? data : [];
23
+ return Array.isArray(data) ? data : EMPTY_REGIONS;
21
24
  }
@@ -3,6 +3,7 @@ export { setup } from '@redneckz/uni-jsx/lib/setup';
3
3
  export { Blocks } from './components/Blocks';
4
4
  export { ContentPage } from './components/ContentPage/ContentPage';
5
5
  export { handlerDecorator } from './hooks/handlerDecorator';
6
+ export { useNavigator } from './hooks/useNavigator';
6
7
  export { useRouter } from './hooks/useRouter';
7
8
  export { projectSettings } from './ProjectSettings';
8
9
  export { joinList } from './utils/joinList';
@@ -28,6 +28,9 @@ export const useDialogsList = ({
28
28
  useEffect(
29
29
  () =>
30
30
  defaultEventBus.subscribe('dialog', (action) => {
31
+ if (!action) {
32
+ return;
33
+ }
31
34
  switch (action.type) {
32
35
  case 'open':
33
36
  push(action);