@powerhousedao/contributor-billing 0.1.41 → 0.1.43

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 (729) hide show
  1. package/dist/document-models/account-transactions/actions.d.ts.map +1 -1
  2. package/dist/document-models/account-transactions/gen/account/actions.d.ts +1 -1
  3. package/dist/document-models/account-transactions/gen/account/actions.d.ts.map +1 -1
  4. package/dist/document-models/account-transactions/gen/account/actions.js +1 -1
  5. package/dist/document-models/account-transactions/gen/account/operations.d.ts +2 -2
  6. package/dist/document-models/account-transactions/gen/account/operations.d.ts.map +1 -1
  7. package/dist/document-models/account-transactions/gen/account/operations.js +0 -2
  8. package/dist/document-models/account-transactions/gen/budgets/actions.d.ts +1 -1
  9. package/dist/document-models/account-transactions/gen/budgets/actions.d.ts.map +1 -1
  10. package/dist/document-models/account-transactions/gen/budgets/actions.js +1 -1
  11. package/dist/document-models/account-transactions/gen/budgets/operations.d.ts +2 -2
  12. package/dist/document-models/account-transactions/gen/budgets/operations.d.ts.map +1 -1
  13. package/dist/document-models/account-transactions/gen/budgets/operations.js +0 -2
  14. package/dist/document-models/account-transactions/gen/document-model.js +45 -45
  15. package/dist/document-models/account-transactions/gen/document-schema.d.ts +21 -151
  16. package/dist/document-models/account-transactions/gen/document-schema.d.ts.map +1 -1
  17. package/dist/document-models/account-transactions/gen/reducer.d.ts.map +1 -1
  18. package/dist/document-models/account-transactions/gen/reducer.js +16 -8
  19. package/dist/document-models/account-transactions/gen/schema/types.d.ts +13 -1
  20. package/dist/document-models/account-transactions/gen/schema/types.d.ts.map +1 -1
  21. package/dist/document-models/account-transactions/gen/schema/zod.d.ts +11 -5
  22. package/dist/document-models/account-transactions/gen/schema/zod.d.ts.map +1 -1
  23. package/dist/document-models/account-transactions/gen/schema/zod.js +18 -18
  24. package/dist/document-models/account-transactions/gen/transactions/actions.d.ts +1 -1
  25. package/dist/document-models/account-transactions/gen/transactions/actions.d.ts.map +1 -1
  26. package/dist/document-models/account-transactions/gen/transactions/actions.js +1 -1
  27. package/dist/document-models/account-transactions/gen/transactions/operations.d.ts +2 -2
  28. package/dist/document-models/account-transactions/gen/transactions/operations.d.ts.map +1 -1
  29. package/dist/document-models/account-transactions/gen/transactions/operations.js +0 -2
  30. package/dist/document-models/account-transactions/gen/types.d.ts.map +1 -1
  31. package/dist/document-models/account-transactions/hooks.d.ts +5 -2
  32. package/dist/document-models/account-transactions/hooks.d.ts.map +1 -1
  33. package/dist/document-models/account-transactions/hooks.js +3 -4
  34. package/dist/document-models/account-transactions/index.d.ts +0 -4
  35. package/dist/document-models/account-transactions/index.d.ts.map +1 -1
  36. package/dist/document-models/account-transactions/index.js +0 -4
  37. package/dist/document-models/account-transactions/module.d.ts.map +1 -1
  38. package/dist/document-models/account-transactions/module.js +1 -0
  39. package/dist/document-models/account-transactions/tests/account.test.d.ts +2 -0
  40. package/dist/document-models/account-transactions/tests/account.test.d.ts.map +1 -0
  41. package/dist/document-models/account-transactions/tests/account.test.js +15 -0
  42. package/dist/document-models/account-transactions/tests/budgets.test.d.ts +2 -0
  43. package/dist/document-models/account-transactions/tests/budgets.test.d.ts.map +1 -0
  44. package/dist/document-models/account-transactions/tests/budgets.test.js +35 -0
  45. package/dist/document-models/account-transactions/tests/document-model.test.d.ts +10 -0
  46. package/dist/document-models/account-transactions/tests/document-model.test.d.ts.map +1 -0
  47. package/dist/document-models/account-transactions/tests/document-model.test.js +104 -0
  48. package/dist/document-models/account-transactions/tests/transactions.test.d.ts +2 -0
  49. package/dist/document-models/account-transactions/tests/transactions.test.d.ts.map +1 -0
  50. package/dist/document-models/account-transactions/tests/transactions.test.js +45 -0
  51. package/dist/document-models/accounts/actions.d.ts.map +1 -1
  52. package/dist/document-models/accounts/gen/accounts/actions.d.ts +1 -1
  53. package/dist/document-models/accounts/gen/accounts/actions.d.ts.map +1 -1
  54. package/dist/document-models/accounts/gen/accounts/actions.js +1 -1
  55. package/dist/document-models/accounts/gen/accounts/operations.d.ts +2 -2
  56. package/dist/document-models/accounts/gen/accounts/operations.d.ts.map +1 -1
  57. package/dist/document-models/accounts/gen/accounts/operations.js +0 -2
  58. package/dist/document-models/accounts/gen/document-model.js +2 -2
  59. package/dist/document-models/accounts/gen/document-schema.d.ts +15 -113
  60. package/dist/document-models/accounts/gen/document-schema.d.ts.map +1 -1
  61. package/dist/document-models/accounts/gen/reducer.d.ts.map +1 -1
  62. package/dist/document-models/accounts/gen/reducer.js +8 -4
  63. package/dist/document-models/accounts/gen/schema/types.d.ts +13 -1
  64. package/dist/document-models/accounts/gen/schema/types.d.ts.map +1 -1
  65. package/dist/document-models/accounts/gen/schema/zod.d.ts +25 -7
  66. package/dist/document-models/accounts/gen/schema/zod.d.ts.map +1 -1
  67. package/dist/document-models/accounts/gen/schema/zod.js +12 -12
  68. package/dist/document-models/accounts/gen/types.d.ts.map +1 -1
  69. package/dist/document-models/accounts/hooks.d.ts +5 -2
  70. package/dist/document-models/accounts/hooks.d.ts.map +1 -1
  71. package/dist/document-models/accounts/hooks.js +3 -4
  72. package/dist/document-models/accounts/index.d.ts +0 -4
  73. package/dist/document-models/accounts/index.d.ts.map +1 -1
  74. package/dist/document-models/accounts/index.js +0 -4
  75. package/dist/document-models/accounts/module.d.ts.map +1 -1
  76. package/dist/document-models/accounts/module.js +1 -0
  77. package/dist/document-models/accounts/tests/accounts.test.d.ts +2 -0
  78. package/dist/document-models/accounts/tests/accounts.test.d.ts.map +1 -0
  79. package/dist/document-models/accounts/tests/accounts.test.js +45 -0
  80. package/dist/document-models/accounts/tests/document-model.test.d.ts +10 -0
  81. package/dist/document-models/accounts/tests/document-model.test.d.ts.map +1 -0
  82. package/dist/document-models/accounts/tests/document-model.test.js +104 -0
  83. package/dist/document-models/billing-statement/actions.d.ts.map +1 -1
  84. package/dist/document-models/billing-statement/gen/document-model.js +41 -41
  85. package/dist/document-models/billing-statement/gen/document-schema.d.ts +39 -265
  86. package/dist/document-models/billing-statement/gen/document-schema.d.ts.map +1 -1
  87. package/dist/document-models/billing-statement/gen/general/actions.d.ts +1 -1
  88. package/dist/document-models/billing-statement/gen/general/actions.d.ts.map +1 -1
  89. package/dist/document-models/billing-statement/gen/general/actions.js +1 -1
  90. package/dist/document-models/billing-statement/gen/general/operations.d.ts +2 -2
  91. package/dist/document-models/billing-statement/gen/general/operations.d.ts.map +1 -1
  92. package/dist/document-models/billing-statement/gen/general/operations.js +0 -2
  93. package/dist/document-models/billing-statement/gen/line-items/actions.d.ts +1 -1
  94. package/dist/document-models/billing-statement/gen/line-items/actions.d.ts.map +1 -1
  95. package/dist/document-models/billing-statement/gen/line-items/actions.js +1 -1
  96. package/dist/document-models/billing-statement/gen/line-items/operations.d.ts +2 -2
  97. package/dist/document-models/billing-statement/gen/line-items/operations.d.ts.map +1 -1
  98. package/dist/document-models/billing-statement/gen/line-items/operations.js +0 -2
  99. package/dist/document-models/billing-statement/gen/reducer.d.ts.map +1 -1
  100. package/dist/document-models/billing-statement/gen/reducer.js +14 -7
  101. package/dist/document-models/billing-statement/gen/schema/types.d.ts +13 -1
  102. package/dist/document-models/billing-statement/gen/schema/types.d.ts.map +1 -1
  103. package/dist/document-models/billing-statement/gen/schema/zod.d.ts +29 -7
  104. package/dist/document-models/billing-statement/gen/schema/zod.d.ts.map +1 -1
  105. package/dist/document-models/billing-statement/gen/schema/zod.js +10 -10
  106. package/dist/document-models/billing-statement/gen/tags/actions.d.ts +1 -1
  107. package/dist/document-models/billing-statement/gen/tags/actions.d.ts.map +1 -1
  108. package/dist/document-models/billing-statement/gen/tags/actions.js +1 -1
  109. package/dist/document-models/billing-statement/gen/tags/operations.d.ts +2 -2
  110. package/dist/document-models/billing-statement/gen/tags/operations.d.ts.map +1 -1
  111. package/dist/document-models/billing-statement/gen/tags/operations.js +0 -2
  112. package/dist/document-models/billing-statement/gen/types.d.ts.map +1 -1
  113. package/dist/document-models/billing-statement/hooks.d.ts +5 -2
  114. package/dist/document-models/billing-statement/hooks.d.ts.map +1 -1
  115. package/dist/document-models/billing-statement/hooks.js +3 -4
  116. package/dist/document-models/billing-statement/index.d.ts +0 -4
  117. package/dist/document-models/billing-statement/index.d.ts.map +1 -1
  118. package/dist/document-models/billing-statement/index.js +0 -4
  119. package/dist/document-models/billing-statement/module.d.ts.map +1 -1
  120. package/dist/document-models/billing-statement/module.js +1 -0
  121. package/dist/document-models/billing-statement/tests/document-model.test.d.ts +10 -0
  122. package/dist/document-models/billing-statement/tests/document-model.test.d.ts.map +1 -0
  123. package/dist/document-models/billing-statement/tests/document-model.test.js +104 -0
  124. package/dist/document-models/billing-statement/tests/general.test.d.ts +2 -0
  125. package/dist/document-models/billing-statement/tests/general.test.d.ts.map +1 -0
  126. package/dist/document-models/billing-statement/tests/general.test.js +35 -0
  127. package/dist/document-models/billing-statement/tests/line-items.test.d.ts +2 -0
  128. package/dist/document-models/billing-statement/tests/line-items.test.d.ts.map +1 -0
  129. package/dist/document-models/billing-statement/tests/line-items.test.js +35 -0
  130. package/dist/document-models/billing-statement/tests/tags.test.d.ts +2 -0
  131. package/dist/document-models/billing-statement/tests/tags.test.d.ts.map +1 -0
  132. package/dist/document-models/billing-statement/tests/tags.test.js +15 -0
  133. package/dist/document-models/document-models.d.ts.map +1 -1
  134. package/dist/document-models/document-models.js +5 -3
  135. package/dist/document-models/expense-report/actions.d.ts +1 -0
  136. package/dist/document-models/expense-report/actions.d.ts.map +1 -1
  137. package/dist/document-models/expense-report/gen/document-model.d.ts.map +1 -1
  138. package/dist/document-models/expense-report/gen/document-model.js +14 -3
  139. package/dist/document-models/expense-report/gen/document-schema.d.ts +36 -208
  140. package/dist/document-models/expense-report/gen/document-schema.d.ts.map +1 -1
  141. package/dist/document-models/expense-report/gen/ph-factories.d.ts.map +1 -1
  142. package/dist/document-models/expense-report/gen/ph-factories.js +2 -0
  143. package/dist/document-models/expense-report/gen/reducer.d.ts.map +1 -1
  144. package/dist/document-models/expense-report/gen/reducer.js +40 -18
  145. package/dist/document-models/expense-report/gen/schema/types.d.ts +19 -1
  146. package/dist/document-models/expense-report/gen/schema/types.d.ts.map +1 -1
  147. package/dist/document-models/expense-report/gen/schema/zod.d.ts +15 -6
  148. package/dist/document-models/expense-report/gen/schema/zod.d.ts.map +1 -1
  149. package/dist/document-models/expense-report/gen/schema/zod.js +37 -29
  150. package/dist/document-models/expense-report/gen/types.d.ts.map +1 -1
  151. package/dist/document-models/expense-report/gen/utils.d.ts.map +1 -1
  152. package/dist/document-models/expense-report/gen/utils.js +2 -0
  153. package/dist/document-models/expense-report/gen/wallet/actions.d.ts +7 -3
  154. package/dist/document-models/expense-report/gen/wallet/actions.d.ts.map +1 -1
  155. package/dist/document-models/expense-report/gen/wallet/actions.js +1 -1
  156. package/dist/document-models/expense-report/gen/wallet/creators.d.ts +3 -2
  157. package/dist/document-models/expense-report/gen/wallet/creators.d.ts.map +1 -1
  158. package/dist/document-models/expense-report/gen/wallet/creators.js +2 -1
  159. package/dist/document-models/expense-report/gen/wallet/operations.d.ts +3 -2
  160. package/dist/document-models/expense-report/gen/wallet/operations.d.ts.map +1 -1
  161. package/dist/document-models/expense-report/gen/wallet/operations.js +0 -2
  162. package/dist/document-models/expense-report/hooks.d.ts +5 -2
  163. package/dist/document-models/expense-report/hooks.d.ts.map +1 -1
  164. package/dist/document-models/expense-report/hooks.js +3 -4
  165. package/dist/document-models/expense-report/index.d.ts +0 -4
  166. package/dist/document-models/expense-report/index.d.ts.map +1 -1
  167. package/dist/document-models/expense-report/index.js +0 -4
  168. package/dist/document-models/expense-report/module.d.ts.map +1 -1
  169. package/dist/document-models/expense-report/module.js +1 -0
  170. package/dist/document-models/expense-report/src/reducers/wallet.d.ts.map +1 -1
  171. package/dist/document-models/expense-report/src/reducers/wallet.js +9 -0
  172. package/dist/document-models/expense-report/tests/document-model.test.d.ts +10 -0
  173. package/dist/document-models/expense-report/tests/document-model.test.d.ts.map +1 -0
  174. package/dist/document-models/expense-report/tests/document-model.test.js +104 -0
  175. package/dist/document-models/expense-report/tests/wallet.test.d.ts +2 -0
  176. package/dist/document-models/expense-report/tests/wallet.test.d.ts.map +1 -0
  177. package/dist/document-models/expense-report/tests/wallet.test.js +175 -0
  178. package/dist/document-models/index.d.ts +3 -7
  179. package/dist/document-models/index.d.ts.map +1 -1
  180. package/dist/document-models/index.js +3 -7
  181. package/dist/document-models/invoice/actions.d.ts.map +1 -1
  182. package/dist/document-models/invoice/gen/document-model.js +146 -146
  183. package/dist/document-models/invoice/gen/document-schema.d.ts +66 -436
  184. package/dist/document-models/invoice/gen/document-schema.d.ts.map +1 -1
  185. package/dist/document-models/invoice/gen/general/actions.d.ts +1 -1
  186. package/dist/document-models/invoice/gen/general/actions.d.ts.map +1 -1
  187. package/dist/document-models/invoice/gen/general/actions.js +1 -1
  188. package/dist/document-models/invoice/gen/general/operations.d.ts +2 -2
  189. package/dist/document-models/invoice/gen/general/operations.d.ts.map +1 -1
  190. package/dist/document-models/invoice/gen/general/operations.js +0 -2
  191. package/dist/document-models/invoice/gen/items/actions.d.ts +1 -1
  192. package/dist/document-models/invoice/gen/items/actions.d.ts.map +1 -1
  193. package/dist/document-models/invoice/gen/items/actions.js +1 -1
  194. package/dist/document-models/invoice/gen/items/operations.d.ts +2 -2
  195. package/dist/document-models/invoice/gen/items/operations.d.ts.map +1 -1
  196. package/dist/document-models/invoice/gen/items/operations.js +0 -2
  197. package/dist/document-models/invoice/gen/parties/actions.d.ts +1 -1
  198. package/dist/document-models/invoice/gen/parties/actions.d.ts.map +1 -1
  199. package/dist/document-models/invoice/gen/parties/actions.js +1 -1
  200. package/dist/document-models/invoice/gen/parties/operations.d.ts +2 -2
  201. package/dist/document-models/invoice/gen/parties/operations.d.ts.map +1 -1
  202. package/dist/document-models/invoice/gen/parties/operations.js +0 -2
  203. package/dist/document-models/invoice/gen/reducer.d.ts.map +1 -1
  204. package/dist/document-models/invoice/gen/reducer.js +56 -28
  205. package/dist/document-models/invoice/gen/schema/types.d.ts +9 -1
  206. package/dist/document-models/invoice/gen/schema/types.d.ts.map +1 -1
  207. package/dist/document-models/invoice/gen/schema/zod.d.ts +42 -21
  208. package/dist/document-models/invoice/gen/schema/zod.d.ts.map +1 -1
  209. package/dist/document-models/invoice/gen/schema/zod.js +67 -67
  210. package/dist/document-models/invoice/gen/transitions/actions.d.ts +1 -1
  211. package/dist/document-models/invoice/gen/transitions/actions.d.ts.map +1 -1
  212. package/dist/document-models/invoice/gen/transitions/actions.js +1 -1
  213. package/dist/document-models/invoice/gen/transitions/operations.d.ts +2 -2
  214. package/dist/document-models/invoice/gen/transitions/operations.d.ts.map +1 -1
  215. package/dist/document-models/invoice/gen/transitions/operations.js +0 -2
  216. package/dist/document-models/invoice/gen/types.d.ts.map +1 -1
  217. package/dist/document-models/invoice/hooks.d.ts +5 -2
  218. package/dist/document-models/invoice/hooks.d.ts.map +1 -1
  219. package/dist/document-models/invoice/hooks.js +3 -4
  220. package/dist/document-models/invoice/index.d.ts +0 -4
  221. package/dist/document-models/invoice/index.d.ts.map +1 -1
  222. package/dist/document-models/invoice/index.js +0 -4
  223. package/dist/document-models/invoice/module.d.ts.map +1 -1
  224. package/dist/document-models/invoice/module.js +1 -0
  225. package/dist/document-models/invoice/tests/document-model.test.d.ts +10 -0
  226. package/dist/document-models/invoice/tests/document-model.test.d.ts.map +1 -0
  227. package/dist/document-models/invoice/tests/document-model.test.js +104 -0
  228. package/dist/document-models/invoice/tests/general.test.d.ts +2 -0
  229. package/dist/document-models/invoice/tests/general.test.d.ts.map +1 -0
  230. package/dist/document-models/invoice/tests/general.test.js +55 -0
  231. package/dist/document-models/invoice/tests/items.test.d.ts +2 -0
  232. package/dist/document-models/invoice/tests/items.test.d.ts.map +1 -0
  233. package/dist/document-models/invoice/tests/items.test.js +55 -0
  234. package/dist/document-models/invoice/tests/parties.test.d.ts +2 -0
  235. package/dist/document-models/invoice/tests/parties.test.d.ts.map +1 -0
  236. package/dist/document-models/invoice/tests/parties.test.js +65 -0
  237. package/dist/document-models/invoice/tests/transitions.test.d.ts +2 -0
  238. package/dist/document-models/invoice/tests/transitions.test.d.ts.map +1 -0
  239. package/dist/document-models/invoice/tests/transitions.test.js +125 -0
  240. package/dist/document-models/resource-template/actions.d.ts +3 -0
  241. package/dist/document-models/resource-template/actions.d.ts.map +1 -1
  242. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts +1 -1
  243. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts.map +1 -1
  244. package/dist/document-models/resource-template/gen/audience-management/actions.js +1 -1
  245. package/dist/document-models/resource-template/gen/audience-management/error.d.ts.map +1 -1
  246. package/dist/document-models/resource-template/gen/audience-management/error.js +2 -6
  247. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts +2 -2
  248. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts.map +1 -1
  249. package/dist/document-models/resource-template/gen/audience-management/operations.js +0 -2
  250. package/dist/document-models/resource-template/gen/document-model.d.ts.map +1 -1
  251. package/dist/document-models/resource-template/gen/document-model.js +36 -3
  252. package/dist/document-models/resource-template/gen/document-schema.d.ts +60 -379
  253. package/dist/document-models/resource-template/gen/document-schema.d.ts.map +1 -1
  254. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts +1 -1
  255. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts.map +1 -1
  256. package/dist/document-models/resource-template/gen/facet-targeting/actions.js +1 -1
  257. package/dist/document-models/resource-template/gen/facet-targeting/error.d.ts.map +1 -1
  258. package/dist/document-models/resource-template/gen/facet-targeting/error.js +3 -9
  259. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts +2 -2
  260. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts.map +1 -1
  261. package/dist/document-models/resource-template/gen/facet-targeting/operations.js +0 -2
  262. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts +15 -3
  263. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts.map +1 -1
  264. package/dist/document-models/resource-template/gen/option-group-management/actions.js +1 -1
  265. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts +5 -2
  266. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts.map +1 -1
  267. package/dist/document-models/resource-template/gen/option-group-management/creators.js +4 -1
  268. package/dist/document-models/resource-template/gen/option-group-management/error.d.ts.map +1 -1
  269. package/dist/document-models/resource-template/gen/option-group-management/error.js +3 -9
  270. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts +5 -2
  271. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts.map +1 -1
  272. package/dist/document-models/resource-template/gen/option-group-management/operations.js +0 -2
  273. package/dist/document-models/resource-template/gen/ph-factories.d.ts.map +1 -1
  274. package/dist/document-models/resource-template/gen/ph-factories.js +1 -0
  275. package/dist/document-models/resource-template/gen/reducer.d.ts +1 -1
  276. package/dist/document-models/resource-template/gen/reducer.d.ts.map +1 -1
  277. package/dist/document-models/resource-template/gen/reducer.js +56 -21
  278. package/dist/document-models/resource-template/gen/schema/types.d.ts +34 -3
  279. package/dist/document-models/resource-template/gen/schema/types.d.ts.map +1 -1
  280. package/dist/document-models/resource-template/gen/schema/zod.d.ts +14 -5
  281. package/dist/document-models/resource-template/gen/schema/zod.d.ts.map +1 -1
  282. package/dist/document-models/resource-template/gen/schema/zod.js +43 -15
  283. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts +1 -1
  284. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts.map +1 -1
  285. package/dist/document-models/resource-template/gen/service-category-management/actions.js +1 -1
  286. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts +2 -2
  287. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts.map +1 -1
  288. package/dist/document-models/resource-template/gen/service-category-management/operations.js +0 -2
  289. package/dist/document-models/resource-template/gen/service-management/actions.d.ts +1 -1
  290. package/dist/document-models/resource-template/gen/service-management/actions.d.ts.map +1 -1
  291. package/dist/document-models/resource-template/gen/service-management/actions.js +1 -1
  292. package/dist/document-models/resource-template/gen/service-management/error.d.ts.map +1 -1
  293. package/dist/document-models/resource-template/gen/service-management/error.js +5 -17
  294. package/dist/document-models/resource-template/gen/service-management/operations.d.ts +2 -2
  295. package/dist/document-models/resource-template/gen/service-management/operations.d.ts.map +1 -1
  296. package/dist/document-models/resource-template/gen/service-management/operations.js +0 -2
  297. package/dist/document-models/resource-template/gen/template-management/actions.d.ts +1 -1
  298. package/dist/document-models/resource-template/gen/template-management/actions.d.ts.map +1 -1
  299. package/dist/document-models/resource-template/gen/template-management/actions.js +1 -1
  300. package/dist/document-models/resource-template/gen/template-management/operations.d.ts +2 -2
  301. package/dist/document-models/resource-template/gen/template-management/operations.d.ts.map +1 -1
  302. package/dist/document-models/resource-template/gen/template-management/operations.js +0 -2
  303. package/dist/document-models/resource-template/gen/types.d.ts.map +1 -1
  304. package/dist/document-models/resource-template/gen/utils.d.ts.map +1 -1
  305. package/dist/document-models/resource-template/gen/utils.js +1 -0
  306. package/dist/document-models/resource-template/hooks.d.ts +5 -2
  307. package/dist/document-models/resource-template/hooks.d.ts.map +1 -1
  308. package/dist/document-models/resource-template/hooks.js +3 -4
  309. package/dist/document-models/resource-template/index.d.ts +0 -4
  310. package/dist/document-models/resource-template/index.d.ts.map +1 -1
  311. package/dist/document-models/resource-template/index.js +0 -4
  312. package/dist/document-models/resource-template/module.d.ts +1 -1
  313. package/dist/document-models/resource-template/module.d.ts.map +1 -1
  314. package/dist/document-models/resource-template/module.js +1 -0
  315. package/dist/document-models/resource-template/src/reducers/audience-management.d.ts.map +1 -1
  316. package/dist/document-models/resource-template/src/reducers/audience-management.js +2 -2
  317. package/dist/document-models/resource-template/src/reducers/facet-preset-management.d.ts +59 -0
  318. package/dist/document-models/resource-template/src/reducers/facet-preset-management.d.ts.map +1 -0
  319. package/dist/document-models/resource-template/src/reducers/facet-preset-management.js +52 -0
  320. package/dist/document-models/resource-template/src/reducers/facet-targeting.d.ts.map +1 -1
  321. package/dist/document-models/resource-template/src/reducers/facet-targeting.js +8 -7
  322. package/dist/document-models/resource-template/src/reducers/option-group-management.d.ts.map +1 -1
  323. package/dist/document-models/resource-template/src/reducers/option-group-management.js +32 -6
  324. package/dist/document-models/resource-template/src/reducers/service-management.d.ts.map +1 -1
  325. package/dist/document-models/resource-template/src/reducers/service-management.js +13 -10
  326. package/dist/document-models/resource-template/tests/audience-management.test.d.ts +2 -0
  327. package/dist/document-models/resource-template/tests/audience-management.test.d.ts.map +1 -0
  328. package/dist/document-models/resource-template/tests/audience-management.test.js +25 -0
  329. package/dist/document-models/resource-template/tests/document-model.test.d.ts +10 -0
  330. package/dist/document-models/resource-template/tests/document-model.test.d.ts.map +1 -0
  331. package/dist/document-models/resource-template/tests/document-model.test.js +104 -0
  332. package/dist/document-models/resource-template/tests/facet-targeting.test.d.ts +2 -0
  333. package/dist/document-models/resource-template/tests/facet-targeting.test.d.ts.map +1 -0
  334. package/dist/document-models/resource-template/tests/facet-targeting.test.js +45 -0
  335. package/dist/document-models/resource-template/tests/option-group-management.test.d.ts +2 -0
  336. package/dist/document-models/resource-template/tests/option-group-management.test.d.ts.map +1 -0
  337. package/dist/document-models/resource-template/tests/option-group-management.test.js +65 -0
  338. package/dist/document-models/resource-template/tests/service-category-management.test.d.ts +2 -0
  339. package/dist/document-models/resource-template/tests/service-category-management.test.d.ts.map +1 -0
  340. package/dist/document-models/resource-template/tests/service-category-management.test.js +25 -0
  341. package/dist/document-models/resource-template/tests/service-management.test.d.ts +2 -0
  342. package/dist/document-models/resource-template/tests/service-management.test.d.ts.map +1 -0
  343. package/dist/document-models/resource-template/tests/service-management.test.js +55 -0
  344. package/dist/document-models/resource-template/tests/template-management.test.d.ts +2 -0
  345. package/dist/document-models/resource-template/tests/template-management.test.d.ts.map +1 -0
  346. package/dist/document-models/resource-template/tests/template-management.test.js +45 -0
  347. package/dist/document-models/service-offering/actions.d.ts +3 -0
  348. package/dist/document-models/service-offering/actions.d.ts.map +1 -1
  349. package/dist/document-models/service-offering/gen/document-model.d.ts.map +1 -1
  350. package/dist/document-models/service-offering/gen/document-model.js +104 -26
  351. package/dist/document-models/service-offering/gen/document-schema.d.ts +63 -417
  352. package/dist/document-models/service-offering/gen/document-schema.d.ts.map +1 -1
  353. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts +1 -1
  354. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts.map +1 -1
  355. package/dist/document-models/service-offering/gen/offering-management/actions.js +1 -1
  356. package/dist/document-models/service-offering/gen/offering-management/error.d.ts.map +1 -1
  357. package/dist/document-models/service-offering/gen/offering-management/error.js +6 -19
  358. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts +2 -2
  359. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts.map +1 -1
  360. package/dist/document-models/service-offering/gen/offering-management/operations.js +0 -2
  361. package/dist/document-models/service-offering/gen/option-group-management/actions.d.ts +1 -1
  362. package/dist/document-models/service-offering/gen/option-group-management/actions.d.ts.map +1 -1
  363. package/dist/document-models/service-offering/gen/option-group-management/actions.js +1 -1
  364. package/dist/document-models/service-offering/gen/option-group-management/error.d.ts.map +1 -1
  365. package/dist/document-models/service-offering/gen/option-group-management/error.js +3 -9
  366. package/dist/document-models/service-offering/gen/option-group-management/operations.d.ts +2 -2
  367. package/dist/document-models/service-offering/gen/option-group-management/operations.d.ts.map +1 -1
  368. package/dist/document-models/service-offering/gen/option-group-management/operations.js +0 -2
  369. package/dist/document-models/service-offering/gen/reducer.d.ts +1 -1
  370. package/dist/document-models/service-offering/gen/reducer.d.ts.map +1 -1
  371. package/dist/document-models/service-offering/gen/reducer.js +80 -33
  372. package/dist/document-models/service-offering/gen/schema/types.d.ts +87 -12
  373. package/dist/document-models/service-offering/gen/schema/types.d.ts.map +1 -1
  374. package/dist/document-models/service-offering/gen/schema/zod.d.ts +38 -8
  375. package/dist/document-models/service-offering/gen/schema/zod.d.ts.map +1 -1
  376. package/dist/document-models/service-offering/gen/schema/zod.js +103 -31
  377. package/dist/document-models/service-offering/gen/service-management/actions.d.ts +1 -1
  378. package/dist/document-models/service-offering/gen/service-management/actions.d.ts.map +1 -1
  379. package/dist/document-models/service-offering/gen/service-management/actions.js +1 -1
  380. package/dist/document-models/service-offering/gen/service-management/error.d.ts.map +1 -1
  381. package/dist/document-models/service-offering/gen/service-management/error.js +5 -17
  382. package/dist/document-models/service-offering/gen/service-management/operations.d.ts +2 -2
  383. package/dist/document-models/service-offering/gen/service-management/operations.d.ts.map +1 -1
  384. package/dist/document-models/service-offering/gen/service-management/operations.js +0 -2
  385. package/dist/document-models/service-offering/gen/tier-management/actions.d.ts +15 -3
  386. package/dist/document-models/service-offering/gen/tier-management/actions.d.ts.map +1 -1
  387. package/dist/document-models/service-offering/gen/tier-management/actions.js +1 -1
  388. package/dist/document-models/service-offering/gen/tier-management/creators.d.ts +5 -2
  389. package/dist/document-models/service-offering/gen/tier-management/creators.d.ts.map +1 -1
  390. package/dist/document-models/service-offering/gen/tier-management/creators.js +4 -1
  391. package/dist/document-models/service-offering/gen/tier-management/error.d.ts +37 -1
  392. package/dist/document-models/service-offering/gen/tier-management/error.d.ts.map +1 -1
  393. package/dist/document-models/service-offering/gen/tier-management/error.js +50 -13
  394. package/dist/document-models/service-offering/gen/tier-management/operations.d.ts +5 -2
  395. package/dist/document-models/service-offering/gen/tier-management/operations.d.ts.map +1 -1
  396. package/dist/document-models/service-offering/gen/tier-management/operations.js +0 -2
  397. package/dist/document-models/service-offering/gen/types.d.ts.map +1 -1
  398. package/dist/document-models/service-offering/hooks.d.ts +5 -2
  399. package/dist/document-models/service-offering/hooks.d.ts.map +1 -1
  400. package/dist/document-models/service-offering/hooks.js +3 -4
  401. package/dist/document-models/service-offering/index.d.ts +0 -4
  402. package/dist/document-models/service-offering/index.d.ts.map +1 -1
  403. package/dist/document-models/service-offering/index.js +0 -4
  404. package/dist/document-models/service-offering/module.d.ts.map +1 -1
  405. package/dist/document-models/service-offering/module.js +1 -0
  406. package/dist/document-models/service-offering/src/reducers/option-group-management.d.ts.map +1 -1
  407. package/dist/document-models/service-offering/src/reducers/option-group-management.js +11 -8
  408. package/dist/document-models/service-offering/src/reducers/service-management.d.ts.map +1 -1
  409. package/dist/document-models/service-offering/src/reducers/service-management.js +20 -12
  410. package/dist/document-models/service-offering/src/reducers/tier-management.d.ts.map +1 -1
  411. package/dist/document-models/service-offering/src/reducers/tier-management.js +131 -21
  412. package/dist/document-models/service-offering/tests/document-model.test.d.ts +10 -0
  413. package/dist/document-models/service-offering/tests/document-model.test.d.ts.map +1 -0
  414. package/dist/document-models/service-offering/tests/document-model.test.js +104 -0
  415. package/dist/document-models/service-offering/tests/offering-management.test.d.ts +2 -0
  416. package/dist/document-models/service-offering/tests/offering-management.test.d.ts.map +1 -0
  417. package/dist/document-models/service-offering/tests/offering-management.test.js +145 -0
  418. package/dist/document-models/service-offering/tests/option-group-management.test.d.ts +2 -0
  419. package/dist/document-models/service-offering/tests/option-group-management.test.d.ts.map +1 -0
  420. package/dist/document-models/service-offering/tests/option-group-management.test.js +35 -0
  421. package/dist/document-models/service-offering/tests/service-management.test.d.ts +2 -0
  422. package/dist/document-models/service-offering/tests/service-management.test.d.ts.map +1 -0
  423. package/dist/document-models/service-offering/tests/service-management.test.js +55 -0
  424. package/dist/document-models/service-offering/tests/tier-management.test.d.ts +2 -0
  425. package/dist/document-models/service-offering/tests/tier-management.test.d.ts.map +1 -0
  426. package/dist/document-models/service-offering/tests/tier-management.test.js +135 -0
  427. package/dist/document-models/service-subscriptions/actions.d.ts.map +1 -1
  428. package/dist/document-models/service-subscriptions/gen/categories/actions.d.ts +1 -1
  429. package/dist/document-models/service-subscriptions/gen/categories/actions.d.ts.map +1 -1
  430. package/dist/document-models/service-subscriptions/gen/categories/actions.js +1 -1
  431. package/dist/document-models/service-subscriptions/gen/categories/operations.d.ts +2 -2
  432. package/dist/document-models/service-subscriptions/gen/categories/operations.d.ts.map +1 -1
  433. package/dist/document-models/service-subscriptions/gen/categories/operations.js +0 -2
  434. package/dist/document-models/service-subscriptions/gen/document-model.d.ts.map +1 -1
  435. package/dist/document-models/service-subscriptions/gen/document-model.js +70 -70
  436. package/dist/document-models/service-subscriptions/gen/document-schema.d.ts +21 -151
  437. package/dist/document-models/service-subscriptions/gen/document-schema.d.ts.map +1 -1
  438. package/dist/document-models/service-subscriptions/gen/reducer.d.ts.map +1 -1
  439. package/dist/document-models/service-subscriptions/gen/reducer.js +26 -13
  440. package/dist/document-models/service-subscriptions/gen/schema/types.d.ts +13 -1
  441. package/dist/document-models/service-subscriptions/gen/schema/types.d.ts.map +1 -1
  442. package/dist/document-models/service-subscriptions/gen/schema/zod.d.ts +19 -5
  443. package/dist/document-models/service-subscriptions/gen/schema/zod.d.ts.map +1 -1
  444. package/dist/document-models/service-subscriptions/gen/schema/zod.js +21 -21
  445. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.d.ts +1 -1
  446. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.d.ts.map +1 -1
  447. package/dist/document-models/service-subscriptions/gen/subscriptions/actions.js +1 -1
  448. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.d.ts +2 -2
  449. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.d.ts.map +1 -1
  450. package/dist/document-models/service-subscriptions/gen/subscriptions/operations.js +0 -2
  451. package/dist/document-models/service-subscriptions/gen/types.d.ts.map +1 -1
  452. package/dist/document-models/service-subscriptions/gen/vendors/actions.d.ts +1 -1
  453. package/dist/document-models/service-subscriptions/gen/vendors/actions.d.ts.map +1 -1
  454. package/dist/document-models/service-subscriptions/gen/vendors/actions.js +1 -1
  455. package/dist/document-models/service-subscriptions/gen/vendors/operations.d.ts +2 -2
  456. package/dist/document-models/service-subscriptions/gen/vendors/operations.d.ts.map +1 -1
  457. package/dist/document-models/service-subscriptions/gen/vendors/operations.js +0 -2
  458. package/dist/document-models/service-subscriptions/hooks.d.ts +5 -2
  459. package/dist/document-models/service-subscriptions/hooks.d.ts.map +1 -1
  460. package/dist/document-models/service-subscriptions/hooks.js +3 -4
  461. package/dist/document-models/service-subscriptions/index.d.ts +0 -4
  462. package/dist/document-models/service-subscriptions/index.d.ts.map +1 -1
  463. package/dist/document-models/service-subscriptions/index.js +0 -4
  464. package/dist/document-models/service-subscriptions/module.d.ts.map +1 -1
  465. package/dist/document-models/service-subscriptions/module.js +1 -0
  466. package/dist/document-models/service-subscriptions/tests/categories.test.d.ts +2 -0
  467. package/dist/document-models/service-subscriptions/tests/categories.test.d.ts.map +1 -0
  468. package/dist/document-models/service-subscriptions/tests/categories.test.js +35 -0
  469. package/dist/document-models/service-subscriptions/tests/document-model.test.d.ts +10 -0
  470. package/dist/document-models/service-subscriptions/tests/document-model.test.d.ts.map +1 -0
  471. package/dist/document-models/service-subscriptions/tests/document-model.test.js +104 -0
  472. package/dist/document-models/service-subscriptions/tests/subscriptions.test.d.ts +2 -0
  473. package/dist/document-models/service-subscriptions/tests/subscriptions.test.d.ts.map +1 -0
  474. package/dist/document-models/service-subscriptions/tests/subscriptions.test.js +75 -0
  475. package/dist/document-models/service-subscriptions/tests/vendors.test.d.ts +2 -0
  476. package/dist/document-models/service-subscriptions/tests/vendors.test.d.ts.map +1 -0
  477. package/dist/document-models/service-subscriptions/tests/vendors.test.js +35 -0
  478. package/dist/document-models/snapshot-report/actions.d.ts +2 -1
  479. package/dist/document-models/snapshot-report/actions.d.ts.map +1 -1
  480. package/dist/document-models/snapshot-report/gen/accounts/actions.d.ts +1 -1
  481. package/dist/document-models/snapshot-report/gen/accounts/actions.d.ts.map +1 -1
  482. package/dist/document-models/snapshot-report/gen/accounts/actions.js +1 -1
  483. package/dist/document-models/snapshot-report/gen/accounts/error.d.ts.map +1 -1
  484. package/dist/document-models/snapshot-report/gen/accounts/error.js +3 -9
  485. package/dist/document-models/snapshot-report/gen/accounts/operations.d.ts +2 -2
  486. package/dist/document-models/snapshot-report/gen/accounts/operations.d.ts.map +1 -1
  487. package/dist/document-models/snapshot-report/gen/accounts/operations.js +0 -2
  488. package/dist/document-models/snapshot-report/gen/balances/actions.d.ts +1 -1
  489. package/dist/document-models/snapshot-report/gen/balances/actions.d.ts.map +1 -1
  490. package/dist/document-models/snapshot-report/gen/balances/actions.js +1 -1
  491. package/dist/document-models/snapshot-report/gen/balances/error.d.ts.map +1 -1
  492. package/dist/document-models/snapshot-report/gen/balances/error.js +4 -12
  493. package/dist/document-models/snapshot-report/gen/balances/operations.d.ts +2 -2
  494. package/dist/document-models/snapshot-report/gen/balances/operations.d.ts.map +1 -1
  495. package/dist/document-models/snapshot-report/gen/balances/operations.js +0 -2
  496. package/dist/document-models/snapshot-report/gen/configuration/actions.d.ts +10 -6
  497. package/dist/document-models/snapshot-report/gen/configuration/actions.d.ts.map +1 -1
  498. package/dist/document-models/snapshot-report/gen/configuration/actions.js +1 -1
  499. package/dist/document-models/snapshot-report/gen/configuration/creators.d.ts +4 -3
  500. package/dist/document-models/snapshot-report/gen/configuration/creators.d.ts.map +1 -1
  501. package/dist/document-models/snapshot-report/gen/configuration/creators.js +3 -2
  502. package/dist/document-models/snapshot-report/gen/configuration/operations.d.ts +4 -3
  503. package/dist/document-models/snapshot-report/gen/configuration/operations.d.ts.map +1 -1
  504. package/dist/document-models/snapshot-report/gen/configuration/operations.js +0 -2
  505. package/dist/document-models/snapshot-report/gen/document-model.d.ts.map +1 -1
  506. package/dist/document-models/snapshot-report/gen/document-model.js +22 -11
  507. package/dist/document-models/snapshot-report/gen/document-schema.d.ts +36 -246
  508. package/dist/document-models/snapshot-report/gen/document-schema.d.ts.map +1 -1
  509. package/dist/document-models/snapshot-report/gen/ph-factories.js +1 -1
  510. package/dist/document-models/snapshot-report/gen/reducer.d.ts.map +1 -1
  511. package/dist/document-models/snapshot-report/gen/reducer.js +42 -20
  512. package/dist/document-models/snapshot-report/gen/schema/types.d.ts +22 -8
  513. package/dist/document-models/snapshot-report/gen/schema/types.d.ts.map +1 -1
  514. package/dist/document-models/snapshot-report/gen/schema/zod.d.ts +40 -11
  515. package/dist/document-models/snapshot-report/gen/schema/zod.d.ts.map +1 -1
  516. package/dist/document-models/snapshot-report/gen/schema/zod.js +34 -28
  517. package/dist/document-models/snapshot-report/gen/transactions/actions.d.ts +1 -1
  518. package/dist/document-models/snapshot-report/gen/transactions/actions.d.ts.map +1 -1
  519. package/dist/document-models/snapshot-report/gen/transactions/actions.js +1 -1
  520. package/dist/document-models/snapshot-report/gen/transactions/error.d.ts.map +1 -1
  521. package/dist/document-models/snapshot-report/gen/transactions/error.js +2 -6
  522. package/dist/document-models/snapshot-report/gen/transactions/operations.d.ts +2 -2
  523. package/dist/document-models/snapshot-report/gen/transactions/operations.d.ts.map +1 -1
  524. package/dist/document-models/snapshot-report/gen/transactions/operations.js +0 -2
  525. package/dist/document-models/snapshot-report/gen/types.d.ts.map +1 -1
  526. package/dist/document-models/snapshot-report/gen/utils.js +1 -1
  527. package/dist/document-models/snapshot-report/hooks.d.ts +5 -2
  528. package/dist/document-models/snapshot-report/hooks.d.ts.map +1 -1
  529. package/dist/document-models/snapshot-report/hooks.js +3 -4
  530. package/dist/document-models/snapshot-report/index.d.ts +0 -4
  531. package/dist/document-models/snapshot-report/index.d.ts.map +1 -1
  532. package/dist/document-models/snapshot-report/index.js +0 -4
  533. package/dist/document-models/snapshot-report/module.d.ts.map +1 -1
  534. package/dist/document-models/snapshot-report/module.js +1 -0
  535. package/dist/document-models/snapshot-report/src/reducers/balances.d.ts.map +1 -1
  536. package/dist/document-models/snapshot-report/src/reducers/balances.js +37 -21
  537. package/dist/document-models/snapshot-report/src/reducers/configuration.d.ts.map +1 -1
  538. package/dist/document-models/snapshot-report/src/reducers/configuration.js +11 -3
  539. package/dist/document-models/snapshot-report/tests/accounts.test.d.ts +2 -0
  540. package/dist/document-models/snapshot-report/tests/accounts.test.d.ts.map +1 -0
  541. package/dist/document-models/snapshot-report/tests/accounts.test.js +35 -0
  542. package/dist/document-models/snapshot-report/tests/balances.test.d.ts +2 -0
  543. package/dist/document-models/snapshot-report/tests/balances.test.d.ts.map +1 -0
  544. package/dist/document-models/snapshot-report/tests/balances.test.js +45 -0
  545. package/dist/document-models/snapshot-report/tests/configuration.test.d.ts +2 -0
  546. package/dist/document-models/snapshot-report/tests/configuration.test.d.ts.map +1 -0
  547. package/dist/document-models/snapshot-report/tests/configuration.test.js +75 -0
  548. package/dist/document-models/snapshot-report/tests/document-model.test.d.ts +10 -0
  549. package/dist/document-models/snapshot-report/tests/document-model.test.d.ts.map +1 -0
  550. package/dist/document-models/snapshot-report/tests/document-model.test.js +104 -0
  551. package/dist/document-models/snapshot-report/tests/transactions.test.d.ts +2 -0
  552. package/dist/document-models/snapshot-report/tests/transactions.test.d.ts.map +1 -0
  553. package/dist/document-models/snapshot-report/tests/transactions.test.js +45 -0
  554. package/dist/editors/accounts-editor/editor.d.ts.map +1 -1
  555. package/dist/editors/accounts-editor/editor.js +25 -6
  556. package/dist/editors/billing-statement/components/lineItemsTable.js +8 -8
  557. package/dist/editors/billing-statement/editor.d.ts.map +1 -1
  558. package/dist/editors/billing-statement/editor.js +15 -16
  559. package/dist/editors/billing-statement/lineItemTags/lineItemTags.js +5 -5
  560. package/dist/editors/builder-team-admin/components/ResourcesServices.d.ts.map +1 -1
  561. package/dist/editors/builder-team-admin/components/ResourcesServices.js +3 -1
  562. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.d.ts.map +1 -1
  563. package/dist/editors/builder-team-admin/components/overview/TeamMembersOverview.js +20 -3
  564. package/dist/editors/builder-team-admin/components/team-members.d.ts.map +1 -1
  565. package/dist/editors/builder-team-admin/components/team-members.js +20 -5
  566. package/dist/editors/builder-team-admin/hooks/useExpenseReportAutoPlacement.d.ts.map +1 -1
  567. package/dist/editors/builder-team-admin/hooks/useExpenseReportAutoPlacement.js +45 -17
  568. package/dist/editors/builder-team-admin/hooks/useSnapshotReportAutoPlacement.d.ts.map +1 -1
  569. package/dist/editors/builder-team-admin/hooks/useSnapshotReportAutoPlacement.js +45 -17
  570. package/dist/editors/contributor-billing/components/DriveExplorer.d.ts.map +1 -1
  571. package/dist/editors/contributor-billing/components/DriveExplorer.js +2 -1
  572. package/dist/editors/contributor-billing/components/FolderTree.d.ts.map +1 -1
  573. package/dist/editors/contributor-billing/components/FolderTree.js +72 -11
  574. package/dist/editors/contributor-billing/components/FolderTreeErrorBoundary.d.ts +24 -0
  575. package/dist/editors/contributor-billing/components/FolderTreeErrorBoundary.d.ts.map +1 -0
  576. package/dist/editors/contributor-billing/components/FolderTreeErrorBoundary.js +41 -0
  577. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderStats.d.ts.map +1 -1
  578. package/dist/editors/contributor-billing/components/InvoiceTable/HeaderStats.js +10 -3
  579. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.d.ts.map +1 -1
  580. package/dist/editors/contributor-billing/components/InvoiceTable/InvoiceTable.js +65 -28
  581. package/dist/editors/contributor-billing/components/InvoiceTable/NotificationDialog.d.ts +11 -0
  582. package/dist/editors/contributor-billing/components/InvoiceTable/NotificationDialog.d.ts.map +1 -0
  583. package/dist/editors/contributor-billing/components/InvoiceTable/NotificationDialog.js +8 -0
  584. package/dist/editors/expense-report/components/AddReportToRemoteDrive.d.ts +1 -1
  585. package/dist/editors/expense-report/editor.d.ts.map +1 -1
  586. package/dist/editors/expense-report/editor.js +43 -6
  587. package/dist/editors/expense-report/hooks/useSyncWallet.d.ts.map +1 -1
  588. package/dist/editors/expense-report/hooks/useSyncWallet.js +4 -0
  589. package/dist/editors/invoice/exportUBL.js +5 -5
  590. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts +1 -1
  591. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts.map +1 -1
  592. package/dist/editors/resource-template-editor/components/FacetTargeting.js +526 -19
  593. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts +1 -1
  594. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts.map +1 -1
  595. package/dist/editors/resource-template-editor/components/TemplateInfo.js +604 -9
  596. package/dist/editors/resource-template-editor/editor.d.ts.map +1 -1
  597. package/dist/editors/resource-template-editor/editor.js +2 -2
  598. package/dist/editors/resource-template-editor/module.d.ts +1 -1
  599. package/dist/editors/resource-template-editor/module.d.ts.map +1 -1
  600. package/dist/editors/resource-template-editor/module.js +1 -1
  601. package/dist/editors/service-offering-editor/components/EditName.js +1 -1
  602. package/dist/editors/service-offering-editor/components/OfferingInfo.d.ts +1 -1
  603. package/dist/editors/service-offering-editor/components/OfferingInfo.d.ts.map +1 -1
  604. package/dist/editors/service-offering-editor/components/OfferingProgress.d.ts +10 -0
  605. package/dist/editors/service-offering-editor/components/OfferingProgress.d.ts.map +1 -0
  606. package/dist/editors/service-offering-editor/components/OfferingProgress.js +240 -0
  607. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts +1 -1
  608. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts.map +1 -1
  609. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.js +111 -4
  610. package/dist/editors/service-offering-editor/components/ScopeAndFacets.d.ts +1 -1
  611. package/dist/editors/service-offering-editor/components/ScopeAndFacets.d.ts.map +1 -1
  612. package/dist/editors/service-offering-editor/components/ServiceCatalog.d.ts +1 -1
  613. package/dist/editors/service-offering-editor/components/ServiceCatalog.d.ts.map +1 -1
  614. package/dist/editors/service-offering-editor/components/ServiceCatalog.js +282 -1
  615. package/dist/editors/service-offering-editor/components/ServicesList.d.ts +1 -1
  616. package/dist/editors/service-offering-editor/components/ServicesList.d.ts.map +1 -1
  617. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts +1 -1
  618. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts.map +1 -1
  619. package/dist/editors/service-offering-editor/components/TheMatrix.js +1012 -134
  620. package/dist/editors/service-offering-editor/components/TierDefinition.d.ts +1 -1
  621. package/dist/editors/service-offering-editor/components/TierDefinition.d.ts.map +1 -1
  622. package/dist/editors/service-offering-editor/components/TierDefinition.js +616 -29
  623. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.d.ts +11 -0
  624. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.d.ts.map +1 -0
  625. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.js +405 -0
  626. package/dist/editors/service-offering-editor/components/TiersList.d.ts +1 -1
  627. package/dist/editors/service-offering-editor/components/TiersList.d.ts.map +1 -1
  628. package/dist/editors/service-offering-editor/components/TiersList.js +1 -1
  629. package/dist/editors/service-offering-editor/components/pricing-utils.d.ts +10 -0
  630. package/dist/editors/service-offering-editor/components/pricing-utils.d.ts.map +1 -0
  631. package/dist/editors/service-offering-editor/components/pricing-utils.js +65 -0
  632. package/dist/editors/service-offering-editor/editor.d.ts.map +1 -1
  633. package/dist/editors/service-offering-editor/editor.js +2 -2
  634. package/dist/editors/service-offering-editor/module.d.ts +1 -1
  635. package/dist/editors/service-offering-editor/module.d.ts.map +1 -1
  636. package/dist/editors/service-offering-editor/module.js +1 -1
  637. package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.js +1 -1
  638. package/dist/editors/snapshot-report-editor/components/AddReportToRemoteDrive.js +1 -1
  639. package/dist/editors/snapshot-report-editor/components/SetOwner.d.ts +4 -4
  640. package/dist/editors/snapshot-report-editor/components/SetOwner.d.ts.map +1 -1
  641. package/dist/editors/snapshot-report-editor/components/SetOwner.js +25 -14
  642. package/dist/editors/snapshot-report-editor/editor.d.ts.map +1 -1
  643. package/dist/editors/snapshot-report-editor/editor.js +14 -7
  644. package/dist/editors/snapshot-report-editor/hooks/useSyncSnapshotAccount.d.ts.map +1 -1
  645. package/dist/editors/snapshot-report-editor/hooks/useSyncSnapshotAccount.js +133 -8
  646. package/dist/editors/snapshot-report-editor/utils/flowTypeCalculations.d.ts +4 -0
  647. package/dist/editors/snapshot-report-editor/utils/flowTypeCalculations.d.ts.map +1 -1
  648. package/dist/editors/snapshot-report-editor/utils/flowTypeCalculations.js +28 -0
  649. package/dist/index.d.ts +1 -1
  650. package/dist/powerhouse.manifest.json +20 -2
  651. package/dist/scripts/alchemy/alchemyEnvironment.d.ts +2 -2
  652. package/dist/scripts/alchemy/alchemyEnvironment.d.ts.map +1 -1
  653. package/dist/scripts/alchemy/alchemyEnvironment.js +31 -10
  654. package/dist/style.css +1327 -1108
  655. package/dist/subgraphs/budget-statements/resolvers.js +2 -2
  656. package/dist/subgraphs/expense-report/resolvers.d.ts.map +1 -1
  657. package/dist/subgraphs/expense-report/resolvers.js +12 -0
  658. package/dist/subgraphs/expense-report/schema.d.ts.map +1 -1
  659. package/dist/subgraphs/expense-report/schema.js +9 -0
  660. package/dist/subgraphs/index.d.ts +2 -8
  661. package/dist/subgraphs/index.d.ts.map +1 -1
  662. package/dist/subgraphs/index.js +2 -8
  663. package/dist/subgraphs/invoice-addon/schema.d.ts.map +1 -1
  664. package/dist/subgraphs/invoice-addon/schema.js +5 -7
  665. package/dist/subgraphs/snapshot-report/resolvers.d.ts.map +1 -1
  666. package/dist/subgraphs/snapshot-report/resolvers.js +15 -3
  667. package/dist/subgraphs/snapshot-report/schema.d.ts.map +1 -1
  668. package/dist/subgraphs/snapshot-report/schema.js +11 -4
  669. package/package.json +26 -21
  670. package/dist/editors/accounts-editor/components/AccountsFilter.d.ts +0 -8
  671. package/dist/editors/accounts-editor/components/AccountsFilter.d.ts.map +0 -1
  672. package/dist/editors/accounts-editor/components/AccountsFilter.js +0 -34
  673. package/dist/editors/billing-statement/components/objectSetTable.d.ts +0 -7
  674. package/dist/editors/billing-statement/components/objectSetTable.d.ts.map +0 -1
  675. package/dist/editors/billing-statement/components/objectSetTable.js +0 -96
  676. package/dist/subgraphs/account-transactions/index.d.ts +0 -11
  677. package/dist/subgraphs/account-transactions/index.d.ts.map +0 -1
  678. package/dist/subgraphs/account-transactions/index.js +0 -11
  679. package/dist/subgraphs/account-transactions/resolvers.d.ts +0 -3
  680. package/dist/subgraphs/account-transactions/resolvers.d.ts.map +0 -1
  681. package/dist/subgraphs/account-transactions/resolvers.js +0 -168
  682. package/dist/subgraphs/account-transactions/schema.d.ts +0 -3
  683. package/dist/subgraphs/account-transactions/schema.d.ts.map +0 -1
  684. package/dist/subgraphs/account-transactions/schema.js +0 -129
  685. package/dist/subgraphs/accounts/index.d.ts +0 -11
  686. package/dist/subgraphs/accounts/index.d.ts.map +0 -1
  687. package/dist/subgraphs/accounts/index.js +0 -11
  688. package/dist/subgraphs/accounts/resolvers.d.ts +0 -3
  689. package/dist/subgraphs/accounts/resolvers.d.ts.map +0 -1
  690. package/dist/subgraphs/accounts/resolvers.js +0 -120
  691. package/dist/subgraphs/accounts/schema.d.ts +0 -3
  692. package/dist/subgraphs/accounts/schema.d.ts.map +0 -1
  693. package/dist/subgraphs/accounts/schema.js +0 -75
  694. package/dist/subgraphs/billing-statement/index.d.ts +0 -11
  695. package/dist/subgraphs/billing-statement/index.d.ts.map +0 -1
  696. package/dist/subgraphs/billing-statement/index.js +0 -11
  697. package/dist/subgraphs/billing-statement/resolvers.d.ts +0 -3
  698. package/dist/subgraphs/billing-statement/resolvers.d.ts.map +0 -1
  699. package/dist/subgraphs/billing-statement/resolvers.js +0 -156
  700. package/dist/subgraphs/billing-statement/schema.d.ts +0 -3
  701. package/dist/subgraphs/billing-statement/schema.d.ts.map +0 -1
  702. package/dist/subgraphs/billing-statement/schema.js +0 -110
  703. package/dist/subgraphs/invoice/index.d.ts +0 -11
  704. package/dist/subgraphs/invoice/index.d.ts.map +0 -1
  705. package/dist/subgraphs/invoice/index.js +0 -11
  706. package/dist/subgraphs/invoice/resolvers.d.ts +0 -3
  707. package/dist/subgraphs/invoice/resolvers.d.ts.map +0 -1
  708. package/dist/subgraphs/invoice/resolvers.js +0 -408
  709. package/dist/subgraphs/invoice/schema.d.ts +0 -3
  710. package/dist/subgraphs/invoice/schema.d.ts.map +0 -1
  711. package/dist/subgraphs/invoice/schema.js +0 -390
  712. package/dist/subgraphs/service-offering/index.d.ts +0 -11
  713. package/dist/subgraphs/service-offering/index.d.ts.map +0 -1
  714. package/dist/subgraphs/service-offering/index.js +0 -11
  715. package/dist/subgraphs/service-offering/resolvers.d.ts +0 -3
  716. package/dist/subgraphs/service-offering/resolvers.d.ts.map +0 -1
  717. package/dist/subgraphs/service-offering/resolvers.js +0 -432
  718. package/dist/subgraphs/service-offering/schema.d.ts +0 -3
  719. package/dist/subgraphs/service-offering/schema.d.ts.map +0 -1
  720. package/dist/subgraphs/service-offering/schema.js +0 -386
  721. package/dist/subgraphs/service-subscriptions/index.d.ts +0 -11
  722. package/dist/subgraphs/service-subscriptions/index.d.ts.map +0 -1
  723. package/dist/subgraphs/service-subscriptions/index.js +0 -11
  724. package/dist/subgraphs/service-subscriptions/resolvers.d.ts +0 -3
  725. package/dist/subgraphs/service-subscriptions/resolvers.d.ts.map +0 -1
  726. package/dist/subgraphs/service-subscriptions/resolvers.js +0 -228
  727. package/dist/subgraphs/service-subscriptions/schema.d.ts +0 -3
  728. package/dist/subgraphs/service-subscriptions/schema.d.ts.map +0 -1
  729. package/dist/subgraphs/service-subscriptions/schema.js +0 -193
