@feedmepos/mf-connect 0.0.3-beta.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 (303) hide show
  1. package/README.md +31 -0
  2. package/dist/Analytic-Dljae6Yl.js +614 -0
  3. package/dist/Broadcast-CejuUG-1.js +216 -0
  4. package/dist/CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DAxAfdPe.js +117 -0
  5. package/dist/Card-BqgQuGNe.js +775 -0
  6. package/dist/ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js +97 -0
  7. package/dist/Collections-CmIFQQxo.js +437 -0
  8. package/dist/Credit-Bi7zJdvK.js +214 -0
  9. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-DLb_mc7S.js +1952 -0
  10. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-BN9vbCIU.js +309 -0
  11. package/dist/Experience-CndnSCnn.js +211 -0
  12. package/dist/Game-CDctToIr.js +242 -0
  13. package/dist/ImageInput.vue_vue_type_script_setup_true_lang-DMsxZkxf.js +144 -0
  14. package/dist/JsonViewer-CDb_cQJh.js +87 -0
  15. package/dist/MainLayout-5NCcYKPh.js +18770 -0
  16. package/dist/Marketing-DcRex89D.js +309 -0
  17. package/dist/Member-KDAOZ4y7.js +90 -0
  18. package/dist/MemberList-7cfMhvnU.js +1752 -0
  19. package/dist/MemberOverview-C2n9oJZh.js +58 -0
  20. package/dist/MemberTransactions-Dd1NNP_h.js +38 -0
  21. package/dist/MessageInput.vue_vue_type_script_setup_true_lang-Bniz5T6m.js +163 -0
  22. package/dist/Point-B-Yo0tOQ.js +211 -0
  23. package/dist/Promotion-B2t2rOB2.js +219 -0
  24. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-Ml889DRQ.js +1461 -0
  25. package/dist/Segment-quTtfnsL.js +392 -0
  26. package/dist/Setting-BMQkU33O.js +1862 -0
  27. package/dist/Store-C0JEZe6U.js +1415 -0
  28. package/dist/StoreRewards-CozvYaoP.js +432 -0
  29. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-BHaiBpBC.js +640 -0
  30. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-CASpFDTp.js +124 -0
  31. package/dist/Tier-DU0ptI0I.js +821 -0
  32. package/dist/Title-BPvcg94P.js +496 -0
  33. package/dist/Transaction-Cgs5H5Vg.js +34 -0
  34. package/dist/Voucher-CMLmRUp5.js +448 -0
  35. package/dist/ZodTextField.vue_vue_type_script_setup_true_lang-3LlSDiq0.js +140 -0
  36. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  37. package/dist/app-DRUbn5GO.js +31282 -0
  38. package/dist/app.js +5 -0
  39. package/dist/campaign-CpzFl8Vr.js +4 -0
  40. package/dist/campaign-DmbniSEP.js +93 -0
  41. package/dist/collection.fn-DHlfGYAC.js +24 -0
  42. package/dist/dto-ts2Lkngs.js +353 -0
  43. package/dist/effect-BTYIMeYm.js +61 -0
  44. package/dist/feedme.ico +0 -0
  45. package/dist/helper-CRmH0_yS.js +58 -0
  46. package/dist/index-BTanTa5F.js +64 -0
  47. package/dist/index-BZbepUcT.js +104 -0
  48. package/dist/index-C4AxDwBx.js +674 -0
  49. package/dist/index-CKhgwiA8.js +234 -0
  50. package/dist/index-ChAaKnz9.js +99 -0
  51. package/dist/index-CuvNtC_M.js +61 -0
  52. package/dist/index-DGFTGZj1.js +190 -0
  53. package/dist/index-Dbd4WA4r.js +61 -0
  54. package/dist/index-DkxEfDKI.js +1757 -0
  55. package/dist/index-DzrgTguB.js +38 -0
  56. package/dist/index-Iej6yAF2.js +8796 -0
  57. package/dist/index-Ix0P1Q7X.js +1742 -0
  58. package/dist/index-y3taWZm8.js +29565 -0
  59. package/dist/libs/packages/core/src/bill/bill.dto.d.ts +75 -0
  60. package/dist/libs/packages/core/src/bill/index.d.ts +115 -0
  61. package/dist/libs/packages/core/src/business/index.d.ts +21 -0
  62. package/dist/libs/packages/core/src/campaign/broadcast/index.d.ts +36 -0
  63. package/dist/libs/packages/core/src/campaign/campaign.enum.d.ts +3 -0
  64. package/dist/libs/packages/core/src/campaign/campaign.fn.d.ts +5 -0
  65. package/dist/libs/packages/core/src/campaign/group.d.ts +25 -0
  66. package/dist/libs/packages/core/src/campaign/index.d.ts +33448 -0
  67. package/dist/libs/packages/core/src/collectible/collectible.dto.d.ts +15 -0
  68. package/dist/libs/packages/core/src/collectible/collectible.enum.d.ts +14 -0
  69. package/dist/libs/packages/core/src/collectible/helper.d.ts +195 -0
  70. package/dist/libs/packages/core/src/collectible/index.d.ts +1588 -0
  71. package/dist/libs/packages/core/src/collectible/pool/index.d.ts +1381 -0
  72. package/dist/libs/packages/core/src/collection/collection.fn.d.ts +5 -0
  73. package/dist/libs/packages/core/src/collection/index.d.ts +901 -0
  74. package/dist/libs/packages/core/src/collection/transaction.d.ts +845 -0
  75. package/dist/libs/packages/core/src/collection/transaction.fn.d.ts +10 -0
  76. package/dist/libs/packages/core/src/common/array.d.ts +2 -0
  77. package/dist/libs/packages/core/src/common/hash.d.ts +10 -0
  78. package/dist/libs/packages/core/src/common/index.d.ts +42 -0
  79. package/dist/libs/packages/core/src/common/number.d.ts +7 -0
  80. package/dist/libs/packages/core/src/common/object.d.ts +5 -0
  81. package/dist/libs/packages/core/src/common/objectId.d.ts +2 -0
  82. package/dist/libs/packages/core/src/common/string.d.ts +4 -0
  83. package/dist/libs/packages/core/src/counter/counter.dto.d.ts +767 -0
  84. package/dist/libs/packages/core/src/counter/index.d.ts +1 -0
  85. package/dist/libs/packages/core/src/event/index.d.ts +4246 -0
  86. package/dist/libs/packages/core/src/feedback/index.d.ts +24 -0
  87. package/dist/libs/packages/core/src/game/index.d.ts +32 -0
  88. package/dist/libs/packages/core/src/index.d.ts +21 -0
  89. package/dist/libs/packages/core/src/internal/index.d.ts +56 -0
  90. package/dist/libs/packages/core/src/legacy/setting/index.d.ts +89 -0
  91. package/dist/libs/packages/core/src/location/index.d.ts +44 -0
  92. package/dist/libs/packages/core/src/loyalty/card/index.d.ts +1287 -0
  93. package/dist/libs/packages/core/src/loyalty/index.d.ts +3 -0
  94. package/dist/libs/packages/core/src/loyalty/tier/helper.d.ts +2 -0
  95. package/dist/libs/packages/core/src/loyalty/tier/index.d.ts +251 -0
  96. package/dist/libs/packages/core/src/loyalty/title/index.d.ts +4 -0
  97. package/dist/libs/packages/core/src/marketing-material/index.d.ts +186 -0
  98. package/dist/libs/packages/core/src/marketing-material/marketing-material.enum.d.ts +3 -0
  99. package/dist/libs/packages/core/src/notification/index.d.ts +130 -0
  100. package/dist/libs/packages/core/src/pagination/index.d.ts +25 -0
  101. package/dist/libs/packages/core/src/permission/index.d.ts +243 -0
  102. package/dist/libs/packages/core/src/service/index.d.ts +10 -0
  103. package/dist/libs/packages/core/src/store/dto.d.ts +1060 -0
  104. package/dist/libs/packages/core/src/store/index.d.ts +3894 -0
  105. package/dist/libs/packages/core/src/store/store.fn.d.ts +103 -0
  106. package/dist/libs/packages/core/src/template/index.d.ts +880 -0
  107. package/dist/libs/packages/core/src/template/templates.d.ts +1217 -0
  108. package/dist/libs/packages/core/src/user/index.d.ts +245 -0
  109. package/dist/libs/packages/core/src/user/segment.dto.d.ts +27 -0
  110. package/dist/libs/packages/core/src/user/segmentation.d.ts +28 -0
  111. package/dist/libs/packages/core/src/user/user.dto.d.ts +873 -0
  112. package/dist/libs/packages/core/src/validation/index.d.ts +1 -0
  113. package/dist/libs/packages/core/src/validation/rule/builder.d.ts +36 -0
  114. package/dist/libs/packages/core/src/validation/rule/index.d.ts +45 -0
  115. package/dist/libs/packages/core/src/validation/rule/operator.enum.d.ts +405 -0
  116. package/dist/libs/packages/core/src/validation/rule/rule.fn.d.ts +6 -0
  117. package/dist/libs/packages/validation/src/index.d.ts +3 -0
  118. package/dist/libs/packages/validation/src/rule/rule-builder.d.ts +19 -0
  119. package/dist/libs/packages/validation/src/rule/rule.d.ts +52 -0
  120. package/dist/libs/packages/validation/src/rule/validate.d.ts +2 -0
  121. package/dist/loading-Dy-VtOFu.js +3131 -0
  122. package/dist/lodash-BnddClG8.js +3678 -0
  123. package/dist/membership-28vBGpTw.js +213 -0
  124. package/dist/moment-BWErdI6_.js +2578 -0
  125. package/dist/money-Ch7o4R5s.js +15 -0
  126. package/dist/number-BgOMhVX5.js +12 -0
  127. package/dist/object-qECH92oz.js +26 -0
  128. package/dist/objectId-dwaoBfJX.js +7 -0
  129. package/dist/packages/connect/src/App.vue.d.ts +2 -0
  130. package/dist/packages/connect/src/Entry.vue.d.ts +2 -0
  131. package/dist/packages/connect/src/api/auth/index.d.ts +3 -0
  132. package/dist/packages/connect/src/api/campaign/index.d.ts +30 -0
  133. package/dist/packages/connect/src/api/campaign/template.d.ts +5 -0
  134. package/dist/packages/connect/src/api/index.d.ts +24 -0
  135. package/dist/packages/connect/src/api/location/index.d.ts +7 -0
  136. package/dist/packages/connect/src/api/marketing-material/index.d.ts +7 -0
  137. package/dist/packages/connect/src/api/member/index.d.ts +12 -0
  138. package/dist/packages/connect/src/api/membership/index.d.ts +31 -0
  139. package/dist/packages/connect/src/api/segments/index.d.ts +13 -0
  140. package/dist/packages/connect/src/api/settings/index.d.ts +4 -0
  141. package/dist/packages/connect/src/api/transaction/index.d.ts +9 -0
  142. package/dist/packages/connect/src/api/users/index.d.ts +8 -0
  143. package/dist/packages/connect/src/app.d.ts +16 -0
  144. package/dist/packages/connect/src/components/NavigationTab.vue.d.ts +2 -0
  145. package/dist/packages/connect/src/components/analytic/CampaignCard.vue.d.ts +24 -0
  146. package/dist/packages/connect/src/components/analytic/CampaignChip.vue.d.ts +47 -0
  147. package/dist/packages/connect/src/components/analytic/CampaignGroup.vue.d.ts +25 -0
  148. package/dist/packages/connect/src/components/analytic/CampaignStat.vue.d.ts +31 -0
  149. package/dist/packages/connect/src/components/analytic/LinkCampaign.vue.d.ts +30 -0
  150. package/dist/packages/connect/src/components/campaign/CampaignChip.vue.d.ts +13 -0
  151. package/dist/packages/connect/src/components/campaign/CampaignTriggerInput.vue.d.ts +34 -0
  152. package/dist/packages/connect/src/components/campaign/EarningOptionInput.vue.d.ts +50 -0
  153. package/dist/packages/connect/src/components/campaign/GameTypeInput.vue.d.ts +15 -0
  154. package/dist/packages/connect/src/components/campaign/MessageInput.vue.d.ts +58 -0
  155. package/dist/packages/connect/src/components/campaign/PromotionGameTypeInput.vue.d.ts +19 -0
  156. package/dist/packages/connect/src/components/campaign/ScheduleRuleInput.vue.d.ts +29 -0
  157. package/dist/packages/connect/src/components/campaign/TargetLocationInput.vue.d.ts +32 -0
  158. package/dist/packages/connect/src/components/campaign/ValidityInput.vue.d.ts +59 -0
  159. package/dist/packages/connect/src/components/collectible/CollectibleChip.vue.d.ts +13 -0
  160. package/dist/packages/connect/src/components/collectible/CollectibleOptionInput.vue.d.ts +59 -0
  161. package/dist/packages/connect/src/components/collection/Collections.vue.d.ts +2 -0
  162. package/dist/packages/connect/src/components/custom/ChipMenu.vue.d.ts +96 -0
  163. package/dist/packages/connect/src/components/custom/CustomSelect.vue.d.ts +68 -0
  164. package/dist/packages/connect/src/components/custom/DateInput.vue.d.ts +24 -0
  165. package/dist/packages/connect/src/components/custom/DateRangeChip.vue.d.ts +25 -0
  166. package/dist/packages/connect/src/components/custom/DateRangeInput.vue.d.ts +28 -0
  167. package/dist/packages/connect/src/components/custom/FilterChip.vue.d.ts +90 -0
  168. package/dist/packages/connect/src/components/custom/ImageInput.vue.d.ts +115 -0
  169. package/dist/packages/connect/src/components/custom/json/JsonNode.vue.d.ts +36 -0
  170. package/dist/packages/connect/src/components/custom/json/JsonViewer.vue.d.ts +22 -0
  171. package/dist/packages/connect/src/components/custom/zod/ZodTextField.vue.d.ts +52 -0
  172. package/dist/packages/connect/src/components/loading/ImageLoading.vue.d.ts +2 -0
  173. package/dist/packages/connect/src/components/loading/LottieAnimation.vue.d.ts +39 -0
  174. package/dist/packages/connect/src/components/loading/Splash.vue.d.ts +2 -0
  175. package/dist/packages/connect/src/components/loyalty/CampaignTypeDialog.vue.d.ts +13 -0
  176. package/dist/packages/connect/src/components/loyalty/CreditCoinDialog.vue.d.ts +29 -0
  177. package/dist/packages/connect/src/components/loyalty/TierExpression.vue.d.ts +32 -0
  178. package/dist/packages/connect/src/components/marketing/HeadlineStyleSideSheet.vue.d.ts +42 -0
  179. package/dist/packages/connect/src/components/marketing/ImageSideSheet.vue.d.ts +40 -0
  180. package/dist/packages/connect/src/components/marketing/LinkRewardSideSheet.vue.d.ts +30 -0
  181. package/dist/packages/connect/src/components/marketing/MarketingSheet.vue.d.ts +2 -0
  182. package/dist/packages/connect/src/components/marketing/RewardDropDown.vue.d.ts +26 -0
  183. package/dist/packages/connect/src/components/marketing/RightSheet.vue.d.ts +66 -0
  184. package/dist/packages/connect/src/components/marketing/SlideUpDown.vue.d.ts +27 -0
  185. package/dist/packages/connect/src/components/marketing/platform/BrandAppImage.vue.d.ts +103 -0
  186. package/dist/packages/connect/src/components/marketing/platform/FacebookPost.vue.d.ts +103 -0
  187. package/dist/packages/connect/src/components/marketing/platform/FacebookStory.vue.d.ts +103 -0
  188. package/dist/packages/connect/src/components/marketing/platform/ImageCanvas.vue.d.ts +81 -0
  189. package/dist/packages/connect/src/components/marketing/platform/InstagramPost.vue.d.ts +102 -0
  190. package/dist/packages/connect/src/components/marketing/platform/InstagramReel.vue.d.ts +102 -0
  191. package/dist/packages/connect/src/components/marketing/platform/InstagramStory.vue.d.ts +102 -0
  192. package/dist/packages/connect/src/components/marketing/platform/TvImage.vue.d.ts +103 -0
  193. package/dist/packages/connect/src/components/member/MemberDetail.vue.d.ts +2 -0
  194. package/dist/packages/connect/src/components/member/MemberList.vue.d.ts +2 -0
  195. package/dist/packages/connect/src/components/member/MemberOverview.vue.d.ts +2 -0
  196. package/dist/packages/connect/src/components/member/MemberStatsDialog.vue.d.ts +21 -0
  197. package/dist/packages/connect/src/components/rule/BillRuleGroup.vue.d.ts +19 -0
  198. package/dist/packages/connect/src/components/rule/CustomRuleDialog.vue.d.ts +30 -0
  199. package/dist/packages/connect/src/components/rule/FeedbackRuleGroup.vue.d.ts +19 -0
  200. package/dist/packages/connect/src/components/rule/PresetRuleDialog.vue.d.ts +20 -0
  201. package/dist/packages/connect/src/components/rule/RuleConfigurator.vue.d.ts +37 -0
  202. package/dist/packages/connect/src/components/rule/RuleEntry.vue.d.ts +19 -0
  203. package/dist/packages/connect/src/components/rule/RuleEquator.vue.d.ts +31 -0
  204. package/dist/packages/connect/src/components/rule/RuleGroup.vue.d.ts +30 -0
  205. package/dist/packages/connect/src/components/rule/SegmentConfigurator.vue.d.ts +17 -0
  206. package/dist/packages/connect/src/components/rule/TimeRuleGroup.vue.d.ts +19 -0
  207. package/dist/packages/connect/src/components/rule/UserRuleGroup.vue.d.ts +19 -0
  208. package/dist/packages/connect/src/components/rule/equators/BirthdayInput.vue.d.ts +15 -0
  209. package/dist/packages/connect/src/components/rule/equators/IsDayInput.vue.d.ts +24 -0
  210. package/dist/packages/connect/src/components/rule/equators/IsInMonthInput.vue.d.ts +16 -0
  211. package/dist/packages/connect/src/components/rule/equators/IsRangeInput.vue.d.ts +55 -0
  212. package/dist/packages/connect/src/components/rule/equators/RruleInput.vue.d.ts +37 -0
  213. package/dist/packages/connect/src/components/rule/presets.d.ts +18 -0
  214. package/dist/packages/connect/src/components/segment/ReviewSegment.vue.d.ts +16 -0
  215. package/dist/packages/connect/src/components/setting/LinkDeviceDialog.vue.d.ts +2 -0
  216. package/dist/packages/connect/src/components/store/AddBundleCard.vue.d.ts +6 -0
  217. package/dist/packages/connect/src/components/store/CategoryDialog.vue.d.ts +23 -0
  218. package/dist/packages/connect/src/components/store/StoreBundleCard.vue.d.ts +20 -0
  219. package/dist/packages/connect/src/components/store/StoreTransactions.vue.d.ts +10 -0
  220. package/dist/packages/connect/src/components/stripe/StripeSetting.vue.d.ts +21 -0
  221. package/dist/packages/connect/src/components/tax/TaxInclusiveSetting.vue.d.ts +30 -0
  222. package/dist/packages/connect/src/components/tax/TaxVariantSetting.vue.d.ts +24 -0
  223. package/dist/packages/connect/src/components/template/TemplateDialog.vue.d.ts +24 -0
  224. package/dist/packages/connect/src/components/template/TemplateInput.vue.d.ts +54 -0
  225. package/dist/packages/connect/src/components/tier/TierCard.vue.d.ts +39 -0
  226. package/dist/packages/connect/src/components/transactions/CollectionTransactions.vue.d.ts +10 -0
  227. package/dist/packages/connect/src/components/transactions/MemberTransactions.vue.d.ts +2 -0
  228. package/dist/packages/connect/src/composables/index.d.ts +2 -0
  229. package/dist/packages/connect/src/composables/loading.d.ts +19 -0
  230. package/dist/packages/connect/src/composables/template.d.ts +7 -0
  231. package/dist/packages/connect/src/export/collection.export.d.ts +9 -0
  232. package/dist/packages/connect/src/export/index.d.ts +9 -0
  233. package/dist/packages/connect/src/export/member.export.d.ts +33 -0
  234. package/dist/packages/connect/src/helpers/campaign.d.ts +94 -0
  235. package/dist/packages/connect/src/helpers/collectible.d.ts +58 -0
  236. package/dist/packages/connect/src/helpers/common.d.ts +1 -0
  237. package/dist/packages/connect/src/helpers/country.d.ts +21 -0
  238. package/dist/packages/connect/src/helpers/currency.d.ts +2 -0
  239. package/dist/packages/connect/src/helpers/effect.d.ts +7 -0
  240. package/dist/packages/connect/src/helpers/message.d.ts +32 -0
  241. package/dist/packages/connect/src/helpers/number.d.ts +3 -0
  242. package/dist/packages/connect/src/helpers/qr.d.ts +7 -0
  243. package/dist/packages/connect/src/helpers/rrule.d.ts +26 -0
  244. package/dist/packages/connect/src/helpers/rule.d.ts +91 -0
  245. package/dist/packages/connect/src/helpers/string.d.ts +16 -0
  246. package/dist/packages/connect/src/helpers/tax.d.ts +74 -0
  247. package/dist/packages/connect/src/helpers/trigger.d.ts +59 -0
  248. package/dist/packages/connect/src/helpers/zod.d.ts +27 -0
  249. package/dist/packages/connect/src/layouts/MainLayout.vue.d.ts +2 -0
  250. package/dist/packages/connect/src/main.d.ts +2 -0
  251. package/dist/packages/connect/src/router/index.d.ts +4 -0
  252. package/dist/packages/connect/src/router/name.d.ts +3 -0
  253. package/dist/packages/connect/src/router/shared.d.ts +11 -0
  254. package/dist/packages/connect/src/sheets/analytic/AnalyticSheet.vue.d.ts +12 -0
  255. package/dist/packages/connect/src/sheets/campaign/EditCampaignSheet.vue.d.ts +11 -0
  256. package/dist/packages/connect/src/sheets/campaign/SendVoucherSheet.vue.d.ts +13 -0
  257. package/dist/packages/connect/src/sheets/card/CardDesignSheet.vue.d.ts +9 -0
  258. package/dist/packages/connect/src/sheets/card/CreateCardSheet.vue.d.ts +9 -0
  259. package/dist/packages/connect/src/sheets/collectible/EditRewardSheet.vue.d.ts +15 -0
  260. package/dist/packages/connect/src/sheets/collectible/EditTitleSheet.vue.d.ts +15 -0
  261. package/dist/packages/connect/src/sheets/collection/CreateCollectionSheet.vue.d.ts +9 -0
  262. package/dist/packages/connect/src/sheets/effect/EffectSheet.vue.d.ts +135 -0
  263. package/dist/packages/connect/src/sheets/member/MemberDetailSheet.vue.d.ts +22 -0
  264. package/dist/packages/connect/src/sheets/store/StoreSettingSheet.vue.d.ts +80 -0
  265. package/dist/packages/connect/src/types/index.d.ts +4 -0
  266. package/dist/packages/connect/src/views/Analytic.vue.d.ts +2 -0
  267. package/dist/packages/connect/src/views/Marketing.vue.d.ts +2 -0
  268. package/dist/packages/connect/src/views/Setting.vue.d.ts +2 -0
  269. package/dist/packages/connect/src/views/Transaction.vue.d.ts +2 -0
  270. package/dist/packages/connect/src/views/campaign/Broadcast.vue.d.ts +2 -0
  271. package/dist/packages/connect/src/views/campaign/Promotion.vue.d.ts +2 -0
  272. package/dist/packages/connect/src/views/campaign/Voucher.vue.d.ts +2 -0
  273. package/dist/packages/connect/src/views/loyalty/Card.vue.d.ts +2 -0
  274. package/dist/packages/connect/src/views/loyalty/Member.vue.d.ts +2 -0
  275. package/dist/packages/connect/src/views/loyalty/Segment.vue.d.ts +2 -0
  276. package/dist/packages/connect/src/views/program/Credit.vue.d.ts +2 -0
  277. package/dist/packages/connect/src/views/program/Experience.vue.d.ts +2 -0
  278. package/dist/packages/connect/src/views/program/Game.vue.d.ts +2 -0
  279. package/dist/packages/connect/src/views/program/Point.vue.d.ts +2 -0
  280. package/dist/packages/connect/src/views/program/Tier.vue.d.ts +2 -0
  281. package/dist/packages/connect/src/views/program/Title.vue.d.ts +2 -0
  282. package/dist/packages/connect/src/views/store/Store.vue.d.ts +2 -0
  283. package/dist/packages/connect/src/views/store/StoreRewards.vue.d.ts +2 -0
  284. package/dist/rule-ByvLGHt_.js +1966 -0
  285. package/dist/rule-builder-C2aRGLCt.js +89 -0
  286. package/dist/style.css +1 -0
  287. package/dist/template-xUeXMsdp.js +190 -0
  288. package/dist/tier-BJDhpH6X.js +4 -0
  289. package/dist/tiers/tier=1.png +0 -0
  290. package/dist/tiers/tier=2.png +0 -0
  291. package/dist/tiers/tier=3.png +0 -0
  292. package/dist/tiers/tier=4.png +0 -0
  293. package/dist/titles/type=diamond.png +0 -0
  294. package/dist/titles/type=drinks.png +0 -0
  295. package/dist/titles/type=food.png +0 -0
  296. package/dist/titles/type=heart.png +0 -0
  297. package/dist/titles/type=medal.png +0 -0
  298. package/dist/titles/type=spend.png +0 -0
  299. package/dist/titles/type=thank-you.png +0 -0
  300. package/dist/titles/type=thumbs-up.png +0 -0
  301. package/dist/titles/type=years.png +0 -0
  302. package/dist/xlsx-CxXT5AXI.js +15491 -0
  303. package/package.json +67 -0
