@devtron-labs/devtron-fe-common-lib 0.5.0 → 0.5.1-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 (33) hide show
  1. package/dist/Common/Policy.Types.d.ts +14 -0
  2. package/dist/Pages/GlobalConfigurations/BuildInfra/Descriptor.d.ts +2 -2
  3. package/dist/Pages/GlobalConfigurations/BuildInfra/types.d.ts +1 -1
  4. package/dist/Shared/Components/FeatureDescription/FeatureTitleWithInfo.d.ts +1 -1
  5. package/dist/Shared/Components/FeatureDescription/index.d.ts +1 -0
  6. package/dist/Shared/Components/FeatureDescription/types.d.ts +6 -0
  7. package/dist/Shared/Components/Plugin/service.d.ts +3 -3
  8. package/dist/Shared/Components/Plugin/types.d.ts +4 -1
  9. package/dist/Shared/Components/SelectPicker/SelectPicker.component.d.ts +1 -1
  10. package/dist/Shared/Components/SelectPicker/common.d.ts +1 -1
  11. package/dist/Shared/Components/SelectPicker/type.d.ts +21 -13
  12. package/dist/Shared/Components/SelectPicker/utils.d.ts +2 -1
  13. package/dist/Shared/types.d.ts +37 -1
  14. package/dist/Shared/validations.d.ts +3 -0
  15. package/dist/assets/index.css +1 -1
  16. package/dist/{cssMode-C10rk8Cn.js → cssMode-C-8NCRVi.js} +1 -1
  17. package/dist/{freemarker2-D67_7glc.js → freemarker2-VwlfxSVj.js} +1 -1
  18. package/dist/{handlebars-BjuzR1TI.js → handlebars-DTdwp5Q_.js} +1 -1
  19. package/dist/{html-CD4rBQ1p.js → html-BMP6mYoe.js} +1 -1
  20. package/dist/{htmlMode-ChcH2Ueg.js → htmlMode-C3iSGN9S.js} +1 -1
  21. package/dist/{index-Czrg-A8a.js → index-qo_57pVO.js} +7680 -7674
  22. package/dist/index.js +558 -555
  23. package/dist/{javascript-B-PbsBVX.js → javascript-DTYUPJW2.js} +1 -1
  24. package/dist/{jsonMode-Bif4lid2.js → jsonMode-CSV24tpD.js} +1 -1
  25. package/dist/{liquid-ByZWrLBg.js → liquid-BLRIE4ke.js} +1 -1
  26. package/dist/{mdx-BW4oCjP0.js → mdx-8YGlyJjq.js} +1 -1
  27. package/dist/{python-BeFHqQHi.js → python-DJq97ytD.js} +1 -1
  28. package/dist/{razor-BHD5-V8u.js → razor-mlnUPUkS.js} +1 -1
  29. package/dist/{tsMode-NN8FSA45.js → tsMode-Dzwysbxg.js} +1 -1
  30. package/dist/{typescript-C0Qqxjrj.js → typescript-DpicryHs.js} +1 -1
  31. package/dist/{xml-B2M3oT9b.js → xml-CTgEAmpj.js} +1 -1
  32. package/dist/{yaml-azYGD9Hn.js → yaml-B1IgP7z6.js} +1 -1
  33. package/package.json +1 -1
@@ -5,6 +5,11 @@ import { ResponseType } from './Types';
5
5
  export declare enum ApplyPolicyToStage {
6
6
  PRE_CI = "PRE_CI",
7
7
  POST_CI = "POST_CI",
8
+ PRE_CD = "PRE_CD",
9
+ POST_CD = "POST_CD",
10
+ /**
11
+ * @deprecated in mandatory plugin policy v2
12
+ */
8
13
  PRE_OR_POST_CI = "PRE_OR_POST_CI"
9
14
  }