@@ -1,7 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from "react";
2
+ import { useState, useEffect } from "react";
3
3
  import { generateId } from "document-model/core";
4
- import { addTier, updateTier, updateTierPricing, deleteTier, } from "../../../document-models/service-offering/gen/creators.js";
4
+ import { addTier, updateTier, deleteTier, addTierPricingOption, updateTierPricingOption, removeTierPricingOption, } from "../../../document-models/service-offering/gen/creators.js";
5
+ // Calculate price per month for mental accounting display
6
+ const BILLING_CYCLE_MONTHS = {
7
+ MONTHLY: 1,
8
+ QUARTERLY: 3,
9
+ SEMI_ANNUAL: 6,
10
+ ANNUAL: 12,
11
+ ONE_TIME: 1,
12
+ };
13
+ // Determine which tier should show "Most Popular" badge
14
+ // Uses middle-tier heuristic (Good-Better-Best psychology)
15
+ function getRecommendedTierIndex(tiers) {
16
+ if (tiers.length < 2)
17
+ return -1;
18
+ if (tiers.length === 2)
19
+ return 1; // Second tier for 2-tier setup
20
+ // For 3+ tiers, recommend the middle tier (or middle-right for even counts)
21
+ return Math.floor(tiers.length / 2);
22
+ }
5
23
  const BILLING_CYCLES = [
6
24
  { value: "MONTHLY", label: "Month" },
7
25
  { value: "QUARTERLY", label: "Quarter" },
@@ -20,6 +38,102 @@ const TIER_ACCENTS = [
20
38
  { color: "var(--so-sky-500)", bg: "var(--so-sky-50)", name: "sky" },
21
39
  { color: "var(--so-rose-500)", bg: "var(--so-rose-50)", name: "rose" },
22
40
  ];
41
+ const TIER_PRESETS = [
42
+ {
43
+ name: "Standard 3-Tier",
44
+ description: "Basic → Professional → Enterprise",
45
+ icon: "📊",
46
+ tiers: [
47
+ {
48
+ name: "Basic",
49
+ amount: 99,
50
+ billingCycle: "MONTHLY",
51
+ isCustomPricing: false,
52
+ },
53
+ {
54
+ name: "Professional",
55
+ amount: 299,
56
+ billingCycle: "MONTHLY",
57
+ isCustomPricing: false,
58
+ },
59
+ {
60
+ name: "Enterprise",
61
+ amount: null,
62
+ billingCycle: "MONTHLY",
63
+ isCustomPricing: true,
64
+ },
65
+ ],
66
+ },
67
+ {
68
+ name: "Freemium Model",
69
+ description: "Free → Pro → Business",
70
+ icon: "🚀",
71
+ tiers: [
72
+ {
73
+ name: "Free",
74
+ amount: 0,
75
+ billingCycle: "MONTHLY",
76
+ isCustomPricing: false,
77
+ },
78
+ {
79
+ name: "Pro",
80
+ amount: 49,
81
+ billingCycle: "MONTHLY",
82
+ isCustomPricing: false,
83
+ },
84
+ {
85
+ name: "Business",
86
+ amount: 149,
87
+ billingCycle: "MONTHLY",
88
+ isCustomPricing: false,
89
+ },
90
+ ],
91
+ },
92
+ {
93
+ name: "Simple 2-Tier",
94
+ description: "Starter → Growth",
95
+ icon: "⚡",
96
+ tiers: [
97
+ {
98
+ name: "Starter",
99
+ amount: 79,
100
+ billingCycle: "MONTHLY",
101
+ isCustomPricing: false,
102
+ },
103
+ {
104
+ name: "Growth",
105
+ amount: 199,
106
+ billingCycle: "MONTHLY",
107
+ isCustomPricing: false,
108
+ },
109
+ ],
110
+ },
111
+ {
112
+ name: "Annual Focus",
113
+ description: "Annual pricing with discounts",
114
+ icon: "📅",
115
+ tiers: [
116
+ {
117
+ name: "Essential",
118
+ amount: 990,
119
+ billingCycle: "ANNUAL",
120
+ isCustomPricing: false,
121
+ },
122
+ {
123
+ name: "Professional",
124
+ amount: 2990,
125
+ billingCycle: "ANNUAL",
126
+ isCustomPricing: false,
127
+ },
128
+ {
129
+ name: "Enterprise",
130
+ amount: null,
131
+ billingCycle: "ANNUAL",
132
+ isCustomPricing: true,
133
+ },
134
+ ],
135
+ },
136
+ ];
23
137
  const tierStyles = `
24
138
  .tier-def {
25
139
  display: flex;
@@ -42,6 +156,7 @@ const tierStyles = `
42
156
  overflow: hidden;
43
157
  transition: var(--so-transition-base);
44
158
  animation: tier-slide-up 0.3s ease-out;
159
+ position: relative;
45
160
  }
