crmbonus-component-wake 2.1.41-ngrok → 2.1.41-shoulder

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 (303) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/app-modal.cjs.entry.js +2 -2
  3. package/dist/cjs/app-modal.cjs.entry.js.map +1 -1
  4. package/dist/cjs/bc-crmbonus.cjs.entry.js +28 -0
  5. package/dist/cjs/bc-crmbonus.cjs.entry.js.map +1 -0
  6. package/dist/cjs/bc-phone-form_2.cjs.entry.js +333 -0
  7. package/dist/cjs/bc-phone-form_2.cjs.entry.js.map +1 -0
  8. package/dist/cjs/bc-wake-crmbonus.cjs.entry.js +18 -0
  9. package/dist/cjs/bc-wake-crmbonus.cjs.entry.js.map +1 -0
  10. package/dist/cjs/cart.helper-d1f02660.js +201 -0
  11. package/dist/cjs/cart.helper-d1f02660.js.map +1 -0
  12. package/dist/cjs/container-empty.cjs.entry.js +2 -2
  13. package/dist/cjs/container-empty.cjs.entry.js.map +1 -1
  14. package/dist/cjs/countdown-timer-v2.cjs.entry.js +2 -2
  15. package/dist/cjs/countdown-timer-v2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/countdown-timer_11.cjs.entry.js +55 -43
  17. package/dist/cjs/countdown-timer_11.cjs.entry.js.map +1 -1
  18. package/dist/cjs/crm-bonus-note.cjs.entry.js +14 -12
  19. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
  20. package/dist/cjs/crmbonus-component-wake.cjs.js +2 -2
  21. package/dist/{components/p-0d09c221.js → cjs/crmbonus.service-ef8fe456.js} +30 -117
  22. package/dist/cjs/crmbonus.service-ef8fe456.js.map +1 -0
  23. package/dist/{esm/info.config.helper-e4b8c478.js → cjs/i18n-defaa4f8.js} +3 -30
  24. package/dist/cjs/i18n-defaa4f8.js.map +1 -0
  25. package/dist/cjs/{index-a7537457.js → index-e45b352e.js} +17 -1
  26. package/dist/cjs/index-e45b352e.js.map +1 -0
  27. package/dist/cjs/info.config.helper-52984ab9.js +36 -0
  28. package/dist/cjs/info.config.helper-52984ab9.js.map +1 -0
  29. package/dist/cjs/loader.cjs.js +2 -2
  30. package/dist/cjs/pedido-finalizado.cjs.entry.js +6 -5
  31. package/dist/cjs/pedido-finalizado.cjs.entry.js.map +1 -1
  32. package/dist/cjs/utils-5d59acb1.js.map +1 -1
  33. package/dist/collection/assets/svg/money-dollars-svgrepo-com.svg +5 -5
  34. package/dist/collection/collection-manifest.json +5 -1
  35. package/dist/collection/components/button/crm-button.css +21 -21
  36. package/dist/collection/components/button/index.js +1 -1
  37. package/dist/collection/components/button/index.js.map +1 -1
  38. package/dist/collection/components/countdown-timer/countdown-timer.js +1 -1
  39. package/dist/collection/components/countdown-timer/countdown-timer.js.map +1 -1
  40. package/dist/collection/components/countdown-timer/countdown-timer.v2.js +2 -2
  41. package/dist/collection/components/countdown-timer/countdown-timer.v2.js.map +1 -1
  42. package/dist/collection/components/crm-bonus/assets/logo.svg +17 -17
  43. package/dist/collection/components/crm-bonus/assets/svg/logo.svg +17 -17
  44. package/dist/collection/components/crm-bonus/crm-bonus.css +86 -82
  45. package/dist/collection/components/crm-bonus/crm-bonus.js +16 -7
  46. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  47. package/dist/collection/components/crmbonus/crmbonus.js +26 -0
  48. package/dist/collection/components/crmbonus/crmbonus.js.map +1 -0
  49. package/dist/collection/components/crmbonus/subcomponents/phone-form/index.js +95 -0
  50. package/dist/collection/components/crmbonus/subcomponents/phone-form/index.js.map +1 -0
  51. package/dist/collection/components/crmbonus/subcomponents/phone-form/styles.scss +5 -0
  52. package/dist/collection/components/crmbonus/subcomponents/phone-validate/index.js +129 -0
  53. package/dist/collection/components/crmbonus/subcomponents/phone-validate/index.js.map +1 -0
  54. package/dist/collection/components/crmbonus/subcomponents/phone-validate/styles.scss +84 -0
  55. package/dist/collection/components/giftback-form/giftback-form.css +74 -74
  56. package/dist/collection/components/giftback-form/giftback-form.js +5 -5
  57. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  58. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +181 -181
  59. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +6 -6
  60. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -1
  61. package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js.map +1 -1
  62. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
  63. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js.map +1 -1
  64. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.css +83 -83
  65. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
  66. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js.map +1 -1
  67. package/dist/collection/components/loading-container/container-empty.js +1 -1
  68. package/dist/collection/components/loading-container/container-empty.js.map +1 -1
  69. package/dist/collection/components/loading-container/loading-container.css +53 -53
  70. package/dist/collection/components/loading-container/loading-container.js +1 -1
  71. package/dist/collection/components/loading-container/loading-container.js.map +1 -1
  72. package/dist/collection/components/loading-spinner/loading-spinner.css +16 -16
  73. package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
  74. package/dist/collection/components/loading-spinner/loading-spinner.js.map +1 -1
  75. package/dist/collection/components/modal/app-modal.css +44 -44
  76. package/dist/collection/components/modal/app-modal.js +1 -1
  77. package/dist/collection/components/modal/app-modal.js.map +1 -1
  78. package/dist/collection/components/note/crm-bonus-note.css +68 -68
  79. package/dist/collection/components/note/crm-bonus-note.js +2 -2
  80. package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
  81. package/dist/collection/components/pedido/pedido.js +2 -2
  82. package/dist/collection/components/pedido/pedido.js.map +1 -1
  83. package/dist/collection/components/phone/phone-input-mask.css +40 -40
  84. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  85. package/dist/collection/components/phone/phone-input-mask.js.map +1 -1
  86. package/dist/collection/components/tooltip/crm-tooltip.css +48 -48
  87. package/dist/collection/components/tooltip/tooltip.js +1 -1
  88. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  89. package/dist/collection/contants/index.js.map +1 -1
  90. package/dist/collection/contants/mocks.js.map +1 -1
  91. package/dist/collection/dto/checkout.dto.js +2 -0
  92. package/dist/collection/dto/checkout.dto.js.map +1 -0
  93. package/dist/collection/dto/pin.sent.js.map +1 -1
  94. package/dist/collection/dto/reserved-info.dto.js.map +1 -1
  95. package/dist/collection/dto/update.order.dto.js.map +1 -1
  96. package/dist/collection/dto/validate.pin.bonus.js.map +1 -1
  97. package/dist/collection/helpers/build.payload.helper.js +1 -0
  98. package/dist/collection/helpers/build.payload.helper.js.map +1 -1
  99. package/dist/collection/helpers/cart.helper.js +55 -1
  100. package/dist/collection/helpers/cart.helper.js.map +1 -1
  101. package/dist/collection/helpers/info.config.helper.js.map +1 -1
  102. package/dist/collection/helpers/payload.interface.js.map +1 -1
  103. package/dist/collection/helpers/time.helper.js.map +1 -1
  104. package/dist/collection/i18n/i18n.js.map +1 -1
  105. package/dist/collection/index.js.map +1 -1
  106. package/dist/collection/objectvalues/cart.wake.js +33 -8
  107. package/dist/collection/objectvalues/cart.wake.js.map +1 -1
  108. package/dist/collection/platforms/wake/index.js +8 -0
  109. package/dist/collection/platforms/wake/index.js.map +1 -0
  110. package/dist/collection/services/crmbonus.service.js +21 -2
  111. package/dist/collection/services/crmbonus.service.js.map +1 -1
  112. package/dist/collection/utils/keys.storage.js.map +1 -1
  113. package/dist/collection/utils/retry.utils.js.map +1 -1
  114. package/dist/collection/utils/utils.js.map +1 -1
  115. package/dist/components/app-modal.js +2 -2
  116. package/dist/components/app-modal.js.map +1 -1
  117. package/dist/components/bc-crmbonus.d.ts +11 -0
  118. package/dist/components/bc-crmbonus.js +8 -0
  119. package/dist/components/bc-crmbonus.js.map +1 -0
  120. package/dist/components/bc-phone-form.d.ts +11 -0
  121. package/dist/components/bc-phone-form.js +8 -0
  122. package/dist/components/bc-phone-form.js.map +1 -0
  123. package/dist/components/bc-phone-validate-pin-form.d.ts +11 -0
  124. package/dist/components/bc-phone-validate-pin-form.js +8 -0
  125. package/dist/components/bc-phone-validate-pin-form.js.map +1 -0
  126. package/dist/components/bc-wake-crmbonus.d.ts +11 -0
  127. package/dist/components/bc-wake-crmbonus.js +74 -0
  128. package/dist/components/bc-wake-crmbonus.js.map +1 -0
  129. package/dist/components/container-empty.js +2 -2
  130. package/dist/components/container-empty.js.map +1 -1
  131. package/dist/components/countdown-timer-v2.js +2 -2
  132. package/dist/components/countdown-timer-v2.js.map +1 -1
  133. package/dist/components/countdown-timer.js +1 -1
  134. package/dist/components/crm-bonus-note.js +8 -7
  135. package/dist/components/crm-bonus-note.js.map +1 -1
  136. package/dist/components/crm-bonus.js +30 -19
  137. package/dist/components/crm-bonus.js.map +1 -1
  138. package/dist/components/crm-button.js +1 -1
  139. package/dist/components/crm-giftback-form.js +1 -1
  140. package/dist/components/crm-tooltip.js +1 -1
  141. package/dist/components/giftback-info.js +1 -1
  142. package/dist/components/index.js +1 -1
  143. package/dist/components/loading-container.js +1 -1
  144. package/dist/components/loading-spinner.js +1 -1
  145. package/dist/components/p-06d73541.js +80 -0
  146. package/dist/components/p-06d73541.js.map +1 -0
  147. package/dist/components/p-09f86f1d.js +106 -0
  148. package/dist/components/p-09f86f1d.js.map +1 -0
  149. package/dist/components/p-1b441909.js.map +1 -1
  150. package/dist/components/p-2362455d.js +195 -0
  151. package/dist/components/p-2362455d.js.map +1 -0
  152. package/dist/components/p-2fac7f5e.js +78 -0
  153. package/dist/components/p-2fac7f5e.js.map +1 -0
  154. package/dist/components/{p-786485b2.js → p-39bd2459.js} +3 -3
  155. package/dist/components/p-39bd2459.js.map +1 -0
  156. package/dist/components/{p-144c34f6.js → p-496bc4af.js} +17 -16
  157. package/dist/components/p-496bc4af.js.map +1 -0
  158. package/dist/{esm/cart.helper-8c8d4a0a.js → components/p-60787be2.js} +25 -117
  159. package/dist/components/p-60787be2.js.map +1 -0
  160. package/dist/components/{p-0a7ccd8c.js → p-6aa17c2b.js} +6 -6
  161. package/dist/components/p-6aa17c2b.js.map +1 -0
  162. package/dist/components/{p-c250687d.js → p-80a69118.js} +4 -4
  163. package/dist/components/p-80a69118.js.map +1 -0
  164. package/dist/components/p-81e4e697.js +1298 -0
  165. package/dist/components/p-81e4e697.js.map +1 -0
  166. package/dist/components/{p-2cece106.js → p-8f45d088.js} +3 -3
  167. package/dist/components/p-8f45d088.js.map +1 -0
  168. package/dist/components/{p-9b5c07d8.js → p-9231dc5e.js} +4 -4
  169. package/dist/components/p-9231dc5e.js.map +1 -0
  170. package/dist/components/{p-3c8ae82e.js → p-ade5e41e.js} +11 -10
  171. package/dist/components/p-ade5e41e.js.map +1 -0
  172. package/dist/components/p-af3ba015.js.map +1 -1
  173. package/dist/components/{p-e6863cf5.js → p-bf1d624e.js} +6 -6
  174. package/dist/components/p-bf1d624e.js.map +1 -0
  175. package/dist/components/{p-8274e2c4.js → p-c1522ad8.js} +3 -3
  176. package/dist/components/p-c1522ad8.js.map +1 -0
  177. package/dist/components/p-c53241bf.js.map +1 -1
  178. package/dist/components/{p-11520f0f.js → p-eabf185c.js} +3 -3
  179. package/dist/components/p-eabf185c.js.map +1 -0
  180. package/dist/components/p-ecc51430.js.map +1 -1
  181. package/dist/components/{p-9d950d25.js → p-f58c9cb2.js} +2 -2
  182. package/dist/components/p-f58c9cb2.js.map +1 -0
  183. package/dist/components/pedido-finalizado.js +5 -4
  184. package/dist/components/pedido-finalizado.js.map +1 -1
  185. package/dist/components/phone-form.js +1 -1
  186. package/dist/components/phone-input-mask.js +1 -1
  187. package/dist/components/pin-form.js +1 -1
  188. package/dist/crmbonus-component-wake/assets/logo.svg +17 -17
  189. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  190. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  191. package/dist/crmbonus-component-wake/{p-ac027576.entry.js → p-06d494c4.entry.js} +2 -2
  192. package/dist/crmbonus-component-wake/p-06d494c4.entry.js.map +1 -0
  193. package/dist/crmbonus-component-wake/{p-8c362346.js → p-19848de4.js} +2 -2
  194. package/dist/crmbonus-component-wake/p-19848de4.js.map +1 -0
  195. package/dist/crmbonus-component-wake/p-20d0467e.js +2 -0
  196. package/dist/crmbonus-component-wake/p-20d0467e.js.map +1 -0
  197. package/dist/crmbonus-component-wake/p-2362455d.js +2 -0
  198. package/dist/crmbonus-component-wake/p-2362455d.js.map +1 -0
  199. package/dist/crmbonus-component-wake/p-2dd97532.entry.js +2 -0
  200. package/dist/crmbonus-component-wake/p-2dd97532.entry.js.map +1 -0
  201. package/dist/crmbonus-component-wake/p-3e02757c.entry.js +2 -0
  202. package/dist/crmbonus-component-wake/p-3e02757c.entry.js.map +1 -0
  203. package/dist/crmbonus-component-wake/p-4cbebe64.entry.js +2 -0
  204. package/dist/crmbonus-component-wake/p-4cbebe64.entry.js.map +1 -0
  205. package/dist/crmbonus-component-wake/{p-0d09c221.js → p-60787be2.js} +2 -2
  206. package/dist/crmbonus-component-wake/p-60787be2.js.map +1 -0
  207. package/dist/crmbonus-component-wake/p-6e7c09cd.entry.js +2 -0
  208. package/dist/crmbonus-component-wake/p-6e7c09cd.entry.js.map +1 -0
  209. package/dist/crmbonus-component-wake/p-9b556ee6.entry.js +2 -0
  210. package/dist/crmbonus-component-wake/p-9b556ee6.entry.js.map +1 -0
  211. package/dist/crmbonus-component-wake/p-af3ba015.js.map +1 -1
  212. package/dist/crmbonus-component-wake/p-b435da9a.entry.js +2 -0
  213. package/dist/crmbonus-component-wake/p-b435da9a.entry.js.map +1 -0
  214. package/dist/crmbonus-component-wake/p-c53241bf.js +2 -0
  215. package/dist/crmbonus-component-wake/p-c53241bf.js.map +1 -0
  216. package/dist/crmbonus-component-wake/p-c533ea8b.entry.js +2 -0
  217. package/dist/crmbonus-component-wake/p-c533ea8b.entry.js.map +1 -0
  218. package/dist/crmbonus-component-wake/p-c7d03986.entry.js +2 -0
  219. package/dist/crmbonus-component-wake/p-c7d03986.entry.js.map +1 -0
  220. package/dist/env.js +2 -2
  221. package/dist/env.js.map +1 -1
  222. package/dist/esm/app-modal.entry.js +2 -2
  223. package/dist/esm/app-modal.entry.js.map +1 -1
  224. package/dist/esm/bc-crmbonus.entry.js +24 -0
  225. package/dist/esm/bc-crmbonus.entry.js.map +1 -0
  226. package/dist/esm/bc-phone-form_2.entry.js +328 -0
  227. package/dist/esm/bc-phone-form_2.entry.js.map +1 -0
  228. package/dist/esm/bc-wake-crmbonus.entry.js +14 -0
  229. package/dist/esm/bc-wake-crmbonus.entry.js.map +1 -0
  230. package/dist/esm/cart.helper-22ecdec9.js +195 -0
  231. package/dist/esm/cart.helper-22ecdec9.js.map +1 -0
  232. package/dist/esm/container-empty.entry.js +2 -2
  233. package/dist/esm/container-empty.entry.js.map +1 -1
  234. package/dist/esm/countdown-timer-v2.entry.js +2 -2
  235. package/dist/esm/countdown-timer-v2.entry.js.map +1 -1
  236. package/dist/esm/countdown-timer_11.entry.js +41 -29
  237. package/dist/esm/countdown-timer_11.entry.js.map +1 -1
  238. package/dist/esm/crm-bonus-note.entry.js +9 -7
  239. package/dist/esm/crm-bonus-note.entry.js.map +1 -1
  240. package/dist/esm/crmbonus-component-wake.js +3 -3
  241. package/dist/{cjs/cart.helper-31ba8997.js → esm/crmbonus.service-d83e6bb6.js} +25 -125
  242. package/dist/esm/crmbonus.service-d83e6bb6.js.map +1 -0
  243. package/dist/{cjs/info.config.helper-d4b1291b.js → esm/i18n-b9d8b0cc.js} +2 -36
  244. package/dist/esm/i18n-b9d8b0cc.js.map +1 -0
  245. package/dist/esm/{index-bdb70d5a.js → index-09314622.js} +16 -2
  246. package/dist/esm/index-09314622.js.map +1 -0
  247. package/dist/esm/info.config.helper-156cb9b2.js +32 -0
  248. package/dist/esm/info.config.helper-156cb9b2.js.map +1 -0
  249. package/dist/esm/loader.js +3 -3
  250. package/dist/esm/pedido-finalizado.entry.js +5 -4
  251. package/dist/esm/pedido-finalizado.entry.js.map +1 -1
  252. package/dist/esm/utils-dec6df66.js.map +1 -1
  253. package/dist/store.js +25 -0
  254. package/dist/store.js.map +1 -0
  255. package/dist/types/components/crmbonus/crmbonus.d.ts +9 -0
  256. package/dist/types/components/crmbonus/subcomponents/phone-form/index.d.ts +13 -0
  257. package/dist/types/components/crmbonus/subcomponents/phone-validate/index.d.ts +17 -0
  258. package/dist/types/components.d.ts +76 -0
  259. package/dist/types/dto/checkout.dto.d.ts +8 -0
  260. package/dist/types/dto/pin.sent.d.ts +3 -0
  261. package/dist/types/dto/validate.pin.bonus.d.ts +9 -0
  262. package/dist/types/helpers/cart.helper.d.ts +1 -0
  263. package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +2 -0
  264. package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/store.d.ts +11 -0
  265. package/dist/types/objectvalues/cart.wake.d.ts +2 -1
  266. package/dist/types/platforms/wake/index.d.ts +3 -0
  267. package/dist/types/services/crmbonus.service.d.ts +4 -2
  268. package/package.json +59 -58
  269. package/readme.md +114 -114
  270. package/dist/cjs/cart.helper-31ba8997.js.map +0 -1
  271. package/dist/cjs/index-a7537457.js.map +0 -1
  272. package/dist/cjs/info.config.helper-d4b1291b.js.map +0 -1
  273. package/dist/components/p-0a7ccd8c.js.map +0 -1
  274. package/dist/components/p-0d09c221.js.map +0 -1
  275. package/dist/components/p-11520f0f.js.map +0 -1
  276. package/dist/components/p-144c34f6.js.map +0 -1
  277. package/dist/components/p-2cece106.js.map +0 -1
  278. package/dist/components/p-3c8ae82e.js.map +0 -1
  279. package/dist/components/p-786485b2.js.map +0 -1
  280. package/dist/components/p-8274e2c4.js.map +0 -1
  281. package/dist/components/p-9b5c07d8.js.map +0 -1
  282. package/dist/components/p-9d950d25.js.map +0 -1
  283. package/dist/components/p-c250687d.js.map +0 -1
  284. package/dist/components/p-e6863cf5.js.map +0 -1
  285. package/dist/crmbonus-component-wake/p-0d09c221.js.map +0 -1
  286. package/dist/crmbonus-component-wake/p-1644deef.entry.js +0 -2
  287. package/dist/crmbonus-component-wake/p-1644deef.entry.js.map +0 -1
  288. package/dist/crmbonus-component-wake/p-60742512.entry.js +0 -2
  289. package/dist/crmbonus-component-wake/p-60742512.entry.js.map +0 -1
  290. package/dist/crmbonus-component-wake/p-7e52727e.entry.js +0 -2
  291. package/dist/crmbonus-component-wake/p-7e52727e.entry.js.map +0 -1
  292. package/dist/crmbonus-component-wake/p-8c362346.js.map +0 -1
  293. package/dist/crmbonus-component-wake/p-ac027576.entry.js.map +0 -1
  294. package/dist/crmbonus-component-wake/p-ac1e7c32.entry.js +0 -2
  295. package/dist/crmbonus-component-wake/p-ac1e7c32.entry.js.map +0 -1
  296. package/dist/crmbonus-component-wake/p-b4f52f79.js +0 -2
  297. package/dist/crmbonus-component-wake/p-b4f52f79.js.map +0 -1
  298. package/dist/crmbonus-component-wake/p-df80d1b0.entry.js +0 -2
  299. package/dist/crmbonus-component-wake/p-df80d1b0.entry.js.map +0 -1
  300. package/dist/esm/cart.helper-8c8d4a0a.js.map +0 -1
  301. package/dist/esm/index-bdb70d5a.js.map +0 -1
  302. package/dist/esm/info.config.helper-e4b8c478.js.map +0 -1
  303. package/dist/types/Users/Darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +0 -2
