@devtron-labs/devtron-fe-common-lib 1.2.0 → 1.2.2-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/@code-editor-Dnez6SNz.js +19415 -0
  2. package/dist/@common-rjsf-CxHLK-MT.js +571 -0
  3. package/dist/@framer-motion-DHY98qq3.js +3437 -0
  4. package/dist/@moment-C_WeV3Af.js +2609 -0
  5. package/dist/@monaco-editor-34kqzg3G.js +70451 -0
  6. package/dist/@react-dates-WNnwjI5S.js +7708 -0
  7. package/dist/@react-select-BbR996pa.js +2636 -0
  8. package/dist/@vendor-RU8AW1bK.js +20473 -0
  9. package/dist/Common/CIPipeline.Types.d.ts +26 -1
  10. package/dist/Common/Constants.d.ts +1 -0
  11. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +1 -1
  12. package/dist/Common/CustomTagSelector/Types.d.ts +19 -14
  13. package/dist/Common/Helper.d.ts +2 -1
  14. package/dist/Common/Types.d.ts +20 -2
  15. package/dist/Shared/Components/DynamicDataTable/DynamicDataTable.d.ts +2 -0
  16. package/dist/Shared/Components/DynamicDataTable/DynamicDataTableHeader.d.ts +2 -0
  17. package/dist/Shared/Components/DynamicDataTable/DynamicDataTableRow.d.ts +2 -0
  18. package/dist/Shared/Components/DynamicDataTable/index.d.ts +2 -0
  19. package/dist/Shared/Components/DynamicDataTable/types.d.ts +178 -0
  20. package/dist/Shared/Components/DynamicDataTable/utils.d.ts +5 -0
  21. package/dist/Shared/Components/SelectPicker/type.d.ts +5 -4
  22. package/dist/Shared/Components/SelectTextArea/SelectTextArea.d.ts +2 -0
  23. package/dist/Shared/Components/SelectTextArea/index.d.ts +2 -0
  24. package/dist/Shared/Components/SelectTextArea/types.d.ts +12 -0
  25. package/dist/Shared/Components/index.d.ts +1 -0
  26. package/dist/Shared/types.d.ts +19 -1
  27. package/dist/assets/@code-editor.css +1 -0
  28. package/dist/assets/@common-rjsf.css +1 -0
  29. package/dist/assets/@monaco-editor.css +1 -0
  30. package/dist/assets/@react-dates.css +1 -0
  31. package/dist/assets/@vendor.css +1 -0
  32. package/dist/assets/app-not-deployed.acdf0271.png +0 -0
  33. package/dist/assets/delete-medium.baa284da.svg +1 -0
  34. package/dist/assets/empty-noresult@2x.022ec87c.png +0 -0
  35. package/dist/assets/ic-abort.0d2773e9.svg +1 -0
  36. package/dist/assets/ic-aborted.e7288a6c.svg +1 -0
  37. package/dist/assets/ic-add.cfaa779b.svg +1 -0
  38. package/dist/assets/ic-appstatus-cancelled.05bb3352.svg +1 -0
  39. package/dist/assets/ic-arrow-backward.d951202a.svg +1 -0
  40. package/dist/assets/ic-arrow-counter-clockwise.01cbb0e1.svg +1 -0
  41. package/dist/assets/ic-arrow-down.18e5e332.svg +1 -0
  42. package/dist/assets/ic-arrow-forward.a2b8ab45.svg +1 -0
  43. package/dist/assets/ic-arrow-out.6aea09d0.svg +1 -0
  44. package/dist/assets/ic-arrow-right.f942ee03.svg +1 -0
  45. package/dist/assets/ic-arrow-square-out.1be837ac.svg +1 -0
  46. package/dist/assets/ic-arrow-up-down.945ee496.svg +1 -0
  47. package/dist/assets/ic-bold.2140b7c6.svg +1 -0
  48. package/dist/assets/ic-book-open.7cb94ee8.svg +1 -0
  49. package/dist/assets/ic-bot.f1d4abcc.svg +1 -0
  50. package/dist/assets/ic-branch.8db43d66.svg +1 -0
  51. package/dist/assets/ic-calendar.984accc5.svg +1 -0
  52. package/dist/assets/ic-calender-blank.963e3423.svg +1 -0
  53. package/dist/assets/ic-caret-down-small.2cc24039.svg +1 -0
  54. package/dist/assets/ic-caret-down.1666c029.svg +1 -0
  55. package/dist/assets/ic-caret-left-small.fe00c98d.svg +1 -0
  56. package/dist/assets/ic-charts.f41e185f.svg +1 -0
  57. package/dist/assets/ic-chat-circle-dots.e15514f8.svg +1 -0
  58. package/dist/assets/ic-check-all.0376437d.svg +1 -0
  59. package/dist/assets/ic-check-circle.ad80d835.svg +1 -0
  60. package/dist/assets/ic-check-grey.f556e371.svg +1 -0
  61. package/dist/assets/ic-check-square.2a3d3fb9.svg +1 -0
  62. package/dist/assets/ic-check.27c51fa1.svg +1 -0
  63. package/dist/assets/ic-checked-list.aba26c40.svg +1 -0
  64. package/dist/assets/ic-chevron-down.fc70d7a7.svg +1 -0
  65. package/dist/assets/ic-circle.05f86ff6.svg +1 -0
  66. package/dist/assets/ic-clair.ba79956f.svg +1 -0
  67. package/dist/assets/ic-clear-square.e60de021.svg +1 -0
  68. package/dist/assets/ic-clock.c21a2d14.svg +1 -0
  69. package/dist/assets/ic-close.43adc42a.svg +1 -0
  70. package/dist/assets/ic-code-commit.161a6b3c.svg +1 -0
  71. package/dist/assets/ic-code.1d1d4dd8.svg +1 -0
  72. package/dist/assets/ic-collapse-all.fd7b27b1.svg +1 -0
  73. package/dist/assets/ic-commit.e3113dd9.svg +1 -0
  74. package/dist/assets/ic-compare.0ee3e4cf.svg +1 -0
  75. package/dist/assets/ic-copy.94cee0fb.svg +1 -0
  76. package/dist/assets/ic-cpu.8be677ee.svg +1 -0
  77. package/dist/assets/ic-cross.01e03666.svg +1 -0
  78. package/dist/assets/ic-delete-interactive.304dd293.svg +1 -0
  79. package/dist/assets/ic-diff-file-added.0deb6763.svg +1 -0
  80. package/dist/assets/ic-diff-file-removed.2ed80281.svg +1 -0
  81. package/dist/assets/ic-diff-file-updated.c8740f72.svg +1 -0
  82. package/dist/assets/ic-disconnected.551d6161.svg +1 -0
  83. package/dist/assets/ic-discord-fill.1a1b291d.svg +1 -0
  84. package/dist/assets/ic-docker.48906f4d.svg +1 -0
  85. package/dist/assets/ic-download.c30437cd.svg +1 -0
  86. package/dist/assets/ic-drag.3f71e8aa.svg +1 -0
  87. package/dist/assets/ic-edit-file.a782640f.svg +1 -0
  88. package/dist/assets/ic-enter.cab07082.svg +1 -0
  89. package/dist/assets/ic-error-cross.bf21e563.svg +1 -0
  90. package/dist/assets/ic-error-exclamation.c224de09.svg +1 -0
  91. package/dist/assets/ic-error-medium.ea542259.svg +1 -0
  92. package/dist/assets/ic-error.a25d2f0d.svg +1 -0
  93. package/dist/assets/ic-errorInfo.d8d674b8.svg +1 -0
  94. package/dist/assets/ic-exit-fullscreen.1ae582d1.svg +1 -0
  95. package/dist/assets/ic-expand-all.a0744f9f.svg +1 -0
  96. package/dist/assets/ic-expand.ab992205.svg +1 -0
  97. package/dist/assets/ic-feedback.d32fa6b0.svg +1 -0
  98. package/dist/assets/ic-file-code.21a1f748.svg +1 -0
  99. package/dist/assets/ic-file-text.f9563710.svg +1 -0
  100. package/dist/assets/ic-files.fc290dee.svg +1 -0
  101. package/dist/assets/ic-filter-applied.9fc48d0f.svg +1 -0
  102. package/dist/assets/ic-filter.8f403d6f.svg +1 -0
  103. package/dist/assets/ic-folder.051cd30d.svg +1 -0
  104. package/dist/assets/ic-fullscreen-2.f138a5e8.svg +1 -0
  105. package/dist/assets/ic-fullscreen.b05e5087.svg +1 -0
  106. package/dist/assets/ic-hash.cd11c334.svg +1 -0
  107. package/dist/assets/ic-header.a91a9800.svg +1 -0
  108. package/dist/assets/ic-help-outline.9c012a0c.svg +1 -0
  109. package/dist/assets/ic-help.39c58c34.svg +1 -0
  110. package/dist/assets/ic-image.2a8ed117.svg +1 -0
  111. package/dist/assets/ic-in-progress.0598554b.svg +1 -0
  112. package/dist/assets/ic-info-filled-override.99e8094a.svg +1 -0
  113. package/dist/assets/ic-info-filled.4b0b46d1.svg +1 -0
  114. package/dist/assets/ic-info-outline.f4be8a1e.svg +1 -0
  115. package/dist/assets/ic-info-outlined.f4fa3224.svg +1 -0
  116. package/dist/assets/ic-italic.358ca070.svg +1 -0
  117. package/dist/assets/ic-k8s-job.f4414c10.svg +1 -0
  118. package/dist/assets/ic-lego-block.ee4b63f1.svg +1 -0
  119. package/dist/assets/ic-lines.395ef3db.svg +1 -0
  120. package/dist/assets/ic-link.8453e775.svg +1 -0
  121. package/dist/assets/ic-loading-failure.aa68693d.png +0 -0
  122. package/dist/assets/ic-locked.3b9eff02.svg +1 -0
  123. package/dist/assets/ic-mechanical-operation.08b38afd.svg +1 -0
  124. package/dist/assets/ic-medium-info.eee4a07b.svg +1 -0
  125. package/dist/assets/ic-megaphone.b9f9a901.svg +1 -0
  126. package/dist/assets/ic-memory.c4159f96.svg +1 -0
  127. package/dist/assets/ic-message.be6dba43.svg +1 -0
  128. package/dist/assets/ic-minus.df865aaf.svg +1 -0
  129. package/dist/assets/ic-nav-rocket.9e50bb61.svg +1 -0
  130. package/dist/assets/ic-not-authorized.2d8e208f.svg +1 -0
  131. package/dist/assets/ic-not-found.86f588bf.svg +1 -0
  132. package/dist/assets/ic-onboarding.c98f9ef9.svg +1 -0
  133. package/dist/assets/ic-open-in-new.6aea09d0.svg +1 -0
  134. package/dist/assets/ic-ordered-list.879dc7c8.svg +1 -0
  135. package/dist/assets/ic-page-not-found.da74a367.svg +1 -0
  136. package/dist/assets/ic-pencil.c75a6acc.svg +1 -0
  137. package/dist/assets/ic-person.f78738ac.svg +1 -0
  138. package/dist/assets/ic-pull-request.31d0c981.svg +1 -0
  139. package/dist/assets/ic-pulsate-status.9264740e.svg +1 -0
  140. package/dist/assets/ic-quote.10768489.svg +1 -0
  141. package/dist/assets/ic-regex.e14a4ea3.svg +1 -0
  142. package/dist/assets/ic-rocket-fail.874e54ce.svg +1 -0
  143. package/dist/assets/ic-rotate-devtron.200e165b.svg +1 -0
  144. package/dist/assets/ic-search.976327f1.svg +1 -0
  145. package/dist/assets/ic-sort-arrow-down.5cf54d08.svg +1 -0
  146. package/dist/assets/ic-stamp.8689f42d.svg +1 -0
  147. package/dist/assets/ic-strikethrough.a1652ad9.svg +1 -0
  148. package/dist/assets/ic-success.8c8fe69d.svg +1 -0
  149. package/dist/assets/ic-tag.1613fc59.svg +1 -0
  150. package/dist/assets/ic-timeout-red.5eda1010.svg +1 -0
  151. package/dist/assets/ic-timer.b62145ec.svg +1 -0
  152. package/dist/assets/ic-trivy.d5338454.svg +1 -0
  153. package/dist/assets/ic-unordered-list.42c1cbbc.svg +1 -0
  154. package/dist/assets/ic-view-variable-toggle.c335dfa0.svg +1 -0
  155. package/dist/assets/ic-vulnerability-not-found.d8a4d43c.svg +1 -0
  156. package/dist/assets/ic-warning-y5.2ad9d7f4.svg +1 -0
  157. package/dist/assets/ic-warning.10bcf8bd.svg +1 -0
  158. package/dist/assets/ic-webhook.d4431b07.svg +1 -0
  159. package/dist/assets/ic-world.1f6a5eaf.svg +1 -0
  160. package/dist/assets/inject-tag.28e72db6.svg +1 -0
  161. package/dist/assets/lifebuoy.7d8fdf27.png +0 -0
  162. package/dist/assets/no-artifact@2x.6afc74bc.png +0 -0
  163. package/dist/index.js +500 -493
  164. package/package.json +9 -6
  165. package/dist/abap-DttVK1gE.js +0 -1314
  166. package/dist/apex-BjfHvyb2.js +0 -315
  167. package/dist/assets/index.css +0 -1
  168. package/dist/azcli-Ws-Trf8e.js +0 -74
  169. package/dist/bat-CeCHpU9_.js +0 -95
  170. package/dist/bicep-C7a7aEmi.js +0 -108
  171. package/dist/cameligo-CJeEIvX4.js +0 -168
  172. package/dist/clojure-CEKXhLdU.js +0 -754
  173. package/dist/coffee-CKu3e6V1.js +0 -228
  174. package/dist/cpp-CvUiT5Ec.js +0 -390
  175. package/dist/csharp-PmU9HJkB.js +0 -320
  176. package/dist/csp-DULvRLPF.js +0 -57
  177. package/dist/css-CNWXQPpt.js +0 -186
  178. package/dist/cssMode-BwIubxAf.js +0 -1446
  179. package/dist/cypher-CYHOQS2R.js +0 -262
  180. package/dist/dart-BjGx-9Jk.js +0 -270
  181. package/dist/dockerfile-D0WaVIZ2.js +0 -132
  182. package/dist/ecl-CijaJu-p.js +0 -454
  183. package/dist/elixir-BI5Tc37S.js +0 -489
  184. package/dist/flow9-BApGtQOO.js +0 -141
  185. package/dist/freemarker2-Dn_s71Cb.js +0 -643
  186. package/dist/fsharp-VeKgt2eG.js +0 -210
  187. package/dist/go-Cl8cKDlN.js +0 -208
  188. package/dist/graphql-PfgPBmj4.js +0 -141
  189. package/dist/handlebars-Vf7Trm2J.js +0 -391
  190. package/dist/hcl-CG4VZSkm.js +0 -177
  191. package/dist/html-CpqIDz48.js +0 -281
  192. package/dist/htmlMode-DcWZDkAT.js +0 -1456
  193. package/dist/index-BJNO-ng7.js +0 -163447
  194. package/dist/ini-EhiBNPZF.js +0 -68
  195. package/dist/java-DPbnXhoY.js +0 -221
  196. package/dist/javascript-BBE6BZiS.js +0 -75
  197. package/dist/jsonMode-C1oLrBG3.js +0 -1866
  198. package/dist/julia-Bw7EYexg.js +0 -496
  199. package/dist/kotlin-BNXLDoV0.js +0 -245
  200. package/dist/less-DtuF_id_.js +0 -168
  201. package/dist/lexon-DpB0-37O.js +0 -151
  202. package/dist/liquid-BZNbXt_g.js +0 -238
  203. package/dist/lua-CzRNOk9S.js +0 -157
  204. package/dist/m3-pXPmDwal.js +0 -210
  205. package/dist/markdown-CeQ3rxjn.js +0 -202
  206. package/dist/mdx-BYFrSBEp.js +0 -171
  207. package/dist/mips-DyE0VSNz.js +0 -194
  208. package/dist/msdax-CbdkoqRa.js +0 -377
  209. package/dist/mysql-B86-uHNu.js +0 -876
  210. package/dist/objective-c-1xvkKPId.js +0 -188
  211. package/dist/pascal-DcyFhj80.js +0 -245
  212. package/dist/pascaligo-QnM0hvMG.js +0 -158
  213. package/dist/perl-Bqp3FbU4.js +0 -599
  214. package/dist/pgsql-HdG7BG_Z.js +0 -847
  215. package/dist/php-zf7L2p7t.js +0 -471
  216. package/dist/pla-3Ykqsyzl.js +0 -131
  217. package/dist/postiats-D1v08O4B.js +0 -544
  218. package/dist/powerquery-CiQ9b1-b.js +0 -890
  219. package/dist/powershell-DFNK6VaX.js +0 -233
  220. package/dist/protobuf-D5P2Z6tc.js +0 -422
  221. package/dist/pug-BeyMX5am.js +0 -393
  222. package/dist/python-B4eUWeOE.js +0 -259
  223. package/dist/qsharp-DcFOTjuP.js +0 -282
  224. package/dist/r-B3aJPcWp.js +0 -245
  225. package/dist/razor-BdW-c8kb.js +0 -512
  226. package/dist/redis-CyC__Tub.js +0 -298
  227. package/dist/redshift-NqbcQPcY.js +0 -806
  228. package/dist/restructuredtext-CZMxBkap.js +0 -162
  229. package/dist/ruby-C_jEtDv5.js +0 -444
  230. package/dist/rust-WAeitMCC.js +0 -337
  231. package/dist/sb-CSBm2pED.js +0 -110
  232. package/dist/scala-D76PhKmh.js +0 -353
  233. package/dist/scheme-CBSAjRuO.js +0 -114
  234. package/dist/scss-BHY8wFFg.js +0 -244
  235. package/dist/shell-Cwju9_l8.js +0 -224
  236. package/dist/solidity-BV1-nze3.js +0 -1351
  237. package/dist/sophia-DfoUlGAs.js +0 -190
  238. package/dist/sparql-4kfArTtK.js +0 -193
  239. package/dist/sql-DIpn0HSX.js +0 -818
  240. package/dist/st-BgJ_KDZh.js +0 -415
  241. package/dist/swift-D-ucEgIi.js +0 -315
  242. package/dist/systemverilog-DjkH5zuo.js +0 -556
  243. package/dist/tcl-gd8XLKJA.js +0 -232
  244. package/dist/tsMode-nSp3XKbP.js +0 -810
  245. package/dist/twig-D5XtTFGM.js +0 -323
  246. package/dist/typescript-BKssCHzW.js +0 -328
  247. package/dist/vb-DYqqYAf3.js +0 -364
  248. package/dist/wgsl-CkZE0qf3.js +0 -420
  249. package/dist/xml-Dp1OMsuE.js +0 -95
  250. package/dist/yaml-jWo4JOLk.js +0 -184
