@devtron-labs/devtron-fe-common-lib 0.0.52-beta-2 → 0.0.52-beta-3

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 (130) hide show
  1. package/.eslintignore +79 -0
  2. package/.eslintrc.js +84 -16
  3. package/.github/pull_request_template.md +25 -0
  4. package/.github/workflows/ci.yml +31 -0
  5. package/.github/workflows/release-package.yml +2 -3
  6. package/.husky/pre-commit +5 -0
  7. package/.lintstagedrc +3 -0
  8. package/.nvmrc +1 -0
  9. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +1 -1
  10. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +2 -2
  11. package/dist/Common/Constants.d.ts +1 -5
  12. package/dist/Common/CustomInput/CustomInput.d.ts +1 -1
  13. package/dist/Common/CustomInput/Types.d.ts +2 -2
  14. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +1 -1
  15. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +1 -1
  16. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +1 -1
  17. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +6 -6
  18. package/dist/Common/Dialogs/DeleteDialog.d.ts +1 -1
  19. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +1 -1
  20. package/dist/Common/Dialogs/Types.d.ts +1 -1
  21. package/dist/Common/EmptyState/EmptyState.d.ts +20 -17
  22. package/dist/Common/EmptyState/GenericEmptyState.d.ts +1 -1
  23. package/dist/Common/Error.d.ts +2 -1
  24. package/dist/Common/ErrorScreenNotFound.d.ts +1 -1
  25. package/dist/Common/Helper.d.ts +1 -1
  26. package/dist/Common/ImageTags.d.ts +1 -1
  27. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +1 -1
  28. package/dist/Common/Modals/Modal.d.ts +2 -2
  29. package/dist/Common/Modals/OpaqueModal.d.ts +3 -3
  30. package/dist/Common/Modals/VisibleModal.d.ts +3 -3
  31. package/dist/Common/Modals/VisibleModal2.d.ts +3 -3
  32. package/dist/Common/MultiSelectCustomization.d.ts +1 -1
  33. package/dist/Common/Policy.Types.d.ts +2 -2
  34. package/dist/Common/PopupMenu.d.ts +5 -5
  35. package/dist/Common/Progressing.d.ts +2 -2
  36. package/dist/Common/RadioGroup/RadioGroup.d.ts +1 -1
  37. package/dist/Common/ResizableTextarea.d.ts +1 -1
  38. package/dist/Common/TippyCustomized.d.ts +1 -1
  39. package/dist/Common/ToastBody.d.ts +5 -5
  40. package/dist/Common/Types.d.ts +0 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +286 -370
  43. package/package.json +19 -2
  44. package/src/Common/AddCDButton/AddCDButton.tsx +1 -2
  45. package/src/Common/Api.ts +20 -25
  46. package/src/Common/AppStatus/AppStatus.tsx +12 -12
  47. package/src/Common/AppStatus/utils.ts +6 -5
  48. package/src/Common/BreadCrumb/BreadCrumb.tsx +32 -28
  49. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +2 -2
  50. package/src/Common/BreadCrumb/Types.ts +11 -12
  51. package/src/Common/ChartVersionAndTypeSelector.tsx +1 -1
  52. package/src/Common/Checkbox.tsx +17 -19
  53. package/src/Common/ClipboardButton/ClipboardButton.tsx +1 -1
  54. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +0 -1
  55. package/src/Common/Common.service.ts +60 -65
  56. package/src/Common/Constants.ts +9 -13
  57. package/src/Common/CustomInput/CustomInput.tsx +22 -29
  58. package/src/Common/CustomInput/Types.ts +4 -4
  59. package/src/Common/CustomInput/index.ts +1 -1
  60. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +15 -18
  61. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +9 -9
  62. package/src/Common/CustomTagSelector/TagDetails.tsx +9 -3
  63. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +7 -9
  64. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +31 -35
  65. package/src/Common/CustomTagSelector/TagSelector.utils.ts +2 -3
  66. package/src/Common/CustomTagSelector/Types.ts +1 -1
  67. package/src/Common/CustomTagSelector/ValidationRules.ts +18 -22
  68. package/src/Common/CustomTagSelector/index.ts +2 -2
  69. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +2 -1
  70. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +0 -1
  71. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +27 -32
  72. package/src/Common/DeleteComponentModal/types.ts +1 -1
  73. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +5 -8
  74. package/src/Common/Dialogs/ConfirmationDialog.tsx +24 -24
  75. package/src/Common/Dialogs/DeleteDialog.tsx +3 -5
  76. package/src/Common/Dialogs/DialogForm.tsx +31 -35
  77. package/src/Common/Dialogs/ForceDeleteDialog.tsx +13 -7
  78. package/src/Common/Dialogs/Types.ts +12 -12
  79. package/src/Common/Dialogs/index.ts +1 -1
  80. package/src/Common/Drawer/Drawer.tsx +1 -1
  81. package/src/Common/EmptyState/EmptyState.tsx +13 -17
  82. package/src/Common/EmptyState/GenericEmptyState.tsx +7 -29
  83. package/src/Common/Error.tsx +5 -5
  84. package/src/Common/ErrorScreenNotFound.tsx +9 -12
  85. package/src/Common/Grid/Grid.tsx +1 -2
  86. package/src/Common/Helper.tsx +36 -37
  87. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +1 -1
  88. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +1 -1
  89. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +5 -7
  90. package/src/Common/ImageTags.Types.ts +2 -3
  91. package/src/Common/ImageTags.tsx +61 -66
  92. package/src/Common/InfoColorBar/InfoColourbar.tsx +10 -5
  93. package/src/Common/Modals/Modal.tsx +3 -3
  94. package/src/Common/Modals/OpaqueModal.tsx +25 -18
  95. package/src/Common/Modals/VisibleModal.tsx +7 -3
  96. package/src/Common/Modals/VisibleModal2.tsx +20 -15
  97. package/src/Common/MultiSelectCustomization.tsx +9 -13
  98. package/src/Common/Policy.Types.ts +38 -38
  99. package/src/Common/PopupMenu.tsx +10 -9
  100. package/src/Common/Progressing.tsx +15 -18
  101. package/src/Common/RJSF/Form.tsx +0 -1
  102. package/src/Common/RJSF/common/FieldRow.tsx +0 -1
  103. package/src/Common/RJSF/config.ts +0 -1
  104. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +1 -1
  105. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +0 -1
  106. package/src/Common/RJSF/templates/BaseInput.tsx +0 -1
  107. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +0 -1
  108. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +0 -1
  109. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +1 -6
  110. package/src/Common/RJSF/templates/Description.tsx +0 -1
  111. package/src/Common/RJSF/templates/Field.tsx +14 -3
  112. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +6 -9
  113. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +5 -7
  114. package/src/Common/RJSF/templates/TitleField.tsx +0 -1
  115. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +0 -1
  116. package/src/Common/RJSF/utils.ts +53 -57
  117. package/src/Common/RJSF/widgets/Checkbox.tsx +2 -2
  118. package/src/Common/RJSF/widgets/Select.tsx +0 -1
  119. package/src/Common/RadioGroup/RadioGroup.tsx +18 -23
  120. package/src/Common/RadioGroup.tsx +24 -23
  121. package/src/Common/Reload.tsx +0 -1
  122. package/src/Common/ResizableTextarea.tsx +18 -17
  123. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +29 -34
  124. package/src/Common/ServerError.ts +5 -1
  125. package/src/Common/TippyCustomized.tsx +41 -38
  126. package/src/Common/ToastBody.tsx +6 -7
  127. package/src/Common/Toggle/Toggle.tsx +3 -3
  128. package/src/Common/Types.ts +19 -20
  129. package/src/custom.d.ts +7 -7
  130. package/src/index.ts +1 -1
