@formkit/barcode
Version:
Barcode reader input for FormKit.
158 lines (141 loc) • 9.74 kB
CSS
@keyframes scanning {
0% {
top: 2px;
box-shadow: 0 0 0 0 rgb(255, 104, 104, 0);
}
1%,
45% {
box-shadow: 0 -0.25rem 0.5rem 0.25rem rgb(255, 104, 104, 0.5);
}
48% {
top: calc(100% - 2px);
}
50% {
top: calc(100% - 2px);
box-shadow: 0 0 0 0 rgb(255, 104, 104, 0);
}
51%,
95% {
box-shadow: 0 0.25rem 0.5rem 0.25rem rgb(255, 104, 104, 0.5);
}
98% {
top: 2px;
}
100% {
top: 2px;
box-shadow: 0 0 0 0 rgb(255, 104, 104, 0);
}
}
[data-type="barcode"] .formkit-dialog {
border: none;
background: #000;
padding: 0;
border-radius: 0.5rem;
width: calc(100% - 2rem);
max-width: 30rem;
}
[data-type="barcode"] .formkit-dialog::backdrop {
background-color: rgba(30, 30, 30, 0.25);
}
[data-type="barcode"] .formkit-video {
width: 100%;
aspect-ratio: 1/1;
-o-object-fit: cover;
object-fit: cover;
display: block;
pointer-events: none;
}
[data-type="barcode"] .formkit-barcode-icon {
cursor: pointer;
}
[data-type="barcode"] .formkit-barcode-icon svg {
max-height: 1.25em;
max-width: 1.25em;
}
[data-type="barcode"] .formkit-icon.formkit-close-icon {
cursor: pointer;
position: absolute;
background: var(--fk-color-button);
border-radius: 100%;
top: 0.5rem;
right: 0.5rem;
width: 1.5em;
height: 1.5em;
z-index: 99;
}
[data-type="barcode"] .formkit-icon.formkit-close-icon svg {
max-height: 1em;
max-width: 1em;
}
[data-type="barcode"] .formkit-overlay {
position: absolute;
background: rgba(30, 30, 30, 0.25);
top: 50%;
left: 50%;
width: min(20em, 75%);
aspect-ratio: 1/1;
transform: translate(-50%, -50%);
border-radius: 0.5rem;
overflow: hidden;
pointer-events: none;
}
[data-type="barcode"] .formkit-scanner-container {
position: relative;
z-index: 2;
}
[data-type="barcode"] .formkit-overlay-decorators {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 3;
}
[data-type="barcode"] .formkit-overlay-decorator-top-left,
[data-type="barcode"] .formkit-overlay-decorator-top-right,
[data-type="barcode"] .formkit-overlay-decorator-bottom-left,
[data-type="barcode"] .formkit-overlay-decorator-bottom-right {
position: absolute;
width: 1rem;
height: 1rem;
}
[data-type="barcode"] .formkit-overlay-decorator-top-left {
top: 0;
left: 0;
border-left: 3px solid #fff;
border-top: 3px solid #fff;
border-top-left-radius: 0.5rem;
}
[data-type="barcode"] .formkit-overlay-decorator-top-right {
top: 0;
right: 0;
border-right: 3px solid #fff;
border-top: 3px solid #fff;
border-top-right-radius: 0.5rem;
}
[data-type="barcode"] .formkit-overlay-decorator-bottom-left {
bottom: 0;
left: 0;
border-left: 3px solid #fff;
border-bottom: 3px solid #fff;
border-bottom-left-radius: 0.5rem;
}
[data-type="barcode"] .formkit-overlay-decorator-bottom-right {
bottom: 0;
right: 0;
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
border-bottom-right-radius: 0.5rem;
}
[data-type="barcode"] .formkit-laser {
width: 100%;
background-color: rgb(255, 164, 164);
position: absolute;
top: 50%;
z-index: 2;
height: 3px;
border-top: 1px solid rgb(255, 104, 104);
border-bottom: 1px solid rgb(255, 104, 104);
animation: scanning 4s infinite ease-in-out;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NldHMvYmFyY29kZVJlYWRlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtJQUNFLFFBQVE7SUFDUix5Q0FBeUM7RUFDM0M7RUFDQTs7SUFFRSw2REFBNkQ7RUFDL0Q7RUFDQTtJQUNFLHFCQUFxQjtFQUN2QjtFQUNBO0lBQ0UscUJBQXFCO0lBQ3JCLHlDQUF5QztFQUMzQztFQUNBOztJQUVFLDREQUE0RDtFQUM5RDtFQUNBO0lBQ0UsUUFBUTtFQUNWO0VBQ0E7SUFDRSxRQUFRO0lBQ1IseUNBQXlDO0VBQzNDO0FBQ0Y7O0FBR0U7SUFDRSxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLGdCQUFnQjtFQUtsQjs7QUFIRTtNQUNFLHdDQUF3QztJQUMxQzs7QUFHRjtJQUNFLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsb0JBQWlCO09BQWpCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsb0JBQW9CO0VBQ3RCOztBQUVBO0lBQ0UsZUFBZTtFQU1qQjs7QUFKRTtNQUNFLGtCQUFrQjtNQUNsQixpQkFBaUI7SUFDbkI7O0FBR0Y7SUFDRSxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGtDQUFrQztJQUNsQyxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGFBQWE7SUFDYixZQUFZO0lBQ1osYUFBYTtJQUNiLFdBQVc7RUFNYjs7QUFKRTtNQUNFLGVBQWU7TUFDZixjQUFjO0lBQ2hCOztBQUdGO0lBQ0Usa0JBQWtCO0lBQ2xCLGtDQUFrQztJQUNsQyxRQUFRO0lBQ1IsU0FBUztJQUNULHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsZ0NBQWdDO0lBQ2hDLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0VBQ3RCOztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFVBQVU7RUFDWjs7QUFFQTtJQUNFLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtFQUNaOztBQUVBOzs7O0lBSUUsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxNQUFNO0lBQ04sT0FBTztJQUNQLDJCQUEyQjtJQUMzQiwwQkFBMEI7SUFDMUIsOEJBQThCO0VBQ2hDOztBQUNBO0lBQ0UsTUFBTTtJQUNOLFFBQVE7SUFDUiw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLCtCQUErQjtFQUNqQzs7QUFDQTtJQUNFLFNBQVM7SUFDVCxPQUFPO0lBQ1AsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QixpQ0FBaUM7RUFDbkM7O0FBQ0E7SUFDRSxTQUFTO0lBQ1QsUUFBUTtJQUNSLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0Isa0NBQWtDO0VBQ3BDOztBQUVBO0lBQ0UsV0FBVztJQUNYLG9DQUFvQztJQUNwQyxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFVBQVU7SUFDVixXQUFXO0lBQ1gsd0NBQXdDO0lBQ3hDLDJDQUEyQztJQUMzQywyQ0FBMkM7RUFDN0MiLCJmaWxlIjoiYmFyY29kZVJlYWRlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAa2V5ZnJhbWVzIHNjYW5uaW5nIHtcbiAgMCUge1xuICAgIHRvcDogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiKDI1NSwgMTA0LCAxMDQsIDApO1xuICB9XG4gIDElLFxuICA0NSUge1xuICAgIGJveC1zaGFkb3c6IDAgLTAuMjVyZW0gMC41cmVtIDAuMjVyZW0gcmdiKDI1NSwgMTA0LCAxMDQsIDAuNSk7XG4gIH1cbiAgNDglIHtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDJweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2IoMjU1LCAxMDQsIDEwNCwgMCk7XG4gIH1cbiAgNTElLFxuICA5NSUge1xuICAgIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjVyZW0gMC4yNXJlbSByZ2IoMjU1LCAxMDQsIDEwNCwgMC41KTtcbiAgfVxuICA5OCUge1xuICAgIHRvcDogMnB4O1xuICB9XG4gIDEwMCUge1xuICAgIHRvcDogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiKDI1NSwgMTA0LCAxMDQsIDApO1xuICB9XG59XG5cbltkYXRhLXR5cGU9XCJiYXJjb2RlXCJdIHtcbiAgJiAuZm9ybWtpdC1kaWFsb2cge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXgtd2lkdGg6IDMwcmVtO1xuXG4gICAgJjo6YmFja2Ryb3Age1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjI1KTtcbiAgICB9XG4gIH1cblxuICAmIC5mb3Jta2l0LXZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYgLmZvcm1raXQtYmFyY29kZS1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmIHN2ZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICBtYXgtd2lkdGg6IDEuMjVlbTtcbiAgICB9XG4gIH1cblxuICAmIC5mb3Jta2l0LWljb24uZm9ybWtpdC1jbG9zZS1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZrLWNvbG9yLWJ1dHRvbik7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIHotaW5kZXg6IDk5O1xuXG4gICAgJiBzdmcge1xuICAgICAgbWF4LWhlaWdodDogMWVtO1xuICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgfVxuICB9XG5cbiAgJiAuZm9ybWtpdC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjI1KTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IG1pbigyMGVtLCA3NSUpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJiAuZm9ybWtpdC1zY2FubmVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmIC5mb3Jta2l0LW92ZXJsYXktZGVjb3JhdG9ycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgJiAuZm9ybWtpdC1vdmVybGF5LWRlY29yYXRvci10b3AtbGVmdCxcbiAgJiAuZm9ybWtpdC1vdmVybGF5LWRlY29yYXRvci10b3AtcmlnaHQsXG4gICYgLmZvcm1raXQtb3ZlcmxheS1kZWNvcmF0b3ItYm90dG9tLWxlZnQsXG4gICYgLmZvcm1raXQtb3ZlcmxheS1kZWNvcmF0b3ItYm90dG9tLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICB9XG5cbiAgJiAuZm9ybWtpdC1vdmVybGF5LWRlY29yYXRvci10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgfVxuICAmIC5mb3Jta2l0LW92ZXJsYXktZGVjb3JhdG9yLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgfVxuICAmIC5mb3Jta2l0LW92ZXJsYXktZGVjb3JhdG9yLWJvdHRvbS1sZWZ0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO1xuICB9XG4gICYgLmZvcm1raXQtb3ZlcmxheS1kZWNvcmF0b3ItYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICB9XG5cbiAgJiAuZm9ybWtpdC1sYXNlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMTY0LCAxNjQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoMjU1LCAxMDQsIDEwNCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigyNTUsIDEwNCwgMTA0KTtcbiAgICBhbmltYXRpb246IHNjYW5uaW5nIDRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICB9XG59XG4iXX0= */