@@ -70,11 +70,30 @@ export declare enum RefVariableStageType {
70
70
  PRE_CI = "PRE_CI",
71
71
  POST_CI = "POST_CI"
72
72
  }
73
+ export interface FileProperty {
74
+ allowedExtensions: string[];
75
+ maxUploadSize: number;
76
+ }
77
+ export interface Constraint {
78
+ fileProperty: FileProperty;
79
+ }
80
+ export interface ValueConstraint {
81
+ choices: string[];
82
+ blockCustomValue: boolean;
83
+ constraint: Constraint;
84
+ }
85
+ export declare enum VariableTypeFormat {
86
+ STRING = "STRING",
87
+ NUMBER = "NUMBER",
88
+ BOOL = "BOOL",
89
+ DATE = "DATE",
90
+ FILE = "FILE"
91
+ }
73
92
  export interface VariableType {
74
93
  id: number;
75
94
  name: string;
76
95
  value: string;
77
- format: string;
96
+ format: VariableTypeFormat;
78
97
  description: string;
79
98
  defaultValue: string;
80
99
  allowEmptyValue: boolean;
@@ -83,6 +102,12 @@ export interface VariableType {
83
102
  refVariableName: string;
84
103
  refVariableStage?: RefVariableStageType;
85
104
  variableStepIndexInPlugin?: number;
105
+ fileMountDir: string;
106
+ fileReferenceId: number;
107
+ valueConstraintId: number;
108
+ valueConstraint: ValueConstraint;
109
+ isRuntimeArg: boolean;
110
+ refVariableUsed: boolean;
86
111
  }
87
112
  interface CommandArgsMap {
88
113
  command: string;
@@ -12,6 +12,7 @@ export declare const DOCUMENTATION: {
12
12
  GLOBAL_CONFIG_BUILD_INFRA: string;
13
13
  };
14
14
  export declare const PATTERNS: {
15
+ STRING: RegExp;
15
16
  KUBERNETES_KEY_PREFIX: RegExp;
16
17
  KUBERNETES_KEY_NAME: RegExp;
17
18
  START_END_ALPHANUMERIC: RegExp;
@@ -1,2 +1,2 @@
1
1
  import { ResizableTagTextAreaProps } from './Types';
2
- export declare const ResizableTagTextArea: ({ className, minHeight, maxHeight, value, onChange, onBlur, onFocus, placeholder, tabIndex, refVar, dependentRef, dataTestId, handleKeyDown, disabled, disableOnBlurResizeToMinHeight, }: ResizableTagTextAreaProps) => JSX.Element;
2
+ export declare const ResizableTagTextArea: ({ value, minHeight, maxHeight, dataTestId, onBlur, onFocus, refVar, dependentRef, className, disableOnBlurResizeToMinHeight, ...resProps }: ResizableTagTextAreaProps) => JSX.Element;
@@ -1,9 +1,20 @@
1
+ import { DetailedHTMLProps, MutableRefObject, TextareaHTMLAttributes } from 'react';
1
2
  import { KEY_VALUE } from '../Constants';
2
3
  import { OptionType } from '../Types';
3
4
  export interface SuggestedTagOptionType extends OptionType {
4
5
  description: string;
5
6
  propagate: boolean;
6
7
  }
8
+ export declare enum DeploymentPolicy {
9
+ ALLOW = "allow",
10
+ BLOCK = "block",
11
+ BLOCK_PROD = "block-prod",
12
+ BLOCK_NON_PROD = "block-non-prod"
13
+ }
14
+ export interface VariableValueConstraintTypes {
15
+ choices?: string[];
16
+ blockCustomValue?: boolean;
17
+ }
7
18
  export interface TagType {
8
19
  id?: number;
9
20
  key: string;
@@ -15,6 +26,8 @@ export interface TagType {
15
26
  isInvalidValue?: boolean;
16
27
  isSuggested?: boolean;
17
28
  isPropagateDisabled?: boolean;
29
+ deploymentPolicy?: DeploymentPolicy;
30
+ valueConstraint?: VariableValueConstraintTypes;
18
31
  }
19
32
  export interface TagErrorType {
20
33
  isValid: boolean;
@@ -48,24 +61,16 @@ export interface TagLabelValueSelectorType {
48
61
  tagInputType?: KEY_VALUE;
49
62
  placeholder?: string;
50
63
  tabIndex?: number;
51
- refVar?: React.MutableRefObject<HTMLTextAreaElement>;
52
- dependentRef?: React.MutableRefObject<HTMLTextAreaElement>;
64
+ refVar?: MutableRefObject<HTMLTextAreaElement>;
65
+ dependentRef?: MutableRefObject<HTMLTextAreaElement>;
53
66
  noBackDrop?: boolean;
54
67
  }
55
- export interface ResizableTagTextAreaProps {
56
- className?: string;
68
+ export interface ResizableTagTextAreaProps extends Omit<DetailedHTMLProps<TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, 'value'> {
57
69
  minHeight?: number;
58
70
  maxHeight?: number;
59
- value?: string;
60
- onChange?: (e: any) => void;
61
- onBlur?: (e: any) => void;
62
- onFocus?: (e: any) => void;
63
- placeholder?: string;
64
- tabIndex?: number;
65
- refVar?: React.MutableRefObject<HTMLTextAreaElement>;
66
- dependentRef?: React.MutableRefObject<HTMLTextAreaElement>;
71
+ value: string;
72
+ refVar?: MutableRefObject<HTMLTextAreaElement>;
73
+ dependentRef?: MutableRefObject<HTMLTextAreaElement> | Record<string | number, MutableRefObject<HTMLTextAreaElement>>;
67
74
  dataTestId?: string;
68
- handleKeyDown?: any;
69
- disabled?: boolean;
70
75
  disableOnBlurResizeToMinHeight?: boolean;
71
76
  }
@@ -1,6 +1,6 @@
1
1
  import { default as React, SyntheticEvent } from 'react';
2
2
  import { JSONPathOptions } from 'jsonpath-plus';
3
- import { AsyncOptions, UseSearchString } from './Types';
3
+ import { AsyncOptions, DeploymentNodeType, UseSearchString } from './Types';
4
4
  import { scrollableInterface } from '../Shared';
5
5
  export declare function showError(serverError: any, showToastOnUnknownError?: boolean, hideAccessError?: boolean): void;
6
6
  interface ConditionalWrapper<T> {
@@ -133,4 +133,5 @@ export declare const getSanitizedIframe: (iframeString: string) => string;
133
133
  * This method adds default attributes to iframe - title, loading ="lazy", width="100%", height="100%"
134
134
  */
135
135
  export declare const getIframeWithDefaultAttributes: (iframeString: string, defaultName?: string) => string;
136
+ export declare const getStageTitle: (stageType: DeploymentNodeType) => string;
136
137
  export {};
@@ -1,8 +1,9 @@
1
1
  import { default as React, ReactNode, CSSProperties, ReactElement, MutableRefObject } from 'react';
2
+ import { TippyProps } from '@tippyjs/react';
2
3
  import { Placement } from 'tippy.js';
3
4
  import { UserGroupDTO } from '../Pages/GlobalConfigurations';
4
5
  import { ImageComment, ReleaseTag } from './ImageTags.Types';
5
- import { MandatoryPluginBaseStateType, RegistryType, RuntimeParamsListItemType, Severity } from '../Shared';
6
+ import { MandatoryPluginBaseStateType, PolicyBlockInfo, RegistryType, RuntimeParamsListItemType, Severity } from '../Shared';
6
7
  import { ACTION_STATE, DEPLOYMENT_WINDOW_TYPE, DockerConfigOverrideType, SortingOrder, TaskErrorObj } from '.';
7
8
  /**
8
9
  * Generic response type object with support for overriding the result type
@@ -65,7 +66,7 @@ export interface CheckboxProps {
65
66
  id?: string;
66
67
  dataTestId?: string;
67
68
  }
68
- export interface TippyCustomizedProps {
69
+ export interface TippyCustomizedProps extends Pick<TippyProps, 'appendTo'> {
69
70
  theme: TippyTheme;
70
71
  visible?: boolean;
71
72
  heading?: ReactNode | string;
@@ -431,6 +432,10 @@ export interface CDMaterialType {
431
432
  * Would currently only be received in case of release
432
433
  */
433
434
  appWorkflowId: number;
435
+ /**
436
+ * Denotes trigger blocking due to mandatory tags, (might be used for plugins and other features in future)
437
+ */
438
+ deploymentBlockedState?: PolicyBlockInfo;
434
439
  }
435
440
  export declare enum CDMaterialServiceEnum {
436
441
  ROLLBACK = "rollback",
@@ -467,6 +472,14 @@ export interface DownstreamNodesEnvironmentsType {
467
472
  environmentId: number;
468
473
  environmentName: string;
469
474
  }
475
+ export declare enum TriggerBlockType {
476
+ MANDATORY_TAG = "mandatory-tags",
477
+ MANDATORY_PLUGIN = "mandatory-plugins"
478
+ }
479
+ export interface TriggerBlockedInfo {
480
+ blockedBy: TriggerBlockType;
481
+ blockedReason?: string;
482
+ }
470
483
  export interface CommonNodeAttr extends Pick<MandatoryPluginBaseStateType, 'isTriggerBlocked' | 'pluginBlockState'> {
471
484
  connectingCiPipelineId?: number;
472
485
  parents: string | number[] | string[];
@@ -529,6 +542,7 @@ export interface CommonNodeAttr extends Pick<MandatoryPluginBaseStateType, 'isTr
529
542
  downstreamEnvironments?: DownstreamNodesEnvironmentsType[];
530
543
  cipipelineId?: number;
531
544
  isDeploymentBlocked?: boolean;
545
+ triggerBlockedInfo?: TriggerBlockedInfo;
532
546
  }
533
547
  export declare enum DeploymentAppTypes {
534
548
  HELM = "helm",
@@ -592,6 +606,7 @@ export interface CDMaterialsMetaInfo {
592
606
  */
593
607
  requestedUserId: number;
594
608
  runtimeParams: RuntimeParamsListItemType[];
609
+ deploymentBlockedState?: PolicyBlockInfo;
595
610
  }
596
611
  export interface ImagePromotionMaterialInfo {
597
612
  isApprovalPendingForPromotion: boolean;
@@ -685,6 +700,7 @@ export interface PrePostDeployStageType extends MandatoryPluginBaseStateType {
685
700
  triggerType: string;
686
701
  name: string;
687
702
  status: string;
703
+ triggerBlockedInfo?: TriggerBlockedInfo;
688
704
  }
689
705
  export interface CdPipeline {
690
706
  id: number;
@@ -718,6 +734,8 @@ export interface CdPipeline {
718
734
  isProdEnv?: boolean;
719
735
  isGitOpsRepoNotConfigured?: boolean;
720
736
  isDeploymentBlocked?: boolean;
737
+ isTriggerBlocked?: boolean;
738
+ triggerBlockedInfo?: TriggerBlockedInfo;
721
739
  }
722
740
  export interface ExternalCiConfig {
723
741
  id: number;
@@ -0,0 +1,2 @@
1
+ import { DynamicDataTableProps } from './types';
2
+ export declare const DynamicDataTable: <K extends string>({ headers, ...props }: DynamicDataTableProps<K>) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { DynamicDataTableHeaderProps } from './types';
2
+ export declare const DynamicDataTableHeader: <K extends string>({ headers, rows, sortingConfig, onRowAdd, readOnly, isAdditionNotAllowed, isDeletionNotAllowed, headerComponent, actionButtonConfig, }: DynamicDataTableHeaderProps<K>) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { DynamicDataTableRowProps } from './types';
2
+ export declare const DynamicDataTableRow: <K extends string>({ rows, headers, maskValue, readOnly, isAdditionNotAllowed, isDeletionNotAllowed, validationSchema, showError, actionButtonConfig, onRowEdit, onRowDelete, leadingCellIcon, trailingCellIcon, }: DynamicDataTableRowProps<K>) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './DynamicDataTable';
2
+ export * from './types';
@@ -0,0 +1,178 @@
1
+ import { DetailedHTMLProps, ReactNode } from 'react';
2
+ import { SortingOrder } from '../../../Common/Constants';
3
+ import { ResizableTagTextAreaProps } from '../../../Common/CustomTagSelector';
4
+ import { InfoIconTippyProps } from '../../../Common/Types';
5
+ import { SelectPickerOptionType, SelectPickerProps } from '../SelectPicker';
6
+ import { SelectTextAreaProps } from '../SelectTextArea';
7
+ /**
8
+ * Interface representing header for a dynamic data table.
9
+ * @template K - A string representing the key type.
10
+ */
11
+ export type DynamicDataTableHeaderType<K extends string> = {
12
+ /** The display label of the header, shown in the table's column header. */
13
+ label: string;
14
+ /** The unique key associated with the header, used to map the column to data fields. */
15
+ key: K;
16
+ /** The width of the column, defined as a CSS string (e.g., "100px", "10%", "1fr", or "auto"). */
17
+ width: string;
18
+ /** An optional boolean indicating whether the column is sortable. */
19
+ isSortable?: boolean;
20
+ /** An optional boolean to control the visibility of the column. */
21
+ isHidden?: boolean;
22
+ /** An optional boolean to show the column */
23
+ renderHelpTextForHeader?: () => ReactNode;
24
+ };
25
+ export declare enum DynamicDataTableRowDataType {
26
+ TEXT = "text",
27
+ DROPDOWN = "dropdown",
28
+ SELECT_TEXT = "select-text",
29
+ BUTTON = "button"
30
+ }
31
+ export type DynamicDataTableCellPropsMap = {
32
+ [DynamicDataTableRowDataType.TEXT]: Omit<ResizableTagTextAreaProps, 'className' | 'minHeight' | 'maxHeight' | 'value' | 'onChange' | 'disabled' | 'disableOnBlurResizeToMinHeight' | 'refVar' | 'dependentRef'>;
33
+ [DynamicDataTableRowDataType.DROPDOWN]: Omit<SelectPickerProps<string, false>, 'inputId' | 'value' | 'onChange' | 'fullWidth' | 'isDisabled'>;
34
+ [DynamicDataTableRowDataType.SELECT_TEXT]: Omit<SelectTextAreaProps, 'value' | 'onChange' | 'inputId' | 'isDisabled' | 'dependentRef' | 'refVar' | 'textAreaProps'> & {
35
+ textAreaProps?: Omit<SelectTextAreaProps['textAreaProps'], 'className' | 'disableOnBlurResizeToMinHeight' | 'minHeight' | 'maxHeight'>;
36
+ };
37
+ [DynamicDataTableRowDataType.BUTTON]: Pick<DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, 'onClick'> & {
38
+ icon?: ReactNode;
39
+ text: string;
40
+ };
41
+ };
42
+ type DynamicDataTableCellExtendedPropsMap = {
43
+ [DynamicDataTableRowDataType.TEXT]: {};
44
+ [DynamicDataTableRowDataType.DROPDOWN]: {};
45
+ [DynamicDataTableRowDataType.SELECT_TEXT]: {};
46
+ [DynamicDataTableRowDataType.BUTTON]: {
47
+ wrap: true;
48
+ wrapRenderer: (props: {
49
+ children: JSX.Element;
50
+ customState?: Record<string, any>;
51
+ }) => JSX.Element;
52
+ } | {
53
+ wrap?: false;
54
+ wrapRenderer?: never;
55
+ };
56
+ };
57
+ type DynamicDataTableCellData<T extends keyof DynamicDataTableCellPropsMap = keyof DynamicDataTableCellPropsMap> = T extends keyof DynamicDataTableCellPropsMap ? {
58
+ type: T;
59
+ props: DynamicDataTableCellPropsMap[T];
60
+ } & DynamicDataTableCellExtendedPropsMap[T] : never;
61
+ /**
62
+ * Type representing a key-value row.
63
+ * @template K - A string representing the key type.
64
+ */
65
+ export type DynamicDataTableRowType<K extends string, CustomStateType = Record<string, unknown>> = {
66
+ data: {
67
+ [key in K]: {
68
+ value: string;
69
+ disabled?: boolean;
70
+ /** An optional boolean indicating if an asterisk should be shown. */
71
+ required?: boolean;
72
+ } & DynamicDataTableCellData;
73
+ };
74
+ id: string | number;
75
+ /** */
76
+ customState?: CustomStateType;
77
+ };
78
+ type DynamicDataTableMask<K extends string> = {
79
+ [key in K]?: boolean;
80
+ };
81
+ type DynamicDataTableCellIcon<K extends string> = {
82
+ [key in K]?: (row: DynamicDataTableRowType<K>) => ReactNode;
83
+ };
84
+ /**
85
+ * Interface representing the properties for the dynamic data table component.
86
+ * @template K - A string representing the key type.
87
+ */
88
+ export type DynamicDataTableProps<K extends string> = {
89
+ /**
90
+ * An array containing the headers for the data table. \
91
+ * Each header defines a column with its label, key, width, and optional settings.
92
+ */
93
+ headers: DynamicDataTableHeaderType<K>[];
94
+ /**
95
+ * An array of rows where each row contains data corresponding to the table headers.
96
+ */
97
+ rows: DynamicDataTableRowType<K>[];
98
+ /** Optional configuration for sorting the table. */
99
+ sortingConfig?: {
100
+ sortBy: K;
101
+ sortOrder: SortingOrder;
102
+ handleSorting: () => void;
103
+ };
104
+ /** An optional mask to hide the values of the cell. */
105
+ maskValue?: DynamicDataTableMask<K>;
106
+ /** Optional configuration for displaying an icon in the leading position of a cell. */
107
+ leadingCellIcon?: DynamicDataTableCellIcon<K>;
108
+ /** Optional configuration for displaying an icon in the trailing position of a cell. */
109
+ trailingCellIcon?: DynamicDataTableCellIcon<K>;
110
+ /** An optional React node for a custom header component. */
111
+ headerComponent?: ReactNode;
112
+ /** When true, data addition field will not be shown. */
113
+ isAdditionNotAllowed?: boolean;
114
+ /** When true, data addition field will not be shown. */
115
+ isDeletionNotAllowed?: boolean;
116
+ /** When true, data add or update is disabled. */
117
+ readOnly?: boolean;
118
+ /** Function to handle the addition of a new row to the table. */
119
+ onRowAdd: () => void;
120
+ /**
121
+ * Function to handle changes in the table rows.
122
+ * @param row - The row that changed.
123
+ * @param headerKey - The key of the header that changed.
124
+ * @param value - The value of the cell.
125
+ * @param extraData - Additional data, such as a selected value for dropdowns.
126
+ */
127
+ onRowEdit: (row: DynamicDataTableRowType<K>, headerKey: K, value: string, extraData: {
128
+ selectedValue?: SelectPickerOptionType<string>;
129
+ }) => void;
130
+ /**
131
+ * Function to handle row deletions.
132
+ * @param row - The row that was deleted.
133
+ */
134
+ onRowDelete: (row: DynamicDataTableRowType<K>) => void;
135
+ /** Optional configuration for rendering a custom action button in a row. */
136
+ actionButtonConfig?: {
137
+ /**
138
+ * Function to render the action button.
139
+ * @param row - The current row being rendered.
140
+ * @returns A React node representing the action button.
141
+ */
142
+ renderer: (row: DynamicDataTableRowType<K>) => ReactNode;
143
+ /**
144
+ * This represents under which header key the action button will be rendered.
145
+ */
146
+ key: K;
147
+ /**
148
+ * The width of the action button.
149
+ * @default '32px'
150
+ */
151
+ width?: string;
152
+ /**
153
+ * The position of the action button under the header key.
154
+ * @default 'start'
155
+ */
156
+ position?: 'start' | 'end';
157
+ };
158
+ /**
159
+ * Indicates whether to show errors.
160
+ */
161
+ showError?: boolean;
162
+ /**
163
+ * Function to validate the value of a table cell.
164
+ * @param value - The value to validate.
165
+ * @param key - The column key of the cell.
166
+ * @param row - The row containing the cell.
167
+ * @returns An object with a boolean indicating validity and an array of error messages.
168
+ */
169
+ validationSchema?: (value: string, key: K, row: DynamicDataTableRowType<K>) => {
170
+ isValid: boolean;
171
+ errorMessages: string[];
172
+ };
173
+ };
174
+ export interface DynamicDataTableHeaderProps<K extends string> extends Pick<DynamicDataTableProps<K>, 'headers' | 'rows' | 'headerComponent' | 'sortingConfig' | 'onRowAdd' | 'readOnly' | 'isAdditionNotAllowed' | 'isDeletionNotAllowed' | 'actionButtonConfig'>, Pick<InfoIconTippyProps, 'heading' | 'additionalContent'> {
175
+ }
176
+ export interface DynamicDataTableRowProps<K extends string> extends Pick<DynamicDataTableProps<K>, 'rows' | 'headers' | 'maskValue' | 'isAdditionNotAllowed' | 'isDeletionNotAllowed' | 'readOnly' | 'onRowEdit' | 'onRowDelete' | 'actionButtonConfig' | 'showError' | 'validationSchema' | 'leadingCellIcon' | 'trailingCellIcon'> {
177
+ }
178
+ export {};
@@ -0,0 +1,5 @@
1
+ import { DynamicDataTableHeaderType, DynamicDataTableProps, DynamicDataTableRowDataType } from './types';
2
+ export declare const getActionButtonPosition: <K extends string>({ headers, actionButtonConfig, }: Pick<DynamicDataTableProps<K>, "headers" | "actionButtonConfig">) => number;
3
+ export declare const getHeaderGridTemplateColumn: <K extends string>(headers: DynamicDataTableHeaderType<K>[], actionButtonConfig: DynamicDataTableProps<K>["actionButtonConfig"], noDeleteBtn: boolean) => string;
4
+ export declare const getRowGridTemplateColumn: <K extends string>(headers: DynamicDataTableHeaderType<K>[], actionButtonConfig: DynamicDataTableProps<K>["actionButtonConfig"], noDeleteBtn: boolean) => string;
5
+ export declare const rowTypeHasInputField: (type: DynamicDataTableRowDataType) => boolean;
@@ -24,6 +24,10 @@ export interface SelectPickerOptionType<OptionValue = string | number> extends O
24
24
  tooltipProps?: Omit<TooltipProps, 'alwaysShowTippyOnHover' | 'showOnTruncate' | 'shortcutKeyCombo'> | (Omit<TooltipProps, 'alwaysShowTippyOnHover' | 'showOnTruncate' | 'content'> & Required<Pick<TooltipProps, 'shortcutKeyCombo'>>);
25
25
  }
26
26
  type SelectProps<OptionValue, IsMulti extends boolean> = ReactSelectProps<SelectPickerOptionType<OptionValue>, IsMulti, GroupBase<SelectPickerOptionType<OptionValue>>>;
27
+ export declare enum SelectPickerVariantType {
28
+ DEFAULT = "default",
29
+ BORDER_LESS = "border-less"
30
+ }
27
31
  declare module 'react-select/base' {
28
32
  interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
29
33
  /**
@@ -55,12 +59,9 @@ declare module 'react-select/base' {
55
59
  * @default 'true'
56
60
  */
57
61
  showSelectedOptionIcon?: boolean;
62
+ variant?: SelectPickerVariantType;
58
63
  }
59
64
  }
60
- export declare enum SelectPickerVariantType {
61
- DEFAULT = "default",
62
- BORDER_LESS = "border-less"
63
- }
64
65
  export type SelectPickerProps<OptionValue = number | string, IsMulti extends boolean = false> = Pick<SelectProps<OptionValue, IsMulti>, 'name' | 'classNamePrefix' | 'options' | 'value' | 'onChange' | 'isSearchable' | 'isClearable' | 'hideSelectedOptions' | 'controlShouldRenderValue' | 'closeMenuOnSelect' | 'isDisabled' | 'isLoading' | 'required' | 'isOptionDisabled' | 'placeholder' | 'menuPosition' | 'getOptionLabel' | 'getOptionValue' | 'isOptionSelected' | 'menuIsOpen' | 'onMenuOpen' | 'onMenuClose' | 'autoFocus' | 'onBlur' | 'onKeyDown' | 'formatOptionLabel' | 'onInputChange' | 'inputValue'> & Partial<Pick<SelectProps<OptionValue, IsMulti>, 'renderMenuListFooter' | 'shouldRenderCustomOptions' | 'renderCustomOptions' | 'icon' | 'showSelectedOptionIcon'>> & Required<Pick<SelectProps<OptionValue, IsMulti>, 'inputId'>> & Partial<Pick<CreatableProps<SelectPickerOptionType<OptionValue>, IsMulti, GroupBase<SelectPickerOptionType<OptionValue>>>, 'onCreateOption'>> & {
65
66
  /**
66
67
  * Error message for the select
@@ -0,0 +1,2 @@
1
+ import { SelectTextAreaProps } from './types';
2
+ export declare const SelectTextArea: ({ value, Icon, onChange, options, inputId, placeholder, refVar, dependentRef, disabled, selectPickerProps, textAreaProps, }: SelectTextAreaProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './SelectTextArea';
2
+ export * from './types';
@@ -0,0 +1,12 @@
1
+ import { ReactElement } from 'react';
2
+ import { ResizableTagTextAreaProps } from '../../../Common/CustomTagSelector';
3
+ import { SelectPickerOptionType, SelectPickerProps } from '../SelectPicker';
4
+ export type SelectTextAreaProps = Pick<SelectPickerProps<string, false>, 'inputId' | 'options'> & Pick<ResizableTagTextAreaProps, 'refVar' | 'dependentRef'> & {
5
+ value: string;
6
+ Icon?: ReactElement;
7
+ onChange?: (selectedValue: SelectPickerOptionType<string>) => void;
8
+ disabled?: boolean;
9
+ placeholder?: string;
10
+ textAreaProps?: Omit<ResizableTagTextAreaProps, 'refVar' | 'dependentRef' | 'id' | 'value' | 'onChange' | 'placeholder' | 'disabled'>;
11
+ selectPickerProps?: Omit<SelectPickerProps<string, false>, 'inputId' | 'options' | 'isDisabled' | 'onChange' | 'variant' | 'value' | 'placeholder' | 'fullWidth' | 'selectRef' | 'onCreateOption' | 'isMulti'>;
12
+ };
@@ -43,3 +43,4 @@ export * from './Button';
43
43
  export * from './InvalidYAMLTippy';
44
44
  export * from './ConfirmationModal';
45
45
  export * from './DiffViewer';
46
+ export * from './DynamicDataTable';
@@ -1,5 +1,5 @@
1
1
  import { Dayjs } from 'dayjs';
2
- import { OptionType, CommonNodeAttr, ResponseType, UserApprovalConfigType, VulnerabilityType, DeploymentAppTypes, ServerErrors, SortingParams } from '../Common';
2
+ import { OptionType, CommonNodeAttr, ResponseType, UserApprovalConfigType, VulnerabilityType, DeploymentAppTypes, ServerErrors, SortingParams, TriggerBlockType } from '../Common';
3
3
  import { KeyValueListType } from './Components';
4
4
  import { EnvironmentTypeEnum, PatchOperationType } from './constants';
5
5
  export declare enum EnvType {
@@ -739,4 +739,22 @@ export interface PreventOutsideFocusProps {
739
739
  identifier: string;
740
740
  preventFocus: boolean;
741
741
  }
742
+ export interface PolicyBlockInfo {
743
+ isBlocked: boolean;
744
+ blockedBy: TriggerBlockType;
745
+ reason: string;
746
+ }
747
+ export interface PipelineStageBlockInfo {
748
+ node: PolicyBlockInfo;
749
+ pre: PolicyBlockInfo;
750
+ post: PolicyBlockInfo;
751
+ }
752
+ export interface PolicyConsequencesDTO {
753
+ cd: PipelineStageBlockInfo;
754
+ ci: PipelineStageBlockInfo;
755
+ }
756
+ export interface GetPolicyConsequencesProps {
757
+ appId: number;
758
+ envId: number;
759
+ }
742
760
  export {};