@bitrix24/b24jssdk 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README-AI.md +6 -5
  2. package/README.md +2 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.cjs +19 -0
  4. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
  5. package/dist/cjs/_virtual/protobuf.cjs +20 -0
  6. package/dist/cjs/_virtual/protobuf.cjs.map +1 -0
  7. package/dist/cjs/_virtual/protobuf2.cjs +14 -0
  8. package/dist/cjs/_virtual/protobuf2.cjs.map +1 -0
  9. package/dist/cjs/core/abstract-b24.cjs +357 -0
  10. package/dist/cjs/core/abstract-b24.cjs.map +1 -0
  11. package/dist/cjs/core/actions/abstract-action.cjs +26 -0
  12. package/dist/cjs/core/actions/abstract-action.cjs.map +1 -0
  13. package/dist/cjs/core/actions/abstract-batch.cjs +97 -0
  14. package/dist/cjs/core/actions/abstract-batch.cjs.map +1 -0
  15. package/dist/cjs/core/actions/manager.cjs +55 -0
  16. package/dist/cjs/core/actions/manager.cjs.map +1 -0
  17. package/dist/cjs/core/actions/v2/batch-by-chunk.cjs +95 -0
  18. package/dist/cjs/core/actions/v2/batch-by-chunk.cjs.map +1 -0
  19. package/dist/cjs/core/actions/v2/batch.cjs +128 -0
  20. package/dist/cjs/core/actions/v2/batch.cjs.map +1 -0
  21. package/dist/cjs/core/actions/v2/call-list.cjs +144 -0
  22. package/dist/cjs/core/actions/v2/call-list.cjs.map +1 -0
  23. package/dist/cjs/core/actions/v2/call.cjs +56 -0
  24. package/dist/cjs/core/actions/v2/call.cjs.map +1 -0
  25. package/dist/cjs/core/actions/v2/fetch-list.cjs +145 -0
  26. package/dist/cjs/core/actions/v2/fetch-list.cjs.map +1 -0
  27. package/dist/cjs/core/actions/v2/manager-v2.cjs +76 -0
  28. package/dist/cjs/core/actions/v2/manager-v2.cjs.map +1 -0
  29. package/dist/cjs/core/actions/v3/_keyset-paginate.cjs +69 -0
  30. package/dist/cjs/core/actions/v3/_keyset-paginate.cjs.map +1 -0
  31. package/dist/cjs/core/actions/v3/aggregate.cjs +96 -0
  32. package/dist/cjs/core/actions/v3/aggregate.cjs.map +1 -0
  33. package/dist/cjs/core/actions/v3/batch-by-chunk.cjs +93 -0
  34. package/dist/cjs/core/actions/v3/batch-by-chunk.cjs.map +1 -0
  35. package/dist/cjs/core/actions/v3/batch.cjs +122 -0
  36. package/dist/cjs/core/actions/v3/batch.cjs.map +1 -0
  37. package/dist/cjs/core/actions/v3/call-list.cjs +126 -0
  38. package/dist/cjs/core/actions/v3/call-list.cjs.map +1 -0
  39. package/dist/cjs/core/actions/v3/call-tail.cjs +118 -0
  40. package/dist/cjs/core/actions/v3/call-tail.cjs.map +1 -0
  41. package/dist/cjs/core/actions/v3/call.cjs +51 -0
  42. package/dist/cjs/core/actions/v3/call.cjs.map +1 -0
  43. package/dist/cjs/core/actions/v3/fetch-list.cjs +122 -0
  44. package/dist/cjs/core/actions/v3/fetch-list.cjs.map +1 -0
  45. package/dist/cjs/core/actions/v3/fetch-tail.cjs +112 -0
  46. package/dist/cjs/core/actions/v3/fetch-tail.cjs.map +1 -0
  47. package/dist/cjs/core/actions/v3/manager-v3.cjs +100 -0
  48. package/dist/cjs/core/actions/v3/manager-v3.cjs.map +1 -0
  49. package/dist/cjs/core/http/abstract-http.cjs +641 -0
  50. package/dist/cjs/core/http/abstract-http.cjs.map +1 -0
  51. package/dist/cjs/core/http/ajax-error.cjs +113 -0
  52. package/dist/cjs/core/http/ajax-error.cjs.map +1 -0
  53. package/dist/cjs/core/http/ajax-result.cjs +219 -0
  54. package/dist/cjs/core/http/ajax-result.cjs.map +1 -0
  55. package/dist/cjs/core/http/limiters/adaptive-delayer.cjs +137 -0
  56. package/dist/cjs/core/http/limiters/adaptive-delayer.cjs.map +1 -0
  57. package/dist/cjs/core/http/limiters/manager.cjs +373 -0
  58. package/dist/cjs/core/http/limiters/manager.cjs.map +1 -0
  59. package/dist/cjs/core/http/limiters/operating-limiter.cjs +173 -0
  60. package/dist/cjs/core/http/limiters/operating-limiter.cjs.map +1 -0
  61. package/dist/cjs/core/http/limiters/params-factory.cjs +124 -0
  62. package/dist/cjs/core/http/limiters/params-factory.cjs.map +1 -0
  63. package/dist/cjs/core/http/limiters/rate-limiter.cjs +404 -0
  64. package/dist/cjs/core/http/limiters/rate-limiter.cjs.map +1 -0
  65. package/dist/cjs/core/http/redact.cjs +85 -0
  66. package/dist/cjs/core/http/redact.cjs.map +1 -0
  67. package/dist/cjs/core/http/v2.cjs +85 -0
  68. package/dist/cjs/core/http/v2.cjs.map +1 -0
  69. package/dist/cjs/core/http/v3.cjs +82 -0
  70. package/dist/cjs/core/http/v3.cjs.map +1 -0
  71. package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs +71 -0
  72. package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs.map +1 -0
  73. package/dist/cjs/core/interaction/batch/parse-row.cjs +69 -0
  74. package/dist/cjs/core/interaction/batch/parse-row.cjs.map +1 -0
  75. package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs +87 -0
  76. package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs.map +1 -0
  77. package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs +138 -0
  78. package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs.map +1 -0
  79. package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs +34 -0
  80. package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs.map +1 -0
  81. package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs +34 -0
  82. package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs.map +1 -0
  83. package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs +115 -0
  84. package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs.map +1 -0
  85. package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs +34 -0
  86. package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs.map +1 -0
  87. package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs +34 -0
  88. package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs.map +1 -0
  89. package/dist/cjs/core/interaction/batch/v2.cjs +47 -0
  90. package/dist/cjs/core/interaction/batch/v2.cjs.map +1 -0
  91. package/dist/cjs/core/interaction/batch/v3.cjs +45 -0
  92. package/dist/cjs/core/interaction/batch/v3.cjs.map +1 -0
  93. package/dist/cjs/core/language/list.cjs +59 -0
  94. package/dist/cjs/core/language/list.cjs.map +1 -0
  95. package/dist/cjs/core/request-id-generator.cjs +44 -0
  96. package/dist/cjs/core/request-id-generator.cjs.map +1 -0
  97. package/dist/cjs/core/result.cjs +137 -0
  98. package/dist/cjs/core/result.cjs.map +1 -0
  99. package/dist/cjs/core/sdk-error.cjs +85 -0
  100. package/dist/cjs/core/sdk-error.cjs.map +1 -0
  101. package/dist/cjs/core/tools/abstract-tool.cjs +26 -0
  102. package/dist/cjs/core/tools/abstract-tool.cjs.map +1 -0
  103. package/dist/cjs/core/tools/healthcheck.cjs +50 -0
  104. package/dist/cjs/core/tools/healthcheck.cjs.map +1 -0
  105. package/dist/cjs/core/tools/manager.cjs +52 -0
  106. package/dist/cjs/core/tools/manager.cjs.map +1 -0
  107. package/dist/cjs/core/tools/ping.cjs +58 -0
  108. package/dist/cjs/core/tools/ping.cjs.map +1 -0
  109. package/dist/cjs/core/version-manager.cjs +57 -0
  110. package/dist/cjs/core/version-manager.cjs.map +1 -0
  111. package/dist/cjs/frame/auth.cjs +100 -0
  112. package/dist/cjs/frame/auth.cjs.map +1 -0
  113. package/dist/cjs/frame/b24.cjs +178 -0
  114. package/dist/cjs/frame/b24.cjs.map +1 -0
  115. package/dist/cjs/frame/dialog.cjs +120 -0
  116. package/dist/cjs/frame/dialog.cjs.map +1 -0
  117. package/dist/cjs/frame/frame.cjs +103 -0
  118. package/dist/cjs/frame/frame.cjs.map +1 -0
  119. package/dist/cjs/frame/message/commands.cjs +39 -0
  120. package/dist/cjs/frame/message/commands.cjs.map +1 -0
  121. package/dist/cjs/frame/message/controller.cjs +191 -0
  122. package/dist/cjs/frame/message/controller.cjs.map +1 -0
  123. package/dist/cjs/frame/options.cjs +108 -0
  124. package/dist/cjs/frame/options.cjs.map +1 -0
  125. package/dist/cjs/frame/parent.cjs +259 -0
  126. package/dist/cjs/frame/parent.cjs.map +1 -0
  127. package/dist/cjs/frame/placement.cjs +156 -0
  128. package/dist/cjs/frame/placement.cjs.map +1 -0
  129. package/dist/cjs/frame/slider.cjs +162 -0
  130. package/dist/cjs/frame/slider.cjs.map +1 -0
  131. package/dist/cjs/helper/abstract-helper.cjs +55 -0
  132. package/dist/cjs/helper/abstract-helper.cjs.map +1 -0
  133. package/dist/cjs/helper/app-manager.cjs +39 -0
  134. package/dist/cjs/helper/app-manager.cjs.map +1 -0
  135. package/dist/cjs/helper/currency-manager.cjs +215 -0
  136. package/dist/cjs/helper/currency-manager.cjs.map +1 -0
  137. package/dist/cjs/helper/helper-manager.cjs +397 -0
  138. package/dist/cjs/helper/helper-manager.cjs.map +1 -0
  139. package/dist/cjs/helper/license-manager.cjs +52 -0
  140. package/dist/cjs/helper/license-manager.cjs.map +1 -0
  141. package/dist/cjs/helper/options-manager.cjs +205 -0
  142. package/dist/cjs/helper/options-manager.cjs.map +1 -0
  143. package/dist/cjs/helper/payment-manager.cjs +35 -0
  144. package/dist/cjs/helper/payment-manager.cjs.map +1 -0
  145. package/dist/cjs/helper/profile-manager.cjs +35 -0
  146. package/dist/cjs/helper/profile-manager.cjs.map +1 -0
  147. package/dist/cjs/helper/use-b24-helper.cjs +85 -0
  148. package/dist/cjs/helper/use-b24-helper.cjs.map +1 -0
  149. package/dist/cjs/hook/auth.cjs +79 -0
  150. package/dist/cjs/hook/auth.cjs.map +1 -0
  151. package/dist/cjs/hook/b24.cjs +117 -0
  152. package/dist/cjs/hook/b24.cjs.map +1 -0
  153. package/dist/cjs/index.cjs +176 -0
  154. package/dist/cjs/index.cjs.map +1 -0
  155. package/dist/cjs/index.d.cts +6415 -0
  156. package/dist/cjs/index.d.mts +6415 -0
  157. package/dist/cjs/index.d.ts +6415 -0
  158. package/dist/cjs/loader-b24frame.cjs +103 -0
  159. package/dist/cjs/loader-b24frame.cjs.map +1 -0
  160. package/dist/cjs/logger/abstract-logger.cjs +71 -0
  161. package/dist/cjs/logger/abstract-logger.cjs.map +1 -0
  162. package/dist/cjs/logger/browser.cjs +165 -0
  163. package/dist/cjs/logger/browser.cjs.map +1 -0
  164. package/dist/cjs/logger/formatter/abstract-formatter.cjs +36 -0
  165. package/dist/cjs/logger/formatter/abstract-formatter.cjs.map +1 -0
  166. package/dist/cjs/logger/formatter/json-formatter.cjs +36 -0
  167. package/dist/cjs/logger/formatter/json-formatter.cjs.map +1 -0
  168. package/dist/cjs/logger/formatter/line-formatter.cjs +43 -0
  169. package/dist/cjs/logger/formatter/line-formatter.cjs.map +1 -0
  170. package/dist/cjs/logger/formatter/telegram-formatter.cjs +105 -0
  171. package/dist/cjs/logger/formatter/telegram-formatter.cjs.map +1 -0
  172. package/dist/cjs/logger/handler/abstract-handler.cjs +41 -0
  173. package/dist/cjs/logger/handler/abstract-handler.cjs.map +1 -0
  174. package/dist/cjs/logger/handler/consola-adapter.cjs +64 -0
  175. package/dist/cjs/logger/handler/consola-adapter.cjs.map +1 -0
  176. package/dist/cjs/logger/handler/console-handler.cjs +100 -0
  177. package/dist/cjs/logger/handler/console-handler.cjs.map +1 -0
  178. package/dist/cjs/logger/handler/console-v2-handler.cjs +53 -0
  179. package/dist/cjs/logger/handler/console-v2-handler.cjs.map +1 -0
  180. package/dist/cjs/logger/handler/memory-handler.cjs +50 -0
  181. package/dist/cjs/logger/handler/memory-handler.cjs.map +1 -0
  182. package/dist/cjs/logger/handler/stream-handler.cjs +75 -0
  183. package/dist/cjs/logger/handler/stream-handler.cjs.map +1 -0
  184. package/dist/cjs/logger/handler/telegram-handler.cjs +159 -0
  185. package/dist/cjs/logger/handler/telegram-handler.cjs.map +1 -0
  186. package/dist/cjs/logger/handler/winston-adapter.cjs +59 -0
  187. package/dist/cjs/logger/handler/winston-adapter.cjs.map +1 -0
  188. package/dist/cjs/logger/logger-factory.cjs +69 -0
  189. package/dist/cjs/logger/logger-factory.cjs.map +1 -0
  190. package/dist/cjs/logger/logger.cjs +78 -0
  191. package/dist/cjs/logger/logger.cjs.map +1 -0
  192. package/dist/cjs/logger/null-logger.cjs +34 -0
  193. package/dist/cjs/logger/null-logger.cjs.map +1 -0
  194. package/dist/cjs/logger/processor/memory-usage-processor.cjs +22 -0
  195. package/dist/cjs/logger/processor/memory-usage-processor.cjs.map +1 -0
  196. package/dist/cjs/logger/processor/pid-processor.cjs +22 -0
  197. package/dist/cjs/logger/processor/pid-processor.cjs.map +1 -0
  198. package/dist/cjs/oauth/auth.cjs +214 -0
  199. package/dist/cjs/oauth/auth.cjs.map +1 -0
  200. package/dist/cjs/oauth/b24.cjs +119 -0
  201. package/dist/cjs/oauth/b24.cjs.map +1 -0
  202. package/dist/cjs/oauth/refresh-token-error.cjs +22 -0
  203. package/dist/cjs/oauth/refresh-token-error.cjs.map +1 -0
  204. package/dist/cjs/pullClient/abstract-connector.cjs +80 -0
  205. package/dist/cjs/pullClient/abstract-connector.cjs.map +1 -0
  206. package/dist/cjs/pullClient/channel-manager.cjs +91 -0
  207. package/dist/cjs/pullClient/channel-manager.cjs.map +1 -0
  208. package/dist/cjs/pullClient/client.cjs +2177 -0
  209. package/dist/cjs/pullClient/client.cjs.map +1 -0
  210. package/dist/cjs/pullClient/errors.cjs +34 -0
  211. package/dist/cjs/pullClient/errors.cjs.map +1 -0
  212. package/dist/cjs/pullClient/json-rpc.cjs +213 -0
  213. package/dist/cjs/pullClient/json-rpc.cjs.map +1 -0
  214. package/dist/cjs/pullClient/long-polling-connector.cjs +159 -0
  215. package/dist/cjs/pullClient/long-polling-connector.cjs.map +1 -0
  216. package/dist/cjs/pullClient/protobuf/index.cjs +22 -0
  217. package/dist/cjs/pullClient/protobuf/index.cjs.map +1 -0
  218. package/dist/cjs/pullClient/protobuf/model.cjs +1060 -0
  219. package/dist/cjs/pullClient/protobuf/model.cjs.map +1 -0
  220. package/dist/cjs/pullClient/protobuf/protobuf.cjs +4655 -0
  221. package/dist/cjs/pullClient/protobuf/protobuf.cjs.map +1 -0
  222. package/dist/cjs/pullClient/shared-config.cjs +135 -0
  223. package/dist/cjs/pullClient/shared-config.cjs.map +1 -0
  224. package/dist/cjs/pullClient/storage-manager.cjs +74 -0
  225. package/dist/cjs/pullClient/storage-manager.cjs.map +1 -0
  226. package/dist/cjs/pullClient/web-socket-connector.cjs +131 -0
  227. package/dist/cjs/pullClient/web-socket-connector.cjs.map +1 -0
  228. package/dist/cjs/tools/batch-ref-v3.cjs +54 -0
  229. package/dist/cjs/tools/batch-ref-v3.cjs.map +1 -0
  230. package/dist/cjs/tools/browser.cjs +156 -0
  231. package/dist/cjs/tools/browser.cjs.map +1 -0
  232. package/dist/cjs/tools/environment.cjs +32 -0
  233. package/dist/cjs/tools/environment.cjs.map +1 -0
  234. package/dist/cjs/tools/filter-v3.cjs +139 -0
  235. package/dist/cjs/tools/filter-v3.cjs.map +1 -0
  236. package/dist/cjs/tools/formatters/iban.cjs +307 -0
  237. package/dist/cjs/tools/formatters/iban.cjs.map +1 -0
  238. package/dist/cjs/tools/formatters/numbers.cjs +68 -0
  239. package/dist/cjs/tools/formatters/numbers.cjs.map +1 -0
  240. package/dist/cjs/tools/index.cjs +42 -0
  241. package/dist/cjs/tools/index.cjs.map +1 -0
  242. package/dist/cjs/tools/scroll-size.cjs +29 -0
  243. package/dist/cjs/tools/scroll-size.cjs.map +1 -0
  244. package/dist/cjs/tools/text.cjs +210 -0
  245. package/dist/cjs/tools/text.cjs.map +1 -0
  246. package/dist/cjs/tools/type.cjs +339 -0
  247. package/dist/cjs/tools/type.cjs.map +1 -0
  248. package/dist/cjs/tools/use-formatters.cjs +462 -0
  249. package/dist/cjs/tools/use-formatters.cjs.map +1 -0
  250. package/dist/cjs/tools/uuidv7.cjs +58 -0
  251. package/dist/cjs/tools/uuidv7.cjs.map +1 -0
  252. package/dist/cjs/types/b24-helper.cjs +62 -0
  253. package/dist/cjs/types/b24-helper.cjs.map +1 -0
  254. package/dist/cjs/types/b24.cjs +18 -0
  255. package/dist/cjs/types/b24.cjs.map +1 -0
  256. package/dist/cjs/types/bizproc/index.cjs +195 -0
  257. package/dist/cjs/types/bizproc/index.cjs.map +1 -0
  258. package/dist/cjs/types/catalog/index.cjs +39 -0
  259. package/dist/cjs/types/catalog/index.cjs.map +1 -0
  260. package/dist/cjs/types/common.cjs +33 -0
  261. package/dist/cjs/types/common.cjs.map +1 -0
  262. package/dist/cjs/types/crm/entity-type.cjs +62 -0
  263. package/dist/cjs/types/crm/entity-type.cjs.map +1 -0
  264. package/dist/cjs/types/crm/productrow.cjs +19 -0
  265. package/dist/cjs/types/crm/productrow.cjs.map +1 -0
  266. package/dist/cjs/types/logger.cjs +24 -0
  267. package/dist/cjs/types/logger.cjs.map +1 -0
  268. package/dist/cjs/types/pull.cjs +94 -0
  269. package/dist/cjs/types/pull.cjs.map +1 -0
  270. package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -1
  271. package/dist/esm/_virtual/protobuf.mjs +1 -1
  272. package/dist/esm/_virtual/protobuf2.mjs +1 -1
  273. package/dist/esm/core/abstract-b24.mjs +1 -1
  274. package/dist/esm/core/actions/abstract-action.mjs +1 -1
  275. package/dist/esm/core/actions/abstract-batch.mjs +1 -1
  276. package/dist/esm/core/actions/manager.mjs +1 -1
  277. package/dist/esm/core/actions/v2/batch-by-chunk.mjs +1 -1
  278. package/dist/esm/core/actions/v2/batch.mjs +1 -1
  279. package/dist/esm/core/actions/v2/call-list.mjs +17 -10
  280. package/dist/esm/core/actions/v2/call-list.mjs.map +1 -1
  281. package/dist/esm/core/actions/v2/call.mjs +1 -15
  282. package/dist/esm/core/actions/v2/call.mjs.map +1 -1
  283. package/dist/esm/core/actions/v2/fetch-list.mjs +17 -10
  284. package/dist/esm/core/actions/v2/fetch-list.mjs.map +1 -1
  285. package/dist/esm/core/actions/v2/manager-v2.mjs +6 -6
  286. package/dist/esm/core/actions/v2/manager-v2.mjs.map +1 -1
  287. package/dist/esm/core/actions/v3/_keyset-paginate.mjs +66 -0
  288. package/dist/esm/core/actions/v3/_keyset-paginate.mjs.map +1 -0
  289. package/dist/esm/core/actions/v3/aggregate.mjs +94 -0
  290. package/dist/esm/core/actions/v3/aggregate.mjs.map +1 -0
  291. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
  292. package/dist/esm/core/actions/v3/batch.mjs +1 -10
  293. package/dist/esm/core/actions/v3/batch.mjs.map +1 -1
  294. package/dist/esm/core/actions/v3/call-list.mjs +40 -47
  295. package/dist/esm/core/actions/v3/call-list.mjs.map +1 -1
  296. package/dist/esm/core/actions/v3/call-tail.mjs +116 -0
  297. package/dist/esm/core/actions/v3/call-tail.mjs.map +1 -0
  298. package/dist/esm/core/actions/v3/call.mjs +1 -10
  299. package/dist/esm/core/actions/v3/call.mjs.map +1 -1
  300. package/dist/esm/core/actions/v3/fetch-list.mjs +34 -44
  301. package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -1
  302. package/dist/esm/core/actions/v3/fetch-tail.mjs +110 -0
  303. package/dist/esm/core/actions/v3/fetch-tail.mjs.map +1 -0
  304. package/dist/esm/core/actions/v3/manager-v3.mjs +30 -6
  305. package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -1
  306. package/dist/esm/core/http/abstract-http.mjs +96 -21
  307. package/dist/esm/core/http/abstract-http.mjs.map +1 -1
  308. package/dist/esm/core/http/ajax-error.mjs +1 -1
  309. package/dist/esm/core/http/ajax-result.mjs +9 -8
  310. package/dist/esm/core/http/ajax-result.mjs.map +1 -1
  311. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
  312. package/dist/esm/core/http/limiters/manager.mjs +2 -1
  313. package/dist/esm/core/http/limiters/manager.mjs.map +1 -1
  314. package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
  315. package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
  316. package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
  317. package/dist/esm/core/http/redact.mjs +41 -13
  318. package/dist/esm/core/http/redact.mjs.map +1 -1
  319. package/dist/esm/core/http/v2.mjs +1 -18
  320. package/dist/esm/core/http/v2.mjs.map +1 -1
  321. package/dist/esm/core/http/v3.mjs +1 -15
  322. package/dist/esm/core/http/v3.mjs.map +1 -1
  323. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
  324. package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
  325. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +44 -1
  326. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -1
  327. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +7 -6
  328. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -1
  329. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +3 -3
  330. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -1
  331. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
  332. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +7 -19
  333. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -1
  334. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +3 -3
  335. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -1
  336. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
  337. package/dist/esm/core/interaction/batch/v2.mjs +1 -1
  338. package/dist/esm/core/interaction/batch/v3.mjs +1 -1
  339. package/dist/esm/core/language/list.mjs +1 -1
  340. package/dist/esm/core/request-id-generator.mjs +1 -1
  341. package/dist/esm/core/result.mjs +35 -1
  342. package/dist/esm/core/result.mjs.map +1 -1
  343. package/dist/esm/core/sdk-error.mjs +1 -1
  344. package/dist/esm/core/tools/abstract-tool.mjs +1 -1
  345. package/dist/esm/core/tools/healthcheck.mjs +1 -1
  346. package/dist/esm/core/tools/manager.mjs +3 -3
  347. package/dist/esm/core/tools/manager.mjs.map +1 -1
  348. package/dist/esm/core/tools/ping.mjs +1 -1
  349. package/dist/esm/core/version-manager.mjs +19 -80
  350. package/dist/esm/core/version-manager.mjs.map +1 -1
  351. package/dist/esm/frame/auth.mjs +1 -1
  352. package/dist/esm/frame/b24.mjs +8 -2
  353. package/dist/esm/frame/b24.mjs.map +1 -1
  354. package/dist/esm/frame/dialog.mjs +1 -1
  355. package/dist/esm/frame/frame.mjs +1 -1
  356. package/dist/esm/frame/message/commands.mjs +1 -1
  357. package/dist/esm/frame/message/controller.mjs +17 -6
  358. package/dist/esm/frame/message/controller.mjs.map +1 -1
  359. package/dist/esm/frame/options.mjs +1 -1
  360. package/dist/esm/frame/parent.mjs +6 -2
  361. package/dist/esm/frame/parent.mjs.map +1 -1
  362. package/dist/esm/frame/placement.mjs +1 -1
  363. package/dist/esm/frame/slider.mjs +5 -1
  364. package/dist/esm/frame/slider.mjs.map +1 -1
  365. package/dist/esm/helper/abstract-helper.mjs +1 -1
  366. package/dist/esm/helper/app-manager.mjs +1 -1
  367. package/dist/esm/helper/currency-manager.mjs +1 -1
  368. package/dist/esm/helper/helper-manager.mjs +1 -1
  369. package/dist/esm/helper/license-manager.mjs +1 -1
  370. package/dist/esm/helper/options-manager.mjs +1 -1
  371. package/dist/esm/helper/payment-manager.mjs +1 -1
  372. package/dist/esm/helper/profile-manager.mjs +1 -1
  373. package/dist/esm/helper/use-b24-helper.mjs +1 -1
  374. package/dist/esm/hook/auth.mjs +1 -1
  375. package/dist/esm/hook/b24.mjs +3 -3
  376. package/dist/esm/hook/b24.mjs.map +1 -1
  377. package/dist/esm/index.d.mts +501 -49
  378. package/dist/esm/index.d.ts +501 -49
  379. package/dist/esm/index.mjs +3 -1
  380. package/dist/esm/index.mjs.map +1 -1
  381. package/dist/esm/loader-b24frame.mjs +1 -1
  382. package/dist/esm/logger/abstract-logger.mjs +1 -1
  383. package/dist/esm/logger/browser.mjs +1 -1
  384. package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
  385. package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
  386. package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
  387. package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
  388. package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
  389. package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
  390. package/dist/esm/logger/handler/console-handler.mjs +1 -1
  391. package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
  392. package/dist/esm/logger/handler/memory-handler.mjs +1 -1
  393. package/dist/esm/logger/handler/stream-handler.mjs +1 -1
  394. package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
  395. package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
  396. package/dist/esm/logger/logger-factory.mjs +1 -1
  397. package/dist/esm/logger/logger.mjs +1 -1
  398. package/dist/esm/logger/null-logger.mjs +1 -1
  399. package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
  400. package/dist/esm/logger/processor/pid-processor.mjs +1 -1
  401. package/dist/esm/oauth/auth.mjs +13 -16
  402. package/dist/esm/oauth/auth.mjs.map +1 -1
  403. package/dist/esm/oauth/b24.mjs +1 -1
  404. package/dist/esm/oauth/refresh-token-error.mjs +1 -1
  405. package/dist/esm/pullClient/abstract-connector.mjs +1 -1
  406. package/dist/esm/pullClient/channel-manager.mjs +1 -1
  407. package/dist/esm/pullClient/client.mjs +141 -30
  408. package/dist/esm/pullClient/client.mjs.map +1 -1
  409. package/dist/esm/pullClient/errors.mjs +1 -1
  410. package/dist/esm/pullClient/json-rpc.mjs +5 -4
  411. package/dist/esm/pullClient/json-rpc.mjs.map +1 -1
  412. package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
  413. package/dist/esm/pullClient/protobuf/index.mjs +1 -1
  414. package/dist/esm/pullClient/protobuf/model.mjs +1 -1
  415. package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
  416. package/dist/esm/pullClient/shared-config.mjs +1 -1
  417. package/dist/esm/pullClient/storage-manager.mjs +1 -1
  418. package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
  419. package/dist/esm/tools/batch-ref-v3.mjs +52 -0
  420. package/dist/esm/tools/batch-ref-v3.mjs.map +1 -0
  421. package/dist/esm/tools/browser.mjs +1 -1
  422. package/dist/esm/tools/environment.mjs +1 -1
  423. package/dist/esm/tools/filter-v3.mjs +137 -0
  424. package/dist/esm/tools/filter-v3.mjs.map +1 -0
  425. package/dist/esm/tools/formatters/iban.mjs +1 -1
  426. package/dist/esm/tools/formatters/numbers.mjs +1 -1
  427. package/dist/esm/tools/index.mjs +1 -1
  428. package/dist/esm/tools/scroll-size.mjs +1 -1
  429. package/dist/esm/tools/text.mjs +1 -1
  430. package/dist/esm/tools/type.mjs +1 -1
  431. package/dist/esm/tools/use-formatters.mjs +1 -1
  432. package/dist/esm/tools/uuidv7.mjs +1 -1
  433. package/dist/esm/types/b24-helper.mjs +1 -1
  434. package/dist/esm/types/b24.mjs +1 -1
  435. package/dist/esm/types/bizproc/index.mjs +1 -1
  436. package/dist/esm/types/catalog/index.mjs +1 -1
  437. package/dist/esm/types/common.mjs +1 -1
  438. package/dist/esm/types/crm/entity-type.mjs +1 -1
  439. package/dist/esm/types/crm/productrow.mjs +1 -1
  440. package/dist/esm/types/logger.mjs +1 -1
  441. package/dist/esm/types/pull.mjs +1 -1
  442. package/dist/umd/index.js +1384 -680
  443. package/dist/umd/index.js.map +1 -1
  444. package/dist/umd/index.min.js +26 -26
  445. package/dist/umd/index.min.js.map +1 -1
  446. package/dist/umd/package.json +3 -0
  447. package/package.json +12 -4
