@powerhousedao/service-offering 0.0.1

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 (1100) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +179 -0
  3. package/dist/document-models/document-models.d.ts +3 -0
  4. package/dist/document-models/document-models.d.ts.map +1 -0
  5. package/dist/document-models/document-models.js +14 -0
  6. package/dist/document-models/facet/actions.d.ts +18 -0
  7. package/dist/document-models/facet/actions.d.ts.map +1 -0
  8. package/dist/document-models/facet/actions.js +8 -0
  9. package/dist/document-models/facet/gen/actions.d.ts +6 -0
  10. package/dist/document-models/facet/gen/actions.d.ts.map +1 -0
  11. package/dist/document-models/facet/gen/actions.js +2 -0
  12. package/dist/document-models/facet/gen/creators.d.ts +5 -0
  13. package/dist/document-models/facet/gen/creators.d.ts.map +1 -0
  14. package/dist/document-models/facet/gen/creators.js +4 -0
  15. package/dist/document-models/facet/gen/document-model.d.ts +3 -0
  16. package/dist/document-models/facet/gen/document-model.d.ts.map +1 -0
  17. package/dist/document-models/facet/gen/document-model.js +134 -0
  18. package/dist/document-models/facet/gen/document-schema.d.ts +56 -0
  19. package/dist/document-models/facet/gen/document-schema.d.ts.map +1 -0
  20. package/dist/document-models/facet/gen/document-schema.js +33 -0
  21. package/dist/document-models/facet/gen/document-type.d.ts +2 -0
  22. package/dist/document-models/facet/gen/document-type.d.ts.map +1 -0
  23. package/dist/document-models/facet/gen/document-type.js +1 -0
  24. package/dist/document-models/facet/gen/facet-management/actions.d.ts +12 -0
  25. package/dist/document-models/facet/gen/facet-management/actions.d.ts.map +1 -0
  26. package/dist/document-models/facet/gen/facet-management/actions.js +1 -0
  27. package/dist/document-models/facet/gen/facet-management/creators.d.ts +5 -0
  28. package/dist/document-models/facet/gen/facet-management/creators.d.ts.map +1 -0
  29. package/dist/document-models/facet/gen/facet-management/creators.js +4 -0
  30. package/dist/document-models/facet/gen/facet-management/error.d.ts +2 -0
  31. package/dist/document-models/facet/gen/facet-management/error.d.ts.map +1 -0
  32. package/dist/document-models/facet/gen/facet-management/error.js +1 -0
  33. package/dist/document-models/facet/gen/facet-management/operations.d.ts +8 -0
  34. package/dist/document-models/facet/gen/facet-management/operations.d.ts.map +1 -0
  35. package/dist/document-models/facet/gen/facet-management/operations.js +1 -0
  36. package/dist/document-models/facet/gen/index.d.ts +13 -0
  37. package/dist/document-models/facet/gen/index.d.ts.map +1 -0
  38. package/dist/document-models/facet/gen/index.js +12 -0
  39. package/dist/document-models/facet/gen/option-management/actions.d.ts +20 -0
  40. package/dist/document-models/facet/gen/option-management/actions.d.ts.map +1 -0
  41. package/dist/document-models/facet/gen/option-management/actions.js +1 -0
  42. package/dist/document-models/facet/gen/option-management/creators.d.ts +7 -0
  43. package/dist/document-models/facet/gen/option-management/creators.d.ts.map +1 -0
  44. package/dist/document-models/facet/gen/option-management/creators.js +6 -0
  45. package/dist/document-models/facet/gen/option-management/error.d.ts +28 -0
  46. package/dist/document-models/facet/gen/option-management/error.d.ts.map +1 -0
  47. package/dist/document-models/facet/gen/option-management/error.js +23 -0
  48. package/dist/document-models/facet/gen/option-management/operations.d.ts +10 -0
  49. package/dist/document-models/facet/gen/option-management/operations.d.ts.map +1 -0
  50. package/dist/document-models/facet/gen/option-management/operations.js +1 -0
  51. package/dist/document-models/facet/gen/ph-factories.d.ts +23 -0
  52. package/dist/document-models/facet/gen/ph-factories.d.ts.map +1 -0
  53. package/dist/document-models/facet/gen/ph-factories.js +51 -0
  54. package/dist/document-models/facet/gen/reducer.d.ts +3 -0
  55. package/dist/document-models/facet/gen/reducer.d.ts.map +1 -0
  56. package/dist/document-models/facet/gen/reducer.js +44 -0
  57. package/dist/document-models/facet/gen/schema/index.d.ts +3 -0
  58. package/dist/document-models/facet/gen/schema/index.d.ts.map +1 -0
  59. package/dist/document-models/facet/gen/schema/index.js +2 -0
  60. package/dist/document-models/facet/gen/schema/types.d.ts +195 -0
  61. package/dist/document-models/facet/gen/schema/types.d.ts.map +1 -0
  62. package/dist/document-models/facet/gen/schema/types.js +1 -0
  63. package/dist/document-models/facet/gen/schema/zod.d.ts +18 -0
  64. package/dist/document-models/facet/gen/schema/zod.d.ts.map +1 -0
  65. package/dist/document-models/facet/gen/schema/zod.js +69 -0
  66. package/dist/document-models/facet/gen/types.d.ts +12 -0
  67. package/dist/document-models/facet/gen/types.d.ts.map +1 -0
  68. package/dist/document-models/facet/gen/types.js +1 -0
  69. package/dist/document-models/facet/gen/utils.d.ts +15 -0
  70. package/dist/document-models/facet/gen/utils.d.ts.map +1 -0
  71. package/dist/document-models/facet/gen/utils.js +55 -0
  72. package/dist/document-models/facet/hooks.d.ts +14 -0
  73. package/dist/document-models/facet/hooks.d.ts.map +1 -0
  74. package/dist/document-models/facet/hooks.js +25 -0
  75. package/dist/document-models/facet/index.d.ts +6 -0
  76. package/dist/document-models/facet/index.d.ts.map +1 -0
  77. package/dist/document-models/facet/index.js +5 -0
  78. package/dist/document-models/facet/module.d.ts +5 -0
  79. package/dist/document-models/facet/module.d.ts.map +1 -0
  80. package/dist/document-models/facet/module.js +11 -0
  81. package/dist/document-models/facet/src/index.d.ts +2 -0
  82. package/dist/document-models/facet/src/index.d.ts.map +1 -0
  83. package/dist/document-models/facet/src/index.js +1 -0
  84. package/dist/document-models/facet/src/reducers/facet-management.d.ts +3 -0
  85. package/dist/document-models/facet/src/reducers/facet-management.d.ts.map +1 -0
  86. package/dist/document-models/facet/src/reducers/facet-management.js +10 -0
  87. package/dist/document-models/facet/src/reducers/index.d.ts +3 -0
  88. package/dist/document-models/facet/src/reducers/index.d.ts.map +1 -0
  89. package/dist/document-models/facet/src/reducers/index.js +2 -0
  90. package/dist/document-models/facet/src/reducers/option-management.d.ts +3 -0
  91. package/dist/document-models/facet/src/reducers/option-management.d.ts.map +1 -0
  92. package/dist/document-models/facet/src/reducers/option-management.js +56 -0
  93. package/dist/document-models/facet/src/tests/document-model.test.d.ts +10 -0
  94. package/dist/document-models/facet/src/tests/document-model.test.d.ts.map +1 -0
  95. package/dist/document-models/facet/src/tests/document-model.test.js +104 -0
  96. package/dist/document-models/facet/src/tests/facet-management.test.d.ts +6 -0
  97. package/dist/document-models/facet/src/tests/facet-management.test.d.ts.map +1 -0
  98. package/dist/document-models/facet/src/tests/facet-management.test.js +29 -0
  99. package/dist/document-models/facet/src/tests/option-management.test.d.ts +6 -0
  100. package/dist/document-models/facet/src/tests/option-management.test.d.ts.map +1 -0
  101. package/dist/document-models/facet/src/tests/option-management.test.js +49 -0
  102. package/dist/document-models/facet/src/utils.d.ts +2 -0
  103. package/dist/document-models/facet/src/utils.d.ts.map +1 -0
  104. package/dist/document-models/facet/src/utils.js +1 -0
  105. package/dist/document-models/facet/tests/document-model.test.d.ts +10 -0
  106. package/dist/document-models/facet/tests/document-model.test.d.ts.map +1 -0
  107. package/dist/document-models/facet/tests/document-model.test.js +104 -0
  108. package/dist/document-models/facet/tests/facet-management.test.d.ts +2 -0
  109. package/dist/document-models/facet/tests/facet-management.test.d.ts.map +1 -0
  110. package/dist/document-models/facet/tests/facet-management.test.js +25 -0
  111. package/dist/document-models/facet/tests/option-management.test.d.ts +2 -0
  112. package/dist/document-models/facet/tests/option-management.test.d.ts.map +1 -0
  113. package/dist/document-models/facet/tests/option-management.test.js +45 -0
  114. package/dist/document-models/facet/utils.d.ts +14 -0
  115. package/dist/document-models/facet/utils.d.ts.map +1 -0
  116. package/dist/document-models/facet/utils.js +7 -0
  117. package/dist/document-models/index.d.ts +7 -0
  118. package/dist/document-models/index.d.ts.map +1 -0
  119. package/dist/document-models/index.js +6 -0
  120. package/dist/document-models/resource-instance/actions.d.ts +31 -0
  121. package/dist/document-models/resource-instance/actions.d.ts.map +1 -0
  122. package/dist/document-models/resource-instance/actions.js +8 -0
  123. package/dist/document-models/resource-instance/gen/actions.d.ts +6 -0
  124. package/dist/document-models/resource-instance/gen/actions.d.ts.map +1 -0
  125. package/dist/document-models/resource-instance/gen/actions.js +2 -0
  126. package/dist/document-models/resource-instance/gen/configuration-management/actions.d.ts +20 -0
  127. package/dist/document-models/resource-instance/gen/configuration-management/actions.d.ts.map +1 -0
  128. package/dist/document-models/resource-instance/gen/configuration-management/actions.js +1 -0
  129. package/dist/document-models/resource-instance/gen/configuration-management/creators.d.ts +7 -0
  130. package/dist/document-models/resource-instance/gen/configuration-management/creators.d.ts.map +1 -0
  131. package/dist/document-models/resource-instance/gen/configuration-management/creators.js +6 -0
  132. package/dist/document-models/resource-instance/gen/configuration-management/error.d.ts +35 -0
  133. package/dist/document-models/resource-instance/gen/configuration-management/error.d.ts.map +1 -0
  134. package/dist/document-models/resource-instance/gen/configuration-management/error.js +32 -0
  135. package/dist/document-models/resource-instance/gen/configuration-management/operations.d.ts +10 -0
  136. package/dist/document-models/resource-instance/gen/configuration-management/operations.d.ts.map +1 -0
  137. package/dist/document-models/resource-instance/gen/configuration-management/operations.js +1 -0
  138. package/dist/document-models/resource-instance/gen/creators.d.ts +5 -0
  139. package/dist/document-models/resource-instance/gen/creators.d.ts.map +1 -0
  140. package/dist/document-models/resource-instance/gen/creators.js +4 -0
  141. package/dist/document-models/resource-instance/gen/document-model.d.ts +3 -0
  142. package/dist/document-models/resource-instance/gen/document-model.d.ts.map +1 -0
  143. package/dist/document-models/resource-instance/gen/document-model.js +394 -0
  144. package/dist/document-models/resource-instance/gen/document-schema.d.ts +104 -0
  145. package/dist/document-models/resource-instance/gen/document-schema.d.ts.map +1 -0
  146. package/dist/document-models/resource-instance/gen/document-schema.js +33 -0
  147. package/dist/document-models/resource-instance/gen/document-type.d.ts +2 -0
  148. package/dist/document-models/resource-instance/gen/document-type.d.ts.map +1 -0
  149. package/dist/document-models/resource-instance/gen/document-type.js +1 -0
  150. package/dist/document-models/resource-instance/gen/index.d.ts +13 -0
  151. package/dist/document-models/resource-instance/gen/index.d.ts.map +1 -0
  152. package/dist/document-models/resource-instance/gen/index.js +12 -0
  153. package/dist/document-models/resource-instance/gen/instance-management/actions.d.ts +64 -0
  154. package/dist/document-models/resource-instance/gen/instance-management/actions.d.ts.map +1 -0
  155. package/dist/document-models/resource-instance/gen/instance-management/actions.js +1 -0
  156. package/dist/document-models/resource-instance/gen/instance-management/creators.d.ts +18 -0
  157. package/dist/document-models/resource-instance/gen/instance-management/creators.d.ts.map +1 -0
  158. package/dist/document-models/resource-instance/gen/instance-management/creators.js +17 -0
  159. package/dist/document-models/resource-instance/gen/instance-management/error.d.ts +99 -0
  160. package/dist/document-models/resource-instance/gen/instance-management/error.d.ts.map +1 -0
  161. package/dist/document-models/resource-instance/gen/instance-management/error.js +112 -0
  162. package/dist/document-models/resource-instance/gen/instance-management/operations.d.ts +21 -0
  163. package/dist/document-models/resource-instance/gen/instance-management/operations.d.ts.map +1 -0
  164. package/dist/document-models/resource-instance/gen/instance-management/operations.js +1 -0
  165. package/dist/document-models/resource-instance/gen/ph-factories.d.ts +23 -0
  166. package/dist/document-models/resource-instance/gen/ph-factories.d.ts.map +1 -0
  167. package/dist/document-models/resource-instance/gen/ph-factories.js +67 -0
  168. package/dist/document-models/resource-instance/gen/reducer.d.ts +3 -0
  169. package/dist/document-models/resource-instance/gen/reducer.d.ts.map +1 -0
  170. package/dist/document-models/resource-instance/gen/reducer.js +109 -0
  171. package/dist/document-models/resource-instance/gen/schema/index.d.ts +3 -0
  172. package/dist/document-models/resource-instance/gen/schema/index.d.ts.map +1 -0
  173. package/dist/document-models/resource-instance/gen/schema/index.js +2 -0
  174. package/dist/document-models/resource-instance/gen/schema/types.d.ts +269 -0
  175. package/dist/document-models/resource-instance/gen/schema/types.d.ts.map +1 -0
  176. package/dist/document-models/resource-instance/gen/schema/types.js +1 -0
  177. package/dist/document-models/resource-instance/gen/schema/zod.d.ts +44 -0
  178. package/dist/document-models/resource-instance/gen/schema/zod.d.ts.map +1 -0
  179. package/dist/document-models/resource-instance/gen/schema/zod.js +184 -0
  180. package/dist/document-models/resource-instance/gen/types.d.ts +12 -0
  181. package/dist/document-models/resource-instance/gen/types.d.ts.map +1 -0
  182. package/dist/document-models/resource-instance/gen/types.js +1 -0
  183. package/dist/document-models/resource-instance/gen/utils.d.ts +15 -0
  184. package/dist/document-models/resource-instance/gen/utils.d.ts.map +1 -0
  185. package/dist/document-models/resource-instance/gen/utils.js +71 -0
  186. package/dist/document-models/resource-instance/hooks.d.ts +14 -0
  187. package/dist/document-models/resource-instance/hooks.d.ts.map +1 -0
  188. package/dist/document-models/resource-instance/hooks.js +25 -0
  189. package/dist/document-models/resource-instance/index.d.ts +6 -0
  190. package/dist/document-models/resource-instance/index.d.ts.map +1 -0
  191. package/dist/document-models/resource-instance/index.js +5 -0
  192. package/dist/document-models/resource-instance/module.d.ts +5 -0
  193. package/dist/document-models/resource-instance/module.d.ts.map +1 -0
  194. package/dist/document-models/resource-instance/module.js +11 -0
  195. package/dist/document-models/resource-instance/src/index.d.ts +2 -0
  196. package/dist/document-models/resource-instance/src/index.d.ts.map +1 -0
  197. package/dist/document-models/resource-instance/src/index.js +1 -0
  198. package/dist/document-models/resource-instance/src/reducers/configuration-management.d.ts +3 -0
  199. package/dist/document-models/resource-instance/src/reducers/configuration-management.d.ts.map +1 -0
  200. package/dist/document-models/resource-instance/src/reducers/configuration-management.js +73 -0
  201. package/dist/document-models/resource-instance/src/reducers/instance-management.d.ts +3 -0
  202. package/dist/document-models/resource-instance/src/reducers/instance-management.d.ts.map +1 -0
  203. package/dist/document-models/resource-instance/src/reducers/instance-management.js +109 -0
  204. package/dist/document-models/resource-instance/src/reducers/usage-tracking.d.ts +2 -0
  205. package/dist/document-models/resource-instance/src/reducers/usage-tracking.d.ts.map +1 -0
  206. package/dist/document-models/resource-instance/src/reducers/usage-tracking.js +4 -0
  207. package/dist/document-models/resource-instance/src/tests/configuration-management.test.d.ts +6 -0
  208. package/dist/document-models/resource-instance/src/tests/configuration-management.test.d.ts.map +1 -0
  209. package/dist/document-models/resource-instance/src/tests/configuration-management.test.js +49 -0
  210. package/dist/document-models/resource-instance/src/tests/document-model.test.d.ts +10 -0
  211. package/dist/document-models/resource-instance/src/tests/document-model.test.d.ts.map +1 -0
  212. package/dist/document-models/resource-instance/src/tests/document-model.test.js +104 -0
  213. package/dist/document-models/resource-instance/src/tests/instance-management.test.d.ts +6 -0
  214. package/dist/document-models/resource-instance/src/tests/instance-management.test.d.ts.map +1 -0
  215. package/dist/document-models/resource-instance/src/tests/instance-management.test.js +59 -0
  216. package/dist/document-models/resource-instance/src/tests/usage-tracking.test.d.ts +6 -0
  217. package/dist/document-models/resource-instance/src/tests/usage-tracking.test.d.ts.map +1 -0
  218. package/dist/document-models/resource-instance/src/tests/usage-tracking.test.js +10 -0
  219. package/dist/document-models/resource-instance/src/utils.d.ts +2 -0
  220. package/dist/document-models/resource-instance/src/utils.d.ts.map +1 -0
  221. package/dist/document-models/resource-instance/src/utils.js +1 -0
  222. package/dist/document-models/resource-instance/tests/configuration-management.test.d.ts +2 -0
  223. package/dist/document-models/resource-instance/tests/configuration-management.test.d.ts.map +1 -0
  224. package/dist/document-models/resource-instance/tests/configuration-management.test.js +45 -0
  225. package/dist/document-models/resource-instance/tests/document-model.test.d.ts +10 -0
  226. package/dist/document-models/resource-instance/tests/document-model.test.d.ts.map +1 -0
  227. package/dist/document-models/resource-instance/tests/document-model.test.js +104 -0
  228. package/dist/document-models/resource-instance/tests/instance-management.test.d.ts +2 -0
  229. package/dist/document-models/resource-instance/tests/instance-management.test.d.ts.map +1 -0
  230. package/dist/document-models/resource-instance/tests/instance-management.test.js +155 -0
  231. package/dist/document-models/resource-instance/tests/usage-tracking.test.d.ts +2 -0
  232. package/dist/document-models/resource-instance/tests/usage-tracking.test.d.ts.map +1 -0
  233. package/dist/document-models/resource-instance/tests/usage-tracking.test.js +6 -0
  234. package/dist/document-models/resource-instance/utils.d.ts +14 -0
  235. package/dist/document-models/resource-instance/utils.d.ts.map +1 -0
  236. package/dist/document-models/resource-instance/utils.js +7 -0
  237. package/dist/document-models/resource-template/actions.d.ts +40 -0
  238. package/dist/document-models/resource-template/actions.d.ts.map +1 -0
  239. package/dist/document-models/resource-template/actions.js +13 -0
  240. package/dist/document-models/resource-template/gen/actions.d.ts +16 -0
  241. package/dist/document-models/resource-template/gen/actions.d.ts.map +1 -0
  242. package/dist/document-models/resource-template/gen/actions.js +7 -0
  243. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts +12 -0
  244. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts.map +1 -0
  245. package/dist/document-models/resource-template/gen/audience-management/actions.js +1 -0
  246. package/dist/document-models/resource-template/gen/audience-management/creators.d.ts +5 -0
  247. package/dist/document-models/resource-template/gen/audience-management/creators.d.ts.map +1 -0
  248. package/dist/document-models/resource-template/gen/audience-management/creators.js +4 -0
  249. package/dist/document-models/resource-template/gen/audience-management/error.d.ts +21 -0
  250. package/dist/document-models/resource-template/gen/audience-management/error.d.ts.map +1 -0
  251. package/dist/document-models/resource-template/gen/audience-management/error.js +16 -0
  252. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts +8 -0
  253. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts.map +1 -0
  254. package/dist/document-models/resource-template/gen/audience-management/operations.js +1 -0
  255. package/dist/document-models/resource-template/gen/content-section-management/actions.d.ts +20 -0
  256. package/dist/document-models/resource-template/gen/content-section-management/actions.d.ts.map +1 -0
  257. package/dist/document-models/resource-template/gen/content-section-management/actions.js +1 -0
  258. package/dist/document-models/resource-template/gen/content-section-management/creators.d.ts +7 -0
  259. package/dist/document-models/resource-template/gen/content-section-management/creators.d.ts.map +1 -0
  260. package/dist/document-models/resource-template/gen/content-section-management/creators.js +6 -0
  261. package/dist/document-models/resource-template/gen/content-section-management/error.d.ts +2 -0
  262. package/dist/document-models/resource-template/gen/content-section-management/error.d.ts.map +1 -0
  263. package/dist/document-models/resource-template/gen/content-section-management/error.js +1 -0
  264. package/dist/document-models/resource-template/gen/content-section-management/operations.d.ts +10 -0
  265. package/dist/document-models/resource-template/gen/content-section-management/operations.d.ts.map +1 -0
  266. package/dist/document-models/resource-template/gen/content-section-management/operations.js +1 -0
  267. package/dist/document-models/resource-template/gen/creators.d.ts +15 -0
  268. package/dist/document-models/resource-template/gen/creators.d.ts.map +1 -0
  269. package/dist/document-models/resource-template/gen/creators.js +14 -0
  270. package/dist/document-models/resource-template/gen/document-model.d.ts +3 -0
  271. package/dist/document-models/resource-template/gen/document-model.d.ts.map +1 -0
  272. package/dist/document-models/resource-template/gen/document-model.js +505 -0
  273. package/dist/document-models/resource-template/gen/document-schema.d.ts +92 -0
  274. package/dist/document-models/resource-template/gen/document-schema.d.ts.map +1 -0
  275. package/dist/document-models/resource-template/gen/document-schema.js +33 -0
  276. package/dist/document-models/resource-template/gen/document-type.d.ts +2 -0
  277. package/dist/document-models/resource-template/gen/document-type.d.ts.map +1 -0
  278. package/dist/document-models/resource-template/gen/document-type.js +1 -0
  279. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts +20 -0
  280. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts.map +1 -0
  281. package/dist/document-models/resource-template/gen/facet-targeting/actions.js +1 -0
  282. package/dist/document-models/resource-template/gen/facet-targeting/creators.d.ts +7 -0
  283. package/dist/document-models/resource-template/gen/facet-targeting/creators.d.ts.map +1 -0
  284. package/dist/document-models/resource-template/gen/facet-targeting/creators.js +6 -0
  285. package/dist/document-models/resource-template/gen/facet-targeting/error.d.ts +28 -0
  286. package/dist/document-models/resource-template/gen/facet-targeting/error.d.ts.map +1 -0
  287. package/dist/document-models/resource-template/gen/facet-targeting/error.js +23 -0
  288. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts +10 -0
  289. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts.map +1 -0
  290. package/dist/document-models/resource-template/gen/facet-targeting/operations.js +1 -0
  291. package/dist/document-models/resource-template/gen/index.d.ts +18 -0
  292. package/dist/document-models/resource-template/gen/index.d.ts.map +1 -0
  293. package/dist/document-models/resource-template/gen/index.js +17 -0
  294. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts +32 -0
  295. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts.map +1 -0
  296. package/dist/document-models/resource-template/gen/option-group-management/actions.js +1 -0
  297. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts +10 -0
  298. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts.map +1 -0
  299. package/dist/document-models/resource-template/gen/option-group-management/creators.js +9 -0
  300. package/dist/document-models/resource-template/gen/option-group-management/error.d.ts +28 -0
  301. package/dist/document-models/resource-template/gen/option-group-management/error.d.ts.map +1 -0
  302. package/dist/document-models/resource-template/gen/option-group-management/error.js +23 -0
  303. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts +13 -0
  304. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts.map +1 -0
  305. package/dist/document-models/resource-template/gen/option-group-management/operations.js +1 -0
  306. package/dist/document-models/resource-template/gen/ph-factories.d.ts +23 -0
  307. package/dist/document-models/resource-template/gen/ph-factories.d.ts.map +1 -0
  308. package/dist/document-models/resource-template/gen/ph-factories.js +63 -0
  309. package/dist/document-models/resource-template/gen/reducer.d.ts +3 -0
  310. package/dist/document-models/resource-template/gen/reducer.d.ts.map +1 -0
  311. package/dist/document-models/resource-template/gen/reducer.js +159 -0
  312. package/dist/document-models/resource-template/gen/schema/index.d.ts +3 -0
  313. package/dist/document-models/resource-template/gen/schema/index.d.ts.map +1 -0
  314. package/dist/document-models/resource-template/gen/schema/index.js +2 -0
  315. package/dist/document-models/resource-template/gen/schema/types.d.ts +371 -0
  316. package/dist/document-models/resource-template/gen/schema/types.d.ts.map +1 -0
  317. package/dist/document-models/resource-template/gen/schema/types.js +1 -0
  318. package/dist/document-models/resource-template/gen/schema/zod.d.ts +52 -0
  319. package/dist/document-models/resource-template/gen/schema/zod.d.ts.map +1 -0
  320. package/dist/document-models/resource-template/gen/schema/zod.js +312 -0
  321. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts +12 -0
  322. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts.map +1 -0
  323. package/dist/document-models/resource-template/gen/service-category-management/actions.js +1 -0
  324. package/dist/document-models/resource-template/gen/service-category-management/creators.d.ts +5 -0
  325. package/dist/document-models/resource-template/gen/service-category-management/creators.d.ts.map +1 -0
  326. package/dist/document-models/resource-template/gen/service-category-management/creators.js +4 -0
  327. package/dist/document-models/resource-template/gen/service-category-management/error.d.ts +2 -0
  328. package/dist/document-models/resource-template/gen/service-category-management/error.d.ts.map +1 -0
  329. package/dist/document-models/resource-template/gen/service-category-management/error.js +1 -0
  330. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts +8 -0
  331. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts.map +1 -0
  332. package/dist/document-models/resource-template/gen/service-category-management/operations.js +1 -0
  333. package/dist/document-models/resource-template/gen/service-management/actions.d.ts +24 -0
  334. package/dist/document-models/resource-template/gen/service-management/actions.d.ts.map +1 -0
  335. package/dist/document-models/resource-template/gen/service-management/actions.js +1 -0
  336. package/dist/document-models/resource-template/gen/service-management/creators.d.ts +8 -0
  337. package/dist/document-models/resource-template/gen/service-management/creators.d.ts.map +1 -0
  338. package/dist/document-models/resource-template/gen/service-management/creators.js +7 -0
  339. package/dist/document-models/resource-template/gen/service-management/error.d.ts +52 -0
  340. package/dist/document-models/resource-template/gen/service-management/error.d.ts.map +1 -0
  341. package/dist/document-models/resource-template/gen/service-management/error.js +49 -0
  342. package/dist/document-models/resource-template/gen/service-management/operations.d.ts +11 -0
  343. package/dist/document-models/resource-template/gen/service-management/operations.d.ts.map +1 -0
  344. package/dist/document-models/resource-template/gen/service-management/operations.js +1 -0
  345. package/dist/document-models/resource-template/gen/template-management/actions.d.ts +20 -0
  346. package/dist/document-models/resource-template/gen/template-management/actions.d.ts.map +1 -0
  347. package/dist/document-models/resource-template/gen/template-management/actions.js +1 -0
  348. package/dist/document-models/resource-template/gen/template-management/creators.d.ts +7 -0
  349. package/dist/document-models/resource-template/gen/template-management/creators.d.ts.map +1 -0
  350. package/dist/document-models/resource-template/gen/template-management/creators.js +6 -0
  351. package/dist/document-models/resource-template/gen/template-management/error.d.ts +2 -0
  352. package/dist/document-models/resource-template/gen/template-management/error.d.ts.map +1 -0
  353. package/dist/document-models/resource-template/gen/template-management/error.js +1 -0
  354. package/dist/document-models/resource-template/gen/template-management/operations.d.ts +10 -0
  355. package/dist/document-models/resource-template/gen/template-management/operations.d.ts.map +1 -0
  356. package/dist/document-models/resource-template/gen/template-management/operations.js +1 -0
  357. package/dist/document-models/resource-template/gen/types.d.ts +12 -0
  358. package/dist/document-models/resource-template/gen/types.d.ts.map +1 -0
  359. package/dist/document-models/resource-template/gen/types.js +1 -0
  360. package/dist/document-models/resource-template/gen/utils.d.ts +15 -0
  361. package/dist/document-models/resource-template/gen/utils.d.ts.map +1 -0
  362. package/dist/document-models/resource-template/gen/utils.js +67 -0
  363. package/dist/document-models/resource-template/hooks.d.ts +14 -0
  364. package/dist/document-models/resource-template/hooks.d.ts.map +1 -0
  365. package/dist/document-models/resource-template/hooks.js +26 -0
  366. package/dist/document-models/resource-template/index.d.ts +6 -0
  367. package/dist/document-models/resource-template/index.d.ts.map +1 -0
  368. package/dist/document-models/resource-template/index.js +5 -0
  369. package/dist/document-models/resource-template/module.d.ts +5 -0
  370. package/dist/document-models/resource-template/module.d.ts.map +1 -0
  371. package/dist/document-models/resource-template/module.js +11 -0
  372. package/dist/document-models/resource-template/src/index.d.ts +2 -0
  373. package/dist/document-models/resource-template/src/index.d.ts.map +1 -0
  374. package/dist/document-models/resource-template/src/index.js +1 -0
  375. package/dist/document-models/resource-template/src/reducers/audience-management.d.ts +3 -0
  376. package/dist/document-models/resource-template/src/reducers/audience-management.d.ts.map +1 -0
  377. package/dist/document-models/resource-template/src/reducers/audience-management.js +17 -0
  378. package/dist/document-models/resource-template/src/reducers/content-section-management.d.ts +3 -0
  379. package/dist/document-models/resource-template/src/reducers/content-section-management.d.ts.map +1 -0
  380. package/dist/document-models/resource-template/src/reducers/content-section-management.js +44 -0
  381. package/dist/document-models/resource-template/src/reducers/facet-preset-management.d.ts +59 -0
  382. package/dist/document-models/resource-template/src/reducers/facet-preset-management.d.ts.map +1 -0
  383. package/dist/document-models/resource-template/src/reducers/facet-preset-management.js +52 -0
  384. package/dist/document-models/resource-template/src/reducers/facet-targeting.d.ts +3 -0
  385. package/dist/document-models/resource-template/src/reducers/facet-targeting.d.ts.map +1 -0
  386. package/dist/document-models/resource-template/src/reducers/facet-targeting.js +47 -0
  387. package/dist/document-models/resource-template/src/reducers/option-group-management.d.ts +3 -0
  388. package/dist/document-models/resource-template/src/reducers/option-group-management.d.ts.map +1 -0
  389. package/dist/document-models/resource-template/src/reducers/option-group-management.js +85 -0
  390. package/dist/document-models/resource-template/src/reducers/service-category-management.d.ts +3 -0
  391. package/dist/document-models/resource-template/src/reducers/service-category-management.d.ts.map +1 -0
  392. package/dist/document-models/resource-template/src/reducers/service-category-management.js +10 -0
  393. package/dist/document-models/resource-template/src/reducers/service-management.d.ts +3 -0
  394. package/dist/document-models/resource-template/src/reducers/service-management.d.ts.map +1 -0
  395. package/dist/document-models/resource-template/src/reducers/service-management.js +71 -0
  396. package/dist/document-models/resource-template/src/reducers/template-management.d.ts +3 -0
  397. package/dist/document-models/resource-template/src/reducers/template-management.d.ts.map +1 -0
  398. package/dist/document-models/resource-template/src/reducers/template-management.js +32 -0
  399. package/dist/document-models/resource-template/src/tests/audience-management.test.d.ts +6 -0
  400. package/dist/document-models/resource-template/src/tests/audience-management.test.d.ts.map +1 -0
  401. package/dist/document-models/resource-template/src/tests/audience-management.test.js +29 -0
  402. package/dist/document-models/resource-template/src/tests/document-model.test.d.ts +10 -0
  403. package/dist/document-models/resource-template/src/tests/document-model.test.d.ts.map +1 -0
  404. package/dist/document-models/resource-template/src/tests/document-model.test.js +104 -0
  405. package/dist/document-models/resource-template/src/tests/facet-targeting.test.d.ts +6 -0
  406. package/dist/document-models/resource-template/src/tests/facet-targeting.test.d.ts.map +1 -0
  407. package/dist/document-models/resource-template/src/tests/facet-targeting.test.js +49 -0
  408. package/dist/document-models/resource-template/src/tests/option-group-management.test.d.ts +6 -0
  409. package/dist/document-models/resource-template/src/tests/option-group-management.test.d.ts.map +1 -0
  410. package/dist/document-models/resource-template/src/tests/option-group-management.test.js +39 -0
  411. package/dist/document-models/resource-template/src/tests/service-category-management.test.d.ts +6 -0
  412. package/dist/document-models/resource-template/src/tests/service-category-management.test.d.ts.map +1 -0
  413. package/dist/document-models/resource-template/src/tests/service-category-management.test.js +29 -0
  414. package/dist/document-models/resource-template/src/tests/service-management.test.d.ts +6 -0
  415. package/dist/document-models/resource-template/src/tests/service-management.test.d.ts.map +1 -0
  416. package/dist/document-models/resource-template/src/tests/service-management.test.js +59 -0
  417. package/dist/document-models/resource-template/src/tests/template-management.test.d.ts +6 -0
  418. package/dist/document-models/resource-template/src/tests/template-management.test.d.ts.map +1 -0
  419. package/dist/document-models/resource-template/src/tests/template-management.test.js +49 -0
  420. package/dist/document-models/resource-template/src/utils.d.ts +2 -0
  421. package/dist/document-models/resource-template/src/utils.d.ts.map +1 -0
  422. package/dist/document-models/resource-template/src/utils.js +1 -0
  423. package/dist/document-models/resource-template/tests/audience-management.test.d.ts +2 -0
  424. package/dist/document-models/resource-template/tests/audience-management.test.d.ts.map +1 -0
  425. package/dist/document-models/resource-template/tests/audience-management.test.js +25 -0
  426. package/dist/document-models/resource-template/tests/content-section-management.test.d.ts +2 -0
  427. package/dist/document-models/resource-template/tests/content-section-management.test.d.ts.map +1 -0
  428. package/dist/document-models/resource-template/tests/content-section-management.test.js +45 -0
  429. package/dist/document-models/resource-template/tests/document-model.test.d.ts +10 -0
  430. package/dist/document-models/resource-template/tests/document-model.test.d.ts.map +1 -0
  431. package/dist/document-models/resource-template/tests/document-model.test.js +104 -0
  432. package/dist/document-models/resource-template/tests/facet-targeting.test.d.ts +2 -0
  433. package/dist/document-models/resource-template/tests/facet-targeting.test.d.ts.map +1 -0
  434. package/dist/document-models/resource-template/tests/facet-targeting.test.js +45 -0
  435. package/dist/document-models/resource-template/tests/option-group-management.test.d.ts +2 -0
  436. package/dist/document-models/resource-template/tests/option-group-management.test.d.ts.map +1 -0
  437. package/dist/document-models/resource-template/tests/option-group-management.test.js +75 -0
  438. package/dist/document-models/resource-template/tests/service-category-management.test.d.ts +2 -0
  439. package/dist/document-models/resource-template/tests/service-category-management.test.d.ts.map +1 -0
  440. package/dist/document-models/resource-template/tests/service-category-management.test.js +25 -0
  441. package/dist/document-models/resource-template/tests/service-management.test.d.ts +2 -0
  442. package/dist/document-models/resource-template/tests/service-management.test.d.ts.map +1 -0
  443. package/dist/document-models/resource-template/tests/service-management.test.js +55 -0
  444. package/dist/document-models/resource-template/tests/template-management.test.d.ts +2 -0
  445. package/dist/document-models/resource-template/tests/template-management.test.d.ts.map +1 -0
  446. package/dist/document-models/resource-template/tests/template-management.test.js +45 -0
  447. package/dist/document-models/resource-template/utils.d.ts +14 -0
  448. package/dist/document-models/resource-template/utils.d.ts.map +1 -0
  449. package/dist/document-models/resource-template/utils.js +7 -0
  450. package/dist/document-models/service-offering/actions.d.ts +49 -0
  451. package/dist/document-models/service-offering/actions.d.ts.map +1 -0
  452. package/dist/document-models/service-offering/actions.js +11 -0
  453. package/dist/document-models/service-offering/gen/actions.d.ts +12 -0
  454. package/dist/document-models/service-offering/gen/actions.d.ts.map +1 -0
  455. package/dist/document-models/service-offering/gen/actions.js +5 -0
  456. package/dist/document-models/service-offering/gen/creators.d.ts +11 -0
  457. package/dist/document-models/service-offering/gen/creators.d.ts.map +1 -0
  458. package/dist/document-models/service-offering/gen/creators.js +10 -0
  459. package/dist/document-models/service-offering/gen/document-model.d.ts +3 -0
  460. package/dist/document-models/service-offering/gen/document-model.d.ts.map +1 -0
  461. package/dist/document-models/service-offering/gen/document-model.js +797 -0
  462. package/dist/document-models/service-offering/gen/document-schema.d.ts +89 -0
  463. package/dist/document-models/service-offering/gen/document-schema.d.ts.map +1 -0
  464. package/dist/document-models/service-offering/gen/document-schema.js +33 -0
  465. package/dist/document-models/service-offering/gen/document-type.d.ts +2 -0
  466. package/dist/document-models/service-offering/gen/document-type.d.ts.map +1 -0
  467. package/dist/document-models/service-offering/gen/document-type.js +1 -0
  468. package/dist/document-models/service-offering/gen/index.d.ts +16 -0
  469. package/dist/document-models/service-offering/gen/index.d.ts.map +1 -0
  470. package/dist/document-models/service-offering/gen/index.js +15 -0
  471. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts +52 -0
  472. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts.map +1 -0
  473. package/dist/document-models/service-offering/gen/offering-management/actions.js +1 -0
  474. package/dist/document-models/service-offering/gen/offering-management/creators.d.ts +15 -0
  475. package/dist/document-models/service-offering/gen/offering-management/creators.d.ts.map +1 -0
  476. package/dist/document-models/service-offering/gen/offering-management/creators.js +14 -0
  477. package/dist/document-models/service-offering/gen/offering-management/error.d.ts +54 -0
  478. package/dist/document-models/service-offering/gen/offering-management/error.d.ts.map +1 -0
  479. package/dist/document-models/service-offering/gen/offering-management/error.js +50 -0
  480. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts +18 -0
  481. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts.map +1 -0
  482. package/dist/document-models/service-offering/gen/offering-management/operations.js +1 -0
  483. package/dist/document-models/service-offering/gen/option-group-management/actions.d.ts +16 -0
  484. package/dist/document-models/service-offering/gen/option-group-management/actions.d.ts.map +1 -0
  485. package/dist/document-models/service-offering/gen/option-group-management/actions.js +1 -0
  486. package/dist/document-models/service-offering/gen/option-group-management/creators.d.ts +6 -0
  487. package/dist/document-models/service-offering/gen/option-group-management/creators.d.ts.map +1 -0
  488. package/dist/document-models/service-offering/gen/option-group-management/creators.js +5 -0
  489. package/dist/document-models/service-offering/gen/option-group-management/error.d.ts +28 -0
  490. package/dist/document-models/service-offering/gen/option-group-management/error.d.ts.map +1 -0
  491. package/dist/document-models/service-offering/gen/option-group-management/error.js +23 -0
  492. package/dist/document-models/service-offering/gen/option-group-management/operations.d.ts +9 -0
  493. package/dist/document-models/service-offering/gen/option-group-management/operations.d.ts.map +1 -0
  494. package/dist/document-models/service-offering/gen/option-group-management/operations.js +1 -0
  495. package/dist/document-models/service-offering/gen/ph-factories.d.ts +23 -0
  496. package/dist/document-models/service-offering/gen/ph-factories.d.ts.map +1 -0
  497. package/dist/document-models/service-offering/gen/ph-factories.js +62 -0
  498. package/dist/document-models/service-offering/gen/reducer.d.ts +3 -0
  499. package/dist/document-models/service-offering/gen/reducer.d.ts.map +1 -0
  500. package/dist/document-models/service-offering/gen/reducer.js +202 -0
  501. package/dist/document-models/service-offering/gen/schema/index.d.ts +3 -0
  502. package/dist/document-models/service-offering/gen/schema/index.d.ts.map +1 -0
  503. package/dist/document-models/service-offering/gen/schema/index.js +2 -0
  504. package/dist/document-models/service-offering/gen/schema/types.d.ts +516 -0
  505. package/dist/document-models/service-offering/gen/schema/types.d.ts.map +1 -0
  506. package/dist/document-models/service-offering/gen/schema/types.js +1 -0
  507. package/dist/document-models/service-offering/gen/schema/zod.d.ts +93 -0
  508. package/dist/document-models/service-offering/gen/schema/zod.d.ts.map +1 -0
  509. package/dist/document-models/service-offering/gen/schema/zod.js +500 -0
  510. package/dist/document-models/service-offering/gen/service-group-management/actions.d.ts +20 -0
  511. package/dist/document-models/service-offering/gen/service-group-management/actions.d.ts.map +1 -0
  512. package/dist/document-models/service-offering/gen/service-group-management/actions.js +1 -0
  513. package/dist/document-models/service-offering/gen/service-group-management/creators.d.ts +7 -0
  514. package/dist/document-models/service-offering/gen/service-group-management/creators.d.ts.map +1 -0
  515. package/dist/document-models/service-offering/gen/service-group-management/creators.js +6 -0
  516. package/dist/document-models/service-offering/gen/service-group-management/error.d.ts +35 -0
  517. package/dist/document-models/service-offering/gen/service-group-management/error.d.ts.map +1 -0
  518. package/dist/document-models/service-offering/gen/service-group-management/error.js +30 -0
  519. package/dist/document-models/service-offering/gen/service-group-management/operations.d.ts +10 -0
  520. package/dist/document-models/service-offering/gen/service-group-management/operations.d.ts.map +1 -0
  521. package/dist/document-models/service-offering/gen/service-group-management/operations.js +1 -0
  522. package/dist/document-models/service-offering/gen/service-management/actions.d.ts +24 -0
  523. package/dist/document-models/service-offering/gen/service-management/actions.d.ts.map +1 -0
  524. package/dist/document-models/service-offering/gen/service-management/actions.js +1 -0
  525. package/dist/document-models/service-offering/gen/service-management/creators.d.ts +8 -0
  526. package/dist/document-models/service-offering/gen/service-management/creators.d.ts.map +1 -0
  527. package/dist/document-models/service-offering/gen/service-management/creators.js +7 -0
  528. package/dist/document-models/service-offering/gen/service-management/error.d.ts +52 -0
  529. package/dist/document-models/service-offering/gen/service-management/error.d.ts.map +1 -0
  530. package/dist/document-models/service-offering/gen/service-management/error.js +49 -0
  531. package/dist/document-models/service-offering/gen/service-management/operations.d.ts +11 -0
  532. package/dist/document-models/service-offering/gen/service-management/operations.d.ts.map +1 -0
  533. package/dist/document-models/service-offering/gen/service-management/operations.js +1 -0
  534. package/dist/document-models/service-offering/gen/tier-management/actions.d.ts +56 -0
  535. package/dist/document-models/service-offering/gen/tier-management/actions.d.ts.map +1 -0
  536. package/dist/document-models/service-offering/gen/tier-management/actions.js +1 -0
  537. package/dist/document-models/service-offering/gen/tier-management/creators.d.ts +16 -0
  538. package/dist/document-models/service-offering/gen/tier-management/creators.d.ts.map +1 -0
  539. package/dist/document-models/service-offering/gen/tier-management/creators.js +15 -0
  540. package/dist/document-models/service-offering/gen/tier-management/error.d.ts +138 -0
  541. package/dist/document-models/service-offering/gen/tier-management/error.d.ts.map +1 -0
  542. package/dist/document-models/service-offering/gen/tier-management/error.js +162 -0
  543. package/dist/document-models/service-offering/gen/tier-management/operations.d.ts +19 -0
  544. package/dist/document-models/service-offering/gen/tier-management/operations.d.ts.map +1 -0
  545. package/dist/document-models/service-offering/gen/tier-management/operations.js +1 -0
  546. package/dist/document-models/service-offering/gen/types.d.ts +12 -0
  547. package/dist/document-models/service-offering/gen/types.d.ts.map +1 -0
  548. package/dist/document-models/service-offering/gen/types.js +1 -0
  549. package/dist/document-models/service-offering/gen/utils.d.ts +15 -0
  550. package/dist/document-models/service-offering/gen/utils.d.ts.map +1 -0
  551. package/dist/document-models/service-offering/gen/utils.js +66 -0
  552. package/dist/document-models/service-offering/hooks.d.ts +14 -0
  553. package/dist/document-models/service-offering/hooks.d.ts.map +1 -0
  554. package/dist/document-models/service-offering/hooks.js +25 -0
  555. package/dist/document-models/service-offering/index.d.ts +6 -0
  556. package/dist/document-models/service-offering/index.d.ts.map +1 -0
  557. package/dist/document-models/service-offering/index.js +5 -0
  558. package/dist/document-models/service-offering/module.d.ts +5 -0
  559. package/dist/document-models/service-offering/module.d.ts.map +1 -0
  560. package/dist/document-models/service-offering/module.js +11 -0
  561. package/dist/document-models/service-offering/src/index.d.ts +2 -0
  562. package/dist/document-models/service-offering/src/index.d.ts.map +1 -0
  563. package/dist/document-models/service-offering/src/index.js +1 -0
  564. package/dist/document-models/service-offering/src/reducers/offering-management.d.ts +3 -0
  565. package/dist/document-models/service-offering/src/reducers/offering-management.d.ts.map +1 -0
  566. package/dist/document-models/service-offering/src/reducers/offering-management.js +110 -0
  567. package/dist/document-models/service-offering/src/reducers/option-group-management.d.ts +3 -0
  568. package/dist/document-models/service-offering/src/reducers/option-group-management.d.ts.map +1 -0
  569. package/dist/document-models/service-offering/src/reducers/option-group-management.js +63 -0
  570. package/dist/document-models/service-offering/src/reducers/service-group-management.d.ts +3 -0
  571. package/dist/document-models/service-offering/src/reducers/service-group-management.d.ts.map +1 -0
  572. package/dist/document-models/service-offering/src/reducers/service-group-management.js +63 -0
  573. package/dist/document-models/service-offering/src/reducers/service-management.d.ts +3 -0
  574. package/dist/document-models/service-offering/src/reducers/service-management.d.ts.map +1 -0
  575. package/dist/document-models/service-offering/src/reducers/service-management.js +86 -0
  576. package/dist/document-models/service-offering/src/reducers/tier-management.d.ts +3 -0
  577. package/dist/document-models/service-offering/src/reducers/tier-management.d.ts.map +1 -0
  578. package/dist/document-models/service-offering/src/reducers/tier-management.js +216 -0
  579. package/dist/document-models/service-offering/src/tests/document-model.test.d.ts +10 -0
  580. package/dist/document-models/service-offering/src/tests/document-model.test.d.ts.map +1 -0
  581. package/dist/document-models/service-offering/src/tests/document-model.test.js +104 -0
  582. package/dist/document-models/service-offering/src/tests/offering-management.test.d.ts +6 -0
  583. package/dist/document-models/service-offering/src/tests/offering-management.test.d.ts.map +1 -0
  584. package/dist/document-models/service-offering/src/tests/offering-management.test.js +49 -0
  585. package/dist/document-models/service-offering/src/tests/option-group-management.test.d.ts +6 -0
  586. package/dist/document-models/service-offering/src/tests/option-group-management.test.d.ts.map +1 -0
  587. package/dist/document-models/service-offering/src/tests/option-group-management.test.js +39 -0
  588. package/dist/document-models/service-offering/src/tests/service-management.test.d.ts +6 -0
  589. package/dist/document-models/service-offering/src/tests/service-management.test.d.ts.map +1 -0
  590. package/dist/document-models/service-offering/src/tests/service-management.test.js +59 -0
  591. package/dist/document-models/service-offering/src/tests/tier-management.test.d.ts +6 -0
  592. package/dist/document-models/service-offering/src/tests/tier-management.test.d.ts.map +1 -0
  593. package/dist/document-models/service-offering/src/tests/tier-management.test.js +109 -0
  594. package/dist/document-models/service-offering/src/utils.d.ts +2 -0
  595. package/dist/document-models/service-offering/src/utils.d.ts.map +1 -0
  596. package/dist/document-models/service-offering/src/utils.js +1 -0
  597. package/dist/document-models/service-offering/tests/document-model.test.d.ts +10 -0
  598. package/dist/document-models/service-offering/tests/document-model.test.d.ts.map +1 -0
  599. package/dist/document-models/service-offering/tests/document-model.test.js +104 -0
  600. package/dist/document-models/service-offering/tests/offering-management.test.d.ts +2 -0
  601. package/dist/document-models/service-offering/tests/offering-management.test.d.ts.map +1 -0
  602. package/dist/document-models/service-offering/tests/offering-management.test.js +125 -0
  603. package/dist/document-models/service-offering/tests/option-group-management.test.d.ts +2 -0
  604. package/dist/document-models/service-offering/tests/option-group-management.test.d.ts.map +1 -0
  605. package/dist/document-models/service-offering/tests/option-group-management.test.js +35 -0
  606. package/dist/document-models/service-offering/tests/service-group-management.test.d.ts +2 -0
  607. package/dist/document-models/service-offering/tests/service-group-management.test.d.ts.map +1 -0
  608. package/dist/document-models/service-offering/tests/service-group-management.test.js +45 -0
  609. package/dist/document-models/service-offering/tests/service-management.test.d.ts +2 -0
  610. package/dist/document-models/service-offering/tests/service-management.test.d.ts.map +1 -0
  611. package/dist/document-models/service-offering/tests/service-management.test.js +55 -0
  612. package/dist/document-models/service-offering/tests/tier-management.test.d.ts +2 -0
  613. package/dist/document-models/service-offering/tests/tier-management.test.d.ts.map +1 -0
  614. package/dist/document-models/service-offering/tests/tier-management.test.js +135 -0
  615. package/dist/document-models/service-offering/utils.d.ts +14 -0
  616. package/dist/document-models/service-offering/utils.d.ts.map +1 -0
  617. package/dist/document-models/service-offering/utils.js +7 -0
  618. package/dist/document-models/service-subscription/actions.d.ts +24 -0
  619. package/dist/document-models/service-subscription/actions.d.ts.map +1 -0
  620. package/dist/document-models/service-subscription/actions.js +11 -0
  621. package/dist/document-models/service-subscription/gen/actions.d.ts +12 -0
  622. package/dist/document-models/service-subscription/gen/actions.d.ts.map +1 -0
  623. package/dist/document-models/service-subscription/gen/actions.js +5 -0
  624. package/dist/document-models/service-subscription/gen/add-on-management/actions.d.ts +12 -0
  625. package/dist/document-models/service-subscription/gen/add-on-management/actions.d.ts.map +1 -0
  626. package/dist/document-models/service-subscription/gen/add-on-management/actions.js +1 -0
  627. package/dist/document-models/service-subscription/gen/add-on-management/creators.d.ts +5 -0
  628. package/dist/document-models/service-subscription/gen/add-on-management/creators.d.ts.map +1 -0
  629. package/dist/document-models/service-subscription/gen/add-on-management/creators.js +4 -0
  630. package/dist/document-models/service-subscription/gen/add-on-management/error.d.ts +21 -0
  631. package/dist/document-models/service-subscription/gen/add-on-management/error.d.ts.map +1 -0
  632. package/dist/document-models/service-subscription/gen/add-on-management/error.js +16 -0
  633. package/dist/document-models/service-subscription/gen/add-on-management/operations.d.ts +8 -0
  634. package/dist/document-models/service-subscription/gen/add-on-management/operations.d.ts.map +1 -0
  635. package/dist/document-models/service-subscription/gen/add-on-management/operations.js +1 -0
  636. package/dist/document-models/service-subscription/gen/billing-projection/actions.d.ts +12 -0
  637. package/dist/document-models/service-subscription/gen/billing-projection/actions.d.ts.map +1 -0
  638. package/dist/document-models/service-subscription/gen/billing-projection/actions.js +1 -0
  639. package/dist/document-models/service-subscription/gen/billing-projection/creators.d.ts +5 -0
  640. package/dist/document-models/service-subscription/gen/billing-projection/creators.d.ts.map +1 -0
  641. package/dist/document-models/service-subscription/gen/billing-projection/creators.js +4 -0
  642. package/dist/document-models/service-subscription/gen/billing-projection/error.d.ts +2 -0
  643. package/dist/document-models/service-subscription/gen/billing-projection/error.d.ts.map +1 -0
  644. package/dist/document-models/service-subscription/gen/billing-projection/error.js +1 -0
  645. package/dist/document-models/service-subscription/gen/billing-projection/operations.d.ts +8 -0
  646. package/dist/document-models/service-subscription/gen/billing-projection/operations.d.ts.map +1 -0
  647. package/dist/document-models/service-subscription/gen/billing-projection/operations.js +1 -0
  648. package/dist/document-models/service-subscription/gen/creators.d.ts +11 -0
  649. package/dist/document-models/service-subscription/gen/creators.d.ts.map +1 -0
  650. package/dist/document-models/service-subscription/gen/creators.js +10 -0
  651. package/dist/document-models/service-subscription/gen/document-model.d.ts +3 -0
  652. package/dist/document-models/service-subscription/gen/document-model.d.ts.map +1 -0
  653. package/dist/document-models/service-subscription/gen/document-model.js +229 -0
  654. package/dist/document-models/service-subscription/gen/document-schema.d.ts +110 -0
  655. package/dist/document-models/service-subscription/gen/document-schema.d.ts.map +1 -0
  656. package/dist/document-models/service-subscription/gen/document-schema.js +33 -0
  657. package/dist/document-models/service-subscription/gen/document-type.d.ts +2 -0
  658. package/dist/document-models/service-subscription/gen/document-type.d.ts.map +1 -0
  659. package/dist/document-models/service-subscription/gen/document-type.js +1 -0
  660. package/dist/document-models/service-subscription/gen/facet-selection/actions.d.ts +12 -0
  661. package/dist/document-models/service-subscription/gen/facet-selection/actions.d.ts.map +1 -0
  662. package/dist/document-models/service-subscription/gen/facet-selection/actions.js +1 -0
  663. package/dist/document-models/service-subscription/gen/facet-selection/creators.d.ts +5 -0
  664. package/dist/document-models/service-subscription/gen/facet-selection/creators.d.ts.map +1 -0
  665. package/dist/document-models/service-subscription/gen/facet-selection/creators.js +4 -0
  666. package/dist/document-models/service-subscription/gen/facet-selection/error.d.ts +2 -0
  667. package/dist/document-models/service-subscription/gen/facet-selection/error.d.ts.map +1 -0
  668. package/dist/document-models/service-subscription/gen/facet-selection/error.js +1 -0
  669. package/dist/document-models/service-subscription/gen/facet-selection/operations.d.ts +8 -0
  670. package/dist/document-models/service-subscription/gen/facet-selection/operations.d.ts.map +1 -0
  671. package/dist/document-models/service-subscription/gen/facet-selection/operations.js +1 -0
  672. package/dist/document-models/service-subscription/gen/index.d.ts +16 -0
  673. package/dist/document-models/service-subscription/gen/index.d.ts.map +1 -0
  674. package/dist/document-models/service-subscription/gen/index.js +15 -0
  675. package/dist/document-models/service-subscription/gen/ph-factories.d.ts +23 -0
  676. package/dist/document-models/service-subscription/gen/ph-factories.d.ts.map +1 -0
  677. package/dist/document-models/service-subscription/gen/ph-factories.js +69 -0
  678. package/dist/document-models/service-subscription/gen/reducer.d.ts +3 -0
  679. package/dist/document-models/service-subscription/gen/reducer.d.ts.map +1 -0
  680. package/dist/document-models/service-subscription/gen/reducer.js +77 -0
  681. package/dist/document-models/service-subscription/gen/schema/index.d.ts +3 -0
  682. package/dist/document-models/service-subscription/gen/schema/index.d.ts.map +1 -0
  683. package/dist/document-models/service-subscription/gen/schema/index.js +2 -0
  684. package/dist/document-models/service-subscription/gen/schema/types.d.ts +260 -0
  685. package/dist/document-models/service-subscription/gen/schema/types.d.ts.map +1 -0
  686. package/dist/document-models/service-subscription/gen/schema/types.js +1 -0
  687. package/dist/document-models/service-subscription/gen/schema/zod.d.ts +38 -0
  688. package/dist/document-models/service-subscription/gen/schema/zod.d.ts.map +1 -0
  689. package/dist/document-models/service-subscription/gen/schema/zod.js +162 -0
  690. package/dist/document-models/service-subscription/gen/subscription-management/actions.d.ts +20 -0
  691. package/dist/document-models/service-subscription/gen/subscription-management/actions.d.ts.map +1 -0
  692. package/dist/document-models/service-subscription/gen/subscription-management/actions.js +1 -0
  693. package/dist/document-models/service-subscription/gen/subscription-management/creators.d.ts +7 -0
  694. package/dist/document-models/service-subscription/gen/subscription-management/creators.d.ts.map +1 -0
  695. package/dist/document-models/service-subscription/gen/subscription-management/creators.js +6 -0
  696. package/dist/document-models/service-subscription/gen/subscription-management/error.d.ts +14 -0
  697. package/dist/document-models/service-subscription/gen/subscription-management/error.d.ts.map +1 -0
  698. package/dist/document-models/service-subscription/gen/subscription-management/error.js +9 -0
  699. package/dist/document-models/service-subscription/gen/subscription-management/operations.d.ts +10 -0
  700. package/dist/document-models/service-subscription/gen/subscription-management/operations.d.ts.map +1 -0
  701. package/dist/document-models/service-subscription/gen/subscription-management/operations.js +1 -0
  702. package/dist/document-models/service-subscription/gen/tier-selection/actions.d.ts +12 -0
  703. package/dist/document-models/service-subscription/gen/tier-selection/actions.d.ts.map +1 -0
  704. package/dist/document-models/service-subscription/gen/tier-selection/actions.js +1 -0
  705. package/dist/document-models/service-subscription/gen/tier-selection/creators.d.ts +5 -0
  706. package/dist/document-models/service-subscription/gen/tier-selection/creators.d.ts.map +1 -0
  707. package/dist/document-models/service-subscription/gen/tier-selection/creators.js +4 -0
  708. package/dist/document-models/service-subscription/gen/tier-selection/error.d.ts +14 -0
  709. package/dist/document-models/service-subscription/gen/tier-selection/error.d.ts.map +1 -0
  710. package/dist/document-models/service-subscription/gen/tier-selection/error.js +9 -0
  711. package/dist/document-models/service-subscription/gen/tier-selection/operations.d.ts +8 -0
  712. package/dist/document-models/service-subscription/gen/tier-selection/operations.d.ts.map +1 -0
  713. package/dist/document-models/service-subscription/gen/tier-selection/operations.js +1 -0
  714. package/dist/document-models/service-subscription/gen/types.d.ts +12 -0
  715. package/dist/document-models/service-subscription/gen/types.d.ts.map +1 -0
  716. package/dist/document-models/service-subscription/gen/types.js +1 -0
  717. package/dist/document-models/service-subscription/gen/utils.d.ts +15 -0
  718. package/dist/document-models/service-subscription/gen/utils.d.ts.map +1 -0
  719. package/dist/document-models/service-subscription/gen/utils.js +73 -0
  720. package/dist/document-models/service-subscription/hooks.d.ts +14 -0
  721. package/dist/document-models/service-subscription/hooks.d.ts.map +1 -0
  722. package/dist/document-models/service-subscription/hooks.js +25 -0
  723. package/dist/document-models/service-subscription/index.d.ts +6 -0
  724. package/dist/document-models/service-subscription/index.d.ts.map +1 -0
  725. package/dist/document-models/service-subscription/index.js +5 -0
  726. package/dist/document-models/service-subscription/module.d.ts +5 -0
  727. package/dist/document-models/service-subscription/module.d.ts.map +1 -0
  728. package/dist/document-models/service-subscription/module.js +11 -0
  729. package/dist/document-models/service-subscription/src/index.d.ts +2 -0
  730. package/dist/document-models/service-subscription/src/index.d.ts.map +1 -0
  731. package/dist/document-models/service-subscription/src/index.js +1 -0
  732. package/dist/document-models/service-subscription/src/reducers/add-on-management.d.ts +3 -0
  733. package/dist/document-models/service-subscription/src/reducers/add-on-management.d.ts.map +1 -0
  734. package/dist/document-models/service-subscription/src/reducers/add-on-management.js +17 -0
  735. package/dist/document-models/service-subscription/src/reducers/billing-projection.d.ts +3 -0
  736. package/dist/document-models/service-subscription/src/reducers/billing-projection.d.ts.map +1 -0
  737. package/dist/document-models/service-subscription/src/reducers/billing-projection.js +17 -0
  738. package/dist/document-models/service-subscription/src/reducers/facet-selection.d.ts +3 -0
  739. package/dist/document-models/service-subscription/src/reducers/facet-selection.d.ts.map +1 -0
  740. package/dist/document-models/service-subscription/src/reducers/facet-selection.js +27 -0
  741. package/dist/document-models/service-subscription/src/reducers/subscription-management.d.ts +3 -0
  742. package/dist/document-models/service-subscription/src/reducers/subscription-management.d.ts.map +1 -0
  743. package/dist/document-models/service-subscription/src/reducers/subscription-management.js +35 -0
  744. package/dist/document-models/service-subscription/src/reducers/tier-selection.d.ts +3 -0
  745. package/dist/document-models/service-subscription/src/reducers/tier-selection.d.ts.map +1 -0
  746. package/dist/document-models/service-subscription/src/reducers/tier-selection.js +15 -0
  747. package/dist/document-models/service-subscription/src/tests/add-on-management.test.d.ts +6 -0
  748. package/dist/document-models/service-subscription/src/tests/add-on-management.test.d.ts.map +1 -0
  749. package/dist/document-models/service-subscription/src/tests/add-on-management.test.js +29 -0
  750. package/dist/document-models/service-subscription/src/tests/document-model.test.d.ts +10 -0
  751. package/dist/document-models/service-subscription/src/tests/document-model.test.d.ts.map +1 -0
  752. package/dist/document-models/service-subscription/src/tests/document-model.test.js +104 -0
  753. package/dist/document-models/service-subscription/src/tests/facet-selection.test.d.ts +6 -0
  754. package/dist/document-models/service-subscription/src/tests/facet-selection.test.d.ts.map +1 -0
  755. package/dist/document-models/service-subscription/src/tests/facet-selection.test.js +29 -0
  756. package/dist/document-models/service-subscription/src/tests/subscription-management.test.d.ts +6 -0
  757. package/dist/document-models/service-subscription/src/tests/subscription-management.test.d.ts.map +1 -0
  758. package/dist/document-models/service-subscription/src/tests/subscription-management.test.js +49 -0
  759. package/dist/document-models/service-subscription/src/tests/tier-selection.test.d.ts +6 -0
  760. package/dist/document-models/service-subscription/src/tests/tier-selection.test.d.ts.map +1 -0
  761. package/dist/document-models/service-subscription/src/tests/tier-selection.test.js +29 -0
  762. package/dist/document-models/service-subscription/src/utils.d.ts +2 -0
  763. package/dist/document-models/service-subscription/src/utils.d.ts.map +1 -0
  764. package/dist/document-models/service-subscription/src/utils.js +1 -0
  765. package/dist/document-models/service-subscription/tests/add-on-management.test.d.ts +2 -0
  766. package/dist/document-models/service-subscription/tests/add-on-management.test.d.ts.map +1 -0
  767. package/dist/document-models/service-subscription/tests/add-on-management.test.js +25 -0
  768. package/dist/document-models/service-subscription/tests/billing-projection.test.d.ts +2 -0
  769. package/dist/document-models/service-subscription/tests/billing-projection.test.d.ts.map +1 -0
  770. package/dist/document-models/service-subscription/tests/billing-projection.test.js +25 -0
  771. package/dist/document-models/service-subscription/tests/document-model.test.d.ts +10 -0
  772. package/dist/document-models/service-subscription/tests/document-model.test.d.ts.map +1 -0
  773. package/dist/document-models/service-subscription/tests/document-model.test.js +104 -0
  774. package/dist/document-models/service-subscription/tests/facet-selection.test.d.ts +2 -0
  775. package/dist/document-models/service-subscription/tests/facet-selection.test.d.ts.map +1 -0
  776. package/dist/document-models/service-subscription/tests/facet-selection.test.js +25 -0
  777. package/dist/document-models/service-subscription/tests/subscription-management.test.d.ts +2 -0
  778. package/dist/document-models/service-subscription/tests/subscription-management.test.d.ts.map +1 -0
  779. package/dist/document-models/service-subscription/tests/subscription-management.test.js +45 -0
  780. package/dist/document-models/service-subscription/tests/tier-selection.test.d.ts +2 -0
  781. package/dist/document-models/service-subscription/tests/tier-selection.test.d.ts.map +1 -0
  782. package/dist/document-models/service-subscription/tests/tier-selection.test.js +25 -0
  783. package/dist/document-models/service-subscription/utils.d.ts +14 -0
  784. package/dist/document-models/service-subscription/utils.d.ts.map +1 -0
  785. package/dist/document-models/service-subscription/utils.js +7 -0
  786. package/dist/document-models/subscription-instance/actions.d.ts +48 -0
  787. package/dist/document-models/subscription-instance/actions.d.ts.map +1 -0
  788. package/dist/document-models/subscription-instance/actions.js +11 -0
  789. package/dist/document-models/subscription-instance/gen/actions.d.ts +12 -0
  790. package/dist/document-models/subscription-instance/gen/actions.d.ts.map +1 -0
  791. package/dist/document-models/subscription-instance/gen/actions.js +5 -0
  792. package/dist/document-models/subscription-instance/gen/billing/actions.d.ts +2 -0
  793. package/dist/document-models/subscription-instance/gen/billing/actions.d.ts.map +1 -0
  794. package/dist/document-models/subscription-instance/gen/billing/actions.js +2 -0
  795. package/dist/document-models/subscription-instance/gen/billing/creators.d.ts +2 -0
  796. package/dist/document-models/subscription-instance/gen/billing/creators.d.ts.map +1 -0
  797. package/dist/document-models/subscription-instance/gen/billing/creators.js +2 -0
  798. package/dist/document-models/subscription-instance/gen/billing/error.d.ts +2 -0
  799. package/dist/document-models/subscription-instance/gen/billing/error.d.ts.map +1 -0
  800. package/dist/document-models/subscription-instance/gen/billing/error.js +1 -0
  801. package/dist/document-models/subscription-instance/gen/billing/operations.d.ts +2 -0
  802. package/dist/document-models/subscription-instance/gen/billing/operations.d.ts.map +1 -0
  803. package/dist/document-models/subscription-instance/gen/billing/operations.js +2 -0
  804. package/dist/document-models/subscription-instance/gen/creators.d.ts +11 -0
  805. package/dist/document-models/subscription-instance/gen/creators.d.ts.map +1 -0
  806. package/dist/document-models/subscription-instance/gen/creators.js +10 -0
  807. package/dist/document-models/subscription-instance/gen/customer/actions.d.ts +12 -0
  808. package/dist/document-models/subscription-instance/gen/customer/actions.d.ts.map +1 -0
  809. package/dist/document-models/subscription-instance/gen/customer/actions.js +1 -0
  810. package/dist/document-models/subscription-instance/gen/customer/creators.d.ts +5 -0
  811. package/dist/document-models/subscription-instance/gen/customer/creators.d.ts.map +1 -0
  812. package/dist/document-models/subscription-instance/gen/customer/creators.js +4 -0
  813. package/dist/document-models/subscription-instance/gen/customer/error.d.ts +2 -0
  814. package/dist/document-models/subscription-instance/gen/customer/error.d.ts.map +1 -0
  815. package/dist/document-models/subscription-instance/gen/customer/error.js +1 -0
  816. package/dist/document-models/subscription-instance/gen/customer/operations.d.ts +8 -0
  817. package/dist/document-models/subscription-instance/gen/customer/operations.d.ts.map +1 -0
  818. package/dist/document-models/subscription-instance/gen/customer/operations.js +1 -0
  819. package/dist/document-models/subscription-instance/gen/document-model.d.ts +3 -0
  820. package/dist/document-models/subscription-instance/gen/document-model.d.ts.map +1 -0
  821. package/dist/document-models/subscription-instance/gen/document-model.js +461 -0
  822. package/dist/document-models/subscription-instance/gen/document-schema.d.ts +119 -0
  823. package/dist/document-models/subscription-instance/gen/document-schema.d.ts.map +1 -0
  824. package/dist/document-models/subscription-instance/gen/document-schema.js +33 -0
  825. package/dist/document-models/subscription-instance/gen/document-type.d.ts +2 -0
  826. package/dist/document-models/subscription-instance/gen/document-type.d.ts.map +1 -0
  827. package/dist/document-models/subscription-instance/gen/document-type.js +1 -0
  828. package/dist/document-models/subscription-instance/gen/index.d.ts +16 -0
  829. package/dist/document-models/subscription-instance/gen/index.d.ts.map +1 -0
  830. package/dist/document-models/subscription-instance/gen/index.js +15 -0
  831. package/dist/document-models/subscription-instance/gen/metrics/actions.d.ts +28 -0
  832. package/dist/document-models/subscription-instance/gen/metrics/actions.d.ts.map +1 -0
  833. package/dist/document-models/subscription-instance/gen/metrics/actions.js +1 -0
  834. package/dist/document-models/subscription-instance/gen/metrics/creators.d.ts +9 -0
  835. package/dist/document-models/subscription-instance/gen/metrics/creators.d.ts.map +1 -0
  836. package/dist/document-models/subscription-instance/gen/metrics/creators.js +8 -0
  837. package/dist/document-models/subscription-instance/gen/metrics/error.d.ts +2 -0
  838. package/dist/document-models/subscription-instance/gen/metrics/error.d.ts.map +1 -0
  839. package/dist/document-models/subscription-instance/gen/metrics/error.js +1 -0
  840. package/dist/document-models/subscription-instance/gen/metrics/operations.d.ts +12 -0
  841. package/dist/document-models/subscription-instance/gen/metrics/operations.d.ts.map +1 -0
  842. package/dist/document-models/subscription-instance/gen/metrics/operations.js +1 -0
  843. package/dist/document-models/subscription-instance/gen/ph-factories.d.ts +23 -0
  844. package/dist/document-models/subscription-instance/gen/ph-factories.d.ts.map +1 -0
  845. package/dist/document-models/subscription-instance/gen/ph-factories.js +72 -0
  846. package/dist/document-models/subscription-instance/gen/reducer.d.ts +3 -0
  847. package/dist/document-models/subscription-instance/gen/reducer.d.ts.map +1 -0
  848. package/dist/document-models/subscription-instance/gen/reducer.js +197 -0
  849. package/dist/document-models/subscription-instance/gen/schema/index.d.ts +3 -0
  850. package/dist/document-models/subscription-instance/gen/schema/index.d.ts.map +1 -0
  851. package/dist/document-models/subscription-instance/gen/schema/index.js +2 -0
  852. package/dist/document-models/subscription-instance/gen/schema/types.d.ts +423 -0
  853. package/dist/document-models/subscription-instance/gen/schema/types.d.ts.map +1 -0
  854. package/dist/document-models/subscription-instance/gen/schema/types.js +1 -0
  855. package/dist/document-models/subscription-instance/gen/schema/zod.d.ts +81 -0
  856. package/dist/document-models/subscription-instance/gen/schema/zod.d.ts.map +1 -0
  857. package/dist/document-models/subscription-instance/gen/schema/zod.js +395 -0
  858. package/dist/document-models/subscription-instance/gen/service/actions.d.ts +32 -0
  859. package/dist/document-models/subscription-instance/gen/service/actions.d.ts.map +1 -0
  860. package/dist/document-models/subscription-instance/gen/service/actions.js +1 -0
  861. package/dist/document-models/subscription-instance/gen/service/creators.d.ts +10 -0
  862. package/dist/document-models/subscription-instance/gen/service/creators.d.ts.map +1 -0
  863. package/dist/document-models/subscription-instance/gen/service/creators.js +9 -0
  864. package/dist/document-models/subscription-instance/gen/service/error.d.ts +2 -0
  865. package/dist/document-models/subscription-instance/gen/service/error.d.ts.map +1 -0
  866. package/dist/document-models/subscription-instance/gen/service/error.js +1 -0
  867. package/dist/document-models/subscription-instance/gen/service/operations.d.ts +13 -0
  868. package/dist/document-models/subscription-instance/gen/service/operations.d.ts.map +1 -0
  869. package/dist/document-models/subscription-instance/gen/service/operations.js +1 -0
  870. package/dist/document-models/subscription-instance/gen/service-group/actions.d.ts +20 -0
  871. package/dist/document-models/subscription-instance/gen/service-group/actions.d.ts.map +1 -0
  872. package/dist/document-models/subscription-instance/gen/service-group/actions.js +1 -0
  873. package/dist/document-models/subscription-instance/gen/service-group/creators.d.ts +7 -0
  874. package/dist/document-models/subscription-instance/gen/service-group/creators.d.ts.map +1 -0
  875. package/dist/document-models/subscription-instance/gen/service-group/creators.js +6 -0
  876. package/dist/document-models/subscription-instance/gen/service-group/error.d.ts +2 -0
  877. package/dist/document-models/subscription-instance/gen/service-group/error.d.ts.map +1 -0
  878. package/dist/document-models/subscription-instance/gen/service-group/error.js +1 -0
  879. package/dist/document-models/subscription-instance/gen/service-group/operations.d.ts +10 -0
  880. package/dist/document-models/subscription-instance/gen/service-group/operations.d.ts.map +1 -0
  881. package/dist/document-models/subscription-instance/gen/service-group/operations.js +1 -0
  882. package/dist/document-models/subscription-instance/gen/subscription/actions.d.ts +72 -0
  883. package/dist/document-models/subscription-instance/gen/subscription/actions.d.ts.map +1 -0
  884. package/dist/document-models/subscription-instance/gen/subscription/actions.js +1 -0
  885. package/dist/document-models/subscription-instance/gen/subscription/creators.d.ts +20 -0
  886. package/dist/document-models/subscription-instance/gen/subscription/creators.d.ts.map +1 -0
  887. package/dist/document-models/subscription-instance/gen/subscription/creators.js +19 -0
  888. package/dist/document-models/subscription-instance/gen/subscription/error.d.ts +2 -0
  889. package/dist/document-models/subscription-instance/gen/subscription/error.d.ts.map +1 -0
  890. package/dist/document-models/subscription-instance/gen/subscription/error.js +1 -0
  891. package/dist/document-models/subscription-instance/gen/subscription/operations.d.ts +23 -0
  892. package/dist/document-models/subscription-instance/gen/subscription/operations.d.ts.map +1 -0
  893. package/dist/document-models/subscription-instance/gen/subscription/operations.js +1 -0
  894. package/dist/document-models/subscription-instance/gen/types.d.ts +12 -0
  895. package/dist/document-models/subscription-instance/gen/types.d.ts.map +1 -0
  896. package/dist/document-models/subscription-instance/gen/types.js +1 -0
  897. package/dist/document-models/subscription-instance/gen/utils.d.ts +15 -0
  898. package/dist/document-models/subscription-instance/gen/utils.d.ts.map +1 -0
  899. package/dist/document-models/subscription-instance/gen/utils.js +76 -0
  900. package/dist/document-models/subscription-instance/hooks.d.ts +14 -0
  901. package/dist/document-models/subscription-instance/hooks.d.ts.map +1 -0
  902. package/dist/document-models/subscription-instance/hooks.js +25 -0
  903. package/dist/document-models/subscription-instance/index.d.ts +6 -0
  904. package/dist/document-models/subscription-instance/index.d.ts.map +1 -0
  905. package/dist/document-models/subscription-instance/index.js +5 -0
  906. package/dist/document-models/subscription-instance/module.d.ts +5 -0
  907. package/dist/document-models/subscription-instance/module.d.ts.map +1 -0
  908. package/dist/document-models/subscription-instance/module.js +11 -0
  909. package/dist/document-models/subscription-instance/src/index.d.ts +2 -0
  910. package/dist/document-models/subscription-instance/src/index.d.ts.map +1 -0
  911. package/dist/document-models/subscription-instance/src/index.js +1 -0
  912. package/dist/document-models/subscription-instance/src/reducers/billing.d.ts +2 -0
  913. package/dist/document-models/subscription-instance/src/reducers/billing.d.ts.map +1 -0
  914. package/dist/document-models/subscription-instance/src/reducers/billing.js +4 -0
  915. package/dist/document-models/subscription-instance/src/reducers/customer.d.ts +3 -0
  916. package/dist/document-models/subscription-instance/src/reducers/customer.d.ts.map +1 -0
  917. package/dist/document-models/subscription-instance/src/reducers/customer.js +13 -0
  918. package/dist/document-models/subscription-instance/src/reducers/metrics.d.ts +3 -0
  919. package/dist/document-models/subscription-instance/src/reducers/metrics.d.ts.map +1 -0
  920. package/dist/document-models/subscription-instance/src/reducers/metrics.js +90 -0
  921. package/dist/document-models/subscription-instance/src/reducers/requests.d.ts +2 -0
  922. package/dist/document-models/subscription-instance/src/reducers/requests.d.ts.map +1 -0
  923. package/dist/document-models/subscription-instance/src/reducers/requests.js +3 -0
  924. package/dist/document-models/subscription-instance/src/reducers/service-group.d.ts +3 -0
  925. package/dist/document-models/subscription-instance/src/reducers/service-group.d.ts.map +1 -0
  926. package/dist/document-models/subscription-instance/src/reducers/service-group.js +62 -0
  927. package/dist/document-models/subscription-instance/src/reducers/service.d.ts +3 -0
  928. package/dist/document-models/subscription-instance/src/reducers/service.d.ts.map +1 -0
  929. package/dist/document-models/subscription-instance/src/reducers/service.js +110 -0
  930. package/dist/document-models/subscription-instance/src/reducers/subscription.d.ts +3 -0
  931. package/dist/document-models/subscription-instance/src/reducers/subscription.d.ts.map +1 -0
  932. package/dist/document-models/subscription-instance/src/reducers/subscription.js +107 -0
  933. package/dist/document-models/subscription-instance/src/utils.d.ts +2 -0
  934. package/dist/document-models/subscription-instance/src/utils.d.ts.map +1 -0
  935. package/dist/document-models/subscription-instance/src/utils.js +1 -0
  936. package/dist/document-models/subscription-instance/tests/billing.test.d.ts +2 -0
  937. package/dist/document-models/subscription-instance/tests/billing.test.d.ts.map +1 -0
  938. package/dist/document-models/subscription-instance/tests/billing.test.js +17 -0
  939. package/dist/document-models/subscription-instance/tests/customer.test.d.ts +2 -0
  940. package/dist/document-models/subscription-instance/tests/customer.test.d.ts.map +1 -0
  941. package/dist/document-models/subscription-instance/tests/customer.test.js +26 -0
  942. package/dist/document-models/subscription-instance/tests/document-model.test.d.ts +10 -0
  943. package/dist/document-models/subscription-instance/tests/document-model.test.d.ts.map +1 -0
  944. package/dist/document-models/subscription-instance/tests/document-model.test.js +104 -0
  945. package/dist/document-models/subscription-instance/tests/metrics.test.d.ts +2 -0
  946. package/dist/document-models/subscription-instance/tests/metrics.test.d.ts.map +1 -0
  947. package/dist/document-models/subscription-instance/tests/metrics.test.js +65 -0
  948. package/dist/document-models/subscription-instance/tests/requests.test.d.ts +2 -0
  949. package/dist/document-models/subscription-instance/tests/requests.test.d.ts.map +1 -0
  950. package/dist/document-models/subscription-instance/tests/requests.test.js +8 -0
  951. package/dist/document-models/subscription-instance/tests/service-group.test.d.ts +2 -0
  952. package/dist/document-models/subscription-instance/tests/service-group.test.d.ts.map +1 -0
  953. package/dist/document-models/subscription-instance/tests/service-group.test.js +45 -0
  954. package/dist/document-models/subscription-instance/tests/service.test.d.ts +2 -0
  955. package/dist/document-models/subscription-instance/tests/service.test.d.ts.map +1 -0
  956. package/dist/document-models/subscription-instance/tests/service.test.js +75 -0
  957. package/dist/document-models/subscription-instance/tests/subscription.test.d.ts +2 -0
  958. package/dist/document-models/subscription-instance/tests/subscription.test.d.ts.map +1 -0
  959. package/dist/document-models/subscription-instance/tests/subscription.test.js +177 -0
  960. package/dist/document-models/subscription-instance/utils.d.ts +14 -0
  961. package/dist/document-models/subscription-instance/utils.d.ts.map +1 -0
  962. package/dist/document-models/subscription-instance/utils.js +7 -0
  963. package/dist/editors/editors.d.ts +3 -0
  964. package/dist/editors/editors.d.ts.map +1 -0
  965. package/dist/editors/editors.js +10 -0
  966. package/dist/editors/index.d.ts +5 -0
  967. package/dist/editors/index.d.ts.map +1 -0
  968. package/dist/editors/index.js +4 -0
  969. package/dist/editors/resource-instance-editor/editor.d.ts +2 -0
  970. package/dist/editors/resource-instance-editor/editor.d.ts.map +1 -0
  971. package/dist/editors/resource-instance-editor/editor.js +1234 -0
  972. package/dist/editors/resource-instance-editor/module.d.ts +4 -0
  973. package/dist/editors/resource-instance-editor/module.d.ts.map +1 -0
  974. package/dist/editors/resource-instance-editor/module.js +10 -0
  975. package/dist/editors/resource-instance-editor/types.d.ts +2 -0
  976. package/dist/editors/resource-instance-editor/types.d.ts.map +1 -0
  977. package/dist/editors/resource-instance-editor/types.js +1 -0
  978. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts +9 -0
  979. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts.map +1 -0
  980. package/dist/editors/resource-template-editor/components/FacetTargeting.js +958 -0
  981. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts +9 -0
  982. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts.map +1 -0
  983. package/dist/editors/resource-template-editor/components/TemplateInfo.js +2175 -0
  984. package/dist/editors/resource-template-editor/components/markdown-editor.d.ts +12 -0
  985. package/dist/editors/resource-template-editor/components/markdown-editor.d.ts.map +1 -0
  986. package/dist/editors/resource-template-editor/components/markdown-editor.js +132 -0
  987. package/dist/editors/resource-template-editor/editor.d.ts +2 -0
  988. package/dist/editors/resource-template-editor/editor.d.ts.map +1 -0
  989. package/dist/editors/resource-template-editor/editor.js +146 -0
  990. package/dist/editors/resource-template-editor/module.d.ts +4 -0
  991. package/dist/editors/resource-template-editor/module.d.ts.map +1 -0
  992. package/dist/editors/resource-template-editor/module.js +10 -0
  993. package/dist/editors/service-offering-editor/components/EditName.d.ts +3 -0
  994. package/dist/editors/service-offering-editor/components/EditName.d.ts.map +1 -0
  995. package/dist/editors/service-offering-editor/components/EditName.js +31 -0
  996. package/dist/editors/service-offering-editor/components/MarkdownPreview.d.ts +8 -0
  997. package/dist/editors/service-offering-editor/components/MarkdownPreview.d.ts.map +1 -0
  998. package/dist/editors/service-offering-editor/components/MarkdownPreview.js +87 -0
  999. package/dist/editors/service-offering-editor/components/OfferingInfo.d.ts +9 -0
  1000. package/dist/editors/service-offering-editor/components/OfferingInfo.d.ts.map +1 -0
  1001. package/dist/editors/service-offering-editor/components/OfferingInfo.js +62 -0
  1002. package/dist/editors/service-offering-editor/components/OfferingProgress.d.ts +10 -0
  1003. package/dist/editors/service-offering-editor/components/OfferingProgress.d.ts.map +1 -0
  1004. package/dist/editors/service-offering-editor/components/OfferingProgress.js +240 -0
  1005. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts +9 -0
  1006. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts.map +1 -0
  1007. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.js +1158 -0
  1008. package/dist/editors/service-offering-editor/components/ScopeAndFacets.d.ts +9 -0
  1009. package/dist/editors/service-offering-editor/components/ScopeAndFacets.d.ts.map +1 -0
  1010. package/dist/editors/service-offering-editor/components/ScopeAndFacets.js +1025 -0
  1011. package/dist/editors/service-offering-editor/components/ServiceCatalog.d.ts +9 -0
  1012. package/dist/editors/service-offering-editor/components/ServiceCatalog.d.ts.map +1 -0
  1013. package/dist/editors/service-offering-editor/components/ServiceCatalog.js +1704 -0
  1014. package/dist/editors/service-offering-editor/components/ServicesList.d.ts +9 -0
  1015. package/dist/editors/service-offering-editor/components/ServicesList.d.ts.map +1 -0
  1016. package/dist/editors/service-offering-editor/components/ServicesList.js +63 -0
  1017. package/dist/editors/service-offering-editor/components/TabNavigation.d.ts +9 -0
  1018. package/dist/editors/service-offering-editor/components/TabNavigation.d.ts.map +1 -0
  1019. package/dist/editors/service-offering-editor/components/TabNavigation.js +257 -0
  1020. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts +9 -0
  1021. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts.map +1 -0
  1022. package/dist/editors/service-offering-editor/components/TheMatrix.js +2989 -0
  1023. package/dist/editors/service-offering-editor/components/TierDefinition.d.ts +9 -0
  1024. package/dist/editors/service-offering-editor/components/TierDefinition.d.ts.map +1 -0
  1025. package/dist/editors/service-offering-editor/components/TierDefinition.js +1013 -0
  1026. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.d.ts +11 -0
  1027. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.d.ts.map +1 -0
  1028. package/dist/editors/service-offering-editor/components/TierPricingOptionsPanel.js +391 -0
  1029. package/dist/editors/service-offering-editor/components/TiersList.d.ts +9 -0
  1030. package/dist/editors/service-offering-editor/components/TiersList.d.ts.map +1 -0
  1031. package/dist/editors/service-offering-editor/components/TiersList.js +133 -0
  1032. package/dist/editors/service-offering-editor/components/pricing-utils.d.ts +10 -0
  1033. package/dist/editors/service-offering-editor/components/pricing-utils.d.ts.map +1 -0
  1034. package/dist/editors/service-offering-editor/components/pricing-utils.js +65 -0
  1035. package/dist/editors/service-offering-editor/editor.d.ts +2 -0
  1036. package/dist/editors/service-offering-editor/editor.d.ts.map +1 -0
  1037. package/dist/editors/service-offering-editor/editor.js +327 -0
  1038. package/dist/editors/service-offering-editor/module.d.ts +4 -0
  1039. package/dist/editors/service-offering-editor/module.d.ts.map +1 -0
  1040. package/dist/editors/service-offering-editor/module.js +10 -0
  1041. package/dist/editors/subscription-instance-editor/components/BillingPanel.d.ts +11 -0
  1042. package/dist/editors/subscription-instance-editor/components/BillingPanel.d.ts.map +1 -0
  1043. package/dist/editors/subscription-instance-editor/components/BillingPanel.js +118 -0
  1044. package/dist/editors/subscription-instance-editor/components/CustomerInfo.d.ts +11 -0
  1045. package/dist/editors/subscription-instance-editor/components/CustomerInfo.d.ts.map +1 -0
  1046. package/dist/editors/subscription-instance-editor/components/CustomerInfo.js +56 -0
  1047. package/dist/editors/subscription-instance-editor/components/ImportServiceConfigButton.d.ts +9 -0
  1048. package/dist/editors/subscription-instance-editor/components/ImportServiceConfigButton.d.ts.map +1 -0
  1049. package/dist/editors/subscription-instance-editor/components/ImportServiceConfigButton.js +169 -0
  1050. package/dist/editors/subscription-instance-editor/components/MetricActions.d.ts +21 -0
  1051. package/dist/editors/subscription-instance-editor/components/MetricActions.d.ts.map +1 -0
  1052. package/dist/editors/subscription-instance-editor/components/MetricActions.js +74 -0
  1053. package/dist/editors/subscription-instance-editor/components/MockDataButton.d.ts +9 -0
  1054. package/dist/editors/subscription-instance-editor/components/MockDataButton.d.ts.map +1 -0
  1055. package/dist/editors/subscription-instance-editor/components/MockDataButton.js +258 -0
  1056. package/dist/editors/subscription-instance-editor/components/ModeToggle.d.ts +8 -0
  1057. package/dist/editors/subscription-instance-editor/components/ModeToggle.d.ts.map +1 -0
  1058. package/dist/editors/subscription-instance-editor/components/ModeToggle.js +4 -0
  1059. package/dist/editors/subscription-instance-editor/components/OperatorNotes.d.ts +9 -0
  1060. package/dist/editors/subscription-instance-editor/components/OperatorNotes.d.ts.map +1 -0
  1061. package/dist/editors/subscription-instance-editor/components/OperatorNotes.js +17 -0
  1062. package/dist/editors/subscription-instance-editor/components/PendingRequestsPanel.d.ts +9 -0
  1063. package/dist/editors/subscription-instance-editor/components/PendingRequestsPanel.d.ts.map +1 -0
  1064. package/dist/editors/subscription-instance-editor/components/PendingRequestsPanel.js +4 -0
  1065. package/dist/editors/subscription-instance-editor/components/ServicesPanel.d.ts +11 -0
  1066. package/dist/editors/subscription-instance-editor/components/ServicesPanel.d.ts.map +1 -0
  1067. package/dist/editors/subscription-instance-editor/components/ServicesPanel.js +73 -0
  1068. package/dist/editors/subscription-instance-editor/components/StatusBadge.d.ts +7 -0
  1069. package/dist/editors/subscription-instance-editor/components/StatusBadge.d.ts.map +1 -0
  1070. package/dist/editors/subscription-instance-editor/components/StatusBadge.js +26 -0
  1071. package/dist/editors/subscription-instance-editor/components/SubscriptionActions.d.ts +11 -0
  1072. package/dist/editors/subscription-instance-editor/components/SubscriptionActions.d.ts.map +1 -0
  1073. package/dist/editors/subscription-instance-editor/components/SubscriptionActions.js +99 -0
  1074. package/dist/editors/subscription-instance-editor/components/SubscriptionHeader.d.ts +11 -0
  1075. package/dist/editors/subscription-instance-editor/components/SubscriptionHeader.d.ts.map +1 -0
  1076. package/dist/editors/subscription-instance-editor/components/SubscriptionHeader.js +19 -0
  1077. package/dist/editors/subscription-instance-editor/editor.d.ts +2 -0
  1078. package/dist/editors/subscription-instance-editor/editor.d.ts.map +1 -0
  1079. package/dist/editors/subscription-instance-editor/editor.js +1999 -0
  1080. package/dist/editors/subscription-instance-editor/module.d.ts +4 -0
  1081. package/dist/editors/subscription-instance-editor/module.d.ts.map +1 -0
  1082. package/dist/editors/subscription-instance-editor/module.js +10 -0
  1083. package/dist/editors/subscription-instance-editor/types.d.ts +3 -0
  1084. package/dist/editors/subscription-instance-editor/types.d.ts.map +1 -0
  1085. package/dist/editors/subscription-instance-editor/types.js +1 -0
  1086. package/dist/index.d.ts +5 -0
  1087. package/dist/index.d.ts.map +1 -0
  1088. package/dist/index.js +4 -0
  1089. package/dist/powerhouse.manifest.json +39 -0
  1090. package/dist/processors/index.d.ts +2 -0
  1091. package/dist/processors/index.d.ts.map +1 -0
  1092. package/dist/processors/index.js +1 -0
  1093. package/dist/style.css +1431 -0
  1094. package/dist/subgraphs/index.d.ts +2 -0
  1095. package/dist/subgraphs/index.d.ts.map +1 -0
  1096. package/dist/subgraphs/index.js +1 -0
  1097. package/dist/vite.config.d.ts +3 -0
  1098. package/dist/vite.config.d.ts.map +1 -0
  1099. package/dist/vite.config.js +13 -0
  1100. package/package.json +123 -0