10
15
  export declare enum PluginRequiredStage {
@@ -46,8 +51,17 @@ export interface ProcessPluginDataReturnType {
46
51
  mandatoryPluginsError?: ServerErrors;
47
52
  }
48
53
  export declare enum ConsequenceAction {
54
+ /**
55
+ * This is used if the policy is enforced immediately.
56
+ */
49
57
  BLOCK = "BLOCK",
58
+ /**
59
+ * This is used if the policy will be enforced after a certain timestamp.
60
+ */
50
61
  ALLOW_UNTIL_TIME = "ALLOW_UNTIL_TIME",
62
+ /**
63
+ * This is used if the policy is not enforced yet (just to show waring).
64
+ */
51
65
  ALLOW_FOREVER = "ALLOW_FOREVER"
52
66
  }
53
67
  export interface ConsequenceType {
@@ -1,3 +1,3 @@
1
- import { DescriptorProps } from './types';
2
- declare const Descriptor: ({ additionalContainerClasses, breadCrumbs, children, tippyInfoText, tippyAdditionalContent, }: DescriptorProps) => JSX.Element;
1
+ import { BuildInfraDescriptorProps } from './types';
2
+ declare const Descriptor: ({ additionalContainerClasses, breadCrumbs, children, tippyInfoText, tippyAdditionalContent, }: BuildInfraDescriptorProps) => JSX.Element;
3
3
  export default Descriptor;
@@ -48,7 +48,7 @@ export declare enum BuildInfraProfileVariants {
48
48
  NORMAL = "NORMAL",
49
49
  CUSTOM = "CUSTOM"
50
50
  }
51
- export interface DescriptorProps {
51
+ export interface BuildInfraDescriptorProps {
52
52
  /**
53
53
  * In case we want to restrict the max-width
54
54
  */
@@ -1,3 +1,3 @@
1
1
  import { DescriptorProps } from './types';
2
- declare const FeatureTitleWithInfo: ({ additionalContainerClasses, breadCrumbs, children, iconClassName, title, renderDescriptionContent, closeModalText, docLink, SVGImage, showInfoIconTippy, docLinkText, dataTestId, additionalContent, }: DescriptorProps) => JSX.Element;
2
+ declare const FeatureTitleWithInfo: ({ additionalContainerClasses, breadCrumbs, children, iconClassName, title, renderDescriptionContent, closeModalText, docLink, SVGImage, showInfoIconTippy, docLinkText, dataTestId, additionalContent, showInfoIcon, }: DescriptorProps) => JSX.Element;
3
3
  export default FeatureTitleWithInfo;
@@ -1,2 +1,3 @@
1
1
  export * from './FeatureDescriptionModal';
2
2
  export { default as FeatureTitleWithInfo } from './FeatureTitleWithInfo';
3
+ export * from './types';
@@ -20,4 +20,10 @@ export interface DescriptorProps extends FeatureDescriptionModalProps {
20
20
  docLinkText?: string;
21
21
  dataTestId?: string;
22
22
  additionalContent?: ReactNode;
23
+ /**
24
+ * If true, the info icon is displayed which when clicked shows the feature description modal
25
+ *
26
+ * @default false
27
+ */
28
+ showInfoIcon?: boolean;
23
29
  }
@@ -1,6 +1,6 @@
1
1
  import { ResponseType } from '../../../Common';
2
- import { GetPluginStoreDataReturnType, GetPluginStoreDataServiceParamsType, MinParentPluginDTO, PluginDetailServiceParamsType } from './types';
3
- export declare const getPluginsDetail: ({ appId, parentPluginIds, pluginIds, signal, shouldShowError, }: PluginDetailServiceParamsType) => Promise<Pick<GetPluginStoreDataReturnType, "pluginStore">>;
2
+ import { GetParentPluginListPayloadType, GetPluginStoreDataReturnType, GetPluginStoreDataServiceParamsType, MinParentPluginDTO, PluginDetailServiceParamsType } from './types';
3
+ export declare const getPluginsDetail: ({ appId, parentPluginIds, pluginIds, signal, shouldShowError, parentPluginIdentifiers, }: PluginDetailServiceParamsType) => Promise<Pick<GetPluginStoreDataReturnType, "pluginStore">>;
4
4
  export declare const getPluginStoreData: ({ searchKey, selectedTags, appId, offset, signal, }: GetPluginStoreDataServiceParamsType) => Promise<GetPluginStoreDataReturnType>;
5
5
  export declare const getAvailablePluginTags: (appId: number) => Promise<string[]>;
6
- export declare const getParentPluginList: (appId?: number) => Promise<ResponseType<MinParentPluginDTO[]>>;
6
+ export declare const getParentPluginList: (params?: Partial<GetParentPluginListPayloadType>) => Promise<ResponseType<MinParentPluginDTO[]>>;
@@ -13,6 +13,7 @@ export interface PluginAPIBaseQueryParamsType {
13
13
  export interface GetPluginTagsPayloadType extends PluginAPIBaseQueryParamsType {
14
14
  }
15
15
  export interface GetParentPluginListPayloadType extends PluginAPIBaseQueryParamsType {
16
+ type?: 'ALL';
16
17
  }
17
18
  export interface PluginTagNamesDTO {
18
19
  tagNames: string[];
@@ -50,7 +51,7 @@ export interface ParentPluginDTO {
50
51
  pluginVersions: PluginVersionsDTO;
51
52
  pluginIdentifier: string;
52
53
  }
53
- export interface MinParentPluginDTO extends Pick<ParentPluginDTO, 'id' | 'name' | 'icon'> {
54
+ export interface MinParentPluginDTO extends Pick<ParentPluginDTO, 'id' | 'name' | 'icon' | 'pluginIdentifier'> {
54
55
  }
55
56
  export interface PluginDetailDTO {
56
57
  parentPlugins: ParentPluginDTO[];
@@ -60,6 +61,7 @@ export interface PluginDetailServiceParamsType {
60
61
  appId: number;
61
62
  pluginIds?: number[];
62
63
  parentPluginIds?: number[];
64
+ parentPluginIdentifiers?: string[];
63
65
  /**
64
66
  * @default true
65
67
  */
@@ -69,6 +71,7 @@ export interface PluginDetailServiceParamsType {
69
71
  export interface PluginDetailPayloadType extends Pick<PluginDetailServiceParamsType, 'appId'> {
70
72
  pluginId?: PluginDetailServiceParamsType['pluginIds'];
71
73
  parentPluginId?: PluginDetailServiceParamsType['parentPluginIds'];
74
+ parentPluginIdentifier?: PluginDetailServiceParamsType['parentPluginIdentifiers'][number];
72
75
  }
73
76
  export interface PluginListFiltersType extends Pick<BaseFilterQueryParams<unknown>, 'searchKey'> {
74
77
  selectedTags: string[];
@@ -134,5 +134,5 @@ import { SelectPickerProps } from './type';
134
134
  * />
135
135
  * ```
136
136
  */
137
- declare const SelectPicker: <OptionValue, IsMulti extends boolean>({ error, icon, helperText, placeholder, label, showSelectedOptionIcon, size, disabledTippyContent, showSelectedOptionsCount, menuSize, optionListError, reloadOptionList, menuPosition, variant, disableDescriptionEllipsis, multiSelectProps, isMulti, name, classNamePrefix, shouldRenderCustomOptions, isSearchable, selectRef, shouldMenuAlignRight, fullWidth, customSelectedOptionsCount, renderMenuListFooter, inputValue, onInputChange, isCreatable, onCreateOption, closeMenuOnSelect, ...props }: SelectPickerProps<OptionValue, IsMulti>) => JSX.Element;
137
+ declare const SelectPicker: <OptionValue, IsMulti extends boolean>({ error, icon, helperText, placeholder, label, showSelectedOptionIcon, size, disabledTippyContent, showSelectedOptionsCount, menuSize, optionListError, reloadOptionList, menuPosition, variant, disableDescriptionEllipsis, multiSelectProps, isMulti, name, classNamePrefix, shouldRenderCustomOptions, isSearchable, selectRef, shouldMenuAlignRight, fullWidth, customSelectedOptionsCount, renderMenuListFooter, inputValue, onInputChange, isCreatable, onCreateOption, closeMenuOnSelect, shouldShowNoOptionsMessage, ...props }: SelectPickerProps<OptionValue, IsMulti>) => JSX.Element;
138
138
  export default SelectPicker;
@@ -2,7 +2,7 @@ import { DropdownIndicatorProps, ControlProps, OptionProps, ClearIndicatorProps,
2
2
  import { SelectPickerGroupHeadingProps, SelectPickerOptionType, SelectPickerProps } from './type';
3
3
  export declare const SelectPickerDropdownIndicator: <OptionValue>(props: DropdownIndicatorProps<SelectPickerOptionType<OptionValue>>) => JSX.Element;
4
4
  export declare const SelectPickerClearIndicator: <OptionValue>(props: ClearIndicatorProps<SelectPickerOptionType<OptionValue>>) => JSX.Element;
5
- export declare const SelectPickerControl: <OptionValue, IsMulti extends boolean>({ icon, showSelectedOptionIcon, ...props }: ControlProps<SelectPickerOptionType<OptionValue>> & Pick<SelectPickerProps<OptionValue, IsMulti>, "icon" | "showSelectedOptionIcon">) => JSX.Element;
5
+ export declare const SelectPickerControl: <OptionValue>(props: ControlProps<SelectPickerOptionType<OptionValue>>) => JSX.Element;
6
6
  export declare const SelectPickerValueContainer: <OptionValue, IsMulti extends boolean>({ showSelectedOptionsCount, customSelectedOptionsCount, ...props }: ValueContainerProps<SelectPickerOptionType<OptionValue>> & Pick<SelectPickerProps<OptionValue, IsMulti>, "showSelectedOptionsCount" | "customSelectedOptionsCount">) => JSX.Element;
7
7
  export declare const SelectPickerLoadingIndicator: () => JSX.Element;
8
8
  export declare const SelectPickerOption: <OptionValue, IsMulti extends boolean>({ disableDescriptionEllipsis, ...props }: OptionProps<SelectPickerOptionType<OptionValue>> & Pick<SelectPickerProps<OptionValue, IsMulti>, "disableDescriptionEllipsis">) => JSX.Element;
@@ -39,17 +39,24 @@ declare module 'react-select/base' {
39
39
  * Imp Note: The menu open/close needs to handled by the consumer in this case
40
40
  */
41
41
  renderCustomOptions?: () => ReactElement;
42
+ /**
43
+ * Icon to be rendered in the control
44
+ */
45
+ icon?: ReactElement;
46
+ /**
47
+ * If true, the selected option icon is shown in the container.
48
+ * startIcon has higher priority than endIcon.
49
+ *
50
+ * @default 'true'
51
+ */
52
+ showSelectedOptionIcon?: boolean;
42
53
  }
43
54
  }
44
55
  export declare enum SelectPickerVariantType {
45
56
  DEFAULT = "default",
46
57
  BORDER_LESS = "border-less"
47
58
  }
48
- 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' | 'onInputChange' | 'inputValue'> & Partial<Pick<SelectProps<OptionValue, IsMulti>, 'renderMenuListFooter' | 'shouldRenderCustomOptions' | 'renderCustomOptions'>> & Required<Pick<SelectProps<OptionValue, IsMulti>, 'inputId'>> & Partial<Pick<CreatableProps<SelectPickerOptionType<OptionValue>, IsMulti, GroupBase<SelectPickerOptionType<OptionValue>>>, 'onCreateOption'>> & {
49
- /**
50
- * Icon to be rendered in the control
51
- */
52
- icon?: ReactElement;
59
+ 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'>> & {
53
60
  /**
54
61
  * Error message for the select
55
62
  */
@@ -62,13 +69,6 @@ export type SelectPickerProps<OptionValue = number | string, IsMulti extends boo
62
69
  * Label for the select. if required is added, the corresponding * is also added
63
70
  */
64
71
  label?: ReactNode;
65
- /**
66
- * If true, the selected option icon is shown in the container.
67
- * startIcon has higher priority than endIcon.
68
- *
69
- * @default 'true'
70
- */
71
- showSelectedOptionIcon?: boolean;
72
72
  /**
73
73
  * Custom selected options count for use cases like filters
74
74
  */
@@ -140,6 +140,14 @@ export type SelectPickerProps<OptionValue = number | string, IsMulti extends boo
140
140
  * @default false
141
141
  */
142
142
  isCreatable?: boolean;
143
+ /**
144
+ * If false, the no options message is not shown
145
+ *
146
+ * Note: Handling for the menu distortion needs to be handled explicitly in this case
147
+ *
148
+ * @default true
149
+ */
150
+ shouldShowNoOptionsMessage?: boolean;
143
151
  } & (IsMulti extends true ? {
144
152
  isMulti: IsMulti | boolean;
145
153
  multiSelectProps?: {
@@ -163,7 +171,7 @@ export type SelectPickerProps<OptionValue = number | string, IsMulti extends boo
163
171
  export type SelectPickerGroupHeadingProps<OptionValue> = GroupHeadingProps<SelectPickerOptionType<OptionValue>> & {
164
172
  isGroupHeadingSelectable: boolean;
165
173
  };
166
- export interface FilterSelectPickerProps extends Required<Pick<SelectPickerProps<number | string, true>, 'options' | 'isDisabled' | 'placeholder' | 'isLoading'>>, Pick<SelectPickerProps<number | string, true>, 'selectRef' | 'inputId' | 'menuPosition' | 'autoFocus' | 'shouldMenuAlignRight' | 'optionListError' | 'reloadOptionList'> {
174
+ export interface FilterSelectPickerProps extends Required<Pick<SelectPickerProps<number | string, true>, 'options' | 'isDisabled' | 'placeholder' | 'isLoading'>>, Pick<SelectPickerProps<number | string, true>, 'selectRef' | 'inputId' | 'menuPosition' | 'autoFocus' | 'shouldMenuAlignRight' | 'optionListError' | 'reloadOptionList' | 'getOptionValue'> {
167
175
  appliedFilterOptions: SelectPickerOptionType[];
168
176
  handleApplyFilter: (filtersToApply: SelectPickerOptionType<number | string>[]) => void;
169
177
  }
@@ -9,6 +9,7 @@ export declare const getGroupCheckboxValue: <OptionValue>(groupHeadingOptions: r
9
9
  * @param optionsList - The list of options or groups of options.
10
10
  * @param value - The value to compare against the options' values.
11
11
  * @param defaultOption - The default option to return if no match is found.
12
+ * @param getOptionValue - Override the default value for the option
12
13
  * @returns The matched option or the default option if no match is found.
13
14
  */
14
- export declare const getSelectPickerOptionByValue: <OptionValue>(optionsList: OptionsOrGroups<SelectPickerOptionType<OptionValue>, GroupBase<SelectPickerOptionType<OptionValue>>>, value: OptionValue, defaultOption?: SelectPickerOptionType<OptionValue>) => SelectPickerOptionType<OptionValue>;
15
+ export declare const getSelectPickerOptionByValue: <OptionValue>(optionsList: OptionsOrGroups<SelectPickerOptionType<OptionValue>, GroupBase<SelectPickerOptionType<OptionValue>>>, value: OptionValue, defaultOption?: SelectPickerOptionType<OptionValue>, getOptionValue?: SelectPickerProps<OptionValue>["getOptionValue"]) => SelectPickerOptionType<OptionValue>;
@@ -375,6 +375,7 @@ export declare enum ResourceKindType {
375
375
  tenant = "tenant",
376
376
  installation = "installation",
377
377
  environment = "environment",
378
+ ciPipeline = "ci-pipeline",
378
379
  cdPipeline = "cd-pipeline",
379
380
  project = "project"
380
381
  }
@@ -395,7 +396,9 @@ export interface SeverityCount {
395
396
  unknown: number;
396
397
  }
397
398
  export declare enum PolicyKindType {
398
- lockConfiguration = "lock-configuration"
399
+ lockConfiguration = "lock-configuration",
400
+ imagePromotion = "image-promotion",
401
+ plugins = "plugin"
399
402
  }
400
403
  export interface LastExecutionResultType {
401
404
  lastExecution: string;
@@ -580,4 +583,37 @@ export declare enum RuntimeParamsHeadingType {
580
583
  KEY = "key",
581
584
  VALUE = "value"
582
585
  }
586
+ export declare enum ACCESS_TYPE_MAP {
587
+ DEVTRON_APPS = "devtron-app",// devtron app work flow
588
+ HELM_APPS = "helm-app",// helm app work flow
589
+ JOBS = ""
590
+ }
591
+ export declare enum EntityTypes {
592
+ CHART_GROUP = "chart-group",
593
+ DIRECT = "apps",
594
+ JOB = "jobs",
595
+ DOCKER = "docker",
596
+ GIT = "git",
597
+ CLUSTER = "cluster",
598
+ NOTIFICATION = "notification"
599
+ }
600
+ export interface CustomRoles {
601
+ id: number;
602
+ roleName: string;
603
+ roleDisplayName: string;
604
+ roleDescription: string;
605
+ entity: EntityTypes;
606
+ accessType: ACCESS_TYPE_MAP.DEVTRON_APPS | ACCESS_TYPE_MAP.HELM_APPS;
607
+ }
608
+ export type MetaPossibleRoles = Record<CustomRoles['roleName'], {
609
+ value: CustomRoles['roleDisplayName'];
610
+ description: CustomRoles['roleDescription'];
611
+ }>;
612
+ export interface CustomRoleAndMeta {
613
+ customRoles: CustomRoles[];
614
+ possibleRolesMeta: MetaPossibleRoles;
615
+ possibleRolesMetaForHelm: MetaPossibleRoles;
616
+ possibleRolesMetaForCluster: MetaPossibleRoles;
617
+ possibleRolesMetaForJob: MetaPossibleRoles;
618
+ }
583
619
  export {};
@@ -14,6 +14,8 @@ export declare const MESSAGES: {
14
14
  VALID_POSITIVE_INTEGER: string;
15
15
  MAX_SAFE_INTEGER: string;
16
16
  INVALID_SEMANTIC_VERSION: string;
17
+ INVALID_DATE: string;
18
+ DATE_BEFORE_CURRENT_TIME: string;
17
19
  };
18
20
  export declare const requiredField: (value: string) => ValidationResponseType;
19
21
  export declare const validateName: (name: string) => ValidationResponseType;
@@ -42,3 +44,4 @@ export declare const validateSemanticVersioning: (version: string) => Validation
42
44
  */
43
45
  export declare const validateDisplayName: (name: string) => ValidationResponseType;
44
46
  export declare const validateJSON: (json: string) => ValidationResponseType;
47
+ export declare const validateDateAndTime: (date: Date) => ValidationResponseType;