@gumigumih/react-calculator-input-form 1.1.2 → 1.1.5
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/README.md +255 -295
- package/dist/components/atoms/Button.d.ts +1 -1
- package/dist/components/organisms/Calculator.d.ts +1 -1
- package/dist/index.esm.js +90 -36
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +90 -36
- package/dist/index.js.map +1 -1
- package/dist/styles/calculator.css +479 -479
- package/package.json +101 -101
package/dist/index.js
CHANGED
|
@@ -31,10 +31,10 @@ function styleInject(css, ref) {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
var css_248z = ".calculator-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:9999}.calculator-background-pattern{inset:0;overflow:hidden;position:absolute}.calculator-background-pattern>div{inset:0;opacity:.1;position:absolute}.calculator-pattern-item{font-size:2rem;position:absolute}.calculator-pattern-item:first-child{font-size:2.5rem;left:2.5rem;top:2.5rem}.calculator-pattern-item:nth-child(2){font-size:1.875rem;right:5rem;top:5rem}.calculator-pattern-item:nth-child(3){font-size:1.5rem;left:5rem;top:10rem}.calculator-pattern-item:nth-child(4){font-size:1.875rem;right:10rem;top:15rem}.calculator-pattern-item:nth-child(5){font-size:1.5rem;left:10rem;top:20rem}.calculator-pattern-item:nth-child(6){bottom:10rem;font-size:1.875rem;right:5rem}.calculator-modal{background:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-height:90vh;max-width:24rem;overflow-y:auto;position:relative;width:100%;z-index:10}.calculator-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}.calculator-logo-container{align-items:center;display:flex;gap:.75rem}.calculator-logo{align-items:center;background-color:#60a5fa;border-radius:50%;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.calculator-logo-text{color:#fff;font-size:1.25rem;font-weight:700}.calculator-title{color:#111827;font-size:1.125rem;font-weight:700;margin:0}.calculator-subtitle{color:#6b7280;font-size:.75rem;margin:0}.calculator-close-button{background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:all .2s ease-in-out}.calculator-close-button:hover{background-color:#6b7280;color:#fff}.calculator-participants{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.calculator-participant-row{align-items:center;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.calculator-participant-row:hover{border-color:#d1d5db}.calculator-participant-row.selected{background-color:#eff6ff;border-color:#3b82f6}.calculator-participant-info{align-items:center;display:flex;gap:.75rem}.calculator-participant-name{color:#374151;font-size:1.125rem;font-weight:500}.calculator-participant-amount{align-items:center;display:flex;gap:.5rem}.calculator-amount-text{color:#111827;font-size:1.5rem;font-weight:700}.calculator-currency{color:#6b7280}.calculator-clear-button{background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;transition:color .2s}.calculator-clear-button:hover{color:#ef4444}.calculator-participant-controls{display:flex;gap:.5rem}.calculator-add-button{background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:1;font-size:.875rem;font-weight:700;padding:.5rem 1rem;transition:background-color .2s}.calculator-add-button:hover{background-color:#2563eb}.calculator-remove-button{background-color:#6b7280;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1rem;transition:background-color .2s}.calculator-remove-button:hover{background-color:#4b5563}.calculator-keypad-section{border-top:none;padding:1rem}.calculator-display-input{background-color:#f3f4f6;border:none;border-radius:0!important;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:1.5rem;outline:none;padding:.75rem 1.25rem;text-align:right;width:100%}.calculator-error{color:#ef4444;font-size:.75rem;margin-top:.25rem;padding-left:1.25rem;padding-right:1.25rem}.calculator-keypad{display:flex;flex-direction:column;gap:.5rem}.calculator-keypad-grid{display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.calculator-keypad-button{border:none;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:all .2s}.calculator-keypad-button.number{background-color:#f3f4f6;color:#374151}.calculator-keypad-button.number:hover{background-color:#dbeafe}.calculator-keypad-button.operator{background-color:#ff9f0a;color:#fff}.calculator-keypad-button.operator:hover{background-color:#ffb340}.calculator-keypad-button.clear{background-color:#ef4444;color:#fff}.calculator-keypad-button.clear:hover{background-color:#dc2626}.calculator-keypad-button.backspace{background-color:#a5a5a5;color:#fff}.calculator-keypad-button.backspace:hover{background-color:#b5b5b5}.calculator-keypad-button.decimal{background-color:#e5e7eb;color:#374151}.calculator-keypad-button.decimal:hover{background-color:#d1d5db}.calculator-keypad-button.include{background-color:#a5f3fc;color:#374151}.calculator-keypad-button.include:hover{background-color:#67e8f9}.calculator-keypad-button.exclude{background-color:#fce7f3;color:#374151}.calculator-keypad-button.exclude:hover{background-color:#fbcfe8}.calculator-action-buttons{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.calculator-equals-button{background-color:#ff9f0a;border:none;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:background-color .2s}.calculator-equals-button:hover{background-color:#ffb340}.calculator-decide-button{background-color:#10b981;border:none;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;grid-column:1/-1;padding:.75rem;transition:background-color .2s}.calculator-decide-button:hover{background-color:#059669}.calculator-total-section{border-top:1px solid #e5e7eb;padding:1.5rem}.calculator-total-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calculator-total-label{color:#374151;font-size:1.125rem;font-weight:500}.calculator-total-amount{color:#111827;font-size:1.5rem;font-weight:700}.calculator-per-person{color:#2563eb}.calculator-calculate-button{background-color:#10b981;border:none;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1.125rem;font-weight:700;padding:1rem;transition:background-color .2s;width:100%}.calculator-calculate-button:hover{background-color:#059669}@media (max-width:640px){.calculator-overlay{padding:.5rem}.calculator-modal{margin:.5rem;max-width:100%}.calculator-keypad-button{font-size:1.125rem;padding:.75rem}}.calculator-keypad-button.number.zero-wide{grid-column:span 2}\n/*# sourceMappingURL=data:application/json;base64,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QUVGLENBRUEsZ0NBQ0Usd0JBQ0YsQ0FFQSwwQkFFRSx3QkFBeUIsQ0FJekIsV0FBWSxDQUNaLG1CQUFxQixDQUdyQiwwQ0FBK0MsQ0FQL0MsVUFBWSxDQUtaLGNBQWUsQ0FKZixjQUFlLENBQ2YsZUFBZ0IsQ0FNaEIsZ0JBQW1CLENBVm5CLGNBQWdCLENBUWhCLCtCQUdGLENBRUEsZ0NBQ0Usd0JBQ0YsQ0FHQSwwQkFFRSw0QkFBNkIsQ0FEN0IsY0FFRixDQUVBLHNCQUdFLGtCQUFtQixDQUZuQixZQUFhLENBQ2IsNkJBQThCLENBRTlCLGtCQUNGLENBRUEsd0JBR0UsYUFBYyxDQUZkLGtCQUFtQixDQUNuQixlQUVGLENBRUEseUJBR0UsYUFBYyxDQUZkLGdCQUFpQixDQUNqQixlQUVGLENBRUEsdUJBQ0UsYUFDRixDQUVBLDZCQUdFLHdCQUF5QixDQUl6QixXQUFZLENBQ1osbUJBQXFCLENBR3JCLDBDQUErQyxDQVAvQyxVQUFZLENBS1osY0FBZSxDQUpmLGtCQUFtQixDQUNuQixlQUFpQixDQUpqQixZQUFhLENBUWIsK0JBQWlDLENBVGpDLFVBV0YsQ0FFQSxtQ0FDRSx3QkFDRixDQUdBLHlCQUNFLG9CQUNFLGFBQ0YsQ0FFQSxrQkFFRSxZQUFjLENBRGQsY0FFRixDQUVBLDBCQUVFLGtCQUFtQixDQURuQixjQUVGLENBQ0YsQ0FFQSwyQ0FDRSxrQkFDRiIsImZpbGUiOiJjYWxjdWxhdG9yLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIOmbu+WNk+WFpeWKm+ODleOCqeODvOODoOeUqOOCueOCv+OCpOODqyAqL1xuXG4vKiDog4zmma/jgajjg6zjgqTjgqLjgqbjg4ggKi9cbi5jYWxjdWxhdG9yLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOyAvKiDpu5Ljga7ljYrpgI/mmI4gKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5jYWxjdWxhdG9yLWJhY2tncm91bmQtcGF0dGVybiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYWxjdWxhdG9yLWJhY2tncm91bmQtcGF0dGVybiA+IGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIG9wYWNpdHk6IDAuMTtcbn1cblxuLmNhbGN1bGF0b3ItcGF0dGVybi1pdGVtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbTpudGgtY2hpbGQoMSkge1xuICB0b3A6IDIuNXJlbTtcbiAgbGVmdDogMi41cmVtO1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbTpudGgtY2hpbGQoMikge1xuICB0b3A6IDVyZW07XG4gIHJpZ2h0OiA1cmVtO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xufVxuLmNhbGN1bGF0b3ItcGF0dGVybi1pdGVtOm50aC1jaGlsZCgzKSB7XG4gIHRvcDogMTByZW07XG4gIGxlZnQ6IDVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLmNhbGN1bGF0b3ItcGF0dGVybi1pdGVtOm50aC1jaGlsZCg0KSB7XG4gIHRvcDogMTVyZW07XG4gIHJpZ2h0OiAxMHJlbTtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbn1cbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbTpudGgtY2hpbGQoNSkge1xuICB0b3A6IDIwcmVtO1xuICBsZWZ0OiAxMHJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG4uY2FsY3VsYXRvci1wYXR0ZXJuLWl0ZW06bnRoLWNoaWxkKDYpIHtcbiAgYm90dG9tOiAxMHJlbTtcbiAgcmlnaHQ6IDVyZW07XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG59XG5cbi8qIOODoeOCpOODs+OCq+ODvOODiSAqL1xuLmNhbGN1bGF0b3ItbW9kYWwge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjRyZW07XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi8qIOODmOODg+ODgOODvCAqL1xuLmNhbGN1bGF0b3ItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLmNhbGN1bGF0b3ItbG9nby1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNzVyZW07XG59XG5cbi5jYWxjdWxhdG9yLWxvZ28ge1xuICB3aWR0aDogMi41cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYwYTVmYTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNhbGN1bGF0b3ItbG9nby10ZXh0IHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY2FsY3VsYXRvci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMTExODI3O1xuICBtYXJnaW46IDA7XG59XG5cbi5jYWxjdWxhdG9yLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzZiNzI4MDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY2FsY3VsYXRvci1jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICM2YjcyODA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jYWxjdWxhdG9yLWNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2YjcyODA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyog5Y+C5Yqg6ICF44K744Kv44K344On44OzICovXG4uY2FsY3VsYXRvci1wYXJ0aWNpcGFudHMge1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbn1cblxuLmNhbGN1bGF0b3ItcGFydGljaXBhbnQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50LXJvdzpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2QxZDVkYjtcbn1cblxuLmNhbGN1bGF0b3ItcGFydGljaXBhbnQtcm93LnNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2I4MmY2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNmZmO1xufVxuXG4uY2FsY3VsYXRvci1wYXJ0aWNpcGFudC1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuXG4uY2FsY3VsYXRvci1wYXJ0aWNpcGFudC1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50LWFtb3VudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuXG4uY2FsY3VsYXRvci1hbW91bnQtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxMTE4Mjc7XG59XG5cbi5jYWxjdWxhdG9yLWN1cnJlbmN5IHtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi5jYWxjdWxhdG9yLWNsZWFyLWJ1dHRvbiB7XG4gIGNvbG9yOiAjOWNhM2FmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC4yNXJlbTtcbn1cblxuLmNhbGN1bGF0b3ItY2xlYXItYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNlZjQ0NDQ7XG59XG5cbi8qIOWPguWKoOiAheeuoeeQhuODnOOCv+ODsyAqL1xuLmNhbGN1bGF0b3ItcGFydGljaXBhbnQtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLmNhbGN1bGF0b3ItYWRkLWJ1dHRvbiB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I4MmY2O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi5jYWxjdWxhdG9yLWFkZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU2M2ViO1xufVxuXG4uY2FsY3VsYXRvci1yZW1vdmUtYnV0dG9uIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM2YjcyODA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLmNhbGN1bGF0b3ItcmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YjU1NjM7XG59XG5cbi8qIOmbu+WNk+OCreODvOODkeODg+ODiSAqL1xuLmNhbGN1bGF0b3Ita2V5cGFkLXNlY3Rpb24ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uY2FsY3VsYXRvci1kaXNwbGF5IHtcbn1cblxuLmNhbGN1bGF0b3ItZGlzcGxheS1pbnB1dCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBDb25zb2xhcyxcbiAgICBcIkxpYmVyYXRpb24gTW9ub1wiLCBNZW5sbywgbW9ub3NwYWNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY2O1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgLyog6KeS5Li444KS56K65a6f44Gr54Sh5Yq55YyWICovXG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiDjg5Hjg4fjgqPjg7PjgrDovrzjgb/jgacxMDAl44Gr5Y+O44KB44KLICovXG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyog44Ko44Op44O844Oh44OD44K744O844K4ICovXG4uY2FsY3VsYXRvci1lcnJvciB7XG4gIGNvbG9yOiAjZWY0NDQ0O1xuICBmb250LXNpemU6IDAuNzVyZW07IC8qIHRleHQteHMg55u45b2TICovXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgLyog5bem5Y+z44Gr5L2Z55m9ICovXG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi8qIOOCreODvOODkeODg+ODieODnOOCv+ODsyAqL1xuLmNhbGN1bGF0b3Ita2V5cGFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ubnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNjtcbiAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ubnVtYmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZWFmZTtcbn1cblxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5vcGVyYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjlmMGE7IC8qIGlPUyBjYWxjdWxhdG9yIG9yYW5nZSAqL1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5vcGVyYXRvcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmIzNDA7IC8qIGxpZ2h0ZXIgb24gaG92ZXIgKi9cbn1cblxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5jbGVhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZjQ0NDQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5jbGVhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI2MjY7XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uYmFja3NwYWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1YTVhNTsgLyogaU9TLWxpa2UgZnVuY3Rpb24ga2V5IGdyYXkgKi9cbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uYmFja3NwYWNlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1YjViNTtcbn1cblxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5kZWNpbWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTdlYjtcbiAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uZGVjaW1hbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWQ1ZGI7XG59XG5cbi8qIOeojui+vC/nqI7mipzjga7oppboqo3mgKflkJHkuIogKi9cbi8qIOeojui+vD3oloTjgYTmsLToibLns7vvvIjjgq/jg7zjg6vjgafokL3jgaHnnYDjgYTjgZ/oibLvvIkgKi9cblxuLyog6JaE44GE5rC06Imy5Z+66Kq/77yI56iO6L6877yJICovXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLmluY2x1ZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTVmM2ZjOyAvKiBjeWFuLTIwMCAqL1xuICBjb2xvcjogIzM3NDE1MTsgLyog5pWw5a2X44Oc44K/44Oz44Go5ZCM44GY5paH5a2X6ImyICovXG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uaW5jbHVkZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2N2U4Zjk7IC8qIGN5YW4tMzAwICovXG59XG5cbi8qIOeojuaKnD3oloTjgYTmoYPoibLns7vvvIjmuKnjgYvjgb/jga7jgYLjgovoibLvvIkgKi9cbi8qIOiWhOOBhOahg+iJsuWfuuiqv++8iOeojuaKnO+8iSAqL1xuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5leGNsdWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTdmMzsgLyogcGluay0yMDAgKi9cbiAgY29sb3I6ICMzNzQxNTE7IC8qIOaVsOWtl+ODnOOCv+ODs+OBqOWQjOOBmOaWh+Wtl+iJsiAqL1xufVxuXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLmV4Y2x1ZGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJjZmU4OyAvKiBwaW5rLTMwMCAqL1xufVxuXG4uY2FsY3VsYXRvci1hY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuXG4uY2FsY3VsYXRvci1lcXVhbHMtYnV0dG9uIHtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOWYwYTsgLyogZGlzdGluY3QgZnJvbSB0YXggYnV0dG9ucywgaU9TLWxpa2UgKi9cbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmNhbGN1bGF0b3ItZXF1YWxzLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmIzNDA7XG59XG5cbi5jYWxjdWxhdG9yLWRlY2lkZS1idXR0b24ge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTBiOTgxO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTsgLyog5qiq5bmFMTAwJe+8iDLliJfliIbvvIkgKi9cbn1cblxuLmNhbGN1bGF0b3ItZGVjaWRlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNTk2Njk7XG59XG5cbi8qIOWQiOioiOOBqOioiOeul+ODnOOCv+ODsyAqL1xuLmNhbGN1bGF0b3ItdG90YWwtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi5jYWxjdWxhdG9yLXRvdGFsLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmNhbGN1bGF0b3ItdG90YWwtbGFiZWwge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzM3NDE1MTtcbn1cblxuLmNhbGN1bGF0b3ItdG90YWwtYW1vdW50IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLmNhbGN1bGF0b3ItcGVyLXBlcnNvbiB7XG4gIGNvbG9yOiAjMjU2M2ViO1xufVxuXG4uY2FsY3VsYXRvci1jYWxjdWxhdGUtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMGI5ODE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5jYWxjdWxhdG9yLWNhbGN1bGF0ZS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU5NjY5O1xufVxuXG4vKiDjg6zjgrnjg53jg7Pjgrfjg5blr77lv5wgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuY2FsY3VsYXRvci1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gIH1cblxuICAuY2FsY3VsYXRvci1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC41cmVtO1xuICB9XG5cbiAgLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG5cbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ubnVtYmVyLnplcm8td2lkZSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG4iXX0= */";
|
|
34
|
+
var css_248z = ".calculator-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:9999}.calculator-background-pattern{inset:0;overflow:hidden;position:absolute}.calculator-background-pattern>div{inset:0;opacity:.1;position:absolute}.calculator-pattern-item{font-size:2rem;position:absolute}.calculator-pattern-item:first-child{font-size:2.5rem;left:2.5rem;top:2.5rem}.calculator-pattern-item:nth-child(2){font-size:1.875rem;right:5rem;top:5rem}.calculator-pattern-item:nth-child(3){font-size:1.5rem;left:5rem;top:10rem}.calculator-pattern-item:nth-child(4){font-size:1.875rem;right:10rem;top:15rem}.calculator-pattern-item:nth-child(5){font-size:1.5rem;left:10rem;top:20rem}.calculator-pattern-item:nth-child(6){bottom:10rem;font-size:1.875rem;right:5rem}.calculator-modal{background:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-height:90vh;max-width:24rem;overflow-y:auto;position:relative;width:100%;z-index:10}.calculator-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}.calculator-logo-container{align-items:center;display:flex;gap:.75rem}.calculator-logo{align-items:center;background-color:#60a5fa;border-radius:50%;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.calculator-logo-text{color:#fff;font-size:1.25rem;font-weight:700}.calculator-title{color:#111827;font-size:1.125rem;font-weight:700;margin:0}.calculator-subtitle{color:#6b7280;font-size:.75rem;margin:0}.calculator-close-button{background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:all .2s ease-in-out}.calculator-close-button:hover{background-color:#6b7280;color:#fff}.calculator-participants{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.calculator-participant-row{align-items:center;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.calculator-participant-row:hover{border-color:#d1d5db}.calculator-participant-row.selected{background-color:#eff6ff;border-color:#3b82f6}.calculator-participant-info{align-items:center;display:flex;gap:.75rem}.calculator-participant-name{color:#374151;font-size:1.125rem;font-weight:500}.calculator-participant-amount{align-items:center;display:flex;gap:.5rem}.calculator-amount-text{color:#111827;font-size:1.5rem;font-weight:700}.calculator-currency{color:#6b7280}.calculator-clear-button{background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;transition:color .2s}.calculator-clear-button:hover{color:#ef4444}.calculator-participant-controls{display:flex;gap:.5rem}.calculator-add-button{background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:1;font-size:.875rem;font-weight:700;padding:.5rem 1rem;transition:background-color .2s}.calculator-add-button:hover{background-color:#2563eb}.calculator-remove-button{background-color:#6b7280;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1rem;transition:background-color .2s}.calculator-remove-button:hover{background-color:#4b5563}.calculator-keypad-section{border-top:none;padding:1rem}.calculator-display-input{background-color:#f3f4f6;border:none;border-radius:0!important;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:1.5rem;outline:none;padding:.75rem 1.25rem;text-align:right;width:100%}.calculator-error{color:#ef4444;font-size:.75rem;margin-top:.25rem;padding-left:1.25rem;padding-right:1.25rem}.calculator-keypad{display:flex;flex-direction:column;gap:.5rem}.calculator-keypad-grid{display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.calculator-keypad-button{border:none;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:all .2s}.calculator-keypad-button.number{background-color:#f3f4f6;color:#374151}.calculator-keypad-button.number:hover{background-color:#dbeafe}.calculator-keypad-button.operator{background-color:#ff9f0a;color:#fff}.calculator-keypad-button.operator:hover{background-color:#ffb340}.calculator-keypad-button.clear{background-color:#ef4444;color:#fff}.calculator-keypad-button.clear:hover{background-color:#dc2626}.calculator-keypad-button.backspace{background-color:#a5a5a5;color:#fff}.calculator-keypad-button.backspace:hover{background-color:#b5b5b5}.calculator-keypad-button.decimal{background-color:#e5e7eb;color:#374151}.calculator-keypad-button.decimal:hover{background-color:#d1d5db}.calculator-keypad-button.include{background-color:#a5f3fc;color:#374151}.calculator-keypad-button.include:hover{background-color:#67e8f9}.calculator-keypad-button.exclude{background-color:#fce7f3;color:#374151}.calculator-keypad-button.exclude:hover{background-color:#fbcfe8}.calculator-action-buttons{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.calculator-equals-button{background-color:#ff9f0a;border:none;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:background-color .2s}.calculator-equals-button:hover{background-color:#ffb340}.calculator-decide-button{background-color:#10b981;border:none;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;grid-column:1/-1;padding:.75rem;transition:background-color .2s}.calculator-decide-button:hover{background-color:#059669}.calculator-total-section{border-top:1px solid #e5e7eb;padding:1.5rem}.calculator-total-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calculator-total-label{color:#374151;font-size:1.125rem;font-weight:500}.calculator-total-amount{color:#111827;font-size:1.5rem;font-weight:700}.calculator-per-person{color:#2563eb}.calculator-calculate-button{background-color:#10b981;border:none;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:1.125rem;font-weight:700;padding:1rem;transition:background-color .2s;width:100%}.calculator-calculate-button:hover{background-color:#059669}@media (max-width:640px){.calculator-overlay{padding:.5rem}.calculator-modal{margin:.5rem;max-width:100%}.calculator-keypad-button{font-size:1.125rem;padding:.75rem}}.calculator-keypad-button.number.zero-wide{grid-column:span 2}\n/*# sourceMappingURL=data:application/json;base64,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QUVGLENBRUEsZ0NBQ0Usd0JBQ0YsQ0FFQSwwQkFFRSx3QkFBeUIsQ0FJekIsV0FBWSxDQUNaLG1CQUFxQixDQUdyQiwwQ0FBK0MsQ0FQL0MsVUFBWSxDQUtaLGNBQWUsQ0FKZixjQUFlLENBQ2YsZUFBZ0IsQ0FNaEIsZ0JBQW1CLENBVm5CLGNBQWdCLENBUWhCLCtCQUdGLENBRUEsZ0NBQ0Usd0JBQ0YsQ0FHQSwwQkFFRSw0QkFBNkIsQ0FEN0IsY0FFRixDQUVBLHNCQUdFLGtCQUFtQixDQUZuQixZQUFhLENBQ2IsNkJBQThCLENBRTlCLGtCQUNGLENBRUEsd0JBR0UsYUFBYyxDQUZkLGtCQUFtQixDQUNuQixlQUVGLENBRUEseUJBR0UsYUFBYyxDQUZkLGdCQUFpQixDQUNqQixlQUVGLENBRUEsdUJBQ0UsYUFDRixDQUVBLDZCQUdFLHdCQUF5QixDQUl6QixXQUFZLENBQ1osbUJBQXFCLENBR3JCLDBDQUErQyxDQVAvQyxVQUFZLENBS1osY0FBZSxDQUpmLGtCQUFtQixDQUNuQixlQUFpQixDQUpqQixZQUFhLENBUWIsK0JBQWlDLENBVGpDLFVBV0YsQ0FFQSxtQ0FDRSx3QkFDRixDQUdBLHlCQUNFLG9CQUNFLGFBQ0YsQ0FFQSxrQkFFRSxZQUFjLENBRGQsY0FFRixDQUVBLDBCQUVFLGtCQUFtQixDQURuQixjQUVGLENBQ0YsQ0FFQSwyQ0FDRSxrQkFDRiIsImZpbGUiOiJjYWxjdWxhdG9yLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIOmbu+WNk+WFpeWKm+ODleOCqeODvOODoOeUqOOCueOCv+OCpOODqyAqL1xyXG5cclxuLyog6IOM5pmv44Go44Os44Kk44Ki44Km44OIICovXHJcbi5jYWxjdWxhdG9yLW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOyAvKiDpu5Ljga7ljYrpgI/mmI4gKi9cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgei1pbmRleDogOTk5OTtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1iYWNrZ3JvdW5kLXBhdHRlcm4ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBpbnNldDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1iYWNrZ3JvdW5kLXBhdHRlcm4gPiBkaXYge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBpbnNldDogMDtcclxuICBvcGFjaXR5OiAwLjE7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItcGF0dGVybi1pdGVtOm50aC1jaGlsZCgxKSB7XHJcbiAgdG9wOiAyLjVyZW07XHJcbiAgbGVmdDogMi41cmVtO1xyXG4gIGZvbnQtc2l6ZTogMi41cmVtO1xyXG59XHJcbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbTpudGgtY2hpbGQoMikge1xyXG4gIHRvcDogNXJlbTtcclxuICByaWdodDogNXJlbTtcclxuICBmb250LXNpemU6IDEuODc1cmVtO1xyXG59XHJcbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbTpudGgtY2hpbGQoMykge1xyXG4gIHRvcDogMTByZW07XHJcbiAgbGVmdDogNXJlbTtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxufVxyXG4uY2FsY3VsYXRvci1wYXR0ZXJuLWl0ZW06bnRoLWNoaWxkKDQpIHtcclxuICB0b3A6IDE1cmVtO1xyXG4gIHJpZ2h0OiAxMHJlbTtcclxuICBmb250LXNpemU6IDEuODc1cmVtO1xyXG59XHJcbi5jYWxjdWxhdG9yLXBhdHRlcm4taXRlbTpudGgtY2hpbGQoNSkge1xyXG4gIHRvcDogMjByZW07XHJcbiAgbGVmdDogMTByZW07XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbn1cclxuLmNhbGN1bGF0b3ItcGF0dGVybi1pdGVtOm50aC1jaGlsZCg2KSB7XHJcbiAgYm90dG9tOiAxMHJlbTtcclxuICByaWdodDogNXJlbTtcclxuICBmb250LXNpemU6IDEuODc1cmVtO1xyXG59XHJcblxyXG4vKiDjg6HjgqTjg7Pjgqvjg7zjg4kgKi9cclxuLmNhbGN1bGF0b3ItbW9kYWwge1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAyNHJlbTtcclxuICBib3gtc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gIG1heC1oZWlnaHQ6IDkwdmg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi8qIOODmOODg+ODgOODvCAqL1xyXG4uY2FsY3VsYXRvci1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMXJlbTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItbG9nby1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDAuNzVyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWxvZ28ge1xyXG4gIHdpZHRoOiAyLjVyZW07XHJcbiAgaGVpZ2h0OiAyLjVyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYwYTVmYTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1sb2dvLXRleHQge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXRpdGxlIHtcclxuICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgY29sb3I6ICMxMTE4Mjc7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1zdWJ0aXRsZSB7XHJcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gIGNvbG9yOiAjNmI3MjgwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItY2xvc2UtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgY29sb3I6ICM2YjcyODA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBhZGRpbmc6IDAuNXJlbTtcclxuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItY2xvc2UtYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmI3MjgwO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLyog5Y+C5Yqg6ICF44K744Kv44K344On44OzICovXHJcbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50cyB7XHJcbiAgcGFkZGluZzogMS41cmVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDFyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50LXJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjZTVlN2ViO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItcGFydGljaXBhbnQtcm93OmhvdmVyIHtcclxuICBib3JkZXItY29sb3I6ICNkMWQ1ZGI7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50LXJvdy5zZWxlY3RlZCB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjM2I4MmY2O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmY2ZmY7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50LWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDAuNzVyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXBhcnRpY2lwYW50LW5hbWUge1xyXG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjb2xvcjogIzM3NDE1MTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItcGFydGljaXBhbnQtYW1vdW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWFtb3VudC10ZXh0IHtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogIzExMTgyNztcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItY3VycmVuY3kge1xyXG4gIGNvbG9yOiAjNmI3MjgwO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1jbGVhci1idXR0b24ge1xyXG4gIGNvbG9yOiAjOWNhM2FmO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBhZGRpbmc6IDAuMjVyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWNsZWFyLWJ1dHRvbjpob3ZlciB7XHJcbiAgY29sb3I6ICNlZjQ0NDQ7XHJcbn1cclxuXHJcbi8qIOWPguWKoOiAheeuoeeQhuODnOOCv+ODsyAqL1xyXG4uY2FsY3VsYXRvci1wYXJ0aWNpcGFudC1jb250cm9scyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItYWRkLWJ1dHRvbiB7XHJcbiAgZmxleDogMTtcclxuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I4MmY2O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItYWRkLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1NjNlYjtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItcmVtb3ZlLWJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZiNzI4MDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXJlbW92ZS1idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0YjU1NjM7XHJcbn1cclxuXHJcbi8qIOmbu+WNk+OCreODvOODkeODg+ODiSAqL1xyXG4uY2FsY3VsYXRvci1rZXlwYWQtc2VjdGlvbiB7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1kaXNwbGF5IHtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItZGlzcGxheS1pbnB1dCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBDb25zb2xhcyxcclxuICAgIFwiTGliZXJhdGlvbiBNb25vXCIsIE1lbmxvLCBtb25vc3BhY2U7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNjtcclxuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyAvKiDop5LkuLjjgpLnorrlrp/jgavnhKHlirnljJYgKi9cclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiDjg5Hjg4fjgqPjg7PjgrDovrzjgb/jgacxMDAl44Gr5Y+O44KB44KLICovXHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi8qIOOCqOODqeODvOODoeODg+OCu+ODvOOCuCAqL1xyXG4uY2FsY3VsYXRvci1lcnJvciB7XHJcbiAgY29sb3I6ICNlZjQ0NDQ7XHJcbiAgZm9udC1zaXplOiAwLjc1cmVtOyAvKiB0ZXh0LXhzIOebuOW9kyAqL1xyXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyAvKiDlt6blj7PjgavkvZnnmb0gKi9cclxuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG59XHJcblxyXG4vKiDjgq3jg7zjg5Hjg4Pjg4njg5zjgr/jg7MgKi9cclxuLmNhbGN1bGF0b3Ita2V5cGFkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgZ2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ge1xyXG4gIHBhZGRpbmc6IDAuNzVyZW07XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLm51bWJlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNjtcclxuICBjb2xvcjogIzM3NDE1MTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5udW1iZXI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYmVhZmU7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ub3BlcmF0b3Ige1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjlmMGE7IC8qIGlPUyBjYWxjdWxhdG9yIG9yYW5nZSAqL1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLm9wZXJhdG9yOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiMzQwOyAvKiBsaWdodGVyIG9uIGhvdmVyICovXHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uY2xlYXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZjQ0NDQ7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLmNsZWFyOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjI2O1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLmJhY2tzcGFjZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1YTVhNTsgLyogaU9TLWxpa2UgZnVuY3Rpb24ga2V5IGdyYXkgKi9cclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5iYWNrc3BhY2U6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uZGVjaW1hbCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTdlYjtcclxuICBjb2xvcjogIzM3NDE1MTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3Ita2V5cGFkLWJ1dHRvbi5kZWNpbWFsOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFkNWRiO1xyXG59XHJcblxyXG4vKiDnqI7ovrwv56iO5oqc44Gu6KaW6KqN5oCn5ZCR5LiKICovXHJcbi8qIOeojui+vD3oloTjgYTmsLToibLns7vvvIjjgq/jg7zjg6vjgafokL3jgaHnnYDjgYTjgZ/oibLvvIkgKi9cclxuXHJcbi8qIOiWhOOBhOawtOiJsuWfuuiqv++8iOeojui+vO+8iSAqL1xyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLmluY2x1ZGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNhNWYzZmM7IC8qIGN5YW4tMjAwICovXHJcbiAgY29sb3I6ICMzNzQxNTE7IC8qIOaVsOWtl+ODnOOCv+ODs+OBqOWQjOOBmOaWh+Wtl+iJsiAqL1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLmluY2x1ZGU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2N2U4Zjk7IC8qIGN5YW4tMzAwICovXHJcbn1cclxuXHJcbi8qIOeojuaKnD3oloTjgYTmoYPoibLns7vvvIjmuKnjgYvjgb/jga7jgYLjgovoibLvvIkgKi9cclxuLyog6JaE44GE5qGD6Imy5Z+66Kq/77yI56iO5oqc77yJICovXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uZXhjbHVkZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTdmMzsgLyogcGluay0yMDAgKi9cclxuICBjb2xvcjogIzM3NDE1MTsgLyog5pWw5a2X44Oc44K/44Oz44Go5ZCM44GY5paH5a2X6ImyICovXHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24uZXhjbHVkZTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiY2ZlODsgLyogcGluay0zMDAgKi9cclxufVxyXG5cclxuLmNhbGN1bGF0b3ItYWN0aW9uLWJ1dHRvbnMge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gIGdhcDogMC43NXJlbTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItZXF1YWxzLWJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC43NXJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5ZjBhOyAvKiBkaXN0aW5jdCBmcm9tIHRheCBidXR0b25zLCBpT1MtbGlrZSAqL1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcclxuICBib3gtc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItZXF1YWxzLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjM0MDtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItZGVjaWRlLWJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC43NXJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTBiOTgxO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XHJcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTsgLyog5qiq5bmFMTAwJe+8iDLliJfliIbvvIkgKi9cclxufVxyXG5cclxuLmNhbGN1bGF0b3ItZGVjaWRlLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA1OTY2OTtcclxufVxyXG5cclxuLyog5ZCI6KiI44Go6KiI566X44Oc44K/44OzICovXHJcbi5jYWxjdWxhdG9yLXRvdGFsLXNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6IDEuNXJlbTtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcclxufVxyXG5cclxuLmNhbGN1bGF0b3ItdG90YWwtcm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXRvdGFsLWxhYmVsIHtcclxuICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY29sb3I6ICMzNzQxNTE7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXRvdGFsLWFtb3VudCB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICMxMTE4Mjc7XHJcbn1cclxuXHJcbi5jYWxjdWxhdG9yLXBlci1wZXJzb24ge1xyXG4gIGNvbG9yOiAjMjU2M2ViO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1jYWxjdWxhdGUtYnV0dG9uIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxMGI5ODE7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG4gIGJveC1zaGFkb3c6IDAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4uY2FsY3VsYXRvci1jYWxjdWxhdGUtYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU5NjY5O1xyXG59XHJcblxyXG4vKiDjg6zjgrnjg53jg7Pjgrfjg5blr77lv5wgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgLmNhbGN1bGF0b3Itb3ZlcmxheSB7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgfVxyXG5cclxuICAuY2FsY3VsYXRvci1tb2RhbCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAuNXJlbTtcclxuICB9XHJcblxyXG4gIC5jYWxjdWxhdG9yLWtleXBhZC1idXR0b24ge1xyXG4gICAgcGFkZGluZzogMC43NXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsY3VsYXRvci1rZXlwYWQtYnV0dG9uLm51bWJlci56ZXJvLXdpZGUge1xyXG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbn1cclxuIl19 */";
|
|
35
35
|
styleInject(css_248z);
|
|
36
36
|
|
|
37
|
-
const Button = ({ children, className = '', ...props }) => (jsxRuntime.jsx("button", { className: `py-2 px-4 rounded-md font-bold focus:outline-none focus:ring-2 transition-colors ${className}`, ...props, children: children }));
|
|
37
|
+
const Button = ({ children, className = '', type = 'button', ...props }) => (jsxRuntime.jsx("button", { className: `py-2 px-4 rounded-md font-bold focus:outline-none focus:ring-2 transition-colors ${className}`, type: type, ...props, children: children }));
|
|
38
38
|
|
|
39
39
|
/*!
|
|
40
40
|
* Font Awesome Free 7.0.1 by @fontawesome - https://fontawesome.com
|
|
@@ -6381,7 +6381,7 @@ function NumericFormat(props) {
|
|
|
6381
6381
|
}
|
|
6382
6382
|
|
|
6383
6383
|
const CalculatorDisplay = ({ value, error, inputRef, editable, placeholder, onChange, numberFormatOptions = {} }) => {
|
|
6384
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [editable ? (jsxRuntime.jsx(NumericFormat, { className: "calculator-display-input", value: value, onValueChange: (vals) => onChange?.(vals.value), placeholder: placeholder ?? '数値を入力', inputMode: "decimal"
|
|
6384
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [editable ? (jsxRuntime.jsx(NumericFormat, { ...numberFormatOptions, className: "calculator-display-input", value: value, onValueChange: (vals) => onChange?.(vals.value), placeholder: placeholder ?? '数値を入力', inputMode: "decimal" })) : (jsxRuntime.jsx("div", { className: "calculator-display-input", children: jsxRuntime.jsx("div", { ref: inputRef, style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: value ? (jsxRuntime.jsx(NumericFormat, { ...numberFormatOptions, value: value, displayType: "text" })) : (jsxRuntime.jsx("span", { className: "text-gray-400", children: placeholder ?? '0' })) }) })), error && jsxRuntime.jsx("div", { className: "calculator-error", children: error })] }));
|
|
6385
6385
|
};
|
|
6386
6386
|
|
|
6387
6387
|
const CalculatorKeypad = ({ onButtonClick, onEqual, onDecide, onTaxInclude, onTaxExclude, enableTaxCalculation = true, decimalPlaces = 6 }) => {
|
|
@@ -6448,11 +6448,11 @@ function calculateExpression(expr) {
|
|
|
6448
6448
|
return '0';
|
|
6449
6449
|
}
|
|
6450
6450
|
}
|
|
6451
|
-
const Calculator = ({ isOpen, onClose, onCalculate, initialValue = '', title, description, enableTaxCalculation = false, decimalPlaces = 6, numberFormatOptions = {},
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
const [input, setInput] = React.useState(initialValue || '');
|
|
6451
|
+
const Calculator = ({ isOpen, onClose, onCalculate, initialValue = '', title, description, enableTaxCalculation = false, decimalPlaces = 6, numberFormatOptions = {}, placeholder, }) => {
|
|
6452
|
+
const [expression, setExpression] = React.useState(initialValue || '');
|
|
6453
|
+
const [displayValue, setDisplayValue] = React.useState(initialValue || '');
|
|
6455
6454
|
const [error, setError] = React.useState('');
|
|
6455
|
+
const [isWaitingForOperand, setIsWaitingForOperand] = React.useState(false);
|
|
6456
6456
|
const [mounted, setMounted] = React.useState(false);
|
|
6457
6457
|
const inputRef = React.useRef(null);
|
|
6458
6458
|
// DOM要素の存在確認
|
|
@@ -6462,7 +6462,9 @@ const Calculator = ({ isOpen, onClose, onCalculate, initialValue = '', title, de
|
|
|
6462
6462
|
}, []);
|
|
6463
6463
|
React.useEffect(() => {
|
|
6464
6464
|
if (isOpen) {
|
|
6465
|
-
|
|
6465
|
+
setExpression(initialValue || '');
|
|
6466
|
+
setDisplayValue(initialValue || '');
|
|
6467
|
+
setIsWaitingForOperand(false);
|
|
6466
6468
|
setError('');
|
|
6467
6469
|
}
|
|
6468
6470
|
}, [isOpen, initialValue]);
|
|
@@ -6506,84 +6508,136 @@ const Calculator = ({ isOpen, onClose, onCalculate, initialValue = '', title, de
|
|
|
6506
6508
|
};
|
|
6507
6509
|
window.addEventListener('keydown', handleKeyDown);
|
|
6508
6510
|
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
6509
|
-
}, [isOpen,
|
|
6511
|
+
}, [isOpen, expression, displayValue]);
|
|
6512
|
+
const handleDisplayChange = (newValue) => {
|
|
6513
|
+
setError('');
|
|
6514
|
+
setDisplayValue(newValue);
|
|
6515
|
+
if (isWaitingForOperand) {
|
|
6516
|
+
// 演算子入力後の直接入力の場合、式を更新しない
|
|
6517
|
+
// If an operator was just entered, and user types directly,
|
|
6518
|
+
// the new value is the start of the next operand.
|
|
6519
|
+
// Append it to the expression.
|
|
6520
|
+
setExpression(expression + newValue);
|
|
6521
|
+
setIsWaitingForOperand(false); // No longer waiting for operand
|
|
6522
|
+
}
|
|
6523
|
+
else {
|
|
6524
|
+
// 既存の式の最後の数値を置き換える
|
|
6525
|
+
const newExpression = expression.replace(/[\d.]+$/, newValue);
|
|
6526
|
+
setExpression(newExpression);
|
|
6527
|
+
}
|
|
6528
|
+
};
|
|
6510
6529
|
const handleButtonClick = (val) => {
|
|
6511
6530
|
setError('');
|
|
6512
6531
|
if (val === 'C') {
|
|
6513
|
-
|
|
6532
|
+
setExpression('');
|
|
6533
|
+
setDisplayValue('');
|
|
6534
|
+
setIsWaitingForOperand(false);
|
|
6514
6535
|
}
|
|
6515
6536
|
else if (val === '←') {
|
|
6516
|
-
|
|
6537
|
+
if (displayValue.length > 0) {
|
|
6538
|
+
const newDisplayValue = displayValue.slice(0, -1);
|
|
6539
|
+
setDisplayValue(newDisplayValue);
|
|
6540
|
+
setExpression((prev) => prev.slice(0, -1));
|
|
6541
|
+
}
|
|
6517
6542
|
}
|
|
6518
6543
|
else if (val === '.') {
|
|
6519
|
-
|
|
6520
|
-
|
|
6521
|
-
|
|
6522
|
-
|
|
6523
|
-
|
|
6524
|
-
|
|
6525
|
-
|
|
6526
|
-
|
|
6544
|
+
if (!displayValue.includes('.')) {
|
|
6545
|
+
const newDisplayValue = displayValue ? displayValue + '.' : '0.';
|
|
6546
|
+
setDisplayValue(newDisplayValue);
|
|
6547
|
+
if (isWaitingForOperand) {
|
|
6548
|
+
setExpression(expression + newDisplayValue);
|
|
6549
|
+
setIsWaitingForOperand(false);
|
|
6550
|
+
}
|
|
6551
|
+
else {
|
|
6552
|
+
setExpression(expression + (displayValue ? '.' : '0.'));
|
|
6553
|
+
// Append decimal to the last number in the expression
|
|
6554
|
+
const lastNumberRegex = /([\d.]+)$/;
|
|
6555
|
+
setExpression(expression.replace(lastNumberRegex, (match) => match + '.'));
|
|
6556
|
+
}
|
|
6557
|
+
}
|
|
6527
6558
|
}
|
|
6528
6559
|
else if (['+', '-', '×', '÷'].includes(val)) {
|
|
6529
|
-
if (
|
|
6530
|
-
|
|
6531
|
-
|
|
6560
|
+
if (expression) {
|
|
6561
|
+
if (/[+\-×÷]$/.test(expression)) {
|
|
6562
|
+
setExpression(expression.slice(0, -1) + val);
|
|
6563
|
+
}
|
|
6564
|
+
else {
|
|
6565
|
+
const result = calculateExpression(expression);
|
|
6566
|
+
setExpression(result + val);
|
|
6567
|
+
setDisplayValue(result);
|
|
6568
|
+
}
|
|
6569
|
+
setIsWaitingForOperand(true);
|
|
6570
|
+
}
|
|
6532
6571
|
}
|
|
6533
6572
|
else {
|
|
6534
|
-
|
|
6573
|
+
if (isWaitingForOperand) {
|
|
6574
|
+
setDisplayValue(val);
|
|
6575
|
+
setExpression(expression + val);
|
|
6576
|
+
setIsWaitingForOperand(false);
|
|
6577
|
+
}
|
|
6578
|
+
else {
|
|
6579
|
+
const newDisplayValue = displayValue === '0' ? val : displayValue + val;
|
|
6580
|
+
setDisplayValue(newDisplayValue);
|
|
6581
|
+
setExpression(expression === '0' ? val : expression + val);
|
|
6582
|
+
}
|
|
6535
6583
|
}
|
|
6536
6584
|
};
|
|
6537
6585
|
const handleEqual = () => {
|
|
6538
|
-
if (!
|
|
6586
|
+
if (!expression)
|
|
6539
6587
|
return;
|
|
6540
|
-
const result = calculateExpression(
|
|
6541
|
-
|
|
6588
|
+
const result = calculateExpression(expression);
|
|
6589
|
+
setExpression(result);
|
|
6590
|
+
setDisplayValue(result);
|
|
6591
|
+
setIsWaitingForOperand(false);
|
|
6542
6592
|
};
|
|
6543
6593
|
const handleDecide = () => {
|
|
6544
|
-
if (!
|
|
6594
|
+
if (!expression) {
|
|
6545
6595
|
setError('金額を入力してください');
|
|
6546
6596
|
return;
|
|
6547
6597
|
}
|
|
6548
|
-
const result = calculateExpression(
|
|
6598
|
+
const result = calculateExpression(expression);
|
|
6549
6599
|
onCalculate(result);
|
|
6550
6600
|
onClose();
|
|
6551
6601
|
};
|
|
6552
6602
|
const handleTaxInclude = (rate) => {
|
|
6553
6603
|
if (!enableTaxCalculation)
|
|
6554
6604
|
return;
|
|
6555
|
-
if (!
|
|
6605
|
+
if (!expression) {
|
|
6556
6606
|
setError('金額を入力してください');
|
|
6557
6607
|
return;
|
|
6558
6608
|
}
|
|
6559
|
-
const currentValue = parseFloat(calculateExpression(
|
|
6609
|
+
const currentValue = parseFloat(calculateExpression(expression));
|
|
6560
6610
|
if (isNaN(currentValue)) {
|
|
6561
6611
|
setError('有効な金額を入力してください');
|
|
6562
6612
|
return;
|
|
6563
6613
|
}
|
|
6564
6614
|
const taxIncluded = currentValue * (1 + rate);
|
|
6565
|
-
|
|
6615
|
+
const result = normalizeNumberString(taxIncluded, decimalPlaces);
|
|
6616
|
+
setExpression(result);
|
|
6617
|
+
setDisplayValue(result);
|
|
6566
6618
|
setError('');
|
|
6567
6619
|
};
|
|
6568
6620
|
const handleTaxExclude = (rate) => {
|
|
6569
6621
|
if (!enableTaxCalculation)
|
|
6570
6622
|
return;
|
|
6571
|
-
if (!
|
|
6623
|
+
if (!expression) {
|
|
6572
6624
|
setError('金額を入力してください');
|
|
6573
6625
|
return;
|
|
6574
6626
|
}
|
|
6575
|
-
const currentValue = parseFloat(calculateExpression(
|
|
6627
|
+
const currentValue = parseFloat(calculateExpression(expression));
|
|
6576
6628
|
if (isNaN(currentValue)) {
|
|
6577
6629
|
setError('有効な金額を入力してください');
|
|
6578
6630
|
return;
|
|
6579
6631
|
}
|
|
6580
6632
|
const taxExcluded = currentValue / (1 + rate);
|
|
6581
|
-
|
|
6633
|
+
const result = normalizeNumberString(taxExcluded, decimalPlaces);
|
|
6634
|
+
setExpression(result);
|
|
6635
|
+
setDisplayValue(result);
|
|
6582
6636
|
setError('');
|
|
6583
6637
|
};
|
|
6584
6638
|
if (!isOpen || !mounted)
|
|
6585
6639
|
return null;
|
|
6586
|
-
const modal = (jsxRuntime.jsx("div", { className: "calculator-overlay", children: jsxRuntime.jsxs("div", { className: "calculator-modal", children: [title || description ? (jsxRuntime.jsxs("div", { className: "calculator-header", children: [jsxRuntime.jsxs("div", { children: [title && jsxRuntime.jsx("h2", { className: "calculator-title", children: title }), description && jsxRuntime.jsx("p", { className: "calculator-subtitle", children: description })] }), jsxRuntime.jsx("button", { onClick: onClose, className: "calculator-close-button", "aria-label": "\u9589\u3058\u308B", children: jsxRuntime.jsx(Icon, { icon: faTimes, className: "w-5 h-5" }) })] })) : (jsxRuntime.jsxs("div", { className: "calculator-header", children: [jsxRuntime.jsx("div", {}), jsxRuntime.jsx("button", { onClick: onClose, className: "calculator-close-button", "aria-label": "\u9589\u3058\u308B", children: jsxRuntime.jsx(Icon, { icon: faTimes, className: "w-5 h-5" }) })] })), jsxRuntime.jsx("div", { className: "calculator-display", children: jsxRuntime.jsx(CalculatorDisplay, { value:
|
|
6640
|
+
const modal = (jsxRuntime.jsx("div", { className: "calculator-overlay", children: jsxRuntime.jsxs("div", { className: "calculator-modal", children: [title || description ? (jsxRuntime.jsxs("div", { className: "calculator-header", children: [jsxRuntime.jsxs("div", { children: [title && jsxRuntime.jsx("h2", { className: "calculator-title", children: title }), description && jsxRuntime.jsx("p", { className: "calculator-subtitle", children: description })] }), jsxRuntime.jsx("button", { onClick: onClose, className: "calculator-close-button", "aria-label": "\u9589\u3058\u308B", children: jsxRuntime.jsx(Icon, { icon: faTimes, className: "w-5 h-5" }) })] })) : (jsxRuntime.jsxs("div", { className: "calculator-header", children: [jsxRuntime.jsx("div", {}), jsxRuntime.jsx("button", { onClick: onClose, className: "calculator-close-button", "aria-label": "\u9589\u3058\u308B", children: jsxRuntime.jsx(Icon, { icon: faTimes, className: "w-5 h-5" }) })] })), jsxRuntime.jsx("div", { className: "calculator-display", children: jsxRuntime.jsx(CalculatorDisplay, { value: displayValue, error: error, inputRef: inputRef, editable: true, onChange: handleDisplayChange, numberFormatOptions: numberFormatOptions, placeholder: placeholder }) }), jsxRuntime.jsx(CalculatorKeypad, { onButtonClick: handleButtonClick, onEqual: handleEqual, onDecide: handleDecide, onTaxInclude: handleTaxInclude, onTaxExclude: handleTaxExclude, enableTaxCalculation: enableTaxCalculation, decimalPlaces: decimalPlaces })] }) }));
|
|
6587
6641
|
// DOM要素の存在確認を行ってからポータルを作成
|
|
6588
6642
|
if (typeof document !== 'undefined' && document.body) {
|
|
6589
6643
|
return reactDom.createPortal(modal, document.body);
|
|
@@ -6607,7 +6661,7 @@ const CalculatorInputForm = ({ value, onChange, placeholder = 'クリックし
|
|
|
6607
6661
|
if (!mounted) {
|
|
6608
6662
|
return null;
|
|
6609
6663
|
}
|
|
6610
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(NumericFormat, { value: value, onValueChange: (vals) => onChange(vals.value), placeholder: placeholder, className: className, readOnly: true, onClick: () => setIsOpen(true)
|
|
6664
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(NumericFormat, { ...numberFormatOptions, value: value, onValueChange: (vals) => onChange(vals.value), placeholder: placeholder, className: className, readOnly: true, onClick: () => setIsOpen(true) }), jsxRuntime.jsx(Calculator, { isOpen: isOpen, onClose: () => setIsOpen(false), onCalculate: handleCalculate, initialValue: value, title: title, description: description, enableTaxCalculation: enableTaxCalculation, decimalPlaces: decimalPlaces, numberFormatOptions: numberFormatOptions, placeholder: displayPlaceholder })] }));
|
|
6611
6665
|
};
|
|
6612
6666
|
|
|
6613
6667
|
exports.Button = Button;
|