46
161
 
47
162
  .tier-card:hover {
@@ -49,6 +164,42 @@ const tierStyles = `
49
164
  transform: translateY(-2px);
50
165
  }
51
166
 
167
+ /* Popular/Recommended Tier - Social Proof */
168
+ .tier-card--popular {
169
+ border: 2px solid var(--so-violet-300);
170
+ transform: scale(1.02);
171
+ z-index: 1;
172
+ }
173
+
174
+ .tier-card--popular:hover {
175
+ transform: scale(1.02) translateY(-2px);
176
+ }
177
+
178
+ .tier-card__popular-banner {
179
+ position: absolute;
180
+ top: -1px;
181
+ left: 50%;
182
+ transform: translateX(-50%);
183
+ display: flex;
184
+ align-items: center;
185
+ gap: 0.25rem;
186
+ padding: 0.25rem 0.875rem;
187
+ background: linear-gradient(135deg, var(--so-violet-600) 0%, var(--so-violet-700) 100%);
188
+ color: white;
189
+ font-size: 0.6875rem;
190
+ font-weight: 600;
191
+ text-transform: uppercase;
192
+ letter-spacing: 0.05em;
193
+ border-radius: 0 0 8px 8px;
194
+ box-shadow: 0 2px 8px rgba(124, 58, 237, 0.3);
195
+ z-index: 2;
196
+ }
197
+
198
+ .tier-card__popular-banner svg {
199
+ width: 0.875rem;
200
+ height: 0.875rem;
201
+ }
202
+
52
203
  @keyframes tier-slide-up {
53
204
  from {
54
205
  opacity: 0;
@@ -167,6 +318,8 @@ const tierStyles = `
167
318
  margin-bottom: 1rem;
168
319
  }
