contable 0.0.1

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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/client/client.js +259 -0
  4. package/dist/client/img/bannersuperior.png +0 -0
  5. package/dist/client/menu.js +3 -0
  6. package/dist/client/redux-formulario.js +379 -0
  7. package/dist/client/render-components.js +750 -0
  8. package/dist/client/render-components.tsx +1117 -0
  9. package/dist/client/render-formulario.js +56 -0
  10. package/dist/client/render-formulario.tsx +72 -0
  11. package/dist/client/render-general.js +197 -0
  12. package/dist/client/render-general.tsx +212 -0
  13. package/dist/client/render-handlers.js +69 -0
  14. package/dist/client/tipos.js +13 -0
  15. package/dist/client/tsconfig.json +12 -0
  16. package/dist/server/app-contable.js +174 -0
  17. package/dist/server/def-config.js +100 -0
  18. package/dist/server/procedures-contable.js +508 -0
  19. package/dist/server/server-contable.js +17 -0
  20. package/dist/server/table-categorias_producto.js +29 -0
  21. package/dist/server/table-clientes.js +56 -0
  22. package/dist/server/table-condicion_iva.js +29 -0
  23. package/dist/server/table-estados_pedido.js +33 -0
  24. package/dist/server/table-estados_presupuesto.js +34 -0
  25. package/dist/server/table-insumos.js +44 -0
  26. package/dist/server/table-items_pedido.js +48 -0
  27. package/dist/server/table-items_presupuesto.js +48 -0
  28. package/dist/server/table-iva_productos.js +29 -0
  29. package/dist/server/table-parametros.js +38 -0
  30. package/dist/server/table-pedidos.js +48 -0
  31. package/dist/server/table-pedidos_pendientes.js +28 -0
  32. package/dist/server/table-pedidos_vencidos.js +28 -0
  33. package/dist/server/table-presupuestos.js +56 -0
  34. package/dist/server/table-productos.js +70 -0
  35. package/dist/server/table-productos_clientes.js +22 -0
  36. package/dist/server/table-productos_generales.js +22 -0
  37. package/dist/server/table-productos_insumos.js +47 -0
  38. package/dist/server/table-usuarios.js +44 -0
  39. package/dist/server/tsconfig.json +10 -0
  40. package/dist/server/types-contable.js +28 -0
  41. package/dist/unlogged/adapt.js +8 -0
  42. package/dist/unlogged/css/styles.styl +88 -0
  43. package/dist/unlogged/img/login-logo-icon.png.png +0 -0
  44. package/dist/unlogged/img/logo.png +0 -0
  45. package/dist/unlogged/tsconfig.json +15 -0
  46. package/dist/unlogged/unlogged.js +205 -0
  47. package/install/categorias_producto.tab +2 -0
  48. package/install/condicion_iva.tab +3 -0
  49. package/install/estados_pedido.tab +5 -0
  50. package/install/estados_presupuesto.tab +5 -0
  51. package/install/iva_productos.tab +3 -0
  52. package/install/productos.tab +2 -0
  53. package/install/usuarios.tab +2 -0
  54. package/package.json +58 -0
  55. package/unlogged/img/main-loading.gif +0 -0
  56. package/unlogged/main-loading.gif +0 -0
  57. package/unlogged/my-skin.js +0 -0