@@ -1,5 +1,6 @@
1
1
  import Tippy from '@tippyjs/react'
2
- import React, { useState, useEffect } from 'react'
2
+ import { useState, useEffect } from 'react'
3
+ import * as React from 'react'
3
4
  import { ConditionalWrap } from '../Helper'
4
5
  import './radioGroup.scss'
5
6
 
@@ -28,30 +29,24 @@ interface RadioGroupComposition {
28
29
  Radio?: React.FC<any>
29
30
  }
30
31
 
31
- const RadioGroup: React.FC<RadioGroupInterface> & RadioGroupComposition = React.memo(function RadioGroup({
32
- name,
33
- onChange,
34
- children,
35
- className = '',
36
- initialTab,
37
- disabled = false,
38
- dataTestId,
39
- }) {
40
- const [selected, select] = useState(null)
32
+ const RadioGroup: React.FC<RadioGroupInterface> & RadioGroupComposition = React.memo(
33
+ ({ name, onChange, children, className = '', initialTab, disabled = false, dataTestId }) => {
34
+ const [selected, select] = useState(null)
41
35
 
42
- useEffect(() => {
43
- if (initialTab === selected) return
44
- select(initialTab)
45
- }, [initialTab])
36
+ useEffect(() => {
37
+ if (initialTab === selected) return
38
+ select(initialTab)
39
+ }, [initialTab])
46
40
 
47
- return (
48
- <RadioContext.Provider value={{ name, selected, select, disabled, onChange }}>
49
- <div className={`${className} radio-group`}>{children}</div>
50
- </RadioContext.Provider>
51
- )
52
- })
41
+ return (
42
+ <RadioContext.Provider value={{ name, selected, select, disabled, onChange }}>
43
+ <div className={`${className} radio-group`}>{children}</div>
44
+ </RadioContext.Provider>
45
+ )
46
+ },
47
+ )
53
48
 
