@devtron-labs/devtron-fe-common-lib 0.0.60-beta-1 → 0.0.60-beta-2
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.
- package/.eslintignore +96 -0
- package/.eslintrc.js +109 -0
- package/.github/pull_request_template.md +25 -0
- package/.github/workflows/ci.yml +31 -0
- package/.github/workflows/release-package.yml +48 -0
- package/.husky/pre-commit +5 -0
- package/.lintstagedrc +3 -0
- package/.nvmrc +1 -0
- package/.prettierrc.js +7 -0
- package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -3
- package/dist/Common/AddCDButton/index.d.ts +2 -2
- package/dist/Common/AddCDButton/types.d.ts +26 -26
- package/dist/Common/AddCDButton/utils.d.ts +2 -2
- package/dist/Common/Api.d.ts +14 -5
- package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
- package/dist/Common/AppStatus/constants.d.ts +51 -51
- package/dist/Common/AppStatus/index.d.ts +1 -1
- package/dist/Common/AppStatus/types.d.ts +12 -12
- package/dist/Common/AppStatus/utils.d.ts +1 -1
- package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
- package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
- package/dist/Common/BreadCrumb/Types.d.ts +28 -28
- package/dist/Common/CIPipeline.Types.d.ts +265 -265
- package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -3
- package/dist/Common/Checkbox.d.ts +5 -5
- package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
- package/dist/Common/ClipboardButton/types.d.ts +8 -8
- package/dist/Common/Common.service.d.ts +20 -20
- package/dist/Common/Constants.d.ts +89 -81
- package/dist/Common/CustomInput/CustomInput.d.ts +3 -2
- package/dist/Common/CustomInput/Types.d.ts +31 -31
- package/dist/Common/CustomInput/index.d.ts +2 -2
- package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
- package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
- package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
- package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
- package/dist/Common/CustomTagSelector/index.d.ts +6 -6
- package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +17 -17
- package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
- package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
- package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -3
- package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
- package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -2
- package/dist/Common/DevtronProgressing/index.d.ts +1 -1
- package/dist/Common/DevtronProgressing/types.d.ts +4 -4
- package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -8
- package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
- package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
- package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
- package/dist/Common/Dialogs/Types.d.ts +45 -45
- package/dist/Common/Dialogs/index.d.ts +4 -4
- package/dist/Common/DraggableWrapper/DraggableButton.d.ts +3 -3
- package/dist/Common/DraggableWrapper/DraggableWrapper.d.ts +9 -9
- package/dist/Common/DraggableWrapper/index.d.ts +3 -3
- package/dist/Common/DraggableWrapper/types.d.ts +23 -23
- package/dist/Common/Drawer/Drawer.d.ts +16 -14
- package/dist/Common/EmptyState/EmptyState.d.ts +25 -0
- package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -3
- package/dist/Common/Error.d.ts +17 -17
- package/dist/Common/ErrorScreenNotFound.d.ts +3 -2
- package/dist/Common/Grid/Grid.d.ts +3 -3
- package/dist/Common/Grid/types.d.ts +10 -10
- package/dist/Common/Helper.d.ts +64 -68
- package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
- package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
- package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
- package/dist/Common/Hooks/UseWindowSize/UseWindowSize.d.ts +4 -4
- package/dist/Common/Hooks/index.d.ts +4 -3
- package/dist/Common/Hooks/useUrlFilters/constants.d.ts +8 -0
- package/dist/Common/Hooks/useUrlFilters/index.d.ts +2 -0
- package/dist/Common/Hooks/useUrlFilters/types.d.ts +19 -0
- package/dist/Common/Hooks/useUrlFilters/useUrlFilters.d.ts +20 -0
- package/dist/Common/ImageTags.Types.d.ts +40 -40
- package/dist/Common/ImageTags.d.ts +4 -3
- package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -3
- package/dist/Common/Modals/Modal.d.ts +3 -3
- package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
- package/dist/Common/Modals/VisibleModal.d.ts +15 -15
- package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
- package/dist/Common/MultiSelectCustomization.d.ts +37 -37
- package/dist/Common/Pagination/PageSizeSelector.d.ts +4 -3
- package/dist/Common/Pagination/Pagination.d.ts +5 -3
- package/dist/Common/Pagination/constants.d.ts +5 -5
- package/dist/Common/Pagination/index.d.ts +1 -1
- package/dist/Common/Pagination/types.d.ts +51 -51
- package/dist/Common/Pagination/utils.d.ts +6 -6
- package/dist/Common/Policy.Types.d.ts +56 -56
- package/dist/Common/PopupMenu.d.ts +8 -7
- package/dist/Common/Progressing.d.ts +4 -3
- package/dist/Common/RJSF/Form.d.ts +4 -2
- package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
- package/dist/Common/RJSF/common/types.d.ts +8 -8
- package/dist/Common/RJSF/config.d.ts +4 -4
- package/dist/Common/RJSF/constants.d.ts +7 -7
- package/dist/Common/RJSF/index.d.ts +3 -3
- package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
- package/dist/Common/RJSF/templates/Description.d.ts +3 -2
- package/dist/Common/RJSF/templates/Field.d.ts +3 -2
- package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
- package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/index.d.ts +10 -10
- package/dist/Common/RJSF/types.d.ts +3 -3
- package/dist/Common/RJSF/utils.d.ts +26 -25
- package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
- package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
- package/dist/Common/RJSF/widgets/index.d.ts +2 -2
- package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
- package/dist/Common/RadioGroup.d.ts +8 -8
- package/dist/Common/Reload.d.ts +3 -3
- package/dist/Common/ResizableTextarea.d.ts +3 -3
- package/dist/Common/SearchBar/SearchBar.component.d.ts +39 -37
- package/dist/Common/SearchBar/index.d.ts +2 -2
- package/dist/Common/SearchBar/types.d.ts +35 -35
- package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
- package/dist/Common/ServerError.d.ts +15 -15
- package/dist/Common/SortableTableHeaderCell/SortableTableHeaderCell.d.ts +18 -0
- package/dist/Common/SortableTableHeaderCell/index.d.ts +2 -0
- package/dist/Common/SortableTableHeaderCell/types.d.ts +25 -0
- package/dist/Common/TippyCustomized.d.ts +4 -2
- package/dist/Common/ToastBody.d.ts +23 -23
- package/dist/Common/Toggle/Toggle.d.ts +14 -12
- package/dist/Common/Types.d.ts +704 -691
- package/dist/Common/index.d.ts +51 -50
- package/dist/Pages/GlobalConfigurations/Authorization/constants.d.ts +15 -0
- package/dist/Pages/GlobalConfigurations/Authorization/index.d.ts +1 -0
- package/dist/Pages/GlobalConfigurations/index.d.ts +1 -0
- package/dist/Pages/index.d.ts +1 -0
- package/dist/Shared/Components/BulkSelection/BulkSelection.d.ts +4 -0
- package/dist/Shared/Components/BulkSelection/BulkSelectionDropdownItems.d.ts +4 -0
- package/dist/Shared/Components/BulkSelection/BulkSelectionProvider.d.ts +4 -0
- package/dist/Shared/Components/BulkSelection/constants.d.ts +9 -0
- package/dist/Shared/Components/BulkSelection/index.d.ts +4 -0
- package/dist/Shared/Components/BulkSelection/types.d.ts +54 -0
- package/dist/Shared/Components/index.d.ts +1 -0
- package/dist/Shared/index.d.ts +1 -0
- package/dist/index.d.ts +3 -7
- package/dist/index.js +29384 -162
- package/package.json +23 -34
- package/rollup.config.js +31 -0
- package/src/Assets/Icon/ic-add.svg +3 -0
- package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
- package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
- package/src/Assets/Icon/ic-arrow-up-down.svg +3 -0
- package/src/Assets/Icon/ic-check-all.svg +5 -0
- package/src/Assets/Icon/ic-check-square.svg +4 -0
- package/src/Assets/Icon/ic-check.svg +5 -0
- package/src/Assets/Icon/ic-chevron-down.svg +5 -0
- package/src/Assets/Icon/ic-close.svg +9 -0
- package/src/Assets/Icon/ic-copy.svg +3 -0
- package/src/Assets/Icon/ic-cross.svg +3 -0
- package/src/Assets/Icon/ic-drag.svg +8 -0
- package/src/Assets/Icon/ic-enter.svg +3 -0
- package/src/Assets/Icon/ic-error-cross.svg +8 -0
- package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
- package/src/Assets/Icon/ic-error-medium.svg +6 -0
- package/src/Assets/Icon/ic-help-outline.svg +3 -0
- package/src/Assets/Icon/ic-help.svg +3 -0
- package/src/Assets/Icon/ic-info-filled.svg +7 -0
- package/src/Assets/Icon/ic-info-outlined.svg +13 -0
- package/src/Assets/Icon/ic-minus.svg +3 -0
- package/src/Assets/Icon/ic-pencil.svg +3 -0
- package/src/Assets/Icon/ic-progressing.svg +6 -0
- package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
- package/src/Assets/Icon/ic-search.svg +6 -0
- package/src/Assets/Icon/ic-sort-arrow-down.svg +3 -0
- package/src/Assets/Icon/ic-warning.svg +7 -0
- package/src/Assets/Icon/inject-tag.svg +5 -0
- package/src/Assets/Img/app-not-deployed.png +0 -0
- package/src/Assets/Img/delete-medium.svg +15 -0
- package/src/Assets/Img/ic-empty-error@2x.png +0 -0
- package/src/Assets/Img/ic-loading-failure.png +0 -0
- package/src/Assets/Img/ic-not-authorized.svg +62 -0
- package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
- package/src/Common/AddCDButton/index.ts +2 -0
- package/src/Common/AddCDButton/types.ts +38 -0
- package/src/Common/AddCDButton/utils.tsx +35 -0
- package/src/Common/Api.ts +251 -0
- package/src/Common/AppStatus/AppStatus.tsx +64 -0
- package/src/Common/AppStatus/constants.ts +53 -0
- package/src/Common/AppStatus/index.ts +1 -0
- package/src/Common/AppStatus/types.ts +12 -0
- package/src/Common/AppStatus/utils.ts +14 -0
- package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
- package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
- package/src/Common/BreadCrumb/Types.ts +30 -0
- package/src/Common/CIPipeline.Types.ts +277 -0
- package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
- package/src/Common/Checkbox.tsx +36 -0
- package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
- package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
- package/src/Common/ClipboardButton/types.ts +7 -0
- package/src/Common/Common.service.ts +315 -0
- package/src/Common/Constants.ts +270 -0
- package/src/Common/CustomInput/CustomInput.tsx +134 -0
- package/src/Common/CustomInput/Types.ts +32 -0
- package/src/Common/CustomInput/index.ts +2 -0
- package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
- package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
- package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
- package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
- package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
- package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
- package/src/Common/CustomTagSelector/Types.ts +72 -0
- package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
- package/src/Common/CustomTagSelector/index.ts +6 -0
- package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
- package/src/Common/DebouncedSearch/Types.ts +13 -0
- package/src/Common/DebouncedSearch/Utils.ts +19 -0
- package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
- package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
- package/src/Common/DeleteComponentModal/types.ts +15 -0
- package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
- package/src/Common/DevtronProgressing/index.ts +1 -0
- package/src/Common/DevtronProgressing/types.ts +4 -0
- package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
- package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
- package/src/Common/Dialogs/DialogForm.tsx +86 -0
- package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
- package/src/Common/Dialogs/Types.ts +47 -0
- package/src/Common/Dialogs/index.ts +4 -0
- package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
- package/src/Common/DraggableWrapper/DraggableWrapper.tsx +116 -0
- package/src/Common/DraggableWrapper/index.ts +3 -0
- package/src/Common/DraggableWrapper/types.ts +27 -0
- package/src/Common/Drawer/Drawer.scss +40 -0
- package/src/Common/Drawer/Drawer.tsx +49 -0
- package/src/Common/EmptyState/EmptyState.tsx +42 -0
- package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
- package/src/Common/EmptyState/emptyState.scss +74 -0
- package/src/Common/Error.tsx +61 -0
- package/src/Common/ErrorScreenNotFound.tsx +31 -0
- package/src/Common/Grid/Grid.tsx +44 -0
- package/src/Common/Grid/types.ts +11 -0
- package/src/Common/Helper.tsx +576 -0
- package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
- package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
- package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
- package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
- package/src/Common/Hooks/index.ts +4 -0
- package/src/Common/Hooks/useUrlFilters/constants.ts +9 -0
- package/src/Common/Hooks/useUrlFilters/index.ts +2 -0
- package/src/Common/Hooks/useUrlFilters/types.ts +21 -0
- package/src/Common/Hooks/useUrlFilters/useUrlFilters.ts +121 -0
- package/src/Common/ImageTags.Types.ts +44 -0
- package/src/Common/ImageTags.tsx +586 -0
- package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
- package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
- package/src/Common/Modals/Modal.tsx +68 -0
- package/src/Common/Modals/OpaqueModal.tsx +36 -0
- package/src/Common/Modals/VisibleModal.tsx +55 -0
- package/src/Common/Modals/VisibleModal2.tsx +35 -0
- package/src/Common/MultiSelectCustomization.tsx +148 -0
- package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
- package/src/Common/Pagination/Pagination.tsx +127 -0
- package/src/Common/Pagination/constants.ts +6 -0
- package/src/Common/Pagination/index.tsx +3 -0
- package/src/Common/Pagination/pagination.scss +123 -0
- package/src/Common/Pagination/types.ts +55 -0
- package/src/Common/Pagination/utils.tsx +24 -0
- package/src/Common/Policy.Types.ts +63 -0
- package/src/Common/PopupMenu.tsx +199 -0
- package/src/Common/Progressing.tsx +53 -0
- package/src/Common/RJSF/Form.tsx +29 -0
- package/src/Common/RJSF/common/FieldRow.tsx +35 -0
- package/src/Common/RJSF/common/types.ts +9 -0
- package/src/Common/RJSF/config.ts +37 -0
- package/src/Common/RJSF/constants.ts +10 -0
- package/src/Common/RJSF/index.ts +3 -0
- package/src/Common/RJSF/rjsfForm.scss +18 -0
- package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
- package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
- package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
- package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
- package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
- package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
- package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
- package/src/Common/RJSF/templates/Description.tsx +12 -0
- package/src/Common/RJSF/templates/Field.tsx +30 -0
- package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
- package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
- package/src/Common/RJSF/templates/TitleField.tsx +9 -0
- package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
- package/src/Common/RJSF/templates/index.ts +10 -0
- package/src/Common/RJSF/types.ts +4 -0
- package/src/Common/RJSF/utils.ts +123 -0
- package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
- package/src/Common/RJSF/widgets/Select.tsx +77 -0
- package/src/Common/RJSF/widgets/index.ts +2 -0
- package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
- package/src/Common/RadioGroup/radioGroup.scss +46 -0
- package/src/Common/RadioGroup.tsx +53 -0
- package/src/Common/Reload.tsx +23 -0
- package/src/Common/ResizableTextarea.tsx +73 -0
- package/src/Common/SearchBar/SearchBar.component.tsx +131 -0
- package/src/Common/SearchBar/index.ts +2 -0
- package/src/Common/SearchBar/searchBar.scss +31 -0
- package/src/Common/SearchBar/types.ts +34 -0
- package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
- package/src/Common/Security/scanVulnerabilities.css +69 -0
- package/src/Common/ServerError.ts +31 -0
- package/src/Common/SortableTableHeaderCell/SortableTableHeaderCell.tsx +44 -0
- package/src/Common/SortableTableHeaderCell/index.ts +2 -0
- package/src/Common/SortableTableHeaderCell/types.ts +26 -0
- package/src/Common/TippyCustomized.tsx +172 -0
- package/src/Common/ToastBody.tsx +62 -0
- package/src/Common/Toggle/Toggle.scss +78 -0
- package/src/Common/Toggle/Toggle.tsx +50 -0
- package/src/Common/Types.ts +778 -0
- package/src/Common/index.ts +51 -0
- package/src/Pages/GlobalConfigurations/Authorization/constants.ts +16 -0
- package/src/Pages/GlobalConfigurations/Authorization/index.ts +1 -0
- package/src/Pages/GlobalConfigurations/index.ts +1 -0
- package/src/Pages/index.ts +1 -0
- package/src/Shared/Components/BulkSelection/BulkSelection.tsx +77 -0
- package/src/Shared/Components/BulkSelection/BulkSelectionDropdownItems.tsx +31 -0
- package/src/Shared/Components/BulkSelection/BulkSelectionProvider.tsx +160 -0
- package/src/Shared/Components/BulkSelection/constants.tsx +13 -0
- package/src/Shared/Components/BulkSelection/index.ts +4 -0
- package/src/Shared/Components/BulkSelection/types.tsx +65 -0
- package/src/Shared/Components/index.ts +1 -0
- package/src/Shared/index.ts +1 -0
- package/src/custom.d.ts +13 -0
- package/src/index.ts +3 -0
- package/tsconfig.json +40 -0
- package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
- package/dist/Common/Select/Select.d.ts +0 -4
- package/dist/Common/Select/types.d.ts +0 -29
- package/dist/abap-9f67f57a.js +0 -1314
- package/dist/apex-ff62e532.js +0 -315
- package/dist/assets/editor.worker-d26000ef.js +0 -9
- package/dist/assets/index.css +0 -1
- package/dist/assets/json.worker-f23a4654.js +0 -40
- package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
- package/dist/azcli-31e64a7f.js +0 -74
- package/dist/bat-0ffe897e.js +0 -95
- package/dist/bicep-3414a2b1.js +0 -108
- package/dist/cameligo-df1f3f25.js +0 -168
- package/dist/clojure-65b0f010.js +0 -754
- package/dist/coffee-437f0fba.js +0 -228
- package/dist/cpp-66843dd5.js +0 -390
- package/dist/csharp-621d9a49.js +0 -320
- package/dist/csp-de0d5244.js +0 -57
- package/dist/css-7cd5ed4c.js +0 -186
- package/dist/cssMode-6b75f943.js +0 -1446
- package/dist/cypher-70ad96fe.js +0 -262
- package/dist/dart-33ae3739.js +0 -270
- package/dist/dockerfile-f2274a50.js +0 -132
- package/dist/ecl-3b8294a3.js +0 -454
- package/dist/elixir-b9dcc73a.js +0 -489
- package/dist/flow9-bdde8316.js +0 -141
- package/dist/freemarker2-af9f92ac.js +0 -643
- package/dist/fsharp-eac2e449.js +0 -210
- package/dist/go-d12ed8d4.js +0 -208
- package/dist/graphql-c7356b69.js +0 -141
- package/dist/handlebars-cc9800dd.js +0 -391
- package/dist/hcl-e883a0d4.js +0 -177
- package/dist/html-edc1e4c2.js +0 -281
- package/dist/htmlMode-17cc8a79.js +0 -1456
- package/dist/index-32e797ab.js +0 -126102
- package/dist/ini-425ab711.js +0 -68
- package/dist/java-2bc0fd68.js +0 -221
- package/dist/javascript-5e615a9b.js +0 -75
- package/dist/jsonMode-742c1a1b.js +0 -1867
- package/dist/julia-1c932615.js +0 -496
- package/dist/kotlin-1ab839c8.js +0 -245
- package/dist/less-6fe856f5.js +0 -168
- package/dist/lexon-4955ac52.js +0 -151
- package/dist/liquid-843d0e9e.js +0 -238
- package/dist/lua-3cca0047.js +0 -157
- package/dist/m3-132e9cb6.js +0 -210
- package/dist/markdown-ea59a0c1.js +0 -202
- package/dist/mips-19811f4b.js +0 -194
- package/dist/msdax-69954a10.js +0 -377
- package/dist/mysql-82088e5d.js +0 -876
- package/dist/objective-c-1976eccc.js +0 -188
- package/dist/pascal-8ef177cb.js +0 -245
- package/dist/pascaligo-bc517b9e.js +0 -158
- package/dist/perl-8b93582c.js +0 -599
- package/dist/pgsql-00c11a6d.js +0 -847
- package/dist/php-4c8c276f.js +0 -471
- package/dist/pla-e9b4ffb1.js +0 -131
- package/dist/postiats-2071af8c.js +0 -544
- package/dist/powerquery-8e388ceb.js +0 -890
- package/dist/powershell-e35db398.js +0 -233
- package/dist/protobuf-a24b9176.js +0 -422
- package/dist/pug-2c94d9b8.js +0 -393
- package/dist/python-67e4059c.js +0 -259
- package/dist/qsharp-d730d7fe.js +0 -282
- package/dist/r-be193556.js +0 -245
- package/dist/razor-8e9d6aa5.js +0 -512
- package/dist/redis-9690c6ac.js +0 -298
- package/dist/redshift-6bdcdeaa.js +0 -806
- package/dist/restructuredtext-a08c1d20.js +0 -162
- package/dist/ruby-2247692b.js +0 -444
- package/dist/rust-1dffb4d5.js +0 -337
- package/dist/sb-136598e9.js +0 -110
- package/dist/scala-b1100fed.js +0 -353
- package/dist/scheme-038c8094.js +0 -114
- package/dist/scss-700d1b52.js +0 -244
- package/dist/shell-86c16e0f.js +0 -224
- package/dist/solidity-c05fdf3c.js +0 -1351
- package/dist/sophia-cd645d71.js +0 -190
- package/dist/sparql-01d9ec9c.js +0 -193
- package/dist/sql-4c33df41.js +0 -818
- package/dist/st-52cf1408.js +0 -414
- package/dist/swift-13c792ba.js +0 -315
- package/dist/systemverilog-0bd8b730.js +0 -556
- package/dist/tcl-463d7c75.js +0 -232
- package/dist/tsMode-d5db18bc.js +0 -811
- package/dist/twig-0d98f5ec.js +0 -323
- package/dist/typescript-302557e6.js +0 -328
- package/dist/vb-3a2b0a51.js +0 -364
- package/dist/wgsl-b2ddb3e4.js +0 -420
- package/dist/xml-47f08bc4.js +0 -95
- package/dist/yaml-49f075d9.js +0 -184
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface PageSizeOption {
|
|
2
|
+
value: number
|
|
3
|
+
selected: boolean
|
|
4
|
+
}
|
|
5
|
+
export interface PaginationProps {
|
|
6
|
+
/**
|
|
7
|
+
* number of items
|
|
8
|
+
*/
|
|
9
|
+
size: number
|
|
10
|
+
/**
|
|
11
|
+
* pageSize
|
|
12
|
+
*/
|
|
13
|
+
pageSize: number
|
|
14
|
+
offset: number
|
|
15
|
+
changePage: (pageNo: number) => void
|
|
16
|
+
changePageSize?: (pageSize: number) => void
|
|
17
|
+
/**
|
|
18
|
+
* If true will not show page size selector
|
|
19
|
+
*/
|
|
20
|
+
isPageSizeFix?: boolean
|
|
21
|
+
/**
|
|
22
|
+
* If given would show these options in page size selector else [20,40,50] with 20 as selected
|
|
23
|
+
*/
|
|
24
|
+
pageSizeOptions?: PageSizeOption[]
|
|
25
|
+
/**
|
|
26
|
+
* class for wrapper
|
|
27
|
+
*/
|
|
28
|
+
rootClassName?: string
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface Page {
|
|
32
|
+
value: number
|
|
33
|
+
selected: boolean
|
|
34
|
+
isVisible: boolean
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface CreatePageArrType extends Pick<PaginationProps, 'size' | 'pageSize'> {
|
|
38
|
+
selectedPageNo: number
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface PageSizeSelectorProps
|
|
42
|
+
extends Pick<PaginationProps, 'pageSizeOptions' | 'pageSize' | 'changePageSize'> {}
|
|
43
|
+
|
|
44
|
+
export interface PageSizeItemsProps extends Pick<PageSizeSelectorProps, 'changePageSize'> {
|
|
45
|
+
optionValue: PageSizeOption['value']
|
|
46
|
+
options: PageSizeOption[]
|
|
47
|
+
setOptions: React.Dispatch<React.SetStateAction<PageSizeOption[]>>
|
|
48
|
+
handleCloseDropdown: () => void
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface PageValueItemProps {
|
|
52
|
+
value: PageSizeOption['value']
|
|
53
|
+
isSelected: PageSizeOption['selected']
|
|
54
|
+
selectPage: (selectedPageNo: number) => void
|
|
55
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CreatePageArrType, Page, PageSizeOption } from './types'
|
|
2
|
+
import { FALLBACK_PAGE_SIZE_OPTIONS, VISIBLE_PAGES_LIMIT } from './constants'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns an array of pages numbers and whether they are selected, visible or not
|
|
6
|
+
*/
|
|
7
|
+
export const createPageArr = ({ size, pageSize, selectedPageNo }: CreatePageArrType): Page[] => {
|
|
8
|
+
const arr = []
|
|
9
|
+
const numberOfPages = Math.ceil(size / pageSize)
|
|
10
|
+
// we are showing 2 numbers before and after the selected page, so computing the lower and upper bounds
|
|
11
|
+
const lowerBound = selectedPageNo - 2 < 1 ? 1 : selectedPageNo - 2
|
|
12
|
+
const upperBound = selectedPageNo + 2 > numberOfPages ? numberOfPages : selectedPageNo + 2
|
|
13
|
+
for (let i = 1; i <= numberOfPages; i++) {
|
|
14
|
+
arr.push({
|
|
15
|
+
value: i,
|
|
16
|
+
selected: i === selectedPageNo,
|
|
17
|
+
isVisible: upperBound - VISIBLE_PAGES_LIMIT < i && i < lowerBound + VISIBLE_PAGES_LIMIT,
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
return arr
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const getDefaultPageValueOptions = (pageSizeOptions: PageSizeOption[]): PageSizeOption[] =>
|
|
24
|
+
pageSizeOptions?.length ? pageSizeOptions : FALLBACK_PAGE_SIZE_OPTIONS
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { VariableType } from "./CIPipeline.Types"
|
|
2
|
+
import { ResponseType } from "./Types"
|
|
3
|
+
|
|
4
|
+
export enum ApplyPolicyToStage {
|
|
5
|
+
PRE_CI = 'PRE_CI',
|
|
6
|
+
POST_CI = 'POST_CI',
|
|
7
|
+
PRE_OR_POST_CI = 'PRE_OR_POST_CI',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export enum PluginRequiredStage {
|
|
11
|
+
PRE_CI = 'preBuildStage',
|
|
12
|
+
POST_CI = 'postBuildStage',
|
|
13
|
+
PRE_OR_POST_CI = 'PRE_OR_POST_CI',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface DefinitionSourceType {
|
|
17
|
+
projectName: string
|
|
18
|
+
isDueToProductionEnvironment: boolean
|
|
19
|
+
isDueToLinkedPipeline: boolean
|
|
20
|
+
policyName: string
|
|
21
|
+
appName?: string
|
|
22
|
+
clusterName?: string
|
|
23
|
+
environmentName?: string
|
|
24
|
+
branchNames?: string[]
|
|
25
|
+
ciPipelineName?: string
|
|
26
|
+
}
|
|
27
|
+
export interface MandatoryPluginDetailType {
|
|
28
|
+
id: number
|
|
29
|
+
icon: string
|
|
30
|
+
name: string
|
|
31
|
+
description?: string
|
|
32
|
+
requiredIn: PluginRequiredStage
|
|
33
|
+
applied?: boolean
|
|
34
|
+
inputVariables?: VariableType[]
|
|
35
|
+
outputVariables?: VariableType[]
|
|
36
|
+
definitionSources?: DefinitionSourceType[]
|
|
37
|
+
}
|
|
38
|
+
export interface MandatoryPluginDataType {
|
|
39
|
+
pluginData: MandatoryPluginDetailType[]
|
|
40
|
+
isValidPre: boolean
|
|
41
|
+
isValidPost: boolean
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export enum ConsequenceAction {
|
|
45
|
+
BLOCK = 'BLOCK',
|
|
46
|
+
ALLOW_UNTIL_TIME = 'ALLOW_UNTIL_TIME',
|
|
47
|
+
ALLOW_FOREVER = 'ALLOW_FOREVER',
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface ConsequenceType {
|
|
51
|
+
action: ConsequenceAction
|
|
52
|
+
metadataField: string
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface BlockedStateData {
|
|
56
|
+
isOffendingMandatoryPlugin: boolean
|
|
57
|
+
isCITriggerBlocked: boolean
|
|
58
|
+
ciBlockState: ConsequenceType
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface GetBlockedStateResponse extends ResponseType {
|
|
62
|
+
result?: BlockedStateData
|
|
63
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import React, { useEffect } from 'react'
|
|
2
|
+
import { Modal } from './Modals/Modal'
|
|
3
|
+
import { PopupMenuBodyType, PopupMenuButtonType, PopupMenuType } from './Types'
|
|
4
|
+
|
|
5
|
+
const PopupContext = React.createContext(null)
|
|
6
|
+
|
|
7
|
+
function usePopupContext() {
|
|
8
|
+
const context = React.useContext(PopupContext)
|
|
9
|
+
if (!context) {
|
|
10
|
+
throw new Error(`Select compound components cannot be rendered outside popupmenup`)
|
|
11
|
+
}
|
|
12
|
+
return context
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function PopupMenu({
|
|
16
|
+
children = null,
|
|
17
|
+
onToggleCallback = null,
|
|
18
|
+
autoClose = false,
|
|
19
|
+
autoPosition = false,
|
|
20
|
+
}: PopupMenuType) {
|
|
21
|
+
const [popupPosition, setPopupPosition] = React.useState(null)
|
|
22
|
+
const [opacity, setOpacity] = React.useState(0)
|
|
23
|
+
const observer = React.useRef<IntersectionObserver | null>(null)
|
|
24
|
+
const buttonRef = React.useRef(null)
|
|
25
|
+
const buttonWidth = React.useRef(null)
|
|
26
|
+
|
|
27
|
+
React.useEffect(() => {
|
|
28
|
+
observer.current = window.IntersectionObserver ? new IntersectionObserver(intersectionCallback, options) : null
|
|
29
|
+
return () => {
|
|
30
|
+
if (observer && observer.current && observer.current.disconnect) observer.current.disconnect()
|
|
31
|
+
}
|
|
32
|
+
}, [])
|
|
33
|
+
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (typeof onToggleCallback === 'function') {
|
|
36
|
+
if (popupPosition) {
|
|
37
|
+
onToggleCallback(true)
|
|
38
|
+
} else {
|
|
39
|
+
onToggleCallback(false)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}, [popupPosition])
|
|
43
|
+
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (buttonRef?.current && autoPosition && popupPosition) {
|
|
46
|
+
const { height, x, y } = buttonRef.current.getBoundingClientRect()
|
|
47
|
+
setPopupPosition({ left: x, top: y + height })
|
|
48
|
+
}
|
|
49
|
+
}, [buttonRef?.current?.clientHeight])
|
|
50
|
+
|
|
51
|
+
let options = {
|
|
52
|
+
root: null,
|
|
53
|
+
rootMargin: '0px',
|
|
54
|
+
threshold: 1.0,
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (!children) return children
|
|
58
|
+
|
|
59
|
+
function intersectionCallback(entries, observer) {
|
|
60
|
+
entries.forEach((entry) => {
|
|
61
|
+
if (entry.isIntersecting && entry.intersectionRatio >= 1) {
|
|
62
|
+
setOpacity(1)
|
|
63
|
+
} else {
|
|
64
|
+
const { boundingClientRect, rootBounds } = entry
|
|
65
|
+
const { x, y, height, width } = boundingClientRect
|
|
66
|
+
const {
|
|
67
|
+
x: buttonX,
|
|
68
|
+
y: buttonY,
|
|
69
|
+
height: buttonHeight,
|
|
70
|
+
width: buttonWidth,
|
|
71
|
+
left: buttonLeft,
|
|
72
|
+
right: buttonRight,
|
|
73
|
+
top: buttonTop,
|
|
74
|
+
bottom: buttonBottom,
|
|
75
|
+
} = buttonRef.current.getBoundingClientRect()
|
|
76
|
+
if (y + height > rootBounds.height) {
|
|
77
|
+
setPopupPosition({ left: buttonX, bottom: document.documentElement.clientHeight - buttonY })
|
|
78
|
+
setOpacity(1)
|
|
79
|
+
}
|
|
80
|
+
if (x + width > rootBounds.width) {
|
|
81
|
+
// setPopupPosition(position => ({ right: document.documentElement.clientWidth - buttonLeft,...position, left:'unset' }))
|
|
82
|
+
setPopupPosition((position) => ({ ...position, right: '20px', left: 'unset' }))
|
|
83
|
+
setOpacity(1)
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const handleOpen = (e) => {
|
|
90
|
+
e.stopPropagation()
|
|
91
|
+
setOpacity(0)
|
|
92
|
+
const { height, x, y } = e.currentTarget.getBoundingClientRect()
|
|
93
|
+
setPopupPosition({ left: x, top: y + height })
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const handleClose = (e, inOrOut) => {
|
|
97
|
+
if (autoClose || inOrOut === 'out') {
|
|
98
|
+
if (observer && observer.current && observer.current.disconnect) observer.current.disconnect()
|
|
99
|
+
setOpacity(0)
|
|
100
|
+
setPopupPosition(null)
|
|
101
|
+
} else {
|
|
102
|
+
e.stopPropagation()
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function callbackRef(element) {
|
|
107
|
+
if (element && observer?.current?.observe) {
|
|
108
|
+
observer.current.observe(element)
|
|
109
|
+
} else observer.current.disconnect()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function initialiseButtonWidth(buttonEl) {
|
|
113
|
+
if (!buttonEl) return
|
|
114
|
+
buttonRef.current = buttonEl
|
|
115
|
+
const { bottom, height, left, right, top, width, x, y } = buttonEl.getBoundingClientRect()
|
|
116
|
+
buttonWidth.current = width
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return (
|
|
120
|
+
<PopupContext.Provider
|
|
121
|
+
value={{
|
|
122
|
+
handleOpen,
|
|
123
|
+
popupPosition,
|
|
124
|
+
handleClose,
|
|
125
|
+
opacity,
|
|
126
|
+
setPopupPosition,
|
|
127
|
+
callbackRef,
|
|
128
|
+
buttonRef,
|
|
129
|
+
initialiseButtonWidth,
|
|
130
|
+
buttonWidth,
|
|
131
|
+
}}
|
|
132
|
+
>
|
|
133
|
+
{children}
|
|
134
|
+
</PopupContext.Provider>
|
|
135
|
+
)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function Button({
|
|
139
|
+
children = null,
|
|
140
|
+
disabled = false,
|
|
141
|
+
rootClassName = '',
|
|
142
|
+
tabIndex = 0,
|
|
143
|
+
onHover = false,
|
|
144
|
+
isKebab = false,
|
|
145
|
+
dataTestId = "",
|
|
146
|
+
}: PopupMenuButtonType) {
|
|
147
|
+
const { handleOpen, popupPosition, buttonRef, initialiseButtonWidth } = usePopupContext()
|
|
148
|
+
return (
|
|
149
|
+
<button
|
|
150
|
+
ref={initialiseButtonWidth}
|
|
151
|
+
type="button"
|
|
152
|
+
tabIndex={tabIndex}
|
|
153
|
+
disabled={disabled}
|
|
154
|
+
className={`${rootClassName} ${popupPosition ? 'focused' : ''} ${
|
|
155
|
+
isKebab ? 'popup-button-kebab' : 'popup-button'
|
|
156
|
+
}`}
|
|
157
|
+
onMouseEnter={onHover ? (disabled ? null : handleOpen) : () => {}}
|
|
158
|
+
onClick={disabled ? null : handleOpen}
|
|
159
|
+
data-testid={dataTestId}
|
|
160
|
+
>
|
|
161
|
+
{children}
|
|
162
|
+
</button>
|
|
163
|
+
)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function Body({
|
|
167
|
+
children = null,
|
|
168
|
+
rootClassName = '',
|
|
169
|
+
style = {},
|
|
170
|
+
autoWidth = false,
|
|
171
|
+
preventWheelDisable = false,
|
|
172
|
+
noBackDrop,
|
|
173
|
+
}: PopupMenuBodyType) {
|
|
174
|
+
const { handleClose, popupPosition, opacity, callbackRef, buttonWidth } = usePopupContext()
|
|
175
|
+
return popupPosition ? (
|
|
176
|
+
<Modal
|
|
177
|
+
callbackRef={callbackRef}
|
|
178
|
+
onClick={handleClose}
|
|
179
|
+
rootClassName={`${rootClassName} popup-body ${!children ? 'popup-body--empty' : ''} ${Object.keys(
|
|
180
|
+
popupPosition,
|
|
181
|
+
).join(' ')}`}
|
|
182
|
+
style={{
|
|
183
|
+
...popupPosition,
|
|
184
|
+
...style,
|
|
185
|
+
...(autoWidth ? { width: buttonWidth.current } : {}),
|
|
186
|
+
opacity: opacity,
|
|
187
|
+
}}
|
|
188
|
+
preventWheelDisable={preventWheelDisable}
|
|
189
|
+
noBackDrop={noBackDrop}
|
|
190
|
+
>
|
|
191
|
+
{children}
|
|
192
|
+
</Modal>
|
|
193
|
+
) : null
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
PopupMenu.Button = Button
|
|
197
|
+
PopupMenu.Body = Body
|
|
198
|
+
|
|
199
|
+
export default PopupMenu
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { ProgressingProps } from './Types'
|
|
3
|
+
|
|
4
|
+
export function Progressing({ pageLoader, size, theme, styles, fillColor }: ProgressingProps): JSX.Element {
|
|
5
|
+
const loaderSize = size ? `${size}px` : pageLoader ? '48px' : '20px'
|
|
6
|
+
return (
|
|
7
|
+
<div className={`loader ${theme || 'default'}-background`} style={styles} data-testid="progressing">
|
|
8
|
+
<div style={{ width: loaderSize, height: loaderSize }}>
|
|
9
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" className="loader__svg">
|
|
10
|
+
<g fill="none" fillRule="evenodd" strokeLinecap="round">
|
|
11
|
+
<animateTransform
|
|
12
|
+
attributeName="transform"
|
|
13
|
+
attributeType="XML"
|
|
14
|
+
dur="0.5s"
|
|
15
|
+
from="0 12 12"
|
|
16
|
+
repeatCount="indefinite"
|
|
17
|
+
to="360 12 12"
|
|
18
|
+
type="rotate"
|
|
19
|
+
/>
|
|
20
|
+
<path
|
|
21
|
+
fill={fillColor || '#06C'}
|
|
22
|
+
fillRule="nonzero"
|
|
23
|
+
d="M12 2.5A9.5 9.5 0 1 1 2.5 12a1.5 1.5 0 0 1 3 0A6.5 6.5 0 1 0 12 5.5a1.5 1.5 0 0 1 0-3z"
|
|
24
|
+
/>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function DetailsProgressing({
|
|
33
|
+
loadingText,
|
|
34
|
+
size = 24,
|
|
35
|
+
fullHeight = false,
|
|
36
|
+
styles,
|
|
37
|
+
fillColor,
|
|
38
|
+
children,
|
|
39
|
+
}: ProgressingProps): JSX.Element {
|
|
40
|
+
return (
|
|
41
|
+
<div
|
|
42
|
+
className={`details-loader bcn-0 flex column fs-14 fw-6 ${fullHeight ? 'h-100' : 'details-loader-height'}`}
|
|
43
|
+
style={styles}
|
|
44
|
+
data-testid="details-progressing"
|
|
45
|
+
>
|
|
46
|
+
<span style={{ width: `${size}px`, height: `${size}px` }}>
|
|
47
|
+
<Progressing size={size} fillColor={fillColor} />
|
|
48
|
+
</span>
|
|
49
|
+
{loadingText && <span className="mt-10">{loadingText}</span>}
|
|
50
|
+
{children}
|
|
51
|
+
</div>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import RJSF from '@rjsf/core'
|
|
3
|
+
import RJSFValidator from '@rjsf/validator-ajv8'
|
|
4
|
+
|
|
5
|
+
import { templates, widgets } from './config'
|
|
6
|
+
import { FormProps } from './types'
|
|
7
|
+
import { translateString } from './utils'
|
|
8
|
+
import './rjsfForm.scss'
|
|
9
|
+
|
|
10
|
+
// Need to use this way because the default import was not working as expected
|
|
11
|
+
// The default import resolves to an object intead of a function
|
|
12
|
+
const Form = (RJSF as any).default as typeof RJSF
|
|
13
|
+
const validator = (RJSFValidator as any).default as typeof RJSFValidator
|
|
14
|
+
|
|
15
|
+
export const RJSFForm = (props: FormProps) => (
|
|
16
|
+
<Form
|
|
17
|
+
noHtml5Validate
|
|
18
|
+
showErrorList={false}
|
|
19
|
+
autoComplete="off"
|
|
20
|
+
{...props}
|
|
21
|
+
validator={validator}
|
|
22
|
+
templates={{
|
|
23
|
+
...templates,
|
|
24
|
+
...props.templates,
|
|
25
|
+
}}
|
|
26
|
+
widgets={{ ...widgets, ...props.widgets }}
|
|
27
|
+
translateString={translateString}
|
|
28
|
+
/>
|
|
29
|
+
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { FieldRowProps } from './types'
|
|
3
|
+
import { DEFAULT_FIELD_TITLE, DO_NOT_SHOW_LABEL } from '../constants'
|
|
4
|
+
|
|
5
|
+
export const FieldRowWithLabel = ({
|
|
6
|
+
showLabel,
|
|
7
|
+
label,
|
|
8
|
+
required,
|
|
9
|
+
children,
|
|
10
|
+
id,
|
|
11
|
+
shouldAlignCenter = true,
|
|
12
|
+
}: Omit<FieldRowProps, 'label'> & {
|
|
13
|
+
label: FieldRowProps['label'] | typeof DO_NOT_SHOW_LABEL
|
|
14
|
+
}) => (
|
|
15
|
+
<div
|
|
16
|
+
className={
|
|
17
|
+
showLabel
|
|
18
|
+
? `display-grid dc__gap-12 rjsf-form-template__field ${shouldAlignCenter ? 'flex-align-center' : ''}`
|
|
19
|
+
: ''
|
|
20
|
+
}
|
|
21
|
+
>
|
|
22
|
+
{showLabel && (
|
|
23
|
+
<label className="cn-7 fs-13 lh-32 fw-4 flexbox mb-0" htmlFor={id}>
|
|
24
|
+
{/* The check is added here intentionally for proper layout for array type field */}
|
|
25
|
+
{label !== DO_NOT_SHOW_LABEL && (
|
|
26
|
+
<>
|
|
27
|
+
<span className="dc__ellipsis-right">{label || DEFAULT_FIELD_TITLE}</span>
|
|
28
|
+
{required && <span className="cr-5"> *</span>}
|
|
29
|
+
</>
|
|
30
|
+
)}
|
|
31
|
+
</label>
|
|
32
|
+
)}
|
|
33
|
+
{children}
|
|
34
|
+
</div>
|
|
35
|
+
)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { RegistryWidgetsType } from '@rjsf/utils'
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
AddButton,
|
|
6
|
+
ArrayFieldItemTemplate,
|
|
7
|
+
ArrayFieldTemplate,
|
|
8
|
+
BaseInputTemplate,
|
|
9
|
+
DescriptionFieldTemplate,
|
|
10
|
+
FieldTemplate,
|
|
11
|
+
FieldErrorTemplate,
|
|
12
|
+
ObjectFieldTemplate,
|
|
13
|
+
RemoveButton,
|
|
14
|
+
SubmitButton,
|
|
15
|
+
TitleFieldTemplate,
|
|
16
|
+
WrapIfAdditionalTemplate,
|
|
17
|
+
} from './templates'
|
|
18
|
+
import { CheckboxWidget, SelectWidget } from './widgets'
|
|
19
|
+
import { FormProps } from './types'
|
|
20
|
+
|
|
21
|
+
export const widgets: RegistryWidgetsType = {
|
|
22
|
+
CheckboxWidget,
|
|
23
|
+
SelectWidget,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const templates: FormProps['templates'] = {
|
|
27
|
+
ArrayFieldItemTemplate,
|
|
28
|
+
ArrayFieldTemplate,
|
|
29
|
+
BaseInputTemplate,
|
|
30
|
+
ButtonTemplates: { AddButton, RemoveButton, SubmitButton },
|
|
31
|
+
DescriptionFieldTemplate,
|
|
32
|
+
FieldTemplate,
|
|
33
|
+
FieldErrorTemplate,
|
|
34
|
+
ObjectFieldTemplate,
|
|
35
|
+
TitleFieldTemplate,
|
|
36
|
+
WrapIfAdditionalTemplate,
|
|
37
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const PLACEHOLDERS = {
|
|
2
|
+
SELECT: 'Please select an option',
|
|
3
|
+
INPUT: 'Please enter an input',
|
|
4
|
+
OBJECT_KEY: 'Please enter a value for the key',
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const DEFAULT_FIELD_TITLE = 'Key not available'
|
|
8
|
+
|
|
9
|
+
// Using symbol to ensure uniqueness across the fields
|
|
10
|
+
export const DO_NOT_SHOW_LABEL = Symbol('Do not show label')
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.rjsf-form-template {
|
|
2
|
+
&__field {
|
|
3
|
+
grid-template-columns: 250px 1fr;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
&__additional-fields {
|
|
7
|
+
grid-template-columns: 1fr 1fr minmax(20px, auto);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&__array-field-item {
|
|
11
|
+
grid-template-columns: 1fr auto;
|
|
12
|
+
|
|
13
|
+
& > :first-child {
|
|
14
|
+
// This is added as the array field itself has a margin bottom
|
|
15
|
+
margin: 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { CSSProperties } from 'react'
|
|
2
|
+
import { ArrayFieldTemplateItemType } from '@rjsf/utils'
|
|
3
|
+
|
|
4
|
+
export const ArrayFieldItemTemplate = ({
|
|
5
|
+
children,
|
|
6
|
+
className,
|
|
7
|
+
disabled,
|
|
8
|
+
hasToolbar,
|
|
9
|
+
hasRemove,
|
|
10
|
+
index,
|
|
11
|
+
onDropIndexClick,
|
|
12
|
+
readonly,
|
|
13
|
+
registry,
|
|
14
|
+
uiSchema,
|
|
15
|
+
}: ArrayFieldTemplateItemType) => {
|
|
16
|
+
const { RemoveButton } = registry.templates.ButtonTemplates
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<div className="display-grid rjsf-form-template__array-field-item flex-align-center dc__gap-8 mb-12">
|
|
20
|
+
{children}
|
|
21
|
+
{hasToolbar && hasRemove && (
|
|
22
|
+
<RemoveButton
|
|
23
|
+
disabled={disabled || readonly}
|
|
24
|
+
onClick={onDropIndexClick(index)}
|
|
25
|
+
uiSchema={uiSchema}
|
|
26
|
+
registry={registry}
|
|
27
|
+
/>
|
|
28
|
+
)}
|
|
29
|
+
</div>
|
|
30
|
+
)
|
|
31
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { getTemplate, getUiOptions, ArrayFieldTemplateProps, ArrayFieldTemplateItemType } from '@rjsf/utils'
|
|
3
|
+
import { FieldRowWithLabel } from '../common/FieldRow'
|
|
4
|
+
import { DO_NOT_SHOW_LABEL } from '../constants'
|
|
5
|
+
|
|
6
|
+
const ActionButton = ({ canAdd, onAddClick, disabled, readonly, uiSchema, registry }) => {
|
|
7
|
+
const {
|
|
8
|
+
ButtonTemplates: { AddButton },
|
|
9
|
+
} = registry.templates
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
canAdd && (
|
|
13
|
+
<AddButton onClick={onAddClick} disabled={disabled || readonly} uiSchema={uiSchema} registry={registry} />
|
|
14
|
+
)
|
|
15
|
+
)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const ArrayFieldTemplate = ({
|
|
19
|
+
canAdd,
|
|
20
|
+
className,
|
|
21
|
+
disabled,
|
|
22
|
+
idSchema,
|
|
23
|
+
uiSchema,
|
|
24
|
+
items,
|
|
25
|
+
onAddClick,
|
|
26
|
+
readonly,
|
|
27
|
+
registry,
|
|
28
|
+
required,
|
|
29
|
+
title,
|
|
30
|
+
}: ArrayFieldTemplateProps) => {
|
|
31
|
+
const uiOptions = getUiOptions(uiSchema)
|
|
32
|
+
const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate'>('ArrayFieldItemTemplate', registry, uiOptions)
|
|
33
|
+
const label = uiOptions.title || title
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<fieldset className={className} id={idSchema.$id}>
|
|
37
|
+
{/* Show the label here in case there are no items, otherwise handled by Field Template */}
|
|
38
|
+
{items.length ? (
|
|
39
|
+
<>
|
|
40
|
+
{items.map(({ key, ...itemProps }: ArrayFieldTemplateItemType, index) => {
|
|
41
|
+
// Show the title as the label for the first field
|
|
42
|
+
const children = {
|
|
43
|
+
...itemProps.children,
|
|
44
|
+
props: {
|
|
45
|
+
...itemProps.children.props,
|
|
46
|
+
name: index === 0 ? label : DO_NOT_SHOW_LABEL,
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
return (
|
|
50
|
+
<ArrayFieldItemTemplate key={key} {...itemProps}>
|
|
51
|
+
{children}
|
|
52
|
+
</ArrayFieldItemTemplate>
|
|
53
|
+
)
|
|
54
|
+
})}
|
|
55
|
+
<ActionButton
|
|
56
|
+
canAdd={canAdd}
|
|
57
|
+
onAddClick={onAddClick}
|
|
58
|
+
disabled={disabled}
|
|
59
|
+
readonly={readonly}
|
|
60
|
+
uiSchema={uiSchema}
|
|
61
|
+
registry={registry}
|
|
62
|
+
/>
|
|
63
|
+
</>
|
|
64
|
+
) : (
|
|
65
|
+
<FieldRowWithLabel label={label} required={required} showLabel id={idSchema.$id}>
|
|
66
|
+
<ActionButton
|
|
67
|
+
canAdd={canAdd}
|
|
68
|
+
onAddClick={onAddClick}
|
|
69
|
+
disabled={disabled}
|
|
70
|
+
readonly={readonly}
|
|
71
|
+
uiSchema={uiSchema}
|
|
72
|
+
registry={registry}
|
|
73
|
+
/>
|
|
74
|
+
</FieldRowWithLabel>
|
|
75
|
+
)}
|
|
76
|
+
</fieldset>
|
|
77
|
+
)
|
|
78
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { getDefaultRegistry } from '@rjsf/core'
|
|
3
|
+
import { BaseInputTemplateProps } from '@rjsf/utils'
|
|
4
|
+
import { PLACEHOLDERS } from '../constants'
|
|
5
|
+
|
|
6
|
+
const {
|
|
7
|
+
templates: { BaseInputTemplate },
|
|
8
|
+
} = getDefaultRegistry()
|
|
9
|
+
|
|
10
|
+
export const BaseInput = ({ placeholder, ...props }: BaseInputTemplateProps) => (
|
|
11
|
+
<BaseInputTemplate
|
|
12
|
+
placeholder={placeholder || PLACEHOLDERS.INPUT}
|
|
13
|
+
{...props}
|
|
14
|
+
className="form__input cn-9 fs-13 lh-20 fw-4"
|
|
15
|
+
/>
|
|
16
|
+
)
|