@flightctl/ui-components 1.1.0-rc4 → 1.1.0-rc6

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 (659) hide show
  1. package/dist/src/components/Catalog/CatalogItemDetails.css +4 -0
  2. package/dist/src/components/Catalog/CatalogPage.css +10 -0
  3. package/dist/src/components/Catalog/EditWizard/steps/UpdateGraph.css +138 -0
  4. package/dist/src/components/Catalog/InstallWizard/steps/AppConfigStep.css +12 -0
  5. package/dist/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.css +3 -0
  6. package/dist/tsconfig.tsbuildinfo +1 -1
  7. package/dist/types/alpha/index.d.ts +18 -0
  8. package/dist/types/alpha/index.d.ts.map +1 -0
  9. package/dist/types/alpha/index.js +16 -0
  10. package/dist/types/alpha/index.js.map +1 -0
  11. package/dist/types/alpha/models/ApiVersion.d.ts +8 -0
  12. package/dist/types/alpha/models/ApiVersion.d.ts.map +1 -0
  13. package/dist/types/alpha/models/ApiVersion.js +16 -0
  14. package/dist/types/alpha/models/ApiVersion.js.map +1 -0
  15. package/dist/types/alpha/models/Catalog.d.ts +15 -0
  16. package/dist/types/alpha/models/Catalog.d.ts.map +1 -0
  17. package/dist/types/alpha/models/Catalog.js +3 -0
  18. package/dist/types/alpha/models/Catalog.js.map +1 -0
  19. package/dist/types/alpha/models/CatalogItem.d.ts +16 -0
  20. package/dist/types/alpha/models/CatalogItem.d.ts.map +1 -0
  21. package/dist/types/alpha/models/CatalogItem.js +3 -0
  22. package/dist/types/alpha/models/CatalogItem.js.map +1 -0
  23. package/dist/types/alpha/models/CatalogItemArtifact.d.ts +16 -0
  24. package/dist/types/alpha/models/CatalogItemArtifact.d.ts.map +1 -0
  25. package/dist/types/alpha/models/CatalogItemArtifact.js +3 -0
  26. package/dist/types/alpha/models/CatalogItemArtifact.js.map +1 -0
  27. package/dist/types/alpha/models/CatalogItemArtifactType.d.ts +15 -0
  28. package/dist/types/alpha/models/CatalogItemArtifactType.d.ts.map +1 -0
  29. package/dist/types/alpha/models/CatalogItemArtifactType.js +23 -0
  30. package/dist/types/alpha/models/CatalogItemArtifactType.js.map +1 -0
  31. package/dist/types/alpha/models/CatalogItemCategory.d.ts +8 -0
  32. package/dist/types/alpha/models/CatalogItemCategory.d.ts.map +1 -0
  33. package/dist/types/alpha/models/CatalogItemCategory.js +16 -0
  34. package/dist/types/alpha/models/CatalogItemCategory.js.map +1 -0
  35. package/dist/types/alpha/models/CatalogItemConfigurable.d.ts +18 -0
  36. package/dist/types/alpha/models/CatalogItemConfigurable.d.ts.map +1 -0
  37. package/dist/types/alpha/models/CatalogItemConfigurable.js +3 -0
  38. package/dist/types/alpha/models/CatalogItemConfigurable.js.map +1 -0
  39. package/dist/types/alpha/models/CatalogItemDeprecation.d.ts +14 -0
  40. package/dist/types/alpha/models/CatalogItemDeprecation.d.ts.map +1 -0
  41. package/dist/types/alpha/models/CatalogItemDeprecation.js +3 -0
  42. package/dist/types/alpha/models/CatalogItemDeprecation.js.map +1 -0
  43. package/dist/types/alpha/models/CatalogItemList.d.ts +19 -0
  44. package/dist/types/alpha/models/CatalogItemList.d.ts.map +1 -0
  45. package/dist/types/alpha/models/CatalogItemList.js +3 -0
  46. package/dist/types/alpha/models/CatalogItemList.js.map +1 -0
  47. package/dist/types/alpha/models/CatalogItemMeta.d.ts +11 -0
  48. package/dist/types/alpha/models/CatalogItemMeta.d.ts.map +1 -0
  49. package/dist/types/alpha/models/CatalogItemMeta.js +3 -0
  50. package/dist/types/alpha/models/CatalogItemMeta.js.map +1 -0
  51. package/dist/types/alpha/models/CatalogItemSpec.d.ts +52 -0
  52. package/dist/types/alpha/models/CatalogItemSpec.d.ts.map +1 -0
  53. package/dist/types/alpha/models/CatalogItemSpec.js +3 -0
  54. package/dist/types/alpha/models/CatalogItemSpec.js.map +1 -0
  55. package/dist/types/alpha/models/CatalogItemType.d.ts +14 -0
  56. package/dist/types/alpha/models/CatalogItemType.d.ts.map +1 -0
  57. package/dist/types/alpha/models/CatalogItemType.js +22 -0
  58. package/dist/types/alpha/models/CatalogItemType.js.map +1 -0
  59. package/dist/types/alpha/models/CatalogItemVersion.d.ts +38 -0
  60. package/dist/types/alpha/models/CatalogItemVersion.d.ts.map +1 -0
  61. package/dist/types/alpha/models/CatalogItemVersion.js +3 -0
  62. package/dist/types/alpha/models/CatalogItemVersion.js.map +1 -0
  63. package/dist/types/alpha/models/CatalogList.d.ts +19 -0
  64. package/dist/types/alpha/models/CatalogList.d.ts.map +1 -0
  65. package/dist/types/alpha/models/CatalogList.js +3 -0
  66. package/dist/types/alpha/models/CatalogList.js.map +1 -0
  67. package/dist/types/alpha/models/CatalogSpec.d.ts +26 -0
  68. package/dist/types/alpha/models/CatalogSpec.d.ts.map +1 -0
  69. package/dist/types/alpha/models/CatalogSpec.js +3 -0
  70. package/dist/types/alpha/models/CatalogSpec.js.map +1 -0
  71. package/dist/types/alpha/models/CatalogStatus.d.ts +11 -0
  72. package/dist/types/alpha/models/CatalogStatus.d.ts.map +1 -0
  73. package/dist/types/alpha/models/CatalogStatus.js +3 -0
  74. package/dist/types/alpha/models/CatalogStatus.js.map +1 -0
  75. package/dist/types/alpha/models/Status.d.ts +28 -0
  76. package/dist/types/alpha/models/Status.d.ts.map +1 -0
  77. package/dist/types/alpha/models/Status.js +3 -0
  78. package/dist/types/alpha/models/Status.js.map +1 -0
  79. package/dist/types/index.d.ts +1 -0
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/types/index.js +3 -1
  82. package/dist/types/index.js.map +1 -1
  83. package/dist/types/models/ResourceSyncSpec.d.ts +2 -0
  84. package/dist/types/models/ResourceSyncSpec.d.ts.map +1 -1
  85. package/dist/types/models/ResourceSyncType.d.ts +8 -0
  86. package/dist/types/models/ResourceSyncType.d.ts.map +1 -0
  87. package/dist/types/models/ResourceSyncType.js +16 -0
  88. package/dist/types/models/ResourceSyncType.js.map +1 -0
  89. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/AddCatalogItemWizard.d.ts +4 -0
  90. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/AddCatalogItemWizard.d.ts.map +1 -0
  91. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/AddCatalogItemWizard.js +173 -0
  92. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/AddCatalogItemWizard.js.map +1 -0
  93. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/ChannelsSelect.d.ts +9 -0
  94. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/ChannelsSelect.d.ts.map +1 -0
  95. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/ChannelsSelect.js +115 -0
  96. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/ChannelsSelect.js.map +1 -0
  97. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/CreateCatalogModal.d.ts +10 -0
  98. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/CreateCatalogModal.d.ts.map +1 -0
  99. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/CreateCatalogModal.js +100 -0
  100. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/CreateCatalogModal.js.map +1 -0
  101. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/GeneralInfoStep.d.ts +11 -0
  102. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/GeneralInfoStep.d.ts.map +1 -0
  103. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/GeneralInfoStep.js +111 -0
  104. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/GeneralInfoStep.js.map +1 -0
  105. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/ReviewStep.d.ts +9 -0
  106. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/ReviewStep.d.ts.map +1 -0
  107. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/ReviewStep.js +77 -0
  108. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/ReviewStep.js.map +1 -0
  109. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/TypeConfigStep.d.ts +11 -0
  110. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/TypeConfigStep.d.ts.map +1 -0
  111. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/TypeConfigStep.js +90 -0
  112. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/TypeConfigStep.js.map +1 -0
  113. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/VersionStep.d.ts +11 -0
  114. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/VersionStep.d.ts.map +1 -0
  115. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/VersionStep.js +105 -0
  116. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/steps/VersionStep.js.map +1 -0
  117. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/types.d.ts +49 -0
  118. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/types.d.ts.map +1 -0
  119. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/types.js +11 -0
  120. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/types.js.map +1 -0
  121. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/utils.d.ts +53 -0
  122. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/utils.d.ts.map +1 -0
  123. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/utils.js +564 -0
  124. package/dist/ui-components/src/components/Catalog/AddCatalogItemWizard/utils.js.map +1 -0
  125. package/dist/ui-components/src/components/Catalog/CatalogItemCard.d.ts +9 -0
  126. package/dist/ui-components/src/components/Catalog/CatalogItemCard.d.ts.map +1 -0
  127. package/dist/ui-components/src/components/Catalog/CatalogItemCard.js +37 -0
  128. package/dist/ui-components/src/components/Catalog/CatalogItemCard.js.map +1 -0
  129. package/dist/ui-components/src/components/Catalog/CatalogItemDetails.d.ts +34 -0
  130. package/dist/ui-components/src/components/Catalog/CatalogItemDetails.d.ts.map +1 -0
  131. package/dist/ui-components/src/components/Catalog/CatalogItemDetails.js +256 -0
  132. package/dist/ui-components/src/components/Catalog/CatalogItemDetails.js.map +1 -0
  133. package/dist/ui-components/src/components/Catalog/CatalogLandingPage.d.ts +10 -0
  134. package/dist/ui-components/src/components/Catalog/CatalogLandingPage.d.ts.map +1 -0
  135. package/dist/ui-components/src/components/Catalog/CatalogLandingPage.js +106 -0
  136. package/dist/ui-components/src/components/Catalog/CatalogLandingPage.js.map +1 -0
  137. package/dist/ui-components/src/components/Catalog/CatalogPage.d.ts +20 -0
  138. package/dist/ui-components/src/components/Catalog/CatalogPage.d.ts.map +1 -0
  139. package/dist/ui-components/src/components/Catalog/CatalogPage.js +256 -0
  140. package/dist/ui-components/src/components/Catalog/CatalogPage.js.map +1 -0
  141. package/dist/ui-components/src/components/Catalog/CatalogPageToolbar.d.ts +14 -0
  142. package/dist/ui-components/src/components/Catalog/CatalogPageToolbar.d.ts.map +1 -0
  143. package/dist/ui-components/src/components/Catalog/CatalogPageToolbar.js +54 -0
  144. package/dist/ui-components/src/components/Catalog/CatalogPageToolbar.js.map +1 -0
  145. package/dist/ui-components/src/components/Catalog/DeleteCatalogModal.d.ts +10 -0
  146. package/dist/ui-components/src/components/Catalog/DeleteCatalogModal.d.ts.map +1 -0
  147. package/dist/ui-components/src/components/Catalog/DeleteCatalogModal.js +96 -0
  148. package/dist/ui-components/src/components/Catalog/DeleteCatalogModal.js.map +1 -0
  149. package/dist/ui-components/src/components/Catalog/DeprecateModal.d.ts +15 -0
  150. package/dist/ui-components/src/components/Catalog/DeprecateModal.d.ts.map +1 -0
  151. package/dist/ui-components/src/components/Catalog/DeprecateModal.js +80 -0
  152. package/dist/ui-components/src/components/Catalog/DeprecateModal.js.map +1 -0
  153. package/dist/ui-components/src/components/Catalog/EditWizard/EditAppWizard.d.ts +18 -0
  154. package/dist/ui-components/src/components/Catalog/EditWizard/EditAppWizard.d.ts.map +1 -0
  155. package/dist/ui-components/src/components/Catalog/EditWizard/EditAppWizard.js +84 -0
  156. package/dist/ui-components/src/components/Catalog/EditWizard/EditAppWizard.js.map +1 -0
  157. package/dist/ui-components/src/components/Catalog/EditWizard/EditOsWizard.d.ts +16 -0
  158. package/dist/ui-components/src/components/Catalog/EditWizard/EditOsWizard.d.ts.map +1 -0
  159. package/dist/ui-components/src/components/Catalog/EditWizard/EditOsWizard.js +66 -0
  160. package/dist/ui-components/src/components/Catalog/EditWizard/EditOsWizard.js.map +1 -0
  161. package/dist/ui-components/src/components/Catalog/EditWizard/EditWizard.d.ts +4 -0
  162. package/dist/ui-components/src/components/Catalog/EditWizard/EditWizard.d.ts.map +1 -0
  163. package/dist/ui-components/src/components/Catalog/EditWizard/EditWizard.js +164 -0
  164. package/dist/ui-components/src/components/Catalog/EditWizard/EditWizard.js.map +1 -0
  165. package/dist/ui-components/src/components/Catalog/EditWizard/steps/ReviewStep.d.ts +10 -0
  166. package/dist/ui-components/src/components/Catalog/EditWizard/steps/ReviewStep.d.ts.map +1 -0
  167. package/dist/ui-components/src/components/Catalog/EditWizard/steps/ReviewStep.js +37 -0
  168. package/dist/ui-components/src/components/Catalog/EditWizard/steps/ReviewStep.js.map +1 -0
  169. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateGraph.d.ts +12 -0
  170. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateGraph.d.ts.map +1 -0
  171. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateGraph.js +105 -0
  172. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateGraph.js.map +1 -0
  173. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateStep.d.ts +13 -0
  174. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateStep.d.ts.map +1 -0
  175. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateStep.js +97 -0
  176. package/dist/ui-components/src/components/Catalog/EditWizard/steps/UpdateStep.js.map +1 -0
  177. package/dist/ui-components/src/components/Catalog/EditWizard/types.d.ts +3 -0
  178. package/dist/ui-components/src/components/Catalog/EditWizard/types.d.ts.map +1 -0
  179. package/dist/ui-components/src/components/Catalog/EditWizard/types.js.map +1 -0
  180. package/dist/ui-components/src/components/Catalog/ImportCatalogWizard/ImportCatalogWizard.d.ts +4 -0
  181. package/dist/ui-components/src/components/Catalog/ImportCatalogWizard/ImportCatalogWizard.d.ts.map +1 -0
  182. package/dist/ui-components/src/components/Catalog/ImportCatalogWizard/ImportCatalogWizard.js +14 -0
  183. package/dist/ui-components/src/components/Catalog/ImportCatalogWizard/ImportCatalogWizard.js.map +1 -0
  184. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallAppWizard.d.ts +11 -0
  185. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallAppWizard.d.ts.map +1 -0
  186. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallAppWizard.js +140 -0
  187. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallAppWizard.js.map +1 -0
  188. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallOsWizard.d.ts +11 -0
  189. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallOsWizard.d.ts.map +1 -0
  190. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallOsWizard.js +120 -0
  191. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallOsWizard.js.map +1 -0
  192. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallWizard.d.ts +4 -0
  193. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallWizard.d.ts.map +1 -0
  194. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallWizard.js +58 -0
  195. package/dist/ui-components/src/components/Catalog/InstallWizard/InstallWizard.js.map +1 -0
  196. package/dist/ui-components/src/components/Catalog/InstallWizard/UpdateSuccessPage.d.ts +8 -0
  197. package/dist/ui-components/src/components/Catalog/InstallWizard/UpdateSuccessPage.d.ts.map +1 -0
  198. package/dist/ui-components/src/components/Catalog/InstallWizard/UpdateSuccessPage.js +44 -0
  199. package/dist/ui-components/src/components/Catalog/InstallWizard/UpdateSuccessPage.js.map +1 -0
  200. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/AppConfigStep.d.ts +18 -0
  201. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/AppConfigStep.d.ts.map +1 -0
  202. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/AppConfigStep.js +100 -0
  203. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/AppConfigStep.js.map +1 -0
  204. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/ReviewStep.d.ts +9 -0
  205. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/ReviewStep.d.ts.map +1 -0
  206. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/ReviewStep.js +140 -0
  207. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/ReviewStep.js.map +1 -0
  208. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SelectTargetStep.d.ts +11 -0
  209. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SelectTargetStep.d.ts.map +1 -0
  210. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SelectTargetStep.js +151 -0
  211. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SelectTargetStep.js.map +1 -0
  212. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SpecificationsStep.d.ts +22 -0
  213. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SpecificationsStep.d.ts.map +1 -0
  214. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SpecificationsStep.js +192 -0
  215. package/dist/ui-components/src/components/Catalog/InstallWizard/steps/SpecificationsStep.js.map +1 -0
  216. package/dist/ui-components/src/components/Catalog/InstallWizard/types.d.ts +31 -0
  217. package/dist/ui-components/src/components/Catalog/InstallWizard/types.d.ts.map +1 -0
  218. package/dist/ui-components/src/components/Catalog/InstallWizard/types.js +8 -0
  219. package/dist/ui-components/src/components/Catalog/InstallWizard/types.js.map +1 -0
  220. package/dist/ui-components/src/components/Catalog/InstallWizard/utils.d.ts +7 -0
  221. package/dist/ui-components/src/components/Catalog/InstallWizard/utils.d.ts.map +1 -0
  222. package/dist/ui-components/src/components/Catalog/InstallWizard/utils.js +76 -0
  223. package/dist/ui-components/src/components/Catalog/InstallWizard/utils.js.map +1 -0
  224. package/dist/ui-components/src/components/Catalog/InstalledSoftware.d.ts +20 -0
  225. package/dist/ui-components/src/components/Catalog/InstalledSoftware.d.ts.map +1 -0
  226. package/dist/ui-components/src/components/Catalog/InstalledSoftware.js +178 -0
  227. package/dist/ui-components/src/components/Catalog/InstalledSoftware.js.map +1 -0
  228. package/dist/ui-components/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.d.ts +21 -0
  229. package/dist/ui-components/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.d.ts.map +1 -0
  230. package/dist/ui-components/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.js +41 -0
  231. package/dist/ui-components/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.js.map +1 -0
  232. package/dist/ui-components/src/components/Catalog/const.d.ts +12 -0
  233. package/dist/ui-components/src/components/Catalog/const.d.ts.map +1 -0
  234. package/dist/ui-components/src/components/Catalog/const.js +19 -0
  235. package/dist/ui-components/src/components/Catalog/const.js.map +1 -0
  236. package/dist/ui-components/src/components/Catalog/useCatalogFilter.d.ts +12 -0
  237. package/dist/ui-components/src/components/Catalog/useCatalogFilter.d.ts.map +1 -0
  238. package/dist/ui-components/src/components/Catalog/useCatalogFilter.js +20 -0
  239. package/dist/ui-components/src/components/Catalog/useCatalogFilter.js.map +1 -0
  240. package/dist/ui-components/src/components/Catalog/useCatalogs.d.ts +12 -0
  241. package/dist/ui-components/src/components/Catalog/useCatalogs.d.ts.map +1 -0
  242. package/dist/ui-components/src/components/Catalog/useCatalogs.js +78 -0
  243. package/dist/ui-components/src/components/Catalog/useCatalogs.js.map +1 -0
  244. package/dist/ui-components/src/components/Catalog/useSubmitCatalogForm.d.ts +11 -0
  245. package/dist/ui-components/src/components/Catalog/useSubmitCatalogForm.d.ts.map +1 -0
  246. package/dist/ui-components/src/components/Catalog/useSubmitCatalogForm.js +51 -0
  247. package/dist/ui-components/src/components/Catalog/useSubmitCatalogForm.js.map +1 -0
  248. package/dist/ui-components/src/components/Catalog/utils.d.ts +40 -0
  249. package/dist/ui-components/src/components/Catalog/utils.d.ts.map +1 -0
  250. package/dist/ui-components/src/components/Catalog/utils.js +304 -0
  251. package/dist/ui-components/src/components/Catalog/utils.js.map +1 -0
  252. package/dist/ui-components/src/components/DetailsPage/DetailsPage.d.ts +3 -1
  253. package/dist/ui-components/src/components/DetailsPage/DetailsPage.d.ts.map +1 -1
  254. package/dist/ui-components/src/components/DetailsPage/DetailsPage.js +2 -2
  255. package/dist/ui-components/src/components/DetailsPage/DetailsPage.js.map +1 -1
  256. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsCatalog.d.ts +10 -0
  257. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsCatalog.d.ts.map +1 -0
  258. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsCatalog.js +58 -0
  259. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsCatalog.js.map +1 -0
  260. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
  261. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.js +5 -2
  262. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -1
  263. package/dist/ui-components/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.d.ts.map +1 -1
  264. package/dist/ui-components/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.js +3 -3
  265. package/dist/ui-components/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.js.map +1 -1
  266. package/dist/ui-components/src/components/Device/DevicesPage/DecommissionedDevicesTable.d.ts.map +1 -1
  267. package/dist/ui-components/src/components/Device/DevicesPage/DecommissionedDevicesTable.js +2 -2
  268. package/dist/ui-components/src/components/Device/DevicesPage/DecommissionedDevicesTable.js.map +1 -1
  269. package/dist/ui-components/src/components/Device/DevicesPage/DevicesPage.d.ts.map +1 -1
  270. package/dist/ui-components/src/components/Device/DevicesPage/DevicesPage.js +1 -1
  271. package/dist/ui-components/src/components/Device/DevicesPage/DevicesPage.js.map +1 -1
  272. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDeviceTableRow.d.ts +10 -6
  273. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDeviceTableRow.d.ts.map +1 -1
  274. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDeviceTableRow.js +20 -18
  275. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDeviceTableRow.js.map +1 -1
  276. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDevicesTable.d.ts +3 -0
  277. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDevicesTable.d.ts.map +1 -1
  278. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDevicesTable.js +14 -6
  279. package/dist/ui-components/src/components/Device/DevicesPage/EnrolledDevicesTable.js.map +1 -1
  280. package/dist/ui-components/src/components/Device/DevicesPage/useDevices.d.ts +30 -1
  281. package/dist/ui-components/src/components/Device/DevicesPage/useDevices.d.ts.map +1 -1
  282. package/dist/ui-components/src/components/Device/DevicesPage/useDevices.js +40 -4
  283. package/dist/ui-components/src/components/Device/DevicesPage/useDevices.js.map +1 -1
  284. package/dist/ui-components/src/components/Device/EditDeviceWizard/EditDeviceWizard.js +1 -1
  285. package/dist/ui-components/src/components/Device/EditDeviceWizard/EditDeviceWizard.js.map +1 -1
  286. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.js +3 -3
  287. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.js.map +1 -1
  288. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js +3 -3
  289. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js.map +1 -1
  290. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts +2 -1
  291. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts.map +1 -1
  292. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js +16 -10
  293. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js.map +1 -1
  294. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.js +3 -3
  295. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.js.map +1 -1
  296. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.js +3 -3
  297. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.js.map +1 -1
  298. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js +3 -3
  299. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js.map +1 -1
  300. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.js +3 -3
  301. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.js.map +1 -1
  302. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.d.ts +2 -1
  303. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.d.ts.map +1 -1
  304. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js +9 -3
  305. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js.map +1 -1
  306. package/dist/ui-components/src/components/Device/EditDeviceWizard/utils.d.ts +23 -23
  307. package/dist/ui-components/src/components/DynamicForm/DynamicForm.d.ts +29 -0
  308. package/dist/ui-components/src/components/DynamicForm/DynamicForm.d.ts.map +1 -0
  309. package/dist/ui-components/src/components/DynamicForm/DynamicForm.js +35 -0
  310. package/dist/ui-components/src/components/DynamicForm/DynamicForm.js.map +1 -0
  311. package/dist/ui-components/src/components/DynamicForm/FieldErrors.d.ts +6 -0
  312. package/dist/ui-components/src/components/DynamicForm/FieldErrors.d.ts.map +1 -0
  313. package/dist/ui-components/src/components/DynamicForm/FieldErrors.js +12 -0
  314. package/dist/ui-components/src/components/DynamicForm/FieldErrors.js.map +1 -0
  315. package/dist/ui-components/src/components/DynamicForm/FieldTemplate.d.ts +9 -0
  316. package/dist/ui-components/src/components/DynamicForm/FieldTemplate.d.ts.map +1 -0
  317. package/dist/ui-components/src/components/DynamicForm/FieldTemplate.js +135 -0
  318. package/dist/ui-components/src/components/DynamicForm/FieldTemplate.js.map +1 -0
  319. package/dist/ui-components/src/components/DynamicForm/FormWidget.d.ts +12 -0
  320. package/dist/ui-components/src/components/DynamicForm/FormWidget.d.ts.map +1 -0
  321. package/dist/ui-components/src/components/DynamicForm/FormWidget.js +75 -0
  322. package/dist/ui-components/src/components/DynamicForm/FormWidget.js.map +1 -0
  323. package/dist/ui-components/src/components/DynamicForm/VolumeImageField.d.ts +21 -0
  324. package/dist/ui-components/src/components/DynamicForm/VolumeImageField.d.ts.map +1 -0
  325. package/dist/ui-components/src/components/DynamicForm/VolumeImageField.js +160 -0
  326. package/dist/ui-components/src/components/DynamicForm/VolumeImageField.js.map +1 -0
  327. package/dist/ui-components/src/components/EnrollmentRequest/EnrollmentRequestTableRow.d.ts.map +1 -1
  328. package/dist/ui-components/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js +2 -2
  329. package/dist/ui-components/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js.map +1 -1
  330. package/dist/ui-components/src/components/Fleet/CreateFleet/CreateFleetWizard.d.ts.map +1 -1
  331. package/dist/ui-components/src/components/Fleet/CreateFleet/CreateFleetWizard.js +1 -1
  332. package/dist/ui-components/src/components/Fleet/CreateFleet/CreateFleetWizard.js.map +1 -1
  333. package/dist/ui-components/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.js +3 -3
  334. package/dist/ui-components/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.js.map +1 -1
  335. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsCatalog.d.ts +9 -0
  336. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsCatalog.d.ts.map +1 -0
  337. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsCatalog.js +45 -0
  338. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsCatalog.js.map +1 -0
  339. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsPage.d.ts.map +1 -1
  340. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsPage.js +4 -1
  341. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetDetailsPage.js.map +1 -1
  342. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetOwnerLink.d.ts +0 -1
  343. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetOwnerLink.d.ts.map +1 -1
  344. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetOwnerLink.js +5 -6
  345. package/dist/ui-components/src/components/Fleet/FleetDetails/FleetOwnerLink.js.map +1 -1
  346. package/dist/ui-components/src/components/Fleet/FleetRow.d.ts +6 -3
  347. package/dist/ui-components/src/components/Fleet/FleetRow.d.ts.map +1 -1
  348. package/dist/ui-components/src/components/Fleet/FleetRow.js +10 -6
  349. package/dist/ui-components/src/components/Fleet/FleetRow.js.map +1 -1
  350. package/dist/ui-components/src/components/Fleet/FleetsPage.d.ts +3 -0
  351. package/dist/ui-components/src/components/Fleet/FleetsPage.d.ts.map +1 -1
  352. package/dist/ui-components/src/components/Fleet/FleetsPage.js +6 -4
  353. package/dist/ui-components/src/components/Fleet/FleetsPage.js.map +1 -1
  354. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.d.ts +2 -2
  355. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.d.ts.map +1 -1
  356. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js +3 -105
  357. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js.map +1 -1
  358. package/dist/ui-components/src/components/Fleet/useFleets.d.ts +1 -0
  359. package/dist/ui-components/src/components/Fleet/useFleets.d.ts.map +1 -1
  360. package/dist/ui-components/src/components/Fleet/useFleets.js.map +1 -1
  361. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.d.ts.map +1 -1
  362. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.js +0 -2
  363. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.js.map +1 -1
  364. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsTab.js +1 -1
  365. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsTab.js.map +1 -1
  366. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildYaml.js +1 -1
  367. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildYaml.js.map +1 -1
  368. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.d.ts.map +1 -1
  369. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.js +0 -1
  370. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.js.map +1 -1
  371. package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.d.ts.map +1 -1
  372. package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.js +0 -3
  373. package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.js.map +1 -1
  374. package/dist/ui-components/src/components/ImportResourceWizard/ImportResourceWizard.d.ts +5 -0
  375. package/dist/ui-components/src/components/ImportResourceWizard/ImportResourceWizard.d.ts.map +1 -0
  376. package/dist/ui-components/src/components/ImportResourceWizard/ImportResourceWizard.js +118 -0
  377. package/dist/ui-components/src/components/ImportResourceWizard/ImportResourceWizard.js.map +1 -0
  378. package/dist/ui-components/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/RepositoryStep.d.ts +2 -2
  379. package/dist/ui-components/src/components/ImportResourceWizard/steps/RepositoryStep.d.ts.map +1 -0
  380. package/dist/ui-components/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/RepositoryStep.js +10 -10
  381. package/dist/ui-components/src/components/ImportResourceWizard/steps/RepositoryStep.js.map +1 -0
  382. package/dist/ui-components/src/components/ImportResourceWizard/steps/ResourceSyncStep.d.ts +12 -0
  383. package/dist/ui-components/src/components/ImportResourceWizard/steps/ResourceSyncStep.d.ts.map +1 -0
  384. package/dist/ui-components/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/ResourceSyncStep.js +5 -7
  385. package/dist/ui-components/src/components/ImportResourceWizard/steps/ResourceSyncStep.js.map +1 -0
  386. package/dist/ui-components/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/ReviewStep.d.ts +2 -1
  387. package/dist/ui-components/src/components/ImportResourceWizard/steps/ReviewStep.d.ts.map +1 -0
  388. package/dist/ui-components/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/ReviewStep.js +5 -5
  389. package/dist/ui-components/src/components/ImportResourceWizard/steps/ReviewStep.js.map +1 -0
  390. package/dist/ui-components/src/components/ImportResourceWizard/types.d.ts +19 -0
  391. package/dist/ui-components/src/components/ImportResourceWizard/types.d.ts.map +1 -0
  392. package/dist/ui-components/src/components/ImportResourceWizard/types.js +3 -0
  393. package/dist/ui-components/src/components/ImportResourceWizard/types.js.map +1 -0
  394. package/dist/ui-components/src/components/ListPage/ListPage.js +1 -1
  395. package/dist/ui-components/src/components/ListPage/ListPage.js.map +1 -1
  396. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepository.d.ts.map +1 -1
  397. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepository.js +4 -3
  398. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepository.js.map +1 -1
  399. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.js +1 -1
  400. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -1
  401. package/dist/ui-components/src/components/Repository/CreateRepository/CreateResourceSyncsForm.d.ts +7 -2
  402. package/dist/ui-components/src/components/Repository/CreateRepository/CreateResourceSyncsForm.d.ts.map +1 -1
  403. package/dist/ui-components/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js +19 -6
  404. package/dist/ui-components/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js.map +1 -1
  405. package/dist/ui-components/src/components/Repository/CreateRepository/types.d.ts +2 -1
  406. package/dist/ui-components/src/components/Repository/CreateRepository/types.d.ts.map +1 -1
  407. package/dist/ui-components/src/components/Repository/CreateRepository/utils.d.ts +3 -2
  408. package/dist/ui-components/src/components/Repository/CreateRepository/utils.d.ts.map +1 -1
  409. package/dist/ui-components/src/components/Repository/CreateRepository/utils.js +7 -4
  410. package/dist/ui-components/src/components/Repository/CreateRepository/utils.js.map +1 -1
  411. package/dist/ui-components/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.d.ts.map +1 -1
  412. package/dist/ui-components/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js +2 -3
  413. package/dist/ui-components/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js.map +1 -1
  414. package/dist/ui-components/src/components/ResourceSync/RepositoryResourceSyncList.d.ts.map +1 -1
  415. package/dist/ui-components/src/components/ResourceSync/RepositoryResourceSyncList.js +20 -6
  416. package/dist/ui-components/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -1
  417. package/dist/ui-components/src/components/ResourceSync/ResourceSyncImportStatus.d.ts +6 -0
  418. package/dist/ui-components/src/components/ResourceSync/ResourceSyncImportStatus.d.ts.map +1 -0
  419. package/dist/ui-components/src/components/{Fleet/FleetResourceSyncs.js → ResourceSync/ResourceSyncImportStatus.js} +24 -17
  420. package/dist/ui-components/src/components/ResourceSync/ResourceSyncImportStatus.js.map +1 -0
  421. package/dist/ui-components/src/components/Table/Table.d.ts +5 -2
  422. package/dist/ui-components/src/components/Table/Table.d.ts.map +1 -1
  423. package/dist/ui-components/src/components/Table/Table.js +2 -1
  424. package/dist/ui-components/src/components/Table/Table.js.map +1 -1
  425. package/dist/ui-components/src/components/common/CodeEditor/YamlEditor.d.ts +1 -0
  426. package/dist/ui-components/src/components/common/CodeEditor/YamlEditor.d.ts.map +1 -1
  427. package/dist/ui-components/src/components/common/CodeEditor/YamlEditor.js +5 -3
  428. package/dist/ui-components/src/components/common/CodeEditor/YamlEditor.js.map +1 -1
  429. package/dist/ui-components/src/components/common/CodeEditor/YamlEditorBase.d.ts +5 -3
  430. package/dist/ui-components/src/components/common/CodeEditor/YamlEditorBase.d.ts.map +1 -1
  431. package/dist/ui-components/src/components/common/CodeEditor/YamlEditorBase.js +5 -5
  432. package/dist/ui-components/src/components/common/CodeEditor/YamlEditorBase.js.map +1 -1
  433. package/dist/ui-components/src/components/common/FlightCtlWizardFooter.d.ts +3 -1
  434. package/dist/ui-components/src/components/common/FlightCtlWizardFooter.d.ts.map +1 -1
  435. package/dist/ui-components/src/components/common/FlightCtlWizardFooter.js +6 -6
  436. package/dist/ui-components/src/components/common/FlightCtlWizardFooter.js.map +1 -1
  437. package/dist/ui-components/src/components/common/LabelsView.d.ts.map +1 -1
  438. package/dist/ui-components/src/components/common/LabelsView.js +2 -1
  439. package/dist/ui-components/src/components/common/LabelsView.js.map +1 -1
  440. package/dist/ui-components/src/components/common/PageNavigation.js +1 -1
  441. package/dist/ui-components/src/components/common/PageNavigation.js.map +1 -1
  442. package/dist/ui-components/src/components/common/ResourceLink.d.ts +2 -1
  443. package/dist/ui-components/src/components/common/ResourceLink.d.ts.map +1 -1
  444. package/dist/ui-components/src/components/common/ResourceLink.js +2 -2
  445. package/dist/ui-components/src/components/common/ResourceLink.js.map +1 -1
  446. package/dist/ui-components/src/components/common/WithHelperText.js +1 -1
  447. package/dist/ui-components/src/components/common/WithHelperText.js.map +1 -1
  448. package/dist/ui-components/src/components/common/WithTooltip.d.ts +3 -2
  449. package/dist/ui-components/src/components/common/WithTooltip.d.ts.map +1 -1
  450. package/dist/ui-components/src/components/common/WithTooltip.js +6 -1
  451. package/dist/ui-components/src/components/common/WithTooltip.js.map +1 -1
  452. package/dist/ui-components/src/components/form/ExpandableFormSection.d.ts +2 -1
  453. package/dist/ui-components/src/components/form/ExpandableFormSection.d.ts.map +1 -1
  454. package/dist/ui-components/src/components/form/ExpandableFormSection.js +2 -2
  455. package/dist/ui-components/src/components/form/ExpandableFormSection.js.map +1 -1
  456. package/dist/ui-components/src/components/form/FormSelect.d.ts +9 -2
  457. package/dist/ui-components/src/components/form/FormSelect.d.ts.map +1 -1
  458. package/dist/ui-components/src/components/form/FormSelect.js +16 -5
  459. package/dist/ui-components/src/components/form/FormSelect.js.map +1 -1
  460. package/dist/ui-components/src/components/form/IconUploadField.d.ts +8 -0
  461. package/dist/ui-components/src/components/form/IconUploadField.d.ts.map +1 -0
  462. package/dist/ui-components/src/components/form/IconUploadField.js +50 -0
  463. package/dist/ui-components/src/components/form/IconUploadField.js.map +1 -0
  464. package/dist/ui-components/src/components/form/LabelsField.d.ts.map +1 -1
  465. package/dist/ui-components/src/components/form/LabelsField.js +7 -3
  466. package/dist/ui-components/src/components/form/LabelsField.js.map +1 -1
  467. package/dist/ui-components/src/components/form/TextListField.d.ts +1 -1
  468. package/dist/ui-components/src/components/form/validations.d.ts +17 -1
  469. package/dist/ui-components/src/components/form/validations.d.ts.map +1 -1
  470. package/dist/ui-components/src/components/form/validations.js +14 -9
  471. package/dist/ui-components/src/components/form/validations.js.map +1 -1
  472. package/dist/ui-components/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.d.ts.map +1 -1
  473. package/dist/ui-components/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js +1 -1
  474. package/dist/ui-components/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js.map +1 -1
  475. package/dist/ui-components/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.d.ts.map +1 -1
  476. package/dist/ui-components/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.js +1 -1
  477. package/dist/ui-components/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.js.map +1 -1
  478. package/dist/ui-components/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.d.ts.map +1 -1
  479. package/dist/ui-components/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js +1 -1
  480. package/dist/ui-components/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js.map +1 -1
  481. package/dist/ui-components/src/constants.d.ts +1 -1
  482. package/dist/ui-components/src/constants.d.ts.map +1 -1
  483. package/dist/ui-components/src/constants.js +3 -0
  484. package/dist/ui-components/src/constants.js.map +1 -1
  485. package/dist/ui-components/src/hooks/useAppContext.d.ts +7 -0
  486. package/dist/ui-components/src/hooks/useAppContext.d.ts.map +1 -1
  487. package/dist/ui-components/src/hooks/useAppContext.js +7 -0
  488. package/dist/ui-components/src/hooks/useAppContext.js.map +1 -1
  489. package/dist/ui-components/src/hooks/useAppLinks.d.ts +1 -1
  490. package/dist/ui-components/src/hooks/useAppLinks.d.ts.map +1 -1
  491. package/dist/ui-components/src/hooks/useAppLinks.js +6 -0
  492. package/dist/ui-components/src/hooks/useAppLinks.js.map +1 -1
  493. package/dist/ui-components/src/hooks/useFetch.d.ts.map +1 -1
  494. package/dist/ui-components/src/hooks/useFetchPeriodically.d.ts.map +1 -1
  495. package/dist/ui-components/src/hooks/useFetchPeriodically.js +4 -4
  496. package/dist/ui-components/src/hooks/useFetchPeriodically.js.map +1 -1
  497. package/dist/ui-components/src/hooks/useNavigate.d.ts +10 -3
  498. package/dist/ui-components/src/hooks/useNavigate.d.ts.map +1 -1
  499. package/dist/ui-components/src/hooks/useNavigate.js +11 -3
  500. package/dist/ui-components/src/hooks/useNavigate.js.map +1 -1
  501. package/dist/ui-components/src/types/extraTypes.d.ts +0 -1
  502. package/dist/ui-components/src/types/extraTypes.d.ts.map +1 -1
  503. package/dist/ui-components/src/types/extraTypes.js.map +1 -1
  504. package/dist/ui-components/src/types/rbac.d.ts +2 -0
  505. package/dist/ui-components/src/types/rbac.d.ts.map +1 -1
  506. package/dist/ui-components/src/types/rbac.js +2 -0
  507. package/dist/ui-components/src/types/rbac.js.map +1 -1
  508. package/dist/ui-components/src/utils/api.d.ts +2 -1
  509. package/dist/ui-components/src/utils/api.d.ts.map +1 -1
  510. package/dist/ui-components/src/utils/api.js.map +1 -1
  511. package/dist/ui-components/src/utils/patch.d.ts.map +1 -1
  512. package/dist/ui-components/src/utils/patch.js +2 -1
  513. package/dist/ui-components/src/utils/patch.js.map +1 -1
  514. package/dist/ui-components/src/utils/resource.d.ts +2 -1
  515. package/dist/ui-components/src/utils/resource.d.ts.map +1 -1
  516. package/dist/ui-components/src/utils/resource.js +13 -1
  517. package/dist/ui-components/src/utils/resource.js.map +1 -1
  518. package/package.json +9 -3
  519. package/src/components/Catalog/AddCatalogItemWizard/AddCatalogItemWizard.tsx +278 -0
  520. package/src/components/Catalog/AddCatalogItemWizard/ChannelsSelect.tsx +214 -0
  521. package/src/components/Catalog/AddCatalogItemWizard/CreateCatalogModal.tsx +179 -0
  522. package/src/components/Catalog/AddCatalogItemWizard/steps/GeneralInfoStep.tsx +196 -0
  523. package/src/components/Catalog/AddCatalogItemWizard/steps/ReviewStep.tsx +145 -0
  524. package/src/components/Catalog/AddCatalogItemWizard/steps/TypeConfigStep.tsx +203 -0
  525. package/src/components/Catalog/AddCatalogItemWizard/steps/VersionStep.tsx +249 -0
  526. package/src/components/Catalog/AddCatalogItemWizard/types.ts +58 -0
  527. package/src/components/Catalog/AddCatalogItemWizard/utils.ts +655 -0
  528. package/src/components/Catalog/CatalogItemCard.tsx +86 -0
  529. package/src/components/Catalog/CatalogItemDetails.css +4 -0
  530. package/src/components/Catalog/CatalogItemDetails.tsx +480 -0
  531. package/src/components/Catalog/CatalogLandingPage.tsx +258 -0
  532. package/src/components/Catalog/CatalogPage.css +10 -0
  533. package/src/components/Catalog/CatalogPage.tsx +464 -0
  534. package/src/components/Catalog/CatalogPageToolbar.tsx +92 -0
  535. package/src/components/Catalog/DeleteCatalogModal.tsx +163 -0
  536. package/src/components/Catalog/DeprecateModal.tsx +149 -0
  537. package/src/components/Catalog/EditWizard/EditAppWizard.tsx +181 -0
  538. package/src/components/Catalog/EditWizard/EditOsWizard.tsx +136 -0
  539. package/src/components/Catalog/EditWizard/EditWizard.tsx +300 -0
  540. package/src/components/Catalog/EditWizard/steps/ReviewStep.tsx +83 -0
  541. package/src/components/Catalog/EditWizard/steps/UpdateGraph.css +138 -0
  542. package/src/components/Catalog/EditWizard/steps/UpdateGraph.tsx +169 -0
  543. package/src/components/Catalog/EditWizard/steps/UpdateStep.tsx +184 -0
  544. package/src/components/Catalog/EditWizard/types.ts +3 -0
  545. package/src/components/Catalog/ImportCatalogWizard/ImportCatalogWizard.tsx +23 -0
  546. package/src/components/Catalog/InstallWizard/InstallAppWizard.tsx +228 -0
  547. package/src/components/Catalog/InstallWizard/InstallOsWizard.tsx +199 -0
  548. package/src/components/Catalog/InstallWizard/InstallWizard.tsx +95 -0
  549. package/src/components/Catalog/InstallWizard/UpdateSuccessPage.tsx +80 -0
  550. package/src/components/Catalog/InstallWizard/steps/AppConfigStep.css +12 -0
  551. package/src/components/Catalog/InstallWizard/steps/AppConfigStep.tsx +202 -0
  552. package/src/components/Catalog/InstallWizard/steps/ReviewStep.tsx +193 -0
  553. package/src/components/Catalog/InstallWizard/steps/SelectTargetStep.tsx +312 -0
  554. package/src/components/Catalog/InstallWizard/steps/SpecificationsStep.tsx +353 -0
  555. package/src/components/Catalog/InstallWizard/types.ts +37 -0
  556. package/src/components/Catalog/InstallWizard/utils.ts +106 -0
  557. package/src/components/Catalog/InstalledSoftware.tsx +359 -0
  558. package/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.css +3 -0
  559. package/src/components/Catalog/ResourceCatalog/ResourceCatalogPage.tsx +79 -0
  560. package/src/components/Catalog/const.ts +16 -0
  561. package/src/components/Catalog/useCatalogFilter.ts +26 -0
  562. package/src/components/Catalog/useCatalogs.ts +118 -0
  563. package/src/components/Catalog/useSubmitCatalogForm.ts +60 -0
  564. package/src/components/Catalog/utils.ts +404 -0
  565. package/src/components/DetailsPage/DetailsPage.tsx +9 -1
  566. package/src/components/Device/DeviceDetails/DeviceDetailsCatalog.tsx +94 -0
  567. package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +10 -1
  568. package/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.tsx +7 -3
  569. package/src/components/Device/DevicesPage/DecommissionedDevicesTable.tsx +2 -0
  570. package/src/components/Device/DevicesPage/DevicesPage.tsx +7 -1
  571. package/src/components/Device/DevicesPage/EnrolledDeviceTableRow.tsx +90 -61
  572. package/src/components/Device/DevicesPage/EnrolledDevicesTable.tsx +12 -2
  573. package/src/components/Device/DevicesPage/useDevices.ts +71 -3
  574. package/src/components/Device/EditDeviceWizard/EditDeviceWizard.tsx +1 -1
  575. package/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.tsx +3 -3
  576. package/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.tsx +3 -3
  577. package/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.tsx +51 -22
  578. package/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.tsx +3 -3
  579. package/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.tsx +3 -3
  580. package/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.tsx +3 -3
  581. package/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.tsx +3 -3
  582. package/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.tsx +31 -11
  583. package/src/components/DynamicForm/DynamicForm.tsx +96 -0
  584. package/src/components/DynamicForm/FieldErrors.tsx +17 -0
  585. package/src/components/DynamicForm/FieldTemplate.tsx +246 -0
  586. package/src/components/DynamicForm/FormWidget.tsx +218 -0
  587. package/src/components/DynamicForm/VolumeImageField.tsx +374 -0
  588. package/src/components/EnrollmentRequest/EnrollmentRequestTableRow.tsx +6 -2
  589. package/src/components/Fleet/CreateFleet/CreateFleetWizard.tsx +3 -1
  590. package/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.tsx +3 -3
  591. package/src/components/Fleet/FleetDetails/FleetDetailsCatalog.tsx +66 -0
  592. package/src/components/Fleet/FleetDetails/FleetDetailsPage.tsx +4 -1
  593. package/src/components/Fleet/FleetDetails/FleetOwnerLink.tsx +5 -6
  594. package/src/components/Fleet/FleetRow.tsx +23 -12
  595. package/src/components/Fleet/FleetsPage.tsx +4 -4
  596. package/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.tsx +16 -203
  597. package/src/components/Fleet/useFleets.ts +1 -0
  598. package/src/components/ImageBuilds/CreateImageBuildWizard/utils.ts +1 -5
  599. package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsTab.tsx +1 -1
  600. package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildYaml.tsx +1 -1
  601. package/src/components/ImageBuilds/ImageBuildRow.tsx +0 -1
  602. package/src/components/ImageBuilds/ImageBuildsPage.tsx +0 -3
  603. package/src/components/ImportResourceWizard/ImportResourceWizard.tsx +226 -0
  604. package/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/RepositoryStep.tsx +21 -19
  605. package/src/components/ImportResourceWizard/steps/ResourceSyncStep.tsx +41 -0
  606. package/src/components/{Fleet/ImportFleetWizard → ImportResourceWizard}/steps/ReviewStep.tsx +10 -15
  607. package/src/components/ImportResourceWizard/types.ts +18 -0
  608. package/src/components/ListPage/ListPage.tsx +1 -1
  609. package/src/components/Repository/CreateRepository/CreateRepository.tsx +6 -5
  610. package/src/components/Repository/CreateRepository/CreateRepositoryForm.tsx +1 -1
  611. package/src/components/Repository/CreateRepository/CreateResourceSyncsForm.tsx +59 -8
  612. package/src/components/Repository/CreateRepository/types.ts +2 -1
  613. package/src/components/Repository/CreateRepository/utils.ts +7 -2
  614. package/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.tsx +6 -9
  615. package/src/components/ResourceSync/RepositoryResourceSyncList.tsx +30 -15
  616. package/src/components/{Fleet/FleetResourceSyncs.tsx → ResourceSync/ResourceSyncImportStatus.tsx} +42 -18
  617. package/src/components/Table/Table.tsx +7 -2
  618. package/src/components/common/CodeEditor/YamlEditor.tsx +1 -1
  619. package/src/components/common/CodeEditor/YamlEditorBase.tsx +45 -34
  620. package/src/components/common/FlightCtlWizardFooter.tsx +25 -4
  621. package/src/components/common/LabelsView.tsx +2 -1
  622. package/src/components/common/PageNavigation.tsx +1 -1
  623. package/src/components/common/ResourceLink.tsx +15 -2
  624. package/src/components/common/WithHelperText.tsx +1 -1
  625. package/src/components/common/WithTooltip.tsx +13 -3
  626. package/src/components/form/ExpandableFormSection.tsx +3 -1
  627. package/src/components/form/FormSelect.tsx +51 -5
  628. package/src/components/form/IconUploadField.tsx +88 -0
  629. package/src/components/form/LabelsField.tsx +29 -25
  630. package/src/components/form/validations.ts +5 -3
  631. package/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.tsx +1 -0
  632. package/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.tsx +1 -0
  633. package/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.tsx +8 -1
  634. package/src/constants.ts +4 -1
  635. package/src/hooks/useAppContext.tsx +7 -0
  636. package/src/hooks/useAppLinks.ts +8 -2
  637. package/src/hooks/useFetchPeriodically.ts +4 -5
  638. package/src/hooks/useNavigate.tsx +18 -5
  639. package/src/types/extraTypes.ts +0 -1
  640. package/src/types/rbac.ts +2 -0
  641. package/src/utils/api.ts +3 -1
  642. package/src/utils/patch.ts +2 -1
  643. package/src/utils/resource.ts +13 -1
  644. package/dist/ui-components/src/components/Fleet/FleetResourceSyncs.d.ts +0 -4
  645. package/dist/ui-components/src/components/Fleet/FleetResourceSyncs.d.ts.map +0 -1
  646. package/dist/ui-components/src/components/Fleet/FleetResourceSyncs.js.map +0 -1
  647. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.d.ts.map +0 -1
  648. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +0 -1
  649. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.d.ts +0 -8
  650. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.d.ts.map +0 -1
  651. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js.map +0 -1
  652. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.d.ts.map +0 -1
  653. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js.map +0 -1
  654. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/types.d.ts +0 -6
  655. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/types.d.ts.map +0 -1
  656. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/types.js.map +0 -1
  657. package/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.tsx +0 -40
  658. package/src/components/Fleet/ImportFleetWizard/types.ts +0 -6
  659. /package/dist/ui-components/src/components/{Fleet/ImportFleetWizard → Catalog/EditWizard}/types.js +0 -0
