@esri/hub-common 14.23.0 → 14.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/esm/content/_internal/ContentBusinessRules.js +5 -0
  2. package/dist/esm/content/_internal/ContentBusinessRules.js.map +1 -1
  3. package/dist/esm/content/_internal/ContentSchema.js +1 -0
  4. package/dist/esm/content/_internal/ContentSchema.js.map +1 -1
  5. package/dist/esm/content/_internal/ContentUiSchemaDiscussions.js +37 -0
  6. package/dist/esm/content/_internal/ContentUiSchemaDiscussions.js.map +1 -0
  7. package/dist/esm/content/_internal/computeProps.js +2 -0
  8. package/dist/esm/content/_internal/computeProps.js.map +1 -1
  9. package/dist/esm/content/edit.js +3 -0
  10. package/dist/esm/content/edit.js.map +1 -1
  11. package/dist/esm/core/EntityEditor.js +4 -0
  12. package/dist/esm/core/EntityEditor.js.map +1 -1
  13. package/dist/esm/core/fetchHubEntity.js +3 -0
  14. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  15. package/dist/esm/core/getTypeFromEntity.js +6 -0
  16. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  17. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +12 -0
  18. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  19. package/dist/esm/core/schemas/types.js +2 -0
  20. package/dist/esm/core/schemas/types.js.map +1 -1
  21. package/dist/esm/core/types/HubEntityType.js +1 -0
  22. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  23. package/dist/esm/core/types/IHubInitiativeTemplate.js +1 -0
  24. package/dist/esm/core/types/IHubInitiativeTemplate.js.map +1 -0
  25. package/dist/esm/core/types/index.js +1 -0
  26. package/dist/esm/core/types/index.js.map +1 -1
  27. package/dist/esm/core/updateHubEntity.js +4 -0
  28. package/dist/esm/core/updateHubEntity.js.map +1 -1
  29. package/dist/esm/discussions/_internal/DiscussionSchema.js +1 -0
  30. package/dist/esm/discussions/_internal/DiscussionSchema.js.map +1 -1
  31. package/dist/esm/discussions/_internal/DiscussionUiSchemaEdit.js +0 -23
  32. package/dist/esm/discussions/_internal/DiscussionUiSchemaEdit.js.map +1 -1
  33. package/dist/esm/discussions/_internal/DiscussionUiSchemaSettings.js +37 -0
  34. package/dist/esm/discussions/_internal/DiscussionUiSchemaSettings.js.map +1 -0
  35. package/dist/esm/discussions/utils.js +1 -1
  36. package/dist/esm/discussions/utils.js.map +1 -1
  37. package/dist/esm/groups/HubGroups.js +3 -0
  38. package/dist/esm/groups/HubGroups.js.map +1 -1
  39. package/dist/esm/groups/_internal/GroupBusinessRules.js +5 -0
  40. package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -1
  41. package/dist/esm/groups/_internal/GroupSchema.js +3 -1
  42. package/dist/esm/groups/_internal/GroupSchema.js.map +1 -1
  43. package/dist/esm/groups/_internal/GroupUiSchemaDiscussions.js +37 -0
  44. package/dist/esm/groups/_internal/GroupUiSchemaDiscussions.js.map +1 -0
  45. package/dist/esm/groups/_internal/getPropertyMap.js +1 -0
  46. package/dist/esm/groups/_internal/getPropertyMap.js.map +1 -1
  47. package/dist/esm/groups/defaults.js +1 -0
  48. package/dist/esm/groups/defaults.js.map +1 -1
  49. package/dist/esm/index.js +1 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/initiative-templates/HubInitiativeTemplate.js +192 -0
  52. package/dist/esm/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  53. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +72 -0
  54. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  55. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js +6 -0
  56. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  57. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +35 -0
  58. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  59. package/dist/esm/initiative-templates/_internal/computeLinks.js +27 -0
  60. package/dist/esm/initiative-templates/_internal/computeLinks.js.map +1 -0
  61. package/dist/esm/initiative-templates/_internal/computeProps.js +39 -0
  62. package/dist/esm/initiative-templates/_internal/computeProps.js.map +1 -0
  63. package/dist/esm/initiative-templates/_internal/getPropertyMap.js +18 -0
  64. package/dist/esm/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  65. package/dist/esm/initiative-templates/defaults.js +35 -0
  66. package/dist/esm/initiative-templates/defaults.js.map +1 -0
  67. package/dist/esm/initiative-templates/edit.js +96 -0
  68. package/dist/esm/initiative-templates/edit.js.map +1 -0
  69. package/dist/esm/initiative-templates/fetch.js +68 -0
  70. package/dist/esm/initiative-templates/fetch.js.map +1 -0
  71. package/dist/esm/initiative-templates/index.js +5 -0
  72. package/dist/esm/initiative-templates/index.js.map +1 -0
  73. package/dist/esm/initiative-templates/view.js +77 -0
  74. package/dist/esm/initiative-templates/view.js.map +1 -0
  75. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  76. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  77. package/dist/esm/permissions/types/Permission.js +2 -0
  78. package/dist/esm/permissions/types/Permission.js.map +1 -1
  79. package/dist/esm/projects/HubProject.js +1 -1
  80. package/dist/esm/search/hubSearch.js +1 -1
  81. package/dist/esm/search/hubSearch.js.map +1 -1
  82. package/dist/esm/sites/HubSite.js +2 -1
  83. package/dist/esm/sites/HubSite.js.map +1 -1
  84. package/dist/esm/sites/_internal/SiteBusinessRules.js +12 -0
  85. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -1
  86. package/dist/esm/sites/_internal/SiteSchema.js +3 -1
  87. package/dist/esm/sites/_internal/SiteSchema.js.map +1 -1
  88. package/dist/esm/sites/_internal/SiteUiSchemaDiscussions.js +37 -0
  89. package/dist/esm/sites/_internal/SiteUiSchemaDiscussions.js.map +1 -0
  90. package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js +5 -0
  91. package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -1
  92. package/dist/node/content/_internal/ContentBusinessRules.js +5 -0
  93. package/dist/node/content/_internal/ContentBusinessRules.js.map +1 -1
  94. package/dist/node/content/_internal/ContentSchema.js +1 -0
  95. package/dist/node/content/_internal/ContentSchema.js.map +1 -1
  96. package/dist/node/content/_internal/ContentUiSchemaDiscussions.js +40 -0
  97. package/dist/node/content/_internal/ContentUiSchemaDiscussions.js.map +1 -0
  98. package/dist/node/content/_internal/computeProps.js +2 -0
  99. package/dist/node/content/_internal/computeProps.js.map +1 -1
  100. package/dist/node/content/edit.js +3 -0
  101. package/dist/node/content/edit.js.map +1 -1
  102. package/dist/node/core/EntityEditor.js +4 -0
  103. package/dist/node/core/EntityEditor.js.map +1 -1
  104. package/dist/node/core/fetchHubEntity.js +3 -0
  105. package/dist/node/core/fetchHubEntity.js.map +1 -1
  106. package/dist/node/core/getTypeFromEntity.js +6 -0
  107. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  108. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +12 -0
  109. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  110. package/dist/node/core/schemas/types.js +2 -0
  111. package/dist/node/core/schemas/types.js.map +1 -1
  112. package/dist/node/core/types/HubEntityType.js +1 -0
  113. package/dist/node/core/types/HubEntityType.js.map +1 -1
  114. package/dist/node/core/types/IHubInitiativeTemplate.js +3 -0
  115. package/dist/node/core/types/IHubInitiativeTemplate.js.map +1 -0
  116. package/dist/node/core/types/index.js +1 -0
  117. package/dist/node/core/types/index.js.map +1 -1
  118. package/dist/node/core/updateHubEntity.js +4 -0
  119. package/dist/node/core/updateHubEntity.js.map +1 -1
  120. package/dist/node/discussions/_internal/DiscussionSchema.js +1 -0
  121. package/dist/node/discussions/_internal/DiscussionSchema.js.map +1 -1
  122. package/dist/node/discussions/_internal/DiscussionUiSchemaEdit.js +0 -23
  123. package/dist/node/discussions/_internal/DiscussionUiSchemaEdit.js.map +1 -1
  124. package/dist/node/discussions/_internal/DiscussionUiSchemaSettings.js +40 -0
  125. package/dist/node/discussions/_internal/DiscussionUiSchemaSettings.js.map +1 -0
  126. package/dist/node/discussions/utils.js +1 -1
  127. package/dist/node/discussions/utils.js.map +1 -1
  128. package/dist/node/groups/HubGroups.js +3 -0
  129. package/dist/node/groups/HubGroups.js.map +1 -1
  130. package/dist/node/groups/_internal/GroupBusinessRules.js +5 -0
  131. package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -1
  132. package/dist/node/groups/_internal/GroupSchema.js +2 -0
  133. package/dist/node/groups/_internal/GroupSchema.js.map +1 -1
  134. package/dist/node/groups/_internal/GroupUiSchemaDiscussions.js +40 -0
  135. package/dist/node/groups/_internal/GroupUiSchemaDiscussions.js.map +1 -0
  136. package/dist/node/groups/_internal/getPropertyMap.js +1 -0
  137. package/dist/node/groups/_internal/getPropertyMap.js.map +1 -1
  138. package/dist/node/groups/defaults.js +1 -0
  139. package/dist/node/groups/defaults.js.map +1 -1
  140. package/dist/node/index.js +1 -0
  141. package/dist/node/index.js.map +1 -1
  142. package/dist/node/initiative-templates/HubInitiativeTemplate.js +196 -0
  143. package/dist/node/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  144. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +75 -0
  145. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  146. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js +9 -0
  147. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  148. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +38 -0
  149. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  150. package/dist/node/initiative-templates/_internal/computeLinks.js +31 -0
  151. package/dist/node/initiative-templates/_internal/computeLinks.js.map +1 -0
  152. package/dist/node/initiative-templates/_internal/computeProps.js +43 -0
  153. package/dist/node/initiative-templates/_internal/computeProps.js.map +1 -0
  154. package/dist/node/initiative-templates/_internal/getPropertyMap.js +22 -0
  155. package/dist/node/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  156. package/dist/node/initiative-templates/defaults.js +38 -0
  157. package/dist/node/initiative-templates/defaults.js.map +1 -0
  158. package/dist/node/initiative-templates/edit.js +103 -0
  159. package/dist/node/initiative-templates/edit.js.map +1 -0
  160. package/dist/node/initiative-templates/fetch.js +74 -0
  161. package/dist/node/initiative-templates/fetch.js.map +1 -0
  162. package/dist/node/initiative-templates/index.js +8 -0
  163. package/dist/node/initiative-templates/index.js.map +1 -0
  164. package/dist/node/initiative-templates/view.js +80 -0
  165. package/dist/node/initiative-templates/view.js.map +1 -0
  166. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  167. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  168. package/dist/node/permissions/types/Permission.js +2 -0
  169. package/dist/node/permissions/types/Permission.js.map +1 -1
  170. package/dist/node/projects/HubProject.js +1 -1
  171. package/dist/node/search/hubSearch.js.map +1 -1
  172. package/dist/node/sites/HubSite.js +2 -1
  173. package/dist/node/sites/HubSite.js.map +1 -1
  174. package/dist/node/sites/_internal/SiteBusinessRules.js +12 -0
  175. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -1
  176. package/dist/node/sites/_internal/SiteSchema.js +3 -1
  177. package/dist/node/sites/_internal/SiteSchema.js.map +1 -1
  178. package/dist/node/sites/_internal/SiteUiSchemaDiscussions.js +40 -0
  179. package/dist/node/sites/_internal/SiteUiSchemaDiscussions.js.map +1 -0
  180. package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js +5 -0
  181. package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -1
  182. package/dist/types/content/_internal/ContentBusinessRules.d.ts +1 -1
  183. package/dist/types/content/_internal/ContentSchema.d.ts +1 -1
  184. package/dist/types/content/_internal/ContentUiSchemaDiscussions.d.ts +10 -0
  185. package/dist/types/core/schemas/types.d.ts +1 -1
  186. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  187. package/dist/types/core/types/IHubGroup.d.ts +4 -0
  188. package/dist/types/core/types/IHubInitiativeTemplate.d.ts +14 -0
  189. package/dist/types/core/types/IHubSite.d.ts +3 -1
  190. package/dist/types/core/types/index.d.ts +1 -0
  191. package/dist/types/discussions/_internal/DiscussionSchema.d.ts +1 -1
  192. package/dist/types/discussions/_internal/DiscussionUiSchemaSettings.d.ts +10 -0
  193. package/dist/types/groups/_internal/GroupBusinessRules.d.ts +1 -1
  194. package/dist/types/groups/_internal/GroupSchema.d.ts +1 -1
  195. package/dist/types/groups/_internal/GroupUiSchemaDiscussions.d.ts +10 -0
  196. package/dist/types/index.d.ts +1 -0
  197. package/dist/types/initiative-templates/HubInitiativeTemplate.d.ts +82 -0
  198. package/dist/types/initiative-templates/_internal/InitiativeTemplateBusinessRules.d.ts +16 -0
  199. package/dist/types/initiative-templates/_internal/InitiativeTemplateSchema.d.ts +4 -0
  200. package/dist/types/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.d.ts +15 -0
  201. package/dist/types/initiative-templates/_internal/computeLinks.d.ts +12 -0
  202. package/dist/types/initiative-templates/_internal/computeProps.d.ts +12 -0
  203. package/dist/types/initiative-templates/_internal/getPropertyMap.d.ts +7 -0
  204. package/dist/types/initiative-templates/defaults.d.ts +8 -0
  205. package/dist/types/initiative-templates/edit.d.ts +32 -0
  206. package/dist/types/initiative-templates/fetch.d.ts +16 -0
  207. package/dist/types/initiative-templates/index.d.ts +4 -0
  208. package/dist/types/initiative-templates/view.d.ts +20 -0
  209. package/dist/types/permissions/types/Permission.d.ts +2 -1
  210. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +1 -1
  211. package/dist/types/sites/_internal/SiteSchema.d.ts +1 -1
  212. package/dist/types/sites/_internal/SiteUiSchemaDiscussions.d.ts +10 -0
  213. package/dist/types/sites/_internal/capabilities/types.d.ts +1 -1
  214. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GroupBusinessRules.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupBusinessRules.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAC7B,8BAA8B;IAC9B,mCAAmC;IACnC,6BAA6B;IAC7B,6BAA6B;IAC7B,wBAAwB;IACxB,kBAAkB;CACV,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,yBAAyB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,WAAW,CAAC;KAC5B;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,8BAA8B;QAC1C,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,0BAA0B,CAAC;QACxC,UAAU,EAAE;YACV;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,WAAW;aACnB;SACF;KACF;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;CACF,CAAC"}
