@platformatic/ui-components 0.1.80 → 0.1.82
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/dist/assets/index.5afee9ab.js +40 -0
- package/dist/assets/index.b15f7bcc.css +1 -0
- package/dist/index.html +2 -2
- package/dist/main.css +4 -0
- package/package.json +1 -1
- package/src/components/Button.jsx +23 -4
- package/src/components/ButtonFullRounded.jsx +22 -3
- package/src/components/Common.module.css +27 -0
- package/src/components/DropDown.module.css +2 -2
- package/src/components/Sidebar.jsx +1 -1
- package/src/components/Sidebar.module.css +4 -1
- package/src/components/Status.jsx +12 -6
- package/src/components/TabbedWindow.module.css +2 -3
- package/src/components/constants.js +2 -1
- package/src/components/icons/AppWorkspace.jsx +94 -0
- package/src/components/icons/CircleFullIcon.jsx +18 -4
- package/src/components/icons/GenerationLoadingIcon.jsx +56 -0
- package/src/components/icons/PullRequestLoadingIcon.jsx +60 -0
- package/src/components/icons/index.js +6 -0
- package/src/stories/Button.stories.jsx +3 -0
- package/src/stories/ButtonFullRounded.stories.jsx +59 -25
- package/src/stories/PlatformaticIcon.stories.jsx +8 -5
- package/src/stories/TabbedWindow.stories.jsx +28 -0
- package/dist/assets/index.34b55a44.js +0 -40
- package/dist/assets/index.8666e478.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._input_1k1s3_1{box-sizing:border-box;display:flex;height:2.5rem;width:100%;justify-content:space-between;border-radius:.375rem;border-width:1px;border-style:solid;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._onFocus_1k1s3_4{--tw-border-opacity: 1;border-color:rgb(33 250 144 / var(--tw-border-opacity))}._onBlur_1k1s3_7{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}._fillGreen_1k1s3_10{fill:#21fa90}._fillWhite_1k1s3_13{fill:#fff}._input_1k1s3_1>input:focus{outline:2px solid transparent;outline-offset:2px}._title_1k1s3_19{padding-bottom:1rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._bordered_gvhmf_1{box-sizing:border-box;border-radius:.375rem;border-width:1px;border-style:solid}._bordered--main-green_gvhmf_4{--tw-border-opacity: 1;border-color:rgb(33 250 144 / var(--tw-border-opacity))}._bordered--main-dark-blue_gvhmf_7{--tw-border-opacity: 1;border-color:rgb(0 40 61 / var(--tw-border-opacity))}._bordered--error-red_gvhmf_10{--tw-border-opacity: 1;border-color:rgb(250 33 33 / var(--tw-border-opacity))}._bordered--warning-yellow_gvhmf_13{--tw-border-opacity: 1;border-color:rgb(254 185 40 / var(--tw-border-opacity))}._bordered--dark-blue_gvhmf_16{--tw-border-opacity: 1;border-color:rgb(0 52 79 / var(--tw-border-opacity))}._bordered--white_gvhmf_19{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}._error-message_gvhmf_23{position:absolute;bottom:-1.25rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}._padded_gvhmf_27{padding:.625rem .5rem}._text--error-red_gvhmf_31{--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}._text--white_gvhmf_34{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._text--main-green_gvhmf_37{--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity))}._text--main-dark-blue_gvhmf_40{--tw-text-opacity: 1;color:rgb(0 40 61 / var(--tw-text-opacity))}._background-color-main-green_gvhmf_44{--tw-bg-opacity: 1 !important;background-color:rgb(33 250 144 / var(--tw-bg-opacity))!important}._background-color-light-green_gvhmf_47{--tw-bg-opacity: 1 !important;background-color:rgb(33 241 144 / var(--tw-bg-opacity))!important}._background-color-dark-green_gvhmf_50{--tw-bg-opacity: 1 !important;background-color:rgb(2 120 63 / var(--tw-bg-opacity))!important}._background-color-main-dark-blue_gvhmf_53{--tw-bg-opacity: 1 !important;background-color:rgb(0 40 61 / var(--tw-bg-opacity))!important}._background-color-dark-blue_gvhmf_56{--tw-bg-opacity: 1 !important;background-color:rgb(0 52 79 / var(--tw-bg-opacity))!important}._background-color-light-blue_gvhmf_59{--tw-bg-opacity: 1 !important;background-color:rgb(233 247 255 / var(--tw-bg-opacity))!important}._background-color-white_gvhmf_62{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important}._background-color-error-red_gvhmf_65{--tw-bg-opacity: 1 !important;background-color:rgb(250 33 33 / var(--tw-bg-opacity))!important}._background-color-tertiary-blue_gvhmf_68{--tw-bg-opacity: 1 !important;background-color:rgb(37 136 228 / var(--tw-bg-opacity))!important}._background-color-warning-yellow_gvhmf_71{--tw-bg-opacity: 1 !important;background-color:rgb(254 185 40 / var(--tw-bg-opacity))!important}._background-color-transparent_gvhmf_74{background-color:transparent}._background-color-opaque-100_gvhmf_77{--tw-bg-opacity: 1 !important}._background-color-opaque-60_gvhmf_80{--tw-bg-opacity: .6 !important}._background-color-opaque-30_gvhmf_83{--tw-bg-opacity: .3 !important}._background-color-opaque-20_gvhmf_86{--tw-bg-opacity: .2 !important}._apply-opacity-30_gvhmf_89{opacity:.3}._padding--none_gvhmf_92{padding:0}._padding--small_gvhmf_95{padding:.25rem}._padding--medium_gvhmf_98{padding:.5rem}._padding--large_gvhmf_101{padding:1rem}._padding--extra-large_gvhmf_104{padding:1.5rem}._hover-background-color-opaque-main-green_gvhmf_107:hover{background-color:rgb(33 250 144 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-light-green_gvhmf_110:hover{background-color:rgb(33 241 144 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-dark-green_gvhmf_113:hover{background-color:rgb(2 120 63 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-main-dark-blue_gvhmf_116:hover{background-color:rgb(0 40 61 / var(--tw-bg-opacity));--tw-bg-opacity: .1 }._hover-background-color-opaque-dark-blue_gvhmf_119:hover{background-color:rgb(0 52 79 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-light-blue_gvhmf_122:hover{background-color:rgb(233 247 255 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-white_gvhmf_125:hover{background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-error-red_gvhmf_128:hover{background-color:rgb(250 33 33 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-tertiary-blue_gvhmf_131:hover{background-color:rgb(37 136 228 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._selected-background-color-main-green_gvhmf_134{background-color:rgb(33 250 144 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-light-green_gvhmf_137{background-color:rgb(33 241 144 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-dark-green_gvhmf_140{background-color:rgb(2 120 63 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-main-dark-blue_gvhmf_143{background-color:rgb(0 40 61 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .1 }._selected-background-color-dark-blue_gvhmf_146{background-color:rgb(0 52 79 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-light-blue_gvhmf_149{background-color:rgb(233 247 255 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-white_gvhmf_152{background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-error-red_gvhmf_155{background-color:rgb(250 33 33 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-tertiary-blue_gvhmf_158{background-color:rgb(37 136 228 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._main-green_s6yir_1>circle,._main-green_s6yir_1>ellipse,._main-green_s6yir_1>rect,._main-green_s6yir_1>line,._main-green_s6yir_1>path{stroke:#21fa90}._error-red_s6yir_10>circle,._error-red_s6yir_10>ellipse,._error-red_s6yir_10>rect,._error-red_s6yir_10>line,._error-red_s6yir_10>path{stroke:#fa2121}._white_s6yir_18>circle,._white_s6yir_18>ellipse,._white_s6yir_18>rect,._white_s6yir_18>line,._white_s6yir_18>path{stroke:#fff}._main-dark-blue_s6yir_25>circle,._main-dark-blue_s6yir_25>ellipse,._main-dark-blue_s6yir_25>rect,._main-dark-blue_s6yir_25>line,._main-dark-blue_s6yir_25>path{stroke:#00283d}._warning-yellow_s6yir_32>circle,._warning-yellow_s6yir_32>ellipse,._warning-yellow_s6yir_32>rect,._warning-yellow_s6yir_32>line,._warning-yellow_s6yir_32>path{stroke:#feb928}._filled-white_s6yir_40{fill:#fff}._filled-error-red_s6yir_43{fill:#fa2121}._filled-main-dark-blue_s6yir_46{fill:#00283d}._filled-main-green_s6yir_49{fill:#21fa90}._filled-warning-yellow_s6yir_52{fill:#feb928}._fill-circle-green_s6yir_56>circle{fill:#fff}._fill-circle-main-dark-blue_s6yir_59>circle{fill:#00283d}._noShrinkForFlex_s6yir_63{flex-shrink:0}._cursorPointer_ydxr1_1{cursor:pointer}._tabbed-container_b09u0_1{--tw-bg-opacity: 1;background-color:rgb(0 40 61 / var(--tw-bg-opacity))}._tabs-header_b09u0_4{margin-bottom:1rem;display:flex;height:2rem;justify-content:flex-start;text-transform:uppercase;letter-spacing:.25em;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._tabs-header_b09u0_4:hover{cursor:pointer}._tab_b09u0_1{margin-left:2rem;margin-right:2rem;min-width:105px;text-align:center;font-size:.875rem;line-height:1.25rem}._tab_b09u0_1:first-child{margin-left:0}._tab_b09u0_1:last-child{margin-right:0}._tab_b09u0_1:hover{font-weight:600}._selected-tab_b09u0_10{font-weight:600;--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity));text-decoration-line:underline;text-underline-offset:8px}._tabs-content_b09u0_14{min-height:100vh}._borderedBox_170cy_1{flex:1 1 0%;row-gap:1rem;border-radius:.375rem;padding:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Montserrat}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1440px){.container{max-width:1440px}}@media (min-width: 1536px){.container{max-width:1536px}}.relative{position:relative}.m-3{margin:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-screen{height:100vh}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-10{gap:2.5rem}.border{border-width:1px}.px-5{padding-left:1.25rem;padding-right:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-error-red{--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-main-green{--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity))}.text-dark-green{--tw-text-opacity: 1;color:rgb(2 120 63 / var(--tw-text-opacity))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Regular.dcfe8df2.ttf) format("truetype");font-weight:400;font-style:normal}:root{--tw-bg-opacity: 1;background-color:rgb(0 40 61 / var(--tw-bg-opacity));font-family:Montserrat}a{--tw-text-opacity: 1;color:rgb(37 136 228 / var(--tw-text-opacity))}input{background-color:transparent}.hover\:cursor-pointer:hover{cursor:pointer}
|
package/dist/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Platformatic UI Components</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index.
|
|
8
|
-
<link rel="stylesheet" href="/assets/index.
|
|
7
|
+
<script type="module" crossorigin src="/assets/index.5afee9ab.js"></script>
|
|
8
|
+
<link rel="stylesheet" href="/assets/index.b15f7bcc.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="root"></div>
|
package/dist/main.css
CHANGED
|
@@ -678,6 +678,10 @@ video {
|
|
|
678
678
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
679
679
|
}
|
|
680
680
|
|
|
681
|
+
.filter {
|
|
682
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
683
|
+
}
|
|
684
|
+
|
|
681
685
|
@font-face {
|
|
682
686
|
font-family: 'Montserrat';
|
|
683
687
|
|
package/package.json
CHANGED
|
@@ -6,8 +6,21 @@ import commonStyles from './Common.module.css'
|
|
|
6
6
|
import PlatformaticIcon from './PlatformaticIcon'
|
|
7
7
|
import { SIZES, COLORS_BUTTON, BOX_SHADOW, UNDERLINE, HOVER_EFFECTS_BUTTONS, BACKGROUND_COLOR_OPAQUE, MAIN_DARK_BLUE, LARGE } from './constants'
|
|
8
8
|
|
|
9
|
-
function Button (
|
|
10
|
-
|
|
9
|
+
function Button ({
|
|
10
|
+
icon,
|
|
11
|
+
label,
|
|
12
|
+
color,
|
|
13
|
+
backgroundColor,
|
|
14
|
+
size,
|
|
15
|
+
disabled,
|
|
16
|
+
bold,
|
|
17
|
+
hoverEffect,
|
|
18
|
+
bordered,
|
|
19
|
+
fullWidth,
|
|
20
|
+
platformaticIcon,
|
|
21
|
+
selected,
|
|
22
|
+
...rest
|
|
23
|
+
}) {
|
|
11
24
|
let className = `${styles.button} ${commonStyles['background-color-' + backgroundColor]} ${styles['color-' + color]} ${styles['button-' + size]}`
|
|
12
25
|
if (!bordered) className += ` ${styles['no-border']}`
|
|
13
26
|
if (disabled) {
|
|
@@ -29,6 +42,7 @@ function Button (props) {
|
|
|
29
42
|
}
|
|
30
43
|
if (bold) className += ` ${styles.fontBold}`
|
|
31
44
|
if (fullWidth) className += ` ${styles.fullWidth}`
|
|
45
|
+
if (selected) className += ' ' + commonStyles[`selected-background-color-${color}`]
|
|
32
46
|
return (
|
|
33
47
|
<button className={className} disabled={disabled} alt={label} {...rest}>
|
|
34
48
|
{platformaticIcon ? <PlatformaticIcon iconName={platformaticIcon.iconName} color={platformaticIcon.color} data-testid='button-icon' onClick={null} /> : null}
|
|
@@ -84,7 +98,11 @@ Button.propTypes = {
|
|
|
84
98
|
platformaticIcon: PropTypes.shape({
|
|
85
99
|
iconName: PropTypes.string,
|
|
86
100
|
color: PropTypes.string
|
|
87
|
-
})
|
|
101
|
+
}),
|
|
102
|
+
/**
|
|
103
|
+
* Selected: default false
|
|
104
|
+
*/
|
|
105
|
+
selected: PropTypes.bool
|
|
88
106
|
}
|
|
89
107
|
|
|
90
108
|
Button.defaultProps = {
|
|
@@ -97,7 +115,8 @@ Button.defaultProps = {
|
|
|
97
115
|
hoverEffect: BACKGROUND_COLOR_OPAQUE,
|
|
98
116
|
bordered: true,
|
|
99
117
|
fullWidth: false,
|
|
100
|
-
platformaticIcon: null
|
|
118
|
+
platformaticIcon: null,
|
|
119
|
+
selected: false
|
|
101
120
|
}
|
|
102
121
|
|
|
103
122
|
export default Button
|
|
@@ -5,7 +5,20 @@ import commonStyles from './Common.module.css'
|
|
|
5
5
|
import styles from './ButtonFullRounded.module.css'
|
|
6
6
|
import PlatformaticIcon from './PlatformaticIcon'
|
|
7
7
|
import { COLORS_ICON, SIZES, BACKGROUND_COLOR_OPAQUE, PADDING_SIZES, SMALL, WHITE, NONE } from './constants'
|
|
8
|
-
function ButtonFullRounded ({
|
|
8
|
+
function ButtonFullRounded ({
|
|
9
|
+
className,
|
|
10
|
+
iconName,
|
|
11
|
+
iconSize,
|
|
12
|
+
iconColor,
|
|
13
|
+
disabled,
|
|
14
|
+
paddingSize,
|
|
15
|
+
alt,
|
|
16
|
+
onClick,
|
|
17
|
+
hoverEffect,
|
|
18
|
+
bordered,
|
|
19
|
+
tip,
|
|
20
|
+
selected
|
|
21
|
+
}) {
|
|
9
22
|
const padding = commonStyles[`padding--${paddingSize}`]
|
|
10
23
|
const containerClassName = `${className} ${styles.roundedFull}`
|
|
11
24
|
let buttonClassName = `${styles.roundedFull} ${styles.buttonRoundedFull} ${padding}`
|
|
@@ -21,6 +34,7 @@ function ButtonFullRounded ({ className, iconName, iconSize, iconColor, disabled
|
|
|
21
34
|
break
|
|
22
35
|
}
|
|
23
36
|
}
|
|
37
|
+
if (selected) buttonClassName += ' ' + commonStyles[`selected-background-color-${iconColor}`]
|
|
24
38
|
|
|
25
39
|
return (
|
|
26
40
|
<div className={containerClassName}>
|
|
@@ -71,7 +85,11 @@ ButtonFullRounded.propTypes = {
|
|
|
71
85
|
/**
|
|
72
86
|
* tip
|
|
73
87
|
*/
|
|
74
|
-
tip: PropTypes.string
|
|
88
|
+
tip: PropTypes.string,
|
|
89
|
+
/**
|
|
90
|
+
* Selected: default false
|
|
91
|
+
*/
|
|
92
|
+
selected: PropTypes.bool
|
|
75
93
|
|
|
76
94
|
}
|
|
77
95
|
|
|
@@ -85,7 +103,8 @@ ButtonFullRounded.defaultProps = {
|
|
|
85
103
|
onClick: () => {},
|
|
86
104
|
hoverEffect: '',
|
|
87
105
|
bordered: true,
|
|
88
|
-
tip: ''
|
|
106
|
+
tip: '',
|
|
107
|
+
selected: false
|
|
89
108
|
}
|
|
90
109
|
|
|
91
110
|
export default ButtonFullRounded
|
|
@@ -131,4 +131,31 @@
|
|
|
131
131
|
.hover-background-color-opaque-tertiary-blue{
|
|
132
132
|
@apply hover:bg-tertiary-blue hover:bg-opacity-15;
|
|
133
133
|
}
|
|
134
|
+
.selected-background-color-main-green {
|
|
135
|
+
@apply !bg-main-green bg-opacity-15 !important;
|
|
136
|
+
}
|
|
137
|
+
.selected-background-color-light-green {
|
|
138
|
+
@apply !bg-light-green bg-opacity-15 !important;
|
|
139
|
+
}
|
|
140
|
+
.selected-background-color-dark-green {
|
|
141
|
+
@apply !bg-dark-green bg-opacity-15 !important;
|
|
142
|
+
}
|
|
143
|
+
.selected-background-color-main-dark-blue{
|
|
144
|
+
@apply !bg-main-dark-blue bg-opacity-10;
|
|
145
|
+
}
|
|
146
|
+
.selected-background-color-dark-blue {
|
|
147
|
+
@apply !bg-dark-blue bg-opacity-15;
|
|
148
|
+
}
|
|
149
|
+
.selected-background-color-light-blue {
|
|
150
|
+
@apply !bg-light-blue bg-opacity-15;
|
|
151
|
+
}
|
|
152
|
+
.selected-background-color-white{
|
|
153
|
+
@apply !bg-white bg-opacity-15;
|
|
154
|
+
}
|
|
155
|
+
.selected-background-color-error-red{
|
|
156
|
+
@apply !bg-error-red bg-opacity-15;
|
|
157
|
+
}
|
|
158
|
+
.selected-background-color-tertiary-blue{
|
|
159
|
+
@apply !bg-tertiary-blue bg-opacity-15;
|
|
160
|
+
}
|
|
134
161
|
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
@apply border border-transparent rounded-full mr-2;
|
|
18
18
|
}
|
|
19
19
|
.menu {
|
|
20
|
-
@apply absolute border-solid border border-white
|
|
20
|
+
@apply absolute border-solid border border-white p-0 bg-light-blue mt-8 rounded-md z-10 text-sm min-w-[175px];
|
|
21
21
|
}
|
|
22
22
|
.item {
|
|
23
|
-
@apply py-
|
|
23
|
+
@apply py-2 px-3 text-main-dark-blue first:border-t-0 text-sm leading-4 uppercase hover:font-semibold hover:cursor-pointer tracking-more-widest;
|
|
24
24
|
/* it's a workaround due to opacity... */
|
|
25
25
|
border-top: 1px solid rgba(0, 40, 61, 0.2);;
|
|
26
26
|
}
|
|
@@ -100,7 +100,7 @@ function Sidebar (props) {
|
|
|
100
100
|
</React.Fragment>
|
|
101
101
|
)
|
|
102
102
|
})}
|
|
103
|
-
<button className={`${styles.buttonCreate} ${collapsed && styles.buttonItemCollapsed} ${disabledCreateButton}`} onClick={onClickAdd} disabled={disableClickAdd}>
|
|
103
|
+
<button className={`${styles.buttonCreate} ${collapsed && styles.buttonItemCollapsed} ${disabledCreateButton} ${!disableClickAdd && styles.hoverSemibold}`} onClick={onClickAdd} disabled={disableClickAdd}>
|
|
104
104
|
<PlatformaticIcon
|
|
105
105
|
iconName='CircleAddIcon'
|
|
106
106
|
color='white'
|
|
@@ -26,7 +26,10 @@
|
|
|
26
26
|
@apply flex items-center justify-start border-0 rounded-md w-full py-1 hover:bg-white hover:bg-opacity-20;
|
|
27
27
|
}
|
|
28
28
|
.buttonCreate {
|
|
29
|
-
@apply flex items-center justify-start border-0 w-full pt-1 pb-4 cursor-pointer
|
|
29
|
+
@apply flex items-center justify-start border-0 w-full pt-1 pb-4 cursor-pointer whitespace-nowrap;
|
|
30
|
+
}
|
|
31
|
+
.hoverSemibold {
|
|
32
|
+
@apply hover:font-semibold;
|
|
30
33
|
}
|
|
31
34
|
.disabled {
|
|
32
35
|
@apply opacity-30 cursor-default;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
import PlatformaticIcon from './PlatformaticIcon'
|
|
5
|
-
import { COLORS_ICON } from './constants'
|
|
5
|
+
import { COLORS_ICON, EXTRA_SMALL, SIZES, WHITE } from './constants'
|
|
6
6
|
|
|
7
|
-
function Status ({ color, status }) {
|
|
7
|
+
function Status ({ color, status, size }) {
|
|
8
8
|
const className = `inline-flex items-center text-${color}`
|
|
9
9
|
return (
|
|
10
10
|
<div className={className}>
|
|
11
|
-
<PlatformaticIcon iconName='CircleFullIcon' size=
|
|
11
|
+
<PlatformaticIcon iconName='CircleFullIcon' size={size} color={color} />
|
|
12
12
|
<span className='ml-2'>{status}</span>
|
|
13
13
|
</div>
|
|
14
14
|
)
|
|
@@ -22,12 +22,18 @@ Status.propTypes = {
|
|
|
22
22
|
/**
|
|
23
23
|
* status
|
|
24
24
|
*/
|
|
25
|
-
status: PropTypes.string
|
|
25
|
+
status: PropTypes.string,
|
|
26
|
+
/**
|
|
27
|
+
* Size
|
|
28
|
+
*/
|
|
29
|
+
size: PropTypes.oneOf(SIZES)
|
|
30
|
+
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
Status.defaultProps = {
|
|
29
|
-
color:
|
|
30
|
-
status: ''
|
|
34
|
+
color: WHITE,
|
|
35
|
+
status: '',
|
|
36
|
+
size: EXTRA_SMALL
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
export default Status
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
.tabbed-container {
|
|
2
2
|
@apply bg-main-dark-blue;
|
|
3
3
|
}
|
|
4
|
-
|
|
5
4
|
.tabs-header {
|
|
6
5
|
@apply flex justify-start text-white uppercase hover:cursor-pointer mb-4 tracking-super-widest h-[2rem];
|
|
7
6
|
}
|
|
8
7
|
.tab {
|
|
9
|
-
@apply mx-8 min-w-[105px] text-center text-sm first:ml-0 last:mr-0;
|
|
8
|
+
@apply mx-8 min-w-[105px] text-center text-sm first:ml-0 last:mr-0 hover:font-semibold;
|
|
10
9
|
}
|
|
11
10
|
.selected-tab {
|
|
12
|
-
@apply underline text-main-green underline-offset-8 font-
|
|
11
|
+
@apply underline text-main-green underline-offset-8 font-semibold;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
.tabs-content {
|
|
@@ -4,11 +4,12 @@ export const MAIN_GREEN = 'main-green'
|
|
|
4
4
|
export const ERROR_RED = 'error-red'
|
|
5
5
|
export const WARNING_YELLOW = 'warning-yellow'
|
|
6
6
|
export const NONE = 'none'
|
|
7
|
+
export const EXTRA_SMALL = 'extra-small'
|
|
7
8
|
export const SMALL = 'small'
|
|
8
9
|
export const MEDIUM = 'medium'
|
|
9
10
|
export const LARGE = 'large'
|
|
10
11
|
export const EXTRA_LARGE = 'extra-large'
|
|
11
|
-
export const SIZES = [SMALL, MEDIUM, LARGE, EXTRA_LARGE]
|
|
12
|
+
export const SIZES = [EXTRA_SMALL, SMALL, MEDIUM, LARGE, EXTRA_LARGE]
|
|
12
13
|
export const PADDING_SIZES = [NONE, ...SIZES]
|
|
13
14
|
export const BOX_SHADOW = 'box-shadow'
|
|
14
15
|
export const BACKGROUND_COLOR_OPAQUE = 'background-color-opaque'
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
import styles from './Icons.module.css'
|
|
4
|
+
import { COLORS_ICON, LARGE, MEDIUM, SIZES, SMALL } from '../constants'
|
|
5
|
+
|
|
6
|
+
const AppWorkspace = ({ color, size }) => {
|
|
7
|
+
const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
|
|
8
|
+
let icon = <></>
|
|
9
|
+
|
|
10
|
+
switch (size) {
|
|
11
|
+
case SMALL:
|
|
12
|
+
icon = (
|
|
13
|
+
<svg
|
|
14
|
+
width={16}
|
|
15
|
+
height={16}
|
|
16
|
+
viewBox='0 0 16 16'
|
|
17
|
+
fill='none'
|
|
18
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
19
|
+
className={className}
|
|
20
|
+
>
|
|
21
|
+
<rect x={4.5} y={2} width={2.33333} height={2.93706} rx={0.5} stroke='none' />
|
|
22
|
+
<rect x={8} y={2} width={3.5} height={2.93706} rx={0.5} stroke='none' />
|
|
23
|
+
<rect x={11.5} y={9} width={2.33333} height={2.93706} rx={0.5} transform='rotate(-180 11.5 9)' stroke='none' />
|
|
24
|
+
<rect x={8} y={9} width={3.5} height={2.93706} rx={0.5} transform='rotate(-180 8 9)' stroke='none' />
|
|
25
|
+
<path d='M2.8 2.95996V2.95996C2.35817 2.95996 2 3.31813 2 3.75996V9.63996C2 10.1922 2.44772 10.64 3 10.64H13C13.5523 10.64 14 10.1922 14 9.63996V3.98701C14 3.42427 13.5359 2.97235 12.9733 2.98737L12.8804 2.98985' stroke='none' strokeLinecap='round' />
|
|
26
|
+
<rect x={6} y={10.6399} width={4} height={1.92} stroke='none' />
|
|
27
|
+
<path d='M4 13.5601C4 13.0078 4.44772 12.5601 5 12.5601H11C11.5523 12.5601 12 13.0078 12 13.5601V14.0001H4V13.5601Z' stroke='none' />
|
|
28
|
+
</svg>
|
|
29
|
+
)
|
|
30
|
+
break
|
|
31
|
+
case MEDIUM:
|
|
32
|
+
icon = (
|
|
33
|
+
<svg
|
|
34
|
+
width={24}
|
|
35
|
+
height={24}
|
|
36
|
+
viewBox='0 0 24 24'
|
|
37
|
+
fill='none'
|
|
38
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
39
|
+
className={className}
|
|
40
|
+
>
|
|
41
|
+
<rect x={6.75} y={3} width={3.5} height={4.40559} rx={0.5} stroke='none' strokeWidth={1.5} />
|
|
42
|
+
<rect x={12} y={3} width={5.25} height={4.40559} rx={0.5} stroke='none' strokeWidth={1.5} />
|
|
43
|
+
<rect x={17.25} y={13.5} width={3.5} height={4.40559} rx={0.5} transform='rotate(-180 17.25 13.5)' stroke='none' strokeWidth={1.5} />
|
|
44
|
+
<rect x={12} y={13.5} width={5.25} height={4.40559} rx={0.5} transform='rotate(-180 12 13.5)' stroke='none' strokeWidth={1.5} />
|
|
45
|
+
<path d='M4.2 4.43994H4C3.44772 4.43994 3 4.88766 3 5.43994V14.9599C3 15.5122 3.44772 15.9599 4 15.9599H20C20.5523 15.9599 21 15.5122 21 14.9599V5.46699C21 4.90425 20.5359 4.45233 19.9733 4.46735L19.3205 4.48477' stroke='none' strokeWidth={1.5} strokeLinecap='round' />
|
|
46
|
+
<rect x={9} y={15.96} width={6} height={2.88} stroke='none' strokeWidth={1.5} />
|
|
47
|
+
<path d='M6 19.8401C6 19.2878 6.44772 18.8401 7 18.8401H17C17.5523 18.8401 18 19.2878 18 19.8401V21.0001H6V19.8401Z' stroke='none' strokeWidth={1.5} />
|
|
48
|
+
</svg>
|
|
49
|
+
)
|
|
50
|
+
break
|
|
51
|
+
case LARGE:
|
|
52
|
+
icon = (
|
|
53
|
+
<svg
|
|
54
|
+
width={40}
|
|
55
|
+
height={40}
|
|
56
|
+
viewBox='0 0 40 40'
|
|
57
|
+
fill='none'
|
|
58
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
59
|
+
className={className}
|
|
60
|
+
>
|
|
61
|
+
<rect x={11.25} y={5} width={5.83333} height={7.34266} rx={0.5} stroke='none' strokeWidth={2} />
|
|
62
|
+
<rect x={20} y={5} width={8.75} height={7.34266} rx={0.5} stroke='none' strokeWidth={2} />
|
|
63
|
+
<rect x={28.75} y={22.5} width={5.83333} height={7.34266} rx={0.5} transform='rotate(-180 28.75 22.5)' stroke='none' strokeWidth={2} />
|
|
64
|
+
<rect x={20} y={22.5} width={8.75} height={7.34266} rx={0.5} transform='rotate(-180 20 22.5)' stroke='none' strokeWidth={2} />
|
|
65
|
+
<path d='M7 7.3999H6C5.44772 7.3999 5 7.84762 5 8.3999V25.5999C5 26.1522 5.44772 26.5999 6 26.5999H34C34.5523 26.5999 35 26.1522 35 25.5999V8.42695C35 7.86422 34.5359 7.41229 33.9733 7.42731L32.2009 7.47462' stroke='none' strokeWidth={2} strokeLinecap='round' />
|
|
66
|
+
<rect x={15} y={26.5996} width={10} height={4.8} stroke='none' strokeWidth={2} />
|
|
67
|
+
<path d='M10 32.4001C10 31.8479 10.4477 31.4001 11 31.4001H29C29.5523 31.4001 30 31.8479 30 32.4001V35.0001H10V32.4001Z' stroke='none' strokeWidth={2} />
|
|
68
|
+
</svg>
|
|
69
|
+
)
|
|
70
|
+
break
|
|
71
|
+
|
|
72
|
+
default:
|
|
73
|
+
break
|
|
74
|
+
}
|
|
75
|
+
return icon
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
AppWorkspace.propTypes = {
|
|
79
|
+
/**
|
|
80
|
+
* color of text, icon and borders
|
|
81
|
+
*/
|
|
82
|
+
color: PropTypes.oneOf(COLORS_ICON),
|
|
83
|
+
/**
|
|
84
|
+
* Size
|
|
85
|
+
*/
|
|
86
|
+
size: PropTypes.oneOf(SIZES)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
AppWorkspace.defaultProps = {
|
|
90
|
+
color: 'main-dark-blue',
|
|
91
|
+
size: 'medium'
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export default AppWorkspace
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import styles from './Icons.module.css'
|
|
4
|
-
import { COLORS_ICON, SIZES } from '../constants'
|
|
4
|
+
import { COLORS_ICON, EXTRA_SMALL, LARGE, MEDIUM, SIZES, SMALL } from '../constants'
|
|
5
5
|
|
|
6
6
|
const CircleFullIcon = ({ color, size }) => {
|
|
7
7
|
const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
|
|
@@ -9,7 +9,21 @@ const CircleFullIcon = ({ color, size }) => {
|
|
|
9
9
|
let icon = <></>
|
|
10
10
|
|
|
11
11
|
switch (size) {
|
|
12
|
-
case
|
|
12
|
+
case EXTRA_SMALL:
|
|
13
|
+
icon = (
|
|
14
|
+
<svg
|
|
15
|
+
width={8}
|
|
16
|
+
height={8}
|
|
17
|
+
viewBox='0 0 8 8'
|
|
18
|
+
fill='none'
|
|
19
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
20
|
+
className={className}
|
|
21
|
+
>
|
|
22
|
+
<circle cx={4} cy={4} r={3} fill='none' className={filledClassName} />
|
|
23
|
+
</svg>
|
|
24
|
+
)
|
|
25
|
+
break
|
|
26
|
+
case SMALL:
|
|
13
27
|
icon = (
|
|
14
28
|
<svg
|
|
15
29
|
width={16}
|
|
@@ -23,7 +37,7 @@ const CircleFullIcon = ({ color, size }) => {
|
|
|
23
37
|
</svg>
|
|
24
38
|
)
|
|
25
39
|
break
|
|
26
|
-
case
|
|
40
|
+
case MEDIUM:
|
|
27
41
|
icon = (
|
|
28
42
|
<svg
|
|
29
43
|
width={24}
|
|
@@ -37,7 +51,7 @@ const CircleFullIcon = ({ color, size }) => {
|
|
|
37
51
|
</svg>
|
|
38
52
|
)
|
|
39
53
|
break
|
|
40
|
-
case
|
|
54
|
+
case LARGE:
|
|
41
55
|
icon = (
|
|
42
56
|
<svg
|
|
43
57
|
width={40}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
import styles from './Icons.module.css'
|
|
4
|
+
import { COLORS_ICON, EXTRA_LARGE, SIZES } from '../constants'
|
|
5
|
+
|
|
6
|
+
const GenerationLoadingIcon = ({ color, size }) => {
|
|
7
|
+
const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
|
|
8
|
+
const filledClassName = styles[`filled-${color}`]
|
|
9
|
+
|
|
10
|
+
let icon = <></>
|
|
11
|
+
|
|
12
|
+
switch (size) {
|
|
13
|
+
case EXTRA_LARGE:
|
|
14
|
+
icon = (
|
|
15
|
+
<svg
|
|
16
|
+
width={105}
|
|
17
|
+
height={104}
|
|
18
|
+
viewBox='0 0 105 104'
|
|
19
|
+
fill='none'
|
|
20
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
21
|
+
className={className}
|
|
22
|
+
>
|
|
23
|
+
<rect x={4.5} y={84} width={96} height={16} rx={8} stroke='none' strokeWidth={3} />
|
|
24
|
+
<rect x={8.5} y={88} width={68} height={8} rx={4} fill='none' className={filledClassName} />
|
|
25
|
+
<path d='M16.5 57.882L15.9114 56.5023C15.3713 56.7327 15.0153 57.2571 15.0005 57.8442C14.9857 58.4312 15.3148 58.9729 15.8426 59.2303L16.5 57.882ZM53.6613 75.9999L53.0039 77.3482C53.4311 77.5565 53.9317 77.55 54.3534 77.3307L53.6613 75.9999ZM61.7122 73.5038C62.4471 73.1216 62.7331 72.2159 62.3509 71.4809C61.9686 70.7459 61.063 70.46 60.328 70.8422L61.7122 73.5038ZM15.8426 59.2303L53.0039 77.3482L54.3186 74.6516L17.1574 56.5337L15.8426 59.2303ZM38.8994 46.6955L15.9114 56.5023L17.0886 59.2617L40.0765 49.4549L38.8994 46.6955ZM54.3534 77.3307L61.7122 73.5038L60.328 70.8422L52.9692 74.6691L54.3534 77.3307Z' fill='none' className={filledClassName} />
|
|
26
|
+
<circle cx={71.5325} cy={59.0305} r={11.0305} stroke='none' strokeWidth={3} />
|
|
27
|
+
<path d='M86.9757 74.4733L80.3574 67.855' stroke='none' strokeWidth={3} strokeLinecap='round' strokeLinejoin='round' />
|
|
28
|
+
<path d='M53.6613 55.5231L16.5 37.4051L35.0806 29.4785M71.0806 29.4785L88.5 37.4051L76.5 43.6457' stroke='none' strokeWidth={3} strokeLinecap='round' strokeLinejoin='round' />
|
|
29
|
+
<path d='M53.6613 37.9712L16.5 19.8532L53.6613 4L88.5 19.8532L53.6613 37.9712Z' stroke='none' strokeWidth={3} strokeLinejoin='round' />
|
|
30
|
+
</svg>
|
|
31
|
+
)
|
|
32
|
+
break
|
|
33
|
+
|
|
34
|
+
default:
|
|
35
|
+
break
|
|
36
|
+
}
|
|
37
|
+
return icon
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
GenerationLoadingIcon.propTypes = {
|
|
41
|
+
/**
|
|
42
|
+
* color of text, icon and borders
|
|
43
|
+
*/
|
|
44
|
+
color: PropTypes.oneOf(COLORS_ICON),
|
|
45
|
+
/**
|
|
46
|
+
* Size
|
|
47
|
+
*/
|
|
48
|
+
size: PropTypes.oneOf(SIZES)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
GenerationLoadingIcon.defaultProps = {
|
|
52
|
+
color: 'main-dark-blue',
|
|
53
|
+
size: 'medium'
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export default GenerationLoadingIcon
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
import styles from './Icons.module.css'
|
|
4
|
+
import { COLORS_ICON, SIZES } from '../constants'
|
|
5
|
+
|
|
6
|
+
const PullRequestLoadingIcon = ({ color, size }) => {
|
|
7
|
+
const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
|
|
8
|
+
const filledClassName = styles[`filled-${color}`]
|
|
9
|
+
|
|
10
|
+
let icon = <></>
|
|
11
|
+
|
|
12
|
+
switch (size) {
|
|
13
|
+
case 'extra-large':
|
|
14
|
+
icon = (
|
|
15
|
+
<svg
|
|
16
|
+
width={105}
|
|
17
|
+
height={104}
|
|
18
|
+
viewBox='0 0 105 104'
|
|
19
|
+
fill='none'
|
|
20
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
21
|
+
className={className}
|
|
22
|
+
>
|
|
23
|
+
<rect x={4.5} y={84} width={96} height={16} rx={8} stroke='none' strokeWidth={3} />
|
|
24
|
+
<rect x={8.5} y={88} width={68} height={8} rx={4} fill='none' className={filledClassName} />
|
|
25
|
+
<ellipse cx={48.776} cy={48.6901} rx={4.9655} ry={4.96554} stroke='none' strokeWidth={3} />
|
|
26
|
+
<ellipse cx={48.776} cy={18.8977} rx={4.9655} ry={4.96554} stroke='none' strokeWidth={3} />
|
|
27
|
+
<path d='M48.7754 43.7254V23.8633' stroke='none' strokeWidth={3} strokeLinecap='round' strokeLinejoin='round' />
|
|
28
|
+
<ellipse cx={68.6393} cy={48.6901} rx={4.9655} ry={4.96554} stroke='none' strokeWidth={3} />
|
|
29
|
+
<path d='M68.638 43.725V21.3626C68.638 19.3884 67.0377 17.7881 65.0636 17.7881H58.707' stroke='none' strokeWidth={3} strokeLinecap='round' strokeLinejoin='round' />
|
|
30
|
+
<path d='M61.2956 13.1924L56.3301 18.1579L61.2956 23.1235' stroke='none' strokeWidth={3} strokeLinecap='round' strokeLinejoin='round' />
|
|
31
|
+
<ellipse cx={58.7071} cy={33.7932} rx={29.793} ry={29.7932} stroke='none' strokeWidth={3} />
|
|
32
|
+
<path d='M36.588 55.9116L16.5 75.9995' stroke='none' strokeWidth={3} strokeLinecap='round' strokeLinejoin='round' />
|
|
33
|
+
</svg>
|
|
34
|
+
|
|
35
|
+
)
|
|
36
|
+
break
|
|
37
|
+
|
|
38
|
+
default:
|
|
39
|
+
break
|
|
40
|
+
}
|
|
41
|
+
return icon
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
PullRequestLoadingIcon.propTypes = {
|
|
45
|
+
/**
|
|
46
|
+
* color of text, icon and borders
|
|
47
|
+
*/
|
|
48
|
+
color: PropTypes.oneOf(COLORS_ICON),
|
|
49
|
+
/**
|
|
50
|
+
* Size
|
|
51
|
+
*/
|
|
52
|
+
size: PropTypes.oneOf(SIZES)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
PullRequestLoadingIcon.defaultProps = {
|
|
56
|
+
color: 'main-dark-blue',
|
|
57
|
+
size: 'medium'
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export default PullRequestLoadingIcon
|
|
@@ -8,6 +8,7 @@ import ApiEmptyIcon from './ApiEmptyIcon'
|
|
|
8
8
|
import AppIcon from './AppIcon'
|
|
9
9
|
import AppListIcon from './AppListIcon'
|
|
10
10
|
import AppEmptyIcon from './AppEmptyIcon'
|
|
11
|
+
import AppWorkspace from './AppWorkspace'
|
|
11
12
|
import ArrowDownFullIcon from './ArrowDownFullIcon'
|
|
12
13
|
import ArrowDownIcon from './ArrowDownIcon'
|
|
13
14
|
import ArrowLeftIcon from './ArrowLeftIcon'
|
|
@@ -37,6 +38,7 @@ import ExploreDocIcon from './ExploreDocIcon'
|
|
|
37
38
|
import EnlargeIcon from './EnlargeIcon'
|
|
38
39
|
import EntryIcon from './EntryIcon'
|
|
39
40
|
import GearIcon from './GearIcon'
|
|
41
|
+
import GenerationLoadingIcon from './GenerationLoadingIcon'
|
|
40
42
|
import GraphQLIcon from './GraphQLIcon'
|
|
41
43
|
import KeyIcon from './KeyIcon'
|
|
42
44
|
import LayersIcon from './LayersIcon'
|
|
@@ -48,6 +50,7 @@ import MetricsIcon from './MetricsIcon'
|
|
|
48
50
|
import RestartIcon from './RestartIcon'
|
|
49
51
|
import PlayIcon from './PlayIcon'
|
|
50
52
|
import PullRequestIcon from './PullRequestIcon'
|
|
53
|
+
import PullRequestLoadingIcon from './PullRequestLoadingIcon'
|
|
51
54
|
import SendIcon from './SendIcon'
|
|
52
55
|
import SocialDiscordIcon from './SocialDiscordIcon'
|
|
53
56
|
import SocialGitHubIcon from './SocialGitHubIcon'
|
|
@@ -78,6 +81,7 @@ export default {
|
|
|
78
81
|
AppIcon,
|
|
79
82
|
AppListIcon,
|
|
80
83
|
AppEmptyIcon,
|
|
84
|
+
AppWorkspace,
|
|
81
85
|
ArrowDownFullIcon,
|
|
82
86
|
ArrowDownIcon,
|
|
83
87
|
ArrowLeftIcon,
|
|
@@ -107,6 +111,7 @@ export default {
|
|
|
107
111
|
EnlargeIcon,
|
|
108
112
|
EntryIcon,
|
|
109
113
|
GearIcon,
|
|
114
|
+
GenerationLoadingIcon,
|
|
110
115
|
GraphQLIcon,
|
|
111
116
|
KeyIcon,
|
|
112
117
|
LayersIcon,
|
|
@@ -117,6 +122,7 @@ export default {
|
|
|
117
122
|
MetricsIcon,
|
|
118
123
|
PlayIcon,
|
|
119
124
|
PullRequestIcon,
|
|
125
|
+
PullRequestLoadingIcon,
|
|
120
126
|
RestartIcon,
|
|
121
127
|
SendIcon,
|
|
122
128
|
StopIcon,
|