UNPKG

@rockshin/react-image-annotation

Version:

An image annotation tool for ai project that manual annotation for images, easy to use!

899 lines (715 loc) 15.2 kB
*, :before, :after, ::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: #3b82f680; --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: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ; } *, :before, :after { box-sizing: border-box; border: 0 solid #e5e7eb; } :before, :after { --tw-content: ""; } html, :host { -webkit-text-size-adjust: 100%; tab-size: 4; font-feature-settings: normal; font-variation-settings: normal; -webkit-tap-highlight-color: transparent; font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; line-height: 1.5; } body { line-height: inherit; margin: 0; } 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; -webkit-text-decoration: inherit; text-decoration: inherit; } b, strong { font-weight: bolder; } code, kbd, samp, pre { font-feature-settings: normal; font-variation-settings: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; font-size: 1em; } small { font-size: 80%; } sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; } sub { bottom: -.25em; } sup { top: -.5em; } table { text-indent: 0; border-color: inherit; border-collapse: collapse; } button, input, optgroup, select, textarea { font-feature-settings: inherit; font-variation-settings: inherit; font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; margin: 0; padding: 0; } button, select { text-transform: none; } button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) { -webkit-appearance: button; background-color: #0000; background-image: none; } :-moz-focusring { outline: auto; } :-moz-ui-invalid { box-shadow: none; } progress { vertical-align: baseline; } ::-webkit-inner-spin-button { height: auto; } ::-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 { margin: 0; padding: 0; list-style: none; } dialog { padding: 0; } textarea { resize: vertical; } input::placeholder, textarea::placeholder { opacity: 1; color: #9ca3af; } button, [role="button"] { cursor: pointer; } :disabled { cursor: default; } img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; } img, video { max-width: 100%; height: auto; } [hidden]:where(:not([hidden="until-found"])) { display: none; } .container { width: 100%; } @media (width >= 640px) { .container { max-width: 640px; } } @media (width >= 768px) { .container { max-width: 768px; } } @media (width >= 1024px) { .container { max-width: 1024px; } } @media (width >= 1280px) { .container { max-width: 1280px; } } @media (width >= 1536px) { .container { max-width: 1536px; } } .pointer-events-auto { pointer-events: auto; } .visible { visibility: visible; } .absolute { position: absolute; } .relative { position: relative; } .inset-0 { inset: 0; } .bottom-0 { bottom: 0; } .bottom-12 { bottom: 3rem; } .left-0 { left: 0; } .right-0 { right: 0; } .top-12 { top: 3rem; } .z-50 { z-index: 50; } .z-\[300\] { z-index: 300; } .m-2 { margin: .5rem; } .mx-auto { margin-left: auto; margin-right: auto; } .mb-2 { margin-bottom: .5rem; } .mb-4 { margin-bottom: 1rem; } .ml-3 { margin-left: .75rem; } .mr-2 { margin-right: .5rem; } .block { display: block; } .flex { display: flex; } .h-10 { height: 2.5rem; } .h-12 { height: 3rem; } .h-2 { height: .5rem; } .h-4 { height: 1rem; } .h-\[2px\] { height: 2px; } .h-full { height: 100%; } .w-1\/2 { width: 50%; } .w-10 { width: 2.5rem; } .w-12 { width: 3rem; } .w-3\/4 { width: 75%; } .w-4 { width: 1rem; } .w-\[300px\] { width: 300px; } .w-\[400px\] { width: 400px; } .w-\[600px\] { width: 600px; } .w-full { width: 100%; } .max-w-2xl { max-width: 42rem; } .max-w-none { max-width: none; } .flex-1 { flex: 1; } .flex-none { flex: none; } .scale-95 { --tw-scale-x: .95; --tw-scale-y: .95; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } .transform { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } .transform-none { transform: none; } .cursor-pointer { cursor: pointer; } .items-center { align-items: center; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .gap-2 { gap: .5rem; } .gap-4 { gap: 1rem; } .space-x-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(.5rem * var(--tw-space-x-reverse)); margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse))); } .space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(.5rem * var(--tw-space-y-reverse)); } .space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); } .overflow-hidden { overflow: hidden; } .whitespace-nowrap { white-space: nowrap; } .rounded { border-radius: .25rem; } .rounded-2xl { border-radius: 1rem; } .rounded-3xl { border-radius: 1.5rem; } .rounded-\[16px\] { border-radius: 16px; } .rounded-full { border-radius: 9999px; } .rounded-lg { border-radius: .5rem; } .rounded-md { border-radius: .375rem; } .rounded-b-lg { border-bottom-right-radius: .5rem; border-bottom-left-radius: .5rem; } .border { border-width: 1px; } .border-2 { border-width: 2px; } .border-\[\#9672e4\] { --tw-border-opacity: 1; border-color: rgb(150 114 228 / var(--tw-border-opacity, 1)); } .border-\[\#e5e7eb\] { --tw-border-opacity: 1; border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); } .border-blue-500 { --tw-border-opacity: 1; border-color: rgb(59 130 246 / var(--tw-border-opacity, 1)); } .border-gray-300 { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity, 1)); } .border-pink-500 { --tw-border-opacity: 1; border-color: rgb(236 72 153 / var(--tw-border-opacity, 1)); } .border-purple-400 { --tw-border-opacity: 1; border-color: rgb(192 132 252 / var(--tw-border-opacity, 1)); } .border-purple-500 { --tw-border-opacity: 1; border-color: rgb(168 85 247 / var(--tw-border-opacity, 1)); } .border-t-transparent { border-top-color: #0000; } .bg-\[var\(--color-low\)\] { background-color: var(--color-low); } .bg-blue-500 { --tw-bg-opacity: 1; background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1)); } .bg-gray-50 { --tw-bg-opacity: 1; background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)); } .bg-pink-100 { --tw-bg-opacity: 1; background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1)); } .bg-purple-100 { --tw-bg-opacity: 1; background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1)); } .bg-purple-200 { --tw-bg-opacity: 1; background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1)); } .bg-slate-700 { --tw-bg-opacity: 1; background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1)); } .bg-slate-800 { --tw-bg-opacity: 1; background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)); } .bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); } .bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); } .from-\[\#9672e4\] { --tw-gradient-from: #9672e4 var(--tw-gradient-from-position); --tw-gradient-to: #9672e400 var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } .from-blue-50 { --tw-gradient-from: #eff6ff var(--tw-gradient-from-position); --tw-gradient-to: #eff6ff00 var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } .from-blue-500 { --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position); --tw-gradient-to: #3b82f600 var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } .from-purple-400 { --tw-gradient-from: #c084fc var(--tw-gradient-from-position); --tw-gradient-to: #c084fc00 var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } .from-purple-50 { --tw-gradient-from: #faf5ff var(--tw-gradient-from-position); --tw-gradient-to: #faf5ff00 var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } .from-purple-500 { --tw-gradient-from: #a855f7 var(--tw-gradient-from-position); --tw-gradient-to: #a855f700 var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } .to-\[\#e0daff\] { --tw-gradient-to: #e0daff var(--tw-gradient-to-position); } .to-pink-50 { --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position); } .to-pink-500 { --tw-gradient-to: #ec4899 var(--tw-gradient-to-position); } .to-purple-200 { --tw-gradient-to: #e9d5ff var(--tw-gradient-to-position); } .to-purple-300 { --tw-gradient-to: #d8b4fe var(--tw-gradient-to-position); } .to-sky-50 { --tw-gradient-to: #f0f9ff var(--tw-gradient-to-position); } .to-sky-500 { --tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position); } .p-4 { padding: 1rem; } .p-8 { padding: 2rem; } .px-2 { padding-left: .5rem; padding-right: .5rem; } .px-4 { padding-left: 1rem; padding-right: 1rem; } .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; } .py-1 { padding-top: .25rem; padding-bottom: .25rem; } .py-2 { padding-top: .5rem; padding-bottom: .5rem; } .py-4 { padding-top: 1rem; padding-bottom: 1rem; } .text-center { text-align: center; } .text-\[14px\] { font-size: 14px; } .text-sm { font-size: .875rem; line-height: 1.25rem; } .text-xl { font-size: 1.25rem; line-height: 1.75rem; } .font-bold { font-weight: 700; } .font-medium { font-weight: 500; } .font-semibold { font-weight: 600; } .leading-\[24px\] { line-height: 24px; } .leading-relaxed { line-height: 1.625; } .text-\[\#181b25\] { --tw-text-opacity: 1; color: rgb(24 27 37 / var(--tw-text-opacity, 1)); } .text-\[var\(--color-text-1\)\] { color: var(--color-text-1); } .text-blue-500 { --tw-text-opacity: 1; color: rgb(59 130 246 / var(--tw-text-opacity, 1)); } .text-gray-600 { --tw-text-opacity: 1; color: rgb(75 85 99 / var(--tw-text-opacity, 1)); } .text-purple-700 { --tw-text-opacity: 1; color: rgb(126 34 206 / var(--tw-text-opacity, 1)); } .text-red-600 { --tw-text-opacity: 1; color: rgb(220 38 38 / var(--tw-text-opacity, 1)); } .text-slate-200 { --tw-text-opacity: 1; color: rgb(226 232 240 / var(--tw-text-opacity, 1)); } .text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); } .opacity-0 { opacity: 0; } .opacity-100 { opacity: 1; } .opacity-90 { opacity: .9; } .shadow-sm { --tw-shadow: 0 1px 2px 0 #0000000d; --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .outline-none { outline-offset: 2px; outline: 2px solid #0000; } .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); } .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter; transition-duration: .15s; transition-timing-function: cubic-bezier(.4, 0, .2, 1); } .transition-all { transition-property: all; transition-duration: .15s; transition-timing-function: cubic-bezier(.4, 0, .2, 1); } .duration-100 { transition-duration: .1s; } .duration-500 { transition-duration: .5s; } .ease-in-out { transition-timing-function: cubic-bezier(.4, 0, .2, 1); } .ease-out { transition-timing-function: cubic-bezier(0, 0, .2, 1); } .hover\:bg-\[\#00000010\]:hover { background-color: #00000010; } .hover\:bg-blue-50:hover { --tw-bg-opacity: 1; background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1)); } .hover\:bg-blue-600:hover { --tw-bg-opacity: 1; background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1)); } .focus\:border-purple-500:focus { --tw-border-opacity: 1; border-color: rgb(168 85 247 / var(--tw-border-opacity, 1)); } .focus\:ring-1:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus\:ring-purple-500:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1)); }