1
+ {"version":3,"file":"GroupBusinessRules.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupBusinessRules.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAC7B,gCAAgC;IAChC,8BAA8B;IAC9B,mCAAmC;IACnC,6BAA6B;IAC7B,6BAA6B;IAC7B,wBAAwB;IACxB,kBAAkB;CACV,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,yBAAyB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,WAAW,CAAC;KAC5B;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,8BAA8B;QAC1C,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,0BAA0B,CAAC;QACxC,UAAU,EAAE;YACV;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,WAAW;aACnB;SACF;KACF;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;CACF,CAAC"}
@@ -1,7 +1,8 @@
1
- import { ENTITY_IMAGE_SCHEMA, ENTITY_NAME_SCHEMA, ENTITY_SUMMARY_SCHEMA, } from "../../core/schemas/shared";
1
+ import { ENTITY_IMAGE_SCHEMA, ENTITY_IS_DISCUSSABLE_SCHEMA, ENTITY_NAME_SCHEMA, ENTITY_SUMMARY_SCHEMA, } from "../../core/schemas/shared";
2
2
  export const GroupEditorTypes = [
3
3
  "hub:group:edit",
4
4
  "hub:group:settings",
5
+ "hub:group:discussions",
5
6
  ];
6
7
  /**
7
8
  * Defines the JSON schema for a Hub Group's editable fields
@@ -26,6 +27,7 @@ export const GroupSchema = {
26
27
  enum: [false, true],
27
28
  default: false,
28
29
  },
30
+ isDiscussable: ENTITY_IS_DISCUSSABLE_SCHEMA,
29
31
  },
30
32
  };
31
33
  //# sourceMappingURL=GroupSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupSchema.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupSchema.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,oBAAoB;CACZ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,kCACF,qBAAqB;YACxB,wDAAwD;YACxD,0BAA0B;YAC1B,SAAS,EAAE,GAAG,GACf;QACD,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC;YACjD,OAAO,EAAE,QAAQ;SAClB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;SACf;KACF;CACsB,CAAC"}
1
+ {"version":3,"file":"GroupSchema.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupSchema.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,kCACF,qBAAqB;YACxB,wDAAwD;YACxD,0BAA0B;YAC1B,SAAS,EAAE,GAAG,GACf;QACD,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC;YACjD,OAAO,EAAE,QAAQ;SAClB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;SACf;QACD,aAAa,EAAE,4BAA4B;KAC5C;CACsB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @private
3
+ * settings uiSchema for Hub Discussions - this
4
+ * defines how the schema properties should be
5
+ * rendered in the Discussions settings experience
6
+ */
7
+ export const buildUiSchema = async (i18nScope, entity, context) => {
8
+ return {
9
+ type: "Layout",
10
+ elements: [
11
+ {
12
+ type: "Section",
13
+ labelKey: `${i18nScope}.sections.discussions.label`,
14
+ elements: [
15
+ {
16
+ labelKey: `${i18nScope}.fields.discussable.label`,
17
+ scope: "/properties/isDiscussable",
18
+ type: "Control",
19
+ options: {
20
+ control: "hub-field-input-radio",
21
+ labels: [
22
+ `{{${i18nScope}.fields.discussable.enabled.label:translate}}`,
23
+ `{{${i18nScope}.fields.discussable.disabled.label:translate}}`,
24
+ ],
25
+ descriptions: [
26
+ `{{${i18nScope}.fields.discussable.enabled.description:translate}}`,
27
+ `{{${i18nScope}.fields.discussable.disabled.description:translate}}`,
28
+ ],
29
+ icons: ["speech-bubbles", "circle-disallowed"],
30
+ },
31
+ },
32
+ ],
33
+ },
34
+ ],
35
+ };
36
+ };
37
+ //# sourceMappingURL=GroupUiSchemaDiscussions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupUiSchemaDiscussions.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupUiSchemaDiscussions.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,MAAiB,EACjB,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,GAAG,SAAS,6BAA6B;gBACnD,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,GAAG,SAAS,2BAA2B;wBACjD,KAAK,EAAE,2BAA2B;wBAClC,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;4BACP,OAAO,EAAE,uBAAuB;4BAChC,MAAM,EAAE;gCACN,KAAK,SAAS,+CAA+C;gCAC7D,KAAK,SAAS,gDAAgD;6BAC/D;4BACD,YAAY,EAAE;gCACZ,KAAK,SAAS,qDAAqD;gCACnE,KAAK,SAAS,sDAAsD;6BACrE;4BACD,KAAK,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;yBAC/C;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -30,6 +30,7 @@ export function getPropertyMap() {
30
30
  "tags",