@@ -0,0 +1,56 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "like-ar"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ var likeAr = require("like-ar");
13
+ //CONTROL DE PESTAÑAS
14
+ var allOpenedTabs = {};
15
+ var infoOpenedTabs = {
16
+ allOpenedTabs: allOpenedTabs,
17
+ myId: 'calculando...',
18
+ otherTabsNames: ''
19
+ };
20
+ function loadInstance() {
21
+ var bc = new BroadcastChannel('contador');
22
+ var myId = String.fromCodePoint(100 + Math.floor(Math.random() * 1000)) + Math.floor(Math.random() * 100); //+'-'+new Date().getTime();
23
+ allOpenedTabs[myId] = 1;
24
+ infoOpenedTabs.myId = myId;
25
+ var event = new Event('my-tabs');
26
+ bc.onmessage = function (ev) {
27
+ if (ev.data.que == 'soy') {
28
+ if (!allOpenedTabs[ev.data.id]) {
29
+ allOpenedTabs[ev.data.id] = 0;
30
+ }
31
+ allOpenedTabs[ev.data.id]++;
32
+ }
33
+ if (ev.data.que == 'unload') {
34
+ delete allOpenedTabs[ev.data.id];
35
+ }
36
+ if (ev.data.que == 'load') {
37
+ allOpenedTabs[ev.data.id] = 1;
38
+ bc.postMessage({ que: 'soy', id: myId });
39
+ }
40
+ infoOpenedTabs.otherTabsNames = likeAr(allOpenedTabs).filter(function (_, id) { return id != myId; }).join(',');
41
+ window.dispatchEvent(event);
42
+ };
43
+ bc.postMessage({ que: 'load', id: myId });
44
+ window.dispatchEvent(event);
45
+ window.addEventListener('unload', function () {
46
+ bc.postMessage({ que: 'unload', id: myId });
47
+ window.dispatchEvent(event);
48
+ });
49
+ //mostrarQuienesSomos();
50
+ }
51
+ window.addEventListener('load', function () {
52
+ loadInstance();
53
+ });
54
+ });
55
+ //FIN CONTROL PESTAÑAS
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWZvcm11bGFyaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3JlbmRlci1mb3JtdWxhcmlvLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWFBLGdDQUFrQztJQWVsQyxxQkFBcUI7SUFDckIsSUFBSSxhQUFhLEdBQXFCLEVBQUUsQ0FBQztJQUN6QyxJQUFJLGNBQWMsR0FBQztRQUNmLGFBQWEsZUFBQTtRQUNiLElBQUksRUFBQyxlQUFlO1FBQ3BCLGNBQWMsRUFBQyxFQUFFO0tBQ3BCLENBQUE7SUFFRCxTQUFTLFlBQVk7UUFDakIsSUFBSSxFQUFFLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksR0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUEsNEJBQTRCO1FBQzNILGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUM7UUFDdEIsY0FBYyxDQUFDLElBQUksR0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLFNBQVMsR0FBQyxVQUFTLEVBQUU7WUFDcEIsSUFBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBRSxLQUFLLEVBQUMsQ0FBQztnQkFDbkIsSUFBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7b0JBQzNCLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQztnQkFDaEMsQ0FBQztnQkFDRCxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFFLFFBQVEsRUFBQyxDQUFDO2dCQUN0QixPQUFPLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxJQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFFLE1BQU0sRUFBQyxDQUFDO2dCQUNwQixhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUM7Z0JBQzVCLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBQyxHQUFHLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFDRCxjQUFjLENBQUMsY0FBYyxHQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsRUFBRSxJQUFHLE9BQUEsRUFBRSxJQUFFLElBQUksRUFBUixDQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkYsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUM7UUFDRixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUM7WUFDN0IsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFDLEdBQUcsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDdkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQTtRQUNGLHdCQUF3QjtJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtRQUM1QixZQUFZLEVBQUUsQ0FBQTtJQUNsQixDQUFDLENBQUMsQ0FBQTs7QUFDRixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xyXG5pbXBvcnQgeyAgXHJcbiAgICBGb2N1c09wdHMsIFJlbmRlclByaW5jaXBhbCwgXHJcbiAgICBjbHN4LFxyXG4gICAgSUNPTixcclxuICAgIGZvY3VzVG9JZCxcclxuICAgIHNjcm9sbFRvVG9wLFxyXG4gICAgc2Nyb2xsVG9Cb3R0b21cclxufSBmcm9tIFwiLi9yZW5kZXItZ2VuZXJhbFwiO1xyXG5cclxuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyB1c2VTZWxlY3RvciwgdXNlRGlzcGF0Y2ggfSBmcm9tIFwicmVhY3QtcmVkdXhcIjsgXHJcbmltcG9ydCAqIGFzIGxpa2VBciBmcm9tIFwibGlrZS1hclwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEFwcEJhciwgQmFkZ2UsIEJ1dHRvbiwgQnV0dG9uR3JvdXAsIENhcmQsIENoaXAsIENpcmN1bGFyUHJvZ3Jlc3MsIENzc0Jhc2VsaW5lLCBcclxuICAgIERpYWxvZywgRGlhbG9nQWN0aW9ucywgRGlhbG9nQ29udGVudCwgRGlhbG9nQ29udGVudFRleHQsIFxyXG4gICAgRGlhbG9nVGl0bGUsIERpdmlkZXIsIEZhYiwgR3JpZCwgSWNvbkJ1dHRvbiwgSW5wdXRCYXNlLCBcclxuICAgIExpbmssIExpc3QsIExpc3RJdGVtLCBMaXN0SXRlbUljb24sIExpc3RJdGVtVGV4dCwgRHJhd2VyLCBcclxuICAgIE1lbnUsIE1lbnVJdGVtLCBQYXBlciwgUG9wb3ZlcixcclxuICAgIFN0ZXAsIFN0ZXBwZXIsIFN0ZXBDb250ZW50LCBTdGVwTGFiZWwsIFxyXG4gICAgU3ZnSWNvbiwgU3dpdGNoLCBcclxuICAgIFRhYmxlLCBUYWJsZUJvZHksIFRhYmxlQ2VsbCwgVGFibGVIZWFkLCBUYWJsZVJvdywgVGV4dEZpZWxkLCBUaGVtZSwgVG9vbGJhciwgVHlwb2dyYXBoeSwgWm9vbSxcclxuICAgIHVzZVNjcm9sbFRyaWdnZXIsXHJcbiAgICBjcmVhdGVTdHlsZXMsIG1ha2VTdHlsZXNcclxufSBmcm9tIFwiQG1hdGVyaWFsLXVpL2NvcmVcIjtcclxuXHJcbi8vQ09OVFJPTCBERSBQRVNUQcORQVNcclxudmFyIGFsbE9wZW5lZFRhYnM6e1t4OnN0cmluZ106bnVtYmVyfT17fTtcclxudmFyIGluZm9PcGVuZWRUYWJzPXtcclxuICAgIGFsbE9wZW5lZFRhYnMsXHJcbiAgICBteUlkOidjYWxjdWxhbmRvLi4uJyxcclxuICAgIG90aGVyVGFic05hbWVzOicnXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGxvYWRJbnN0YW5jZSgpe1xyXG4gICAgdmFyIGJjID0gbmV3IEJyb2FkY2FzdENoYW5uZWwoJ2NvbnRhZG9yJyk7XHJcbiAgICB2YXIgbXlJZD1TdHJpbmcuZnJvbUNvZGVQb2ludCgxMDArTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMDApKStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAwKS8vKyctJytuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIGFsbE9wZW5lZFRhYnNbbXlJZF09MTtcclxuICAgIGluZm9PcGVuZWRUYWJzLm15SWQ9bXlJZDtcclxuICAgIHZhciBldmVudCA9IG5ldyBFdmVudCgnbXktdGFicycpO1xyXG4gICAgYmMub25tZXNzYWdlPWZ1bmN0aW9uKGV2KXtcclxuICAgICAgICBpZihldi5kYXRhLnF1ZT09J3NveScpe1xyXG4gICAgICAgICAgICBpZighYWxsT3BlbmVkVGFic1tldi5kYXRhLmlkXSl7XHJcbiAgICAgICAgICAgICAgICBhbGxPcGVuZWRUYWJzW2V2LmRhdGEuaWRdPTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYWxsT3BlbmVkVGFic1tldi5kYXRhLmlkXSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihldi5kYXRhLnF1ZT09J3VubG9hZCcpe1xyXG4gICAgICAgICAgICBkZWxldGUgYWxsT3BlbmVkVGFic1tldi5kYXRhLmlkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXYuZGF0YS5xdWU9PSdsb2FkJyl7XHJcbiAgICAgICAgICAgIGFsbE9wZW5lZFRhYnNbZXYuZGF0YS5pZF09MTtcclxuICAgICAgICAgICAgYmMucG9zdE1lc3NhZ2Uoe3F1ZTonc295JyxpZDpteUlkfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGluZm9PcGVuZWRUYWJzLm90aGVyVGFic05hbWVzPWxpa2VBcihhbGxPcGVuZWRUYWJzKS5maWx0ZXIoKF8saWQpPT5pZCE9bXlJZCkuam9pbignLCcpO1xyXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuICAgIH07XHJcbiAgICBiYy5wb3N0TWVzc2FnZSh7cXVlOidsb2FkJyxpZDpteUlkfSk7XHJcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5sb2FkJyxmdW5jdGlvbigpe1xyXG4gICAgICAgIGJjLnBvc3RNZXNzYWdlKHtxdWU6J3VubG9hZCcsaWQ6bXlJZH0pO1xyXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuICAgIH0pXHJcbiAgICAvL21vc3RyYXJRdWllbmVzU29tb3MoKTtcclxufVxyXG5cclxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpe1xyXG4gICAgbG9hZEluc3RhbmNlKClcclxufSlcclxuLy9GSU4gQ09OVFJPTCBQRVNUQcORQVMiXX0=
@@ -0,0 +1,72 @@
1
+ import * as React from "react";
2
+ import * as ReactDOM from "react-dom";
3
+ import {
4
+ FocusOpts, RenderPrincipal,
5
+ clsx,
6
+ ICON,
7
+ focusToId,
8
+ scrollToTop,
9
+ scrollToBottom
10
+ } from "./render-general";
11
+
12
+ import { useState, useEffect } from "react";
13
+ import { useSelector, useDispatch } from "react-redux";
14
+ import * as likeAr from "like-ar";
15
+
16
+ import {
17
+ AppBar, Badge, Button, ButtonGroup, Card, Chip, CircularProgress, CssBaseline,
18
+ Dialog, DialogActions, DialogContent, DialogContentText,
19
+ DialogTitle, Divider, Fab, Grid, IconButton, InputBase,
20
+ Link, List, ListItem, ListItemIcon, ListItemText, Drawer,
21
+ Menu, MenuItem, Paper, Popover,
22
+ Step, Stepper, StepContent, StepLabel,
23
+ SvgIcon, Switch,
24
+ Table, TableBody, TableCell, TableHead, TableRow, TextField, Theme, Toolbar, Typography, Zoom,
25
+ useScrollTrigger,
26
+ createStyles, makeStyles
27
+ } from "@material-ui/core";
28
+
29
+ //CONTROL DE PESTAÑAS
30
+ var allOpenedTabs:{[x:string]:number}={};
31
+ var infoOpenedTabs={
32
+ allOpenedTabs,
33
+ myId:'calculando...',
34
+ otherTabsNames:''
35
+ }
36
+
37
+ function loadInstance(){
38
+ var bc = new BroadcastChannel('contador');
39
+ var myId=String.fromCodePoint(100+Math.floor(Math.random()*1000))+Math.floor(Math.random()*100)//+'-'+new Date().getTime();
40
+ allOpenedTabs[myId]=1;
41
+ infoOpenedTabs.myId=myId;
42
+ var event = new Event('my-tabs');
43
+ bc.onmessage=function(ev){
44
+ if(ev.data.que=='soy'){
45
+ if(!allOpenedTabs[ev.data.id]){
46
+ allOpenedTabs[ev.data.id]=0;
47
+ }
48
+ allOpenedTabs[ev.data.id]++;
49
+ }
50
+ if(ev.data.que=='unload'){
51
+ delete allOpenedTabs[ev.data.id];
52
+ }
53
+ if(ev.data.que=='load'){
54
+ allOpenedTabs[ev.data.id]=1;
55
+ bc.postMessage({que:'soy',id:myId});
56
+ }
57
+ infoOpenedTabs.otherTabsNames=likeAr(allOpenedTabs).filter((_,id)=>id!=myId).join(',');
58
+ window.dispatchEvent(event);
59
+ };
60
+ bc.postMessage({que:'load',id:myId});
61
+ window.dispatchEvent(event);
62
+ window.addEventListener('unload',function(){
63
+ bc.postMessage({que:'unload',id:myId});
64
+ window.dispatchEvent(event);
65
+ })
66
+ //mostrarQuienesSomos();
67
+ }
68
+
69
+ window.addEventListener('load', function(){
70
+ loadInstance()
71
+ })
72
+ //FIN CONTROL PESTAÑAS
@@ -0,0 +1,197 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ (function (factory) {
17
+ if (typeof module === "object" && typeof module.exports === "object") {
18
+ var v = factory(require, exports);
19
+ if (v !== undefined) module.exports = v;
20
+ }
21
+ else if (typeof define === "function" && define.amd) {
22
+ define(["require", "exports", "react", "react-redux", "like-ar", "clsx", "@material-ui/core"], factory);
23
+ }
24
+ })(function (require, exports) {
25
+ "use strict";
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RenderAndCaptureError = exports.scrollToBottom = exports.scrollToTop = exports.totalsStyles = exports.ICON = exports.materialIoIconsSvgPath = exports.clsx = void 0;
28
+ exports.ScrollTop = ScrollTop;
29
+ exports.focusToId = focusToId;
30
+ exports.AltoImpresionStyle = AltoImpresionStyle;
31
+ exports.ReseterForm = ReseterForm;
32
+ exports.RenderPrincipal = RenderPrincipal;
33
+ var React = require("react");
34
+ var react_redux_1 = require("react-redux");
35
+ var likeAr = require("like-ar");
36
+ var clsxx = require("clsx");
37
+ //@ts-ignore el módulo clsx no tiene bien puesto los tipos en su .d.ts
38
+ exports.clsx = clsxx;
39
+ var core_1 = require("@material-ui/core");
40
+ // https://material-ui.com/components/material-icons/
41
+ exports.materialIoIconsSvgPath = {
42
+ Add: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",
43
+ Assignment: "M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z",
44
+ Cancel: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z",
45
+ Check: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z",
46
+ CheckBoxOutlineBlankOutlined: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",
47
+ CheckBoxOutlined: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM17.99 9l-1.41-1.42-6.59 6.59-2.58-2.57-1.42 1.41 4 3.99z",
48
+ ChevronLeft: "M14.71 6.71a.9959.9959 0 00-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",
49
+ ChevronRight: "M9.29 6.71c-.39.39-.39 1.02 0 1.41L13.17 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01z",
50
+ Clear: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",
51
+ Close: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",
52
+ Code: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z",
53
+ Delete: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z",
54
+ DeleteOutline: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z",
55
+ Description: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z",
56
+ Edit: "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z",
57
+ EmojiObjects: "M12 3c-.46 0-.93.04-1.4.14-2.76.53-4.96 2.76-5.48 5.52-.48 2.61.48 5.01 2.22 6.56.43.38.66.91.66 1.47V19c0 1.1.9 2 2 2h.28c.35.6.98 1 1.72 1s1.38-.4 1.72-1H14c1.1 0 2-.9 2-2v-2.31c0-.55.22-1.09.64-1.46C18.09 13.95 19 12.08 19 10c0-3.87-3.13-7-7-7zm2 16h-4v-1h4v1zm0-2h-4v-1h4v1zm-1.5-5.59V14h-1v-2.59L9.67 9.59l.71-.71L12 10.5l1.62-1.62.71.71-1.83 1.82z",
58
+ ExitToApp: "M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",
59
+ ExpandLess: "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",
60
+ ExpandMore: "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z",
61
+ FormatLineSpacing: "M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z",
62
+ Info: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z",
63
+ KeyboardArrowUp: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z",
64
+ Label: "M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z",
65
+ LocalAtm: "M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z",
66
+ Menu: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z",
67
+ Print: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z",
68
+ Remove: "M19 13H5v-2h14v2z",
69
+ RemoveShoppingCart: "M22.73 22.73L2.77 2.77 2 2l-.73-.73L0 2.54l4.39 4.39 2.21 4.66-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h7.46l1.38 1.38c-.5.36-.83.95-.83 1.62 0 1.1.89 2 1.99 2 .67 0 1.26-.33 1.62-.84L21.46 24l1.27-1.27zM7.42 15c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h2.36l2 2H7.42zm8.13-2c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H6.54l9.01 9zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2z",
70
+ Save: "M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z",
71
+ Search: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z",
72
+ Send: "M2.01 21L23 12 2.01 3 2 10l15 2-15 2z",
73
+ Settings: "M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z",
74
+ SyncAlt: "M22 8l-4-4v3H3v2h15v3l4-4zM2 16l4 4v-3h15v-2H6v-3l-4 4z",
75
+ Visibility: "M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",
76
+ Warning: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z",
77
+ };
78
+ exports.ICON = likeAr(exports.materialIoIconsSvgPath).map(function (svgText) { return function () {
79
+ return React.createElement(core_1.SvgIcon, null,
80
+ React.createElement("path", { d: svgText }));
81
+ }; }).plain();
82
+ exports.totalsStyles = {
83
+ paddingRight: "24px",
84
+ fontSize: "12pt"
85
+ };
86
+ var useStylesScrollTop = (0, core_1.makeStyles)(function (theme) {
87
+ return (0, core_1.createStyles)({
88
+ root: {
89
+ position: 'fixed',
90
+ bottom: theme.spacing(2),
91
+ right: theme.spacing(2),
92
+ },
93
+ });
94
+ });
95
+ var scrollToTop = function () {
96
+ window.scroll({ behavior: 'smooth', top: 0, left: 0 });
97
+ };
98
+ exports.scrollToTop = scrollToTop;
99
+ var scrollToBottom = function () {
100
+ window.scroll({ behavior: 'smooth', top: document.body.clientHeight - window.innerHeight, left: 0 });
101
+ };
102
+ exports.scrollToBottom = scrollToBottom;
103
+ function ScrollTop(props) {
104
+ var children = props.children;
105
+ var classes = useStylesScrollTop();
106
+ // Note that you normally won't need to set the window ref as useScrollTrigger
107
+ // will default to window.
108
+ // This is only being set here because the demo is in an iframe.
109
+ var trigger = (0, core_1.useScrollTrigger)({
110
+ disableHysteresis: true,
111
+ threshold: 100,
112
+ });
113
+ return (React.createElement(core_1.Zoom, { in: trigger },
114
+ React.createElement("div", { onClick: exports.scrollToTop, role: "presentation", className: classes.root }, children)));
115
+ }
116
+ function focusToId(id, opts, cb) {
117
+ var element = document.getElementById(id);
118
+ var padre = element;
119
+ while (padre && padre.className != 'pregunta' && padre != document.body)
120
+ padre = padre.parentElement;
121
+ if (padre && padre.className == 'pregunta')
122
+ element = padre;
123
+ if (element) {
124
+ if (cb) {
125
+ cb(element);
126
+ }
127
+ else {
128
+ element.focus();
129
+ if (opts.moveToElement) {
130
+ element.scrollIntoView();
131
+ window.scroll({ behavior: opts.moveBehavior || 'auto', top: window.scrollY - 100, left: 0 });
132
+ }
133
+ }
134
+ }
135
+ }
136
+ function AltoImpresionStyle(props) {
137
+ var id = props.componentId;
138
+ var valorIngresado = props.value;
139
+ var lineHeigth = props.lineHeight, charsPerLine = props.charsPerLine;
140
+ return React.createElement("style", null, "@media print {#".concat(id, "{height: ").concat((lineHeigth + lineHeigth * Math.floor(valorIngresado.length / charsPerLine)).toString(), "px !important}}"));
141
+ }
142
+ function ReseterForm(props) {
143
+ var dispatch = (0, react_redux_1.useDispatch)();
144
+ return React.createElement(React.Fragment, null,
145
+ React.createElement(core_1.Button, { variant: "outlined", onClick: function () {
146
+ dispatch(props.dispatchers.RESET_OPCIONES({}));
147
+ props.onTryAgain();
148
+ } }, props.mensaje));
149
+ }
150
+ var RenderAndCaptureError = /** @class */ (function (_super) {
151
+ __extends(RenderAndCaptureError, _super);
152
+ function RenderAndCaptureError(props) {
153
+ var _this = _super.call(this, props) || this;
154
+ _this.state = { hasError: false, error: {} };
155
+ return _this;
156
+ }
157
+ RenderAndCaptureError.prototype.componentDidCatch = function (error, info) {
158
+ this.setState({ hasError: true, error: error, info: info });
159
+ };
160
+ RenderAndCaptureError.prototype.render = function () {
161
+ var _this = this;
162
+ if (this.state.hasError) {
163
+ return React.createElement(React.Fragment, null,
164
+ React.createElement(core_1.Typography, null, "Hubo un problema en la programaci\u00F3n de la pantalla."),
165
+ React.createElement(ReseterForm, { dispatchers: this.props.dispatchers, mensaje: this.props.mensajeRetorno, onTryAgain: function () {
166
+ return _this.setState({ hasError: false, error: {} });
167
+ } }),
168
+ React.createElement(core_1.Typography, null, "Error detectado:"),
169
+ React.createElement(core_1.Typography, null, this.state.error instanceof Error ? this.state.error.message : 'unknown error'),
170
+ React.createElement(core_1.Typography, null, JSON.stringify(this.state.info)));
171
+ }
172
+ return this.props.children;
173
+ };
174
+ return RenderAndCaptureError;
175
+ }(React.Component));
176
+ exports.RenderAndCaptureError = RenderAndCaptureError;
177
+ var theme = (0, core_1.createMuiTheme)({
178
+ overrides: {
179
+ MuiCssBaseline: {
180
+ '@global': {
181
+ html: {
182
+ WebkitFontSmoothing: 'auto',
183
+ },
184
+ },
185
+ },
186
+ },
187
+ });
188
+ function RenderPrincipal(props) {
189
+ return React.createElement(React.StrictMode, null,
190
+ React.createElement(react_redux_1.Provider, { store: props.store },
191
+ React.createElement(core_1.ThemeProvider, { theme: theme },
192
+ React.createElement(RenderAndCaptureError, { dispatchers: props.dispatchers, mensajeRetorno: props.mensajeRetorno },
193
+ React.createElement(core_1.CssBaseline, null),
194
+ props.children))));
195
+ }
196
+ });
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWdlbmVyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3JlbmRlci1nZW5lcmFsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUErRkEsOEJBaUJDO0lBT0QsOEJBZ0JDO0lBRUQsZ0RBT0M7SUFJRCxrQ0FVQztJQXlDRCwwQ0FXQztJQWxORCw2QkFBK0I7SUFHL0IsMkNBQWlFO0lBQ2pFLGdDQUFrQztJQUNsQyw0QkFBOEI7SUFDOUIsc0VBQXNFO0lBQzNELFFBQUEsSUFBSSxHQUF1QyxLQUFLLENBQUM7SUFHNUQsMENBVTJCO0lBRzNCLHFEQUFxRDtJQUN4QyxRQUFBLHNCQUFzQixHQUFDO1FBQ2hDLEdBQUcsRUFBQyxxQ0FBcUM7UUFDekMsVUFBVSxFQUFFLGdPQUFnTztRQUM1TyxNQUFNLEVBQUMsaUxBQWlMO1FBQ3hMLEtBQUssRUFBRSxtREFBbUQ7UUFDMUQsNEJBQTRCLEVBQUUsNEZBQTRGO1FBQzFILGdCQUFnQixFQUFFLHVKQUF1SjtRQUN6SyxXQUFXLEVBQUUsd0tBQXdLO1FBQ3JMLFlBQVksRUFBRSwwS0FBMEs7UUFDeEwsS0FBSyxFQUFFLHVHQUF1RztRQUM5RyxLQUFLLEVBQUUsdUdBQXVHO1FBQzlHLElBQUksRUFBRSw0RkFBNEY7UUFDbEcsTUFBTSxFQUFDLCtFQUErRTtRQUN0RixhQUFhLEVBQUMseUZBQXlGO1FBQ3ZHLFdBQVcsRUFBRSxnSUFBZ0k7UUFDN0ksSUFBSSxFQUFFLHFKQUFxSjtRQUMzSixZQUFZLEVBQUUsbVdBQW1XO1FBQ2pYLFNBQVMsRUFBRSxzS0FBc0s7UUFDakwsVUFBVSxFQUFFLGdEQUFnRDtRQUM1RCxVQUFVLEVBQUUsOENBQThDO1FBQzFELGlCQUFpQixFQUFFLGtHQUFrRztRQUNySCxJQUFJLEVBQUUsa0dBQWtHO1FBQ3hHLGVBQWUsRUFBRSxnREFBZ0Q7UUFDakUsS0FBSyxFQUFFLHNJQUFzSTtRQUM3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QUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFjO29CQUN6RyxvQkFBQyxpQkFBVSxRQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBYyxDQUMzRCxDQUFDO1lBQ1IsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDL0IsQ0FBQztRQUNMLDRCQUFDO0lBQUQsQ0FBQyxBQXpCRCxDQUEyQyxLQUFLLENBQUMsU0FBUyxHQXlCekQ7SUF6Qlksc0RBQXFCO0lBMkJsQyxJQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFjLEVBQUM7UUFDM0IsU0FBUyxFQUFFO1lBQ1QsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTtxQkFDNUI7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsU0FBZ0IsZUFBZSxDQUFzQixLQUFvRztRQUNySixPQUFPLG9CQUFDLEtBQUssQ0FBQyxVQUFVO1lBQ3BCLG9CQUFDLHNCQUFRLElBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN4QixvQkFBQyxvQkFBYSxJQUFDLEtBQUssRUFBRSxLQUFLO29CQUN2QixvQkFBQyxxQkFBcUIsSUFBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7d0JBQ3ZGLG9CQUFDLGtCQUFXLE9BQUc7d0JBQ2QsS0FBSyxDQUFDLFFBQVEsQ0FDSyxDQUNaLENBQ1QsQ0FDSSxDQUFBO0lBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xyXG5pbXBvcnQge3VzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZn0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFByb3ZpZGVyLCB1c2VTZWxlY3RvciwgdXNlRGlzcGF0Y2ggfSBmcm9tIFwicmVhY3QtcmVkdXhcIjsgXHJcbmltcG9ydCAqIGFzIGxpa2VBciBmcm9tIFwibGlrZS1hclwiO1xyXG5pbXBvcnQgKiBhcyBjbHN4eCBmcm9tICdjbHN4JztcclxuLy9AdHMtaWdub3JlIGVsIG3Ds2R1bG8gY2xzeCBubyB0aWVuZSBiaWVuIHB1ZXN0byBsb3MgdGlwb3MgZW4gc3UgLmQudHNcclxuZXhwb3J0IHZhciBjbHN4OiAoPFQ+KGExOnN0cmluZ3xULCBhMj86VCk9PiBzdHJpbmcpID0gY2xzeHg7XHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIEFwcEJhciwgQmFkZ2UsIEJ1dHRvbiwgQnV0dG9uR3JvdXAsIENhcmQsIENoaXAsIENpcmN1bGFyUHJvZ3Jlc3MsIENzc0Jhc2VsaW5lLCBcclxuICAgIERpYWxvZywgRGlhbG9nQWN0aW9ucywgRGlhbG9nQ29udGVudCwgRGlhbG9nQ29udGVudFRleHQsIFxyXG4gICAgRGlhbG9nVGl0bGUsIERpdmlkZXIsIEZhYiwgR3JpZCwgSWNvbkJ1dHRvbiwgSW5wdXRCYXNlLCBcclxuICAgIExpc3QsIExpc3RJdGVtLCBMaXN0SXRlbUljb24sIExpc3RJdGVtVGV4dCwgRHJhd2VyLCBcclxuICAgIE1lbnUsIE1lbnVJdGVtLCBQYXBlciwgU3ZnSWNvbiwgU3dpdGNoLCBcclxuICAgIFRhYmxlLCBUYWJsZUJvZHksIFRhYmxlQ2VsbCwgVGFibGVIZWFkLCBUYWJsZVJvdywgVGV4dEZpZWxkLCBUaGVtZVByb3ZpZGVyLCBUb29sYmFyLCBUeXBvZ3JhcGh5LCBab29tLFxyXG4gICAgdXNlU2Nyb2xsVHJpZ2dlcixcclxuICAgIC8vIHN0eWxlczpcclxuICAgIGNyZWF0ZVN0eWxlcywgbWFrZVN0eWxlcywgVGhlbWUsIGZhZGUsIGNyZWF0ZU11aVRoZW1lXHJcbn0gZnJvbSBcIkBtYXRlcmlhbC11aS9jb3JlXCI7XHJcbmltcG9ydCB7IFN0b3JlLCBBY3Rpb24gfSBmcm9tIFwicmVkdXhcIjtcclxuXHJcbi8vIGh0dHBzOi8vbWF0ZXJpYWwtdWkuY29tL2NvbXBvbmVudHMvbWF0ZXJpYWwtaWNvbnMvXHJcbmV4cG9ydCBjb25zdCBtYXRlcmlhbElvSWNvbnNTdmdQYXRoPXtcclxuICAgIEFkZDpcIk0xOSAxM2gtNnY2aC0ydi02SDV2LTJoNlY1aDJ2Nmg2djJ6XCIsXHJcbiAgICBBc3NpZ25tZW50OiBcIk0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMiAxNEg3di0yaDd2MnptMy00SDd2LTJoMTB2MnptMC00SDdWN2gxMHYyelwiLFxyXG4gICAgQ2FuY2VsOlwiTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTUgMTMuNTlMMTUuNTkgMTcgMTIgMTMuNDEgOC40MSAxNyA3IDE1LjU5IDEwLjU5IDEyIDcgOC40MSA4LjQxIDcgMTIgMTAuNTkgMTUuNTkgNyAxNyA4LjQxIDEzLjQxIDEyIDE3IDE1LjU5elwiLFxyXG4gICAgQ2hlY2s6IFwiTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxelwiLFxyXG4gICAgQ2hlY2tCb3hPdXRsaW5lQmxhbmtPdXRsaW5lZDogXCJNMTkgNXYxNEg1VjVoMTRtMC0ySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpcIixcclxuICAgIENoZWNrQm94T3V0bGluZWQ6IFwiTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHpNMTcuOTkgOWwtMS40MS0xLjQyLTYuNTkgNi41OS0yLjU4LTIuNTctMS40MiAxLjQxIDQgMy45OXpcIixcclxuICAgIENoZXZyb25MZWZ0OiBcIk0xNC43MSA2LjcxYS45OTU5Ljk5NTkgMCAwMC0xLjQxIDBMOC43MSAxMS4zYy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxbDQuNTkgNC41OWMuMzkuMzkgMS4wMi4zOSAxLjQxIDAgLjM5LS4zOS4zOS0xLjAyIDAtMS40MUwxMC44MyAxMmwzLjg4LTMuODhjLjM5LS4zOS4zOC0xLjAzIDAtMS40MXpcIixcclxuICAgIENoZXZyb25SaWdodDogXCJNOS4yOSA2LjcxYy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxTDEzLjE3IDEybC0zLjg4IDMuODhjLS4zOS4zOS0uMzkgMS4wMiAwIDEuNDEuMzkuMzkgMS4wMi4zOSAxLjQxIDBsNC41OS00LjU5Yy4zOS0uMzkuMzktMS4wMiAwLTEuNDFMMTAuNyA2LjdjLS4zOC0uMzgtMS4wMi0uMzgtMS40MS4wMXpcIixcclxuICAgIENsZWFyOiBcIk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XCIsXHJcbiAgICBDbG9zZTogXCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiLFxyXG4gICAgQ29kZTogXCJNOS40IDE2LjZMNC44IDEybDQuNi00LjZMOCA2bC02IDYgNiA2IDEuNC0xLjR6bTUuMiAwbDQuNi00LjYtNC42LTQuNkwxNiA2bDYgNi02IDYtMS40LTEuNHpcIixcclxuICAgIERlbGV0ZTpcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTE5IDRoLTMuNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZWxldGVPdXRsaW5lOlwiTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnpNOCA5aDh2MTBIOFY5em03LjUtNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZXNjcmlwdGlvbjogXCJNMTQgMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMjBjMCAxLjEuODkgMiAxLjk5IDJIMThjMS4xIDAgMi0uOSAyLTJWOGwtNi02em0yIDE2SDh2LTJoOHYyem0wLTRIOHYtMmg4djJ6bS0zLTVWMy41TDE4LjUgOUgxM3pcIixcclxuICAgIEVkaXQ6IFwiTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRhLjk5NTkuOTk1OSAwIDAwLTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6XCIsXHJcbiAgICBFbW9qaU9iamVjdHM6IFwiTTEyIDNjLS40NiAwLS45My4wNC0xLjQuMTQtMi43Ni41My00Ljk2IDIuNzYtNS40OCA1LjUyLS40OCAyLjYxLjQ4IDUuMDEgMi4yMiA2LjU2LjQzLjM4LjY2LjkxLjY2IDEuNDdWMTljMCAxLjEuOSAyIDIgMmguMjhjLjM1LjYuOTggMSAxLjcyIDFzMS4zOC0uNCAxLjcyLTFIMTRjMS4xIDAgMi0uOSAyLTJ2LTIuMzFjMC0uNTUuMjItMS4wOS42NC0xLjQ2QzE4LjA5IDEzLjk1IDE5IDEyLjA4IDE5IDEwYzAtMy44Ny0zLjEzLTctNy03em0yIDE2aC00di0xaDR2MXptMC0yaC00di0xaDR2MXptLTEuNS01LjU5VjE0aC0xdi0yLjU5TDkuNjcgOS41OWwuNzEtLjcxTDEyIDEwLjVsMS42Mi0xLjYyLjcxLjcxLTEuODMgMS44MnpcIixcclxuICAgIEV4aXRUb0FwcDogXCJNMTAuMDkgMTUuNTlMMTEuNSAxN2w1LTUtNS01LTEuNDEgMS40MUwxMi42NyAxMUgzdjJoOS42N2wtMi41OCAyLjU5ek0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnY0aDJWNWgxNHYxNEg1di00SDN2NGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yelwiLFxyXG4gICAgRXhwYW5kTGVzczogXCJNMTIgOGwtNiA2IDEuNDEgMS40MUwxMiAxMC44M2w0LjU5IDQuNThMMTggMTR6XCIsXHJcbiAgICBFeHBhbmRNb3JlOiBcIk0xNi41OSA4LjU5TDEyIDEzLjE3IDcuNDEgOC41OSA2IDEwbDYgNiA2LTZ6XCIsXHJcbiAgICBGb3JtYXRMaW5lU3BhY2luZzogXCJNNiA3aDIuNUw1IDMuNSAxLjUgN0g0djEwSDEuNUw1IDIwLjUgOC41IDE3SDZWN3ptNC0ydjJoMTJWNUgxMHptMCAxNGgxMnYtMkgxMHYyem0wLTZoMTJ2LTJIMTB2MnpcIixcclxuICAgIEluZm86IFwiTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6XCIsXHJcbiAgICBLZXlib2FyZEFycm93VXA6IFwiTTcuNDEgMTUuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0bC02LTYtNiA2elwiLFxyXG4gICAgTGFiZWw6IFwiTTE3LjYzIDUuODRDMTcuMjcgNS4zMyAxNi42NyA1IDE2IDVMNSA1LjAxQzMuOSA1LjAxIDMgNS45IDMgN3YxMGMwIDEuMS45IDEuOTkgMiAxLjk5TDE2IDE5Yy42NyAwIDEuMjctLjMzIDEuNjMtLjg0TDIyIDEybC00LjM3LTYuMTZ6XCIsXHJcbiAgICBMb2NhbEF0bTogXCJNMTEgMTdoMnYtMWgxYy41NSAwIDEtLjQ1IDEtMXYtM2MwLS41NS0uNDUtMS0xLTFoLTN2LTFoNFY4aC0yVjdoLTJ2MWgtMWMtLjU1IDAtMSAuNDUtMSAxdjNjMCAuNTUuNDUgMSAxIDFoM3YxSDl2MmgydjF6bTktMTNINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMThjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWNmMwLTEuMTEtLjg5LTItMi0yem0wIDE0SDRWNmgxNnYxMnpcIixcclxuICAgIE1lbnU6IFwiTTMgMThoMTh2LTJIM3Yyem0wLTVoMTh2LTJIM3Yyem0wLTd2MmgxOFY2SDN6XCIsXHJcbiAgICBQcmludDogXCJNMTkgOEg1Yy0xLjY2IDAtMyAxLjM0LTMgM3Y2aDR2NGgxMnYtNGg0di02YzAtMS42Ni0xLjM0LTMtMy0zem0tMyAxMUg4di01aDh2NXptMy03Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6bS0xLTlINnY0aDEyVjN6XCIsXHJcbiAgICBSZW1vdmU6IFwiTTE5IDEzSDV2LTJoMTR2MnpcIixcclxuICAgIFJlbW92ZVNob3BwaW5nQ2FydDogXCJNMjIuNzMgMjIuNzNMMi43NyAyLjc3IDIgMmwtLjczLS43M0wwIDIuNTRsNC4zOSA0LjM5IDIuMjEgNC42Ni0xLjM1IDIuNDVjLS4xNi4yOC0uMjUuNjEtLjI1Ljk2IDAgMS4xLjkgMiAyIDJoNy40NmwxLjM4IDEuMzhjLS41LjM2LS44My45NS0uODMgMS42MiAwIDEuMS44OSAyIDEuOTkgMiAuNjcgMCAxLjI2LS4zMyAxLjYyLS44NEwyMS40NiAyNGwxLjI3LTEuMjd6TTcuNDIgMTVjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2gyLjM2bDIgMkg3LjQyem04LjEzLTJjLjc1IDAgMS40MS0uNDEgMS43NS0xLjAzbDMuNTgtNi40OWMuMDgtLjE0LjEyLS4zMS4xMi0uNDggMC0uNTUtLjQ1LTEtMS0xSDYuNTRsOS4wMSA5ek03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yelwiLFxyXG4gICAgU2F2ZTpcIk0xNyAzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY3bC00LTR6bS01IDE2Yy0xLjY2IDAtMy0xLjM0LTMtM3MxLjM0LTMgMy0zIDMgMS4zNCAzIDMtMS4zNCAzLTMgM3ptMy0xMEg1VjVoMTB2NHpcIixcclxuICAgIFNlYXJjaDogXCJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpcIixcclxuICAgIFNlbmQ6IFwiTTIuMDEgMjFMMjMgMTIgMi4wMSAzIDIgMTBsMTUgMi0xNSAyelwiLFxyXG4gICAgU2V0dGluZ3M6IFwiTTE1Ljk1IDEwLjc4Yy4wMy0uMjUuMDUtLjUxLjA1LS43OHMtLjAyLS41My0uMDYtLjc4bDEuNjktMS4zMmMuMTUtLjEyLjE5LS4zNC4xLS41MWwtMS42LTIuNzdjLS4xLS4xOC0uMzEtLjI0LS40OS0uMThsLTEuOTkuOGMtLjQyLS4zMi0uODYtLjU4LTEuMzUtLjc4TDEyIDIuMzRjLS4wMy0uMi0uMi0uMzQtLjQtLjM0SDguNGMtLjIgMC0uMzYuMTQtLjM5LjM0bC0uMyAyLjEyYy0uNDkuMi0uOTQuNDctMS4zNS43OGwtMS45OS0uOGMtLjE4LS4wNy0uMzkgMC0uNDkuMThsLTEuNiAyLjc3Yy0uMS4xOC0uMDYuMzkuMS41MWwxLjY5IDEuMzJjLS4wNC4yNS0uMDcuNTItLjA3Ljc4cy4wMi41My4wNi43OEwyLjM3IDEyLjFjLS4xNS4xMi0uMTkuMzQtLjEuNTFsMS42IDIuNzdjLjEuMTguMzEuMjQuNDkuMThsMS45OS0uOGMuNDIuMzIuODYuNTggMS4zNS43OGwuMyAyLjEyYy4wNC4yLjIuMzQuNC4zNGgzLjJjLjIgMCAuMzctLjE0LjM5LS4zNGwuMy0yLjEyYy40OS0uMi45NC0uNDcgMS4zNS0uNzhsMS45OS44Yy4xOC4wNy4zOSAwIC40OS0uMThsMS42LTIuNzdjLjEtLjE4LjA2LS4zOS0uMS0uNTFsLTEuNjctMS4zMnpNMTAgMTNjLTEuNjUgMC0zLTEuMzUtMy0zczEuMzUtMyAzLTMgMyAxLjM1IDMgMy0xLjM1IDMtMyAzelwiLFxyXG4gICAgU3luY0FsdDpcIk0yMiA4bC00LTR2M0gzdjJoMTV2M2w0LTR6TTIgMTZsNCA0di0zaDE1di0ySDZ2LTNsLTQgNHpcIixcclxuICAgIFZpc2liaWxpdHk6XCJNMTIgNC41QzcgNC41IDIuNzMgNy42MSAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjVzOS4yNy0zLjExIDExLTcuNWMtMS43My00LjM5LTYtNy41LTExLTcuNXpNMTIgMTdjLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNS0yLjI0IDUtNSA1em0wLThjLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDMgMy0xLjM0IDMtMy0xLjM0LTMtMy0zelwiLFxyXG4gICAgV2FybmluZzogXCJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0elwiLFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSUNPTiA9IGxpa2VBcihtYXRlcmlhbElvSWNvbnNTdmdQYXRoKS5tYXAoc3ZnVGV4dD0+ICgpID0+XHJcbiAgICA8U3ZnSWNvbj48cGF0aCBkPXtzdmdUZXh0fS8+PC9TdmdJY29uPlxyXG4pLnBsYWluKCk7XHJcblxyXG5leHBvcnQgdHlwZSBTdHlsZXMgPSBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRvdGFsc1N0eWxlcz17XHJcbiAgICBwYWRkaW5nUmlnaHQ6XCIyNHB4XCIsXHJcbiAgICBmb250U2l6ZTogXCIxMnB0XCJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT25VcGRhdGU8VD4gPSAoZGF0YTpUKT0+dm9pZFxyXG5cclxuZXhwb3J0IHR5cGUgSW5wdXRUeXBlcyA9ICdkYXRlJ3wnbnVtYmVyJ3wndGVsJ3wndGV4dCc7XHJcblxyXG5jb25zdCB1c2VTdHlsZXNTY3JvbGxUb3AgPSBtYWtlU3R5bGVzKCh0aGVtZTogVGhlbWUpID0+XHJcbiAgICBjcmVhdGVTdHlsZXMoe1xyXG4gICAgICAgIHJvb3Q6IHtcclxuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXHJcbiAgICAgICAgICAgIGJvdHRvbTogdGhlbWUuc3BhY2luZygyKSxcclxuICAgICAgICAgICAgcmlnaHQ6IHRoZW1lLnNwYWNpbmcoMiksXHJcbiAgICAgICAgfSxcclxuICAgIH0pLFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjcm9sbFRvVG9wID0gKCkgPT4ge1xyXG4gICAgd2luZG93LnNjcm9sbCh7YmVoYXZpb3I6J3Ntb290aCcsIHRvcDowLCBsZWZ0OjB9KVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjcm9sbFRvQm90dG9tID0gKCkgPT4ge1xyXG4gICAgd2luZG93LnNjcm9sbCh7YmVoYXZpb3I6J3Ntb290aCcsIHRvcDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodC13aW5kb3cuaW5uZXJIZWlnaHQsIGxlZnQ6MH0pXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2Nyb2xsVG9wKHByb3BzOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHByb3BzO1xyXG4gICAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlc1Njcm9sbFRvcCgpO1xyXG4gICAgLy8gTm90ZSB0aGF0IHlvdSBub3JtYWxseSB3b24ndCBuZWVkIHRvIHNldCB0aGUgd2luZG93IHJlZiBhcyB1c2VTY3JvbGxUcmlnZ2VyXHJcbiAgICAvLyB3aWxsIGRlZmF1bHQgdG8gd2luZG93LlxyXG4gICAgLy8gVGhpcyBpcyBvbmx5IGJlaW5nIHNldCBoZXJlIGJlY2F1c2UgdGhlIGRlbW8gaXMgaW4gYW4gaWZyYW1lLlxyXG4gICAgY29uc3QgdHJpZ2dlciA9IHVzZVNjcm9sbFRyaWdnZXIoe1xyXG4gICAgICAgIGRpc2FibGVIeXN0ZXJlc2lzOiB0cnVlLFxyXG4gICAgICAgIHRocmVzaG9sZDogMTAwLFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxab29tIGluPXt0cmlnZ2VyfT5cclxuICAgICAgICAgICAgPGRpdiBvbkNsaWNrPXtzY3JvbGxUb1RvcH0gcm9sZT1cInByZXNlbnRhdGlvblwiIGNsYXNzTmFtZT17Y2xhc3Nlcy5yb290fT5cclxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9ab29tPlxyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRm9jdXNPcHRzPXtcclxuICAgIG1vdmVUb0VsZW1lbnQ6IGJvb2xlYW5cclxuICAgIG1vdmVCZWhhdmlvcj86ICdhdXRvJyB8ICdzbW9vdGgnXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb2N1c1RvSWQoaWQ6c3RyaW5nLCBvcHRzOkZvY3VzT3B0cywgY2I/OihlOkhUTUxFbGVtZW50KT0+dm9pZCl7XHJcbiAgICB2YXIgZWxlbWVudD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICB2YXIgcGFkcmU9ZWxlbWVudDtcclxuICAgIHdoaWxlKHBhZHJlICYmIHBhZHJlLmNsYXNzTmFtZSE9J3ByZWd1bnRhJyAmJiBwYWRyZSE9ZG9jdW1lbnQuYm9keSkgcGFkcmUgPSBwYWRyZS5wYXJlbnRFbGVtZW50O1xyXG4gICAgaWYocGFkcmUgJiYgcGFkcmUuY2xhc3NOYW1lPT0ncHJlZ3VudGEnKSBlbGVtZW50PXBhZHJlO1xyXG4gICAgaWYoZWxlbWVudCl7XHJcbiAgICAgICAgaWYoY2Ipe1xyXG4gICAgICAgICAgICBjYihlbGVtZW50KTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICBpZihvcHRzLm1vdmVUb0VsZW1lbnQpe1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCh7YmVoYXZpb3I6b3B0cy5tb3ZlQmVoYXZpb3J8fCdhdXRvJywgdG9wOndpbmRvdy5zY3JvbGxZLTEwMCwgbGVmdDowfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEFsdG9JbXByZXNpb25TdHlsZShwcm9wczp7Y29tcG9uZW50SWQ6c3RyaW5nLCBsaW5lSGVpZ2h0Om51bWJlcixjaGFyc1BlckxpbmU6bnVtYmVyLCB2YWx1ZTpzdHJpbmd9KXtcclxuICAgIGNvbnN0IGlkID0gcHJvcHMuY29tcG9uZW50SWQ7XHJcbiAgICBjb25zdCB2YWxvckluZ3Jlc2FkbyA9IHByb3BzLnZhbHVlO1xyXG4gICAgY29uc3Qge2xpbmVIZWlnaHQ6IGxpbmVIZWlndGgsY2hhcnNQZXJMaW5lfSA9IHByb3BzO1xyXG4gICAgcmV0dXJuIDxzdHlsZT5cclxuICAgICAgICB7YEBtZWRpYSBwcmludCB7IyR7aWR9e2hlaWdodDogJHsobGluZUhlaWd0aCArIGxpbmVIZWlndGggKiBNYXRoLmZsb29yKHZhbG9ySW5ncmVzYWRvLmxlbmd0aC9jaGFyc1BlckxpbmUpKS50b1N0cmluZygpfXB4ICFpbXBvcnRhbnR9fWB9XHJcbiAgICA8L3N0eWxlPlxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJRGlzcGF0Y2hlcnMgPSB7UkVTRVRfT1BDSU9ORVM6RnVuY3Rpb259O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlc2V0ZXJGb3JtKHByb3BzOntvblRyeUFnYWluOigpPT52b2lkLCBkaXNwYXRjaGVyczpJRGlzcGF0Y2hlcnMsIG1lbnNhamU6c3RyaW5nfSl7XHJcbiAgICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XHJcbiAgICByZXR1cm4gPD5cclxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpPT57XHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChwcm9wcy5kaXNwYXRjaGVycy5SRVNFVF9PUENJT05FUyh7fSkpO1xyXG4gICAgICAgICAgICAgICAgcHJvcHMub25UcnlBZ2FpbigpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgID57cHJvcHMubWVuc2FqZX08L0J1dHRvbj5cclxuICAgIDwvPjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlbmRlckFuZENhcHR1cmVFcnJvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcclxuICAgIHtkaXNwYXRjaGVyczpJRGlzcGF0Y2hlcnMsIG1lbnNhamVSZXRvcm5vOnN0cmluZ30sXHJcbiAgICB7aGFzRXJyb3I6Ym9vbGVhbiwgZXJyb3I6RXJyb3J8e30sIGluZm8/OmFueX1cclxuPntcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzOmFueSkge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0geyBoYXNFcnJvcjogZmFsc2UsIGVycm9yOnt9fTtcclxuICAgIH1cclxuICAgIGNvbXBvbmVudERpZENhdGNoKGVycm9yOkVycm9yLCBpbmZvOmFueSl7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiB0cnVlICwgZXJyb3IsIGluZm8gfSk7XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKXtcclxuICAgICAgICBpZih0aGlzLnN0YXRlLmhhc0Vycm9yKXtcclxuICAgICAgICAgICAgcmV0dXJuIDw+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5IdWJvIHVuIHByb2JsZW1hIGVuIGxhIHByb2dyYW1hY2nDs24gZGUgbGEgcGFudGFsbGEuPC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFJlc2V0ZXJGb3JtIGRpc3BhdGNoZXJzPXt0aGlzLnByb3BzLmRpc3BhdGNoZXJzfSBtZW5zYWplPXt0aGlzLnByb3BzLm1lbnNhamVSZXRvcm5vfSBvblRyeUFnYWluPXsoKT0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiBmYWxzZSwgZXJyb3I6e319KVxyXG4gICAgICAgICAgICAgICAgfS8+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5FcnJvciBkZXRlY3RhZG86PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+e3RoaXMuc3RhdGUuZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IHRoaXMuc3RhdGUuZXJyb3IubWVzc2FnZSA6ICd1bmtub3duIGVycm9yJ308L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT57SlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZS5pbmZvKX08L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgIDwvPjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IHRoZW1lID0gY3JlYXRlTXVpVGhlbWUoe1xyXG4gIG92ZXJyaWRlczoge1xyXG4gICAgTXVpQ3NzQmFzZWxpbmU6IHtcclxuICAgICAgJ0BnbG9iYWwnOiB7XHJcbiAgICAgICAgaHRtbDoge1xyXG4gICAgICAgICAgV2Via2l0Rm9udFNtb290aGluZzogJ2F1dG8nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlbmRlclByaW5jaXBhbDxULFQyIGV4dGVuZHMgQWN0aW9uPihwcm9wczp7c3RvcmU6U3RvcmU8VCxUMj4sIGRpc3BhdGNoZXJzOklEaXNwYXRjaGVycywgbWVuc2FqZVJldG9ybm86c3RyaW5nLCBjaGlsZHJlbjpSZWFjdC5SZWFjdE5vZGV9KXtcclxuICAgIHJldHVybiA8UmVhY3QuU3RyaWN0TW9kZT5cclxuICAgICAgICA8UHJvdmlkZXIgc3RvcmU9e3Byb3BzLnN0b3JlfT5cclxuICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cclxuICAgICAgICAgICAgICAgIDxSZW5kZXJBbmRDYXB0dXJlRXJyb3IgZGlzcGF0Y2hlcnM9e3Byb3BzLmRpc3BhdGNoZXJzfSBtZW5zYWplUmV0b3Jubz17cHJvcHMubWVuc2FqZVJldG9ybm99PlxyXG4gICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cclxuICAgICAgICAgICAgICAgIDwvUmVuZGVyQW5kQ2FwdHVyZUVycm9yPlxyXG4gICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+ICAgICAgICBcclxuICAgICAgICA8L1Byb3ZpZGVyPlxyXG4gICAgPC9SZWFjdC5TdHJpY3RNb2RlPlxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,212 @@
1
+ import * as React from "react";
2
+ import * as ReactDOM from "react-dom";
3
+ import {useState, useEffect, useRef} from "react";
4
+ import { Provider, useSelector, useDispatch } from "react-redux";
5
+ import * as likeAr from "like-ar";
6
+ import * as clsxx from 'clsx';
7
+ //@ts-ignore el módulo clsx no tiene bien puesto los tipos en su .d.ts
8
+ export var clsx: (<T>(a1:string|T, a2?:T)=> string) = clsxx;
9
+
10
+
11
+ import {
12
+ AppBar, Badge, Button, ButtonGroup, Card, Chip, CircularProgress, CssBaseline,
13
+ Dialog, DialogActions, DialogContent, DialogContentText,
14
+ DialogTitle, Divider, Fab, Grid, IconButton, InputBase,
15
+ List, ListItem, ListItemIcon, ListItemText, Drawer,
16
+ Menu, MenuItem, Paper, SvgIcon, Switch,
17
+ Table, TableBody, TableCell, TableHead, TableRow, TextField, ThemeProvider, Toolbar, Typography, Zoom,
18
+ useScrollTrigger,
19
+ // styles:
20
+ createStyles, makeStyles, Theme, fade, createMuiTheme
21
+ } from "@material-ui/core";
22
+ import { Store, Action } from "redux";
23
+
24
+ // https://material-ui.com/components/material-icons/
25
+ export const materialIoIconsSvgPath={
26
+ Add:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",
27
+ Assignment: "M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z",
28
+ Cancel:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z",
29
+ Check: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z",
30
+ CheckBoxOutlineBlankOutlined: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",
31
+ CheckBoxOutlined: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM17.99 9l-1.41-1.42-6.59 6.59-2.58-2.57-1.42 1.41 4 3.99z",
32
+ ChevronLeft: "M14.71 6.71a.9959.9959 0 00-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",
33
+ ChevronRight: "M9.29 6.71c-.39.39-.39 1.02 0 1.41L13.17 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01z",
34
+ Clear: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",
35
+ Close: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",
36
+ Code: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z",
37
+ Delete:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z",
38
+ DeleteOutline:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z",
39
+ Description: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z",
40
+ Edit: "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z",
41
+ EmojiObjects: "M12 3c-.46 0-.93.04-1.4.14-2.76.53-4.96 2.76-5.48 5.52-.48 2.61.48 5.01 2.22 6.56.43.38.66.91.66 1.47V19c0 1.1.9 2 2 2h.28c.35.6.98 1 1.72 1s1.38-.4 1.72-1H14c1.1 0 2-.9 2-2v-2.31c0-.55.22-1.09.64-1.46C18.09 13.95 19 12.08 19 10c0-3.87-3.13-7-7-7zm2 16h-4v-1h4v1zm0-2h-4v-1h4v1zm-1.5-5.59V14h-1v-2.59L9.67 9.59l.71-.71L12 10.5l1.62-1.62.71.71-1.83 1.82z",
42
+ ExitToApp: "M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",
43
+ ExpandLess: "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",
44
+ ExpandMore: "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z",
45
+ FormatLineSpacing: "M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z",
46
+ Info: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z",
47
+ KeyboardArrowUp: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z",
48
+ Label: "M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z",
49
+ LocalAtm: "M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z",
50
+ Menu: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z",
51
+ Print: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z",
52
+ Remove: "M19 13H5v-2h14v2z",
53
+ RemoveShoppingCart: "M22.73 22.73L2.77 2.77 2 2l-.73-.73L0 2.54l4.39 4.39 2.21 4.66-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h7.46l1.38 1.38c-.5.36-.83.95-.83 1.62 0 1.1.89 2 1.99 2 .67 0 1.26-.33 1.62-.84L21.46 24l1.27-1.27zM7.42 15c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h2.36l2 2H7.42zm8.13-2c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H6.54l9.01 9zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2z",
54
+ Save:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z",
55
+ Search: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z",
56
+ Send: "M2.01 21L23 12 2.01 3 2 10l15 2-15 2z",
57
+ Settings: "M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z",
58
+ SyncAlt:"M22 8l-4-4v3H3v2h15v3l4-4zM2 16l4 4v-3h15v-2H6v-3l-4 4z",
59
+ Visibility:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",
60
+ Warning: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z",
61
+ }
62
+
63
+ export const ICON = likeAr(materialIoIconsSvgPath).map(svgText=> () =>
64
+ <SvgIcon><path d={svgText}/></SvgIcon>
65
+ ).plain();
66
+
67
+ export type Styles = React.CSSProperties;
68
+
69
+ export const totalsStyles={
70
+ paddingRight:"24px",
71
+ fontSize: "12pt"
72
+ }
73
+
74
+ export type OnUpdate<T> = (data:T)=>void
75
+
76
+ export type InputTypes = 'date'|'number'|'tel'|'text';
77
+
78
+ const useStylesScrollTop = makeStyles((theme: Theme) =>
79
+ createStyles({
80
+ root: {
81
+ position: 'fixed',
82
+ bottom: theme.spacing(2),
83
+ right: theme.spacing(2),
84
+ },
85
+ }),
86
+ );
87
+
88
+ export const scrollToTop = () => {
89
+ window.scroll({behavior:'smooth', top:0, left:0})
90
+ };
91
+
92
+ export const scrollToBottom = () => {
93
+ window.scroll({behavior:'smooth', top:document.body.clientHeight-window.innerHeight, left:0})
94
+ };
95
+
96
+ export function ScrollTop(props: any) {
97
+ const { children } = props;
98
+ const classes = useStylesScrollTop();
99
+ // Note that you normally won't need to set the window ref as useScrollTrigger
100
+ // will default to window.
101
+ // This is only being set here because the demo is in an iframe.
102
+ const trigger = useScrollTrigger({
103
+ disableHysteresis: true,
104
+ threshold: 100,
105
+ });
106
+ return (
107
+ <Zoom in={trigger}>
108
+ <div onClick={scrollToTop} role="presentation" className={classes.root}>
109
+ {children}
110
+ </div>
111
+ </Zoom>
112
+ );
113
+ }
114
+
115
+ export type FocusOpts={
116
+ moveToElement: boolean
117
+ moveBehavior?: 'auto' | 'smooth'
118
+ }
119
+
120
+ export function focusToId(id:string, opts:FocusOpts, cb?:(e:HTMLElement)=>void){
121
+ var element=document.getElementById(id);
122
+ var padre=element;
123
+ while(padre && padre.className!='pregunta' && padre!=document.body) padre = padre.parentElement;
124
+ if(padre && padre.className=='pregunta') element=padre;
125
+ if(element){
126
+ if(cb){
127
+ cb(element);
128
+ }else{
129
+ element.focus();
130
+ if(opts.moveToElement){
131
+ element.scrollIntoView();
132
+ window.scroll({behavior:opts.moveBehavior||'auto', top:window.scrollY-100, left:0})
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ export function AltoImpresionStyle(props:{componentId:string, lineHeight:number,charsPerLine:number, value:string}){
139
+ const id = props.componentId;
140
+ const valorIngresado = props.value;
141
+ const {lineHeight: lineHeigth,charsPerLine} = props;
142
+ return <style>
143
+ {`@media print {#${id}{height: ${(lineHeigth + lineHeigth * Math.floor(valorIngresado.length/charsPerLine)).toString()}px !important}}`}
144
+ </style>
145
+ }
146
+
147
+ export type IDispatchers = {RESET_OPCIONES:Function};
148
+
149
+ export function ReseterForm(props:{onTryAgain:()=>void, dispatchers:IDispatchers, mensaje:string}){
150
+ const dispatch = useDispatch();
151
+ return <>
152
+ <Button variant="outlined"
153
+ onClick={()=>{
154
+ dispatch(props.dispatchers.RESET_OPCIONES({}));
155
+ props.onTryAgain();
156
+ }}
157
+ >{props.mensaje}</Button>
158
+ </>;
159
+ }
160
+
161
+ export class RenderAndCaptureError extends React.Component<
162
+ {dispatchers:IDispatchers, mensajeRetorno:string},
163
+ {hasError:boolean, error:Error|{}, info?:any}
164
+ >{
165
+ constructor(props:any) {
166
+ super(props);
167
+ this.state = { hasError: false, error:{}};
168
+ }
169
+ componentDidCatch(error:Error, info:any){
170
+ this.setState({ hasError: true , error, info });
171
+ }
172
+ render(){
173
+ if(this.state.hasError){
174
+ return <>
175
+ <Typography>Hubo un problema en la programación de la pantalla.</Typography>
176
+ <ReseterForm dispatchers={this.props.dispatchers} mensaje={this.props.mensajeRetorno} onTryAgain={()=>
177
+ this.setState({ hasError: false, error:{}})
178
+ }/>
179
+ <Typography>Error detectado:</Typography>
180
+ <Typography>{this.state.error instanceof Error ? this.state.error.message : 'unknown error'}</Typography>
181
+ <Typography>{JSON.stringify(this.state.info)}</Typography>
182
+ </>;
183
+ }
184
+ return this.props.children;
185
+ }
186
+ }
187
+
188
+ const theme = createMuiTheme({
189
+ overrides: {
190
+ MuiCssBaseline: {
191
+ '@global': {
192
+ html: {
193
+ WebkitFontSmoothing: 'auto',
194
+ },
195
+ },
196
+ },
197
+ },
198
+ });
199
+
200
+ export function RenderPrincipal<T,T2 extends Action>(props:{store:Store<T,T2>, dispatchers:IDispatchers, mensajeRetorno:string, children:React.ReactNode}){
201
+ return <React.StrictMode>
202
+ <Provider store={props.store}>
203
+ <ThemeProvider theme={theme}>
204
+ <RenderAndCaptureError dispatchers={props.dispatchers} mensajeRetorno={props.mensajeRetorno}>
205
+ <CssBaseline />
206
+ {props.children}
207
+ </RenderAndCaptureError>
208
+ </ThemeProvider>
209
+ </Provider>
210
+ </React.StrictMode>
211
+ }
212
+