@@ -0,0 +1,2175 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect, useRef } from "react";
3
+ import { generateId } from "document-model/core";
4
+ import { updateTemplateInfo, updateTemplateStatus, setOperator, addTargetAudience, removeTargetAudience, setSetupServices, setRecurringServices, addFaq, updateFaq, deleteFaq, reorderFaqs, addContentSection, updateContentSection, deleteContentSection, reorderContentSections, } from "../../../document-models/resource-template/gen/creators.js";
5
+ import { MarkdownEditor } from "./markdown-editor.js";
6
+ const STATUS_OPTIONS = [
7
+ { value: "DRAFT", label: "Draft", color: "slate" },
8
+ { value: "COMING_SOON", label: "Coming Soon", color: "sky" },
9
+ { value: "ACTIVE", label: "Active", color: "emerald" },
10
+ { value: "DEPRECATED", label: "Deprecated", color: "rose" },
11
+ ];
12
+ const AUDIENCE_PRESETS = [
13
+ { label: "Builders", color: "#0ea5e9" },
14
+ { label: "Networks", color: "#10b981" },
15
+ ];
16
+ const SETUP_SERVICE_TEMPLATES = {
17
+ "Legal Services": [
18
+ {
19
+ title: "Swiss association entity",
20
+ description: "Legal entity formation as a Swiss association",
21
+ icon: "🏛️",
22
+ },
23
+ {
24
+ title: "Registered address (Zug)",
25
+ description: "Official registered address in Zug, Switzerland",
26
+ icon: "📍",
27
+ },
28
+ {
29
+ title: "Legal document templates",
30
+ description: "Access to standardized legal document templates",
31
+ icon: "📋",
32
+ },
33
+ ],
34
+ };
35
+ const RECURRING_SERVICE_TEMPLATES = {
36
+ "Operations & Finance": [
37
+ {
38
+ title: "Invoice management",
39
+ description: "Professional invoice processing and management",
40
+ icon: "📄",
41
+ },
42
+ {
43
+ title: "Annual tax filing",
44
+ description: "Yearly tax preparation and filing services",
45
+ icon: "💰",
46
+ },
47
+ {
48
+ title: "Monthly accounting & close",
49
+ description: "Monthly bookkeeping and financial close",
50
+ icon: "📊",
51
+ },
52
+ ],
53
+ "Contributor & Payments": [
54
+ {
55
+ title: "Contributor operations",
56
+ description: "Management of contributor payments and operations",
57
+ icon: "👥",
58
+ },
59
+ {
60
+ title: "Multi-currency payouts",
61
+ description: "Support for payments in multiple currencies",
62
+ icon: "💱",
63
+ },
64
+ {
65
+ title: "Multiple entities",
66
+ description: "Support for managing multiple legal entities",
67
+ icon: "🏢",
68
+ },
69
+ ],
70
+ "Support & Advisory": [
71
+ {
72
+ title: "Dedicated ops support",
73
+ description: "Dedicated operations support team",
74
+ icon: "🎯",
75
+ },
76
+ {
77
+ title: "Dedicated account manager",
78
+ description: "Personal point of contact for all needs",
79
+ icon: "👤",
80
+ },
81
+ ],
82
+ };
83
+ export function TemplateInfo({ document, dispatch }) {
84
+ const { state } = document;
85
+ const globalState = state.global;
86
+ const [formData, setFormData] = useState({
87
+ title: globalState.title || "",
88
+ summary: globalState.summary || "",
89
+ description: globalState.description || "",
90
+ operatorId: globalState.operatorId || "",
91
+ thumbnailUrl: globalState.thumbnailUrl || "",
92
+ infoLink: globalState.infoLink || "",
93
+ status: globalState.status,
94
+ });
95
+ const [newSetupService, setNewSetupService] = useState("");
96
+ const [newRecurringService, setNewRecurringService] = useState("");
97
+ const [newAudienceLabel, setNewAudienceLabel] = useState("");
98
+ const [showAudienceInput, setShowAudienceInput] = useState(false);
99
+ const [showSetupTemplates, setShowSetupTemplates] = useState(false);
100
+ const [showRecurringTemplates, setShowRecurringTemplates] = useState(false);
101
+ const [newFaqQuestion, setNewFaqQuestion] = useState("");
102
+ const [newFaqAnswer, setNewFaqAnswer] = useState("");
103
+ const [editingFaqId, setEditingFaqId] = useState(null);
104
+ const [editingFaqQuestion, setEditingFaqQuestion] = useState("");
105
+ const [editingFaqAnswer, setEditingFaqAnswer] = useState("");
106
+ const [newSectionTitle, setNewSectionTitle] = useState("");
107
+ const [newSectionContent, setNewSectionContent] = useState("");
108
+ const [editingSectionId, setEditingSectionId] = useState(null);
109
+ const [editingSectionTitle, setEditingSectionTitle] = useState("");
110
+ const [editingSectionContent, setEditingSectionContent] = useState("");
111
+ const [expandedSections, setExpandedSections] = useState(new Set());
112
+ const setupServiceInputRef = useRef(null);
113
+ const recurringServiceInputRef = useRef(null);
114
+ useEffect(() => {
115
+ setFormData({
116
+ title: globalState.title || "",
117
+ summary: globalState.summary || "",
118
+ description: globalState.description || "",
119
+ operatorId: globalState.operatorId || "",
120
+ thumbnailUrl: globalState.thumbnailUrl || "",
121
+ infoLink: globalState.infoLink || "",
122
+ status: globalState.status,
123
+ });
124
+ }, [
125
+ globalState.title,
126
+ globalState.summary,
127
+ globalState.description,
128
+ globalState.operatorId,
129
+ globalState.thumbnailUrl,
130
+ globalState.infoLink,
131
+ globalState.status,
132
+ ]);
133
+ const handleFieldChange = (field, value) => {
134
+ setFormData((prev) => ({ ...prev, [field]: value }));
135
+ };
136
+ const handleInfoBlur = () => {
137
+ const changes = {};
138
+ let hasChanges = false;
139
+ if (formData.title !== globalState.title) {
140
+ changes.title = formData.title;
141
+ hasChanges = true;
142
+ }
143
+ if (formData.summary !== globalState.summary) {
144
+ changes.summary = formData.summary;
145
+ hasChanges = true;
146
+ }
147
+ if (formData.description !== (globalState.description || "")) {
148
+ changes.description = formData.description || null;
149
+ hasChanges = true;
150
+ }
151
+ if (formData.thumbnailUrl !== (globalState.thumbnailUrl || "")) {
152
+ changes.thumbnailUrl = formData.thumbnailUrl || null;
153
+ hasChanges = true;
154
+ }
155
+ if (formData.infoLink !== (globalState.infoLink || "")) {
156
+ changes.infoLink = formData.infoLink || null;
157
+ hasChanges = true;
158
+ }
159
+ if (hasChanges) {
160
+ dispatch(updateTemplateInfo({
161
+ ...changes,
162
+ lastModified: new Date().toISOString(),
163
+ }));
164
+ }
165
+ };
166
+ const handleOperatorBlur = () => {
167
+ if (formData.operatorId !== globalState.operatorId) {
168
+ dispatch(setOperator({
169
+ operatorId: formData.operatorId,
170
+ lastModified: new Date().toISOString(),
171
+ }));
172
+ }
173
+ };
174
+ const handleStatusChange = (value) => {
175
+ const status = value;
176
+ setFormData((prev) => ({ ...prev, status }));
177
+ dispatch(updateTemplateStatus({
178
+ status,
179
+ lastModified: new Date().toISOString(),
180
+ }));
181
+ };
182
+ const handleAddAudience = (label, color) => {
183
+ if (!label.trim())
184
+ return;
185
+ dispatch(addTargetAudience({
186
+ id: generateId(),
187
+ label: label.trim(),
188
+ color: color || null,
189
+ lastModified: new Date().toISOString(),
190
+ }));
191
+ setNewAudienceLabel("");
192
+ setShowAudienceInput(false);
193
+ };
194
+ const handleRemoveAudience = (id) => {
195
+ dispatch(removeTargetAudience({
196
+ id,
197
+ lastModified: new Date().toISOString(),
198
+ }));
199
+ };
200
+ const handleAddSetupService = () => {
201
+ if (!newSetupService.trim())
202
+ return;
203
+ const updatedServices = [
204
+ ...globalState.setupServices,
205
+ newSetupService.trim(),
206
+ ];
207
+ dispatch(setSetupServices({
208
+ services: updatedServices,
209
+ lastModified: new Date().toISOString(),
210
+ }));
211
+ setNewSetupService("");
212
+ setupServiceInputRef.current?.focus();
213
+ };
214
+ const handleRemoveSetupService = (index) => {
215
+ const updatedServices = globalState.setupServices.filter((_, i) => i !== index);
216
+ dispatch(setSetupServices({
217
+ services: updatedServices,
218
+ lastModified: new Date().toISOString(),
219
+ }));
220
+ };
221
+ const handleAddRecurringService = () => {
222
+ if (!newRecurringService.trim())
223
+ return;
224
+ const updatedServices = [
225
+ ...globalState.recurringServices,
226
+ newRecurringService.trim(),
227
+ ];
228
+ dispatch(setRecurringServices({
229
+ services: updatedServices,
230
+ lastModified: new Date().toISOString(),
231
+ }));
232
+ setNewRecurringService("");
233
+ recurringServiceInputRef.current?.focus();
234
+ };
235
+ const handleRemoveRecurringService = (index) => {
236
+ const updatedServices = globalState.recurringServices.filter((_, i) => i !== index);
237
+ dispatch(setRecurringServices({
238
+ services: updatedServices,
239
+ lastModified: new Date().toISOString(),
240
+ }));
241
+ };
242
+ const handleAddSetupFromTemplate = (template) => {
243
+ if (globalState.setupServices.includes(template.title))
244
+ return;
245
+ const updatedServices = [...globalState.setupServices, template.title];
246
+ dispatch(setSetupServices({
247
+ services: updatedServices,
248
+ lastModified: new Date().toISOString(),
249
+ }));
250
+ };
251
+ const handleAddRecurringFromTemplate = (template) => {
252
+ if (globalState.recurringServices.includes(template.title))
253
+ return;
254
+ const updatedServices = [...globalState.recurringServices, template.title];
255
+ dispatch(setRecurringServices({
256
+ services: updatedServices,
257
+ lastModified: new Date().toISOString(),
258
+ }));
259
+ };
260
+ const handleMoveSetupService = (index, direction) => {
261
+ const newIndex = direction === "up" ? index - 1 : index + 1;
262
+ if (newIndex < 0 || newIndex >= globalState.setupServices.length)
263
+ return;
264
+ const reorderedServices = [...globalState.setupServices];
265
+ [reorderedServices[index], reorderedServices[newIndex]] = [
266
+ reorderedServices[newIndex],
267
+ reorderedServices[index],
268
+ ];
269
+ dispatch(setSetupServices({
270
+ services: reorderedServices,
271
+ lastModified: new Date().toISOString(),
272
+ }));
273
+ };
274
+ const handleMoveRecurringService = (index, direction) => {
275
+ const newIndex = direction === "up" ? index - 1 : index + 1;
276
+ if (newIndex < 0 || newIndex >= globalState.recurringServices.length)
277
+ return;
278
+ const reorderedServices = [...globalState.recurringServices];
279
+ [reorderedServices[index], reorderedServices[newIndex]] = [
280
+ reorderedServices[newIndex],
281
+ reorderedServices[index],
282
+ ];
283
+ dispatch(setRecurringServices({
284
+ services: reorderedServices,
285
+ lastModified: new Date().toISOString(),
286
+ }));
287
+ };
288
+ // FAQ Handlers
289
+ const faqFields = globalState.faqFields || [];
290
+ const sortedFaqs = [...faqFields].sort((a, b) => a.displayOrder - b.displayOrder);
291
+ const handleAddFaq = () => {
292
+ if (!newFaqQuestion.trim() || !newFaqAnswer.trim())
293
+ return;
294
+ dispatch(addFaq({
295
+ id: generateId(),
296
+ question: newFaqQuestion.trim(),
297
+ answer: newFaqAnswer.trim(),
298
+ displayOrder: faqFields.length,
299
+ }));
300
+ setNewFaqQuestion("");
301
+ setNewFaqAnswer("");
302
+ };
303
+ const handleMoveFaq = (index, direction) => {
304
+ const newIndex = direction === "up" ? index - 1 : index + 1;
305
+ if (newIndex < 0 || newIndex >= sortedFaqs.length)
306
+ return;
307
+ const reorderedIds = sortedFaqs.map((f) => f.id);
308
+ [reorderedIds[index], reorderedIds[newIndex]] = [
309
+ reorderedIds[newIndex],
310
+ reorderedIds[index],
311
+ ];
312
+ dispatch(reorderFaqs({
313
+ faqIds: reorderedIds,
314
+ lastModified: new Date().toISOString(),
315
+ }));
316
+ };
317
+ const handleStartEditFaq = (faq) => {
318
+ setEditingFaqId(faq.id);
319
+ setEditingFaqQuestion(faq.question || "");
320
+ setEditingFaqAnswer(faq.answer || "");
321
+ };
322
+ const handleSaveFaqEdit = () => {
323
+ if (!editingFaqId || !editingFaqQuestion.trim() || !editingFaqAnswer.trim())
324
+ return;
325
+ dispatch(updateFaq({
326
+ id: editingFaqId,
327
+ question: editingFaqQuestion.trim(),
328
+ answer: editingFaqAnswer.trim(),
329
+ }));
330
+ setEditingFaqId(null);
331
+ setEditingFaqQuestion("");
332
+ setEditingFaqAnswer("");
333
+ };
334
+ const handleCancelFaqEdit = () => {
335
+ setEditingFaqId(null);
336
+ setEditingFaqQuestion("");
337
+ setEditingFaqAnswer("");
338
+ };
339
+ const handleDeleteFaq = (id) => {
340
+ dispatch(deleteFaq({
341
+ id,
342
+ }));
343
+ };
344
+ // Content Section Handlers
345
+ const contentSections = globalState.contentSections;
346
+ const sortedSections = [...contentSections].sort((a, b) => a.displayOrder - b.displayOrder);
347
+ const handleAddContentSection = () => {
348
+ if (!newSectionTitle.trim() || !newSectionContent.trim())
349
+ return;
350
+ dispatch(addContentSection({
351
+ id: generateId(),
352
+ title: newSectionTitle.trim(),
353
+ content: newSectionContent.trim(),
354
+ displayOrder: contentSections.length,
355
+ lastModified: new Date().toISOString(),
356
+ }));
357
+ setNewSectionTitle("");
358
+ setNewSectionContent("");
359
+ };
360
+ const handleStartEditSection = (section) => {
361
+ setEditingSectionId(section.id);
362
+ setEditingSectionTitle(section.title);
363
+ setEditingSectionContent(section.content);
364
+ };
365
+ const handleSaveSectionEdit = () => {
366
+ if (!editingSectionId ||
367
+ !editingSectionTitle.trim() ||
368
+ !editingSectionContent.trim())
369
+ return;
370
+ dispatch(updateContentSection({
371
+ id: editingSectionId,
372
+ title: editingSectionTitle.trim(),
373
+ content: editingSectionContent.trim(),
374
+ lastModified: new Date().toISOString(),
375
+ }));
376
+ setEditingSectionId(null);
377
+ setEditingSectionTitle("");
378
+ setEditingSectionContent("");
379
+ };
380
+ const handleCancelSectionEdit = () => {
381
+ setEditingSectionId(null);
382
+ setEditingSectionTitle("");
383
+ setEditingSectionContent("");
384
+ };
385
+ const handleDeleteContentSection = (id) => {
386
+ dispatch(deleteContentSection({
387
+ id,
388
+ lastModified: new Date().toISOString(),
389
+ }));
390
+ };
391
+ const handleMoveSection = (index, direction) => {
392
+ const newIndex = direction === "up" ? index - 1 : index + 1;
393
+ if (newIndex < 0 || newIndex >= sortedSections.length)
394
+ return;
395
+ const reorderedIds = sortedSections.map((s) => s.id);
396
+ [reorderedIds[index], reorderedIds[newIndex]] = [
397
+ reorderedIds[newIndex],
398
+ reorderedIds[index],
399
+ ];
400
+ dispatch(reorderContentSections({
401
+ sectionIds: reorderedIds,
402
+ lastModified: new Date().toISOString(),
403
+ }));
404
+ };
405
+ const toggleSectionExpanded = (id) => {
406
+ setExpandedSections((prev) => {
407
+ const next = new Set(prev);
408
+ if (next.has(id)) {
409
+ next.delete(id);
410
+ }
411
+ else {
412
+ next.add(id);
413
+ }
414
+ return next;
415
+ });
416
+ };
417
+ const currentStatus = STATUS_OPTIONS.find((s) => s.value === formData.status);
418
+ const availablePresets = AUDIENCE_PRESETS.filter((preset) => !globalState.targetAudiences.some((a) => a.label === preset.label));
419
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: styles }), _jsxs("div", { className: "template-editor", children: [_jsxs("section", { className: "template-editor__hero", children: [_jsxs("div", { className: "template-editor__thumbnail-area", children: [_jsxs("div", { className: "template-editor__thumbnail", style: {
420
+ backgroundImage: formData.thumbnailUrl
421
+ ? `url(${formData.thumbnailUrl})`
422
+ : undefined,
423
+ }, children: [!formData.thumbnailUrl && (_jsxs("div", { className: "template-editor__thumbnail-placeholder", children: [_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }), _jsx("path", { d: "M21 15l-5-5L5 21" })] }), _jsx("span", { children: "Add Thumbnail" })] })), formData.thumbnailUrl && (_jsx("div", { className: `template-editor__status-badge template-editor__status-badge--${currentStatus?.color}`, children: currentStatus?.label }))] }), _jsx("div", { className: "template-editor__thumbnail-input", children: _jsx("input", { type: "text", value: formData.thumbnailUrl, onChange: (e) => handleFieldChange("thumbnailUrl", e.target.value), onBlur: handleInfoBlur, placeholder: "https://example.com/image.jpg", className: "template-editor__input template-editor__input--sm" }) })] }), _jsxs("div", { className: "template-editor__identity", children: [_jsxs("div", { className: "template-editor__title-row", children: [_jsx("input", { type: "text", value: formData.title, onChange: (e) => handleFieldChange("title", e.target.value), onBlur: handleInfoBlur, className: "template-editor__title-input", placeholder: "Product Title" }), _jsxs("div", { className: "template-editor__status-select", children: [_jsx("select", { value: formData.status, onChange: (e) => handleStatusChange(e.target.value), className: "template-editor__select", "data-status": currentStatus?.color, children: STATUS_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) }), _jsx("span", { className: `template-editor__status-indicator template-editor__status-indicator--${currentStatus?.color}` })] })] }), _jsxs("div", { className: "template-editor__audiences", children: [globalState.targetAudiences.map((audience) => (_jsxs("span", { className: "template-editor__audience-tag", style: audience.color
424
+ ? {
425
+ backgroundColor: `${audience.color}15`,
426
+ borderColor: `${audience.color}40`,
427
+ color: audience.color,
428
+ }
429
+ : undefined, children: [audience.label, _jsx("button", { type: "button", onClick: () => handleRemoveAudience(audience.id), className: "template-editor__audience-remove", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12", strokeWidth: "2" }) }) })] }, audience.id))), showAudienceInput ? (_jsxs("div", { className: "template-editor__audience-input-wrap", children: [_jsx("input", { type: "text", value: newAudienceLabel, onChange: (e) => setNewAudienceLabel(e.target.value), onKeyDown: (e) => {
430
+ if (e.key === "Enter")
431
+ handleAddAudience(newAudienceLabel);
432
+ if (e.key === "Escape")
433
+ setShowAudienceInput(false);
434
+ }, placeholder: "Audience name...", className: "template-editor__audience-input", autoFocus: true }), _jsx("button", { type: "button", onClick: () => handleAddAudience(newAudienceLabel), className: "template-editor__audience-add-btn", children: "Add" })] })) : (_jsxs("button", { type: "button", onClick: () => setShowAudienceInput(true), className: "template-editor__add-audience-btn", children: [_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M12 5v14M5 12h14", strokeWidth: "2" }) }), "Add Audience"] }))] }), availablePresets.length > 0 && (_jsxs("div", { className: "template-editor__audience-presets", children: [_jsx("span", { className: "template-editor__presets-label", children: "Quick add:" }), availablePresets.slice(0, 4).map((preset) => (_jsx("button", { type: "button", onClick: () => handleAddAudience(preset.label, preset.color), className: "template-editor__preset-btn", style: { color: preset.color }, children: preset.label }, preset.label)))] })), _jsx("textarea", { value: formData.summary, onChange: (e) => handleFieldChange("summary", e.target.value), onBlur: handleInfoBlur, className: "template-editor__summary", placeholder: "Brief summary of your product...", rows: 2 })] })] }), _jsxs("section", { className: "template-editor__card template-editor__card--full", children: [_jsxs("div", { className: "template-editor__card-header", children: [_jsx("div", { className: "template-editor__card-icon template-editor__card-icon--violet", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.75", children: _jsx("path", { d: "M4 6h16M4 12h16M4 18h10" }) }) }), _jsxs("div", { children: [_jsx("h3", { className: "template-editor__card-title", children: "Description" }), _jsx("p", { className: "template-editor__card-subtitle", children: "Detailed description of your product" })] })] }), _jsx(MarkdownEditor, { label: "", height: 350, value: formData.description, onChange: (value) => handleFieldChange("description", value), onBlur: handleInfoBlur })] }), _jsxs("section", { className: "template-editor__card template-editor__card--full", children: [_jsxs("div", { className: "template-editor__card-header", children: [_jsx("div", { className: "template-editor__card-icon template-editor__card-icon--indigo", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.75", children: _jsx("path", { d: "M4 6h16M4 10h16M4 14h10M4 18h6" }) }) }), _jsxs("div", { children: [_jsx("h3", { className: "template-editor__card-title", children: "Expandable Content Sections" }), _jsx("p", { className: "template-editor__card-subtitle", children: "Add long-form article content with expandable titles" })] })] }), _jsx("div", { className: "template-editor__sections-list", children: sortedSections.map((section, index) => (_jsx("div", { className: `template-editor__section-item ${editingSectionId === section.id ? "template-editor__section-item--editing" : ""}`, children: editingSectionId === section.id ? (_jsxs("div", { className: "template-editor__section-edit-form", children: [_jsx("input", { type: "text", value: editingSectionTitle, onChange: (e) => setEditingSectionTitle(e.target.value), className: "template-editor__section-edit-title", placeholder: "Section title", autoFocus: true }), _jsx("textarea", { value: editingSectionContent, onChange: (e) => setEditingSectionContent(e.target.value), className: "template-editor__section-edit-content", placeholder: "Section content...", rows: 6 }), _jsxs("div", { className: "template-editor__section-edit-actions", children: [_jsx("button", { type: "button", onClick: handleSaveSectionEdit, className: "template-editor__section-save-btn", children: "Save" }), _jsx("button", { type: "button", onClick: handleCancelSectionEdit, className: "template-editor__section-cancel-btn", children: "Cancel" })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "template-editor__section-reorder", children: [_jsx("button", { type: "button", onClick: () => handleMoveSection(index, "up"), className: "template-editor__section-reorder-btn", disabled: index === 0, title: "Move up", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M18 15l-6-6-6 6" }) }) }), _jsx("button", { type: "button", onClick: () => handleMoveSection(index, "down"), className: "template-editor__section-reorder-btn", disabled: index === sortedSections.length - 1, title: "Move down", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M6 9l6 6 6-6" }) }) })] }), _jsx("button", { type: "button", onClick: () => toggleSectionExpanded(section.id), className: "template-editor__section-toggle", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: `template-editor__section-chevron ${expandedSections.has(section.id) ? "template-editor__section-chevron--expanded" : ""}`, children: _jsx("path", { d: "M6 9l6 6 6-6" }) }) }), _jsxs("div", { className: "template-editor__section-main", children: [_jsxs("div", { className: "template-editor__section-header", onClick: () => toggleSectionExpanded(section.id), children: [_jsx("span", { className: "template-editor__section-title", children: section.title }), _jsx("span", { className: "template-editor__section-preview", children: section.content.length > 80
435
+ ? `${section.content.substring(0, 80)}...`
436
+ : section.content })] }), expandedSections.has(section.id) && (_jsx("div", { className: "template-editor__section-content", children: section.content }))] }), _jsxs("div", { className: "template-editor__section-actions", children: [_jsx("button", { type: "button", onClick: () => handleStartEditSection(section), className: "template-editor__section-action-btn", title: "Edit section", children: _jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("path", { d: "M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7" }), _jsx("path", { d: "M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z" })] }) }), _jsx("button", { type: "button", onClick: () => handleDeleteContentSection(section.id), className: "template-editor__section-action-btn template-editor__section-action-btn--delete", title: "Delete section", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M3 6h18M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2" }) }) })] })] })) }, section.id))) }), _jsxs("div", { className: "template-editor__section-add-form", children: [_jsx("input", { type: "text", value: newSectionTitle, onChange: (e) => setNewSectionTitle(e.target.value), placeholder: "New section title...", className: "template-editor__section-new-title" }), _jsx("textarea", { value: newSectionContent, onChange: (e) => setNewSectionContent(e.target.value), placeholder: "Section content (long-form article content)...", className: "template-editor__section-new-content", rows: 4 }), (newSectionTitle || newSectionContent) && (_jsxs("button", { type: "button", onClick: handleAddContentSection, className: "template-editor__section-add-btn", disabled: !newSectionTitle.trim() || !newSectionContent.trim(), children: [_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M12 5v14M5 12h14", strokeWidth: "2" }) }), "Add Section"] }))] })] }), _jsxs("section", { className: "template-editor__card template-editor__card--full", children: [_jsxs("div", { className: "template-editor__card-header", children: [_jsx("div", { className: "template-editor__card-icon template-editor__card-icon--sky", children: _jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.75", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3" }), _jsx("path", { d: "M12 17h.01" })] }) }), _jsxs("div", { children: [_jsx("h3", { className: "template-editor__card-title", children: "Frequently Asked Questions" }), _jsx("p", { className: "template-editor__card-subtitle", children: "Common questions and answers about this product" })] })] }), _jsx("div", { className: "template-editor__faq-list", children: sortedFaqs.map((faq, index) => (_jsx("div", { className: `template-editor__faq-item ${editingFaqId === faq.id ? "template-editor__faq-item--editing" : ""}`, children: editingFaqId === faq.id ? (_jsxs("div", { className: "template-editor__faq-edit-form", children: [_jsx("input", { type: "text", value: editingFaqQuestion, onChange: (e) => setEditingFaqQuestion(e.target.value), className: "template-editor__faq-edit-question", placeholder: "Question", autoFocus: true }), _jsx("textarea", { value: editingFaqAnswer, onChange: (e) => setEditingFaqAnswer(e.target.value), className: "template-editor__faq-edit-answer", placeholder: "Answer", rows: 3 }), _jsxs("div", { className: "template-editor__faq-edit-actions", children: [_jsx("button", { type: "button", onClick: handleSaveFaqEdit, className: "template-editor__faq-save-btn", children: "Save" }), _jsx("button", { type: "button", onClick: handleCancelFaqEdit, className: "template-editor__faq-cancel-btn", children: "Cancel" })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "template-editor__faq-reorder", children: [_jsx("button", { type: "button", onClick: () => handleMoveFaq(index, "up"), className: "template-editor__faq-reorder-btn", disabled: index === 0, title: "Move up", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M18 15l-6-6-6 6" }) }) }), _jsx("button", { type: "button", onClick: () => handleMoveFaq(index, "down"), className: "template-editor__faq-reorder-btn", disabled: index === sortedFaqs.length - 1, title: "Move down", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M6 9l6 6 6-6" }) }) })] }), _jsx("div", { className: "template-editor__faq-number", children: index + 1 }), _jsxs("div", { className: "template-editor__faq-content", children: [_jsx("div", { className: "template-editor__faq-question", children: faq.question }), _jsx("div", { className: "template-editor__faq-answer", children: faq.answer })] }), _jsxs("div", { className: "template-editor__faq-actions", children: [_jsx("button", { type: "button", onClick: () => handleStartEditFaq(faq), className: "template-editor__faq-action-btn", title: "Edit FAQ", children: _jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("path", { d: "M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7" }), _jsx("path", { d: "M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z" })] }) }), _jsx("button", { type: "button", onClick: () => handleDeleteFaq(faq.id), className: "template-editor__faq-action-btn template-editor__faq-action-btn--delete", title: "Delete FAQ", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M3 6h18M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2" }) }) })] })] })) }, faq.id))) }), _jsxs("div", { className: "template-editor__faq-add-form", children: [_jsx("input", { type: "text", value: newFaqQuestion, onChange: (e) => setNewFaqQuestion(e.target.value), placeholder: "New question...", className: "template-editor__faq-new-question" }), _jsx("textarea", { value: newFaqAnswer, onChange: (e) => setNewFaqAnswer(e.target.value), placeholder: "Answer to the question...", className: "template-editor__faq-new-answer", rows: 2 }), (newFaqQuestion || newFaqAnswer) && (_jsxs("button", { type: "button", onClick: handleAddFaq, className: "template-editor__faq-add-btn", disabled: !newFaqQuestion.trim() || !newFaqAnswer.trim(), children: [_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M12 5v14M5 12h14", strokeWidth: "2" }) }), "Add FAQ"] }))] })] }), _jsxs("div", { className: "template-editor__section-divider", children: [_jsxs("div", { className: "template-editor__section-badge", children: [_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("path", { d: "M12 2L2 7l10 5 10-5-10-5z" }), _jsx("path", { d: "M2 17l10 5 10-5" }), _jsx("path", { d: "M2 12l10 5 10-5" })] }), "Services Information"] }), _jsx("div", { className: "template-editor__section-divider-line" })] }), _jsxs("div", { className: "template-editor__grid", children: [_jsxs("section", { className: "template-editor__card", children: [_jsxs("div", { className: "template-editor__card-header", children: [_jsx("div", { className: "template-editor__card-icon template-editor__card-icon--emerald", children: _jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.75", children: [_jsx("path", { d: "M12 2L2 7l10 5 10-5-10-5z" }), _jsx("path", { d: "M2 17l10 5 10-5" }), _jsx("path", { d: "M2 12l10 5 10-5" })] }) }), _jsxs("div", { children: [_jsx("h3", { className: "template-editor__card-title", children: "Formation & Setup" }), _jsx("p", { className: "template-editor__card-subtitle", children: "One-time setup services" })] }), _jsxs("button", { type: "button", onClick: () => setShowSetupTemplates(!showSetupTemplates), className: `template-editor__templates-toggle ${showSetupTemplates ? "template-editor__templates-toggle--active" : ""}`, children: [_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z" }) }), "Templates"] })] }), showSetupTemplates && (_jsx("div", { className: "template-editor__templates-panel", children: Object.entries(SETUP_SERVICE_TEMPLATES).map(([category, templates]) => (_jsxs("div", { className: "template-editor__template-category", children: [_jsx("span", { className: "template-editor__template-category-label", children: category }), _jsx("div", { className: "template-editor__template-items", children: templates.map((template) => {
437
+ const isAdded = globalState.setupServices.includes(template.title);
438
+ return (_jsxs("button", { type: "button", onClick: () => handleAddSetupFromTemplate(template), disabled: isAdded, className: `template-editor__template-item ${isAdded ? "template-editor__template-item--added" : ""}`, title: template.description, children: [_jsx("span", { className: "template-editor__template-icon", children: template.icon }), _jsx("span", { className: "template-editor__template-title", children: template.title }), isAdded && (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "template-editor__template-check", children: _jsx("path", { d: "M5 12l5 5L20 7" }) }))] }, template.title));
439
+ }) })] }, category))) })), _jsxs("div", { className: "template-editor__services", children: [globalState.setupServices.map((service, index) => (_jsxs("div", { className: "template-editor__service", children: [_jsxs("div", { className: "template-editor__service-reorder", children: [_jsx("button", { type: "button", onClick: () => handleMoveSetupService(index, "up"), className: "template-editor__service-reorder-btn", disabled: index === 0, title: "Move up", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M18 15l-6-6-6 6" }) }) }), _jsx("button", { type: "button", onClick: () => handleMoveSetupService(index, "down"), className: "template-editor__service-reorder-btn", disabled: index === globalState.setupServices.length - 1, title: "Move down", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M6 9l6 6 6-6" }) }) })] }), _jsx("span", { className: "template-editor__service-bullet" }), _jsx("span", { className: "template-editor__service-text", children: service }), _jsx("button", { type: "button", onClick: () => handleRemoveSetupService(index), className: "template-editor__service-remove", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12", strokeWidth: "2" }) }) })] }, index))), _jsxs("div", { className: "template-editor__add-service", children: [_jsx("span", { className: "template-editor__service-bullet template-editor__service-bullet--ghost" }), _jsx("input", { ref: setupServiceInputRef, type: "text", value: newSetupService, onChange: (e) => setNewSetupService(e.target.value), onKeyDown: (e) => {
440
+ if (e.key === "Enter")
441
+ handleAddSetupService();
442
+ }, placeholder: "Add a setup service...", className: "template-editor__service-new-input" }), newSetupService && (_jsx("button", { type: "button", onClick: handleAddSetupService, className: "template-editor__service-add-btn", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M12 5v14M5 12h14", strokeWidth: "2" }) }) }))] })] })] }), _jsxs("section", { className: "template-editor__card", children: [_jsxs("div", { className: "template-editor__card-header", children: [_jsx("div", { className: "template-editor__card-icon template-editor__card-icon--amber", children: _jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.75", children: [_jsx("path", { d: "M12 8v4l3 3" }), _jsx("circle", { cx: "12", cy: "12", r: "9" })] }) }), _jsxs("div", { children: [_jsx("h3", { className: "template-editor__card-title", children: "Recurring Services" }), _jsx("p", { className: "template-editor__card-subtitle", children: "Ongoing services included" })] }), _jsxs("button", { type: "button", onClick: () => setShowRecurringTemplates(!showRecurringTemplates), className: `template-editor__templates-toggle template-editor__templates-toggle--amber ${showRecurringTemplates ? "template-editor__templates-toggle--active" : ""}`, children: [_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z" }) }), "Templates"] })] }), showRecurringTemplates && (_jsx("div", { className: "template-editor__templates-panel template-editor__templates-panel--amber", children: Object.entries(RECURRING_SERVICE_TEMPLATES).map(([category, templates]) => (_jsxs("div", { className: "template-editor__template-category", children: [_jsx("span", { className: "template-editor__template-category-label", children: category }), _jsx("div", { className: "template-editor__template-items", children: templates.map((template) => {
443
+ const isAdded = globalState.recurringServices.includes(template.title);
444
+ return (_jsxs("button", { type: "button", onClick: () => handleAddRecurringFromTemplate(template), disabled: isAdded, className: `template-editor__template-item template-editor__template-item--amber ${isAdded ? "template-editor__template-item--added" : ""}`, title: template.description, children: [_jsx("span", { className: "template-editor__template-icon", children: template.icon }), _jsx("span", { className: "template-editor__template-title", children: template.title }), isAdded && (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "template-editor__template-check", children: _jsx("path", { d: "M5 12l5 5L20 7" }) }))] }, template.title));
445
+ }) })] }, category))) })), _jsxs("div", { className: "template-editor__services", children: [globalState.recurringServices.map((service, index) => (_jsxs("div", { className: "template-editor__service", children: [_jsxs("div", { className: "template-editor__service-reorder", children: [_jsx("button", { type: "button", onClick: () => handleMoveRecurringService(index, "up"), className: "template-editor__service-reorder-btn", disabled: index === 0, title: "Move up", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M18 15l-6-6-6 6" }) }) }), _jsx("button", { type: "button", onClick: () => handleMoveRecurringService(index, "down"), className: "template-editor__service-reorder-btn", disabled: index === globalState.recurringServices.length - 1, title: "Move down", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M6 9l6 6 6-6" }) }) })] }), _jsx("span", { className: "template-editor__service-bullet template-editor__service-bullet--recurring" }), _jsx("span", { className: "template-editor__service-text", children: service }), _jsx("button", { type: "button", onClick: () => handleRemoveRecurringService(index), className: "template-editor__service-remove", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12", strokeWidth: "2" }) }) })] }, index))), _jsxs("div", { className: "template-editor__add-service", children: [_jsx("span", { className: "template-editor__service-bullet template-editor__service-bullet--ghost" }), _jsx("input", { ref: recurringServiceInputRef, type: "text", value: newRecurringService, onChange: (e) => setNewRecurringService(e.target.value), onKeyDown: (e) => {
446
+ if (e.key === "Enter")
447
+ handleAddRecurringService();
448
+ }, placeholder: "Add a recurring service...", className: "template-editor__service-new-input" }), newRecurringService && (_jsx("button", { type: "button", onClick: handleAddRecurringService, className: "template-editor__service-add-btn", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: _jsx("path", { d: "M12 5v14M5 12h14", strokeWidth: "2" }) }) }))] })] })] })] }), _jsxs("section", { className: "template-editor__metadata", children: [_jsxs("div", { className: "template-editor__meta-field", children: [_jsx("label", { className: "template-editor__label", children: "Operator ID" }), _jsx("input", { type: "text", value: formData.operatorId, onChange: (e) => handleFieldChange("operatorId", e.target.value), onBlur: handleOperatorBlur, className: "template-editor__input template-editor__input--mono", placeholder: "operator-123" })] }), _jsxs("div", { className: "template-editor__meta-field", children: [_jsx("label", { className: "template-editor__label", children: "More Info Link" }), _jsx("input", { type: "text", value: formData.infoLink, onChange: (e) => handleFieldChange("infoLink", e.target.value), onBlur: handleInfoBlur, className: "template-editor__input", placeholder: "https://example.com/more-info" })] })] })] })] }));
449
+ }
450
+ const styles = `
451
+ @import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap');
452
+
453
+ .template-editor {
454
+ --te-font: 'Instrument Sans', system-ui, sans-serif;
455
+ --te-mono: 'DM Mono', 'SF Mono', monospace;
456
+
457
+ --te-ink: #1a1f36;
458
+ --te-ink-light: #4a5578;
459
+ --te-ink-muted: #8792a8;
460
+ --te-surface: #ffffff;
461
+ --te-surface-raised: #fafbfc;
462
+ --te-border: #e4e8f0;
463
+ --te-border-light: #f0f2f7;
464
+
465
+ --te-violet: #7c5cff;
466
+ --te-violet-light: #f4f1ff;
467
+ --te-amber: #f59e0b;
468
+ --te-amber-light: #fef7e6;
469
+ --te-emerald: #10b981;
470
+ --te-emerald-light: #e8faf3;
471
+ --te-sky: #0ea5e9;
472
+ --te-sky-light: #e8f7fc;
473
+ --te-rose: #f43f5e;
474
+ --te-rose-light: #fef1f3;
475
+ --te-slate: #64748b;
476
+ --te-slate-light: #f1f5f9;
477
+ --te-teal: #14b8a6;
478
+ --te-teal-light: #ccfbf1;
479
+
480
+ font-family: var(--te-font);
481
+ display: flex;
482
+ flex-direction: column;
483
+ gap: 24px;
484
+ }
485
+
486
+ /* Hero Section */
487
+ .template-editor__hero {
488
+ display: grid;
489
+ grid-template-columns: 160px 1fr;
490
+ gap: 28px;
491
+ background: var(--te-surface);
492
+ border-radius: 16px;
493
+ padding: 24px;
494
+ box-shadow: 0 1px 3px rgba(26, 31, 54, 0.04), 0 4px 16px rgba(26, 31, 54, 0.06);
495
+ border-left: 4px solid var(--te-teal);
496
+ }
497
+
498
+ .template-editor__thumbnail-area {
499
+ display: flex;
500
+ flex-direction: column;
501
+ gap: 12px;
502
+ }
503
+
504
+ .template-editor__thumbnail {
505
+ width: 160px;
506
+ height: 120px;
507
+ border-radius: 12px;
508
+ background: linear-gradient(135deg, var(--te-border-light) 0%, var(--te-border) 100%);
509
+ background-size: cover;
510
+ background-position: center;
511
+ position: relative;
512
+ overflow: hidden;
513
+ transition: transform 0.2s ease;
514
+ }
515
+
516
+ .template-editor__thumbnail:hover {
517
+ transform: scale(1.02);
518
+ }
519
+
520
+ .template-editor__thumbnail-placeholder {
521
+ position: absolute;
522
+ inset: 0;
523
+ display: flex;
524
+ flex-direction: column;
525
+ align-items: center;
526
+ justify-content: center;
527
+ gap: 8px;
528
+ color: var(--te-ink-muted);
529
+ font-size: 0.75rem;
530
+ font-weight: 500;
531
+ }
532
+
533
+ .template-editor__thumbnail-placeholder svg {
534
+ width: 32px;
535
+ height: 32px;
536
+ opacity: 0.5;
537
+ }
538
+
539
+ .template-editor__status-badge {
540
+ position: absolute;
541
+ top: 8px;
542
+ left: 8px;
543
+ padding: 4px 10px;
544
+ font-size: 0.625rem;
545
+ font-weight: 700;
546
+ text-transform: uppercase;
547
+ letter-spacing: 0.05em;
548
+ border-radius: 100px;
549
+ backdrop-filter: blur(8px);
550
+ }
551
+
552
+ .template-editor__status-badge--emerald {
553
+ background: rgba(16, 185, 129, 0.9);
554
+ color: white;
555
+ }
556
+
557
+ .template-editor__status-badge--sky {
558
+ background: rgba(14, 165, 233, 0.9);
559
+ color: white;
560
+ }
561
+
562
+ .template-editor__status-badge--slate {
563
+ background: rgba(100, 116, 139, 0.9);
564
+ color: white;
565
+ }
566
+
567
+ .template-editor__status-badge--rose {
568
+ background: rgba(244, 63, 94, 0.9);
569
+ color: white;
570
+ }
571
+
572
+ .template-editor__thumbnail-input {
573
+ width: 100%;
574
+ }
575
+
576
+ .template-editor__identity {
577
+ display: flex;
578
+ flex-direction: column;
579
+ gap: 16px;
580
+ }
581
+
582
+ .template-editor__title-row {
583
+ display: flex;
584
+ align-items: center;
585
+ gap: 16px;
586
+ }
587
+
588
+ .template-editor__title-input {
589
+ flex: 1;
590
+ font-family: var(--te-font);
591
+ font-size: 1.75rem;
592
+ font-weight: 700;
593
+ color: var(--te-ink);
594
+ background: transparent;
595
+ border: none;
596
+ outline: none;
597
+ padding: 0;
598
+ letter-spacing: -0.02em;
599
+ }
600
+
601
+ .template-editor__title-input::placeholder {
602
+ color: var(--te-ink-muted);
603
+ }
604
+
605
+ .template-editor__status-select {
606
+ position: relative;
607
+ display: flex;
608
+ align-items: center;
609
+ }
610
+
611
+ .template-editor__select {
612
+ appearance: none;
613
+ font-family: var(--te-font);
614
+ font-size: 0.8125rem;
615
+ font-weight: 600;
616
+ padding: 8px 32px 8px 28px;
617
+ border-radius: 100px;
618
+ border: 1.5px solid var(--te-border);
619
+ background: var(--te-surface-raised);
620
+ color: var(--te-ink-light);
621
+ cursor: pointer;
622
+ transition: all 0.15s ease;
623
+ }
624
+
625
+ .template-editor__select:hover {
626
+ border-color: var(--te-ink-muted);
627
+ }
628
+
629
+ .template-editor__select:focus {
630
+ outline: none;
631
+ border-color: var(--te-teal);
632
+ box-shadow: 0 0 0 3px var(--te-teal-light);
633
+ }
634
+
635
+ .template-editor__status-indicator {
636
+ position: absolute;
637
+ left: 10px;
638
+ width: 8px;
639
+ height: 8px;
640
+ border-radius: 50%;
641
+ pointer-events: none;
642
+ }
643
+
644
+ .template-editor__status-indicator--emerald { background: var(--te-emerald); }
645
+ .template-editor__status-indicator--sky { background: var(--te-sky); }
646
+ .template-editor__status-indicator--slate { background: var(--te-slate); }
647
+ .template-editor__status-indicator--rose { background: var(--te-rose); }
648
+
649
+ /* Audiences */
650
+ .template-editor__audiences {
651
+ display: flex;
652
+ flex-wrap: wrap;
653
+ align-items: center;
654
+ gap: 8px;
655
+ }
656
+
657
+ .template-editor__audience-tag {
658
+ display: inline-flex;
659
+ align-items: center;
660
+ gap: 6px;
661
+ padding: 6px 12px;
662
+ font-size: 0.8125rem;
663
+ font-weight: 600;
664
+ border-radius: 100px;
665
+ background: var(--te-teal-light);
666
+ border: 1px solid rgba(20, 184, 166, 0.2);
667
+ color: var(--te-teal);
668
+ transition: all 0.15s ease;
669
+ }
670
+
671
+ .template-editor__audience-remove {
672
+ display: flex;
673
+ align-items: center;
674
+ justify-content: center;
675
+ width: 16px;
676
+ height: 16px;
677
+ padding: 0;
678
+ background: transparent;
679
+ border: none;
680
+ cursor: pointer;
681
+ opacity: 0.6;
682
+ transition: opacity 0.15s ease;
683
+ }
684
+
685
+ .template-editor__audience-remove:hover {
686
+ opacity: 1;
687
+ }
688
+
689
+ .template-editor__audience-remove svg {
690
+ width: 12px;
691
+ height: 12px;
692
+ }
693
+
694
+ .template-editor__add-audience-btn {
695
+ display: inline-flex;
696
+ align-items: center;
697
+ gap: 4px;
698
+ padding: 6px 12px;
699
+ font-family: var(--te-font);
700
+ font-size: 0.8125rem;
701
+ font-weight: 500;
702
+ color: var(--te-ink-muted);
703
+ background: transparent;
704
+ border: 1.5px dashed var(--te-border);
705
+ border-radius: 100px;
706
+ cursor: pointer;
707
+ transition: all 0.15s ease;
708
+ }
709
+
710
+ .template-editor__add-audience-btn:hover {
711
+ border-color: var(--te-ink-muted);
712
+ color: var(--te-ink-light);
713
+ }
714
+
715
+ .template-editor__add-audience-btn svg {
716
+ width: 14px;
717
+ height: 14px;
718
+ }
719
+
720
+ .template-editor__audience-input-wrap {
721
+ display: flex;
722
+ align-items: center;
723
+ gap: 6px;
724
+ }
725
+
726
+ .template-editor__audience-input {
727
+ width: 140px;
728
+ padding: 6px 12px;
729
+ font-family: var(--te-font);
730
+ font-size: 0.8125rem;
731
+ border: 1.5px solid var(--te-teal);
732
+ border-radius: 100px;
733
+ outline: none;
734
+ background: var(--te-surface);
735
+ }
736
+
737
+ .template-editor__audience-add-btn {
738
+ padding: 6px 12px;
739
+ font-family: var(--te-font);
740
+ font-size: 0.75rem;
741
+ font-weight: 600;
742
+ color: white;
743
+ background: var(--te-teal);
744
+ border: none;
745
+ border-radius: 100px;
746
+ cursor: pointer;
747
+ transition: background 0.15s ease;
748
+ }
749
+
750
+ .template-editor__audience-add-btn:hover {
751
+ background: #0d9488;
752
+ }
753
+
754
+ .template-editor__audience-presets {
755
+ display: flex;
756
+ align-items: center;
757
+ gap: 8px;
758
+ padding-top: 4px;
759
+ }
760
+
761
+ .template-editor__presets-label {
762
+ font-size: 0.75rem;
763
+ color: var(--te-ink-muted);
764
+ }
765
+
766
+ .template-editor__preset-btn {
767
+ font-family: var(--te-font);
768
+ font-size: 0.75rem;
769
+ font-weight: 500;
770
+ padding: 4px 8px;
771
+ background: transparent;
772
+ border: none;
773
+ cursor: pointer;
774
+ opacity: 0.7;
775
+ transition: opacity 0.15s ease;
776
+ }
777
+
778
+ .template-editor__preset-btn:hover {
779
+ opacity: 1;
780
+ }
781
+
782
+ .template-editor__summary {
783
+ width: 100%;
784
+ font-family: var(--te-font);
785
+ font-size: 0.9375rem;
786
+ line-height: 1.6;
787
+ color: var(--te-ink-light);
788
+ background: transparent;
789
+ border: none;
790
+ outline: none;
791
+ resize: none;
792
+ padding: 0;
793
+ }
794
+
795
+ .template-editor__summary::placeholder {
796
+ color: var(--te-ink-muted);
797
+ }
798
+
799
+ /* Section Divider */
800
+ .template-editor__section-divider {
801
+ display: flex;
802
+ align-items: center;
803
+ gap: 16px;
804
+ margin: 8px 0;
805
+ }
806
+
807
+ .template-editor__section-divider-line {
808
+ flex: 1;
809
+ height: 1px;
810
+ background: linear-gradient(90deg, transparent, var(--te-border), transparent);
811
+ }
812
+
813
+ .template-editor__section-badge {
814
+ display: inline-flex;
815
+ align-items: center;
816
+ gap: 8px;
817
+ padding: 10px 20px;
818
+ background: linear-gradient(135deg, var(--te-emerald-light) 0%, var(--te-teal-light) 100%);
819
+ color: var(--te-emerald);
820
+ border-radius: 100px;
821
+ font-size: 0.8125rem;
822
+ font-weight: 600;
823
+ letter-spacing: 0.02em;
824
+ white-space: nowrap;
825
+ }
826
+
827
+ .template-editor__section-badge svg {
828
+ width: 16px;
829
+ height: 16px;
830
+ }
831
+
832
+ /* Grid Cards */
833
+ .template-editor__grid {
834
+ display: grid;
835
+ grid-template-columns: 1fr 1fr;
836
+ gap: 20px;
837
+ }
838
+
839
+ .template-editor__card {
840
+ background: var(--te-surface);
841
+ border-radius: 16px;
842
+ padding: 24px;
843
+ box-shadow: 0 1px 3px rgba(26, 31, 54, 0.04), 0 4px 16px rgba(26, 31, 54, 0.06);
844
+ }
845
+
846
+ .template-editor__card-header {
847
+ display: flex;
848
+ align-items: flex-start;
849
+ gap: 14px;
850
+ margin-bottom: 20px;
851
+ }
852
+
853
+ .template-editor__card-icon {
854
+ width: 40px;
855
+ height: 40px;
856
+ border-radius: 10px;
857
+ display: flex;
858
+ align-items: center;
859
+ justify-content: center;
860
+ flex-shrink: 0;
861
+ }
862
+
863
+ .template-editor__card-icon svg {
864
+ width: 20px;
865
+ height: 20px;
866
+ }
867
+
868
+ .template-editor__card-icon--violet {
869
+ background: var(--te-violet-light);
870
+ color: var(--te-violet);
871
+ }
872
+
873
+ .template-editor__card-icon--amber {
874
+ background: var(--te-amber-light);
875
+ color: var(--te-amber);
876
+ }
877
+
878
+ .template-editor__card-icon--emerald {
879
+ background: var(--te-emerald-light);
880
+ color: var(--te-emerald);
881
+ }
882
+
883
+ .template-editor__card--full {
884
+ grid-column: 1 / -1;
885
+ }
886
+
887
+ .template-editor__card-title {
888
+ font-size: 1rem;
889
+ font-weight: 600;
890
+ color: var(--te-ink);
891
+ margin: 0 0 2px;
892
+ }
893
+
894
+ .template-editor__card-subtitle {
895
+ font-size: 0.8125rem;
896
+ color: var(--te-ink-muted);
897
+ margin: 0;
898
+ }
899
+
900
+ .template-editor__textarea {
901
+ width: 100%;
902
+ font-family: var(--te-font);
903
+ font-size: 0.9375rem;
904
+ line-height: 1.7;
905
+ color: var(--te-ink);
906
+ background: var(--te-surface-raised);
907
+ border: 1.5px solid var(--te-border-light);
908
+ border-radius: 12px;
909
+ padding: 16px;
910
+ resize: vertical;
911
+ transition: all 0.15s ease;
912
+ }
913
+
914
+ .template-editor__textarea:hover {
915
+ border-color: var(--te-border);
916
+ }
917
+
918
+ .template-editor__textarea:focus {
919
+ outline: none;
920
+ border-color: var(--te-teal);
921
+ box-shadow: 0 0 0 3px var(--te-teal-light);
922
+ }
923
+
924
+ .template-editor__textarea::placeholder {
925
+ color: var(--te-ink-muted);
926
+ }
927
+
928
+ /* Services */
929
+ .template-editor__services {
930
+ display: flex;
931
+ flex-direction: column;
932
+ gap: 8px;
933
+ }
934
+
935
+ .template-editor__service {
936
+ display: flex;
937
+ align-items: center;
938
+ gap: 10px;
939
+ padding: 10px 12px;
940
+ background: var(--te-surface-raised);
941
+ border-radius: 8px;
942
+ transition: background 0.15s ease;
943
+ }
944
+
945
+ .template-editor__service:hover {
946
+ background: var(--te-border-light);
947
+ }
948
+
949
+ .template-editor__service-bullet {
950
+ width: 6px;
951
+ height: 6px;
952
+ border-radius: 50%;
953
+ background: var(--te-emerald);
954
+ flex-shrink: 0;
955
+ }
956
+
957
+ .template-editor__service-bullet--recurring {
958
+ background: var(--te-amber);
959
+ }
960
+
961
+ .template-editor__service-bullet--ghost {
962
+ background: var(--te-border);
963
+ }
964
+
965
+ .template-editor__service-text {
966
+ flex: 1;
967
+ font-size: 0.875rem;
968
+ color: var(--te-ink);
969
+ }
970
+
971
+ .template-editor__service-remove {
972
+ display: flex;
973
+ align-items: center;
974
+ justify-content: center;
975
+ width: 24px;
976
+ height: 24px;
977
+ padding: 0;
978
+ background: transparent;
979
+ border: none;
980
+ border-radius: 6px;
981
+ cursor: pointer;
982
+ color: var(--te-ink-muted);
983
+ opacity: 0;
984
+ transition: all 0.15s ease;
985
+ }
986
+
987
+ .template-editor__service:hover .template-editor__service-remove {
988
+ opacity: 1;
989
+ }
990
+
991
+ .template-editor__service-remove:hover {
992
+ background: var(--te-rose-light);
993
+ color: var(--te-rose);
994
+ }
995
+
996
+ .template-editor__service-remove svg {
997
+ width: 14px;
998
+ height: 14px;
999
+ }
1000
+
1001
+ .template-editor__service-reorder {
1002
+ display: flex;
1003
+ flex-direction: column;
1004
+ gap: 2px;
1005
+ opacity: 0;
1006
+ transition: opacity 0.15s ease;
1007
+ }
1008
+
1009
+ .template-editor__service:hover .template-editor__service-reorder {
1010
+ opacity: 1;
1011
+ }
1012
+
1013
+ .template-editor__service-reorder-btn {
1014
+ display: flex;
1015
+ align-items: center;
1016
+ justify-content: center;
1017
+ width: 18px;
1018
+ height: 14px;
1019
+ padding: 0;
1020
+ background: transparent;
1021
+ border: none;
1022
+ border-radius: 3px;
1023
+ cursor: pointer;
1024
+ color: var(--te-ink-muted);
1025
+ transition: all 0.15s ease;
1026
+ }
1027
+
1028
+ .template-editor__service-reorder-btn:hover:not(:disabled) {
1029
+ background: var(--te-emerald-light);
1030
+ color: var(--te-emerald);
1031
+ }
1032
+
1033
+ .template-editor__service-reorder-btn:disabled {
1034
+ opacity: 0.3;
1035
+ cursor: not-allowed;
1036
+ }
1037
+
1038
+ .template-editor__service-reorder-btn svg {
1039
+ width: 12px;
1040
+ height: 12px;
1041
+ }
1042
+
1043
+ .template-editor__add-service {
1044
+ display: flex;
1045
+ align-items: center;
1046
+ gap: 10px;
1047
+ padding: 10px 12px;
1048
+ background: transparent;
1049
+ border: 1.5px dashed var(--te-border);
1050
+ border-radius: 8px;
1051
+ transition: all 0.15s ease;
1052
+ }
1053
+
1054
+ .template-editor__add-service:focus-within {
1055
+ border-color: var(--te-teal);
1056
+ border-style: solid;
1057
+ }
1058
+
1059
+ .template-editor__service-new-input {
1060
+ flex: 1;
1061
+ font-family: var(--te-font);
1062
+ font-size: 0.875rem;
1063
+ background: transparent;
1064
+ border: none;
1065
+ outline: none;
1066
+ color: var(--te-ink);
1067
+ }
1068
+
1069
+ .template-editor__service-new-input::placeholder {
1070
+ color: var(--te-ink-muted);
1071
+ }
1072
+
1073
+ .template-editor__service-add-btn {
1074
+ display: flex;
1075
+ align-items: center;
1076
+ justify-content: center;
1077
+ width: 28px;
1078
+ height: 28px;
1079
+ padding: 0;
1080
+ background: var(--te-teal);
1081
+ border: none;
1082
+ border-radius: 6px;
1083
+ cursor: pointer;
1084
+ color: white;
1085
+ transition: background 0.15s ease;
1086
+ }
1087
+
1088
+ .template-editor__service-add-btn:hover {
1089
+ background: #0d9488;
1090
+ }
1091
+
1092
+ .template-editor__service-add-btn svg {
1093
+ width: 16px;
1094
+ height: 16px;
1095
+ }
1096
+
1097
+ /* Metadata */
1098
+ .template-editor__metadata {
1099
+ display: grid;
1100
+ grid-template-columns: 1fr 1fr;
1101
+ gap: 20px;
1102
+ background: var(--te-surface);
1103
+ border-radius: 16px;
1104
+ padding: 24px;
1105
+ box-shadow: 0 1px 3px rgba(26, 31, 54, 0.04), 0 4px 16px rgba(26, 31, 54, 0.06);
1106
+ }
1107
+
1108
+ .template-editor__meta-field {
1109
+ display: flex;
1110
+ flex-direction: column;
1111
+ gap: 8px;
1112
+ }
1113
+
1114
+ .template-editor__label {
1115
+ font-size: 0.6875rem;
1116
+ font-weight: 700;
1117
+ text-transform: uppercase;
1118
+ letter-spacing: 0.06em;
1119
+ color: var(--te-ink-muted);
1120
+ }
1121
+
1122
+ .template-editor__input {
1123
+ width: 100%;
1124
+ font-family: var(--te-font);
1125
+ font-size: 0.9375rem;
1126
+ padding: 12px 16px;
1127
+ background: var(--te-surface-raised);
1128
+ border: 1.5px solid var(--te-border-light);
1129
+ border-radius: 10px;
1130
+ color: var(--te-ink);
1131
+ transition: all 0.15s ease;
1132
+ }
1133
+
1134
+ .template-editor__input:hover {
1135
+ border-color: var(--te-border);
1136
+ }
1137
+
1138
+ .template-editor__input:focus {
1139
+ outline: none;
1140
+ border-color: var(--te-teal);
1141
+ box-shadow: 0 0 0 3px var(--te-teal-light);
1142
+ }
1143
+
1144
+ .template-editor__input::placeholder {
1145
+ color: var(--te-ink-muted);
1146
+ }
1147
+
1148
+ .template-editor__input--sm {
1149
+ font-size: 0.8125rem;
1150
+ padding: 8px 12px;
1151
+ }
1152
+
1153
+ .template-editor__input--mono {
1154
+ font-family: var(--te-mono);
1155
+ font-size: 0.875rem;
1156
+ }
1157
+
1158
+ /* Facet Targeting */
1159
+ .template-editor__facets {
1160
+ background: var(--te-surface);
1161
+ border-radius: 16px;
1162
+ padding: 24px;
1163
+ box-shadow: 0 1px 3px rgba(26, 31, 54, 0.04), 0 4px 16px rgba(26, 31, 54, 0.06);
1164
+ }
1165
+
1166
+ .template-editor__facets-header {
1167
+ display: flex;
1168
+ align-items: flex-start;
1169
+ gap: 14px;
1170
+ margin-bottom: 20px;
1171
+ }
1172
+
1173
+ .template-editor__card-icon--sky {
1174
+ background: var(--te-sky-light);
1175
+ color: var(--te-sky);
1176
+ }
1177
+
1178
+ .template-editor__facets-grid {
1179
+ display: grid;
1180
+ grid-template-columns: repeat(2, 1fr);
1181
+ gap: 16px;
1182
+ }
1183
+
1184
+ .template-editor__facet-card {
1185
+ background: var(--te-surface-raised);
1186
+ border: 1px solid var(--te-border-light);
1187
+ border-radius: 12px;
1188
+ padding: 16px;
1189
+ transition: border-color 0.15s ease;
1190
+ }
1191
+
1192
+ .template-editor__facet-card:hover {
1193
+ border-color: var(--te-border);
1194
+ }
1195
+
1196
+ .template-editor__facet-header {
1197
+ display: flex;
1198
+ align-items: center;
1199
+ justify-content: space-between;
1200
+ margin-bottom: 6px;
1201
+ }
1202
+
1203
+ .template-editor__facet-label {
1204
+ font-size: 0.875rem;
1205
+ font-weight: 600;
1206
+ color: var(--te-ink);
1207
+ }
1208
+
1209
+ .template-editor__facet-clear {
1210
+ font-family: var(--te-font);
1211
+ font-size: 0.75rem;
1212
+ font-weight: 500;
1213
+ padding: 4px 8px;
1214
+ background: transparent;
1215
+ border: none;
1216
+ color: var(--te-ink-muted);
1217
+ cursor: pointer;
1218
+ transition: color 0.15s ease;
1219
+ }
1220
+
1221
+ .template-editor__facet-clear:hover {
1222
+ color: var(--te-rose);
1223
+ }
1224
+
1225
+ .template-editor__facet-desc {
1226
+ font-size: 0.75rem;
1227
+ color: var(--te-ink-muted);
1228
+ margin: 0 0 12px;
1229
+ }
1230
+
1231
+ .template-editor__facet-options {
1232
+ display: flex;
1233
+ flex-direction: column;
1234
+ gap: 6px;
1235
+ }
1236
+
1237
+ .template-editor__facet-option {
1238
+ display: flex;
1239
+ align-items: center;
1240
+ gap: 10px;
1241
+ padding: 8px 12px;
1242
+ font-family: var(--te-font);
1243
+ font-size: 0.8125rem;
1244
+ color: var(--te-ink-light);
1245
+ background: var(--te-surface);
1246
+ border: 1.5px solid var(--te-border-light);
1247
+ border-radius: 8px;
1248
+ cursor: pointer;
1249
+ transition: all 0.15s ease;
1250
+ }
1251
+
1252
+ .template-editor__facet-option:hover {
1253
+ border-color: var(--te-border);
1254
+ background: var(--te-surface);
1255
+ }
1256
+
1257
+ .template-editor__facet-option--selected {
1258
+ border-color: var(--te-teal);
1259
+ background: var(--te-teal-light);
1260
+ color: var(--te-ink);
1261
+ }
1262
+
1263
+ .template-editor__facet-option--selected:hover {
1264
+ border-color: var(--te-teal);
1265
+ background: var(--te-teal-light);
1266
+ }
1267
+
1268
+ .template-editor__facet-checkbox {
1269
+ display: flex;
1270
+ align-items: center;
1271
+ justify-content: center;
1272
+ width: 18px;
1273
+ height: 18px;
1274
+ border-radius: 4px;
1275
+ background: var(--te-surface);
1276
+ border: 1.5px solid var(--te-border);
1277
+ transition: all 0.15s ease;
1278
+ }
1279
+
1280
+ .template-editor__facet-option--selected .template-editor__facet-checkbox {
1281
+ background: var(--te-teal);
1282
+ border-color: var(--te-teal);
1283
+ }
1284
+
1285
+ .template-editor__facet-checkbox svg {
1286
+ width: 12px;
1287
+ height: 12px;
1288
+ color: white;
1289
+ }
1290
+
1291
+ /* Templates Panel */
1292
+ .template-editor__templates-toggle {
1293
+ display: inline-flex;
1294
+ align-items: center;
1295
+ gap: 6px;
1296
+ margin-left: auto;
1297
+ padding: 6px 12px;
1298
+ font-family: var(--te-font);
1299
+ font-size: 0.75rem;
1300
+ font-weight: 600;
1301
+ color: var(--te-emerald);
1302
+ background: var(--te-emerald-light);
1303
+ border: 1.5px solid transparent;
1304
+ border-radius: 100px;
1305
+ cursor: pointer;
1306
+ transition: all 0.15s ease;
1307
+ }
1308
+
1309
+ .template-editor__templates-toggle svg {
1310
+ width: 14px;
1311
+ height: 14px;
1312
+ }
1313
+
1314
+ .template-editor__templates-toggle:hover {
1315
+ border-color: var(--te-emerald);
1316
+ }
1317
+
1318
+ .template-editor__templates-toggle--active {
1319
+ background: var(--te-emerald);
1320
+ color: white;
1321
+ }
1322
+
1323
+ .template-editor__templates-toggle--amber {
1324
+ color: var(--te-amber);
1325
+ background: var(--te-amber-light);
1326
+ }
1327
+
1328
+ .template-editor__templates-toggle--amber:hover {
1329
+ border-color: var(--te-amber);
1330
+ }
1331
+
1332
+ .template-editor__templates-toggle--amber.template-editor__templates-toggle--active {
1333
+ background: var(--te-amber);
1334
+ color: white;
1335
+ }
1336
+
1337
+ .template-editor__templates-panel {
1338
+ background: var(--te-emerald-light);
1339
+ border: 1px solid rgba(16, 185, 129, 0.2);
1340
+ border-radius: 12px;
1341
+ padding: 16px;
1342
+ margin-bottom: 16px;
1343
+ animation: templatesPanelSlide 0.2s ease-out;
1344
+ }
1345
+
1346
+ .template-editor__templates-panel--amber {
1347
+ background: var(--te-amber-light);
1348
+ border-color: rgba(245, 158, 11, 0.2);
1349
+ }
1350
+
1351
+ @keyframes templatesPanelSlide {
1352
+ from {
1353
+ opacity: 0;
1354
+ transform: translateY(-8px);
1355
+ }
1356
+ to {
1357
+ opacity: 1;
1358
+ transform: translateY(0);
1359
+ }
1360
+ }
1361
+
1362
+ .template-editor__template-category {
1363
+ margin-bottom: 12px;
1364
+ }
1365
+
1366
+ .template-editor__template-category:last-child {
1367
+ margin-bottom: 0;
1368
+ }
1369
+
1370
+ .template-editor__template-category-label {
1371
+ display: block;
1372
+ font-size: 0.6875rem;
1373
+ font-weight: 700;
1374
+ text-transform: uppercase;
1375
+ letter-spacing: 0.05em;
1376
+ color: var(--te-ink-muted);
1377
+ margin-bottom: 8px;
1378
+ }
1379
+
1380
+ .template-editor__template-items {
1381
+ display: flex;
1382
+ flex-wrap: wrap;
1383
+ gap: 6px;
1384
+ }
1385
+
1386
+ .template-editor__template-item {
1387
+ display: inline-flex;
1388
+ align-items: center;
1389
+ gap: 6px;
1390
+ padding: 6px 10px;
1391
+ font-family: var(--te-font);
1392
+ font-size: 0.8125rem;
1393
+ font-weight: 500;
1394
+ color: var(--te-ink);
1395
+ background: var(--te-surface);
1396
+ border: 1.5px solid var(--te-border-light);
1397
+ border-radius: 8px;
1398
+ cursor: pointer;
1399
+ transition: all 0.15s ease;
1400
+ }
1401
+
1402
+ .template-editor__template-item:hover:not(:disabled) {
1403
+ border-color: var(--te-emerald);
1404
+ background: white;
1405
+ transform: translateY(-1px);
1406
+ box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15);
1407
+ }
1408
+
1409
+ .template-editor__template-item--amber:hover:not(:disabled) {
1410
+ border-color: var(--te-amber);
1411
+ box-shadow: 0 2px 8px rgba(245, 158, 11, 0.15);
1412
+ }
1413
+
1414
+ .template-editor__template-item--added {
1415
+ background: var(--te-emerald-light);
1416
+ border-color: var(--te-emerald);
1417
+ color: var(--te-emerald);
1418
+ cursor: default;
1419
+ }
1420
+
1421
+ .template-editor__template-item--amber.template-editor__template-item--added {
1422
+ background: var(--te-amber-light);
1423
+ border-color: var(--te-amber);
1424
+ color: var(--te-amber);
1425
+ }
1426
+
1427
+ .template-editor__template-icon {
1428
+ font-size: 0.875rem;
1429
+ }
1430
+
1431
+ .template-editor__template-title {
1432
+ white-space: nowrap;
1433
+ }
1434
+
1435
+ .template-editor__template-check {
1436
+ width: 14px;
1437
+ height: 14px;
1438
+ margin-left: 2px;
1439
+ }
1440
+
1441
+ /* FAQ Section */
1442
+ .template-editor__faq-list {
1443
+ display: flex;
1444
+ flex-direction: column;
1445
+ gap: 12px;
1446
+ margin-bottom: 16px;
1447
+ }
1448
+
1449
+ .template-editor__faq-item {
1450
+ display: flex;
1451
+ align-items: flex-start;
1452
+ gap: 16px;
1453
+ padding: 16px;
1454
+ background: var(--te-surface-raised);
1455
+ border: 1.5px solid var(--te-border-light);
1456
+ border-radius: 12px;
1457
+ transition: all 0.15s ease;
1458
+ }
1459
+
1460
+ .template-editor__faq-item:hover {
1461
+ border-color: var(--te-border);
1462
+ }
1463
+
1464
+ .template-editor__faq-item--editing {
1465
+ border-color: var(--te-sky);
1466
+ background: var(--te-sky-light);
1467
+ }
1468
+
1469
+ .template-editor__faq-number {
1470
+ display: flex;
1471
+ align-items: center;
1472
+ justify-content: center;
1473
+ width: 28px;
1474
+ height: 28px;
1475
+ background: var(--te-sky-light);
1476
+ color: var(--te-sky);
1477
+ font-size: 0.8125rem;
1478
+ font-weight: 700;
1479
+ border-radius: 8px;
1480
+ flex-shrink: 0;
1481
+ }
1482
+
1483
+ .template-editor__faq-content {
1484
+ flex: 1;
1485
+ min-width: 0;
1486
+ }
1487
+
1488
+ .template-editor__faq-question {
1489
+ font-size: 0.9375rem;
1490
+ font-weight: 600;
1491
+ color: var(--te-ink);
1492
+ margin-bottom: 6px;
1493
+ line-height: 1.4;
1494
+ }
1495
+
1496
+ .template-editor__faq-answer {
1497
+ font-size: 0.875rem;
1498
+ color: var(--te-ink-light);
1499
+ line-height: 1.6;
1500
+ }
1501
+
1502
+ .template-editor__faq-actions {
1503
+ display: flex;
1504
+ gap: 6px;
1505
+ opacity: 0;
1506
+ transition: opacity 0.15s ease;
1507
+ }
1508
+
1509
+ .template-editor__faq-item:hover .template-editor__faq-actions {
1510
+ opacity: 1;
1511
+ }
1512
+
1513
+ .template-editor__faq-action-btn {
1514
+ display: flex;
1515
+ align-items: center;
1516
+ justify-content: center;
1517
+ width: 32px;
1518
+ height: 32px;
1519
+ padding: 0;
1520
+ background: var(--te-surface);
1521
+ border: 1.5px solid var(--te-border-light);
1522
+ border-radius: 8px;
1523
+ cursor: pointer;
1524
+ color: var(--te-ink-muted);
1525
+ transition: all 0.15s ease;
1526
+ }
1527
+
1528
+ .template-editor__faq-action-btn:hover {
1529
+ border-color: var(--te-sky);
1530
+ color: var(--te-sky);
1531
+ background: var(--te-sky-light);
1532
+ }
1533
+
1534
+ .template-editor__faq-action-btn--delete:hover {
1535
+ border-color: var(--te-rose);
1536
+ color: var(--te-rose);
1537
+ background: var(--te-rose-light);
1538
+ }
1539
+
1540
+ .template-editor__faq-action-btn svg {
1541
+ width: 16px;
1542
+ height: 16px;
1543
+ }
1544
+
1545
+ .template-editor__faq-reorder {
1546
+ display: flex;
1547
+ flex-direction: column;
1548
+ gap: 2px;
1549
+ opacity: 0;
1550
+ transition: opacity 0.15s ease;
1551
+ }
1552
+
1553
+ .template-editor__faq-item:hover .template-editor__faq-reorder {
1554
+ opacity: 1;
1555
+ }
1556
+
1557
+ .template-editor__faq-reorder-btn {
1558
+ display: flex;
1559
+ align-items: center;
1560
+ justify-content: center;
1561
+ width: 20px;
1562
+ height: 16px;
1563
+ padding: 0;
1564
+ background: transparent;
1565
+ border: none;
1566
+ border-radius: 4px;
1567
+ cursor: pointer;
1568
+ color: var(--te-ink-muted);
1569
+ transition: all 0.15s ease;
1570
+ }
1571
+
1572
+ .template-editor__faq-reorder-btn:hover:not(:disabled) {
1573
+ background: var(--te-sky-light);
1574
+ color: var(--te-sky);
1575
+ }
1576
+
1577
+ .template-editor__faq-reorder-btn:disabled {
1578
+ opacity: 0.3;
1579
+ cursor: not-allowed;
1580
+ }
1581
+
1582
+ .template-editor__faq-reorder-btn svg {
1583
+ width: 14px;
1584
+ height: 14px;
1585
+ }
1586
+
1587
+ .template-editor__faq-edit-form {
1588
+ flex: 1;
1589
+ display: flex;
1590
+ flex-direction: column;
1591
+ gap: 10px;
1592
+ }
1593
+
1594
+ .template-editor__faq-edit-question {
1595
+ font-family: var(--te-font);
1596
+ font-size: 0.9375rem;
1597
+ font-weight: 600;
1598
+ padding: 10px 14px;
1599
+ background: var(--te-surface);
1600
+ border: 1.5px solid var(--te-border);
1601
+ border-radius: 8px;
1602
+ color: var(--te-ink);
1603
+ }
1604
+
1605
+ .template-editor__faq-edit-question:focus {
1606
+ outline: none;
1607
+ border-color: var(--te-sky);
1608
+ }
1609
+
1610
+ .template-editor__faq-edit-answer {
1611
+ font-family: var(--te-font);
1612
+ font-size: 0.875rem;
1613
+ padding: 10px 14px;
1614
+ background: var(--te-surface);
1615
+ border: 1.5px solid var(--te-border);
1616
+ border-radius: 8px;
1617
+ color: var(--te-ink);
1618
+ resize: vertical;
1619
+ min-height: 60px;
1620
+ }
1621
+
1622
+ .template-editor__faq-edit-answer:focus {
1623
+ outline: none;
1624
+ border-color: var(--te-sky);
1625
+ }
1626
+
1627
+ .template-editor__faq-edit-actions {
1628
+ display: flex;
1629
+ gap: 8px;
1630
+ justify-content: flex-end;
1631
+ }
1632
+
1633
+ .template-editor__faq-save-btn {
1634
+ padding: 8px 16px;
1635
+ font-family: var(--te-font);
1636
+ font-size: 0.8125rem;
1637
+ font-weight: 600;
1638
+ color: white;
1639
+ background: var(--te-sky);
1640
+ border: none;
1641
+ border-radius: 8px;
1642
+ cursor: pointer;
1643
+ transition: background 0.15s ease;
1644
+ }
1645
+
1646
+ .template-editor__faq-save-btn:hover {
1647
+ background: #0284c7;
1648
+ }
1649
+
1650
+ .template-editor__faq-cancel-btn {
1651
+ padding: 8px 16px;
1652
+ font-family: var(--te-font);
1653
+ font-size: 0.8125rem;
1654
+ font-weight: 600;
1655
+ color: var(--te-ink-light);
1656
+ background: var(--te-surface);
1657
+ border: 1.5px solid var(--te-border);
1658
+ border-radius: 8px;
1659
+ cursor: pointer;
1660
+ transition: all 0.15s ease;
1661
+ }
1662
+
1663
+ .template-editor__faq-cancel-btn:hover {
1664
+ background: var(--te-surface-raised);
1665
+ border-color: var(--te-ink-muted);
1666
+ }
1667
+
1668
+ .template-editor__faq-add-form {
1669
+ display: flex;
1670
+ flex-direction: column;
1671
+ gap: 10px;
1672
+ padding: 16px;
1673
+ background: var(--te-surface-raised);
1674
+ border: 1.5px dashed var(--te-border);
1675
+ border-radius: 12px;
1676
+ }
1677
+
1678
+ .template-editor__faq-new-question {
1679
+ font-family: var(--te-font);
1680
+ font-size: 0.9375rem;
1681
+ padding: 10px 14px;
1682
+ background: var(--te-surface);
1683
+ border: 1.5px solid var(--te-border-light);
1684
+ border-radius: 8px;
1685
+ color: var(--te-ink);
1686
+ transition: all 0.15s ease;
1687
+ }
1688
+
1689
+ .template-editor__faq-new-question:hover {
1690
+ border-color: var(--te-border);
1691
+ }
1692
+
1693
+ .template-editor__faq-new-question:focus {
1694
+ outline: none;
1695
+ border-color: var(--te-sky);
1696
+ box-shadow: 0 0 0 3px var(--te-sky-light);
1697
+ }
1698
+
1699
+ .template-editor__faq-new-question::placeholder {
1700
+ color: var(--te-ink-muted);
1701
+ }
1702
+
1703
+ .template-editor__faq-new-answer {
1704
+ font-family: var(--te-font);
1705
+ font-size: 0.875rem;
1706
+ padding: 10px 14px;
1707
+ background: var(--te-surface);
1708
+ border: 1.5px solid var(--te-border-light);
1709
+ border-radius: 8px;
1710
+ color: var(--te-ink);
1711
+ resize: vertical;
1712
+ min-height: 60px;
1713
+ transition: all 0.15s ease;
1714
+ }
1715
+
1716
+ .template-editor__faq-new-answer:hover {
1717
+ border-color: var(--te-border);
1718
+ }
1719
+
1720
+ .template-editor__faq-new-answer:focus {
1721
+ outline: none;
1722
+ border-color: var(--te-sky);
1723
+ box-shadow: 0 0 0 3px var(--te-sky-light);
1724
+ }
1725
+
1726
+ .template-editor__faq-new-answer::placeholder {
1727
+ color: var(--te-ink-muted);
1728
+ }
1729
+
1730
+ .template-editor__faq-add-btn {
1731
+ display: inline-flex;
1732
+ align-items: center;
1733
+ justify-content: center;
1734
+ gap: 8px;
1735
+ padding: 10px 20px;
1736
+ font-family: var(--te-font);
1737
+ font-size: 0.875rem;
1738
+ font-weight: 600;
1739
+ color: white;
1740
+ background: var(--te-sky);
1741
+ border: none;
1742
+ border-radius: 8px;
1743
+ cursor: pointer;
1744
+ align-self: flex-start;
1745
+ transition: all 0.15s ease;
1746
+ }
1747
+
1748
+ .template-editor__faq-add-btn:hover:not(:disabled) {
1749
+ background: #0284c7;
1750
+ }
1751
+
1752
+ .template-editor__faq-add-btn:disabled {
1753
+ opacity: 0.5;
1754
+ cursor: not-allowed;
1755
+ }
1756
+
1757
+ .template-editor__faq-add-btn svg {
1758
+ width: 16px;
1759
+ height: 16px;
1760
+ }
1761
+
1762
+ /* Content Sections */
1763
+ .template-editor__card-icon--indigo {
1764
+ background: #eef2ff;
1765
+ color: #6366f1;
1766
+ }
1767
+
1768
+ .template-editor__sections-list {
1769
+ display: flex;
1770
+ flex-direction: column;
1771
+ gap: 12px;
1772
+ margin-bottom: 16px;
1773
+ }
1774
+
1775
+ .template-editor__section-item {
1776
+ display: flex;
1777
+ align-items: flex-start;
1778
+ gap: 12px;
1779
+ padding: 16px;
1780
+ background: var(--te-surface-raised);
1781
+ border: 1.5px solid var(--te-border-light);
1782
+ border-radius: 12px;
1783
+ transition: all 0.15s ease;
1784
+ }
1785
+
1786
+ .template-editor__section-item:hover {
1787
+ border-color: var(--te-border);
1788
+ }
1789
+
1790
+ .template-editor__section-item--editing {
1791
+ border-color: #6366f1;
1792
+ background: #eef2ff;
1793
+ }
1794
+
1795
+ .template-editor__section-reorder {
1796
+ display: flex;
1797
+ flex-direction: column;
1798
+ gap: 2px;
1799
+ opacity: 0;
1800
+ transition: opacity 0.15s ease;
1801
+ }
1802
+
1803
+ .template-editor__section-item:hover .template-editor__section-reorder {
1804
+ opacity: 1;
1805
+ }
1806
+
1807
+ .template-editor__section-reorder-btn {
1808
+ display: flex;
1809
+ align-items: center;
1810
+ justify-content: center;
1811
+ width: 20px;
1812
+ height: 16px;
1813
+ padding: 0;
1814
+ background: transparent;
1815
+ border: none;
1816
+ border-radius: 4px;
1817
+ cursor: pointer;
1818
+ color: var(--te-ink-muted);
1819
+ transition: all 0.15s ease;
1820
+ }
1821
+
1822
+ .template-editor__section-reorder-btn:hover:not(:disabled) {
1823
+ background: #e0e7ff;
1824
+ color: #6366f1;
1825
+ }
1826
+
1827
+ .template-editor__section-reorder-btn:disabled {
1828
+ opacity: 0.3;
1829
+ cursor: not-allowed;
1830
+ }
1831
+
1832
+ .template-editor__section-reorder-btn svg {
1833
+ width: 14px;
1834
+ height: 14px;
1835
+ }
1836
+
1837
+ .template-editor__section-toggle {
1838
+ display: flex;
1839
+ align-items: center;
1840
+ justify-content: center;
1841
+ width: 28px;
1842
+ height: 28px;
1843
+ padding: 0;
1844
+ background: var(--te-surface);
1845
+ border: 1.5px solid var(--te-border-light);
1846
+ border-radius: 8px;
1847
+ cursor: pointer;
1848
+ color: var(--te-ink-muted);
1849
+ flex-shrink: 0;
1850
+ transition: all 0.15s ease;
1851
+ }
1852
+
1853
+ .template-editor__section-toggle:hover {
1854
+ border-color: #6366f1;
1855
+ color: #6366f1;
1856
+ background: #eef2ff;
1857
+ }
1858
+
1859
+ .template-editor__section-chevron {
1860
+ width: 16px;
1861
+ height: 16px;
1862
+ transition: transform 0.2s ease;
1863
+ }
1864
+
1865
+ .template-editor__section-chevron--expanded {
1866
+ transform: rotate(180deg);
1867
+ }
1868
+
1869
+ .template-editor__section-main {
1870
+ flex: 1;
1871
+ min-width: 0;
1872
+ cursor: pointer;
1873
+ }
1874
+
1875
+ .template-editor__section-header {
1876
+ display: flex;
1877
+ flex-direction: column;
1878
+ gap: 4px;
1879
+ }
1880
+
1881
+ .template-editor__section-title {
1882
+ font-size: 0.9375rem;
1883
+ font-weight: 600;
1884
+ color: var(--te-ink);
1885
+ line-height: 1.4;
1886
+ }
1887
+
1888
+ .template-editor__section-preview {
1889
+ font-size: 0.8125rem;
1890
+ color: var(--te-ink-muted);
1891
+ line-height: 1.5;
1892
+ display: -webkit-box;
1893
+ -webkit-line-clamp: 2;
1894
+ -webkit-box-orient: vertical;
1895
+ overflow: hidden;
1896
+ }
1897
+
1898
+ .template-editor__section-content {
1899
+ margin-top: 12px;
1900
+ padding-top: 12px;
1901
+ border-top: 1px solid var(--te-border-light);
1902
+ font-size: 0.875rem;
1903
+ color: var(--te-ink-light);
1904
+ line-height: 1.7;
1905
+ white-space: pre-wrap;
1906
+ animation: sectionExpand 0.2s ease-out;
1907
+ }
1908
+
1909
+ @keyframes sectionExpand {
1910
+ from {
1911
+ opacity: 0;
1912
+ max-height: 0;
1913
+ }
1914
+ to {
1915
+ opacity: 1;
1916
+ max-height: 1000px;
1917
+ }
1918
+ }
1919
+
1920
+ .template-editor__section-actions {
1921
+ display: flex;
1922
+ gap: 6px;
1923
+ opacity: 0;
1924
+ transition: opacity 0.15s ease;
1925
+ flex-shrink: 0;
1926
+ }
1927
+
1928
+ .template-editor__section-item:hover .template-editor__section-actions {
1929
+ opacity: 1;
1930
+ }
1931
+
1932
+ .template-editor__section-action-btn {
1933
+ display: flex;
1934
+ align-items: center;
1935
+ justify-content: center;
1936
+ width: 32px;
1937
+ height: 32px;
1938
+ padding: 0;
1939
+ background: var(--te-surface);
1940
+ border: 1.5px solid var(--te-border-light);
1941
+ border-radius: 8px;
1942
+ cursor: pointer;
1943
+ color: var(--te-ink-muted);
1944
+ transition: all 0.15s ease;
1945
+ }
1946
+
1947
+ .template-editor__section-action-btn:hover {
1948
+ border-color: #6366f1;
1949
+ color: #6366f1;
1950
+ background: #eef2ff;
1951
+ }
1952
+
1953
+ .template-editor__section-action-btn--delete:hover {
1954
+ border-color: var(--te-rose);
1955
+ color: var(--te-rose);
1956
+ background: var(--te-rose-light);
1957
+ }
1958
+
1959
+ .template-editor__section-action-btn svg {
1960
+ width: 16px;
1961
+ height: 16px;
1962
+ }
1963
+
1964
+ .template-editor__section-edit-form {
1965
+ flex: 1;
1966
+ display: flex;
1967
+ flex-direction: column;
1968
+ gap: 10px;
1969
+ }
1970
+
1971
+ .template-editor__section-edit-title {
1972
+ font-family: var(--te-font);
1973
+ font-size: 0.9375rem;
1974
+ font-weight: 600;
1975
+ padding: 10px 14px;
1976
+ background: var(--te-surface);
1977
+ border: 1.5px solid var(--te-border);
1978
+ border-radius: 8px;
1979
+ color: var(--te-ink);
1980
+ }
1981
+
1982
+ .template-editor__section-edit-title:focus {
1983
+ outline: none;
1984
+ border-color: #6366f1;
1985
+ }
1986
+
1987
+ .template-editor__section-edit-content {
1988
+ font-family: var(--te-font);
1989
+ font-size: 0.875rem;
1990
+ padding: 10px 14px;
1991
+ background: var(--te-surface);
1992
+ border: 1.5px solid var(--te-border);
1993
+ border-radius: 8px;
1994
+ color: var(--te-ink);
1995
+ resize: vertical;
1996
+ min-height: 120px;
1997
+ line-height: 1.6;
1998
+ }
1999
+
2000
+ .template-editor__section-edit-content:focus {
2001
+ outline: none;
2002
+ border-color: #6366f1;
2003
+ }
2004
+
2005
+ .template-editor__section-edit-actions {
2006
+ display: flex;
2007
+ gap: 8px;
2008
+ justify-content: flex-end;
2009
+ }
2010
+
2011
+ .template-editor__section-save-btn {
2012
+ padding: 8px 16px;
2013
+ font-family: var(--te-font);
2014
+ font-size: 0.8125rem;
2015
+ font-weight: 600;
2016
+ color: white;
2017
+ background: #6366f1;
2018
+ border: none;
2019
+ border-radius: 8px;
2020
+ cursor: pointer;
2021
+ transition: background 0.15s ease;
2022
+ }
2023
+
2024
+ .template-editor__section-save-btn:hover {
2025
+ background: #4f46e5;
2026
+ }
2027
+
2028
+ .template-editor__section-cancel-btn {
2029
+ padding: 8px 16px;
2030
+ font-family: var(--te-font);
2031
+ font-size: 0.8125rem;
2032
+ font-weight: 600;
2033
+ color: var(--te-ink-light);
2034
+ background: var(--te-surface);
2035
+ border: 1.5px solid var(--te-border);
2036
+ border-radius: 8px;
2037
+ cursor: pointer;
2038
+ transition: all 0.15s ease;
2039
+ }
2040
+
2041
+ .template-editor__section-cancel-btn:hover {
2042
+ background: var(--te-surface-raised);
2043
+ border-color: var(--te-ink-muted);
2044
+ }
2045
+
2046
+ .template-editor__section-add-form {
2047
+ display: flex;
2048
+ flex-direction: column;
2049
+ gap: 10px;
2050
+ padding: 16px;
2051
+ background: var(--te-surface-raised);
2052
+ border: 1.5px dashed var(--te-border);
2053
+ border-radius: 12px;
2054
+ }
2055
+
2056
+ .template-editor__section-new-title {
2057
+ font-family: var(--te-font);
2058
+ font-size: 0.9375rem;
2059
+ font-weight: 600;
2060
+ padding: 10px 14px;
2061
+ background: var(--te-surface);
2062
+ border: 1.5px solid var(--te-border-light);
2063
+ border-radius: 8px;
2064
+ color: var(--te-ink);
2065
+ transition: all 0.15s ease;
2066
+ }
2067
+
2068
+ .template-editor__section-new-title:hover {
2069
+ border-color: var(--te-border);
2070
+ }
2071
+
2072
+ .template-editor__section-new-title:focus {
2073
+ outline: none;
2074
+ border-color: #6366f1;
2075
+ box-shadow: 0 0 0 3px #eef2ff;
2076
+ }
2077
+
2078
+ .template-editor__section-new-title::placeholder {
2079
+ color: var(--te-ink-muted);
2080
+ font-weight: 400;
2081
+ }
2082
+
2083
+ .template-editor__section-new-content {
2084
+ font-family: var(--te-font);
2085
+ font-size: 0.875rem;
2086
+ padding: 10px 14px;
2087
+ background: var(--te-surface);
2088
+ border: 1.5px solid var(--te-border-light);
2089
+ border-radius: 8px;
2090
+ color: var(--te-ink);
2091
+ resize: vertical;
2092
+ min-height: 100px;
2093
+ line-height: 1.6;
2094
+ transition: all 0.15s ease;
2095
+ }
2096
+
2097
+ .template-editor__section-new-content:hover {
2098
+ border-color: var(--te-border);
2099
+ }
2100
+
2101
+ .template-editor__section-new-content:focus {
2102
+ outline: none;
2103
+ border-color: #6366f1;
2104
+ box-shadow: 0 0 0 3px #eef2ff;
2105
+ }
2106
+
2107
+ .template-editor__section-new-content::placeholder {
2108
+ color: var(--te-ink-muted);
2109
+ }
2110
+
2111
+ .template-editor__section-add-btn {
2112
+ display: inline-flex;
2113
+ align-items: center;
2114
+ justify-content: center;
2115
+ gap: 8px;
2116
+ padding: 10px 20px;
2117
+ font-family: var(--te-font);
2118
+ font-size: 0.875rem;
2119
+ font-weight: 600;
2120
+ color: white;
2121
+ background: #6366f1;
2122
+ border: none;
2123
+ border-radius: 8px;
2124
+ cursor: pointer;
2125
+ align-self: flex-start;
2126
+ transition: all 0.15s ease;
2127
+ }
2128
+
2129
+ .template-editor__section-add-btn:hover:not(:disabled) {
2130
+ background: #4f46e5;
2131
+ }
2132
+
2133
+ .template-editor__section-add-btn:disabled {
2134
+ opacity: 0.5;
2135
+ cursor: not-allowed;
2136
+ }
2137
+
2138
+ .template-editor__section-add-btn svg {
2139
+ width: 16px;
2140
+ height: 16px;
2141
+ }
2142
+
2143
+ /* Responsive */
2144
+ @media (max-width: 900px) {
2145
+ .template-editor__hero {
2146
+ grid-template-columns: 1fr;
2147
+ }
2148
+
2149
+ .template-editor__thumbnail-area {
2150
+ flex-direction: row;
2151
+ align-items: flex-start;
2152
+ }
2153
+
2154
+ .template-editor__thumbnail {
2155
+ width: 120px;
2156
+ height: 90px;
2157
+ }
2158
+
2159
+ .template-editor__thumbnail-input {
2160
+ flex: 1;
2161
+ }
2162
+
2163
+ .template-editor__grid {
2164
+ grid-template-columns: 1fr;
2165
+ }
2166
+
2167
+ .template-editor__metadata {
2168
+ grid-template-columns: 1fr;
2169
+ }
2170
+
2171
+ .template-editor__facets-grid {
2172
+ grid-template-columns: 1fr;
2173
+ }
2174
+ }
2175
+ `;