@@ -0,0 +1,191 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const type = require('../../tools/type.cjs');
12
+ const text = require('../../tools/text.cjs');
13
+ const index = require('../../tools/index.cjs');
14
+ const loggerFactory = require('../../logger/logger-factory.cjs');
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
18
+ class MessageManager {
19
+ static {
20
+ __name(this, "MessageManager");
21
+ }
22
+ #appFrame;
23
+ #callbackPromises;
24
+ #callbackSingletone;
25
+ // origins already warned about (#244) — dedup so a peer spamming postMessage
26
+ // from a foreign origin can't flood a wired logger sink
27
+ #rejectedOrigins = /* @__PURE__ */ new Set();
28
+ _logger;
29
+ runCallbackHandler;
30
+ constructor(appFrame) {
31
+ this._logger = loggerFactory.LoggerFactory.createNullLogger();
32
+ this.#appFrame = appFrame;
33
+ this.#callbackPromises = /* @__PURE__ */ new Map();
34
+ this.#callbackSingletone = /* @__PURE__ */ new Map();
35
+ this.runCallbackHandler = this._runCallback.bind(this);
36
+ }
37
+ setLogger(logger) {
38
+ this._logger = logger;
39
+ }
40
+ getLogger() {
41
+ return this._logger;
42
+ }
43
+ // region Events ////
44
+ /**
45
+ * Subscribe to the onMessage event of the parent window
46
+ */
47
+ subscribe() {
48
+ window.addEventListener("message", this.runCallbackHandler);
49
+ }
50
+ /**
51
+ * Unsubscribe from the onMessage event of the parent window
52
+ */
53
+ unsubscribe() {
54
+ window.removeEventListener("message", this.runCallbackHandler);
55
+ }
56
+ // endregion ////
57
+ /**
58
+ * Send message to parent window
59
+ * The answer (if) we will get in _runCallback
60
+ *
61
+ * @param command
62
+ * @param params
63
+ */
64
+ async send(command, params = null) {
65
+ return new Promise((resolve, reject) => {
66
+ let cmd;
67
+ const promiseHandler = {
68
+ resolve,
69
+ reject,
70
+ timeoutId: null
71
+ };
72
+ const keyPromise = this.#setCallbackPromise(promiseHandler);
73
+ let paramsSend = null;
74
+ const optionsSend = index.omit(params || {}, ["singleOption", "callBack", "isSafely", "safelyTime", "requestId"]);
75
+ const { callBack, singleOption, requestId } = params || {};
76
+ if (callBack) {
77
+ this.#callbackSingletone.set(keyPromise, callBack);
78
+ }
79
+ if (singleOption) {
80
+ paramsSend = singleOption;
81
+ } else if (Object.keys(optionsSend).length > 0) {
82
+ paramsSend = { ...optionsSend };
83
+ }
84
+ if (command.toString().includes(":")) {
85
+ cmd = {
86
+ method: command.toString(),
87
+ params: paramsSend || "",
88
+ callback: keyPromise,
89
+ appSid: this.#appFrame.getAppSid(),
90
+ requestId
91
+ };
92
+ } else {
93
+ cmd = command.toString();
94
+ if (params?.isRawValue !== true && paramsSend) {
95
+ paramsSend = JSON.stringify(paramsSend);
96
+ } else if (params?.isRawValue === true && paramsSend && type.Type.isPlainObject(paramsSend) && paramsSend["value"]) {
97
+ paramsSend = paramsSend["value"];
98
+ }
99
+ const listParams = [
100
+ paramsSend || "",
101
+ keyPromise,
102
+ this.#appFrame.getAppSid()
103
+ ];
104
+ cmd += ":" + listParams.filter(Boolean).join(":");
105
+ }
106
+ this.getLogger().debug(`send to ${this.#appFrame.getTargetOrigin()}`, {
107
+ command: command.toString(),
108
+ callbackKey: keyPromise,
109
+ origin: this.#appFrame.getTargetOrigin()
110
+ });
111
+ parent.postMessage(cmd, this.#appFrame.getTargetOrigin());
112
+ if (params?.isSafely) {
113
+ const safelyTime = Number.parseInt(String(params?.safelyTime || 900));
114
+ this.#callbackPromises.get(keyPromise).timeoutId = window.setTimeout(
115
+ () => {
116
+ if (this.#callbackPromises.has(keyPromise)) {
117
+ this.getLogger().warning(`action ${command.toString()} stop by timeout`, {
118
+ command: command.toString(),
119
+ safelyTime
120
+ });
121
+ this.#callbackPromises.delete(keyPromise);
122
+ resolve({ isSafely: true });
123
+ }
124
+ },
125
+ safelyTime
126
+ );
127
+ }
128
+ });
129
+ }
130
+ /**
131
+ * Fulfilling a promise based on messages from the parent window
132
+ *
133
+ * @param event
134
+ * @private
135
+ */
136
+ _runCallback(event) {
137
+ if (event.origin !== this.#appFrame.getTargetOrigin()) {
138
+ if (!this.#rejectedOrigins.has(event.origin)) {
139
+ this.#rejectedOrigins.add(event.origin);
140
+ this.getLogger().warning("message rejected: unexpected origin", {
141
+ origin: event.origin,
142
+ expected: this.#appFrame.getTargetOrigin()
143
+ });
144
+ }
145
+ return;
146
+ }
147
+ if (event.data) {
148
+ const tmp = event.data.split(":");
149
+ const cmd = {
150
+ id: tmp[0],
151
+ args: tmp.slice(1).join(":")
152
+ };
153
+ this.getLogger().debug(`get from ${event.origin}`, {
154
+ id: cmd.id,
155
+ origin: event.origin
156
+ });
157
+ if (cmd.args) {
158
+ cmd.args = JSON.parse(cmd.args);
159
+ }
160
+ if (this.#callbackPromises.has(cmd.id)) {
161
+ const promise = this.#callbackPromises.get(cmd.id);
162
+ if (promise.timeoutId) {
163
+ clearTimeout(promise.timeoutId);
164
+ }
165
+ this.#callbackPromises.delete(cmd.id);
166
+ promise.resolve(cmd.args);
167
+ } else if (this.#callbackSingletone.has(cmd.id)) {
168
+ const callBack = this.#callbackSingletone.get(cmd.id);
169
+ if (callBack) {
170
+ callBack.apply(globalThis, [cmd.args]);
171
+ }
172
+ }
173
+ }
174
+ }
175
+ /**
176
+ * Storing a promise for a message from the parent window
177
+ *
178
+ * @param promiseHandler
179
+ * @private
180
+ *
181
+ * @memo We don't use Symbol here, because we need to pass it to the parent and then find and restore it.
182
+ */
183
+ #setCallbackPromise(promiseHandler) {
184
+ const key = text.Text.getUniqId();
185
+ this.#callbackPromises.set(key, promiseHandler);
186
+ return key;
187
+ }
188
+ }
189
+
190
+ exports.MessageManager = MessageManager;
191
+ //# sourceMappingURL=controller.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.cjs","sources":["../../../../src/frame/message/controller.ts"],"sourcesContent":["import type { MessageCommands } from './commands'\nimport type { AppFrame } from '../frame'\nimport type { LoggerInterface } from '../../logger'\nimport { LoggerFactory } from '../../logger'\nimport { Type } from '../../tools/type'\nimport { Text } from '../../tools/text'\nimport { omit } from '../../tools'\n\ninterface PromiseHandlers {\n resolve: (value: any) => void\n reject: (reason?: any) => void\n timeoutId: any\n}\n\n/**\n * Parent Window Request Parameters\n * - `isRawValue?: boolean` if true then JSON.stringify will not be executed\n * - `isSafely?: boolean` auto completion mode Promise.resolve()\n * - `safelyTime?: number` after what time (900 ms) should it be automatically resolved Promise\n * - `callBack?: () => void` for placement event\n * - `requestId?: string` Unique request identifier for tracking. Used for query deduplication and debugging.\n */\nexport interface SendParams {\n isRawValue?: boolean\n isSafely?: boolean\n safelyTime?: number\n callBack?: (...args: any[]) => void\n requestId?: string\n // @todo add this\n // singleOption: any\n [index: string]: any\n}\n\n/**\n * Parent Window Communication Manager at B24\n */\nexport class MessageManager {\n #appFrame: AppFrame\n #callbackPromises: Map<string, PromiseHandlers>\n #callbackSingletone: Map<string, (...args: any[]) => void>\n // origins already warned about (#244) — dedup so a peer spamming postMessage\n // from a foreign origin can't flood a wired logger sink\n #rejectedOrigins: Set<string> = new Set()\n\n protected _logger: LoggerInterface\n\n private readonly runCallbackHandler: OmitThisParameter<(event: MessageEvent) => void>\n\n constructor(appFrame: AppFrame) {\n this._logger = LoggerFactory.createNullLogger()\n this.#appFrame = appFrame\n\n this.#callbackPromises = new Map()\n this.#callbackSingletone = new Map()\n\n this.runCallbackHandler = this._runCallback.bind(this)\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n // region Events ////\n /**\n * Subscribe to the onMessage event of the parent window\n */\n subscribe() {\n window.addEventListener('message', this.runCallbackHandler)\n }\n\n /**\n * Unsubscribe from the onMessage event of the parent window\n */\n unsubscribe(): void {\n window.removeEventListener('message', this.runCallbackHandler)\n }\n\n // endregion ////\n\n /**\n * Send message to parent window\n * The answer (if) we will get in _runCallback\n *\n * @param command\n * @param params\n */\n async send(\n command: string | MessageCommands,\n params: null | SendParams = null\n ): Promise<any> {\n return new Promise((resolve, reject) => {\n let cmd: string | object\n const promiseHandler: PromiseHandlers = {\n resolve,\n reject,\n timeoutId: null\n }\n\n const keyPromise = this.#setCallbackPromise(promiseHandler)\n let paramsSend: null | string | Record<string, any> = null\n\n const optionsSend = omit(params || {}, ['singleOption', 'callBack', 'isSafely', 'safelyTime', 'requestId'])\n const { callBack, singleOption, requestId } = params || {}\n if (callBack) {\n this.#callbackSingletone.set(keyPromise, callBack)\n }\n\n if (singleOption) {\n paramsSend = singleOption\n } else if (Object.keys(optionsSend).length > 0) {\n paramsSend = { ...optionsSend }\n }\n\n if (command.toString().includes(':')) {\n cmd = {\n method: command.toString(),\n params: paramsSend || '',\n callback: keyPromise,\n appSid: this.#appFrame.getAppSid(),\n requestId\n }\n } else {\n cmd = command.toString()\n\n if (\n params?.isRawValue !== true\n && paramsSend\n ) {\n paramsSend = JSON.stringify(paramsSend)\n } else if (\n params?.isRawValue === true\n && paramsSend\n && Type.isPlainObject(paramsSend)\n && paramsSend['value']\n ) {\n paramsSend = paramsSend['value']\n }\n\n const listParams = [\n paramsSend || '',\n keyPromise,\n this.#appFrame.getAppSid()\n ]\n\n cmd += ':' + listParams.filter(Boolean).join(':')\n }\n\n // Log only the command + callback key, never the assembled `cmd` string:\n // for setAppOption / setUserOption it carries the serialised option\n // `value`, which an app may use to store a credential (#43).\n this.getLogger().debug(`send to ${this.#appFrame.getTargetOrigin()}`, {\n command: command.toString(),\n callbackKey: keyPromise,\n origin: this.#appFrame.getTargetOrigin()\n })\n\n parent.postMessage(cmd, this.#appFrame.getTargetOrigin())\n\n if (params?.isSafely) {\n const safelyTime = Number.parseInt(String(params?.safelyTime || 900))\n this.#callbackPromises.get(keyPromise)!.timeoutId = window.setTimeout(\n () => {\n if (this.#callbackPromises.has(keyPromise)) {\n this.getLogger().warning(`action ${command.toString()} stop by timeout`, {\n command: command.toString(),\n safelyTime\n })\n\n this.#callbackPromises.delete(keyPromise)\n resolve({ isSafely: true })\n }\n },\n safelyTime\n )\n }\n })\n }\n\n /**\n * Fulfilling a promise based on messages from the parent window\n *\n * @param event\n * @private\n */\n public _runCallback(event: MessageEvent): void {\n if (event.origin !== this.#appFrame.getTargetOrigin()) {\n // Surface a message from an unexpected origin (a probe, or a misconfigured\n // parent) — log the origins only, never event.data, which may carry the\n // AUTH_ID / REFRESH_ID a foreign sender must not have echoed back (#244).\n // Log once per distinct origin so a spamming peer can't flood the sink.\n if (!this.#rejectedOrigins.has(event.origin)) {\n this.#rejectedOrigins.add(event.origin)\n this.getLogger().warning('message rejected: unexpected origin', {\n origin: event.origin,\n expected: this.#appFrame.getTargetOrigin()\n })\n }\n\n return\n }\n\n if (event.data) {\n const tmp = event.data.split(':')\n\n const cmd: { id: string, args: any } = {\n id: tmp[0],\n args: tmp.slice(1).join(':')\n }\n\n // Log only the callback id and origin — never `event.data` / `cmd.args`.\n // The inbound message carries the auth tokens (AUTH_ID / REFRESH_ID) for\n // refreshAuth / getInitData responses, embedded in the colon-joined\n // payload as an opaque substring a redactor can't see (#43).\n this.getLogger().debug(`get from ${event.origin}`, {\n id: cmd.id,\n origin: event.origin\n })\n\n if (cmd.args) {\n cmd.args = JSON.parse(cmd.args)\n }\n\n if (this.#callbackPromises.has(cmd.id)) {\n const promise = this.#callbackPromises.get(cmd.id) as PromiseHandlers\n if (promise.timeoutId) {\n clearTimeout(promise.timeoutId)\n }\n\n this.#callbackPromises.delete(cmd.id)\n\n promise.resolve(cmd.args)\n // promise.reject(cmd.args) ////\n } else if (this.#callbackSingletone.has(cmd.id)) {\n const callBack = this.#callbackSingletone.get(cmd.id) as (...args: any[]) => void\n if (callBack) {\n callBack.apply(globalThis, [cmd.args])\n }\n }\n }\n }\n\n /**\n * Storing a promise for a message from the parent window\n *\n * @param promiseHandler\n * @private\n *\n * @memo We don't use Symbol here, because we need to pass it to the parent and then find and restore it.\n */\n #setCallbackPromise(promiseHandler: PromiseHandlers): string {\n const key = Text.getUniqId()\n this.#callbackPromises.set(key, promiseHandler)\n return key\n }\n}\n"],"names":["LoggerFactory","omit","Type","Text"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const commands = require('./message/commands.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class OptionsManager {
16
+ static {
17
+ __name(this, "OptionsManager");
18
+ }
19
+ #messageManager;
20
+ #appOptions = null;
21
+ #userOptions = null;
22
+ constructor(messageManager) {
23
+ this.#messageManager = messageManager;
24
+ }
25
+ /**
26
+ * Initializes the data received from the parent window message.
27
+ * @param data
28
+ */
29
+ initData(data) {
30
+ if (data.APP_OPTIONS) {
31
+ this.#appOptions = data.APP_OPTIONS;
32
+ }
33
+ if (data.USER_OPTIONS) {
34
+ this.#userOptions = data.USER_OPTIONS;
35
+ }
36
+ return this;
37
+ }
38
+ /**
39
+ * Getting application option
40
+ *
41
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-app-option-get.html
42
+ */
43
+ appGet(option) {
44
+ if (this.#appOptions && !!this.#appOptions[option]) {
45
+ return this.#appOptions[option];
46
+ }
47
+ throw new Error(`app.option.${option} not set`);
48
+ }
49
+ /**
50
+ * Updates application data through the parent window
51
+ *
52
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-app-option-set.html
53
+ */
54
+ async appSet(option, value) {
55
+ if (!this.#appOptions) {
56
+ this.#appOptions = [];
57
+ }
58
+ this.#appOptions[option] = value;
59
+ return this.#sendParentMessage(
60
+ commands.MessageCommands.setAppOption,
61
+ option,
62
+ this.#appOptions[option]
63
+ );
64
+ }
65
+ /**
66
+ * Getting user option
67
+ *
68
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-user-option-get.html
69
+ */
70
+ userGet(option) {
71
+ if (this.#userOptions && !!this.#userOptions[option]) {
72
+ return this.#userOptions[option];
73
+ }
74
+ throw new Error(`user.option.${option} not set`);
75
+ }
76
+ /**
77
+ * Updates user data through the parent window
78
+ *
79
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-user-option-set.html
80
+ */
81
+ async userSet(option, value) {
82
+ if (!this.#appOptions) {
83
+ this.#appOptions = [];
84
+ }
85
+ if (!this.#appOptions[option]) {
86
+ this.#appOptions[option] = null;
87
+ }
88
+ this.#userOptions[option] = value;
89
+ return this.#sendParentMessage(
90
+ commands.MessageCommands.setUserOption,
91
+ option,
92
+ // @ts-expect-error this code work success
93
+ this.#userOptions[option]
94
+ );
95
+ }
96
+ async #sendParentMessage(command, option, value) {
97
+ return this.#messageManager.send(command, {
98
+ name: option,
99
+ value,
100
+ isSafely: true
101
+ }).then(() => {
102
+ return Promise.resolve();
103
+ });
104
+ }
105
+ }
106
+
107
+ exports.OptionsManager = OptionsManager;
108
+ //# sourceMappingURL=options.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.cjs","sources":["../../../src/frame/options.ts"],"sourcesContent":["import type { MessageManager } from './message'\nimport { MessageCommands } from './message'\nimport type { MessageInitData } from '../types/auth'\n\n/**\n * Manager for working with application settings via communication with the parent window\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/index.html\n */\nexport class OptionsManager {\n #messageManager: MessageManager\n #appOptions: null | Record<string, any> = null\n #userOptions: null | Record<string, any> = null\n\n constructor(messageManager: MessageManager) {\n this.#messageManager = messageManager\n }\n\n /**\n * Initializes the data received from the parent window message.\n * @param data\n */\n initData(data: MessageInitData): OptionsManager {\n if (data.APP_OPTIONS) {\n this.#appOptions = data.APP_OPTIONS as Record<string, any>\n }\n\n if (data.USER_OPTIONS) {\n this.#userOptions = data.USER_OPTIONS as Record<string, any>\n }\n\n return this\n }\n\n /**\n * Getting application option\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-app-option-get.html\n */\n appGet(option: string): any {\n if (this.#appOptions && !!this.#appOptions[option]) {\n return this.#appOptions[option]\n }\n\n throw new Error(`app.option.${option} not set`)\n }\n\n /**\n * Updates application data through the parent window\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-app-option-set.html\n */\n async appSet(option: string, value: any): Promise<void> {\n if (!this.#appOptions) {\n this.#appOptions = []\n }\n\n this.#appOptions[option] = value\n\n return this.#sendParentMessage(\n MessageCommands.setAppOption,\n option,\n this.#appOptions[option]\n )\n }\n\n /**\n * Getting user option\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-user-option-get.html\n */\n userGet(option: string): any {\n if (this.#userOptions && !!this.#userOptions[option]) {\n return this.#userOptions[option]\n }\n\n throw new Error(`user.option.${option} not set`)\n }\n\n /**\n * Updates user data through the parent window\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/options/bx24-user-option-set.html\n */\n async userSet(option: string, value: any): Promise<void> {\n if (!this.#appOptions) {\n this.#appOptions = []\n }\n\n if (!this.#appOptions[option]) {\n this.#appOptions[option] = null\n }\n\n // @ts-expect-error this code work success\n this.#userOptions[option] = value\n\n return this.#sendParentMessage(\n MessageCommands.setUserOption,\n option,\n // @ts-expect-error this code work success\n this.#userOptions[option]\n )\n }\n\n async #sendParentMessage(\n command: string,\n option: string,\n value: any\n ): Promise<void> {\n return this.#messageManager\n .send(command, {\n name: option,\n value: value,\n isSafely: true\n })\n .then(() => {\n return Promise.resolve()\n })\n }\n}\n"],"names":["MessageCommands"],"mappings":";;;;;;;;;;;;;;AASO,MAAM,cAAA,CAAe;AAAA,EAT5B;AAS4B,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAC1B,eAAA;AAAA,EACA,WAAA,GAA0C,IAAA;AAAA,EAC1C,YAAA,GAA2C,IAAA;AAAA,EAE3C,YAAY,cAAA,EAAgC;AAC1C,IAAA,IAAA,CAAK,eAAA,GAAkB,cAAA;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,IAAA,EAAuC;AAC9C,IAAA,IAAI,KAAK,WAAA,EAAa;AACpB,MAAA,IAAA,CAAK,cAAc,IAAA,CAAK,WAAA;AAAA,IAC1B;AAEA,IAAA,IAAI,KAAK,YAAA,EAAc;AACrB,MAAA,IAAA,CAAK,eAAe,IAAA,CAAK,YAAA;AAAA,IAC3B;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,MAAA,EAAqB;AAC1B,IAAA,IAAI,KAAK,WAAA,IAAe,CAAC,CAAC,IAAA,CAAK,WAAA,CAAY,MAAM,CAAA,EAAG;AAClD,MAAA,OAAO,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,IAChC;AAEA,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,WAAA,EAAc,MAAM,CAAA,QAAA,CAAU,CAAA;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,MAAA,CAAO,MAAA,EAAgB,KAAA,EAA2B;AACtD,IAAA,IAAI,CAAC,KAAK,WAAA,EAAa;AACrB,MAAA,IAAA,CAAK,cAAc,EAAC;AAAA,IACtB;AAEA,IAAA,IAAA,CAAK,WAAA,CAAY,MAAM,CAAA,GAAI,KAAA;AAE3B,IAAA,OAAO,IAAA,CAAK,kBAAA;AAAA,MACVA,wBAAA,CAAgB,YAAA;AAAA,MAChB,MAAA;AAAA,MACA,IAAA,CAAK,YAAY,MAAM;AAAA,KACzB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,MAAA,EAAqB;AAC3B,IAAA,IAAI,KAAK,YAAA,IAAgB,CAAC,CAAC,IAAA,CAAK,YAAA,CAAa,MAAM,CAAA,EAAG;AACpD,MAAA,OAAO,IAAA,CAAK,aAAa,MAAM,CAAA;AAAA,IACjC;AAEA,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,YAAA,EAAe,MAAM,CAAA,QAAA,CAAU,CAAA;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,OAAA,CAAQ,MAAA,EAAgB,KAAA,EAA2B;AACvD,IAAA,IAAI,CAAC,KAAK,WAAA,EAAa;AACrB,MAAA,IAAA,CAAK,cAAc,EAAC;AAAA,IACtB;AAEA,IAAA,IAAI,CAAC,IAAA,CAAK,WAAA,CAAY,MAAM,CAAA,EAAG;AAC7B,MAAA,IAAA,CAAK,WAAA,CAAY,MAAM,CAAA,GAAI,IAAA;AAAA,IAC7B;AAGA,IAAA,IAAA,CAAK,YAAA,CAAa,MAAM,CAAA,GAAI,KAAA;AAE5B,IAAA,OAAO,IAAA,CAAK,kBAAA;AAAA,MACVA,wBAAA,CAAgB,aAAA;AAAA,MAChB,MAAA;AAAA;AAAA,MAEA,IAAA,CAAK,aAAa,MAAM;AAAA,KAC1B;AAAA,EACF;AAAA,EAEA,MAAM,kBAAA,CACJ,OAAA,EACA,MAAA,EACA,KAAA,EACe;AACf,IAAA,OAAO,IAAA,CAAK,eAAA,CACT,IAAA,CAAK,OAAA,EAAS;AAAA,MACb,IAAA,EAAM,MAAA;AAAA,MACN,KAAA;AAAA,MACA,QAAA,EAAU;AAAA,KACX,CAAA,CACA,IAAA,CAAK,MAAM;AACV,MAAA,OAAO,QAAQ,OAAA,EAAQ;AAAA,IACzB,CAAC,CAAA;AAAA,EACL;AACF;;;;"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const scrollSize = require('../tools/scroll-size.cjs');
12
+ const commands = require('./message/commands.cjs');
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ class ParentManager {
17
+ static {
18
+ __name(this, "ParentManager");
19
+ }
20
+ #messageManager;
21
+ constructor(messageManager) {
22
+ this.#messageManager = messageManager;
23
+ }
24
+ get message() {
25
+ return this.#messageManager;
26
+ }
27
+ /**
28
+ * The method closes the open modal window with the application
29
+ *
30
+ * @return {Promise<void>}
31
+ *
32
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-close-application.html
33
+ */
34
+ async closeApplication() {
35
+ return this.#messageManager.send(commands.MessageCommands.closeApplication, {
36
+ /**
37
+ * @memo There is no point - everything will be closed, and timeout will not be able to do anything
38
+ */
39
+ isSafely: false
40
+ });
41
+ }
42
+ /**
43
+ * Sets the size of the frame containing the application to the size of the frame's content.
44
+ *
45
+ * @return {Promise<void>}
46
+ *
47
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-fit-window.html
48
+ *
49
+ * @memo in certain situations it may not be executed (placement of the main window after installing the application), in this case isSafely mode will work
50
+ */
51
+ async fitWindow() {
52
+ const width = "100%";
53
+ const height = this.getScrollSize().scrollHeight;
54
+ return this.#messageManager.send(commands.MessageCommands.resizeWindow, {
55
+ width,
56
+ height,
57
+ isSafely: true
58
+ });
59
+ }
60
+ /**
61
+ * Sets the size of the frame containing the application to the size of the frame's content.
62
+ *
63
+ * @param {number} width
64
+ * @param {number} height
65
+ *
66
+ * @return {Promise<void>}
67
+ *
68
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-resize-window.html
69
+ *
70
+ * @memo in certain situations it may not be executed, in this case isSafely mode will be triggered
71
+ */
72
+ async resizeWindow(width, height) {
73
+ if (width > 0 && height > 0) {
74
+ return this.#messageManager.send(commands.MessageCommands.resizeWindow, {
75
+ width,
76
+ height,
77
+ isSafely: true
78
+ });
79
+ }
80
+ return Promise.reject(
81
+ new Error(`Wrong width:number = ${width} or height:number = ${height}`)
82
+ );
83
+ }
84
+ /**
85
+ * Automatically resize `document.body` of frame with application according to frame content dimensions
86
+ * If you pass appNode, the height will be calculated relative to it
87
+ *
88
+ * @param {HTMLElement|null} appNode
89
+ * @param {number} minHeight
90
+ * @param {number} minWidth
91
+ *
92
+ * @return {Promise<void>}
93
+ */
94
+ async resizeWindowAuto(appNode = null, minHeight = 0, minWidth = 0) {
95
+ const body = document.body;
96
+ let width = Math.max(
97
+ body.scrollWidth,
98
+ body.offsetWidth
99
+ // html.clientWidth,
100
+ // html.scrollWidth,
101
+ // html.offsetWidth
102
+ );
103
+ if (minWidth > 0) {
104
+ width = Math.max(minWidth, width);
105
+ }
106
+ let height = Math.max(
107
+ body.scrollHeight,
108
+ body.offsetHeight
109
+ // html.clientHeight,
110
+ // html.scrollHeight,
111
+ // html.offsetHeight
112
+ );
113
+ if (appNode) {
114
+ height = Math.max(appNode.scrollHeight, appNode.offsetHeight);
115
+ }
116
+ if (minHeight > 0) {
117
+ height = Math.max(minHeight, height);
118
+ }
119
+ return this.resizeWindow(width, height);
120
+ }
121
+ /**
122
+ * This function returns the inner dimensions of the application frame
123
+ *
124
+ * @return {Promise<{scrollWidth: number; scrollHeight: number}>}
125
+ *
126
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-get-scroll-size.html
127
+ */
128
+ getScrollSize() {
129
+ return scrollSize.default();
130
+ }
131
+ /**
132
+ * Scrolls the parent window
133
+ *
134
+ * @param {number} scroll should specify the vertical scrollbar position (0 - scroll to the very top)
135
+ * @return {Promise<void>}
136
+ *
137
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-scroll-parent-window.html
138
+ */
139
+ async scrollParentWindow(scroll) {
140
+ if (!Number.isInteger(scroll)) {
141
+ return Promise.reject(new Error("Wrong scroll number"));
142
+ }
143
+ if (scroll < 0) {
144
+ scroll = 0;
145
+ }
146
+ return this.#messageManager.send(commands.MessageCommands.setScroll, {
147
+ scroll,
148
+ isSafely: true
149
+ });
150
+ }
151
+ /**
152
+ * Reload the page with the application (the whole page, not just the frame).
153
+ *
154
+ * @return {Promise<void>}
155
+ *
156
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-reload-window.html
157
+ */
158
+ async reloadWindow() {
159
+ return this.#messageManager.send(commands.MessageCommands.reloadWindow, {
160
+ isSafely: true
161
+ });
162
+ }
163
+ /**
164
+ * Sets the in-layout page title (the `#pagetitle` element the portal renders around the app).
165
+ *
166
+ * Does NOT change the browser tab title (`document.title`): the portal applies this command to
167
+ * `#pagetitle`, never to the tab. To set the browser tab title, open the view as a slider via
168
+ * `SliderManager.openSliderAppPage` with a `bx24_title` option.
169
+ *
170
+ * @param {string} title
171
+ *
172
+ * @return {Promise<void>}
173
+ *
174
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-set-title.html
175
+ */
176
+ async setTitle(title) {
177
+ return this.#messageManager.send(commands.MessageCommands.setTitle, {
178
+ title: title.toString(),
179
+ isSafely: true
180
+ });
181
+ }
182
+ /**
183
+ * Initiates a call via internal communication
184
+ *
185
+ * @param {number} userId The identifier of the account user
186
+ * @param {boolean} isVideo true - video call, false - audio call. Optional parameter.
187
+ *
188
+ * @return {Promise<void>}
189
+ *
190
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-call-to.html
191
+ */
192
+ async imCallTo(userId, isVideo = true) {
193
+ return this.#messageManager.send(commands.MessageCommands.imCallTo, {
194
+ userId,
195
+ video: isVideo,
196
+ isSafely: true
197
+ });
198
+ }
199
+ /**
200
+ * Makes a call to the phone number
201
+ *
202
+ * @param {string} phone Phone number. The number can be in the format: `+44 20 1234 5678` or `x (xxx) xxx-xx-xx`
203
+ *
204
+ * @return {Promise<void>}
205
+ *
206
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-phone-to.html
207
+ */
208
+ async imPhoneTo(phone) {
209
+ return this.#messageManager.send(commands.MessageCommands.imPhoneTo, {
210
+ phone,
211
+ isSafely: true
212
+ });
213
+ }
214
+ /**
215
+ * Opens the messenger window
216
+ * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.
217
+ * sgXXX - group chat, where XXX is the social network group number (the chat must be enabled in this group).
218
+ *
219
+ * XXXX** - open line, where XXX is the code obtained via the Rest method imopenlines.network.join.
220
+ *
221
+ * If nothing is passed, the chat interface will open with the last opened dialog.
222
+ *
223
+ * @param {number|`chat${number}`|`sg${number}`|`imol|${number}`|undefined} dialogId
224
+ *
225
+ * @return {Promise<void>}
226
+ *
227
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-messenger.html
228
+ * @link https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=20152&LESSON_PATH=7657.7883.8025.20150.20152
229
+ *
230
+ */
231
+ async imOpenMessenger(dialogId) {
232
+ return this.#messageManager.send(commands.MessageCommands.imOpenMessenger, {
233
+ dialogId,
234
+ isSafely: true
235
+ });
236
+ }
237
+ /**
238
+ * Opens the history window
239
+ * Identifier of the dialog:
240
+ *
241
+ * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.
242
+ * imol|XXXX - open line, where XXX is the session number of the open line.
243
+ *
244
+ * @param {number|`chat${number}`|`imol|${number}`} dialogId
245
+ *
246
+ * @return {Promise<void>}
247
+ *
248
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-history.html
249
+ */
250
+ async imOpenHistory(dialogId) {
251
+ return this.#messageManager.send(commands.MessageCommands.imOpenHistory, {
252
+ dialogId,
253
+ isSafely: true
254
+ });
255
+ }
256
+ }
257
+
258
+ exports.ParentManager = ParentManager;
259
+ //# sourceMappingURL=parent.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parent.cjs","sources":["../../../src/frame/parent.ts"],"sourcesContent":["import type { MessageManager } from './message'\nimport { MessageCommands } from './message'\nimport useScrollSize from '../tools/scroll-size'\n\n/**\n * Parent window manager\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/\n */\nexport class ParentManager {\n #messageManager: MessageManager\n\n constructor(messageManager: MessageManager) {\n this.#messageManager = messageManager\n }\n\n get message(): MessageManager {\n return this.#messageManager\n }\n\n /**\n * The method closes the open modal window with the application\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-close-application.html\n */\n async closeApplication(): Promise<void> {\n return this.#messageManager.send(MessageCommands.closeApplication, {\n /**\n * @memo There is no point - everything will be closed, and timeout will not be able to do anything\n */\n isSafely: false\n })\n }\n\n /**\n * Sets the size of the frame containing the application to the size of the frame's content.\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-fit-window.html\n *\n * @memo in certain situations it may not be executed (placement of the main window after installing the application), in this case isSafely mode will work\n */\n async fitWindow(): Promise<any> {\n const width = '100%'\n const height = this.getScrollSize().scrollHeight\n\n return this.#messageManager.send(MessageCommands.resizeWindow, {\n width,\n height,\n isSafely: true\n })\n }\n\n /**\n * Sets the size of the frame containing the application to the size of the frame's content.\n *\n * @param {number} width\n * @param {number} height\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-resize-window.html\n *\n * @memo in certain situations it may not be executed, in this case isSafely mode will be triggered\n */\n async resizeWindow(width: number, height: number): Promise<void> {\n if (width > 0 && height > 0) {\n return this.#messageManager.send(MessageCommands.resizeWindow, {\n width,\n height,\n isSafely: true\n })\n }\n\n return Promise.reject(\n new Error(`Wrong width:number = ${width} or height:number = ${height}`)\n )\n }\n\n /**\n * Automatically resize `document.body` of frame with application according to frame content dimensions\n * If you pass appNode, the height will be calculated relative to it\n *\n * @param {HTMLElement|null} appNode\n * @param {number} minHeight\n * @param {number} minWidth\n *\n * @return {Promise<void>}\n */\n async resizeWindowAuto(\n appNode: null | HTMLElement = null,\n minHeight: number = 0,\n minWidth: number = 0\n ): Promise<void> {\n const body = document.body\n // const html = document.documentElement\n\n let width = Math.max(\n body.scrollWidth,\n body.offsetWidth\n\n // html.clientWidth,\n // html.scrollWidth,\n // html.offsetWidth\n )\n\n if (minWidth > 0) {\n width = Math.max(minWidth, width)\n }\n\n let height = Math.max(\n body.scrollHeight,\n body.offsetHeight\n\n // html.clientHeight,\n // html.scrollHeight,\n // html.offsetHeight\n )\n\n if (appNode) {\n height = Math.max(appNode.scrollHeight, appNode.offsetHeight)\n }\n\n if (minHeight > 0) {\n height = Math.max(minHeight, height)\n }\n\n return this.resizeWindow(width, height)\n }\n\n /**\n * This function returns the inner dimensions of the application frame\n *\n * @return {Promise<{scrollWidth: number; scrollHeight: number}>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-get-scroll-size.html\n */\n getScrollSize(): {\n scrollWidth: number\n scrollHeight: number\n } {\n return useScrollSize()\n }\n\n /**\n * Scrolls the parent window\n *\n * @param {number} scroll should specify the vertical scrollbar position (0 - scroll to the very top)\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-scroll-parent-window.html\n */\n async scrollParentWindow(scroll: number): Promise<void> {\n if (!Number.isInteger(scroll)) {\n return Promise.reject(new Error('Wrong scroll number'))\n }\n\n if (scroll < 0) {\n scroll = 0\n }\n\n return this.#messageManager.send(MessageCommands.setScroll, {\n scroll,\n isSafely: true\n })\n }\n\n /**\n * Reload the page with the application (the whole page, not just the frame).\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-reload-window.html\n */\n async reloadWindow(): Promise<void> {\n return this.#messageManager.send(MessageCommands.reloadWindow, {\n isSafely: true\n })\n }\n\n /**\n * Sets the in-layout page title (the `#pagetitle` element the portal renders around the app).\n *\n * Does NOT change the browser tab title (`document.title`): the portal applies this command to\n * `#pagetitle`, never to the tab. To set the browser tab title, open the view as a slider via\n * `SliderManager.openSliderAppPage` with a `bx24_title` option.\n *\n * @param {string} title\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-set-title.html\n */\n async setTitle(title: string): Promise<void> {\n return this.#messageManager.send(MessageCommands.setTitle, {\n title: title.toString(),\n isSafely: true\n })\n }\n\n /**\n * Initiates a call via internal communication\n *\n * @param {number} userId The identifier of the account user\n * @param {boolean} isVideo true - video call, false - audio call. Optional parameter.\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-call-to.html\n */\n async imCallTo(userId: number, isVideo: boolean = true): Promise<void> {\n return this.#messageManager.send(MessageCommands.imCallTo, {\n userId,\n video: isVideo,\n isSafely: true\n })\n }\n\n /**\n * Makes a call to the phone number\n *\n * @param {string} phone Phone number. The number can be in the format: `+44 20 1234 5678` or `x (xxx) xxx-xx-xx`\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-phone-to.html\n */\n async imPhoneTo(phone: string): Promise<void> {\n return this.#messageManager.send(MessageCommands.imPhoneTo, {\n phone,\n isSafely: true\n })\n }\n\n /**\n * Opens the messenger window\n * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.\n * sgXXX - group chat, where XXX is the social network group number (the chat must be enabled in this group).\n *\n * XXXX** - open line, where XXX is the code obtained via the Rest method imopenlines.network.join.\n *\n * If nothing is passed, the chat interface will open with the last opened dialog.\n *\n * @param {number|`chat${number}`|`sg${number}`|`imol|${number}`|undefined} dialogId\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-messenger.html\n * @link https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=20152&LESSON_PATH=7657.7883.8025.20150.20152\n *\n */\n async imOpenMessenger(\n dialogId:\n | number\n | `chat${number}`\n | `sg${number}`\n | `imol|${number}`\n | undefined\n ): Promise<void> {\n return this.#messageManager.send(MessageCommands.imOpenMessenger, {\n dialogId: dialogId,\n isSafely: true\n })\n }\n\n /**\n * Opens the history window\n * Identifier of the dialog:\n *\n * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.\n * imol|XXXX - open line, where XXX is the session number of the open line.\n *\n * @param {number|`chat${number}`|`imol|${number}`} dialogId\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-history.html\n */\n async imOpenHistory(\n dialogId: number | `chat${number}` | `imol|${number}`\n ): Promise<void> {\n return this.#messageManager.send(MessageCommands.imOpenHistory, {\n dialogId: dialogId,\n isSafely: true\n })\n }\n}\n"],"names":["MessageCommands","useScrollSize"],"mappings":"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"}