package/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # FeedMe Connect
2
+
3
+ ## Project Setup
4
+
5
+ To get started with the project, run the following commands:
6
+
7
+ ```sh
8
+ pnpm install
9
+ ```
10
+
11
+ ### Compile and Hot-Reload for Development
12
+
13
+ ```sh
14
+ pnpm dev
15
+ ```
16
+
17
+ ### Type-Check, Compile and Minify for Production
18
+
19
+ ```sh
20
+ pnpm build
21
+ ```
22
+
23
+ ### Formatting is with prettier, set default formatter to Prettier
24
+ ```json
25
+ "[typescript]": {
26
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
27
+ },
28
+ "[vue]": {
29
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
30
+ }
31
+ ```
@@ -0,0 +1,614 @@
1
+ import { defineComponent as I, openBlock as l, createElementBlock as h, Fragment as V, renderList as B, createElementVNode as a, toDisplayString as U, createCommentVNode as T, resolveComponent as S, createBlock as F, withCtx as O, createVNode as p, unref as n, ref as C, computed as G, onMounted as q, watch as X, isRef as N, createSlots as Y, createTextVNode as ee, reactive as te, onBeforeMount as ae, normalizeClass as ne } from "vue";
2
+ import { _ as oe } from "./campaign-CpzFl8Vr.js";
3
+ import { f as le } from "./number-BgOMhVX5.js";
4
+ import { C as se, F as ie, a as re } from "./dto-ts2Lkngs.js";
5
+ import { useRouter as ce } from "vue-router";
6
+ import { c as P } from "./index-BZbepUcT.js";
7
+ import { _ as ue, Z as de } from "./ZodTextField.vue_vue_type_script_setup_true_lang-3LlSDiq0.js";
8
+ import { J as me } from "./JsonViewer-CDb_cQJh.js";
9
+ import "./index-y3taWZm8.js";
10
+ import { useSnackbar as pe } from "@feedmepos/ui-library";
11
+ import { u as fe } from "./app-DRUbn5GO.js";
12
+ import { u as ve } from "./loading-Dy-VtOFu.js";
13
+ import { g as ye } from "./object-qECH92oz.js";
14
+ import { u as _e } from "./campaign-DmbniSEP.js";
15
+ import { m as ge } from "./index-BTanTa5F.js";
16
+ const he = { class: "divide-x flex flex-wrap" }, be = { class: "fm-typo-en-body-md-400 mb-2 text-fm-color-typo-secondary" }, xe = { class: "fm-typo-en-title-sm-800" }, Ce = /* @__PURE__ */ I({
17
+ __name: "CampaignStat",
18
+ props: {
19
+ data: {
20
+ type: Object,
21
+ required: !0
22
+ }
23
+ },
24
+ setup(m) {
25
+ const R = m, i = [
26
+ { label: "Credit Received", key: "CREDIT" },
27
+ { label: "EXP Received", key: "POINT" },
28
+ { label: "Points Received", key: "COIN" },
29
+ { label: "Message Sent", key: "BROADCAST" },
30
+ { label: "Vouchers Claimed", key: "VOUCHER" },
31
+ { label: "Users Joined", key: "UNIQUE_USER" }
32
+ ];
33
+ function u(_) {
34
+ var r;
35
+ return le((r = R.data) == null ? void 0 : r[_], 2, !0) || 0;
36
+ }
37
+ return (_, r) => (l(), h("div", he, [
38
+ (l(), h(V, null, B(i, (e) => (l(), h(V, null, [
39
+ e.key in m.data ? (l(), h("div", {
40
+ key: e.key,
41
+ class: "px-16"
42
+ }, [
43
+ a("div", be, U(e.label), 1),
44
+ a("div", xe, U(u(e.key)), 1)
45
+ ])) : T("", !0)
46
+ ], 64))), 64))
47
+ ]));
48
+ }
49
+ }), ke = { class: "bg-fm-color-neutral-gray-100 gap-4 h-[30px] inline-flex items-center justify-center max-w-[250px] px-8 py-4 rounded-md" }, Se = { class: "fm-typo-en-body-md-600 overflow-hidden select-none text-ellipsis text-fm-color-typo-secondary whitespace-nowrap" }, we = /* @__PURE__ */ I({
50
+ __name: "CampaignChip",
51
+ props: {
52
+ type: { type: String, required: !0 },
53
+ icon: {
54
+ type: Object,
55
+ default: () => ({ icon: "circle", color: "typo-sucess" })
56
+ },
57
+ label: {
58
+ type: String,
59
+ default: ""
60
+ }
61
+ },
62
+ setup(m) {
63
+ const i = se[m.type];
64
+ return (u, _) => {
65
+ const r = S("FmIcon"), e = S("FmTooltip");
66
+ return l(), F(e, {
67
+ variant: "plain",
68
+ placement: "top",
69
+ content: m.label
70
+ }, {
71
+ default: O(() => [
72
+ a("div", ke, [
73
+ p(r, {
74
+ name: n(i).icon,
75
+ outline: "",
76
+ size: "sm"
77
+ }, null, 8, ["name"]),
78
+ a("div", Se, U(m.label), 1),
79
+ p(r, {
80
+ name: m.icon.name,
81
+ color: m.icon.color,
82
+ size: "sm"
83
+ }, null, 8, ["name", "color"])
84
+ ])
85
+ ]),
86
+ _: 1
87
+ }, 8, ["content"]);
88
+ };
89
+ }
90
+ }), $e = { class: "flex flex-col" }, Fe = { class: "flex flex-nowrap items-center justify-between mb-12" }, Ve = { class: "flex gap-4 items-center justify-start" }, Re = { class: "fm-typo-en-title-sm-800" }, Ae = { class: "flex flex-wrap gap-4 items-center mb-16 overflow-y-hidden" }, Ue = /* @__PURE__ */ I({
91
+ __name: "CampaignGroup",
92
+ props: {
93
+ group: {
94
+ type: Object,
95
+ required: !0
96
+ },
97
+ onEdit: {
98
+ type: Function,
99
+ required: !0
100
+ }
101
+ },
102
+ emits: ["changed"],
103
+ setup(m, { emit: R }) {
104
+ ce(), C(!1);
105
+ const i = m, u = C([]), _ = G(
106
+ () => u.value.reduce(
107
+ (e, c) => ({ ...e, [c.type]: c.totalAmount }),
108
+ {}
109
+ )
110
+ ), r = G(() => {
111
+ var e;
112
+ return ((e = i.group.pf_campaigns) == null ? void 0 : e.map((c) => ({
113
+ campaign: c,
114
+ label: c.name
115
+ }))) || [];
116
+ });
117
+ return q(async () => {
118
+ u.value = await P.readStats({
119
+ groupId: i.group._id.toString()
120
+ });
121
+ }), (e, c) => {
122
+ const s = S("FmButton"), o = S("FmCard");
123
+ return l(), F(o, {
124
+ class: "mb-24 p-24",
125
+ variant: "outlined"
126
+ }, {
127
+ default: O(() => [
128
+ a("div", $e, [
129
+ a("div", Fe, [
130
+ a("div", Ve, [
131
+ a("div", Re, U(m.group.name), 1),
132
+ p(s, {
133
+ icon: "edit",
134
+ variant: "tertiary",
135
+ onClick: c[0] || (c[0] = (f) => m.onEdit(m.group))
136
+ })
137
+ ])
138
+ ]),
139
+ a("div", Ae, [
140
+ (l(!0), h(V, null, B(n(r), (f) => (l(), F(we, {
141
+ key: e.index,
142
+ type: f.campaign.type,
143
+ label: f.label
144
+ }, null, 8, ["type", "label"]))), 128))
145
+ ]),
146
+ p(Ce, { data: n(_) }, null, 8, ["data"])
147
+ ])
148
+ ]),
149
+ _: 1
150
+ });
151
+ };
152
+ }
153
+ }), Oe = { class: "ml-32 flex flex-col" }, Ee = /* @__PURE__ */ I({
154
+ __name: "CampaignCard",
155
+ props: {
156
+ title: {},
157
+ items: {},
158
+ modelValue: {}
159
+ },
160
+ emits: ["update:model-value"],
161
+ setup(m, { emit: R }) {
162
+ const i = m, u = R, _ = (s) => {
163
+ s ? c.value = i.items.map((o) => o.value) : c.value = [], e.value = s, u("update:model-value", c.value);
164
+ }, r = (s) => {
165
+ c.value = s, e.value = s.length === i.items.length, u("update:model-value", s);
166
+ }, e = C(!1), c = C([]);
167
+ return X(
168
+ () => i.modelValue,
169
+ () => {
170
+ c.value = i.modelValue.filter(
171
+ (s) => i.items.find((o) => o.value === s)
172
+ );
173
+ }
174
+ ), q(() => {
175
+ c.value = i.modelValue.filter(
176
+ (s) => i.items.find((o) => o.value === s)
177
+ );
178
+ }), (s, o) => {
179
+ const f = S("FmCheckbox"), b = S("FmCard");
180
+ return l(), F(b, {
181
+ variant: "outlined",
182
+ class: "p-16 space-y-8 h-full cursor-pointer select-none xs:col-span-3"
183
+ }, {
184
+ default: O(() => [
185
+ p(f, {
186
+ "model-value": n(e),
187
+ value: "1",
188
+ label: i.title,
189
+ indeterminate: n(c).length > 0,
190
+ "onUpdate:modelValue": _
191
+ }, null, 8, ["model-value", "label", "indeterminate"]),
192
+ a("div", Oe, [
193
+ (l(!0), h(V, null, B(i.items, (g, w) => (l(), F(f, {
194
+ key: w,
195
+ "model-value": n(c),
196
+ label: g.label,
197
+ value: g.value,
198
+ "onUpdate:modelValue": r
199
+ }, null, 8, ["model-value", "label", "value"]))), 128))
200
+ ])
201
+ ]),
202
+ _: 1
203
+ });
204
+ };
205
+ }
206
+ }), Te = { class: "space-y-16" }, Be = { class: "flex items-center" }, Pe = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary w-[300px]" }, Ge = { class: "space-y-[40px]" }, Ie = /* @__PURE__ */ I({
207
+ __name: "LinkCampaign",
208
+ props: {
209
+ modelValue: {
210
+ type: Array,
211
+ required: !0
212
+ },
213
+ campaigns: {
214
+ type: Object,
215
+ required: !0
216
+ }
217
+ },
218
+ emits: ["update:model-value"],
219
+ setup(m, { emit: R }) {
220
+ const i = C(""), u = C([]), _ = m, r = R, e = G(() => Object.entries(_.campaigns).reduce((s, [o, f]) => {
221
+ const b = f.filter(
222
+ (g) => g.label.toLowerCase().includes(i.value.toLowerCase())
223
+ );
224
+ return b.length > 0 && (s[o] = b), s;
225
+ }, {}));
226
+ function c(s, o) {
227
+ u.value = u.value.filter(
228
+ (f) => !o.map((b) => b.value).includes(f)
229
+ ), u.value = [.../* @__PURE__ */ new Set([...u.value, ...s])], r("update:model-value", u.value);
230
+ }
231
+ return q(() => {
232
+ u.value = _.modelValue;
233
+ }), (s, o) => {
234
+ const f = S("FmTextField");
235
+ return l(), h(V, null, [
236
+ p(me, { json: m.campaigns }, null, 8, ["json"]),
237
+ a("div", Te, [
238
+ a("div", Be, [
239
+ a("div", Pe, U(n(u).length) + " campaign(s) linked ", 1),
240
+ p(f, {
241
+ modelValue: n(i),
242
+ "onUpdate:modelValue": o[0] || (o[0] = (b) => N(i) ? i.value = b : null),
243
+ "prepend-icon": "search",
244
+ placeholder: "Search",
245
+ class: "w-full"
246
+ }, null, 8, ["modelValue"])
247
+ ]),
248
+ a("div", Ge, [
249
+ (l(!0), h(V, null, B(n(e), (b, g) => (l(), F(Ee, {
250
+ "model-value": n(u),
251
+ title: g,
252
+ items: b,
253
+ "onUpdate:modelValue": (w) => c(w, b)
254
+ }, null, 8, ["model-value", "title", "items", "onUpdate:modelValue"]))), 256))
255
+ ])
256
+ ])
257
+ ], 64);
258
+ };
259
+ }
260
+ }), Le = { class: "flex items-center gap-x-8" }, je = {
261
+ key: 0,
262
+ class: "space-y-16 pr-12"
263
+ }, Me = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Group detail", -1), De = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Link campaign", -1), Ne = { class: "flex items-center gap-x-16" }, qe = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, He = { class: "mt-16" }, ze = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-600 py-8 px-16 bg-gray-100" }, Ke = { class: "flex justify-between items-center py-8 px-16 border-b-1" }, Je = { class: "flex items-center gap-8" }, We = /* @__PURE__ */ I({
264
+ __name: "AnalyticSheet",
265
+ emits: ["success"],
266
+ setup(m, { expose: R, emit: i }) {
267
+ const u = i, _ = fe();
268
+ pe();
269
+ const r = C(!1), e = C(!1), c = {
270
+ name: "",
271
+ campaigns: []
272
+ }, s = C(""), o = C({ ...c }), f = ie.superRefine((d, t) => {
273
+ }), b = C([]), g = C(null), { global: w, minor: v } = ve, E = G(() => {
274
+ const d = f.safeParse(o.value);
275
+ return d.success ? [] : d.error.errors;
276
+ });
277
+ function L(d) {
278
+ var t;
279
+ r.value = !0, d ? (g.value = { ...d }, o.value = { ...d, campaigns: (t = d.pf_campaigns) == null ? void 0 : t.map((y) => y._id) }) : (g.value = null, o.value = { ...c });
280
+ }
281
+ function k() {
282
+ r.value = !1, g.value = null;
283
+ }
284
+ function H() {
285
+ e.value = !0;
286
+ }
287
+ async function $() {
288
+ const d = await P.readAll({
289
+ limit: 1e3,
290
+ skip: 0,
291
+ sortBy: "_id",
292
+ search: "",
293
+ descending: !0
294
+ });
295
+ b.value = d.resources.filter(
296
+ (t) => !["MEMBERSHIP", "REWARD_POOL"].includes(t.type) && !["ISSUE_REWARD"].includes("event" in t ? t == null ? void 0 : t.event.type : "")
297
+ );
298
+ }
299
+ const M = G(() => {
300
+ const d = (y) => y.map((A) => ({
301
+ label: A.name,
302
+ value: A._id
303
+ }));
304
+ return ye(
305
+ b.value,
306
+ (y) => re.formattedType(y.type),
307
+ d
308
+ );
309
+ }), K = G(() => Object.entries(M.value).reduce(
310
+ (d, [t, y]) => {
311
+ const A = y.filter((j) => {
312
+ var D, x;
313
+ return (x = (D = o.value) == null ? void 0 : D.campaigns) == null ? void 0 : x.includes(j.value);
314
+ }).filter(
315
+ (j) => j.label.toLowerCase().includes(s.value.toLowerCase())
316
+ );
317
+ return A.length > 0 && (d[t] = A), d;
318
+ },
319
+ {}
320
+ ));
321
+ function J(d) {
322
+ var y, A;
323
+ const t = (y = o.value.campaigns) == null ? void 0 : y.indexOf(d);
324
+ t != null && t > -1 && ((A = o.value.campaigns) == null || A.splice(t, 1));
325
+ }
326
+ async function W() {
327
+ f.safeParse(o.value).success && await v(
328
+ async () => {
329
+ var t;
330
+ g.value ? await P.updateGroup(
331
+ (t = g.value) == null ? void 0 : t._id,
332
+ o.value
333
+ ) : await P.createGroup(o.value), u("success"), k();
334
+ },
335
+ {
336
+ message: "Saving group",
337
+ successMessage: "Group saved"
338
+ }
339
+ );
340
+ }
341
+ async function Z() {
342
+ await v(
343
+ async () => {
344
+ var d;
345
+ await P.deleteGroup((d = g.value) == null ? void 0 : d._id), u("success"), k();
346
+ },
347
+ {
348
+ message: "Deleting group",
349
+ successMessage: "Group deleted"
350
+ }
351
+ );
352
+ }
353
+ return q(async () => {
354
+ await $();
355
+ }), R({
356
+ showSheet: L,
357
+ hideSheet: k
358
+ }), (d, t) => {
359
+ const y = S("FmButton"), A = S("FmTextField"), j = S("FmList"), D = S("FmSideSheet");
360
+ return l(), F(D, {
361
+ modelValue: n(r),
362
+ "onUpdate:modelValue": t[7] || (t[7] = (x) => N(r) ? r.value = x : null),
363
+ header: n(g) ? "Edit group" : "Add group",
364
+ "dismiss-away": "",
365
+ "close-button": !0,
366
+ "max-width": 550
367
+ }, Y({
368
+ "side-sheet-footer": O(() => [
369
+ a("div", Je, [
370
+ n(e) ? T("", !0) : (l(), h(V, { key: 0 }, [
371
+ p(y, {
372
+ label: "Submit",
373
+ onClick: W,
374
+ disabled: n(E).length > 0 || n(_).isLoading
375
+ }, null, 8, ["disabled"]),
376
+ p(y, {
377
+ label: "Cancel",
378
+ onClick: t[4] || (t[4] = (x) => k()),
379
+ variant: "tertiary"
380
+ }),
381
+ n(g) ? (l(), F(y, {
382
+ key: 0,
383
+ label: "Delete",
384
+ variant: "plain",
385
+ class: "ml-auto fm-color-system-error-300",
386
+ onClick: t[5] || (t[5] = (x) => Z())
387
+ })) : T("", !0)
388
+ ], 64)),
389
+ n(e) ? (l(), F(y, {
390
+ key: 1,
391
+ label: "Confirm",
392
+ onClick: t[6] || (t[6] = (x) => e.value = !1)
393
+ })) : T("", !0)
394
+ ])
395
+ ]),
396
+ default: O(() => [
397
+ n(e) ? T("", !0) : (l(), h("div", je, [
398
+ Me,
399
+ p(ue, {
400
+ modelValue: n(o).name,
401
+ "onUpdate:modelValue": t[1] || (t[1] = (x) => n(o).name = x),
402
+ label: "Name",
403
+ schema: n(de).typeAtPath(n(f), "name")
404
+ }, null, 8, ["modelValue", "schema"]),
405
+ De,
406
+ a("div", Ne, [
407
+ a("div", qe, U(n(o).campaigns.length) + " campaign(s) linked ", 1),
408
+ p(A, {
409
+ modelValue: n(s),
410
+ "onUpdate:modelValue": t[2] || (t[2] = (x) => N(s) ? s.value = x : null),
411
+ "prepend-icon": "search",
412
+ placeholder: "Search",
413
+ class: "w-auto"
414
+ }, null, 8, ["modelValue"])
415
+ ]),
416
+ p(y, {
417
+ variant: "plain",
418
+ icon: "link",
419
+ label: "Link Campaign",
420
+ onClick: H
421
+ })
422
+ ])),
423
+ n(e) ? (l(), F(Ie, {
424
+ key: 1,
425
+ modelValue: n(o).campaigns,
426
+ "onUpdate:modelValue": t[3] || (t[3] = (x) => n(o).campaigns = x),
427
+ campaigns: n(M)
428
+ }, null, 8, ["modelValue", "campaigns"])) : T("", !0),
429
+ a("div", He, [
430
+ n(e) ? T("", !0) : (l(!0), h(V, { key: 0 }, B(n(K), (x, Q) => (l(), h("div", null, [
431
+ a("div", ze, U(Q), 1),
432
+ p(j, { separator: !0 }, {
433
+ default: O(() => [
434
+ (l(!0), h(V, null, B(x, (z) => (l(), h("div", Ke, [
435
+ a("div", null, U(z.label), 1),
436
+ a("div", null, [
437
+ p(y, {
438
+ icon: "delete",
439
+ onClick: (it) => J(z.value),
440
+ variant: "tertiary"
441
+ }, null, 8, ["onClick"])
442
+ ])
443
+ ]))), 256))
444
+ ]),
445
+ _: 2
446
+ }, 1024)
447
+ ]))), 256))
448
+ ])
449
+ ]),
450
+ _: 2
451
+ }, [
452
+ n(e) ? {
453
+ name: "side-sheet-header",
454
+ fn: O(() => [
455
+ a("div", Le, [
456
+ p(y, {
457
+ icon: "arrow_back",
458
+ variant: "tertiary",
459
+ onClick: t[0] || (t[0] = (x) => e.value = !1)
460
+ }),
461
+ ee("Link campaign ")
462
+ ])
463
+ ]),
464
+ key: "0"
465
+ } : void 0
466
+ ]), 1032, ["modelValue", "header"]);
467
+ };
468
+ }
469
+ }), Ze = { class: "px-24 flex flex-col gap-y-32 pb-24" }, Qe = { class: "space-y-16" }, Xe = { class: "flex items-center justify-end" }, Ye = /* @__PURE__ */ a("div", { class: "fm-typo-en-body-lg-600" }, "Connect summary", -1), et = { class: "grid grid-cols-4 xs:grid-cols-2 gap-4 divide-x xs:divide-x-0" }, tt = { class: "fm-typo-body-md-400 fm-typo-en-body-md-400 mb-2 text-fm-color-typo-secondary" }, at = { class: "fm-typo-en-title-sm-800" }, nt = /* @__PURE__ */ a("img", {
470
+ src: oe,
471
+ class: "w-[150px]"
472
+ }, null, -1), ot = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800 text-center" }, " Create campaign group to track performance ", -1), lt = /* @__PURE__ */ a("div", { class: "fm-typo-body-en-md-400 text-center text-fm-color-typo-secondary" }, " Start organizing your campaigns and promotions by creating groups. Groups allow you to aggregate performance metrics across multiple vouchers, promotions, or other rewards. ", -1), st = { class: "flex gap-16 items-center" }, kt = /* @__PURE__ */ I({
473
+ __name: "Analytic",
474
+ setup(m) {
475
+ const R = {
476
+ label: "Add group",
477
+ value: "create",
478
+ isPrimary: !0,
479
+ prependIcon: "add"
480
+ }, i = _e(), u = C(), _ = C([]), r = C(""), e = te({
481
+ totalCampaign: 0,
482
+ totalProgram: 0,
483
+ totalMember: 0
484
+ }), c = C("1"), s = [
485
+ {
486
+ key: "Total campaign",
487
+ value: () => e.totalCampaign
488
+ },
489
+ {
490
+ key: "Total Program",
491
+ value: () => e.totalProgram
492
+ },
493
+ {
494
+ key: "Total Member",
495
+ value: () => e.totalMember
496
+ }
497
+ ];
498
+ function o(w) {
499
+ var v;
500
+ c.value = (/* @__PURE__ */ new Date()).toISOString(), (v = u.value) == null || v.showSheet(w);
501
+ }
502
+ async function f() {
503
+ await i.readGroups();
504
+ const w = await P.readAllGrouped({
505
+ limit: 100,
506
+ skip: 0,
507
+ sortBy: "_id",
508
+ search: "",
509
+ descending: !0
510
+ });
511
+ _.value = w.resources;
512
+ }
513
+ async function b() {
514
+ var E, L;
515
+ const w = await ge.read({
516
+ limit: 1,
517
+ skip: 0,
518
+ sortBy: "_id",
519
+ search: "",
520
+ descending: !1
521
+ }), v = await P.readAll({
522
+ limit: 1e3,
523
+ skip: 0,
524
+ sortBy: "_id",
525
+ search: "",
526
+ descending: !1
527
+ });
528
+ e.totalCampaign = ((E = v.resources) == null ? void 0 : E.filter(
529
+ (k) => ["PROMOTION", "VOUCHER", "BROADCAST"].includes(k.type) && !["ISSUE_REWARD"].includes("event" in k ? k == null ? void 0 : k.event.type : "")
530
+ ).length) ?? 0, e.totalProgram = ((L = v.resources) == null ? void 0 : L.filter(
531
+ (k) => ["POINT", "COIN", "CREDIT", "GAME"].includes(k.type)
532
+ ).length) ?? 0, e.totalMember = w.meta.totalResources ?? 0;
533
+ }
534
+ const g = G(() => _.value.filter((w) => {
535
+ var v;
536
+ return w.name.includes(r.value) || ((v = w.pf_campaigns) == null ? void 0 : v.filter((E) => E.name.includes(r.value)).length);
537
+ }));
538
+ return ae(async () => {
539
+ await f(), await b();
540
+ }), (w, v) => {
541
+ const E = S("FmPageHead"), L = S("FmSearch"), k = S("FmCard"), H = S("FmButton");
542
+ return l(), h(V, null, [
543
+ p(E, {
544
+ title: "Analytic",
545
+ actions: n(_).length > 0 ? [R] : [],
546
+ "onClick:action": v[0] || (v[0] = ($) => o())
547
+ }, null, 8, ["actions"]),
548
+ a("div", Ze, [
549
+ a("div", Qe, [
550
+ a("div", Xe, [
551
+ p(L, {
552
+ class: "xs:hidden",
553
+ modelValue: n(r),
554
+ "onUpdate:modelValue": v[1] || (v[1] = ($) => N(r) ? r.value = $ : null),
555
+ placeholder: "Search Table",
556
+ collapsible: ""
557
+ }, null, 8, ["modelValue"])
558
+ ]),
559
+ p(k, {
560
+ variant: "outlined",
561
+ class: "flex flex-col gap-16 p-16"
562
+ }, {
563
+ default: O(() => [
564
+ Ye,
565
+ a("div", et, [
566
+ (l(), h(V, null, B(s, ($, M) => a("div", {
567
+ key: $.key,
568
+ class: ne(["px-8", { "xs:!border-r": M % 2 == 0 }])
569
+ }, [
570
+ a("div", tt, U($.key), 1),
571
+ a("div", at, U($.value()), 1)
572
+ ], 2)), 64))
573
+ ])
574
+ ]),
575
+ _: 1
576
+ })
577
+ ]),
578
+ n(_).length ? T("", !0) : (l(), F(k, {
579
+ key: 0,
580
+ variant: "outlined",
581
+ class: "flex flex-col gap-y-24 items-center p-16"
582
+ }, {
583
+ default: O(() => [
584
+ nt,
585
+ ot,
586
+ lt,
587
+ a("div", st, [
588
+ p(H, {
589
+ label: "Create group",
590
+ icon: "add",
591
+ onClick: v[2] || (v[2] = ($) => o())
592
+ })
593
+ ])
594
+ ]),
595
+ _: 1
596
+ })),
597
+ (l(!0), h(V, null, B(n(g), ($) => (l(), F(Ue, {
598
+ key: $._id.toString(),
599
+ group: $,
600
+ "on-edit": o
601
+ }, null, 8, ["group"]))), 128)),
602
+ p(We, {
603
+ ref_key: "sheetRef",
604
+ ref: u,
605
+ onSuccess: f
606
+ }, null, 512)
607
+ ])
608
+ ], 64);
609
+ };
610
+ }
611
+ });
612
+ export {
613
+ kt as default
614
+ };