169
320
 
321
+
322
+ /* Pricing Box with Dropdown */
170
323
  .tier-card__pricing-box {
171
324
  display: flex;
172
325
  align-items: center;
@@ -204,8 +357,17 @@ const tierStyles = `
204
357
  font-size: 1rem;
205
358
  }
206
359
 
207
- .tier-card__cycle-select {
360
+ /* Dropdown with checkboxes */
361
+ .tier-card__cycle-dropdown {
362
+ position: relative;
208
363
  flex: 1;
364
+ }
365
+
366
+ .tier-card__cycle-dropdown-trigger {
367
+ display: flex;
368
+ align-items: center;
369
+ justify-content: space-between;
370
+ width: 100%;
209
371
  font-family: var(--so-font-sans);
210
372
  font-size: 0.875rem;
211
373
  color: var(--so-slate-600);
@@ -213,14 +375,187 @@ const tierStyles = `
213
375
  border: none;
214
376
  cursor: pointer;
215
377
  outline: none;
216
- appearance: none;
217
- padding-right: 1.25rem;
218
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
219
- background-repeat: no-repeat;
220
- background-position: right 0 center;
221
- background-size: 1rem;
378
+ padding: 0.25rem 0;
379
+ text-align: left;
380
+ }
381
+
382
+ .tier-card__cycle-dropdown-trigger svg {
383
+ width: 1rem;
384
+ height: 1rem;
385
+ color: var(--so-slate-400);
386
+ transition: transform 0.15s ease;
387
+ }
388
+
389
+ .tier-card__cycle-dropdown-trigger--open svg {
390
+ transform: rotate(180deg);
391
+ }
392
+
393
+ .tier-card__cycle-dropdown-menu {
394
+ position: absolute;
395
+ top: calc(100% + 0.5rem);
396
+ left: -1rem;
397
+ right: -1rem;
398
+ background: var(--so-white);
399
+ border: 1px solid var(--so-slate-200);
400
+ border-radius: var(--so-radius-md);
401
+ box-shadow: var(--so-shadow-lg);
402
+ z-index: 50;
403
+ padding: 0.5rem;
404
+ animation: dropdown-fade-in 0.15s ease-out;
405
+ }
406
+
407
+ @keyframes dropdown-fade-in {
408
+ from {
409
+ opacity: 0;
410
+ transform: translateY(-4px);
411
+ }
412
+ to {
413
+ opacity: 1;
414
+ transform: translateY(0);
415
+ }
416
+ }
417
+
418
+ .tier-card__cycle-dropdown-item {
419
+ display: flex;
420
+ align-items: center;
421
+ gap: 0.625rem;
422
+ padding: 0.5rem 0.625rem;
423
+ border-radius: var(--so-radius-sm);
424
+ cursor: pointer;
425
+ transition: background 0.1s ease;
426
+ }
427
+
428
+ .tier-card__cycle-dropdown-item:hover {
429
+ background: var(--so-slate-50);
430
+ }
431
+
432
+ .tier-card__cycle-dropdown-item--active {
433
+ background: var(--so-violet-50);
434
+ }
435
+
436
+ .tier-card__cycle-checkbox {
437
+ width: 1rem;
438
+ height: 1rem;
439
+ accent-color: var(--so-violet-600);
440
+ cursor: pointer;
441
+ flex-shrink: 0;
442
+ }
443
+
444
+ .tier-card__cycle-name {
445
+ font-family: var(--so-font-sans);
446
+ font-size: 0.8125rem;
447
+ font-weight: 500;
448
+ color: var(--so-slate-700);
449
+ flex: 1;
450
+ }
451
+
452
+ .tier-card__cycle-price-inline {
453
+ display: flex;
454
+ align-items: center;
455
+ gap: 0.25rem;
456
+ }
457
+
458
+ .tier-card__cycle-currency-small {
459
+ font-family: var(--so-font-mono);
460
+ font-size: 0.75rem;
461
+ color: var(--so-slate-400);
462
+ }
463
+
464
+ .tier-card__cycle-price-input {
465
+ width: 4rem;
466
+ font-family: var(--so-font-mono);
467
+ font-size: 0.8125rem;
468
+ font-weight: 500;
469
+ color: var(--so-slate-800);
470
+ background: var(--so-white);
471
+ border: 1px solid var(--so-slate-200);
472
+ border-radius: var(--so-radius-sm);
473
+ padding: 0.25rem 0.5rem;
474
+ outline: none;
475
+ transition: border-color 0.15s ease;
476
+ }
477
+
478
+ .tier-card__cycle-price-input:focus {
479
+ border-color: var(--so-violet-400);
480
+ }
481
+
482
+ .tier-card__cycle-price-input:disabled {
483
+ background: var(--so-slate-100);
484
+ color: var(--so-slate-400);
485
+ cursor: not-allowed;
486
+ }
487
+
488
+ .tier-card__cycle-default-badge {
489
+ font-family: var(--so-font-mono);
490
+ font-size: 0.5625rem;
491
+ font-weight: 600;
492
+ text-transform: uppercase;
493
+ letter-spacing: 0.04em;
494
+ color: var(--so-violet-600);
495
+ background: var(--so-violet-100);
496
+ padding: 0.125rem 0.375rem;
497
+ border-radius: var(--so-radius-sm);
498
+ }
499
+
500
+ /* Price Per Month - Mental Accounting */
501
+ .tier-card__price-breakdown {
502
+ margin-top: 0.625rem;
503
+ padding-top: 0.625rem;
504
+ border-top: 1px dashed var(--so-slate-200);
505
+ display: flex;
506
+ align-items: center;
507
+ justify-content: space-between;
508
+ }
509
+
510
+ .tier-card__per-month {
511
+ display: flex;
512
+ align-items: baseline;
513
+ gap: 0.25rem;
514
+ }
515
+
516
+ .tier-card__per-month-amount {
517
+ font-family: var(--so-font-mono);
518
+ font-size: 0.875rem;
519
+ font-weight: 600;
520
+ color: var(--so-emerald-600);
521
+ }
522
+
523
+ .tier-card__per-month-label {
524
+ font-size: 0.6875rem;
525
+ color: var(--so-slate-500);
526
+ }
527
+
528
+ /* Active cycles summary */
529
+ .tier-card__cycles-summary {
530
+ margin-top: 0.5rem;
531
+ display: flex;
532
+ flex-wrap: wrap;
533
+ gap: 0.375rem;
534
+ }
535
+
536
+ .tier-card__cycle-tag {
537
+ display: inline-flex;
538
+ align-items: center;
539
+ gap: 0.25rem;
540
+ font-family: var(--so-font-mono);
541
+ font-size: 0.625rem;
542
+ font-weight: 500;
543
+ padding: 0.25rem 0.5rem;
544
+ background: var(--so-slate-100);
545
+ color: var(--so-slate-600);
546
+ border-radius: var(--so-radius-sm);
547
+ }
548
+
549
+ .tier-card__cycle-tag--default {
550
+ background: var(--so-violet-100);
551
+ color: var(--so-violet-700);
222
552
  }
