@platformatic/ui-components 0.1.111 → 0.1.113

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.
@@ -1 +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_7m1q2_1{box-sizing:border-box;border-radius:.375rem;border-width:1px;border-style:solid}._bordered--main-green_7m1q2_4{--tw-border-opacity: 1;border-color:rgb(33 250 144 / var(--tw-border-opacity))}._bordered--main-dark-blue_7m1q2_7{--tw-border-opacity: 1;border-color:rgb(0 40 61 / var(--tw-border-opacity))}._bordered--error-red_7m1q2_10{--tw-border-opacity: 1;border-color:rgb(250 33 33 / var(--tw-border-opacity))}._bordered--warning-yellow_7m1q2_13{--tw-border-opacity: 1;border-color:rgb(254 185 40 / var(--tw-border-opacity))}._bordered--dark-blue_7m1q2_16{--tw-border-opacity: 1;border-color:rgb(0 52 79 / var(--tw-border-opacity))}._bordered--white_7m1q2_19{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}._bordered--main-green-100_7m1q2_22{border-color:#21fa90}._bordered--main-dark-blue-100_7m1q2_25{border-color:#00283d}._bordered--error-red-100_7m1q2_28{border-color:#fa2121}._bordered--warning-yellow-100_7m1q2_31{border-color:#feb928}._bordered--dark-blue-100_7m1q2_34{border-color:#00344f}._bordered--white-100_7m1q2_37{border-color:#fff}._bordered--main-green-20_7m1q2_41{border-color:#21fa9033}._bordered--main-dark-blue-20_7m1q2_44{border-color:#00283d33}._bordered--error-red-20_7m1q2_47{border-color:#fa212133}._bordered--warning-yellow-20_7m1q2_50{border-color:#feb92833}._bordered--dark-blue-20_7m1q2_53{border-color:#00344f33}._bordered--white-20_7m1q2_56{border-color:#fff3}._bordered--main-dark-blue-10_7m1q2_25{border-color:#00283d1a}._bordered--white-10_7m1q2_37{border-color:#ffffff1a}._error-message_7m1q2_68{position:absolute;bottom:-1.25rem;width:-moz-max-content;width:max-content;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_7m1q2_72{padding:.625rem .5rem}._text--error-red_7m1q2_76{--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}._text--white_7m1q2_79{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._text--dark-green_7m1q2_82{--tw-text-opacity: 1;color:rgb(2 120 63 / var(--tw-text-opacity))}._text--main-green_7m1q2_85{--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity))}._text--light-green_7m1q2_88{--tw-text-opacity: 1;color:rgb(33 241 144 / var(--tw-text-opacity))}._text--main-dark-blue_7m1q2_91{--tw-text-opacity: 1;color:rgb(0 40 61 / var(--tw-text-opacity))}._text--light-blue_7m1q2_94{--tw-text-opacity: 1;color:rgb(233 247 255 / var(--tw-text-opacity))}._text--base_7m1q2_98{font-size:1rem;line-height:1.5rem}._text--xs_7m1q2_101{font-size:.75rem;line-height:1rem}._background-color-main-green_7m1q2_105{--tw-bg-opacity: 1 !important;background-color:rgb(33 250 144 / var(--tw-bg-opacity))!important}._background-color-light-green_7m1q2_108{--tw-bg-opacity: 1 !important;background-color:rgb(33 241 144 / var(--tw-bg-opacity))!important}._background-color-dark-green_7m1q2_111{--tw-bg-opacity: 1 !important;background-color:rgb(2 120 63 / var(--tw-bg-opacity))!important}._background-color-main-dark-blue_7m1q2_114{--tw-bg-opacity: 1 !important;background-color:rgb(0 40 61 / var(--tw-bg-opacity))!important}._background-color-dark-blue_7m1q2_117{--tw-bg-opacity: 1 !important;background-color:rgb(0 52 79 / var(--tw-bg-opacity))!important}._background-color-light-blue_7m1q2_120{--tw-bg-opacity: 1 !important;background-color:rgb(233 247 255 / var(--tw-bg-opacity))!important}._background-color-white_7m1q2_123{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important}._background-color-error-red_7m1q2_126{--tw-bg-opacity: 1 !important;background-color:rgb(250 33 33 / var(--tw-bg-opacity))!important}._background-color-tertiary-blue_7m1q2_129{--tw-bg-opacity: 1 !important;background-color:rgb(37 136 228 / var(--tw-bg-opacity))!important}._background-color-warning-yellow_7m1q2_132{--tw-bg-opacity: 1 !important;background-color:rgb(254 185 40 / var(--tw-bg-opacity))!important}._background-color-transparent_7m1q2_135{background-color:transparent}._background-color-opaque-100_7m1q2_138{--tw-bg-opacity: 1 !important}._background-color-opaque-60_7m1q2_141{--tw-bg-opacity: .6 !important}._background-color-opaque-30_7m1q2_144{--tw-bg-opacity: .3 !important}._background-color-opaque-20_7m1q2_147{--tw-bg-opacity: .2 !important}._background-color-opaque-10_7m1q2_138{--tw-bg-opacity: .1 !important}._apply-opacity-30_7m1q2_153{opacity:.3}._padding--none_7m1q2_156{padding:0}._padding--small_7m1q2_159{padding:.25rem}._padding--medium_7m1q2_162{padding:.5rem}._padding--large_7m1q2_165{padding:1rem}._padding--extra-large_7m1q2_168{padding:1.5rem}._hover-background-color-opaque-main-green_7m1q2_171:hover{background-color:rgb(33 250 144 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-light-green_7m1q2_174:hover{background-color:rgb(33 241 144 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-dark-green_7m1q2_177:hover{background-color:rgb(2 120 63 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-main-dark-blue_7m1q2_180:hover{background-color:rgb(0 40 61 / var(--tw-bg-opacity));--tw-bg-opacity: .1 }._hover-background-color-opaque-dark-blue_7m1q2_183:hover{background-color:rgb(0 52 79 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-light-blue_7m1q2_186:hover{background-color:rgb(233 247 255 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-white_7m1q2_189:hover{background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-error-red_7m1q2_192:hover{background-color:rgb(250 33 33 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-tertiary-blue_7m1q2_195:hover{background-color:rgb(37 136 228 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._selected-background-color-main-green_7m1q2_198{background-color:rgb(33 250 144 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-light-green_7m1q2_201{background-color:rgb(33 241 144 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-dark-green_7m1q2_204{background-color:rgb(2 120 63 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-main-dark-blue_7m1q2_207{background-color:rgb(0 40 61 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .1 }._selected-background-color-dark-blue_7m1q2_210{background-color:rgb(0 52 79 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-light-blue_7m1q2_213{background-color:rgb(233 247 255 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-white_7m1q2_216{background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-error-red_7m1q2_219{background-color:rgb(250 33 33 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-tertiary-blue_7m1q2_222{background-color:rgb(37 136 228 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._fontSemiBold_7m1q2_226{font-weight:600}._fontLight_7m1q2_229{font-weight:300}._fullWidth_7m1q2_232{width:100%}._error-red_13cgh_1>circle,._error-red_13cgh_1>ellipse,._error-red_13cgh_1>rect,._error-red_13cgh_1>line,._error-red_13cgh_1>path{stroke:#fa2121}._main-dark-blue_13cgh_9>circle,._main-dark-blue_13cgh_9>ellipse,._main-dark-blue_13cgh_9>rect,._main-dark-blue_13cgh_9>line,._main-dark-blue_13cgh_9>path{stroke:#00283d}._main-green_13cgh_17>circle,._main-green_13cgh_17>ellipse,._main-green_13cgh_17>rect,._main-green_13cgh_17>line,._main-green_13cgh_17>path{stroke:#21fa90}._tertiary-blue_13cgh_25>circle,._tertiary-blue_13cgh_25>ellipse,._tertiary-blue_13cgh_25>rect,._tertiary-blue_13cgh_25>line,._tertiary-blue_13cgh_25>path{stroke:#2588e4}._warning-yellow_13cgh_33>circle,._warning-yellow_13cgh_33>ellipse,._warning-yellow_13cgh_33>rect,._warning-yellow_13cgh_33>line,._warning-yellow_13cgh_33>path{stroke:#feb928}._white_13cgh_41>circle,._white_13cgh_41>ellipse,._white_13cgh_41>rect,._white_13cgh_41>line,._white_13cgh_41>path{stroke:#fff}._filled-white_13cgh_49{fill:#fff}._filled-error-red_13cgh_52{fill:#fa2121}._filled-main-dark-blue_13cgh_55{fill:#00283d}._filled-main-green_13cgh_58{fill:#21fa90}._filled-warning-yellow_13cgh_61{fill:#feb928}._filled-tertiary-blue_13cgh_64{fill:#2588e4}._fill-circle-green_13cgh_68>circle{fill:#fff}._fill-circle-main-dark-blue_13cgh_71>circle{fill:#00283d}._noShrinkForFlex_13cgh_75{flex-shrink:0}._cursorPointer_ydxr1_1{cursor:pointer}._tabbed-container_1rjlv_1{--tw-bg-opacity: 1;background-color:rgb(0 40 61 / var(--tw-bg-opacity))}._tabs-header_1rjlv_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_1rjlv_4:hover{cursor:pointer}._tab_1rjlv_1{margin-left:2rem;margin-right:2rem;min-width:105px;text-align:center;font-size:.875rem;line-height:1.25rem}._tab_1rjlv_1:first-child{margin-left:0}._tab_1rjlv_1:last-child{margin-right:0}._tab_1rjlv_1:hover{font-weight:600}._selected-tab_1rjlv_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_1rjlv_13{min-height:100vh}._tab_1rjlv_1:before{display:block;content:attr(title);font-weight:700;height:0;overflow:hidden;visibility:hidden}._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;font-feature-settings:normal;font-variation-settings:normal}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-feature-settings:inherit;font-variation-settings: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}dialog{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}[hidden]{display:none}*,: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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-auto{margin-top:auto;margin-bottom:auto}.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-10{gap:2.5rem}.gap-2{gap:.5rem}.border{border-width:1px}.px-5{padding-left:1.25rem;padding-right:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.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-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-dark-green{--tw-text-opacity: 1;color:rgb(2 120 63 / var(--tw-text-opacity))}.text-error-red{--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}.text-main-green{--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / 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)}:root{background-color:transparent;font-family:Montserrat}a{--tw-text-opacity: 1;color:rgb(37 136 228 / var(--tw-text-opacity))}input{background-color:transparent}.body--light-blue{--tw-bg-opacity: 1;background-color:rgb(233 247 255 / var(--tw-bg-opacity))}.body--main-dark-blue{--tw-bg-opacity: 1;background-color:rgb(0 40 61 / var(--tw-bg-opacity))}.hover\:cursor-pointer:hover{cursor:pointer}
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_7m1q2_1{box-sizing:border-box;border-radius:.375rem;border-width:1px;border-style:solid}._bordered--main-green_7m1q2_4{--tw-border-opacity: 1;border-color:rgb(33 250 144 / var(--tw-border-opacity))}._bordered--main-dark-blue_7m1q2_7{--tw-border-opacity: 1;border-color:rgb(0 40 61 / var(--tw-border-opacity))}._bordered--error-red_7m1q2_10{--tw-border-opacity: 1;border-color:rgb(250 33 33 / var(--tw-border-opacity))}._bordered--warning-yellow_7m1q2_13{--tw-border-opacity: 1;border-color:rgb(254 185 40 / var(--tw-border-opacity))}._bordered--dark-blue_7m1q2_16{--tw-border-opacity: 1;border-color:rgb(0 52 79 / var(--tw-border-opacity))}._bordered--white_7m1q2_19{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}._bordered--main-green-100_7m1q2_22{border-color:#21fa90}._bordered--main-dark-blue-100_7m1q2_25{border-color:#00283d}._bordered--error-red-100_7m1q2_28{border-color:#fa2121}._bordered--warning-yellow-100_7m1q2_31{border-color:#feb928}._bordered--dark-blue-100_7m1q2_34{border-color:#00344f}._bordered--white-100_7m1q2_37{border-color:#fff}._bordered--main-green-20_7m1q2_41{border-color:#21fa9033}._bordered--main-dark-blue-20_7m1q2_44{border-color:#00283d33}._bordered--error-red-20_7m1q2_47{border-color:#fa212133}._bordered--warning-yellow-20_7m1q2_50{border-color:#feb92833}._bordered--dark-blue-20_7m1q2_53{border-color:#00344f33}._bordered--white-20_7m1q2_56{border-color:#fff3}._bordered--main-dark-blue-10_7m1q2_25{border-color:#00283d1a}._bordered--white-10_7m1q2_37{border-color:#ffffff1a}._error-message_7m1q2_68{position:absolute;bottom:-1.25rem;width:-moz-max-content;width:max-content;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_7m1q2_72{padding:.625rem .5rem}._text--error-red_7m1q2_76{--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}._text--white_7m1q2_79{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._text--dark-green_7m1q2_82{--tw-text-opacity: 1;color:rgb(2 120 63 / var(--tw-text-opacity))}._text--main-green_7m1q2_85{--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity))}._text--light-green_7m1q2_88{--tw-text-opacity: 1;color:rgb(33 241 144 / var(--tw-text-opacity))}._text--main-dark-blue_7m1q2_91{--tw-text-opacity: 1;color:rgb(0 40 61 / var(--tw-text-opacity))}._text--light-blue_7m1q2_94{--tw-text-opacity: 1;color:rgb(233 247 255 / var(--tw-text-opacity))}._text--base_7m1q2_98{font-size:1rem;line-height:1.5rem}._text--xs_7m1q2_101{font-size:.75rem;line-height:1rem}._background-color-main-green_7m1q2_105{--tw-bg-opacity: 1 !important;background-color:rgb(33 250 144 / var(--tw-bg-opacity))!important}._background-color-light-green_7m1q2_108{--tw-bg-opacity: 1 !important;background-color:rgb(33 241 144 / var(--tw-bg-opacity))!important}._background-color-dark-green_7m1q2_111{--tw-bg-opacity: 1 !important;background-color:rgb(2 120 63 / var(--tw-bg-opacity))!important}._background-color-main-dark-blue_7m1q2_114{--tw-bg-opacity: 1 !important;background-color:rgb(0 40 61 / var(--tw-bg-opacity))!important}._background-color-dark-blue_7m1q2_117{--tw-bg-opacity: 1 !important;background-color:rgb(0 52 79 / var(--tw-bg-opacity))!important}._background-color-light-blue_7m1q2_120{--tw-bg-opacity: 1 !important;background-color:rgb(233 247 255 / var(--tw-bg-opacity))!important}._background-color-white_7m1q2_123{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important}._background-color-error-red_7m1q2_126{--tw-bg-opacity: 1 !important;background-color:rgb(250 33 33 / var(--tw-bg-opacity))!important}._background-color-tertiary-blue_7m1q2_129{--tw-bg-opacity: 1 !important;background-color:rgb(37 136 228 / var(--tw-bg-opacity))!important}._background-color-warning-yellow_7m1q2_132{--tw-bg-opacity: 1 !important;background-color:rgb(254 185 40 / var(--tw-bg-opacity))!important}._background-color-transparent_7m1q2_135{background-color:transparent}._background-color-opaque-100_7m1q2_138{--tw-bg-opacity: 1 !important}._background-color-opaque-60_7m1q2_141{--tw-bg-opacity: .6 !important}._background-color-opaque-30_7m1q2_144{--tw-bg-opacity: .3 !important}._background-color-opaque-20_7m1q2_147{--tw-bg-opacity: .2 !important}._background-color-opaque-10_7m1q2_138{--tw-bg-opacity: .1 !important}._apply-opacity-30_7m1q2_153{opacity:.3}._padding--none_7m1q2_156{padding:0}._padding--small_7m1q2_159{padding:.25rem}._padding--medium_7m1q2_162{padding:.5rem}._padding--large_7m1q2_165{padding:1rem}._padding--extra-large_7m1q2_168{padding:1.5rem}._hover-background-color-opaque-main-green_7m1q2_171:hover{background-color:rgb(33 250 144 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-light-green_7m1q2_174:hover{background-color:rgb(33 241 144 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-dark-green_7m1q2_177:hover{background-color:rgb(2 120 63 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-main-dark-blue_7m1q2_180:hover{background-color:rgb(0 40 61 / var(--tw-bg-opacity));--tw-bg-opacity: .1 }._hover-background-color-opaque-dark-blue_7m1q2_183:hover{background-color:rgb(0 52 79 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-light-blue_7m1q2_186:hover{background-color:rgb(233 247 255 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-white_7m1q2_189:hover{background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-error-red_7m1q2_192:hover{background-color:rgb(250 33 33 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._hover-background-color-opaque-tertiary-blue_7m1q2_195:hover{background-color:rgb(37 136 228 / var(--tw-bg-opacity));--tw-bg-opacity: .15 }._selected-background-color-main-green_7m1q2_198{background-color:rgb(33 250 144 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-light-green_7m1q2_201{background-color:rgb(33 241 144 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-dark-green_7m1q2_204{background-color:rgb(2 120 63 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 !important}._selected-background-color-main-dark-blue_7m1q2_207{background-color:rgb(0 40 61 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .1 }._selected-background-color-dark-blue_7m1q2_210{background-color:rgb(0 52 79 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-light-blue_7m1q2_213{background-color:rgb(233 247 255 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-white_7m1q2_216{background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-error-red_7m1q2_219{background-color:rgb(250 33 33 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._selected-background-color-tertiary-blue_7m1q2_222{background-color:rgb(37 136 228 / var(--tw-bg-opacity))!important;--tw-bg-opacity: .15 }._fontSemiBold_7m1q2_226{font-weight:600}._fontLight_7m1q2_229{font-weight:300}._fullWidth_7m1q2_232{width:100%}._error-red_13cgh_1>circle,._error-red_13cgh_1>ellipse,._error-red_13cgh_1>rect,._error-red_13cgh_1>line,._error-red_13cgh_1>path{stroke:#fa2121}._main-dark-blue_13cgh_9>circle,._main-dark-blue_13cgh_9>ellipse,._main-dark-blue_13cgh_9>rect,._main-dark-blue_13cgh_9>line,._main-dark-blue_13cgh_9>path{stroke:#00283d}._main-green_13cgh_17>circle,._main-green_13cgh_17>ellipse,._main-green_13cgh_17>rect,._main-green_13cgh_17>line,._main-green_13cgh_17>path{stroke:#21fa90}._tertiary-blue_13cgh_25>circle,._tertiary-blue_13cgh_25>ellipse,._tertiary-blue_13cgh_25>rect,._tertiary-blue_13cgh_25>line,._tertiary-blue_13cgh_25>path{stroke:#2588e4}._warning-yellow_13cgh_33>circle,._warning-yellow_13cgh_33>ellipse,._warning-yellow_13cgh_33>rect,._warning-yellow_13cgh_33>line,._warning-yellow_13cgh_33>path{stroke:#feb928}._white_13cgh_41>circle,._white_13cgh_41>ellipse,._white_13cgh_41>rect,._white_13cgh_41>line,._white_13cgh_41>path{stroke:#fff}._filled-white_13cgh_49{fill:#fff}._filled-error-red_13cgh_52{fill:#fa2121}._filled-main-dark-blue_13cgh_55{fill:#00283d}._filled-main-green_13cgh_58{fill:#21fa90}._filled-warning-yellow_13cgh_61{fill:#feb928}._filled-tertiary-blue_13cgh_64{fill:#2588e4}._fill-circle-green_13cgh_68>circle{fill:#fff}._fill-circle-main-dark-blue_13cgh_71>circle{fill:#00283d}._noShrinkForFlex_13cgh_75{flex-shrink:0}._cursorPointer_ydxr1_1{cursor:pointer}._tabbed-container_1rjlv_1{--tw-bg-opacity: 1;background-color:rgb(0 40 61 / var(--tw-bg-opacity))}._tabs-header_1rjlv_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_1rjlv_4:hover{cursor:pointer}._tab_1rjlv_1{margin-left:2rem;margin-right:2rem;min-width:105px;text-align:center;font-size:.875rem;line-height:1.25rem}._tab_1rjlv_1:first-child{margin-left:0}._tab_1rjlv_1:last-child{margin-right:0}._tab_1rjlv_1:hover{font-weight:600}._selected-tab_1rjlv_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_1rjlv_13{min-height:100vh}._tab_1rjlv_1:before{display:block;content:attr(title);font-weight:700;height:0;overflow:hidden;visibility:hidden}._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;font-feature-settings:normal;font-variation-settings:normal}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-feature-settings:inherit;font-variation-settings: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}dialog{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}[hidden]{display:none}*,: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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-auto{margin-top:auto;margin-bottom:auto}.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-10{gap:2.5rem}.gap-2{gap:.5rem}.border{border-width:1px}.border-0{border-width:0px}.px-5{padding-left:1.25rem;padding-right:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.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-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-dark-green{--tw-text-opacity: 1;color:rgb(2 120 63 / var(--tw-text-opacity))}.text-error-red{--tw-text-opacity: 1;color:rgb(250 33 33 / var(--tw-text-opacity))}.text-main-green{--tw-text-opacity: 1;color:rgb(33 250 144 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / 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)}:root{background-color:transparent;font-family:Montserrat}a{--tw-text-opacity: 1;color:rgb(37 136 228 / var(--tw-text-opacity))}input{background-color:transparent}.body--light-blue{--tw-bg-opacity: 1;background-color:rgb(233 247 255 / var(--tw-bg-opacity))}.body--main-dark-blue{--tw-bg-opacity: 1;background-color:rgb(0 40 61 / var(--tw-bg-opacity))}.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-72c60737.js"></script>
8
- <link rel="stylesheet" href="/assets/index-c6205205.css">
7
+ <script type="module" crossorigin src="/assets/index-4434ad72.js"></script>
8
+ <link rel="stylesheet" href="/assets/index-d649dd46.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
package/dist/main.css CHANGED
@@ -650,6 +650,10 @@ video {
650
650
  border-width: 1px;
651
651
  }
652
652
 
653
+ .border-0 {
654
+ border-width: 0px;
655
+ }
656
+
653
657
  .px-5 {
654
658
  padding-left: 1.25rem;
655
659
  padding-right: 1.25rem;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@platformatic/ui-components",
3
3
  "description": "Platformatic UI Components",
4
- "version": "0.1.111",
4
+ "version": "0.1.113",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -20,9 +20,13 @@ function ButtonFullRounded ({
20
20
  selected
21
21
  }) {
22
22
  const padding = commonStyles[`padding--${paddingSize}`]
23
- const containerClassName = `${className} ${styles.roundedFull}`
23
+ const containerClassName = `${className} border-0 ${styles.roundedFull}`
24
24
  let buttonClassName = `${styles.roundedFull} ${styles.buttonRoundedFull} ${padding}`
25
- if (bordered) buttonClassName += ' ' + commonStyles[`bordered--${iconColor}`]
25
+ if (bordered) {
26
+ buttonClassName += ` ${styles.applyBorder} ` + commonStyles[`bordered--${iconColor}`]
27
+ } else {
28
+ buttonClassName += ` ${styles.borderLess} `
29
+ }
26
30
  if (disabled) {
27
31
  buttonClassName += ` ${styles.disabled}`
28
32
  } else {
@@ -38,7 +42,7 @@ function ButtonFullRounded ({
38
42
 
39
43
  return (
40
44
  <div className={containerClassName}>
41
- <button className={buttonClassName} disabled={disabled} onClick={onClick} alt={alt}>
45
+ <button className={buttonClassName} disabled={disabled} onClick={onClick} alt={alt} type='button'>
42
46
  <PlatformaticIcon iconName={iconName} size={iconSize} color={iconColor} data-testid='button-icon' onClick={null} tip={tip} />
43
47
  </button>
44
48
  </div>
@@ -94,6 +98,7 @@ ButtonFullRounded.propTypes = {
94
98
  }
95
99
 
96
100
  ButtonFullRounded.defaultProps = {
101
+ className: '',
97
102
  iconName: '',
98
103
  iconColor: WHITE,
99
104
  iconSize: SMALL,
@@ -102,7 +107,7 @@ ButtonFullRounded.defaultProps = {
102
107
  alt: 'ButtonFullRounded',
103
108
  onClick: () => {},
104
109
  hoverEffect: '',
105
- bordered: true,
110
+ bordered: false,
106
111
  tip: '',
107
112
  selected: false
108
113
  }
@@ -1,5 +1,5 @@
1
1
  .buttonRoundedFull {
2
- @apply flex justify-center cursor-pointer border-0 items-center;
2
+ @apply flex justify-center cursor-pointer items-center;
3
3
  }
4
4
  .disabled {
5
5
  @apply opacity-30 cursor-default;
@@ -7,3 +7,9 @@
7
7
  .roundedFull {
8
8
  @apply rounded-full
9
9
  }
10
+ .applyBorder {
11
+ @apply border
12
+ }
13
+ .borderLess {
14
+ @apply border-0
15
+ }
@@ -3,10 +3,10 @@ import React, { useState, useEffect, useRef } from 'react'
3
3
  import PropTypes from 'prop-types'
4
4
  import styles from './Select.module.css'
5
5
  import commonStyles from '../Common.module.css'
6
- import { MAIN_DARK_BLUE, MAIN_GREEN } from '../constants'
6
+ import { MAIN_DARK_BLUE, MAIN_GREEN, SMALL } from '../constants'
7
7
  import PlatformaticIcon from '../PlatformaticIcon'
8
8
 
9
- function Select ({ placeholder, name, value, options, borderColor, errorMessage, onChange, onSelect, disabled }) {
9
+ function Select ({ placeholder, name, value, options, borderColor, errorMessage, onChange, onSelect, onClear, disabled, optionsIconColor }) {
10
10
  const inputRef = useRef()
11
11
  const [showOptions, setShowOptions] = useState(false)
12
12
  const [isSelected, setIsSelected] = useState(false)
@@ -16,6 +16,11 @@ function Select ({ placeholder, name, value, options, borderColor, errorMessage,
16
16
  if (showError) inputClassName += ' ' + commonStyles['bordered--error-red']
17
17
  if (disabled) inputClassName += ' ' + commonStyles['apply-opacity-30']
18
18
 
19
+ function handleNotSelectable (callback = () => {}) {
20
+ setIsSelected(true)
21
+ setShowOptions(false)
22
+ callback()
23
+ }
19
24
  function setSelected ({ label, value }) {
20
25
  setIsSelected(true)
21
26
  setShowOptions(false)
@@ -38,14 +43,34 @@ function Select ({ placeholder, name, value, options, borderColor, errorMessage,
38
43
  }
39
44
  }, [value])
40
45
 
46
+ function renderLi (option, index) {
47
+ return (
48
+ <li
49
+ key={index} className={styles.option} onClick={() => {
50
+ if (option.notSelectable) {
51
+ return handleNotSelectable(option.onClick && option.onClick())
52
+ }
53
+ return setSelected(option)
54
+ }}
55
+ >
56
+ {option.iconName && <PlatformaticIcon iconName={option.iconName} color={optionsIconColor} size={SMALL} onClick={null} />}
57
+ <span>{option.label}</span>
58
+ </li>
59
+ )
60
+ }
61
+
41
62
  function renderOptions () {
42
63
  if (value.length === 0) {
43
- return <></>
64
+ return (
65
+ <ul className={styles.options}>
66
+ {options.length > 0 ? options.map((option, index) => renderLi(option, index)) : <li className={styles.option}>No data found</li>}
67
+ </ul>
68
+ )
44
69
  }
45
70
  const filteredOptions = options.filter(option => option.label.toLowerCase().includes(value.toLowerCase()))
46
71
  return (
47
72
  <ul className={styles.options}>
48
- {filteredOptions.length > 0 ? filteredOptions.map((option, index) => <li key={index} className={styles.option} onClick={() => setSelected(option)}>{option.label}</li>) : <li className={styles.option}>No data found</li>}
73
+ {filteredOptions.length > 0 ? filteredOptions.map((option, index) => renderLi(option, index)) : <li className={styles.option}>No data found</li>}
49
74
  </ul>
50
75
  )
51
76
  }
@@ -57,6 +82,7 @@ function Select ({ placeholder, name, value, options, borderColor, errorMessage,
57
82
  const ev2 = new Event('input', { bubbles: true })
58
83
  ev2.simulated = true
59
84
  inputRef.current.dispatchEvent(ev2)
85
+ onClear()
60
86
  }
61
87
 
62
88
  return (
@@ -65,7 +91,7 @@ function Select ({ placeholder, name, value, options, borderColor, errorMessage,
65
91
  <input type='text' name={name} value={value} className={inputClassName} ref={inputRef} onChange={onChange} disabled={disabled} placeholder={placeholder} />
66
92
  <div className={styles.icons}>
67
93
  {value?.length > 0 && <PlatformaticIcon iconName='CloseIcon' color={borderColor} onClick={() => clearValue()} />}
68
- <PlatformaticIcon iconName={showOptions ? 'ArrowUpIcon' : 'ArrowDownIcon'} color={borderColor} onClick={() => setShowOptions(!showOptions)} />
94
+ <PlatformaticIcon iconName={showOptions ? 'ArrowUpIcon' : 'ArrowDownIcon'} color={borderColor} onClick={() => disabled ? null : setShowOptions(!showOptions)} />
69
95
  </div>
70
96
  </div>
71
97
  {showOptions && !showError && renderOptions()}
@@ -82,7 +108,10 @@ Select.propTypes = {
82
108
  /**
83
109
  * name
84
110
  */
85
- name: PropTypes.string,
111
+ name: PropTypes.oneOfType([
112
+ PropTypes.string,
113
+ PropTypes.number
114
+ ]),
86
115
  /**
87
116
  * value
88
117
  */
@@ -91,8 +120,14 @@ Select.propTypes = {
91
120
  * options
92
121
  */
93
122
  options: PropTypes.arrayOf(PropTypes.shape({
94
- value: PropTypes.string,
95
- label: PropTypes.string
123
+ label: PropTypes.string,
124
+ value: PropTypes.oneOfType([
125
+ PropTypes.string,
126
+ PropTypes.number
127
+ ]),
128
+ icon: PropTypes.string,
129
+ notSelectable: PropTypes.bool,
130
+ onClick: PropTypes.func
96
131
  })),
97
132
  /**
98
133
  * color of border
@@ -106,10 +141,18 @@ Select.propTypes = {
106
141
  * onSelect
107
142
  */
108
143
  onSelect: PropTypes.func,
144
+ /**
145
+ * onClear
146
+ */
147
+ onClear: PropTypes.func,
109
148
  /**
110
149
  * Disabled
111
150
  */
112
- disabled: PropTypes.bool
151
+ disabled: PropTypes.bool,
152
+ /**
153
+ * optionsIconColor
154
+ */
155
+ optionsIconColor: PropTypes.string
113
156
  }
114
157
 
115
158
  Select.defaultProps = {
@@ -122,7 +165,9 @@ Select.defaultProps = {
122
165
  errorMessage: '',
123
166
  onChange: () => {},
124
167
  onSelect: () => {},
125
- disabled: false
168
+ onClear: () => {},
169
+ disabled: false,
170
+ optionsIconColor: MAIN_DARK_BLUE
126
171
  }
127
172
 
128
173
  export default Select
@@ -1,9 +1,9 @@
1
1
  .container {
2
- @apply flex flex-col w-full relative z-10;
2
+ @apply flex flex-col w-full relative;
3
3
  }
4
4
  .selectContainer {
5
- @apply w-full flex items-center h-10 relative;
6
- }
5
+ @apply w-full flex items-center h-10 relative z-10;
6
+ }
7
7
  .select {
8
8
  @apply px-2 h-full border border-solid box-border rounded-md ;
9
9
  }
@@ -12,11 +12,11 @@
12
12
  @apply shadow-main-dark-blue outline-none;
13
13
  }
14
14
  .options {
15
- @apply absolute left-0 top-[42px] bg-white w-full max-h-[216px] overflow-y-scroll;
15
+ @apply absolute left-0 top-[42px] bg-white w-full max-h-[216px] overflow-y-scroll z-20;
16
16
  box-shadow: 0px 0px 10px rgb(0 40 61 / 25%);
17
17
  }
18
18
  .option {
19
- @apply w-full px-4 py-2 border-b border-main-dark-blue/[.15] font-light cursor-pointer hover:bg-main-dark-blue hover:bg-opacity-10
19
+ @apply w-full px-4 py-2 border-b border-main-dark-blue/[.15] font-light cursor-pointer hover:bg-main-dark-blue hover:bg-opacity-10 inline-flex items-center gap-x-1
20
20
  }
21
21
  .icons {
22
22
  @apply absolute top-[50%] right-[0.5rem] translate-y-[-50%] flex gap-x-2;
@@ -0,0 +1,51 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+ import { COLORS_ICON, SIZES, SMALL, MAIN_DARK_BLUE } from '../constants'
5
+
6
+ const CircleCopyPasteIcon = ({ 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={18}
15
+ height={18}
16
+ viewBox='0 0 18 18'
17
+ fill='none'
18
+ xmlns='http://www.w3.org/2000/svg'
19
+ className={className}
20
+ >
21
+ <circle cx='9' cy='9' r='8' stroke='none' />
22
+ <path d='M7.3335 13.5V6.53746C7.3335 6.26132 7.55735 6.03746 7.8335 6.03746H11.0821C11.205 6.03746 11.3235 6.08269 11.4152 6.16453L13.8332 8.32396C13.9394 8.41882 14.0002 8.55448 14.0002 8.69689V13.5C14.0002 13.7761 13.7763 14 13.5002 14H7.8335C7.55735 14 7.3335 13.7761 7.3335 13.5Z' stroke='none' strokeLinecap='round' />
23
+ <path d='M11.0835 8.82435V6.03746L14.0002 8.82435H11.0835Z' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <path d='M10.25 5.63936L8.49695 4.12196C8.40607 4.0433 8.28991 4 8.16972 4H6.17803H4.5C4.22386 4 4 4.22386 4 4.50001L4 11.1112C4.00001 11.3874 4.22386 11.6112 4.5 11.6112H6.91667' stroke='none' strokeLinecap='round' />
25
+ </svg>
26
+ )
27
+ break
28
+
29
+ default:
30
+ break
31
+ }
32
+ return icon
33
+ }
34
+
35
+ CircleCopyPasteIcon.propTypes = {
36
+ /**
37
+ * color of text, icon and borders
38
+ */
39
+ color: PropTypes.oneOf(COLORS_ICON),
40
+ /**
41
+ * Size
42
+ */
43
+ size: PropTypes.oneOf(SIZES)
44
+ }
45
+
46
+ CircleCopyPasteIcon.defaultProps = {
47
+ color: MAIN_DARK_BLUE,
48
+ size: SMALL
49
+ }
50
+
51
+ export default CircleCopyPasteIcon
@@ -0,0 +1,52 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+ import { COLORS_ICON, SIZES, SMALL, MAIN_DARK_BLUE } from '../constants'
5
+
6
+ const CircleEditIcon = ({ 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={18}
15
+ height={18}
16
+ viewBox='0 0 18 18'
17
+ fill='none'
18
+ xmlns='http://www.w3.org/2000/svg'
19
+ className={className}
20
+ >
21
+ <circle cx='9' cy='9' r='8' stroke='none' />
22
+ <rect x='11.0552' y='5.50607' width='2.11765' height='7.76471' transform='rotate(45 11.0552 5.50607)' stroke='none' strokeLinejoin='round' />
23
+ <path d='M7.06234 12.494L5.56494 10.9966L4.81624 13.2427L7.06234 12.494Z' stroke='none' strokeLinejoin='round' />
24
+ <path d='M11.8456 4.71577C12.2362 4.32525 12.8693 4.32525 13.2598 4.71577L13.343 4.79896C13.7336 5.18949 13.7336 5.82265 13.343 6.21318L12.5527 7.00347L11.0553 5.50607L11.8456 4.71577Z' stroke='none' />
25
+
26
+ </svg>
27
+ )
28
+ break
29
+
30
+ default:
31
+ break
32
+ }
33
+ return icon
34
+ }
35
+
36
+ CircleEditIcon.propTypes = {
37
+ /**
38
+ * color of text, icon and borders
39
+ */
40
+ color: PropTypes.oneOf(COLORS_ICON),
41
+ /**
42
+ * Size
43
+ */
44
+ size: PropTypes.oneOf(SIZES)
45
+ }
46
+
47
+ CircleEditIcon.defaultProps = {
48
+ color: MAIN_DARK_BLUE,
49
+ size: SMALL
50
+ }
51
+
52
+ export default CircleEditIcon
@@ -0,0 +1,52 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+ import { COLORS_ICON, SIZES, SMALL, MAIN_DARK_BLUE } from '../constants'
5
+
6
+ const CircleRestartIcon = ({ 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={18}
15
+ height={18}
16
+ viewBox='0 0 18 18'
17
+ fill='none'
18
+ xmlns='http://www.w3.org/2000/svg'
19
+ className={className}
20
+ >
21
+ <circle cx='9' cy='9' r='8' stroke='none' />
22
+ <path d='M5.05117 6.23517C5.89557 4.88792 7.33948 4 8.97888 4C11.5819 4 13.6921 6.23858 13.6921 9C13.6921 9.50216 13.6224 9.98702 13.4925 10.4443M4.33079 8.16667C4.28793 8.43767 4.26562 8.71607 4.26562 9C4.26562 11.7614 6.37582 14 8.97888 14C10.3866 14 11.6502 13.3453 12.5138 12.3073' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
23
+ <path d='M12.2388 8.87502L13.47 10.4981L15 9.19192' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <path d='M5.771 9.35161L4.29088 7.98235L3.00014 9.5525' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
25
+
26
+ </svg>
27
+ )
28
+ break
29
+
30
+ default:
31
+ break
32
+ }
33
+ return icon
34
+ }
35
+
36
+ CircleRestartIcon.propTypes = {
37
+ /**
38
+ * color of text, icon and borders
39
+ */
40
+ color: PropTypes.oneOf(COLORS_ICON),
41
+ /**
42
+ * Size
43
+ */
44
+ size: PropTypes.oneOf(SIZES)
45
+ }
46
+
47
+ CircleRestartIcon.defaultProps = {
48
+ color: MAIN_DARK_BLUE,
49
+ size: SMALL
50
+ }
51
+
52
+ export default CircleRestartIcon
@@ -25,11 +25,14 @@ import CircleArrowLeftIcon from './CircleArrowLeftIcon'
25
25
  import CircleArrowRightIcon from './CircleArrowRightIcon'
26
26
  import CircleCheckMarkIcon from './CircleCheckMarkIcon'
27
27
  import CircleCheckMarkFullIcon from './CircleCheckMarkFullIcon'
28
+ import CircleCopyPasteIcon from './CircleCopyPasteIcon'
28
29
  import CircleCloseIcon from './CircleCloseIcon'
29
30
  import CircleCloseHoverIcon from './CircleCloseHoverIcon'
30
31
  import CircleExclamationIcon from './CircleExclamationIcon'
32
+ import CircleEditIcon from './CircleEditIcon'
31
33
  import CircleFullIcon from './CircleFullIcon'
32
34
  import CircleGearIcon from './CircleGearIcon'
35
+ import CircleRestartIcon from './CircleRestartIcon'
33
36
  import CircleTwoArrowsDownIcon from './CircleTwoArrowsDownIcon'
34
37
  import CircleTwoArrowsUpIcon from './CircleTwoArrowsUpIcon'
35
38
  import CloseIcon from './CloseIcon'
@@ -123,10 +126,13 @@ export default {
123
126
  CircleCheckMarkIcon,
124
127
  CircleCheckMarkFullIcon,
125
128
  CircleExclamationIcon,
129
+ CircleCopyPasteIcon,
126
130
  CircleCloseIcon,
127
131
  CircleCloseHoverIcon,
132
+ CircleEditIcon,
128
133
  CircleFullIcon,
129
134
  CircleGearIcon,
135
+ CircleRestartIcon,
130
136
  CircleTwoArrowsDownIcon,
131
137
  CircleTwoArrowsUpIcon,
132
138
  CloseIcon,
@@ -62,25 +62,25 @@ SingleButton.args = {
62
62
  }
63
63
 
64
64
  const AllCircleButtonsTemplate = (args) => {
65
- const icons = Object.values(Icons).filter(icon => icon.name.indexOf('Circle') > -1)
65
+ const icons = Object.keys(Icons).filter(icon => icon.indexOf('Circle') > -1)
66
66
 
67
67
  return (
68
68
  <>
69
69
  <div style={divStyle}>
70
70
  <p style={paragraph}>All Buttons with Circle Icons: {icons.length} </p>
71
- {icons.map((IconComponent, index) => (
71
+ {icons.map((icon, index) => (
72
72
  <div style={row} key={index}>
73
73
  <div style={col}>
74
- <p style={paragraph}>#{index + 1}: {IconComponent.name}</p>
74
+ <p style={paragraph}>#{index + 1}: {icon}</p>
75
75
  </div>
76
76
  <div style={col}>
77
- <ButtonFullRounded key={IconComponent.name} iconName={IconComponent.name} iconSize={SMALL} {...args} />
77
+ <ButtonFullRounded key={icon} iconName={icon} iconSize={SMALL} {...args} />
78
78
  </div>
79
79
  <div style={col}>
80
- <ButtonFullRounded key={IconComponent.name} iconName={IconComponent.name} iconSize={MEDIUM} {...args} />
80
+ <ButtonFullRounded key={icon} iconName={icon} iconSize={MEDIUM} {...args} />
81
81
  </div>
82
82
  <div style={col}>
83
- <ButtonFullRounded key={IconComponent.name} iconName={IconComponent.name} iconSize={LARGE} {...args} />
83
+ <ButtonFullRounded key={icon} iconName={icon} iconSize={LARGE} {...args} />
84
84
  </div>
85
85
  </div>
86
86
  ))}
@@ -51,12 +51,36 @@ const TemplateBorderMainDarkBlue = (args) => {
51
51
  )
52
52
  }
53
53
 
54
+ const TemplateBorderMainDarkBlue2 = (args) => {
55
+ const [value, setValue] = useState('')
56
+
57
+ function handleChange (event) {
58
+ setValue(event.target.value)
59
+ }
60
+
61
+ function handleSelect (event) {
62
+ setValue(event.detail.label)
63
+ }
64
+
65
+ return (
66
+ <>
67
+ <div style={{ backgroundColor: 'white', padding: '20px 10px' }}>
68
+ <p>Value of the input {value}</p>
69
+ <Select {...args} value={value} onChange={handleChange} onSelect={handleSelect} />
70
+ <br />
71
+ <Select placeholder='Disabled' disabled />
72
+
73
+ </div>
74
+ </>
75
+ )
76
+ }
77
+
54
78
  export const BorderMainDarkBlue = TemplateBorderMainDarkBlue.bind({})
55
79
 
56
80
  BorderMainDarkBlue.args = {
57
81
  name: 'test',
58
82
  placeholder: 'Defaul option',
59
- options: [...Array(20).keys()].map(ele => ({ label: `Option ${ele}`, value: `Value${ele}` })),
83
+ options: [...Array(20).keys()].map(ele => ({ label: `Option ${ele}`, value: `Value${ele}`, iconName: 'SocialGitHubIcon' })),
60
84
  borderColor: MAIN_DARK_BLUE
61
85
  }
62
86
 
@@ -69,3 +93,27 @@ DefaultInvalid.args = {
69
93
  borderColor: MAIN_GREEN,
70
94
  errorMessage: 'This is an error message'
71
95
  }
96
+
97
+ export const withDifferentOptions = TemplateBorderMainDarkBlue2.bind({})
98
+
99
+ withDifferentOptions.args = {
100
+ name: 'test',
101
+ placeholder: 'Platformatic',
102
+ options: [...Array(20).keys()].map(ele => ({
103
+ label: `Option ${ele}`,
104
+ value: `Value${ele}`,
105
+ iconName: 'SocialGitHubIcon'
106
+ })).concat({
107
+ label: 'Last but not least',
108
+ iconName: 'AddIcon',
109
+ value: 123123,
110
+ notSelectable: true,
111
+ onClick: () => alert('you clicked last but not least')
112
+ }).concat({
113
+ label: 'Play',
114
+ iconName: 'PlayIcon',
115
+ value: 123123,
116
+ notSelectable: true
117
+ }),
118
+ borderColor: MAIN_DARK_BLUE
119
+ }