@@ -0,0 +1,214 @@
1
+ import * as React from 'react';
2
+ import {
3
+ Button,
4
+ HelperText,
5
+ HelperTextItem,
6
+ Label,
7
+ LabelGroup,
8
+ MenuToggle,
9
+ Select,
10
+ SelectList,
11
+ SelectOption,
12
+ TextInputGroup,
13
+ TextInputGroupMain,
14
+ TextInputGroupUtilities,
15
+ } from '@patternfly/react-core';
16
+ import { TimesIcon } from '@patternfly/react-icons/dist/js/icons/times-icon';
17
+ import { CheckIcon } from '@patternfly/react-icons/dist/js/icons/check-icon';
18
+ import { useField } from 'formik';
19
+
20
+ import { useTranslation } from '../../../hooks/useTranslation';
21
+ import ErrorHelperText from '../../form/FieldHelperText';
22
+ import { getDnsSubdomainValidations, getKubernetesDnsSubdomainErrors } from '../../form/validations';
23
+
24
+ type ChannelsSelectProps = {
25
+ name: string;
26
+ availableChannels: string[];
27
+ isDisabled?: boolean;
28
+ };
29
+
30
+ const ChannelsSelect = ({ name, availableChannels, isDisabled }: ChannelsSelectProps) => {
31
+ const { t } = useTranslation();
32
+ const [{ value: selected }, meta, { setValue, setTouched }] = useField<string[]>(name);
33
+
34
+ const [isOpen, setIsOpen] = React.useState(false);
35
+ const [inputValue, setInputValue] = React.useState('');
36
+ const textInputRef = React.useRef<HTMLInputElement>(null);
37
+
38
+ const allOptions = React.useMemo(() => {
39
+ const merged = new Set([...availableChannels, ...selected]);
40
+ return Array.from(merged).sort();
41
+ }, [availableChannels, selected]);
42
+
43
+ const trimmedInput = inputValue.trim();
44
+ const filteredOptions = allOptions.filter(
45
+ (option) => !trimmedInput || option.toLowerCase().includes(trimmedInput.toLowerCase()),
46
+ );
47
+ const isNewChannel = trimmedInput && !allOptions.some((opt) => opt.toLowerCase() === trimmedInput.toLowerCase());
48
+ const dnsErrors = trimmedInput ? getKubernetesDnsSubdomainErrors(trimmedInput) : {};
49
+ const isValidDnsSubdomain = trimmedInput ? Object.keys(dnsErrors).length === 0 : true;
50
+ const showCreateOption = isNewChannel && isValidDnsSubdomain;
51
+
52
+ const toggleSelection = (channel: string) => {
53
+ const newSelected = selected.includes(channel) ? selected.filter((s) => s !== channel) : [...selected, channel];
54
+ void setValue(newSelected, true);
55
+ setTouched(true);
56
+ };
57
+
58
+ const handleSelect = (_event: React.MouseEvent | undefined, value: string | number | undefined) => {
59
+ if (value === undefined) {
60
+ return;
61
+ }
62
+ const channel = String(value);
63
+ toggleSelection(channel);
64
+ setInputValue('');
65
+ textInputRef.current?.focus();
66
+ };
67
+
68
+ const handleCreateOption = () => {
69
+ const newChannel = inputValue.trim();
70
+ if (newChannel && !selected.includes(newChannel)) {
71
+ void setValue([...selected, newChannel], true);
72
+ setTouched(true);
73
+ }
74
+ setInputValue('');
75
+ textInputRef.current?.focus();
76
+ };
77
+
78
+ const removeChannel = (channel: string) => {
79
+ void setValue(
80
+ selected.filter((s) => s !== channel),
81
+ true,
82
+ );
83
+ setTouched(true);
84
+ };
85
+
86
+ const clearAll = () => {
87
+ void setValue([], true);
88
+ setTouched(true);
89
+ };
90
+
91
+ const onInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {
92
+ if (event.key !== 'Enter' || !isNewChannel) {
93
+ return;
94
+ }
95
+ event.preventDefault();
96
+ if (isValidDnsSubdomain) {
97
+ handleCreateOption();
98
+ }
99
+ };
100
+
101
+ return (
102
+ <>
103
+ <Select
104
+ isOpen={isOpen}
105
+ selected={selected}
106
+ onSelect={handleSelect}
107
+ onOpenChange={(open) => {
108
+ if (!open && !meta.touched) {
109
+ setTouched(true);
110
+ }
111
+ setIsOpen(open);
112
+ setInputValue('');
113
+ }}
114
+ toggle={(toggleRef) => (
115
+ <MenuToggle
116
+ ref={toggleRef}
117
+ variant="typeahead"
118
+ onClick={() => {
119
+ if (isDisabled) {
120
+ return;
121
+ }
122
+ setIsOpen(!isOpen);
123
+ textInputRef.current?.focus();
124
+ }}
125
+ isExpanded={isOpen}
126
+ isFullWidth
127
+ isDisabled={isDisabled}
128
+ >
129
+ <TextInputGroup isPlain>
130
+ <TextInputGroupMain
131
+ value={inputValue}
132
+ onChange={(_, val) => {
133
+ setInputValue(val);
134
+ if (!isOpen) {
135
+ setIsOpen(true);
136
+ }
137
+ }}
138
+ onKeyDown={onInputKeyDown}
139
+ onClick={() => {
140
+ if (!isOpen) {
141
+ setIsOpen(true);
142
+ }
143
+ }}
144
+ placeholder={selected.length === 0 ? t('Select or create channels') : undefined}
145
+ autoComplete="off"
146
+ innerRef={textInputRef}
147
+ >
148
+ <LabelGroup>
149
+ {selected.map((channel) => (
150
+ <Label key={channel} onClose={() => removeChannel(channel)}>
151
+ {channel}
152
+ </Label>
153
+ ))}
154
+ </LabelGroup>
155
+ </TextInputGroupMain>
156
+ {selected.length > 0 && (
157
+ <TextInputGroupUtilities>
158
+ <Button
159
+ variant="plain"
160
+ onClick={(e) => {
161
+ e.stopPropagation();
162
+ clearAll();
163
+ }}
164
+ aria-label={t('Clear all')}
165
+ >
166
+ <TimesIcon />
167
+ </Button>
168
+ </TextInputGroupUtilities>
169
+ )}
170
+ </TextInputGroup>
171
+ </MenuToggle>
172
+ )}
173
+ >
174
+ <SelectList>
175
+ {filteredOptions.map((option) => (
176
+ <SelectOption key={option} value={option} hasCheckbox isSelected={selected.includes(option)}>
177
+ {option}
178
+ </SelectOption>
179
+ ))}
180
+ {showCreateOption && (
181
+ <SelectOption value={trimmedInput} onClick={handleCreateOption}>
182
+ {t('Create "{{channel}}" channel', { channel: trimmedInput })}
183
+ </SelectOption>
184
+ )}
185
+ {isNewChannel && !isValidDnsSubdomain && (
186
+ <SelectOption isDisabled>
187
+ <HelperText component="ul">
188
+ {getDnsSubdomainValidations(t).map((validation) => {
189
+ const hasError = dnsErrors[validation.key] === 'failed';
190
+ return (
191
+ <HelperTextItem
192
+ key={validation.key}
193
+ component="li"
194
+ variant={hasError ? 'error' : 'success'}
195
+ icon={hasError ? <TimesIcon /> : <CheckIcon />}
196
+ >
197
+ {validation.message}
198
+ </HelperTextItem>
199
+ );
200
+ })}
201
+ </HelperText>
202
+ </SelectOption>
203
+ )}
204
+ {!filteredOptions.length && !isNewChannel && (
205
+ <SelectOption isDisabled>{t('Type to create new channel')}</SelectOption>
206
+ )}
207
+ </SelectList>
208
+ </Select>
209
+ <ErrorHelperText meta={meta} />
210
+ </>
211
+ );
212
+ };
213
+
214
+ export default ChannelsSelect;
@@ -0,0 +1,179 @@
1
+ import * as React from 'react';
2
+ import {
3
+ Alert,
4
+ Button,
5
+ FormGroup,
6
+ Modal,
7
+ ModalBody,
8
+ ModalFooter,
9
+ ModalHeader,
10
+ Split,
11
+ SplitItem,
12
+ Stack,
13
+ StackItem,
14
+ } from '@patternfly/react-core';
15
+ import { Formik } from 'formik';
16
+ import * as Yup from 'yup';
17
+ import { Catalog } from '@flightctl/types/alpha';
18
+
19
+ import { useFetch } from '../../../hooks/useFetch';
20
+ import { useTranslation } from '../../../hooks/useTranslation';
21
+ import { getDnsSubdomainValidations, validKubernetesDnsSubdomain, validURLSchema } from '../../form/validations';
22
+ import FlightCtlForm from '../../form/FlightCtlForm';
23
+ import NameField from '../../form/NameField';
24
+ import TextField from '../../form/TextField';
25
+ import IconUploadField from '../../form/IconUploadField';
26
+ import { getErrorMessage } from '../../../utils/error';
27
+ import TextAreaField from '../../form/TextAreaField';
28
+ import { CreateCatalogFormValues } from './types';
29
+ import { getCatalogPatches, getCatalogResource } from './utils';
30
+
31
+ type CreateCatalogModalProps = {
32
+ onClose: VoidFunction;
33
+ onSuccess: (catalog: Catalog) => void;
34
+ catalog?: Catalog;
35
+ };
36
+
37
+ const CreateCatalogModal = ({ onClose, onSuccess, catalog }: CreateCatalogModalProps) => {
38
+ const { t } = useTranslation();
39
+ const { post, patch } = useFetch();
40
+ const [error, setError] = React.useState<unknown>();
41
+
42
+ const isEdit = !!catalog;
43
+ const isReadOnly = !!catalog?.metadata?.owner;
44
+
45
+ const validationSchema = React.useMemo(
46
+ () =>
47
+ Yup.object().shape({
48
+ name: validKubernetesDnsSubdomain(t, { isRequired: true }),
49
+ displayName: Yup.string(),
50
+ shortDescription: Yup.string(),
51
+ icon: Yup.string().test(
52
+ 'url-or-data-uri',
53
+ t('Must be a valid URL or data URI'),
54
+ (value) => !value || /^(https?:\/\/|data:)/.test(value),
55
+ ),
56
+ provider: Yup.string(),
57
+ support: validURLSchema(t),
58
+ }),
59
+ [t],
60
+ );
61
+
62
+ const initialValues: CreateCatalogFormValues = {
63
+ name: catalog?.metadata.name || '',
64
+ displayName: catalog?.spec.displayName || '',
65
+ shortDescription: catalog?.spec.shortDescription || '',
66
+ icon: catalog?.spec.icon || '',
67
+ provider: catalog?.spec.provider || '',
68
+ support: catalog?.spec.support || '',
69
+ };
70
+
71
+ let title: string;
72
+ if (isReadOnly) {
73
+ title = t('View catalog');
74
+ } else if (isEdit) {
75
+ title = t('Edit catalog');
76
+ } else {
77
+ title = t('Create catalog');
78
+ }
79
+
80
+ return (
81
+ <Modal variant="medium" isOpen onClose={onClose}>
82
+ <Formik<CreateCatalogFormValues>
83
+ initialValues={initialValues}
84
+ validationSchema={validationSchema}
85
+ validateOnMount
86
+ onSubmit={async (values) => {
87
+ if (isReadOnly) {
88
+ return;
89
+ }
90
+ setError(undefined);
91
+ try {
92
+ if (isEdit) {
93
+ const patches = getCatalogPatches(catalog, values);
94
+ if (patches.length) {
95
+ const result = await patch<Catalog>(`catalogs/${catalog.metadata.name}`, patches);
96
+ onSuccess(result);
97
+ }
98
+ } else {
99
+ const result = await post<Catalog>('catalogs', getCatalogResource(values));
100
+ onSuccess(result);
101
+ }
102
+ } catch (e) {
103
+ setError(e);
104
+ }
105
+ }}
106
+ >
107
+ {({ isSubmitting, isValid, submitForm, dirty }) => (
108
+ <>
109
+ <ModalHeader title={title} />
110
+ <ModalBody>
111
+ <FlightCtlForm>
112
+ <NameField
113
+ name="name"
114
+ aria-label={t('Name')}
115
+ isRequired
116
+ isDisabled={isEdit}
117
+ resourceType="catalogs"
118
+ validations={getDnsSubdomainValidations(t)}
119
+ />
120
+ <FormGroup label={t('Display name')}>
121
+ <TextField name="displayName" aria-label={t('Display name')} isDisabled={isReadOnly} />
122
+ </FormGroup>
123
+ <FormGroup label={t('Short description')}>
124
+ <TextAreaField name="shortDescription" aria-label={t('Short description')} isDisabled={isReadOnly} />
125
+ </FormGroup>
126
+ <FormGroup label={t('Icon')}>
127
+ <IconUploadField name="icon" isDisabled={isReadOnly} />
128
+ </FormGroup>
129
+ <FormGroup label={t('Provider')}>
130
+ <TextField name="provider" aria-label={t('Provider')} isDisabled={isReadOnly} />
131
+ </FormGroup>
132
+ <FormGroup label={t('Support')}>
133
+ <TextField
134
+ name="support"
135
+ aria-label={t('Support')}
136
+ placeholder="https://example.com/support"
137
+ isDisabled={isReadOnly}
138
+ />
139
+ </FormGroup>
140
+ </FlightCtlForm>
141
+ </ModalBody>
142
+ <ModalFooter>
143
+ <Stack hasGutter>
144
+ {!!error && (
145
+ <StackItem>
146
+ <Alert variant="danger" isInline title={getErrorMessage(error)} />
147
+ </StackItem>
148
+ )}
149
+ <StackItem>
150
+ <Split hasGutter>
151
+ {!isReadOnly && (
152
+ <SplitItem>
153
+ <Button
154
+ variant="primary"
155
+ onClick={submitForm}
156
+ isDisabled={!isValid || isSubmitting || !dirty}
157
+ isLoading={isSubmitting}
158
+ >
159
+ {isEdit ? t('Save') : t('Create')}
160
+ </Button>
161
+ </SplitItem>
162
+ )}
163
+ <SplitItem>
164
+ <Button variant="link" onClick={onClose} isDisabled={isSubmitting}>
165
+ {isReadOnly ? t('Close') : t('Cancel')}
166
+ </Button>
167
+ </SplitItem>
168
+ </Split>
169
+ </StackItem>
170
+ </Stack>
171
+ </ModalFooter>
172
+ </>
173
+ )}
174
+ </Formik>
175
+ </Modal>
176
+ );
177
+ };
178
+
179
+ export default CreateCatalogModal;
@@ -0,0 +1,196 @@
1
+ import * as React from 'react';
2
+ import { Alert, FormGroup, Grid, GridItem, Spinner, Title } from '@patternfly/react-core';
3
+ import { FormikErrors, useFormikContext } from 'formik';
4
+ import { CatalogList } from '@flightctl/types/alpha';
5
+
6
+ import { useTranslation } from '../../../../hooks/useTranslation';
7
+ import { AddCatalogItemFormValues } from '../types';
8
+ import NameField from '../../../form/NameField';
9
+ import { getDnsSubdomainValidations } from '../../../form/validations';
10
+ import TextField from '../../../form/TextField';
11
+ import TextAreaField from '../../../form/TextAreaField';
12
+ import IconUploadField from '../../../form/IconUploadField';
13
+ import CheckboxField from '../../../form/CheckboxField';
14
+ import FlightCtlForm from '../../../form/FlightCtlForm';
15
+ import FormSelect, { SelectItem } from '../../../form/FormSelect';
16
+ import CreateCatalogModal from '../CreateCatalogModal';
17
+ import { useFetchPeriodically } from '../../../../hooks/useFetchPeriodically';
18
+ import { getErrorMessage } from '../../../../utils/error';
19
+ import { usePermissionsContext } from '../../../common/PermissionsContext';
20
+ import { RESOURCE, VERB } from '../../../../types/rbac';
21
+
22
+ export const generalInfoStepId = 'general-info';
23
+
24
+ export const isGeneralInfoStepValid = (errors: FormikErrors<AddCatalogItemFormValues>) => {
25
+ return (
26
+ !errors.catalog &&
27
+ !errors.name &&
28
+ !errors.homepage &&
29
+ !errors.supportUrl &&
30
+ !errors.documentationUrl &&
31
+ !errors.deprecationMessage &&
32
+ !errors.icon
33
+ );
34
+ };
35
+
36
+ const createCatalogPermission = [{ kind: RESOURCE.CATALOG, verb: VERB.CREATE }];
37
+
38
+ const GeneralInfoStep = ({ isEdit, isReadOnly }: { isEdit?: boolean; isReadOnly?: boolean }) => {
39
+ const { t } = useTranslation();
40
+ const { values, setFieldValue } = useFormikContext<AddCatalogItemFormValues>();
41
+ const [createModalOpen, setCreateModalOpen] = React.useState(false);
42
+ const { checkPermissions } = usePermissionsContext();
43
+ const [canCreateCatalog] = checkPermissions(createCatalogPermission);
44
+
45
+ const [catalogList, catalogsLoading, catalogsErr, refetch] = useFetchPeriodically<CatalogList>({
46
+ endpoint: 'catalogs',
47
+ });
48
+
49
+ React.useEffect(() => {
50
+ const unownedCatalogs = (catalogList?.items || []).filter((c) => !c.metadata.owner);
51
+ if (unownedCatalogs.length === 1 && !values.catalog) {
52
+ void setFieldValue('catalog', unownedCatalogs[0].metadata.name, true);
53
+ }
54
+ }, [catalogList?.items, values.catalog, setFieldValue]);
55
+
56
+ const catalogItems = (catalogList?.items || [])
57
+ .sort((a, b) => {
58
+ const aOwned = !!a.metadata.owner;
59
+ const bOwned = !!b.metadata.owner;
60
+ if (aOwned !== bOwned) {
61
+ return aOwned ? 1 : -1;
62
+ }
63
+ const aName = a.spec.displayName || a.metadata.name || '';
64
+ const bName = b.spec.displayName || b.metadata.name || '';
65
+ return aName.localeCompare(bName);
66
+ })
67
+ .reduce<Record<string, SelectItem>>((acc, curr) => {
68
+ acc[curr.metadata.name || ''] = {
69
+ label: curr.spec.displayName || curr.metadata.name,
70
+ isDisabled: !!curr.metadata.owner,
71
+ description: curr.metadata.owner ? t('Catalog is owned by Resource sync') : undefined,
72
+ };
73
+ return acc;
74
+ }, {});
75
+
76
+ let content: React.ReactNode = (
77
+ <FlightCtlForm>
78
+ <FormGroup label={t('Catalog')} isRequired>
79
+ <FormSelect
80
+ name="catalog"
81
+ items={catalogItems}
82
+ placeholderText={t('Select a catalog')}
83
+ isDisabled={isEdit || isReadOnly}
84
+ addAction={
85
+ !isEdit && !isReadOnly && canCreateCatalog
86
+ ? { label: t('Create catalog'), onAdd: () => setCreateModalOpen(true) }
87
+ : undefined
88
+ }
89
+ />
90
+ </FormGroup>
91
+ <NameField
92
+ name="name"
93
+ aria-label={t('Name')}
94
+ isRequired
95
+ isDisabled={isEdit || isReadOnly}
96
+ resourceType={`catalogs/${values.catalog}/items`}
97
+ validations={getDnsSubdomainValidations(t)}
98
+ />
99
+ <FormGroup label={t('Display name')}>
100
+ <TextField name="displayName" aria-label={t('Display name')} isDisabled={isReadOnly} />
101
+ </FormGroup>
102
+ <FormGroup label={t('Icon')}>
103
+ <IconUploadField name="icon" isDisabled={isReadOnly} />
104
+ </FormGroup>
105
+ <FormGroup label={t('Short description')}>
106
+ <TextAreaField name="shortDescription" aria-label={t('Short description')} isDisabled={isReadOnly} />
107
+ </FormGroup>
108
+ <FormGroup label={t('Provider')}>
109
+ <TextField name="provider" aria-label={t('Provider')} isDisabled={isReadOnly} />
110
+ </FormGroup>
111
+ <FormGroup label={t('Homepage')}>
112
+ <TextField
113
+ name="homepage"
114
+ aria-label={t('Homepage')}
115
+ placeholder="https://example.com"
116
+ isDisabled={isReadOnly}
117
+ />
118
+ </FormGroup>
119
+ <FormGroup label={t('Support URL')}>
120
+ <TextField
121
+ name="supportUrl"
122
+ aria-label={t('Support URL')}
123
+ placeholder="https://example.com/support"
124
+ isDisabled={isReadOnly}
125
+ />
126
+ </FormGroup>
127
+ <FormGroup label={t('Documentation URL')}>
128
+ <TextField
129
+ name="documentationUrl"
130
+ aria-label={t('Documentation URL')}
131
+ placeholder="https://example.com/docs"
132
+ isDisabled={isReadOnly}
133
+ />
134
+ </FormGroup>
135
+ {isEdit && (
136
+ <CheckboxField name="deprecated" label={t('Deprecated')} isDisabled={isReadOnly}>
137
+ <FormGroup label={t('Deprecation message')} isRequired>
138
+ <TextAreaField
139
+ name="deprecationMessage"
140
+ aria-label={t('Deprecation message')}
141
+ isRequired
142
+ isDisabled={isReadOnly}
143
+ />
144
+ </FormGroup>
145
+ <FormGroup label={t('Replacement')}>
146
+ <TextField
147
+ name="deprecationReplacement"
148
+ aria-label={t('Replacement')}
149
+ helperText={t('Name of the replacement catalog item')}
150
+ isDisabled={isReadOnly}
151
+ />
152
+ </FormGroup>
153
+ </CheckboxField>
154
+ )}
155
+ </FlightCtlForm>
156
+ );
157
+
158
+ if (catalogsLoading) {
159
+ content = <Spinner />;
160
+ }
161
+
162
+ if (catalogsErr) {
163
+ content = (
164
+ <Alert isInline variant="danger" title={t('Failed to fetch catalogs')}>
165
+ {getErrorMessage(catalogsErr)}
166
+ </Alert>
167
+ );
168
+ }
169
+
170
+ return (
171
+ <>
172
+ <Grid hasGutter>
173
+ <GridItem>
174
+ <Title headingLevel="h2" size="lg">
175
+ {t('General info')}
176
+ </Title>
177
+ </GridItem>
178
+ <GridItem lg={6} md={8} sm={12}>
179
+ {content}
180
+ </GridItem>
181
+ </Grid>
182
+ {createModalOpen && (
183
+ <CreateCatalogModal
184
+ onClose={() => setCreateModalOpen(false)}
185
+ onSuccess={(catalog) => {
186
+ setCreateModalOpen(false);
187
+ refetch();
188
+ void setFieldValue('catalog', catalog.metadata.name, true);
189
+ }}
190
+ />
191
+ )}
192
+ </>
193
+ );
194
+ };
195
+
196
+ export default GeneralInfoStep;