223
553
 
554
+ .tier-card__cycle-tag-price {
555
+ color: var(--so-slate-500);
556
+ }
557
+
558
+
224
559
  /* Description */
225
560
  .tier-card__description {
226
561
  margin-top: 1rem;
@@ -506,6 +841,109 @@ const tierStyles = `
506
841
  background: var(--so-slate-200);
507
842
  }
508
843
 
844
+ /* Tier Presets - Quick Start Templates */
845
+ .tier-presets {
846
+ background: linear-gradient(135deg, var(--so-violet-50) 0%, var(--so-sky-50) 100%);
847
+ border-radius: var(--so-radius-lg);
848
+ padding: 1.5rem;
849
+ margin-bottom: 1.5rem;
850
+ border: 1px solid var(--so-violet-100);
851
+ }
852
+
853
+ .tier-presets__header {
854
+ margin-bottom: 1.25rem;
855
+ }
856
+
857
+ .tier-presets__title {
858
+ font-family: var(--so-font-sans);
859
+ font-size: 1.125rem;
860
+ font-weight: 700;
861
+ color: var(--so-slate-800);
862
+ margin: 0 0 0.375rem;
863
+ display: flex;
864
+ align-items: center;
865
+ gap: 0.5rem;
866
+ }
867
+
868
+ .tier-presets__title::before {
869
+ content: '⚡';
870
+ }
871
+
872
+ .tier-presets__subtitle {
873
+ font-size: 0.875rem;
874
+ color: var(--so-slate-600);
875
+ margin: 0;
876
+ }
877
+
878
+ .tier-presets__grid {
879
+ display: grid;
880
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
881
+ gap: 1rem;
882
+ }
883
+
884
+ .tier-preset-card {
885
+ display: flex;
886
+ flex-direction: column;
887
+ gap: 0.75rem;
888
+ padding: 1.25rem;
889
+ background: white;
890
+ border: 2px solid var(--so-slate-200);
891
+ border-radius: var(--so-radius-md);
892
+ cursor: pointer;
893
+ transition: all 0.15s ease;
894
+ text-align: left;
895
+ }
896
+
897
+ .tier-preset-card:hover {
898
+ border-color: var(--so-violet-400);
899
+ box-shadow: 0 4px 12px rgba(124, 58, 237, 0.15);
900
+ transform: translateY(-2px);
901
+ }
902
+
903
+ .tier-preset-card__icon {
904
+ font-size: 1.5rem;
905
+ }
906
+
907
+ .tier-preset-card__content {
908
+ flex: 1;
909
+ }
910
+
911
+ .tier-preset-card__name {
912
+ font-family: var(--so-font-sans);
913
+ font-size: 1rem;
914
+ font-weight: 600;
915
+ color: var(--so-slate-800);
916
+ margin: 0 0 0.25rem;
917
+ }
918
+
919
+ .tier-preset-card__desc {
920
+ font-size: 0.8125rem;
921
+ color: var(--so-slate-500);
922
+ margin: 0;
923
+ }
924
+
925
+ .tier-preset-card__preview {
926
+ display: flex;
927
+ flex-wrap: wrap;
928
+ gap: 0.5rem;
929
+ padding-top: 0.75rem;
930
+ border-top: 1px solid var(--so-slate-100);
931
+ }
932
+
933
+ .tier-preset-card__tier {
934
+ font-family: var(--so-font-mono);
935
+ font-size: 0.6875rem;
936
+ padding: 0.25rem 0.5rem;
937
+ background: var(--so-slate-100);
938
+ color: var(--so-slate-600);
939
+ border-radius: var(--so-radius-sm);
940
+ }
941
+
942
+ .tier-preset-card:hover .tier-preset-card__tier {
943
+ background: var(--so-violet-100);
944
+ color: var(--so-violet-700);
945
+ }
946
+
509
947
  /* Info Notice */
510
948
  .tier-notice {
511
949
  display: flex;
@@ -585,8 +1023,26 @@ export function TierDefinition({ document, dispatch }) {
585
1023
  lastModified: new Date().toISOString(),
586
1024
  }));
587
1025
  };
1026
+ // Apply a preset tier configuration - Default Effect
1027
+ const handleApplyPreset = (preset) => {
1028
+ const now = new Date().toISOString();
1029
+ preset.tiers.forEach((tierConfig) => {
1030
+ dispatch(addTier({
1031
+ id: generateId(),
1032
+ name: tierConfig.name,
1033
+ amount: tierConfig.isCustomPricing
1034
+ ? undefined
1035
+ : (tierConfig.amount ?? undefined),
1036
+ currency: "USD",
1037
+ billingCycle: tierConfig.billingCycle,
1038
+ isCustomPricing: tierConfig.isCustomPricing,
1039
+ lastModified: now,
1040
+ }));
1041
+ });
1042
+ };
588
1043
  const getTierAccent = (index) => TIER_ACCENTS[index % TIER_ACCENTS.length];
589
- return (_jsxs(_Fragment, { children: [_jsx("style", { children: tierStyles }), _jsxs("div", { className: "tier-def", children: [_jsxs("div", { className: "tier-def__grid", children: [tiers.map((tier, index) => (_jsx(TierCard, { tier: tier, accent: getTierAccent(index), dispatch: dispatch, onDelete: () => handleDeleteTier(tier.id) }, tier.id))), isAddingTier ? (_jsxs("div", { className: "tier-form-card", children: [_jsx("h3", { className: "tier-form-card__title", children: "New Subscription Tier" }), _jsxs("div", { className: "tier-form-card__field", children: [_jsx("label", { className: "tier-form-card__label", children: "Tier Name" }), _jsx("input", { type: "text", value: newTier.name, onChange: (e) => setNewTier({ ...newTier, name: e.target.value }), placeholder: "e.g., Basic, Professional", className: "tier-form-card__input", autoFocus: true })] }), _jsxs("label", { className: "tier-form-card__toggle", children: [_jsx("input", { type: "checkbox", checked: newTier.isCustomPricing, onChange: (e) => setNewTier({
1044
+ const recommendedTierIndex = getRecommendedTierIndex(tiers);
1045
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: tierStyles }), _jsxs("div", { className: "tier-def", children: [tiers.length === 0 && (_jsxs("div", { className: "tier-presets", children: [_jsxs("div", { className: "tier-presets__header", children: [_jsx("h3", { className: "tier-presets__title", children: "Quick Start with a Template" }), _jsx("p", { className: "tier-presets__subtitle", children: "Choose a pricing structure to get started quickly, or create custom tiers below" })] }), _jsx("div", { className: "tier-presets__grid", children: TIER_PRESETS.map((preset) => (_jsxs("button", { onClick: () => handleApplyPreset(preset), className: "tier-preset-card", children: [_jsx("span", { className: "tier-preset-card__icon", children: preset.icon }), _jsxs("div", { className: "tier-preset-card__content", children: [_jsx("h4", { className: "tier-preset-card__name", children: preset.name }), _jsx("p", { className: "tier-preset-card__desc", children: preset.description })] }), _jsx("div", { className: "tier-preset-card__preview", children: preset.tiers.map((t, i) => (_jsxs("span", { className: "tier-preset-card__tier", children: [t.name, t.isCustomPricing ? "" : ` $${t.amount}`] }, i))) })] }, preset.name))) })] })), _jsxs("div", { className: "tier-def__grid", children: [tiers.map((tier, index) => (_jsx(TierCard, { tier: tier, accent: getTierAccent(index), dispatch: dispatch, onDelete: () => handleDeleteTier(tier.id), isRecommended: index === recommendedTierIndex }, tier.id))), isAddingTier ? (_jsxs("div", { className: "tier-form-card", children: [_jsx("h3", { className: "tier-form-card__title", children: "New Subscription Tier" }), _jsxs("div", { className: "tier-form-card__field", children: [_jsx("label", { className: "tier-form-card__label", children: "Tier Name" }), _jsx("input", { type: "text", value: newTier.name, onChange: (e) => setNewTier({ ...newTier, name: e.target.value }), placeholder: "e.g., Basic, Professional", className: "tier-form-card__input", autoFocus: true })] }), _jsxs("label", { className: "tier-form-card__toggle", children: [_jsx("input", { type: "checkbox", checked: newTier.isCustomPricing, onChange: (e) => setNewTier({
590
1046
  ...newTier,
591
1047
  isCustomPricing: e.target.checked,
592
1048
  amount: "",
@@ -605,12 +1061,49 @@ export function TierDefinition({ document, dispatch }) {
605
1061
  });
606
1062
  }, className: "tier-form-card__btn tier-form-card__btn--secondary", children: "Cancel" })] })] })) : (_jsxs("button", { onClick: () => setIsAddingTier(true), className: "tier-add-card", children: [_jsx("div", { className: "tier-add-card__icon-wrap", children: _jsx("svg", { className: "tier-add-card__icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" }) }) }), _jsx("span", { className: "tier-add-card__text", children: "Add Subscription Tier" })] }))] }), _jsxs("div", { className: "tier-notice", children: [_jsx("svg", { className: "tier-notice__icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsxs("div", { className: "tier-notice__content", children: [_jsx("p", { className: "tier-notice__title", children: "Setup fees are managed at the service group level" }), _jsx("p", { className: "tier-notice__text", children: "Configure setup fees for \"Setup & Formation\" service groups in the Service Catalog. The setup fee applies to all tiers when those services are included." })] })] })] })] }));
607
1063
  }
608
- function TierCard({ tier, accent, dispatch, onDelete }) {
1064
+ function TierCard({ tier, accent, dispatch, onDelete, isRecommended, }) {
609
1065
  const [localName, setLocalName] = useState(tier.name);
610
- const [localAmount, setLocalAmount] = useState(tier.pricing.amount?.toString() || "");
611
- const [localBillingCycle, setLocalBillingCycle] = useState(tier.pricing.billingCycle);
612
1066
  const [localDescription, setLocalDescription] = useState(tier.description || "");
1067
+ const [dropdownOpen, setDropdownOpen] = useState(false);
613
1068
  const isCustomPricing = tier.isCustomPricing ?? false;
1069
+ // Track local prices for each billing cycle
1070
+ const [cyclePrices, setCyclePrices] = useState(() => {
1071
+ const prices = {
1072
+ MONTHLY: "",
1073
+ QUARTERLY: "",
1074
+ SEMI_ANNUAL: "",
1075
+ ANNUAL: "",
1076
+ ONE_TIME: "",
1077
+ };
1078
+ // Initialize from existing pricing options
1079
+ (tier.pricingOptions ?? []).forEach((opt) => {
1080
+ prices[opt.billingCycle] = opt.amount?.toString() ?? "";
1081
+ });
1082
+ return prices;
1083
+ });
1084
+ // Update local state when tier.pricingOptions changes
1085
+ useEffect(() => {
1086
+ setCyclePrices((prev) => {
1087
+ const prices = { ...prev };
1088
+ (tier.pricingOptions ?? []).forEach((opt) => {
1089
+ prices[opt.billingCycle] = opt.amount?.toString() ?? "";
1090
+ });
1091
+ // Clear prices for cycles that are no longer in pricingOptions
1092
+ const activeCyclesSet = new Set((tier.pricingOptions ?? []).map((opt) => opt.billingCycle));
1093
+ BILLING_CYCLES.forEach((cycle) => {
1094
+ if (!activeCyclesSet.has(cycle.value)) {
1095
+ prices[cycle.value] = "";
1096
+ }
1097
+ });
1098
+ return prices;
1099
+ });
1100
+ }, [tier.pricingOptions]);
1101
+ // Get the set of active billing cycles from pricingOptions
1102
+ const activeCycles = new Set((tier.pricingOptions ?? []).map((opt) => opt.billingCycle));
1103
+ // Get default option
1104
+ const defaultOption = (tier.pricingOptions ?? []).find((opt) => opt.isDefault);
1105
+ const defaultCycle = defaultOption?.billingCycle ?? "MONTHLY";
1106
+ const defaultAmount = defaultOption?.amount ?? 0;
614
1107
  const handleNameBlur = () => {
615
1108
  if (localName !== tier.name && localName.trim()) {
616
1109
  dispatch(updateTier({
@@ -629,25 +1122,119 @@ function TierCard({ tier, accent, dispatch, onDelete }) {
629
1122
  }));
630
1123
  }
631
1124
  };
632
- const handlePricingChange = (amount, billingCycle) => {
633
- const newAmount = amount !== undefined
634
- ? amount
635
- ? parseFloat(amount)
636
- : null
637
- : tier.pricing.amount;
638
- const newCycle = billingCycle || tier.pricing.billingCycle;
639
- if (!isCustomPricing && (newAmount === null || isNaN(newAmount)))
1125
+ // Toggle a billing cycle on/off
1126
+ const handleCycleToggle = (cycle, checked) => {
1127
+ const now = new Date().toISOString();
1128
+ if (checked) {
1129
+ // Add this billing cycle
1130
+ const isFirst = (tier.pricingOptions ?? []).length === 0;
1131
+ dispatch(addTierPricingOption({
1132
+ tierId: tier.id,
1133
+ pricingOptionId: generateId(),
1134
+ billingCycle: cycle,
1135
+ amount: 0,
1136
+ currency: "USD",
1137
+ isDefault: isFirst,
1138
+ lastModified: now,
1139
+ }));
1140
+ }
1141
+ else {
1142
+ // Remove this billing cycle
1143
+ const option = (tier.pricingOptions ?? []).find((opt) => opt.billingCycle === cycle);
1144
+ if (option) {
1145
+ // Don't allow removing if it's the only one
1146
+ if ((tier.pricingOptions ?? []).length <= 1) {
1147
+ return;
1148
+ }
1149
+ dispatch(removeTierPricingOption({
1150
+ tierId: tier.id,
1151
+ pricingOptionId: option.id,
1152
+ lastModified: now,
1153
+ }));
1154
+ }
1155
+ }
1156
+ };
1157
+ // Update the price for a billing cycle
1158
+ const handleCyclePriceChange = (cycle, value) => {
1159
+ setCyclePrices((prev) => ({ ...prev, [cycle]: value }));
1160
+ };
1161
+ const handleCyclePriceBlur = (cycle) => {
1162
+ const option = (tier.pricingOptions ?? []).find((opt) => opt.billingCycle === cycle);
1163
+ if (!option)
1164
+ return;
1165
+ const amount = parseFloat(cyclePrices[cycle]);
1166
+ if (!isNaN(amount) && amount !== option.amount) {
1167
+ dispatch(updateTierPricingOption({
1168
+ tierId: tier.id,
1169
+ pricingOptionId: option.id,
1170
+ amount,
1171
+ lastModified: new Date().toISOString(),
1172
+ }));
1173
+ }
1174
+ };
1175
+ // Set a billing cycle as default (clicking it in the dropdown)
1176
+ const handleSetDefault = (cycle) => {
1177
+ const option = (tier.pricingOptions ?? []).find((opt) => opt.billingCycle === cycle);
1178
+ if (!option || option.isDefault)
640
1179
  return;
641
- dispatch(updateTierPricing({
1180
+ dispatch(updateTierPricingOption({
642
1181
  tierId: tier.id,
643
- amount: newAmount,
644
- billingCycle: newCycle,
1182
+ pricingOptionId: option.id,
1183
+ isDefault: true,
645
1184
  lastModified: new Date().toISOString(),
646
1185
  }));
647
1186
  };
648
- return (_jsxs("div", { className: "tier-card", children: [_jsx("div", { className: "tier-card__accent", style: { background: accent.color } }), _jsxs("div", { className: "tier-card__body", children: [_jsxs("div", { className: "tier-card__header", children: [_jsxs("div", { className: "tier-card__name-group", children: [_jsx("span", { className: "tier-card__label", children: "Tier Name" }), _jsx("input", { type: "text", value: localName, onChange: (e) => setLocalName(e.target.value), onBlur: handleNameBlur, className: "tier-card__name-input" })] }), _jsx("button", { onClick: onDelete, className: "tier-card__delete-btn", children: _jsx("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })] }), isCustomPricing && (_jsxs("div", { className: "tier-card__custom-badge", children: [_jsx("svg", { className: "tier-card__custom-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsxs("div", { className: "tier-card__custom-text", children: [_jsx("span", { className: "tier-card__custom-title", children: "Custom Pricing" }), _jsx("span", { className: "tier-card__custom-desc", children: "Price varies per client" })] })] })), !isCustomPricing && (_jsxs("div", { className: "tier-card__pricing", children: [_jsx("span", { className: "tier-card__label", children: "Recurring Price" }), _jsxs("div", { className: "tier-card__pricing-box", children: [_jsx("span", { className: "tier-card__currency", children: "$" }), _jsx("input", { type: "number", value: localAmount, onChange: (e) => setLocalAmount(e.target.value), onBlur: () => handlePricingChange(localAmount), className: "tier-card__amount-input", step: "0.01" }), _jsx("span", { className: "tier-card__divider", children: "/" }), _jsx("select", { value: localBillingCycle, onChange: (e) => {
649
- const newCycle = e.target.value;
650
- setLocalBillingCycle(newCycle);
651
- handlePricingChange(undefined, newCycle);
652
- }, className: "tier-card__cycle-select", children: BILLING_CYCLES.map((cycle) => (_jsx("option", { value: cycle.value, children: cycle.label }, cycle.value))) })] })] })), _jsxs("div", { className: "tier-card__description", children: [_jsx("span", { className: "tier-card__label", children: "Description" }), _jsx("textarea", { value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: handleDescriptionBlur, placeholder: "Add a description...", rows: 2, className: "tier-card__desc-textarea" })] })] }), _jsxs("div", { className: "tier-card__footer", children: [_jsx("svg", { className: "tier-card__footer-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsx("span", { className: "tier-card__footer-text", children: "Configure service levels in the Matrix view" })] })] }));
1187
+ // Helper to get monthly equivalent
1188
+ const getMonthlyEquivalent = (amount, cycle) => {
1189
+ if (cycle === "ONE_TIME" || cycle === "MONTHLY" || amount <= 0)
1190
+ return "";
1191
+ const months = BILLING_CYCLE_MONTHS[cycle];
1192
+ const monthly = amount / months;
1193
+ return `$${monthly.toFixed(2)}`;
1194
+ };
1195
+ // Get the label for the currently selected default cycle
1196
+ const getDefaultCycleLabel = () => {
1197
+ const cycleInfo = BILLING_CYCLES.find((c) => c.value === defaultCycle);
1198
+ return cycleInfo?.label ?? "Month";
1199
+ };
1200
+ // Close dropdown when clicking outside
1201
+ useEffect(() => {
1202
+ const handleClickOutside = (e) => {
1203
+ const target = e.target;
1204
+ if (!target.closest(".tier-card__cycle-dropdown")) {
1205
+ setDropdownOpen(false);
1206
+ }
1207
+ };
1208
+ if (dropdownOpen) {
1209
+ document.addEventListener("click", handleClickOutside);
1210
+ }
1211
+ return () => document.removeEventListener("click", handleClickOutside);
1212
+ }, [dropdownOpen]);
1213
+ return (_jsxs("div", { className: `tier-card ${isRecommended ? "tier-card--popular" : ""}`, children: [isRecommended && (_jsxs("div", { className: "tier-card__popular-banner", children: [_jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" }) }), "Most Popular"] })), _jsx("div", { className: "tier-card__accent", style: { background: accent.color } }), _jsxs("div", { className: "tier-card__body", children: [_jsxs("div", { className: "tier-card__header", children: [_jsxs("div", { className: "tier-card__name-group", children: [_jsx("span", { className: "tier-card__label", children: "Tier Name" }), _jsx("input", { type: "text", value: localName, onChange: (e) => setLocalName(e.target.value), onBlur: handleNameBlur, className: "tier-card__name-input" })] }), _jsx("button", { onClick: onDelete, className: "tier-card__delete-btn", children: _jsx("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })] }), isCustomPricing && (_jsxs("div", { className: "tier-card__custom-badge", children: [_jsx("svg", { className: "tier-card__custom-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsxs("div", { className: "tier-card__custom-text", children: [_jsx("span", { className: "tier-card__custom-title", children: "Custom Pricing" }), _jsx("span", { className: "tier-card__custom-desc", children: "Price varies per client" })] })] })), !isCustomPricing && (_jsxs("div", { className: "tier-card__pricing", children: [_jsx("span", { className: "tier-card__label", children: "Recurring Price" }), _jsxs("div", { className: "tier-card__pricing-box", children: [_jsx("span", { className: "tier-card__currency", children: "$" }), _jsx("input", { type: "number", value: cyclePrices[defaultCycle] || "", onChange: (e) => handleCyclePriceChange(defaultCycle, e.target.value), onBlur: () => handleCyclePriceBlur(defaultCycle), className: "tier-card__amount-input", placeholder: "0", step: "0.01" }), _jsx("span", { className: "tier-card__divider", children: "/" }), _jsxs("div", { className: "tier-card__cycle-dropdown", children: [_jsxs("button", { type: "button", onClick: () => setDropdownOpen(!dropdownOpen), className: `tier-card__cycle-dropdown-trigger ${dropdownOpen ? "tier-card__cycle-dropdown-trigger--open" : ""}`, children: [_jsx("span", { children: getDefaultCycleLabel() }), _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }), dropdownOpen && (_jsx("div", { className: "tier-card__cycle-dropdown-menu", children: BILLING_CYCLES.filter((c) => c.value !== "ONE_TIME").map((cycle) => {
1214
+ const isActive = activeCycles.has(cycle.value);
1215
+ const option = (tier.pricingOptions ?? []).find((opt) => opt.billingCycle === cycle.value);
1216
+ const isDefault = option?.isDefault ?? false;
1217
+ const price = cyclePrices[cycle.value];
1218
+ return (_jsxs("div", { className: `tier-card__cycle-dropdown-item ${isActive ? "tier-card__cycle-dropdown-item--active" : ""}`, children: [_jsx("input", { type: "checkbox", checked: isActive, onChange: (e) => {
1219
+ e.stopPropagation();
1220
+ handleCycleToggle(cycle.value, e.target.checked);
1221
+ }, className: "tier-card__cycle-checkbox", disabled: isActive &&
1222
+ (tier.pricingOptions ?? []).length <= 1 }), _jsx("span", { className: "tier-card__cycle-name", onClick: () => {
1223
+ if (isActive && !isDefault) {
1224
+ handleSetDefault(cycle.value);
1225
+ }
1226
+ }, style: {
1227
+ cursor: isActive && !isDefault
1228
+ ? "pointer"
1229
+ : "default",
1230
+ }, children: cycle.label }), isActive && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "tier-card__cycle-price-inline", children: [_jsx("span", { className: "tier-card__cycle-currency-small", children: "$" }), _jsx("input", { type: "number", value: price, onChange: (e) => {
1231
+ e.stopPropagation();
1232
+ handleCyclePriceChange(cycle.value, e.target.value);
1233
+ }, onBlur: () => handleCyclePriceBlur(cycle.value), placeholder: "0", step: "0.01", className: "tier-card__cycle-price-input", onClick: (e) => e.stopPropagation() })] }), isDefault && (_jsx("span", { className: "tier-card__cycle-default-badge", children: "Default" }))] }))] }, cycle.value));
1234
+ }) }))] })] }), defaultAmount > 0 &&
1235
+ defaultCycle !== "ONE_TIME" &&
1236
+ defaultCycle !== "MONTHLY" && (_jsx("div", { className: "tier-card__price-breakdown", children: _jsxs("div", { className: "tier-card__per-month", children: [_jsx("span", { className: "tier-card__per-month-amount", children: getMonthlyEquivalent(defaultAmount, defaultCycle) }), _jsx("span", { className: "tier-card__per-month-label", children: "/month" })] }) })), activeCycles.size > 1 && (_jsx("div", { className: "tier-card__cycles-summary", children: (tier.pricingOptions ?? []).map((opt) => {
1237
+ const cycleInfo = BILLING_CYCLES.find((c) => c.value === opt.billingCycle);
1238
+ return (_jsxs("span", { className: `tier-card__cycle-tag ${opt.isDefault ? "tier-card__cycle-tag--default" : ""}`, children: [cycleInfo?.label, _jsxs("span", { className: "tier-card__cycle-tag-price", children: ["$", opt.amount] })] }, opt.id));
1239
+ }) }))] })), _jsxs("div", { className: "tier-card__description", children: [_jsx("span", { className: "tier-card__label", children: "Description" }), _jsx("textarea", { value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: handleDescriptionBlur, placeholder: "Add a description...", rows: 2, className: "tier-card__desc-textarea" })] })] }), _jsxs("div", { className: "tier-card__footer", children: [_jsx("svg", { className: "tier-card__footer-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsx("span", { className: "tier-card__footer-text", children: "Configure service levels in the Matrix view" })] })] }));
653
1240
  }