31
31
  "thumbnail",
32
32
  "thumbnailUrl",
33
+ "typeKeywords",
33
34
  "userMembership",
34
35
  ];
35
36
  groupProps.forEach((entry) => {
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IAErC,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IAErC,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -6,6 +6,7 @@ export const DEFAULT_GROUP = {
6
6
  name: "No title provided",
7
7
  access: "private",
8
8
  permissions: [],
9
+ typeKeywords: [],
9
10
  };
10
11
  /**
11
12
  * Default values for a new HubGroup Model
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/groups/defaults.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAW;IACzC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;CACY,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/groups/defaults.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAW;IACzC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;CACY,CAAC"}
package/dist/esm/index.js CHANGED
@@ -15,6 +15,7 @@ export * from "./extent";
15
15
  export * from "./groups";
16
16
  export * from "./i18n";
17
17
  export * from "./initiatives";
18
+ export * from "./initiative-templates";
18
19
  export * from "./discussions";
19
20
  export * from "./items";
20
21
  export * from "./models";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,cAAc,wBAAwB,CAAC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,6DAA6D;AAC7D,0DAA0D;AAC1D,cAAc,6BAA6B,CAAC;AAE5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,cAAc,wBAAwB,CAAC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,6DAA6D;AAC7D,0DAA0D;AAC1D,cAAc,6BAA6B,CAAC;AAE5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
@@ -0,0 +1,192 @@
1
+ import { HubItemEntity } from "../core/HubItemEntity";
2
+ import { getEditorConfig } from "../core/schemas/getEditorConfig";
3
+ import { Catalog } from "../search";
4
+ import { DEFAULT_INITIATIVE_TEMPLATE } from "./defaults";
5
+ import { fetchInitiativeTemplate } from "./fetch";
6
+ import { initiativeTemplateToCardModel } from "./view";
7
+ import { cloneObject } from "../util";
8
+ import { createInitiativeTemplate, editorToInitiativeTemplate, updateInitiativeTemplate, deleteInitiativeTemplate, } from "./edit";
9
+ import { enrichEntity } from "../core/enrichEntity";
10
+ /**
11
+ * Hub Initiative Template Class
12
+ */
13
+ export class HubInitiativeTemplate extends HubItemEntity {
14
+ constructor(initiativeTemplate, context) {
15
+ super(initiativeTemplate, context);
16
+ this._catalog = Catalog.fromJson(initiativeTemplate.catalog, this.context);
17
+ }
18
+ get catalog() {
19
+ return this._catalog;
20
+ }
21
+ /**
22
+ * Create an instance from an IHubInitiativeTemplate object
23
+ * @param json - JSON object to create a HubInitiativeTemplate from
24
+ * @param context - ArcGIS context
25
+ * @returns - instance of HubInitiativeTemplate
26
+ */
27
+ static fromJson(json, context) {
28
+ // merge what we have with the default values
29
+ const pojo = this.applyDefaults(json, context);
30
+ return new HubInitiativeTemplate(pojo, context);
31
+ }
32
+ /**
33
+ * Create a new HubInitiativeTemplate, returning a HubInitiativeTemplate instance.
34
+ * Note: This does not persist the HubInitiativeTemplate into the backing store
35
+ * @param partialInitiativeTemplate
36
+ * @param context
37
+ * @param save
38
+ * @returns
39
+ */
40
+ static async create(partialInitiativeTemplate, context, save = false) {
41
+ const pojo = this.applyDefaults(partialInitiativeTemplate, context);
42
+ // return an instance of HubInitiativeTemplate
43
+ const instance = HubInitiativeTemplate.fromJson(pojo, context);
44
+ if (save) {
45
+ await instance.save();
46
+ }
47
+ return instance;
48
+ }
49
+ /**
50
+ * Fetch a HubInitiativeTemplate from the backing store and return a HubInitiativeTemplate instance.
51
+ * @param identifier - Identifier of the initiative template to load
52
+ * @param context
53
+ */
54
+ static async fetch(identifier, context) {
55
+ // fetch the initiative template by id or slug
56
+ try {
57
+ const initiativeTemplate = await fetchInitiativeTemplate(identifier, context.requestOptions);
58
+ // create an instance of HubInitiativeTemplate from the initiative template
59
+ return HubInitiativeTemplate.fromJson(initiativeTemplate, context);
60
+ }
61
+ catch (ex) {
62
+ if (ex.message ===
63
+ "CONT_0001: Item does not exist or is inaccessible.") {
64
+ throw new Error(`Initiative Template not found.`);
65
+ }
66
+ else {
67
+ throw ex;
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Given a partial initiative template, apply defaults to it to ensure that a baseline of properties are set
73
+ * @param partialInitiativeTemplate
74
+ * @param context
75
+ * @returns
76
+ */
77
+ static applyDefaults(partialInitiativeTemplate, context) {
78
+ // ensure we have the orgUrlKey
79
+ if (!partialInitiativeTemplate.orgUrlKey) {
80
+ partialInitiativeTemplate.orgUrlKey = context.portal.urlKey;
81
+ }
82
+ const pojo = Object.assign(Object.assign({}, DEFAULT_INITIATIVE_TEMPLATE), partialInitiativeTemplate);
83
+ return pojo;
84
+ }
85
+ /**
86
+ * Convert the project entity into a card view model that can
87
+ * be consumed by the suite of hub gallery components
88
+ * @param opts - view model options
89
+ * @returns
90
+ */
91
+ convertToCardModel(opts) {
92
+ return initiativeTemplateToCardModel(this.entity, this.context, opts);
93
+ }
94
+ /**
95
+ * Get the editor config for the HubInitiativeTemplate entity.
96
+ * @param i18nScope translation scope to be interpolated into the uiSchema
97
+ * @param type editor type -- corresponds to the returned uiSchema
98
+ */
99
+ async getEditorConfig(i18nScope, type) {
100
+ // delegate to the schema subsystem
101
+ return getEditorConfig(i18nScope, type, this.entity, this.context);
102
+ }
103
+ /**
104
+ * Return the initiative template as an editor object
105
+ * @param editorContext
106
+ */
107
+ async toEditor(editorContext = {}, include = []) {
108
+ // cast the entity to its editor
109
+ const editor = include.length
110
+ ? (await enrichEntity(cloneObject(this.entity), include, this.context.hubRequestOptions))
111
+ : cloneObject(this.entity);
112
+ // for now, just return
113
+ return editor;
114
+ }
115
+ /**
116
+ * Load the initiative template from the editor object
117
+ * @param editor
118
+ */
119
+ async fromEditor(editor) {
120
+ const isCreate = !editor.id;
121
+ // Setting the thumbnailCache will ensure that the thumbnail is updated on next save
122
+ if (editor._thumbnail) {
123
+ if (editor._thumbnail.blob) {
124
+ this.thumbnailCache = {
125
+ file: editor._thumbnail.blob,
126
+ filename: editor._thumbnail.filename,
127
+ clear: false,
128
+ };
129
+ }
130
+ else {
131
+ this.thumbnailCache = {
132
+ clear: true,
133
+ };
134
+ }
135
+ }
136
+ delete editor._thumbnail;
137
+ const entity = editorToInitiativeTemplate(editor, this.context.portal);
138
+ // save, which will also create an entity if we don't have an id for it
139
+ this.entity = entity;
140
+ await this.save();
141
+ return this.entity;
142
+ }
143
+ /**
144
+ * Apply a new state to the instance
145
+ * @param changes
146
+ */
147
+ update(changes) {
148
+ if (this.isDestroyed) {
149
+ throw new Error("HubInitiativeTemplate is already destroyed.");
150
+ }
151
+ // merge partial onto existing entity
152
+ this.entity = Object.assign(Object.assign({}, this.entity), changes);
153
+ // update internal instances
154
+ if (changes.catalog) {
155
+ this._catalog = Catalog.fromJson(this.entity.catalog, this.context);
156
+ }
157
+ }
158
+ /**
159
+ * Save the HubInitiativeTemplate to the backing store.
160
+ * @returns
161
+ */
162
+ async save() {
163
+ if (this.isDestroyed) {
164
+ throw new Error("HubInitiativeTemplate is already destroyed.");
165
+ }
166
+ // get the catalog and permission configs
167
+ this.entity.catalog = this._catalog.toJson();
168
+ if (this.entity.id) {
169
+ // update it
170
+ this.entity = await updateInitiativeTemplate(this.entity, this.context.userRequestOptions);
171
+ }
172
+ else {
173
+ // create it
174
+ this.entity = await createInitiativeTemplate(this.entity, this.context.userRequestOptions);
175
+ }
176
+ // call the after save hook on superclass
177
+ await super.afterSave();
178
+ }
179
+ /**
180
+ * Delete the HubInitiativeTemplate from the store
181
+ * set a flag to indicate that it is destroyed
182
+ * @returns
183
+ */
184
+ async delete() {
185
+ if (this.isDestroyed) {
186
+ throw new Error("HubInitiativeTemplate is already destroyed.");
187
+ }
188
+ this.isDestroyed = true;
189
+ await deleteInitiativeTemplate(this.entity.id, this.context.userRequestOptions);
190
+ }
191
+ }
192
+ //# sourceMappingURL=HubInitiativeTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubInitiativeTemplate.js","sourceRoot":"","sources":["../../../src/initiative-templates/HubInitiativeTemplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Default features for an Initiative Template. These are the features that can be enabled / disabled by the entity owner
3
+ */
4
+ export const InitiativeTemplateDefaultFeatures = {
5
+ // empty for now
6
+ };
7
+ /**
8
+ * Initiative Template Permission Policies
9
+ * These define the requirements any user must meet to perform related actions
10
+ * @private
11
+ */
12
+ export const InitiativeTemplatePermissions = [
13
+ "hub:initiativeTemplate",
14
+ "hub:initiativeTemplate:create",
15
+ "hub:initiativeTemplate:delete",
16
+ "hub:initiativeTemplate:edit",
17
+ "hub:initiativeTemplate:view",
18
+ "hub:initiativeTemplate:workspace:overview",
19
+ "hub:initiativeTemplate:workspace:details",
20
+ "hub:initiativeTemplate:workspace:collaborators",
21
+ "hub:initiativeTemplate:workspace:settings",
22
+ "hub:initiativeTemplate:manage",
23
+ ];
24
+ /**
25
+ * Initiative Template policies
26
+ * @private
27
+ */
28
+ export const InitiativeTemplatePermissionPolicies = [
29
+ {
30
+ permission: "hub:initiativeTemplate",
31
+ availability: ["alpha"],
32
+ services: ["portal"],
33
+ },
34
+ {
35
+ permission: "hub:initiativeTemplate:create",
36
+ dependencies: ["hub:initiativeTemplate"],
37
+ authenticated: true,
38
+ privileges: ["portal:user:createItem"],
39
+ },
40
+ {
41
+ permission: "hub:initiativeTemplate:view",
42
+ dependencies: ["hub:initiativeTemplate"],
43
+ },
44
+ {
45
+ permission: "hub:initiativeTemplate:edit",
46
+ dependencies: ["hub:initiativeTemplate"],
47
+ authenticated: true,
48
+ entityEdit: true,
49
+ },
50
+ {
51
+ permission: "hub:initiativeTemplate:workspace:overview",
52
+ dependencies: ["hub:initiativeTemplate:view"],
53
+ },
54
+ {
55
+ permission: "hub:initiativeTemplate:workspace:details",
56
+ dependencies: ["hub:initiativeTemplate:edit"],
57
+ },
58
+ {
59
+ permission: "hub:initiativeTemplate:workspace:collaborators",
60
+ dependencies: ["hub:initiativeTemplate:edit"],
61
+ },
62
+ {
63
+ permission: "hub:initiativeTemplate:workspace:settings",
64
+ dependencies: ["hub:initiativeTemplate:edit"],
65
+ entityOwner: true,
66
+ },
67
+ {
68
+ permission: "hub:initiativeTemplate:manage",
69
+ dependencies: ["hub:initiativeTemplate:edit"],
70
+ },
71
+ ];
72
+ //# sourceMappingURL=InitiativeTemplateBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeTemplateBusinessRules.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/InitiativeTemplateBusinessRules.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAkB;AAC9D,gBAAgB;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,wBAAwB;IACxB,+BAA+B;IAC/B,+BAA+B;IAC/B,6BAA6B;IAC7B,6BAA6B;IAC7B,2CAA2C;IAC3C,0CAA0C;IAC1C,gDAAgD;IAChD,2CAA2C;IAC3C,+BAA+B;CACvB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAwB;IACvE;QACE,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,wBAAwB,CAAC;KACzC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;IACD;QACE,UAAU,EAAE,0CAA0C;QACtD,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;IACD;QACE,UAAU,EAAE,gDAAgD;QAC5D,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,YAAY,EAAE,CAAC,6BAA6B,CAAC;QAC7C,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { HubItemEntitySchema } from "../../core/schemas/shared/HubItemEntitySchema";
2
+ export const InitiativeTemplateEditorTypes = [
3
+ "hub:initiativeTemplate:edit",
4
+ ];
5
+ export const InitiativeTemplateSchema = Object.assign(Object.assign({}, HubItemEntitySchema), { properties: Object.assign({}, HubItemEntitySchema.properties) });
6
+ //# sourceMappingURL=InitiativeTemplateSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeTemplateSchema.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/InitiativeTemplateSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAKpF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,6BAA6B;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAyB,gCACzD,mBAAmB,KACtB,UAAU,oBACL,mBAAmB,CAAC,UAAU,IAEZ,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { UiSchemaMessageTypes } from "../../core/schemas/types";
2
+ /**
3
+ * @private
4
+ * constructs the complete edit uiSchema for Hub Initiative Templates.
5
+ * This defines how the schema properties should be rendered
6
+ * in the initiative template editing experience.
7
+ *
8
+ * @param i18nScope
9
+ * @param entity
10
+ * @param context
11
+ * @returns
12
+ */
13
+ export const buildUiSchema = async (i18nScope, entity, context) => {
14
+ return {
15
+ type: "Layout",
16
+ elements: [
17
+ {
18
+ type: "Control",
19
+ scope: "/properties/name",
20
+ labelKey: `${i18nScope}.fields.name.label`,
21
+ options: {
22
+ messages: [
23
+ {
24
+ type: UiSchemaMessageTypes.error,
25
+ keyword: "required",
26
+ icon: true,
27
+ labelKey: `${i18nScope}.fields.name.requiredError`,
28
+ },
29
+ ],
30
+ },
31
+ },
32
+ ],
33
+ };
34
+ };
35
+ //# sourceMappingURL=InitiativeTemplateUiSchemaEdit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeTemplateUiSchemaEdit.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,MAA8B,EAC9B,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,GAAG,SAAS,oBAAoB;gBAC1C,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,oBAAoB,CAAC,KAAK;4BAChC,OAAO,EAAE,UAAU;4BACnB,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,GAAG,SAAS,4BAA4B;yBACnD;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { getHubRelativeUrl } from "../../content/_internal/internalContentUtils";
2
+ import { getRelativeWorkspaceUrl } from "../../core";
3
+ import { getItemIdentifier } from "../../items";
4
+ import { getItemThumbnailUrl } from "../../resources";
5
+ import { getItemHomeUrl } from "../../urls";
6
+ /**
7
+ * Compute the links that get appended to a Hub Initiative Template
8
+ * search result and entity
9
+ *
10
+ * @param item
11
+ * @param requestOptions
12
+ * @returns
13
+ */
14
+ export function computeLinks(item, requestOptions) {
15
+ let token;
16
+ if (requestOptions.authentication) {
17
+ const session = requestOptions.authentication;
18
+ token = session.token;
19
+ }
20
+ return {
21
+ self: getItemHomeUrl(item.id, requestOptions),
22
+ siteRelative: getHubRelativeUrl(item.type, getItemIdentifier(item)),
23
+ workspaceRelative: getRelativeWorkspaceUrl(item.type, getItemIdentifier(item)),
24
+ thumbnail: getItemThumbnailUrl(item, requestOptions, token),
25
+ };
26
+ }
27
+ //# sourceMappingURL=computeLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeLinks.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/computeLinks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAmB,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAW,EACX,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC;QAC7C,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnE,iBAAiB,EAAE,uBAAuB,CACxC,IAAI,CAAC,IAAI,EACT,iBAAiB,CAAC,IAAI,CAAC,CACxB;QACD,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC;KAC5D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { isDiscussable } from "../../discussions";
2
+ import { processEntityFeatures } from "../../permissions/_internal/processEntityFeatures";
3
+ import { getItemThumbnailUrl } from "../../resources";
4
+ import { InitiativeTemplateDefaultFeatures } from "./InitiativeTemplateBusinessRules";
5
+ import { computeLinks } from "./computeLinks";
6
+ /**
7
+ * Given a model and an initiative template, set various computed properties that can't be directly mapped
8
+ * @private
9
+ * @param model
10
+ * @param initiativeTemplate
11
+ * @param requestOptions
12
+ * @returns
13
+ */
14
+ export function computeProps(model, initiativeTemplate, requestOptions) {
15
+ var _a;
16
+ let token;
17
+ if (requestOptions.authentication) {
18
+ const session = requestOptions.authentication;
19
+ token = session.token;
20
+ }
21
+ // thumbnail url
22
+ initiativeTemplate.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
23
+ // Handle dates
24
+ initiativeTemplate.createdDate = new Date(model.item.created);
25
+ initiativeTemplate.createdDateSource = "item.created";
26
+ initiativeTemplate.updatedDate = new Date(model.item.modified);
27
+ initiativeTemplate.updatedDateSource = "item.modified";
28
+ initiativeTemplate.isDiscussable = isDiscussable(initiativeTemplate);
29
+ /**
30
+ * Features that can be disabled by the entity owner
31
+ * We don't have explicit features for initiative templates yet,
32
+ * but the groundwork is there
33
+ */
34
+ initiativeTemplate.features = processEntityFeatures(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.features) || {}, InitiativeTemplateDefaultFeatures);
35
+ initiativeTemplate.links = computeLinks(model.item, requestOptions);
36
+ // cast b/c this takes a partial but returns a full initiative template
37
+ return initiativeTemplate;
38
+ }
39
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/computeProps.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,kBAAmD,EACnD,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,gBAAgB;IAChB,kBAAkB,CAAC,YAAY,GAAG,mBAAmB,CACnD,KAAK,CAAC,IAAI,EACV,cAAc,EACd,KAAK,CACN,CAAC;IAEF,eAAe;IACf,kBAAkB,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,kBAAkB,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACtD,kBAAkB,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,kBAAkB,CAAC,iBAAiB,GAAG,eAAe,CAAC;IACvD,kBAAkB,CAAC,aAAa,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAErE;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,GAAG,qBAAqB,CACjD,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,iCAAiC,CAClC,CAAC;IAEF,kBAAkB,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEpE,uEAAuE;IACvE,OAAO,kBAA4C,CAAC;AACtD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { getBasePropertyMap } from "../../core/_internal/getBasePropertyMap";
2
+ /**
3
+ * @private
4
+ * Returns an Array of IPropertyMap objects
5
+ * that define the projection of properties from an IModel to an IHubInitiativeTemplate
6
+ */
7
+ export function getPropertyMap() {
8
+ const map = getBasePropertyMap();
9
+ // Type specific mappings
10
+ map.push({ entityKey: "previewUrl", storeKey: "item.properties.previewUrl" });
11
+ map.push({ entityKey: "siteSolutionId", storeKey: "data.siteSolutionId" });
12
+ map.push({
13
+ entityKey: "recommendedTemplates",
14
+ storeKey: "data.recommendedTemplates",
15
+ });
16
+ return map;
17
+ }
18
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/getPropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC9E,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3E,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { InitiativeTemplateDefaultFeatures } from "./_internal/InitiativeTemplateBusinessRules";
2
+ export const HUB_INITIATIVE_TEMPLATE_ITEM_TYPE = "Hub Initiative Template";
3
+ /**
4
+ * Default values of a IHubInitiativeTemplate
5
+ */
6
+ export const DEFAULT_INITIATIVE_TEMPLATE = {
7
+ catalog: { schemaVersion: 0 },
8
+ name: "No title provided",
9
+ permissions: [],
10
+ tags: [],
11
+ typeKeywords: [HUB_INITIATIVE_TEMPLATE_ITEM_TYPE],
12
+ schemaVersion: 1,
13
+ features: InitiativeTemplateDefaultFeatures,
14
+ values: {},
15
+ };
16
+ export const DEFAULT_INITIATIVE_TEMPLATE_MODEL = {
17
+ item: {
18
+ type: HUB_INITIATIVE_TEMPLATE_ITEM_TYPE,
19
+ title: "No Title Provided",
20
+ description: "No Description Provided",
21
+ snippet: "",
22
+ tags: [],
23
+ typeKeywords: [HUB_INITIATIVE_TEMPLATE_ITEM_TYPE],
24
+ properties: {
25
+ slug: "",
26
+ schemaVersion: 1,
27
+ previewUrl: "",
28
+ },
29
+ },
30
+ data: {
31
+ recommendedTemplates: [],
32
+ siteSolutionId: "",
33
+ },
34
+ };
35
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/initiative-templates/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAEhG,MAAM,CAAC,MAAM,iCAAiC,GAAG,yBAAyB,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAoC;IAC1E,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;IACjD,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,iCAAiC;IAC3C,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAW;IACvD,IAAI,EAAE;QACJ,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;QACjD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,EAAE;SACf;KACF;IACD,IAAI,EAAE;QACJ,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,EAAE;KACnB;CACmB,CAAC"}