54
- function Radio({
49
+ const Radio = ({
55
50
  value,
56
51
  children,
57
52
  className = '',
@@ -62,7 +57,7 @@ function Radio({
62
57
  isDisabled = false,
63
58
  tippyClass = '',
64
59
  dataTestId,
65
- }) {
60
+ }) => {
66
61
  const { name, selected, select, disabled, onChange } = useRadioContext()
67
62
  return (
68
63
  <ConditionalWrap
@@ -1,33 +1,34 @@
1
- import React, { Component, createContext } from 'react'
1
+ import { Component, createContext } from 'react'
2
2
  import { RadioGroupItemProps, RadioGroupProps } from './Types'
3
+
3
4
  const RadioGroupContext = createContext({ name: '', value: '', disabled: false, onChange: (event) => {} })
4
5
 
5
6
  export class RadioGroupItem extends Component<RadioGroupItemProps> {
6
7
  render() {
7
8
  return (
8
9
  <RadioGroupContext.Consumer>
9
- {(context) => {
10
- return (
11
- <>
12
- <label className={(this.props.disabled || context.disabled) ? 'form__radio-item disabled' : 'form__radio-item'}>
13
- <input
14
- type="radio"
15
- className="form__checkbox"
16
- name={context.name}
17
- disabled={context.disabled || this.props.disabled}
18
- onChange={context.onChange}
19
- value={this.props.value}
20
- checked={context.value === this.props.value}
21
- data-testid={this.props.dataTestId}
22
- />
23
- <span className="form__radio-item-content" data-testid={`${this.props.dataTestId}-span`}>
24
- <span className="radio__button"></span>
25
- <span className="radio__title">{this.props.children}</span>
26
- </span>
27
- </label>
28
- </>
29
- )
30
- }}
10
+ {(context) => (
11
+ <label
12
+ className={
13
+ this.props.disabled || context.disabled ? 'form__radio-item disabled' : 'form__radio-item'
14
+ }
15
+ >
16
+ <input
17
+ type="radio"
18
+ className="form__checkbox"
19
+ name={context.name}
20
+ disabled={context.disabled || this.props.disabled}
21
+ onChange={context.onChange}
22
+ value={this.props.value}
23
+ checked={context.value === this.props.value}
24
+ data-testid={this.props.dataTestId}
25
+ />
26
+ <span className="form__radio-item-content" data-testid={`${this.props.dataTestId}-span`}>
27
+ <span className="radio__button" />
28
+ <span className="radio__title">{this.props.children}</span>
29
+ </span>
30
+ </label>
31
+ )}
31
32
  </RadioGroupContext.Consumer>
32
33
  )
33
34
  }
@@ -1,4 +1,3 @@
1
- import React from 'react'
2
1
  import loadingFailure from '../Assets/Img/ic-loading-failure.png'
3
2
  import { ReloadType } from './Types'
4
3
 
@@ -1,22 +1,23 @@
1
- import React, { useState, useEffect, useRef } from 'react'
1
+ import { useState, useEffect, useRef } from 'react'
2
+ import * as React from 'react'
2
3
  import { useThrottledEffect } from './Helper'
3
4
  import { ResizableTextareaProps } from './Types'
4
5
 
5
6
  export const ResizableTextarea: React.FC<ResizableTextareaProps> = ({
6
- minHeight,
7
- maxHeight,
8
- value,
9
- onChange = null,
10
- onBlur = null,
11
- onFocus = null,
12
- className = '',
13
- placeholder = 'Enter your text here..',
14
- lineHeight = 14,
15
- padding = 12,
16
- disabled = false,
17
- dataTestId,
18
- ...props
19
- }) => {
7
+ minHeight,
8
+ maxHeight,
9
+ value,
10
+ onChange = null,
11
+ onBlur = null,
12
+ onFocus = null,
13
+ className = '',
14
+ placeholder = 'Enter your text here..',
15
+ lineHeight = 14,
16
+ padding = 12,
17
+ disabled = false,
18
+ dataTestId,
19
+ ...props
20
+ }) => {
20
21
  const [text, setText] = useState('')
21
22
  const _textRef = useRef(null)
22
23
 
@@ -48,7 +49,7 @@ export const ResizableTextarea: React.FC<ResizableTextareaProps> = ({
48
49
  if (maxHeight && nextHeight > maxHeight) {
49
50
  nextHeight = maxHeight
50
51
  }
51
- _textRef.current.style.height = nextHeight + 2 + 'px'
52
+ _textRef.current.style.height = `${nextHeight + 2}px`
52
53
  },
53
54
  500,
54
55
  [text],
@@ -70,4 +71,4 @@ export const ResizableTextarea: React.FC<ResizableTextareaProps> = ({
70
71
  {...props}
71
72
  />
72
73
  )
73
- }
74
+ }
@@ -1,39 +1,36 @@
1
- import React from 'react'
2
1
  import { ScanVulnerabilitiesTableProps, VulnerabilityType } from '../Types'
3
2
  import './scanVulnerabilities.css'
4
3
 
5
4
  export default function ScanVulnerabilitiesTable({ vulnerabilities }: ScanVulnerabilitiesTableProps) {
6
- const renderRow = (vulnerability: VulnerabilityType) => {
7
- return (
8
- <tr
9
- className="dc__security-tab__table-row cursor"
10
- onClick={(e) => {
11
- window.open(`https://cve.mitre.org/cgi-bin/cvename.cgi?name=${vulnerability.name}`, '_blank')
12
- }}
13
- >
14
- <td className="security-tab__cell-cve dc__cve-cell">
15
- <a
16
- href={`https://cve.mitre.org/cgi-bin/cvename.cgi?name=${vulnerability.name}`}
17
- rel="noopener noreferrer"
18
- target="_blank"
19
- >
20
- {vulnerability.name}
21
- </a>
22
- </td>
23
- <td className="security-tab__cell-severity">
24
- <span className={`fill-${vulnerability.severity?.toLowerCase()}`}>{vulnerability.severity}</span>
25
- </td>
26
- <td className="security-tab__cell-package">{vulnerability.package}</td>
27
- <td className="security-tab__cell-current-ver">{vulnerability.version}</td>
28
- <td className="security-tab__cell-fixed-ver">{vulnerability.fixedVersion}</td>
29
- <td
30
- className={`security-tab__cell-policy security-tab__cell-policy--${vulnerability.policy?.toLowerCase()}`}
5
+ const renderRow = (vulnerability: VulnerabilityType) => (
6
+ <tr
7
+ className="dc__security-tab__table-row cursor"
8
+ onClick={(e) => {
9
+ window.open(`https://cve.mitre.org/cgi-bin/cvename.cgi?name=${vulnerability.name}`, '_blank')
10
+ }}
11
+ >
12
+ <td className="security-tab__cell-cve dc__cve-cell">
13
+ <a
14
+ href={`https://cve.mitre.org/cgi-bin/cvename.cgi?name=${vulnerability.name}`}
15
+ rel="noopener noreferrer"
16
+ target="_blank"
31
17
  >
32
- {vulnerability.policy?.toLowerCase()}
33
- </td>
34
- </tr>
35
- )
36
- }
18
+ {vulnerability.name}
19
+ </a>
20
+ </td>
21
+ <td className="security-tab__cell-severity">
22
+ <span className={`fill-${vulnerability.severity?.toLowerCase()}`}>{vulnerability.severity}</span>
23
+ </td>
24
+ <td className="security-tab__cell-package">{vulnerability.package}</td>
25
+ <td className="security-tab__cell-current-ver">{vulnerability.version}</td>
26
+ <td className="security-tab__cell-fixed-ver">{vulnerability.fixedVersion}</td>
27
+ <td
28
+ className={`security-tab__cell-policy security-tab__cell-policy--${vulnerability.policy?.toLowerCase()}`}
29
+ >
30
+ {vulnerability.policy?.toLowerCase()}
31
+ </td>
32
+ </tr>
33
+ )
37
34
 
38
35
  return (
39
36
  <table className="security-tab__table">
@@ -46,9 +43,7 @@ export default function ScanVulnerabilitiesTable({ vulnerabilities }: ScanVulner
46
43
  <th className="security-cell-header security-tab__cell-fixed-ver">Fixed In Version</th>
47
44
  <th className="security-cell-header security-tab__cell-policy">Policy</th>
48
45
  </tr>
49
- {vulnerabilities.map((vulnerability) => {
50
- return renderRow(vulnerability)
51
- })}
46
+ {vulnerabilities.map((vulnerability) => renderRow(vulnerability))}
52
47
  </tbody>
53
48
  </table>
54
49
  )
@@ -1,7 +1,10 @@
1
1
  export class ServerError {
2
2
  code: number
3
+
3
4
  internalMessage: string | null
5
+
4
6
  userMessage: string | null
7
+
5
8
  moreInfo?: string | null
6
9
 
7
10
  constructor(error) {
@@ -14,12 +17,13 @@ export class ServerError {
14
17
 
15
18
  export class ServerErrors extends Error {
16
19
  code: number
20
+
17
21
  errors: ServerError[]
18
22
 
19
23
  constructor(obj: { code: number; errors: ServerError[] }) {
20
24
  super()
21
25
  this.code = obj.code
22
- let message = obj.errors.reduce((str: string, err: ServerError) => {
26
+ const message = obj.errors.reduce((str: string, err: ServerError) => {
23
27
  str += `${err.internalMessage || err.userMessage}`
24
28
  return str
25
29
  }, '')
@@ -1,4 +1,4 @@
1
- import React, { useRef, useState } from 'react'
1
+ import { useRef, useState } from 'react'
2
2
  import Tippy from '@tippyjs/react'
3
3
  import { ReactComponent as CloseIcon } from '../Assets/Icon/ic-cross.svg'
4
4
  import { ReactComponent as QuestionFilled } from '../Assets/Icon/ic-help.svg'
@@ -9,7 +9,7 @@ import { not } from './Helper'
9
9
 
10
10
  // This component will handle some of the new tippy designs and interactions
11
11
  // So this can be updated to support further for new features or interactions
12
- export function TippyCustomized(props: TippyCustomizedProps) {
12
+ export const TippyCustomized = (props: TippyCustomizedProps) => {
13
13
  const tippyRef = useRef(null)
14
14
  const [showHeadingInfo, setShowHeadingInfo] = useState(false)
15
15
  const isWhiteTheme = props.theme === TippyTheme.white
@@ -60,43 +60,46 @@ export function TippyCustomized(props: TippyCustomizedProps) {
60
60
  } = props
61
61
  return (
62
62
  <>
63
- {!hideHeading &&
64
- <div
65
- className={`dc__word-break dc__hyphens-auto flex left ${
66
- isWhiteTheme
67
- ? `p-12 cn-9 ${props.noHeadingBorder ? '' : 'dc__border-bottom-n1'}`
68
- : 'pt-20 pb-12 pr-20 pl-20 cn-0 top'
69
- }`}
70
- >
71
- {iconPath ? (
72
- <img
73
- className={`icon-dim-${iconSize || 20} mr-6 ${iconClass || ''}`}
74
- src={iconPath}
75
- alt="Heading"
76
- onError={onImageLoadError}
77
- />
78
- ) : (
79
- Icon && (
80
- <div className={`icon-dim-${iconSize || 20} mr-6`}>
81
- <Icon className={`icon-dim-${iconSize || 20} ${iconClass || ''}`} />
82
- </div>
83
- )
84
- )}
85
- {heading && <span className={`fs-14 fw-6 lh-20 ${showCloseButton ? 'mr-6' : ''}`}>{heading}</span>}
86
- {headingInfo && (
87
- <div className="icon-dim-20 cursor" onClick={toggleHeadingInfo}>
88
- <Question className="icon-dim-20" />
89
- </div>
90
- )}
91
- {showCloseButton && (
92
- <div className="icon-dim-16 ml-auto">
93
- <CloseIcon
94
- className={`icon-dim-16 cursor ${isWhiteTheme ? 'fcn-9' : 'fcn-0'}`}
95
- onClick={closeTippy}
63
+ {!hideHeading && (
64
+ <div
65
+ className={`dc__word-break dc__hyphens-auto flex left ${
66
+ isWhiteTheme
67
+ ? `p-12 cn-9 ${props.noHeadingBorder ? '' : 'dc__border-bottom-n1'}`
68
+ : 'pt-20 pb-12 pr-20 pl-20 cn-0 top'
69
+ }`}
70
+ >
71
+ {iconPath ? (
72
+ <img
73
+ className={`icon-dim-${iconSize || 20} mr-6 ${iconClass || ''}`}
74
+ src={iconPath}
75
+ alt="Heading"
76
+ onError={onImageLoadError}
96
77
  />
97
- </div>
98
- )}
99
- </div>}
78
+ ) : (
79
+ Icon && (
80
+ <div className={`icon-dim-${iconSize || 20} mr-6`}>
81
+ <Icon className={`icon-dim-${iconSize || 20} ${iconClass || ''}`} />
82
+ </div>
83
+ )
84
+ )}
85
+ {heading && (
86
+ <span className={`fs-14 fw-6 lh-20 ${showCloseButton ? 'mr-6' : ''}`}>{heading}</span>
87
+ )}
88
+ {headingInfo && (
89
+ <div className="icon-dim-20 cursor" onClick={toggleHeadingInfo}>
90
+ <Question className="icon-dim-20" />
91
+ </div>
92
+ )}
93
+ {showCloseButton && (
94
+ <div className="icon-dim-16 ml-auto">
95
+ <CloseIcon
96
+ className={`icon-dim-16 cursor ${isWhiteTheme ? 'fcn-9' : 'fcn-0'}`}
97
+ onClick={closeTippy}
98
+ />
99
+ </div>
100
+ )}
101
+ </div>
102
+ )}
100
103
  {showHeadingInfo && (
101
104
  <div
102
105
  className={`flex left top bcv-1 fs-13 fw-4 lh-20 pt-8 pb-8 ${
@@ -1,8 +1,8 @@
1
- import React from 'react'
1
+ import { Component } from 'react'
2
2
  import { toast } from 'react-toastify'
3
3
  import { TOAST_ACCESS_DENIED } from './Constants'
4
4
 
5
- export class ToastBody extends React.Component<{
5
+ export class ToastBody extends Component<{
6
6
  title: string
7
7
  subtitle?: string
8
8
  }> {
@@ -16,7 +16,7 @@ export class ToastBody extends React.Component<{
16
16
  }
17
17
  }
18
18
 
19
- export class ToastBody3 extends React.Component<{
19
+ export class ToastBody3 extends Component<{
20
20
  text: string
21
21
  onClick: (...args) => void
22
22
  buttonText: string
@@ -33,7 +33,7 @@ export class ToastBody3 extends React.Component<{
33
33
  }
34
34
  }
35
35
 
36
- export class ToastBodyWithButton extends React.Component<{
36
+ export class ToastBodyWithButton extends Component<{
37
37
  title: string
38
38
  subtitle?: string
39
39
  onClick: (...args) => void
@@ -52,11 +52,10 @@ export class ToastBodyWithButton extends React.Component<{
52
52
  }
53
53
  }
54
54
 
55
- export const toastAccessDenied = (title?: string, subtitle?: string) => {
56
- return toast.info(
55
+ export const toastAccessDenied = (title?: string, subtitle?: string) =>
56
+ toast.info(
57
57
  <ToastBody title={title || TOAST_ACCESS_DENIED.TITLE} subtitle={subtitle || TOAST_ACCESS_DENIED.SUBTITLE} />,
58
58
  {
59
59
  className: 'devtron-toast unauthorized',
60
60
  },
61
61
  )
62
- }
@@ -1,4 +1,4 @@
1
- import React from 'react'
1
+ import { useState } from 'react'
2
2
  import { useEffectAfterMount } from '../Helper'
3
3
  import './Toggle.scss'
4
4
 
@@ -10,10 +10,10 @@ const Toggle = ({
10
10
  disabled = false,
11
11
  dataTestId = 'handle-toggle-button',
12
12
  Icon = null,
13
- iconClass= '',
13
+ iconClass = '',
14
14
  ...props
15
15
  }) => {
16
- const [active, setActive] = React.useState(selected)
16
+ const [active, setActive] = useState(selected)
17
17
 
18
18
  useEffectAfterMount(() => {
19
19
  if (typeof onSelect === 'function') {
@@ -94,7 +94,6 @@ export interface GenericEmptyStateType {
94
94
  imageClassName?: string
95
95
  children?: ReactNode
96
96
  noImage?: boolean
97
- imageStyles?: CSSProperties
98
97
  /**
99
98
  * @default 'column'
100
99
  */
@@ -230,7 +229,7 @@ export enum FilterStates {
230
229
  }
231
230
 
232
231
  export enum MaterialDataSource {
233
- EXTERNAL = "ext"
232
+ EXTERNAL = 'ext',
234
233
  }
235
234
 
236
235
  export interface CDMaterialType {
@@ -241,7 +240,7 @@ export interface CDMaterialType {
241
240
  scanEnabled: boolean
242
241
  scanned: boolean
243
242
  vulnerabilitiesLoading: boolean
244
- lastExecution: string //timestamp
243
+ lastExecution: string // timestamp
245
244
  vulnerabilities: VulnerabilityType[]
246
245
  vulnerable: boolean
247
246
  deployedTime: string
@@ -259,7 +258,7 @@ export interface CDMaterialType {
259
258
  imageReleaseTags?: ReleaseTag[]
260
259
  artifactStatus?: string
261
260
  filterState: FilterStates
262
- registryType?: string;
261
+ registryType?: string
263
262
  imagePath?: string
264
263
  registryName?: string
265
264
  // Not even coming from API but required in CDMaterials for Security which makes its own api call but stores data in CDMaterials
@@ -278,12 +277,12 @@ export enum CDMaterialServiceEnum {
278
277
  }
279
278
 
280
279
  export enum CDMaterialResourceQuery {
281
- PENDING_APPROVAL = 'PENDING_APPROVAL'
280
+ PENDING_APPROVAL = 'PENDING_APPROVAL',
282
281
  }
283
282
 
284
283
  export enum CDMaterialFilterQuery {
285
284
  RESOURCE = 'ELIGIBLE_RESOURCES',
286
- ALL = 'ALL_RESOURCES'
285
+ ALL = 'ALL_RESOURCES',
287
286
  }
288
287
 
289
288
  export interface CDMaterialServiceQueryParams {
@@ -325,18 +324,18 @@ export interface CommonNodeAttr {
325
324
  isLinkedCI?: boolean
326
325
  isLinkedCD?: boolean
327
326
  isJobCI?: boolean // used for Job type CI in Devtron Apps
328
- environmentName?: string //used for CDs
327
+ environmentName?: string // used for CDs
329
328
  environmentId?: number
330
329
  inputMaterialList?: any[]
331
- rollbackMaterialList?: any[] //used for CDs
332
- linkedCount?: number //used for CI
330
+ rollbackMaterialList?: any[] // used for CDs
331
+ linkedCount?: number // used for CI
333
332
  deploymentStrategy?: string
334
333
  height: number
335
334
  width: number
336
- preNode?: CommonNodeAttr //used for CDs
337
- postNode?: CommonNodeAttr //used for CDs
338
- stageIndex?: number //used for CDs
339
- sourceNodes?: Array<CommonNodeAttr> //used for CI
335
+ preNode?: CommonNodeAttr // used for CDs
336
+ postNode?: CommonNodeAttr // used for CDs
337
+ stageIndex?: number // used for CDs
338
+ sourceNodes?: Array<CommonNodeAttr> // used for CI
340
339
  downstreamNodes?: Array<CommonNodeAttr>
341
340
  parentPipelineId?: string
342
341
  parentPipelineType?: string
@@ -680,19 +679,19 @@ export interface CodeEditorComposition {
680
679
  }
681
680
 
682
681
  export interface CodeEditorHeaderComposition {
683
- LanguageChanger?: React.FC<any>;
684
- ThemeChanger?: React.FC<any>;
685
- ValidationError?: React.FC<any>;
686
- Clipboard?: React.FC<any>;
682
+ LanguageChanger?: React.FC<any>
683
+ ThemeChanger?: React.FC<any>
684
+ ValidationError?: React.FC<any>
685
+ Clipboard?: React.FC<any>
687
686
  }
688
687
  export interface CodeEditorHeaderInterface {
689
- children?: any;
688
+ children?: any
690
689
  className?: string
691
- hideDefaultSplitHeader?: boolean;
690
+ hideDefaultSplitHeader?: boolean
692
691
  }
693
692
 
694
693
  export interface DeploymentChartVersionType {
695
- chartRefId: number
694
+ chartRefId: number
696
695
  chartVersion: string
697
696
  chartType: string
698
697
  type: number
package/src/custom.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  declare module '*.svg' {
2
- import * as React from 'react';
2
+ import * as React from 'react'
3
3
 
4
- export const ReactComponent: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
4
+ export const ReactComponent: React.FunctionComponent<React.SVGProps<SVGSVGElement>>
5
5
 
6
- const src: string;
7
- export default src;
6
+ const src: string
7
+ export default src
8
8
  }
9
9
 
10
10
  declare module '*.png' {
11
- const src: string;
12
- export default src;
13
- }
11
+ const src: string
12
+ export default src
13
+ }
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- export * from "./Common"
1
+ export * from './Common'