@@ -0,0 +1,1298 @@
1
+ import { B as BUILD, N as NAMESPACE } from './p-f58c9cb2.js';
2
+
3
+ /*
4
+ Stencil Client Platform v4.22.2 | MIT Licensed | https://stenciljs.com
5
+ */
6
+ var __defProp = Object.defineProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var hostRefs = /* @__PURE__ */ new WeakMap();
12
+ var getHostRef = (ref) => hostRefs.get(ref);
13
+ var isMemberInElement = (elm, memberName) => memberName in elm;
14
+ var consoleError = (e, el) => (0, console.error)(e, el);
15
+
16
+ // src/client/client-style.ts
17
+ var styles = /* @__PURE__ */ new Map();
18
+ var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
19
+ var win = typeof window !== "undefined" ? window : {};
20
+ var doc = win.document || { head: {} };
21
+ var plt = {
22
+ $flags$: 0,
23
+ $resourcesUrl$: "",
24
+ jmp: (h2) => h2(),
25
+ raf: (h2) => requestAnimationFrame(h2),
26
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
27
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
28
+ ce: (eventName, opts) => new CustomEvent(eventName, opts)
29
+ };
30
+ var promiseResolve = (v) => Promise.resolve(v);
31
+ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
32
+ try {
33
+ new CSSStyleSheet();
34
+ return typeof new CSSStyleSheet().replaceSync === "function";
35
+ } catch (e) {
36
+ }
37
+ return false;
38
+ })() ;
39
+ var queuePending = false;
40
+ var queueDomReads = [];
41
+ var queueDomWrites = [];
42
+ var queueTask = (queue, write) => (cb) => {
43
+ queue.push(cb);
44
+ if (!queuePending) {
45
+ queuePending = true;
46
+ if (write && plt.$flags$ & 4 /* queueSync */) {
47
+ nextTick(flush);
48
+ } else {
49
+ plt.raf(flush);
50
+ }
51
+ }
52
+ };
53
+ var consume = (queue) => {
54
+ for (let i2 = 0; i2 < queue.length; i2++) {
55
+ try {
56
+ queue[i2](performance.now());
57
+ } catch (e) {
58
+ consoleError(e);
59
+ }
60
+ }
61
+ queue.length = 0;
62
+ };
63
+ var flush = () => {
64
+ consume(queueDomReads);
65
+ {
66
+ consume(queueDomWrites);
67
+ if (queuePending = queueDomReads.length > 0) {
68
+ plt.raf(flush);
69
+ }
70
+ }
71
+ };
72
+ var nextTick = (cb) => promiseResolve().then(cb);
73
+ var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
74
+
75
+ // src/utils/constants.ts
76
+ var EMPTY_OBJ = {};
77
+
78
+ // src/utils/helpers.ts
79
+ var isDef = (v) => v != null;
80
+ var isComplexType = (o) => {
81
+ o = typeof o;
82
+ return o === "object" || o === "function";
83
+ };
84
+
85
+ // src/utils/query-nonce-meta-tag-content.ts
86
+ function queryNonceMetaTagContent(doc2) {
87
+ var _a, _b, _c;
88
+ return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
89
+ }
90
+
91
+ // src/utils/result.ts
92
+ var result_exports = {};
93
+ __export(result_exports, {
94
+ err: () => err,
95
+ map: () => map,
96
+ ok: () => ok,
97
+ unwrap: () => unwrap$1,
98
+ unwrapErr: () => unwrapErr
99
+ });
100
+ var ok = (value) => ({
101
+ isOk: true,
102
+ isErr: false,
103
+ value
104
+ });
105
+ var err = (value) => ({
106
+ isOk: false,
107
+ isErr: true,
108
+ value
109
+ });
110
+ function map(result, fn) {
111
+ if (result.isOk) {
112
+ const val = fn(result.value);
113
+ if (val instanceof Promise) {
114
+ return val.then((newVal) => ok(newVal));
115
+ } else {
116
+ return ok(val);
117
+ }
118
+ }
119
+ if (result.isErr) {
120
+ const value = result.value;
121
+ return err(value);
122
+ }
123
+ throw "should never get here";
124
+ }
125
+ var unwrap$1 = (result) => {
126
+ if (result.isOk) {
127
+ return result.value;
128
+ } else {
129
+ throw result.value;
130
+ }
131
+ };
132
+ var unwrapErr = (result) => {
133
+ if (result.isErr) {
134
+ return result.value;
135
+ } else {
136
+ throw result.value;
137
+ }
138
+ };
139
+ var createTime = (fnName, tagName = "") => {
140
+ {
141
+ return () => {
142
+ return;
143
+ };
144
+ }
145
+ };
146
+ var h = (nodeName, vnodeData, ...children) => {
147
+ let child = null;
148
+ let key = null;
149
+ let slotName = null;
150
+ let simple = false;
151
+ let lastSimple = false;
152
+ const vNodeChildren = [];
153
+ const walk = (c) => {
154
+ for (let i2 = 0; i2 < c.length; i2++) {
155
+ child = c[i2];
156
+ if (Array.isArray(child)) {
157
+ walk(child);
158
+ } else if (child != null && typeof child !== "boolean") {
159
+ if (simple = typeof nodeName !== "function" && !isComplexType(child)) {
160
+ child = String(child);
161
+ }
162
+ if (simple && lastSimple) {
163
+ vNodeChildren[vNodeChildren.length - 1].$text$ += child;
164
+ } else {
165
+ vNodeChildren.push(simple ? newVNode(null, child) : child);
166
+ }
167
+ lastSimple = simple;
168
+ }
169
+ }
170
+ };
171
+ walk(children);
172
+ if (vnodeData) {
173
+ if (vnodeData.key) {
174
+ key = vnodeData.key;
175
+ }
176
+ if (vnodeData.name) {
177
+ slotName = vnodeData.name;
178
+ }
179
+ {
180
+ const classData = vnodeData.className || vnodeData.class;
181
+ if (classData) {
182
+ vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" ");
183
+ }
184
+ }
185
+ }
186
+ const vnode = newVNode(nodeName, null);
187
+ vnode.$attrs$ = vnodeData;
188
+ if (vNodeChildren.length > 0) {
189
+ vnode.$children$ = vNodeChildren;
190
+ }
191
+ {
192
+ vnode.$key$ = key;
193
+ }
194
+ {
195
+ vnode.$name$ = slotName;
196
+ }
197
+ return vnode;
198
+ };
199
+ var newVNode = (tag, text) => {
200
+ const vnode = {
201
+ $flags$: 0,
202
+ $tag$: tag,
203
+ $text$: text,
204
+ $elm$: null,
205
+ $children$: null
206
+ };
207
+ {
208
+ vnode.$attrs$ = null;
209
+ }
210
+ {
211
+ vnode.$key$ = null;
212
+ }
213
+ {
214
+ vnode.$name$ = null;
215
+ }
216
+ return vnode;
217
+ };
218
+ var Host = {};
219
+ var isHost = (node) => node && node.$tag$ === Host;
220
+ var emitEvent = (elm, name, opts) => {
221
+ const ev = plt.ce(name, opts);
222
+ elm.dispatchEvent(ev);
223
+ return ev;
224
+ };
225
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
226
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
227
+ var _a;
228
+ const scopeId2 = getScopeId(cmpMeta);
229
+ const style = styles.get(scopeId2);
230
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
231
+ if (style) {
232
+ if (typeof style === "string") {
233
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
234
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
235
+ let styleElm;
236
+ if (!appliedStyles) {
237
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
238
+ }
239
+ if (!appliedStyles.has(scopeId2)) {
240
+ {
241
+ styleElm = doc.createElement("style");
242
+ styleElm.innerHTML = style;
243
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
244
+ if (nonce != null) {
245
+ styleElm.setAttribute("nonce", nonce);
246
+ }
247
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
248
+ if (styleContainerNode.nodeName === "HEAD") {
249
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
250
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
251
+ styleContainerNode.insertBefore(styleElm, referenceNode2);
252
+ } else if ("host" in styleContainerNode) {
253
+ if (supportsConstructableStylesheets) {
254
+ const stylesheet = new CSSStyleSheet();
255
+ stylesheet.replaceSync(style);
256
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
257
+ } else {
258
+ const existingStyleContainer = styleContainerNode.querySelector("style");
259
+ if (existingStyleContainer) {
260
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
261
+ } else {
262
+ styleContainerNode.prepend(styleElm);
263
+ }
264
+ }
265
+ } else {
266
+ styleContainerNode.append(styleElm);
267
+ }
268
+ }
269
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
270
+ styleContainerNode.insertBefore(styleElm, null);
271
+ }
272
+ }
273
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
274
+ styleElm.innerHTML += SLOT_FB_CSS;
275
+ }
276
+ if (appliedStyles) {
277
+ appliedStyles.add(scopeId2);
278
+ }
279
+ }
280
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
281
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
282
+ }
283
+ }
284
+ return scopeId2;
285
+ };
286
+ var attachStyles = (hostRef) => {
287
+ const cmpMeta = hostRef.$cmpMeta$;
288
+ const elm = hostRef.$hostElement$;
289
+ const flags = cmpMeta.$flags$;
290
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
291
+ const scopeId2 = addStyle(
292
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
293
+ cmpMeta);
294
+ if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
295
+ elm["s-sc"] = scopeId2;
296
+ elm.classList.add(scopeId2 + "-h");
297
+ }
298
+ endAttachStyles();
299
+ };
300
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
301
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
302
+ if (oldValue !== newValue) {
303
+ let isProp = isMemberInElement(elm, memberName);
304
+ let ln = memberName.toLowerCase();
305
+ if (memberName === "class") {
306
+ const classList = elm.classList;
307
+ const oldClasses = parseClassList(oldValue);
308
+ const newClasses = parseClassList(newValue);
309
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
310
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
311
+ } else if (memberName === "style") {
312
+ {
313
+ for (const prop in oldValue) {
314
+ if (!newValue || newValue[prop] == null) {
315
+ if (prop.includes("-")) {
316
+ elm.style.removeProperty(prop);
317
+ } else {
318
+ elm.style[prop] = "";
319
+ }
320
+ }
321
+ }
322
+ }
323
+ for (const prop in newValue) {
324
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
325
+ if (prop.includes("-")) {
326
+ elm.style.setProperty(prop, newValue[prop]);
327
+ } else {
328
+ elm.style[prop] = newValue[prop];
329
+ }
330
+ }
331
+ }
332
+ } else if (memberName === "key") ; else if (memberName === "ref") {
333
+ if (newValue) {
334
+ newValue(elm);
335
+ }
336
+ } else if ((!elm.__lookupSetter__(memberName)) && memberName[0] === "o" && memberName[1] === "n") {
337
+ if (memberName[2] === "-") {
338
+ memberName = memberName.slice(3);
339
+ } else if (isMemberInElement(win, ln)) {
340
+ memberName = ln.slice(2);
341
+ } else {
342
+ memberName = ln[2] + memberName.slice(3);
343
+ }
344
+ if (oldValue || newValue) {
345
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
346
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
347
+ if (oldValue) {
348
+ plt.rel(elm, memberName, oldValue, capture);
349
+ }
350
+ if (newValue) {
351
+ plt.ael(elm, memberName, newValue, capture);
352
+ }
353
+ }
354
+ } else {
355
+ const isComplex = isComplexType(newValue);
356
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
357
+ try {
358
+ if (!elm.tagName.includes("-")) {
359
+ const n = newValue == null ? "" : newValue;
360
+ if (memberName === "list") {
361
+ isProp = false;
362
+ } else if (oldValue == null || elm[memberName] != n) {
363
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
364
+ elm[memberName] = n;
365
+ } else {
366
+ elm.setAttribute(memberName, n);
367
+ }
368
+ }
369
+ } else {
370
+ elm[memberName] = newValue;
371
+ }
372
+ } catch (e) {
373
+ }
374
+ }
375
+ if (newValue == null || newValue === false) {
376
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
377
+ {
378
+ elm.removeAttribute(memberName);
379
+ }
380
+ }
381
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
382
+ newValue = newValue === true ? "" : newValue;
383
+ {
384
+ elm.setAttribute(memberName, newValue);
385
+ }
386
+ }
387
+ }
388
+ }
389
+ };
390
+ var parseClassListRegex = /\s/;
391
+ var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
392
+ var CAPTURE_EVENT_SUFFIX = "Capture";
393
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
394
+
395
+ // src/runtime/vdom/update-element.ts
396
+ var updateElement = (oldVnode, newVnode, isSvgMode2) => {
397
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
398
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
399
+ const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
400
+ {
401
+ for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
402
+ if (!(memberName in newVnodeAttrs)) {
403
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
404
+ }
405
+ }
406
+ }
407
+ for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
408
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
409
+ }
410
+ };
411
+ function sortedAttrNames(attrNames) {
412
+ return attrNames.includes("ref") ? (
413
+ // we need to sort these to ensure that `'ref'` is the last attr
414
+ [...attrNames.filter((attr) => attr !== "ref"), "ref"]
415
+ ) : (
416
+ // no need to sort, return the original array
417
+ attrNames
418
+ );
419
+ }
420
+
421
+ // src/runtime/vdom/vdom-render.ts
422
+ var scopeId;
423
+ var contentRef;
424
+ var hostTagName;
425
+ var useNativeShadowDom = false;
426
+ var checkSlotFallbackVisibility = false;
427
+ var checkSlotRelocate = false;
428
+ var isSvgMode = false;
429
+ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
430
+ var _a;
431
+ const newVNode2 = newParentVNode.$children$[childIndex];
432
+ let i2 = 0;
433
+ let elm;
434
+ let childNode;
435
+ let oldVNode;
436
+ if (!useNativeShadowDom) {
437
+ checkSlotRelocate = true;
438
+ if (newVNode2.$tag$ === "slot") {
439
+ if (scopeId) {
440
+ parentElm.classList.add(scopeId + "-s");
441
+ }
442
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
443
+ // slot element has fallback content
444
+ // still create an element that "mocks" the slot element
445
+ 2 /* isSlotFallback */
446
+ ) : (
447
+ // slot element does not have fallback content
448
+ // create an html comment we'll use to always reference
449
+ // where actual slot content should sit next to
450
+ 1 /* isSlotReference */
451
+ );
452
+ }
453
+ }
454
+ if (newVNode2.$text$ !== null) {
455
+ elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
456
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
457
+ elm = newVNode2.$elm$ = doc.createTextNode("");
458
+ } else {
459
+ elm = newVNode2.$elm$ = doc.createElement(
460
+ !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
461
+ );
462
+ {
463
+ updateElement(null, newVNode2, isSvgMode);
464
+ }
465
+ const rootNode = elm.getRootNode();
466
+ const isElementWithinShadowRoot = !rootNode.querySelector("body");
467
+ if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
468
+ elm.classList.add(elm["s-si"] = scopeId);
469
+ }
470
+ if (newVNode2.$children$) {
471
+ for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
472
+ childNode = createElm(oldParentVNode, newVNode2, i2, elm);
473
+ if (childNode) {
474
+ elm.appendChild(childNode);
475
+ }
476
+ }
477
+ }
478
+ }
479
+ elm["s-hn"] = hostTagName;
480
+ {
481
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
482
+ elm["s-sr"] = true;
483
+ elm["s-cr"] = contentRef;
484
+ elm["s-sn"] = newVNode2.$name$ || "";
485
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
486
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
487
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
488
+ {
489
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
490
+ }
491
+ }
492
+ }
493
+ }
494
+ return elm;
495
+ };
496
+ var putBackInOriginalLocation = (parentElm, recursive) => {
497
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
498
+ const oldSlotChildNodes = Array.from(parentElm.childNodes);
499
+ if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
500
+ let node = parentElm;
501
+ while (node = node.nextSibling) {
502
+ if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
503
+ oldSlotChildNodes.push(node);
504
+ }
505
+ }
506
+ }
507
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
508
+ const childNode = oldSlotChildNodes[i2];
509
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
510
+ insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));
511
+ childNode["s-ol"].remove();
512
+ childNode["s-ol"] = void 0;
513
+ childNode["s-sh"] = void 0;
514
+ checkSlotRelocate = true;
515
+ }
516
+ if (recursive) {
517
+ putBackInOriginalLocation(childNode, recursive);
518
+ }
519
+ }
520
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
521
+ };
522
+ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
523
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
524
+ let childNode;
525
+ if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
526
+ containerElm = containerElm.shadowRoot;
527
+ }
528
+ for (; startIdx <= endIdx; ++startIdx) {
529
+ if (vnodes[startIdx]) {
530
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
531
+ if (childNode) {
532
+ vnodes[startIdx].$elm$ = childNode;
533
+ insertBefore(containerElm, childNode, referenceNode(before) );
534
+ }
535
+ }
536
+ }
537
+ };
538
+ var removeVnodes = (vnodes, startIdx, endIdx) => {
539
+ for (let index = startIdx; index <= endIdx; ++index) {
540
+ const vnode = vnodes[index];
541
+ if (vnode) {
542
+ const elm = vnode.$elm$;
543
+ nullifyVNodeRefs(vnode);
544
+ if (elm) {
545
+ {
546
+ checkSlotFallbackVisibility = true;
547
+ if (elm["s-ol"]) {
548
+ elm["s-ol"].remove();
549
+ } else {
550
+ putBackInOriginalLocation(elm, true);
551
+ }
552
+ }
553
+ elm.remove();
554
+ }
555
+ }
556
+ }
557
+ };
558
+ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
559
+ let oldStartIdx = 0;
560
+ let newStartIdx = 0;
561
+ let idxInOld = 0;
562
+ let i2 = 0;
563
+ let oldEndIdx = oldCh.length - 1;
564
+ let oldStartVnode = oldCh[0];
565
+ let oldEndVnode = oldCh[oldEndIdx];
566
+ let newEndIdx = newCh.length - 1;
567
+ let newStartVnode = newCh[0];
568
+ let newEndVnode = newCh[newEndIdx];
569
+ let node;
570
+ let elmToMove;
571
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
572
+ if (oldStartVnode == null) {
573
+ oldStartVnode = oldCh[++oldStartIdx];
574
+ } else if (oldEndVnode == null) {
575
+ oldEndVnode = oldCh[--oldEndIdx];
576
+ } else if (newStartVnode == null) {
577
+ newStartVnode = newCh[++newStartIdx];
578
+ } else if (newEndVnode == null) {
579
+ newEndVnode = newCh[--newEndIdx];
580
+ } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
581
+ patch(oldStartVnode, newStartVnode, isInitialRender);
582
+ oldStartVnode = oldCh[++oldStartIdx];
583
+ newStartVnode = newCh[++newStartIdx];
584
+ } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
585
+ patch(oldEndVnode, newEndVnode, isInitialRender);
586
+ oldEndVnode = oldCh[--oldEndIdx];
587
+ newEndVnode = newCh[--newEndIdx];
588
+ } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
589
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
590
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
591
+ }
592
+ patch(oldStartVnode, newEndVnode, isInitialRender);
593
+ insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
594
+ oldStartVnode = oldCh[++oldStartIdx];
595
+ newEndVnode = newCh[--newEndIdx];
596
+ } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
597
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
598
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
599
+ }
600
+ patch(oldEndVnode, newStartVnode, isInitialRender);
601
+ insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
602
+ oldEndVnode = oldCh[--oldEndIdx];
603
+ newStartVnode = newCh[++newStartIdx];
604
+ } else {
605
+ idxInOld = -1;
606
+ {
607
+ for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
608
+ if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
609
+ idxInOld = i2;
610
+ break;
611
+ }
612
+ }
613
+ }
614
+ if (idxInOld >= 0) {
615
+ elmToMove = oldCh[idxInOld];
616
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
617
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);
618
+ } else {
619
+ patch(elmToMove, newStartVnode, isInitialRender);
620
+ oldCh[idxInOld] = void 0;
621
+ node = elmToMove.$elm$;
622
+ }
623
+ newStartVnode = newCh[++newStartIdx];
624
+ } else {
625
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);
626
+ newStartVnode = newCh[++newStartIdx];
627
+ }
628
+ if (node) {
629
+ {
630
+ insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));
631
+ }
632
+ }
633
+ }
634
+ }
635
+ if (oldStartIdx > oldEndIdx) {
636
+ addVnodes(
637
+ parentElm,
638
+ newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
639
+ newVNode2,
640
+ newCh,
641
+ newStartIdx,
642
+ newEndIdx
643
+ );
644
+ } else if (newStartIdx > newEndIdx) {
645
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
646
+ }
647
+ };
648
+ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
649
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
650
+ if (leftVNode.$tag$ === "slot") {
651
+ if (
652
+ // The component gets hydrated and no VDOM has been initialized.
653
+ // Here the comparison can't happen as $name$ property is not set for `leftNode`.
654
+ "$nodeId$" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many
655
+ // hydration comments to be removed
656
+ leftVNode.$elm$.nodeType !== 8
657
+ ) {
658
+ return false;
659
+ }
660
+ return leftVNode.$name$ === rightVNode.$name$;
661
+ }
662
+ if (!isInitialRender) {
663
+ return leftVNode.$key$ === rightVNode.$key$;
664
+ }
665
+ return true;
666
+ }
667
+ return false;
668
+ };
669
+ var referenceNode = (node) => {
670
+ return node && node["s-ol"] || node;
671
+ };
672
+ var parentReferenceNode = (node) => (node["s-ol"] ? node["s-ol"] : node).parentNode;
673
+ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
674
+ const elm = newVNode2.$elm$ = oldVNode.$elm$;
675
+ const oldChildren = oldVNode.$children$;
676
+ const newChildren = newVNode2.$children$;
677
+ const tag = newVNode2.$tag$;
678
+ const text = newVNode2.$text$;
679
+ let defaultHolder;
680
+ if (text === null) {
681
+ {
682
+ if (tag === "slot" && !useNativeShadowDom) ; else {
683
+ updateElement(oldVNode, newVNode2, isSvgMode);
684
+ }
685
+ }
686
+ if (oldChildren !== null && newChildren !== null) {
687
+ updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
688
+ } else if (newChildren !== null) {
689
+ if (oldVNode.$text$ !== null) {
690
+ elm.textContent = "";
691
+ }
692
+ addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
693
+ } else if (
694
+ // don't do this on initial render as it can cause non-hydrated content to be removed
695
+ !isInitialRender && BUILD.updatable && oldChildren !== null
696
+ ) {
697
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
698
+ }
699
+ } else if ((defaultHolder = elm["s-cr"])) {
700
+ defaultHolder.parentNode.textContent = text;
701
+ } else if (oldVNode.$text$ !== text) {
702
+ elm.data = text;
703
+ }
704
+ };
705
+ var updateFallbackSlotVisibility = (elm) => {
706
+ const childNodes = elm.childNodes;
707
+ for (const childNode of childNodes) {
708
+ if (childNode.nodeType === 1 /* ElementNode */) {
709
+ if (childNode["s-sr"]) {
710
+ const slotName = childNode["s-sn"];
711
+ childNode.hidden = false;
712
+ for (const siblingNode of childNodes) {
713
+ if (siblingNode !== childNode) {
714
+ if (siblingNode["s-hn"] !== childNode["s-hn"] || slotName !== "") {
715
+ if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute("slot") || slotName === siblingNode["s-sn"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode["s-sn"]) {
716
+ childNode.hidden = true;
717
+ break;
718
+ }
719
+ } else {
720
+ if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
721
+ childNode.hidden = true;
722
+ break;
723
+ }
724
+ }
725
+ }
726
+ }
727
+ }
728
+ updateFallbackSlotVisibility(childNode);
729
+ }
730
+ }
731
+ };
732
+ var relocateNodes = [];
733
+ var markSlotContentForRelocation = (elm) => {
734
+ let node;
735
+ let hostContentNodes;
736
+ let j;
737
+ for (const childNode of elm.childNodes) {
738
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
739
+ hostContentNodes = node.parentNode.childNodes;
740
+ const slotName = childNode["s-sn"];
741
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
742
+ node = hostContentNodes[j];
743
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!BUILD.experimentalSlotFixes )) {
744
+ if (isNodeLocatedInSlot(node, slotName)) {
745
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
746
+ checkSlotFallbackVisibility = true;
747
+ node["s-sn"] = node["s-sn"] || slotName;
748
+ if (relocateNodeData) {
749
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
750
+ relocateNodeData.$slotRefNode$ = childNode;
751
+ } else {
752
+ node["s-sh"] = childNode["s-hn"];
753
+ relocateNodes.push({
754
+ $slotRefNode$: childNode,
755
+ $nodeToRelocate$: node
756
+ });
757
+ }
758
+ if (node["s-sr"]) {
759
+ relocateNodes.map((relocateNode) => {
760
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
761
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
762
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
763
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
764
+ }
765
+ }
766
+ });
767
+ }
768
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
769
+ relocateNodes.push({
770
+ $nodeToRelocate$: node
771
+ });
772
+ }
773
+ }
774
+ }
775
+ }
776
+ if (childNode.nodeType === 1 /* ElementNode */) {
777
+ markSlotContentForRelocation(childNode);
778
+ }
779
+ }
780
+ };
781
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
782
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
783
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
784
+ return true;
785
+ }
786
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
787
+ return true;
788
+ }
789
+ return false;
790
+ }
791
+ if (nodeToRelocate["s-sn"] === slotName) {
792
+ return true;
793
+ }
794
+ return slotName === "";
795
+ };
796
+ var nullifyVNodeRefs = (vNode) => {
797
+ {
798
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
799
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
800
+ }
801
+ };
802
+ var insertBefore = (parent, newNode, reference) => {
803
+ const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
804
+ return inserted;
805
+ };
806
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
807
+ var _a, _b, _c, _d;
808
+ const hostElm = hostRef.$hostElement$;
809
+ const cmpMeta = hostRef.$cmpMeta$;
810
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
811
+ const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
812
+ hostTagName = hostElm.tagName;
813
+ if (cmpMeta.$attrsToReflect$) {
814
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
815
+ cmpMeta.$attrsToReflect$.map(
816
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
817
+ );
818
+ }
819
+ if (isInitialLoad && rootVnode.$attrs$) {
820
+ for (const key of Object.keys(rootVnode.$attrs$)) {
821
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
822
+ rootVnode.$attrs$[key] = hostElm[key];
823
+ }
824
+ }
825
+ }
826
+ rootVnode.$tag$ = null;
827
+ rootVnode.$flags$ |= 4 /* isHost */;
828
+ hostRef.$vnode$ = rootVnode;
829
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
830
+ {
831
+ scopeId = hostElm["s-sc"];
832
+ }
833
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
834
+ {
835
+ contentRef = hostElm["s-cr"];
836
+ checkSlotFallbackVisibility = false;
837
+ }
838
+ patch(oldVNode, rootVnode, isInitialLoad);
839
+ {
840
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
841
+ if (checkSlotRelocate) {
842
+ markSlotContentForRelocation(rootVnode.$elm$);
843
+ for (const relocateData of relocateNodes) {
844
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
845
+ if (!nodeToRelocate["s-ol"]) {
846
+ const orgLocationNode = doc.createTextNode("");
847
+ orgLocationNode["s-nr"] = nodeToRelocate;
848
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
849
+ }
850
+ }
851
+ for (const relocateData of relocateNodes) {
852
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
853
+ const slotRefNode = relocateData.$slotRefNode$;
854
+ if (slotRefNode) {
855
+ const parentNodeRef = slotRefNode.parentNode;
856
+ let insertBeforeNode = slotRefNode.nextSibling;
857
+ {
858
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
859
+ while (orgLocationNode) {
860
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
861
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === refNode.parentNode) {
862
+ refNode = refNode.nextSibling;
863
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
864
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
865
+ }
866
+ if (!refNode || !refNode["s-nr"]) {
867
+ insertBeforeNode = refNode;
868
+ break;
869
+ }
870
+ }
871
+ orgLocationNode = orgLocationNode.previousSibling;
872
+ }
873
+ }
874
+ if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
875
+ if (nodeToRelocate !== insertBeforeNode) {
876
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
877
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
878
+ }
879
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
880
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
881
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
882
+ }
883
+ }
884
+ }
885
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
886
+ } else {
887
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
888
+ if (isInitialLoad) {
889
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
890
+ }
891
+ nodeToRelocate.hidden = true;
892
+ }
893
+ }
894
+ }
895
+ }
896
+ if (checkSlotFallbackVisibility) {
897
+ updateFallbackSlotVisibility(rootVnode.$elm$);
898
+ }
899
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
900
+ relocateNodes.length = 0;
901
+ }
902
+ contentRef = void 0;
903
+ };
904
+
905
+ // src/runtime/update-component.ts
906
+ var attachToAncestor = (hostRef, ancestorComponent) => {
907
+ if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
908
+ ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
909
+ }
910
+ };
911
+ var scheduleUpdate = (hostRef, isInitialLoad) => {
912
+ {
913
+ hostRef.$flags$ |= 16 /* isQueuedForUpdate */;
914
+ }
915
+ if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {
916
+ hostRef.$flags$ |= 512 /* needsRerender */;
917
+ return;
918
+ }
919
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$);
920
+ const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
921
+ return writeTask(dispatch) ;
922
+ };
923
+ var dispatchHooks = (hostRef, isInitialLoad) => {
924
+ const elm = hostRef.$hostElement$;
925
+ const endSchedule = createTime("scheduleUpdate", hostRef.$cmpMeta$.$tagName$);
926
+ const instance = elm;
927
+ if (!instance) {
928
+ throw new Error(
929
+ `Can't render component <${elm.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`
930
+ );
931
+ }
932
+ let maybePromise;
933
+ if (isInitialLoad) {
934
+ {
935
+ maybePromise = safeCall(instance, "componentWillLoad");
936
+ }
937
+ }
938
+ endSchedule();
939
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
940
+ };
941
+ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {
942
+ console.error(err2);
943
+ fn();
944
+ }) : fn();
945
+ var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
946
+ var updateComponent = async (hostRef, instance, isInitialLoad) => {
947
+ var _a;
948
+ const elm = hostRef.$hostElement$;
949
+ const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
950
+ const rc = elm["s-rc"];
951
+ if (isInitialLoad) {
952
+ attachStyles(hostRef);
953
+ }
954
+ const endRender = createTime("render", hostRef.$cmpMeta$.$tagName$);
955
+ {
956
+ callRender(hostRef, instance, elm, isInitialLoad);
957
+ }
958
+ if (rc) {
959
+ rc.map((cb) => cb());
960
+ elm["s-rc"] = void 0;
961
+ }
962
+ endRender();
963
+ endUpdate();
964
+ {
965
+ const childrenPromises = (_a = elm["s-p"]) != null ? _a : [];
966
+ const postUpdate = () => postUpdateComponent(hostRef);
967
+ if (childrenPromises.length === 0) {
968
+ postUpdate();
969
+ } else {
970
+ Promise.all(childrenPromises).then(postUpdate);
971
+ hostRef.$flags$ |= 4 /* isWaitingForChildren */;
972
+ childrenPromises.length = 0;
973
+ }
974
+ }
975
+ };
976
+ var renderingRef = null;
977
+ var callRender = (hostRef, instance, elm, isInitialLoad) => {
978
+ try {
979
+ renderingRef = instance;
980
+ instance = instance.render() ;
981
+ {
982
+ hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
983
+ }
984
+ {
985
+ hostRef.$flags$ |= 2 /* hasRendered */;
986
+ }
987
+ {
988
+ {
989
+ {
990
+ renderVdom(hostRef, instance, isInitialLoad);
991
+ }
992
+ }
993
+ }
994
+ } catch (e) {
995
+ consoleError(e, hostRef.$hostElement$);
996
+ }
997
+ renderingRef = null;
998
+ return null;
999
+ };
1000
+ var getRenderingRef = () => renderingRef;
1001
+ var postUpdateComponent = (hostRef) => {
1002
+ const tagName = hostRef.$cmpMeta$.$tagName$;
1003
+ const elm = hostRef.$hostElement$;
1004
+ const endPostUpdate = createTime("postUpdate", tagName);
1005
+ const instance = elm;
1006
+ const ancestorComponent = hostRef.$ancestorComponent$;
1007
+ if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1008
+ hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1009
+ {
1010
+ addHydratedFlag(elm);
1011
+ }
1012
+ {
1013
+ safeCall(instance, "componentDidLoad");
1014
+ }
1015
+ endPostUpdate();
1016
+ {
1017
+ hostRef.$onReadyResolve$(elm);
1018
+ if (!ancestorComponent) {
1019
+ appDidLoad();
1020
+ }
1021
+ }
1022
+ } else {
1023
+ endPostUpdate();
1024
+ }
1025
+ {
1026
+ if (hostRef.$onRenderResolve$) {
1027
+ hostRef.$onRenderResolve$();
1028
+ hostRef.$onRenderResolve$ = void 0;
1029
+ }
1030
+ if (hostRef.$flags$ & 512 /* needsRerender */) {
1031
+ nextTick(() => scheduleUpdate(hostRef, false));
1032
+ }
1033
+ hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);
1034
+ }
1035
+ };
1036
+ var forceUpdate = (ref) => {
1037
+ {
1038
+ const hostRef = getHostRef(ref);
1039
+ const isConnected = hostRef.$hostElement$.isConnected;
1040
+ if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1041
+ scheduleUpdate(hostRef, false);
1042
+ }
1043
+ return isConnected;
1044
+ }
1045
+ };
1046
+ var appDidLoad = (who) => {
1047
+ {
1048
+ addHydratedFlag(doc.documentElement);
1049
+ }
1050
+ nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1051
+ };
1052
+ var safeCall = (instance, method, arg) => {
1053
+ if (instance && instance[method]) {
1054
+ try {
1055
+ return instance[method](arg);
1056
+ } catch (e) {
1057
+ consoleError(e);
1058
+ }
1059
+ }
1060
+ return void 0;
1061
+ };
1062
+ var addHydratedFlag = (elm) => {
1063
+ var _a;
1064
+ return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : "hydrated") ;
1065
+ };
1066
+
1067
+ const appendToMap = (map, propName, value) => {
1068
+ const items = map.get(propName);
1069
+ if (!items) {
1070
+ map.set(propName, [value]);
1071
+ }
1072
+ else if (!items.includes(value)) {
1073
+ items.push(value);
1074
+ }
1075
+ };
1076
+ const debounce = (fn, ms) => {
1077
+ let timeoutId;
1078
+ return (...args) => {
1079
+ if (timeoutId) {
1080
+ clearTimeout(timeoutId);
1081
+ }
1082
+ timeoutId = setTimeout(() => {
1083
+ timeoutId = 0;
1084
+ fn(...args);
1085
+ }, ms);
1086
+ };
1087
+ };
1088
+
1089
+ /**
1090
+ * Check if a possible element isConnected.
1091
+ * The property might not be there, so we check for it.
1092
+ *
1093
+ * We want it to return true if isConnected is not a property,
1094
+ * otherwise we would remove these elements and would not update.
1095
+ *
1096
+ * Better leak in Edge than to be useless.
1097
+ */
1098
+ const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
1099
+ const cleanupElements = debounce((map) => {
1100
+ for (let key of map.keys()) {
1101
+ map.set(key, map.get(key).filter(isConnected));
1102
+ }
1103
+ }, 2_000);
1104
+ const stencilSubscription = () => {
1105
+ if (typeof getRenderingRef !== 'function') {
1106
+ // If we are not in a stencil project, we do nothing.
1107
+ // This function is not really exported by @stencil/core.
1108
+ return {};
1109
+ }
1110
+ const elmsToUpdate = new Map();
1111
+ return {
1112
+ dispose: () => elmsToUpdate.clear(),
1113
+ get: (propName) => {
1114
+ const elm = getRenderingRef();
1115
+ if (elm) {
1116
+ appendToMap(elmsToUpdate, propName, elm);
1117
+ }
1118
+ },
1119
+ set: (propName) => {
1120
+ const elements = elmsToUpdate.get(propName);
1121
+ if (elements) {
1122
+ elmsToUpdate.set(propName, elements.filter(forceUpdate));
1123
+ }
1124
+ cleanupElements(elmsToUpdate);
1125
+ },
1126
+ reset: () => {
1127
+ elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
1128
+ cleanupElements(elmsToUpdate);
1129
+ },
1130
+ };
1131
+ };
1132
+
1133
+ const unwrap = (val) => (typeof val === 'function' ? val() : val);
1134
+ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
1135
+ const unwrappedState = unwrap(defaultState);
1136
+ let states = new Map(Object.entries(unwrappedState ?? {}));
1137
+ const handlers = {
1138
+ dispose: [],
1139
+ get: [],
1140
+ set: [],
1141
+ reset: [],
1142
+ };
1143
+ // Track onChange listeners to enable removeListener functionality
1144
+ const changeListeners = new Map();
1145
+ const reset = () => {
1146
+ // When resetting the state, the default state may be a function - unwrap it to invoke it.
1147
+ // otherwise, the state won't be properly reset
1148
+ states = new Map(Object.entries(unwrap(defaultState) ?? {}));
1149
+ handlers.reset.forEach((cb) => cb());
1150
+ };
1151
+ const dispose = () => {
1152
+ // Call first dispose as resetting the state would
1153
+ // cause less updates ;)
1154
+ handlers.dispose.forEach((cb) => cb());
1155
+ reset();
1156
+ };
1157
+ const get = (propName) => {
1158
+ handlers.get.forEach((cb) => cb(propName));
1159
+ return states.get(propName);
1160
+ };
1161
+ const set = (propName, value) => {
1162
+ const oldValue = states.get(propName);
1163
+ if (shouldUpdate(value, oldValue, propName)) {
1164
+ states.set(propName, value);
1165
+ handlers.set.forEach((cb) => cb(propName, value, oldValue));
1166
+ }
1167
+ };
1168
+ const state = (typeof Proxy === 'undefined'
1169
+ ? {}
1170
+ : new Proxy(unwrappedState, {
1171
+ get(_, propName) {
1172
+ return get(propName);
1173
+ },
1174
+ ownKeys(_) {
1175
+ return Array.from(states.keys());
1176
+ },
1177
+ getOwnPropertyDescriptor() {
1178
+ return {
1179
+ enumerable: true,
1180
+ configurable: true,
1181
+ };
1182
+ },
1183
+ has(_, propName) {
1184
+ return states.has(propName);
1185
+ },
1186
+ set(_, propName, value) {
1187
+ set(propName, value);
1188
+ return true;
1189
+ },
1190
+ }));
1191
+ const on = (eventName, callback) => {
1192
+ handlers[eventName].push(callback);
1193
+ return () => {
1194
+ removeFromArray(handlers[eventName], callback);
1195
+ };
1196
+ };
1197
+ const onChange = (propName, cb) => {
1198
+ const setHandler = (key, newValue) => {
1199
+ if (key === propName) {
1200
+ cb(newValue);
1201
+ }
1202
+ };
1203
+ const resetHandler = () => cb(unwrap(defaultState)[propName]);
1204
+ // Register the handlers
1205
+ const unSet = on('set', setHandler);
1206
+ const unReset = on('reset', resetHandler);
1207
+ // Track the relationship between the user callback and internal handlers
1208
+ changeListeners.set(cb, { setHandler, resetHandler, propName });
1209
+ return () => {
1210
+ unSet();
1211
+ unReset();
1212
+ changeListeners.delete(cb);
1213
+ };
1214
+ };
1215
+ const use = (...subscriptions) => {
1216
+ const unsubs = subscriptions.reduce((unsubs, subscription) => {
1217
+ if (subscription.set) {
1218
+ unsubs.push(on('set', subscription.set));
1219
+ }
1220
+ if (subscription.get) {
1221
+ unsubs.push(on('get', subscription.get));
1222
+ }
1223
+ if (subscription.reset) {
1224
+ unsubs.push(on('reset', subscription.reset));
1225
+ }
1226
+ if (subscription.dispose) {
1227
+ unsubs.push(on('dispose', subscription.dispose));
1228
+ }
1229
+ return unsubs;
1230
+ }, []);
1231
+ return () => unsubs.forEach((unsub) => unsub());
1232
+ };
1233
+ const forceUpdate = (key) => {
1234
+ const oldValue = states.get(key);
1235
+ handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
1236
+ };
1237
+ const removeListener = (propName, listener) => {
1238
+ const listenerInfo = changeListeners.get(listener);
1239
+ if (listenerInfo && listenerInfo.propName === propName) {
1240
+ // Remove the specific handlers that were created for this listener
1241
+ removeFromArray(handlers.set, listenerInfo.setHandler);
1242
+ removeFromArray(handlers.reset, listenerInfo.resetHandler);
1243
+ changeListeners.delete(listener);
1244
+ }
1245
+ };
1246
+ return {
1247
+ state,
1248
+ get,
1249
+ set,
1250
+ on,
1251
+ onChange,
1252
+ use,
1253
+ dispose,
1254
+ reset,
1255
+ forceUpdate,
1256
+ removeListener,
1257
+ };
1258
+ };
1259
+ const removeFromArray = (array, item) => {
1260
+ const index = array.indexOf(item);
1261
+ if (index >= 0) {
1262
+ array[index] = array[array.length - 1];
1263
+ array.length--;
1264
+ }
1265
+ };
1266
+
1267
+ const createStore = (defaultState, shouldUpdate) => {
1268
+ const map = createObservableMap(defaultState, shouldUpdate);
1269
+ map.use(stencilSubscription());
1270
+ return map;
1271
+ };
1272
+
1273
+ const { state, onChange } = createStore({
1274
+ storeConfig: {
1275
+ btnApplyBonusLabel: 'Avançar',
1276
+ confirmationMessage: '',
1277
+ giftbackTitle: 'giftback',
1278
+ keepStoreFrontStyle: false
1279
+ },
1280
+ checkout: {
1281
+ cellphone: null,
1282
+ checkoutId: '',
1283
+ checkoutProducts: [],
1284
+ crmbonuStoreId: null,
1285
+ crmbonusUserId: null,
1286
+ storeName: ''
1287
+ },
1288
+ clicks: 0,
1289
+ seconds: 0,
1290
+ squaredClicks: 0
1291
+ });
1292
+ onChange('clicks', value => {
1293
+ state.squaredClicks = value ** 2;
1294
+ });
1295
+
1296
+ export { state as s };
1297
+
1298
+ //# sourceMappingURL=p-81e4e697.js.map