kupos-ui-components-lib 9.0.5 → 9.0.7

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.
@@ -0,0 +1 @@
1
+ {"nm":"bomba 3","ddd":0,"h":512,"w":512,"meta":{"g":"@lottiefiles/toolkit-js 0.71.8"},"layers":[{"ty":0,"nm":"Pre-comp 2","sr":1,"st":89,"op":98,"ip":89,"ln":"454","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[163,174]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":96},{"s":[0],"t":98}]}},"w":512,"h":512,"refId":"1","ind":1},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":80,"op":89,"ip":80,"ln":"453","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[193,193]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":87},{"s":[0],"t":89}]}},"w":512,"h":512,"refId":"1","ind":2,"parent":7},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":75,"op":84,"ip":75,"ln":"452","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[103,135]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":82},{"s":[0],"t":84}]}},"w":512,"h":512,"refId":"1","ind":3},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":68,"op":77,"ip":68,"ln":"451","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[136,138]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":75},{"s":[0],"t":77}]}},"w":512,"h":512,"refId":"1","ind":4},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":61,"op":70,"ip":61,"ln":"450","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[226,258]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":68},{"s":[0],"t":70}]}},"w":512,"h":512,"refId":"1","ind":5},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":56,"op":65,"ip":56,"ln":"449","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[286,138]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":63},{"s":[0],"t":65}]}},"w":512,"h":512,"refId":"1","ind":6},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":50,"op":59,"ip":50,"ln":"448","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[286,288]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":57},{"s":[0],"t":59}]}},"w":512,"h":512,"refId":"1","ind":7},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":46,"op":55,"ip":46,"ln":"447","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[246,158]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":53},{"s":[0],"t":55}]}},"w":512,"h":512,"refId":"1","ind":8},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":41,"op":50,"ip":41,"ln":"446","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[336,238]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":48},{"s":[0],"t":50}]}},"w":512,"h":512,"refId":"1","ind":9},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":37,"op":46,"ip":37,"ln":"445","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[246,378]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":44},{"s":[0],"t":46}]}},"w":512,"h":512,"refId":"1","ind":10},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":31,"op":40,"ip":31,"ln":"408","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[306,168]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":38},{"s":[0],"t":40}]}},"w":512,"h":512,"refId":"1","ind":11},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":27,"op":36,"ip":27,"ln":"406","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[276,420]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":34},{"s":[0],"t":36}]}},"w":512,"h":512,"refId":"1","ind":12},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":24,"op":33,"ip":24,"ln":"403","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[310,208]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":31},{"s":[0],"t":33}]}},"w":512,"h":512,"refId":"1","ind":13},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":20,"op":29,"ip":20,"ln":"401","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[236,340]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":27},{"s":[0],"t":29}]}},"w":512,"h":512,"refId":"1","ind":14},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":14,"op":23,"ip":14,"ln":"402","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[316,190]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":21},{"s":[0],"t":23}]}},"w":512,"h":512,"refId":"1","ind":15},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":9,"op":18,"ip":9,"ln":"396","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[80,80]},"p":{"a":0,"k":[306,378]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":16},{"s":[0],"t":18}]}},"w":512,"h":512,"refId":"1","ind":16},{"ty":0,"nm":"Pre-comp 2","sr":1,"st":0,"op":9,"ip":0,"ln":"400","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[45,45]},"p":{"a":0,"k":[390,180]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":7},{"s":[0],"t":9}]}},"w":512,"h":512,"refId":"1","ind":17},{"ty":0,"nm":"bomba 2","sr":1,"st":0,"op":103,"ip":0,"ln":"380","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":512,"h":512,"refId":"6","ind":18}],"v":"5.7.0","fr":30,"op":103,"ip":0,"assets":[{"nm":"Pre-comp 2","id":"1","fr":30,"layers":[{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"344","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[430.739,227.681]},"r":{"a":0,"k":116},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":1},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"343","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[435.753,175.363]},"r":{"a":0,"k":73},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":2},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"341","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[303.523,218.915]},"r":{"a":0,"k":-106},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":3},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"340","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[307.023,165.915]},"r":{"a":0,"k":-63},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":4},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"342","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[345.573,132.231]},"r":{"a":0,"k":-20},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":5},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"339","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[400.591,135.469]},"r":{"a":0,"k":28},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":6},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"346","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,-100]},"p":{"a":0,"k":[391.073,262.231]},"r":{"a":0,"k":-20},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":7},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"345","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,-100]},"p":{"a":0,"k":[337.591,259.469]},"r":{"a":0,"k":28},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":19,"h":109,"refId":"2","ind":8}]},{"nm":"Layer 11 Comp 2","id":"2","fr":30,"layers":[{"ty":2,"nm":"Layer 11","sr":1,"st":0,"op":181,"ip":0,"ln":"315","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,94.5]},"s":{"a":1,"k":[{"s":[100,1,100],"i":{"x":[0.055,0.024,0.667],"y":[1.018,1.025,1]},"o":{"x":[1,1,0.333],"y":[0.283,0,0]},"t":0},{"s":[80,40,100],"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":7}]},"p":{"a":0,"k":[9.5,95.5]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[11],"t":0},{"s":[100],"t":7}]}},"refId":"3","ind":1}]},{"id":"3","e":1,"w":19,"h":105,"p":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAABpCAYAAADY6RhrAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAA70lEQVRYhe3ZTXHDMBRF4fOEQEXQQhCEQDAEQyiEQgmEMEghGIKLoGZwu3Cm43T811ibzNyztfTNSPLuBTNJykALnIA8+TQAF+ASEcPc3r/Qh7YbJL2vIVlStwOadl7C/gvNg9p3tLUagNB42d+bl7neV0S8JcZXO9qrpJIYn79GTeL+PzpSSZUggFwTw5gxY8aMGTNmzJgxY8aMGTNmzJgxY8aMGTNmzNgTYV0CulpYSDoB1wrYCwCSPg+OJM+/pKRyABpuY02mYPsgVGYPLam5LdhTtwhNwKxxrNsvIL2kdm5vbMCF+/lnHxH90vofqo8Sm9+suG8AAAAASUVORK5CYII=","u":""},{"nm":"bomba 2","id":"6","fr":30,"layers":[{"ty":0,"nm":"Pre-comp 4","sr":1,"st":-3,"op":178,"ip":-3,"ln":"444","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[256,256]},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100],"t":59.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90,90],"t":64.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[85,85],"t":69.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[80,80],"t":74.999},{"s":[60,60],"t":80.999}]},"p":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[488.307,306.46],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[470.307,320.46],"t":7},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[446.307,342.46],"t":16},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[385.315,335.962],"t":19},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[370.307,328.46],"t":20},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[354.307,324.46],"t":23},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[323.907,305.46],"t":25},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[309.507,286.461],"t":27},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[303.308,269.461],"t":28},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[294.707,236.461],"t":31},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[292.307,214.46],"t":33},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[284.593,189.889],"t":37},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[282.307,178.46],"t":40},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[270.307,142.46],"t":47},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[254.307,166.46],"t":54},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[250.307,176.46],"t":57},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[244.307,190.46],"t":62.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[250.307,188.46],"t":64.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[310.307,192.46],"t":69.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[302.307,200.46],"t":74.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[284.307,188.46],"t":80.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[280.307,192.46],"t":85.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[272.307,202.46],"t":91.999},{"s":[262.307,216.46],"t":121.999}]},"r":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[28],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[38.063],"t":7},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[51],"t":16},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[91],"t":20},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[97],"t":23},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[126],"t":28},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[155],"t":33},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[155],"t":40},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[155],"t":47},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[120],"t":54},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[106],"t":57},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[89],"t":62.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[84],"t":64.999},{"s":[22],"t":69.999}]},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":512,"h":512,"refId":"8","ind":1},{"ty":4,"nm":"Shape Layer 16","sr":1,"st":0,"op":99,"ip":0,"ln":"5781","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0]],"o":[[0,0]],"v":[[-11.652,-94.953]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":2},{"ty":4,"nm":"Shape Layer 15","sr":1,"st":0,"op":93,"ip":0,"ln":"5780","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-4.724,6.627]],"o":[[0,0],[1.57,-2.202]],"v":[[-11.652,-94.953],[-4.748,-106.812]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":3},{"ty":4,"nm":"Shape Layer 14","sr":1,"st":0,"op":88,"ip":0,"ln":"5779","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-4.724,6.627],[-2.145,2.369]],"o":[[0,0],[1.57,-2.202],[1.623,-1.793]],"v":[[-11.652,-94.953],[-4.748,-106.812],[0.818,-113.738]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":4},{"ty":4,"nm":"Shape Layer 13","sr":1,"st":0,"op":82,"ip":0,"ln":"5778","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-4.724,6.627],[-2.145,2.369],[-1.966,1.747]],"o":[[0,0],[1.57,-2.202],[1.623,-1.793],[1.65,-1.465]],"v":[[-11.652,-94.953],[-4.748,-106.812],[0.818,-113.738],[6.2,-119.079]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":5},{"ty":4,"nm":"Shape Layer 12","sr":1,"st":0,"op":77,"ip":0,"ln":"5777","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-4.724,6.627],[-2.145,2.369],[-4.162,2.968]],"o":[[0,0],[1.57,-2.202],[2.986,-3.297],[2.104,-1.5]],"v":[[-11.652,-94.953],[-4.748,-106.812],[0.818,-113.738],[11.522,-123.326]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":6},{"ty":4,"nm":"Shape Layer 11","sr":1,"st":0,"op":70,"ip":0,"ln":"5776","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-4.145,1.103]],"o":[[0,0],[4.495,-4.964],[3.473,-1.824],[4.113,-1.093]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[29.723,-131.968]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":7},{"ty":4,"nm":"Shape Layer 10","sr":1,"st":0,"op":63,"ip":0,"ln":"5775","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":8},{"ty":4,"nm":"Shape Layer 9","sr":1,"st":0,"op":55,"ip":0,"ln":"5774","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":9},{"ty":4,"nm":"Shape Layer 8","sr":1,"st":0,"op":48,"ip":0,"ln":"5773","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":10},{"ty":4,"nm":"Shape Layer 7","sr":1,"st":0,"op":42,"ip":0,"ln":"5772","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158],[-1.759,-5.811],[-1.548,-6.276],[-0.772,-2.958]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723],[1.602,5.29],[0.813,3.294],[1.195,4.581]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354],[107.388,-76.58],[112.108,-59.252],[114.483,-49.879]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":11},{"ty":4,"nm":"Shape Layer 6","sr":1,"st":0,"op":36,"ip":0,"ln":"5771","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158],[-1.759,-5.811],[-1.548,-6.276],[-1.852,-6.303],[-2.354,-5.261]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723],[1.602,5.29],[2.072,8.396],[2.413,8.208],[3.372,7.534]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354],[107.388,-76.58],[112.108,-59.252],[117.954,-37.281],[125.015,-17.249]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":12},{"ty":4,"nm":"Shape Layer 4","sr":1,"st":0,"op":31,"ip":0,"ln":"5769","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158],[-1.759,-5.811],[-1.548,-6.276],[-1.852,-6.303],[-2.354,-5.261],[-4.137,-3.19],[-3.94,-1.337]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723],[1.602,5.29],[2.072,8.396],[2.413,8.208],[3.372,7.534],[3.149,2.428],[4.686,1.589]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354],[107.388,-76.58],[112.108,-59.252],[117.954,-37.281],[125.015,-17.249],[136.017,-1.664],[146.335,4.2]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":13},{"ty":4,"nm":"Shape Layer 3","sr":1,"st":0,"op":26,"ip":0,"ln":"5768","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158],[-1.759,-5.811],[-1.548,-6.276],[-1.852,-6.303],[-2.354,-5.261],[-4.137,-3.19],[-3.94,-1.337],[-7.756,1.293]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723],[1.602,5.29],[2.072,8.396],[2.413,8.208],[3.372,7.534],[3.149,2.428],[4.686,1.589],[6.934,-1.156]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354],[107.388,-76.58],[112.108,-59.252],[117.954,-37.281],[125.015,-17.249],[136.017,-1.664],[146.335,4.2],[164.468,5.008]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":14},{"ty":4,"nm":"Shape Layer 5","sr":1,"st":0,"op":18,"ip":0,"ln":"5770","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158],[-1.759,-5.811],[-1.548,-6.276],[-1.852,-6.303],[-2.354,-5.261],[-4.137,-3.19],[-3.94,-1.337],[-7.756,1.293],[-4.355,3.139],[-2.072,3.749]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723],[1.602,5.29],[2.072,8.396],[2.413,8.208],[3.372,7.534],[3.149,2.428],[4.686,1.589],[6.934,-1.156],[3.422,-2.469],[5.293,-9.577]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354],[107.388,-76.58],[112.108,-59.252],[117.954,-37.281],[125.015,-17.249],[136.017,-1.664],[146.335,4.2],[164.468,5.008],[181.291,-1.41],[189.48,-10.724]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":15},{"ty":4,"nm":"Shape Layer 2","sr":1,"st":0,"op":13,"ip":0,"ln":"5767","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[256,256]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-8.6,9.497],[-7.202,3.783],[-9.641,0.197],[-6.027,-1.232],[-5.426,-4.27],[-3.718,-5.943],[-2.808,-7.158],[-1.759,-5.811],[-1.548,-6.276],[-1.852,-6.303],[-2.354,-5.261],[-4.137,-3.19],[-3.94,-1.337],[-7.756,1.293],[-4.355,3.139],[-2.072,3.749],[0,0]],"o":[[0,0],[4.495,-4.964],[6.92,-3.633],[7.325,-0.15],[6.685,1.367],[4.312,3.393],[3.108,4.968],[1.853,4.723],[1.602,5.29],[2.072,8.396],[2.413,8.208],[3.372,7.534],[3.149,2.428],[4.686,1.589],[6.934,-1.156],[3.423,-2.469],[5.293,-9.577],[0,0]],"v":[[-11.652,-94.953],[0.818,-113.738],[18.302,-127.506],[43.088,-133.826],[63.051,-132.434],[81.128,-124.296],[93.129,-110.45],[101.977,-92.354],[107.388,-76.58],[112.108,-59.252],[117.954,-37.281],[125.015,-17.249],[136.017,-1.664],[146.335,4.2],[164.468,5.008],[181.291,-1.41],[189.48,-10.724],[196.202,-30.692]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":16},{"ty":2,"nm":"Layer 1","sr":1,"st":0,"op":181,"ip":0,"ln":"365","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[143.922,158.682]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[174.341,299.517]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"refId":"9","ind":17}]},{"nm":"Pre-comp 4","id":"8","fr":30,"layers":[{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"432","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[252.239,229.681]},"r":{"a":0,"k":116},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":67.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":81.999},{"s":[100],"t":94.999}]}},"w":19,"h":109,"refId":"2","ind":1},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"431","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[253.253,177.363]},"r":{"a":0,"k":73},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":27},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":42},{"s":[100],"t":56}]}},"w":19,"h":109,"refId":"2","ind":2},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"430","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[163.073,134.231]},"r":{"a":0,"k":-20},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":84.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":96.999},{"s":[100],"t":110.999}]}},"w":19,"h":109,"refId":"2","ind":3},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"429","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[119.523,220.415]},"r":{"a":0,"k":-106},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":45},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":56},{"s":[100],"t":68.999}]}},"w":19,"h":109,"refId":"2","ind":4},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"428","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[124.523,167.915]},"r":{"a":0,"k":-63},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":7},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":21},{"s":[100],"t":34}]}},"w":19,"h":109,"refId":"2","ind":5},{"ty":0,"nm":"Layer 11 Comp 2","sr":1,"st":0,"op":181,"ip":0,"ln":"427","hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[9.5,54.5]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[218.091,137.469]},"r":{"a":0,"k":28},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":94.999},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":114.999},{"s":[100],"t":129.999}]}},"w":19,"h":109,"refId":"2","ind":6}]},{"id":"9","e":1,"w":289,"h":318,"p":"data:image/png;base64,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","u":""}]}
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ interface ExpandedDropdownProps {
3
+ serviceItem: {
4
+ pet_seat_info?: Record<string, any>;
5
+ is_change_ticket?: boolean;
6
+ is_tracking_enabled?: boolean;
7
+ };
8
+ showPromo: boolean;
9
+ colors: {
10
+ priceColor?: string;
11
+ };
12
+ grayscaleClass: string;
13
+ translation?: {
14
+ [key: string]: string;
15
+ };
16
+ getAnimationIcon: (icon: string) => any;
17
+ }
18
+ declare function ExpandedDropdown({ serviceItem, showPromo, colors, grayscaleClass, translation, getAnimationIcon, }: ExpandedDropdownProps): React.ReactElement;
19
+ export default ExpandedDropdown;
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import LottiePlayer from "../../assets/LottiePlayer";
3
+ function ExpandedDropdown({ serviceItem, showPromo, colors, grayscaleClass, translation, getAnimationIcon, }) {
4
+ const hasPetInfo = serviceItem.pet_seat_info &&
5
+ Object.keys(serviceItem.pet_seat_info).length > 0;
6
+ return (React.createElement("div", { className: "px-[15px] pt-[26px] pb-[14px] -mt-[16px] pt-[20px] relative -z-9", style: {
7
+ backgroundColor: "#f5f5f5",
8
+ borderRadius: "0 0 10px 10px",
9
+ border: showPromo
10
+ ? `1px solid ${colors.priceColor}`
11
+ : "1px solid #ccc",
12
+ borderTop: "none",
13
+ } },
14
+ React.createElement("div", { className: "flex flex-col gap-[12px] text-[13px] text-[#464647]" },
15
+ hasPetInfo && (React.createElement("div", { className: "flex items-center gap-[10px]" },
16
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("petFriendlyAnim"), width: "20px", height: "20px" }),
17
+ React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647] bold-text" },
18
+ React.createElement("span", null, translation === null || translation === void 0 ? void 0 : translation.petFriendly)))),
19
+ serviceItem.is_change_ticket && (React.createElement("div", { className: "flex items-center gap-[10px]" },
20
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("flexibleIcon"), width: "20px", height: "20px" }),
21
+ React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647] bold-text" },
22
+ React.createElement("span", null, translation === null || translation === void 0 ? void 0 : translation.flexible)))),
23
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_tracking_enabled) && (React.createElement("div", { className: `${grayscaleClass} flex items-center gap-[10px]` },
24
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }),
25
+ React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647] bold-text" },
26
+ React.createElement("span", null, "GPS Tracker")))))));
27
+ }
28
+ export default ExpandedDropdown;
@@ -12,7 +12,7 @@ const RatingHover = ({ serviceItem, isSoldOut, colors, t = (key) => key, transla
12
12
  if (tooltip)
13
13
  tooltip.style.display = "none";
14
14
  } }),
15
- React.createElement("div", { className: "hidden group-hover:block absolute left-[80px] -bottom-[160px] z-20 mt-2 w-[280px] rounded-lg shadow-service-2 bg-white overflow-hidden rounded-[14px] border-[2px]", style: {
15
+ React.createElement("div", { className: "hidden group-hover:block absolute left-[80px] -bottom-[160px] z-20 mt-2 w-[320px] rounded-lg shadow-service-2 bg-white overflow-hidden rounded-[14px] border-[2px]", style: {
16
16
  borderColor: isSoldOut ? "#c0c0c0" : colors.ratingBorderColor,
17
17
  color: isSoldOut ? "#c0c0c0" : "",
18
18
  } },
@@ -22,42 +22,42 @@ const RatingHover = ({ serviceItem, isSoldOut, colors, t = (key) => key, transla
22
22
  React.createElement("div", { className: "text-[12px] bold-text" }, translation === null || translation === void 0 ? void 0 : translation.ratingMouseOverText),
23
23
  React.createElement("div", { className: "text-[12px] font-light" }, serviceItem.operator_service_name)),
24
24
  React.createElement("div", { className: "px-3 py-2 flex flex-col gap-[10px] font9" },
25
- React.createElement(RatingItem, { rating: serviceItem.operator_details[6] &&
26
- serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
27
- serviceItem.operator_details[6])[0]] &&
28
- parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
29
- serviceItem.operator_details[6])[0]]).toFixed(1)
30
- ? +parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
31
- serviceItem.operator_details[6])[0]]).toFixed(1)
25
+ React.createElement(RatingItem, { rating: serviceItem.operator_details[7] &&
26
+ serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
27
+ serviceItem.operator_details[7])[0]] &&
28
+ parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
29
+ serviceItem.operator_details[7])[0]]).toFixed(1)
30
+ ? +parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
31
+ serviceItem.operator_details[7])[0]]).toFixed(1)
32
32
  : 0, label: translation === null || translation === void 0 ? void 0 : translation.busQuality, isSoldOut: isSoldOut }),
33
- React.createElement(RatingItem, { rating: serviceItem.operator_details[6] &&
34
- serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
35
- serviceItem.operator_details[6])[1]] &&
36
- parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
37
- serviceItem.operator_details[6])[1]]).toFixed(1)
38
- ? +parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
39
- serviceItem.operator_details[6])[1]]).toFixed(1)
33
+ React.createElement(RatingItem, { rating: serviceItem.operator_details[7] &&
34
+ serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
35
+ serviceItem.operator_details[7])[1]] &&
36
+ parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
37
+ serviceItem.operator_details[7])[1]]).toFixed(1)
38
+ ? +parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
39
+ serviceItem.operator_details[7])[1]]).toFixed(1)
40
40
  : 0, label: translation === null || translation === void 0 ? void 0 : translation.punctuality, isSoldOut: isSoldOut }),
41
- React.createElement(RatingItem, { rating: serviceItem.operator_details[6] &&
42
- serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
43
- serviceItem.operator_details[6])[2]] &&
44
- parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
45
- serviceItem.operator_details[6])[2]]).toFixed(1)
46
- ? +parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
47
- serviceItem.operator_details[6])[2]]).toFixed(1)
41
+ React.createElement(RatingItem, { rating: serviceItem.operator_details[7] &&
42
+ serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
43
+ serviceItem.operator_details[7])[2]] &&
44
+ parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
45
+ serviceItem.operator_details[7])[2]]).toFixed(1)
46
+ ? +parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
47
+ serviceItem.operator_details[7])[2]]).toFixed(1)
48
48
  : 0, label: translation === null || translation === void 0 ? void 0 : translation.serviceQuality, isSoldOut: isSoldOut }),
49
- React.createElement(RatingItem, { rating: serviceItem.operator_details[6] &&
50
- serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
51
- serviceItem.operator_details[6])[3]] &&
52
- parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
53
- serviceItem.operator_details[6])[3]]).toFixed(1)
54
- ? +parseFloat(serviceItem.operator_details[6][Object.keys(serviceItem.operator_details[6] &&
55
- serviceItem.operator_details[6])[3]]).toFixed(1)
49
+ React.createElement(RatingItem, { rating: serviceItem.operator_details[7] &&
50
+ serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
51
+ serviceItem.operator_details[7])[3]] &&
52
+ parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
53
+ serviceItem.operator_details[7])[3]]).toFixed(1)
54
+ ? +parseFloat(serviceItem.operator_details[7][Object.keys(serviceItem.operator_details[7] &&
55
+ serviceItem.operator_details[7])[3]]).toFixed(1)
56
56
  : 0, label: translation === null || translation === void 0 ? void 0 : translation.serviceRecommendation, isSoldOut: isSoldOut })),
57
- React.createElement("div", { className: "px-1 py-2 text-center text-[12px] font9", style: {
57
+ React.createElement("div", { className: "px-3 py-2 text-center text-[12px] font9 text-wrap", style: {
58
58
  backgroundColor: isSoldOut ? "#f5f5f5" : colors.ratingBottomColor,
59
59
  color: isSoldOut ? "#c0c0c1" : "#ff8f45",
60
- } }, `${translation === null || translation === void 0 ? void 0 : translation.ratingMouseOverCalculationText} ${Object.values(serviceItem.operator_details)[5]} ${translation === null || translation === void 0 ? void 0 : translation.ratingMouseOverCalculationUsers}`))),
60
+ } }, `${translation === null || translation === void 0 ? void 0 : translation.ratingMouseOverCalculationText} ${Object.values(serviceItem.operator_details)[6]} ${translation === null || translation === void 0 ? void 0 : translation.ratingMouseOverCalculationUsers}`))),
61
61
  React.createElement("span", { className: "text-[#464647] text-[13.33px]" }, typeof serviceItem.operator_details[1] === "number"
62
62
  ? serviceItem.operator_details[1].toFixed(1)
63
63
  : serviceItem.operator_details[1])));
package/dist/styles.css CHANGED
@@ -333,8 +333,8 @@
333
333
  .w-\[260px\] {
334
334
  width: 260px;
335
335
  }
336
- .w-\[280px\] {
337
- width: 280px;
336
+ .w-\[320px\] {
337
+ width: 320px;
338
338
  }
339
339
  .w-\[auto\] {
340
340
  width: auto;
@@ -690,6 +690,9 @@
690
690
  --tw-font-weight: 900;
691
691
  font-weight: 900;
692
692
  }
693
+ .text-wrap {
694
+ text-wrap: wrap;
695
+ }
693
696
  .break-normal {
694
697
  overflow-wrap: normal;
695
698
  word-break: normal;
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ interface ItemEntry {
3
+ key: string;
4
+ render: React.ReactNode;
5
+ }
6
+ interface BottomAmenitiesProps {
7
+ otherItems: ItemEntry[];
8
+ serviceItem: {
9
+ id: string;
10
+ is_tracking_enabled?: boolean;
11
+ is_change_ticket?: boolean;
12
+ pet_seat_info?: Record<string, any>;
13
+ };
14
+ grayscaleClass: string;
15
+ isSoldOut: boolean;
16
+ isItemExpanded: boolean;
17
+ colors: Record<string, any>;
18
+ translation?: {
19
+ [key: string]: string;
20
+ };
21
+ getAnimationIcon: (icon: string) => any;
22
+ downArrowIcon?: React.ReactNode;
23
+ onToggleExpand: () => void;
24
+ }
25
+ declare function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, }: BottomAmenitiesProps): React.ReactElement;
26
+ export default BottomAmenities;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import LottiePlayer from "../../assets/LottiePlayer";
3
+ import FlexibleBlock from "../FlexibleBlock";
4
+ import PetBlock from "../PetBlock";
5
+ function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, }) {
6
+ const hasPetInfo = serviceItem.pet_seat_info &&
7
+ Object.keys(serviceItem.pet_seat_info).length > 0;
8
+ const showDownArrow = ((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_change_ticket) && serviceItem.pet_seat_info) ||
9
+ (serviceItem.pet_seat_info &&
10
+ Object.keys(serviceItem.pet_seat_info).length > 0);
11
+ return (React.createElement("div", { className: "flex items-center mt-[15px] border-t border-[#eee] pt-[6px]" },
12
+ React.createElement("div", { className: "grid items-center gap-[2%] flex-1 ", style: {
13
+ gridTemplateColumns: "18% 18% 23% 23%",
14
+ } }, otherItems.map((item) => (React.createElement("div", { key: item.key, className: "flex items-center" }, item.render)))),
15
+ React.createElement("div", { className: "flex items-center justify-end shrink-0 ml-[5px] w-[150px]" },
16
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_tracking_enabled) && (React.createElement("div", { className: grayscaleClass + " mr-[10px]" },
17
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }))),
18
+ serviceItem.is_change_ticket && (React.createElement(FlexibleBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, serviceItem: serviceItem, isSoldOut: isSoldOut })),
19
+ hasPetInfo && (React.createElement(PetBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, isSoldOut: isSoldOut })),
20
+ showDownArrow ? (React.createElement("div", { className: "flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px]", onClick: onToggleExpand }, downArrowIcon)) : null)));
21
+ }
22
+ export default BottomAmenities;
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ interface ExpandedDropdownProps {
3
+ serviceItem: {
4
+ pet_seat_info?: Record<string, any>;
5
+ is_change_ticket?: boolean;
6
+ is_tracking_enabled?: boolean;
7
+ };
8
+ showPromo: boolean;
9
+ colors: {
10
+ priceColor?: string;
11
+ };
12
+ grayscaleClass: string;
13
+ translation?: {
14
+ [key: string]: string;
15
+ };
16
+ getAnimationIcon: (icon: string) => any;
17
+ }
18
+ declare function ExpandedDropdown({ serviceItem, showPromo, colors, grayscaleClass, translation, getAnimationIcon, }: ExpandedDropdownProps): React.ReactElement;
19
+ export default ExpandedDropdown;
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ import LottiePlayer from "../../assets/LottiePlayer";
3
+ function ExpandedDropdown({ serviceItem, showPromo, colors, grayscaleClass, translation, getAnimationIcon, }) {
4
+ const hasPetInfo = serviceItem.pet_seat_info &&
5
+ Object.keys(serviceItem.pet_seat_info).length > 0;
6
+ return (React.createElement("div", { className: "px-[15px] pt-[26px] pb-[14px] -mt-[16px] pt-[20px] relative -z-9", style: {
7
+ backgroundColor: "#f5f5f5",
8
+ borderRadius: "0 0 10px 10px",
9
+ // border: showPromo ? `1px solid ${colors.priceColor}` : "1px solid #ccc",
10
+ border: `1px solid ${colors.priceColor}`,
11
+ borderTop: "none",
12
+ } },
13
+ React.createElement("div", { className: "flex flex-col gap-[12px] text-[13px] text-[#464647]" },
14
+ hasPetInfo && (React.createElement("div", { className: "flex items-center gap-[10px]" },
15
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("petFriendlyAnim"), width: "20px", height: "20px" }),
16
+ React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647] bold-text" },
17
+ React.createElement("span", null, translation === null || translation === void 0 ? void 0 : translation.petFriendly)))),
18
+ serviceItem.is_change_ticket && (React.createElement("div", { className: "flex items-center gap-[10px]" },
19
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("flexibleIcon"), width: "20px", height: "20px" }),
20
+ React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647] bold-text" },
21
+ React.createElement("span", null, translation === null || translation === void 0 ? void 0 : translation.flexible)))),
22
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_tracking_enabled) && (React.createElement("div", { className: `${grayscaleClass} flex items-center gap-[10px]` },
23
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }),
24
+ React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647] bold-text" },
25
+ React.createElement("span", null, "GPS Tracker")))))));
26
+ }
27
+ export default ExpandedDropdown;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ interface KuposButtonProps {
3
+ isSoldOut: boolean;
4
+ isLoading: boolean;
5
+ buttonColor?: string;
6
+ buyLabel?: string;
7
+ soldOutLabel?: string;
8
+ soldOutIcon?: React.ReactNode;
9
+ onClick: () => void;
10
+ }
11
+ declare function KuposButton({ isSoldOut, isLoading, buttonColor, buyLabel, soldOutLabel, soldOutIcon, onClick, }: KuposButtonProps): React.ReactElement;
12
+ export default KuposButton;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ function KuposButton({ isSoldOut, isLoading, buttonColor, buyLabel, soldOutLabel, soldOutIcon, onClick, }) {
3
+ const isDisabled = isLoading || isSoldOut;
4
+ return (React.createElement("button", { onClick: () => (!isSoldOut ? onClick() : null), disabled: isLoading, className: "w-full py-[12px] text-[12px] font-bold text-white rounded-[14px] border-none px-[20px] flex items-center justify-center", style: {
5
+ backgroundColor: isDisabled ? "lightgray" : buttonColor,
6
+ cursor: isDisabled ? "not-allowed" : "pointer",
7
+ } },
8
+ React.createElement("span", { className: "min-w-[75px] flex justify-center items-center bold-text uppercase" },
9
+ isSoldOut ? soldOutIcon : null,
10
+ isLoading ? (React.createElement("span", { className: "loader-circle" })) : !isSoldOut ? (buyLabel) : (soldOutLabel))));
11
+ }
12
+ export default KuposButton;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ interface SeatType {
3
+ label: string;
4
+ fare: number;
5
+ key: any;
6
+ }
7
+ interface SeatSectionProps {
8
+ seatTypes: SeatType[];
9
+ availableSeats: number;
10
+ isSoldOut: boolean;
11
+ priceColor?: string;
12
+ currencySign?: string;
13
+ removeDuplicateSeats?: boolean;
14
+ isPeru?: boolean;
15
+ }
16
+ declare function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currencySign, removeDuplicateSeats, isPeru, }: SeatSectionProps): React.ReactElement;
17
+ export default SeatSection;
@@ -0,0 +1,92 @@
1
+ import React from "react";
2
+ import CommonService from "../../utils/CommonService";
3
+ const SEAT_EXCEPTIONS = ["Asiento mascota"];
4
+ function getAllSeatTypes(seatTypes) {
5
+ if (!(seatTypes === null || seatTypes === void 0 ? void 0 : seatTypes.length)) {
6
+ return [{ label: "Salon cama", price: 0 }];
7
+ }
8
+ let seatTypesWithPrices = seatTypes.filter(Boolean).map((val) => ({
9
+ label: val === null || val === void 0 ? void 0 : val.label,
10
+ price: val === null || val === void 0 ? void 0 : val.fare,
11
+ }));
12
+ seatTypesWithPrices.sort((a, b) => a.price - b.price);
13
+ return seatTypesWithPrices;
14
+ }
15
+ function getSortedSeatTypes(seatTypes) {
16
+ if (!(seatTypes === null || seatTypes === void 0 ? void 0 : seatTypes.length)) {
17
+ return [{ label: "Salon cama", price: 0 }];
18
+ }
19
+ let seatTypesWithPrices = getAllSeatTypes(seatTypes);
20
+ const premiumIndex = seatTypesWithPrices.findIndex((item) => item.label === "Premium");
21
+ if (premiumIndex >= 3) {
22
+ seatTypesWithPrices[2] = seatTypesWithPrices[premiumIndex];
23
+ }
24
+ seatTypesWithPrices = seatTypesWithPrices.slice(0, 2);
25
+ return seatTypesWithPrices;
26
+ }
27
+ function getUniqueSeats(seatTypes) {
28
+ const allSeatTypes = getAllSeatTypes(seatTypes);
29
+ const seatMap = new Map();
30
+ allSeatTypes.forEach((seat) => {
31
+ if (SEAT_EXCEPTIONS.includes(seat.label))
32
+ return;
33
+ // Only check if the label already exists in the map, don't compare prices
34
+ if (!seatMap.has(seat.label)) {
35
+ seatMap.set(seat.label, seat);
36
+ }
37
+ });
38
+ return Array.from(seatMap.values());
39
+ }
40
+ function getNumberOfSeats(seatTypes) {
41
+ return seatTypes.filter((val) => !SEAT_EXCEPTIONS.includes(val.label)).length;
42
+ }
43
+ function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currencySign, removeDuplicateSeats, isPeru, }) {
44
+ const uniqueSeats = getUniqueSeats(seatTypes);
45
+ const sortedSeatTypes = getSortedSeatTypes(seatTypes);
46
+ const numberOfSeats = getNumberOfSeats(seatTypes);
47
+ const isCentered = numberOfSeats < 2 || removeDuplicateSeats;
48
+ const formatPrice = (price) => availableSeats <= 0
49
+ ? CommonService.currency(0, currencySign)
50
+ : CommonService.currency(price, currencySign);
51
+ const renderSeatNames = () => {
52
+ const seats = removeDuplicateSeats ? uniqueSeats : sortedSeatTypes;
53
+ return seats.map((val, key) => SEAT_EXCEPTIONS.includes(val.label) ? null : (React.createElement("span", { key: key, className: `flex items-center justify-between text-[13.33px] ${isSoldOut ? "text-[#c0c0c0]" : ""}` }, typeof val.label === "string" || typeof val.label === "number"
54
+ ? removeDuplicateSeats && isPeru
55
+ ? CommonService.truncateSeatLabel(val.label)
56
+ : val.label
57
+ : null)));
58
+ };
59
+ const renderSeatPrices = () => {
60
+ if (removeDuplicateSeats) {
61
+ return uniqueSeats.map((val, key) => (React.createElement("span", { key: key }, formatPrice(val.price))));
62
+ }
63
+ return sortedSeatTypes.map((val, key) => SEAT_EXCEPTIONS.includes(val.label) ? null : (React.createElement("span", { key: key, className: "flex items-center text-[13.33px] bold-text" }, typeof val.price === "string" || typeof val.price === "number"
64
+ ? formatPrice(val.price)
65
+ : null)));
66
+ };
67
+ const renderLabels = () => {
68
+ if (isPeru) {
69
+ return (React.createElement(React.Fragment, null,
70
+ React.createElement("span", { className: "text-[13.33px]", style: { color: "#999" } }, "Antes"),
71
+ React.createElement("span", { className: "text-[13.33px]" }, "Desde")));
72
+ }
73
+ return renderSeatNames();
74
+ };
75
+ const strikethroughStyle = Object.assign({ color: "#ccc", display: "flex", textAlign: "end", textDecoration: "line-through" }, (isPeru
76
+ ? { position: "relative", top: 0 }
77
+ : { position: "absolute", top: isCentered ? "-10px" : "-18px" }));
78
+ return (React.createElement("div", { className: "relative flex gap-[10px] text-[13.33px] justify-between min-h-[2.5rem]", style: isCentered ? { alignItems: "center" } : {} },
79
+ React.createElement("div", { className: "flex flex-col justify-between", style: { gap: "10px" } }, renderLabels()),
80
+ React.createElement("div", { className: "flex flex-col justify-between absolute inset-y-0 right-0 left-1/2 h-full", style: {
81
+ color: isSoldOut ? "#c0c0c0" : priceColor,
82
+ top: 0,
83
+ bottom: 0,
84
+ left: "clamp(60%, 65% + (100vw - 1300px) * 0.1, 65%)",
85
+ right: 0,
86
+ justifyContent: isCentered ? "center" : "",
87
+ gap: "10px",
88
+ } },
89
+ React.createElement("span", { className: "text-[13.33px]", style: strikethroughStyle }, "$1.000"),
90
+ renderSeatPrices())));
91
+ }
92
+ export default SeatSection;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ interface TopAmenitiesProps {
3
+ showPromo: boolean;
4
+ showTopLabel: string | boolean;
5
+ isSoldOut: boolean;
6
+ priceColor?: string;
7
+ buttonColor?: string;
8
+ boardingIcon?: React.ReactNode;
9
+ getAnimationIcon: (icon: string) => any;
10
+ }
11
+ declare function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonColor, boardingIcon, getAnimationIcon, }: TopAmenitiesProps): React.ReactElement;
12
+ export default TopAmenities;
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ import LottiePlayer from "../../assets/LottiePlayer";
3
+ function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonColor, boardingIcon, getAnimationIcon, }) {
4
+ return (React.createElement("div", { style: {
5
+ display: "flex",
6
+ justifyContent: "flex-end",
7
+ position: "relative",
8
+ zIndex: "-1",
9
+ } },
10
+ React.createElement("div", { style: {
11
+ backgroundColor: priceColor,
12
+ position: "relative",
13
+ right: showTopLabel ? "-21px" : "",
14
+ padding: "0 14px",
15
+ borderTopRightRadius: "10px",
16
+ borderTopLeftRadius: "10px",
17
+ } },
18
+ React.createElement("div", { style: { display: "flex", alignItems: "center" } },
19
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("bombAnimation"), width: "14px", height: "14px" }),
20
+ React.createElement("span", { className: "flex items-center py-[10px] pl-[6px] text-white text-[13.33px] z-20", style: { paddingRight: showTopLabel ? "18px" : "" } },
21
+ React.createElement("span", { className: "bold-text" }, "kuponazo 20%\u00A0"),
22
+ " | Termina en\u00A0",
23
+ React.createElement("span", { className: "bold-text" }, "02:10:30")))),
24
+ showTopLabel && (React.createElement("div", { className: "flex items-center py-[10px] px-[14px] text-[13.33px] z-20", style: {
25
+ backgroundColor: isSoldOut ? "#ddd" : buttonColor,
26
+ borderTopRightRadius: "10px",
27
+ borderTopLeftRadius: "10px",
28
+ } },
29
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("priorityStageAnim"), width: "14px", height: "14px" }),
30
+ React.createElement("div", { className: "text-white pl-[6px]" }, showTopLabel)))));
31
+ }
32
+ export default TopAmenities;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ interface BottomAmenitiesMobileProps {
3
+ isSoldOut: boolean;
4
+ amenitiesNodes: React.ReactNode;
5
+ hoursIcon: React.ReactNode;
6
+ duration: string;
7
+ isDirectTrip?: boolean;
8
+ directoColor?: string;
9
+ directoAnim?: any;
10
+ isChangeTicket?: boolean;
11
+ isPetSeat: boolean;
12
+ petSeatInfo?: Record<string, any>;
13
+ petFriendlyAnim?: any;
14
+ flexibleAnim?: any;
15
+ isTrackingEnabled?: boolean;
16
+ locationAnim?: any;
17
+ downArrowIcon?: string;
18
+ showDropdown: boolean;
19
+ setShowDropdown: (val: boolean) => void;
20
+ onDropdownToggle: () => void;
21
+ }
22
+ declare function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, }: BottomAmenitiesMobileProps): React.ReactElement;
23
+ export default BottomAmenitiesMobile;
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+ import LottiePlayer from "../../assets/LottiePlayer";
3
+ function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, }) {
4
+ return (React.createElement("div", { className: `${"flex justify-between items-center items-center "}` },
5
+ React.createElement("div", { className: "w-[55%] flex justify-between items-center" },
6
+ React.createElement("div", { style: { opacity: isSoldOut ? 0.5 : 1 } }, amenitiesNodes),
7
+ React.createElement("div", { className: "flex relative ", style: { color: isSoldOut ? "#bbb" : "text-[#464647]" } },
8
+ React.createElement("div", { className: `w-[12px] h-auto mr-[2px] ${isSoldOut ? "grayscale" : ""}` }, hoursIcon),
9
+ "\u00A0",
10
+ React.createElement("div", { className: `cursor-default group min-[420]:text-[13px] text-[12px] ${isSoldOut ? "text-[#c0c0c0]" : ""}`, style: { lineHeight: "normal" } },
11
+ duration,
12
+ "hrs")),
13
+ isDirectTrip && (React.createElement("div", { className: `flex items-center gap-[2px] text-white min-[420]:text-[12px] text-[10px] z-20 `, style: {
14
+ // backgroundColor: isSoldOut ? "#ddd" : colors.tooltipBgColor,
15
+ color: isSoldOut ? "#bbb" : directoColor,
16
+ } },
17
+ React.createElement(LottiePlayer, { animationData: directoAnim, width: "14px", height: "14px" }),
18
+ React.createElement("div", { className: "ml-[5px]" }, "Directo")))),
19
+ React.createElement("div", null, (isChangeTicket || isPetSeat) && (React.createElement("div", { onClick: onDropdownToggle, className: "flex items-center" },
20
+ petSeatInfo && Object.keys(petSeatInfo).length > 0 ? (React.createElement("div", { className: "flex items-center" },
21
+ React.createElement("div", { className: `relative group cursor-default ` },
22
+ React.createElement("div", { className: "flex items-center" },
23
+ React.createElement("div", { className: `mr-[5px] ${isSoldOut ? "grayscale" : ""}` },
24
+ React.createElement(LottiePlayer, { animationData: petFriendlyAnim, width: "16px", height: "16px" })))))) : null,
25
+ isChangeTicket && (React.createElement("div", { className: "flex items-center" },
26
+ React.createElement("div", { className: "relative group cursor-default" },
27
+ React.createElement("div", { className: "flex items-center" },
28
+ React.createElement("div", { className: `mr-[5px] ${isSoldOut ? "grayscale" : ""}` },
29
+ React.createElement(LottiePlayer, { animationData: flexibleAnim, width: "16px", height: "16px" })))))),
30
+ isTrackingEnabled && (React.createElement("div", { className: "flex items-center mr-[10px]" },
31
+ React.createElement("div", { className: `h-auto mr-[4px] min-[420]:text-[13px] text-[11px] text-[#464647] ${isSoldOut ? "grayscale" : ""}` },
32
+ React.createElement(LottiePlayer, { animationData: locationAnim, width: "16px", height: "16px" })))),
33
+ (isChangeTicket || isPetSeat) && (
34
+ // <img src={serviceItem.icons.plus} alt="icon" width={11} />
35
+ React.createElement("img", { src: downArrowIcon, alt: "icon", width: 14, height: 14 })))))));
36
+ }
37
+ export default BottomAmenitiesMobile;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ interface DateTimeSectionMobileProps {
3
+ onBookButtonPress: () => void;
4
+ isCiva: boolean;
5
+ isSoldOut: boolean;
6
+ isLinatal: boolean;
7
+ isPeru: boolean;
8
+ orignLabel?: React.ReactNode;
9
+ destinationLabel?: React.ReactNode;
10
+ originIcon?: string;
11
+ destinationIcon?: string;
12
+ travelDate: string;
13
+ arrivalDate: string;
14
+ depTime: string;
15
+ arrTime: string;
16
+ seatTypes: any[];
17
+ seatPriceColor: string;
18
+ currencySign: string;
19
+ availableSeats: number;
20
+ removeDuplicateSeats?: boolean;
21
+ }
22
+ declare function DateTimeSectionMobile({ onBookButtonPress, isCiva, isSoldOut, isLinatal, isPeru, orignLabel, destinationLabel, originIcon, destinationIcon, travelDate, arrivalDate, depTime, arrTime, seatTypes, seatPriceColor, currencySign, availableSeats, removeDuplicateSeats, }: DateTimeSectionMobileProps): React.ReactElement;
23
+ export default DateTimeSectionMobile;
@@ -0,0 +1,57 @@
1
+ import React from "react";
2
+ import DateService from "../../utils/DateService";
3
+ import SeatSectionMobile from "./SeatSectionMobile";
4
+ const pad = (n) => (n < 10 ? "0" + n : String(n));
5
+ const getCleanedDepTime = (raw) => {
6
+ const depTimeStr = raw || "";
7
+ const hasAM = depTimeStr.includes("AM");
8
+ const hasPM = depTimeStr.includes("PM");
9
+ const [timePart] = depTimeStr.split(/AM|PM/).map((s) => s.trim());
10
+ const [hour, minute] = timePart.split(":").map(Number);
11
+ let cleaned;
12
+ if (hasAM) {
13
+ cleaned = hour === 12 ? `00:${pad(minute)}` : `${pad(hour)}:${pad(minute)}`;
14
+ }
15
+ else if (hasPM) {
16
+ cleaned =
17
+ hour === 12 ? `${hour}:${pad(minute)}` : `${hour + 12}:${pad(minute)}`;
18
+ }
19
+ else {
20
+ cleaned = timePart;
21
+ }
22
+ return { cleaned, hasAM, hasPM };
23
+ };
24
+ const TimeRow = ({ label, icon, alt, date, timeContent, isSoldOut, }) => (React.createElement("div", { className: `flex items-center min-[420]:text-[13px] text-[12px] justify-between ${isSoldOut ? "text-[#c0c0c0]" : ""}` },
25
+ React.createElement("div", { className: "flex items-center", style: { flex: 1 } },
26
+ React.createElement("div", null,
27
+ " ",
28
+ label ? (React.createElement("div", { className: "w-[60px]" }, label)) : (React.createElement("div", { className: "w-[12px] h-auto mr-[5px]" },
29
+ React.createElement("img", { src: icon, alt: alt, className: `w-[12px] h-auto mr-[5px] ${isSoldOut ? "grayscale" : ""}` })))),
30
+ React.createElement("div", { className: "flex items-center relative capitalize justify-between", style: { flex: 1 } },
31
+ React.createElement("span", { className: "cursor-pointer black-text" }, DateService.getServiceItemDate(date)),
32
+ React.createElement("div", { className: "absolute left-[50%]" }, "\u2022"),
33
+ React.createElement("div", { className: "font-[900] relative black-text" }, timeContent)))));
34
+ function DateTimeSectionMobile({ onBookButtonPress, isCiva, isSoldOut, isLinatal, isPeru, orignLabel, destinationLabel, originIcon, destinationIcon, travelDate, arrivalDate, depTime, arrTime, seatTypes, seatPriceColor, currencySign, availableSeats, removeDuplicateSeats, }) {
35
+ const { cleaned: cleanedDepTime, hasAM, hasPM } = getCleanedDepTime(depTime);
36
+ const depTimeContent = isLinatal ? (React.createElement("div", null,
37
+ React.createElement("span", null,
38
+ " ",
39
+ cleanedDepTime,
40
+ " ",
41
+ React.createElement("span", null, hasPM ? "PM" : hasAM ? "AM" : "")),
42
+ React.createElement("span", null, depTime.includes("AM") || depTime.includes("PM")
43
+ ? null
44
+ : DateService.ampmOnly(depTime)))) : (DateService.formatTime(depTime));
45
+ return (React.createElement("div", { className: "flex justify-between gap-[5px] w-full", onClick: onBookButtonPress },
46
+ React.createElement("div", { className: "min-h-[2.5rem] flex flex-col justify-between gap-[4px] w-[50%] ", style: { justifyContent: isCiva && "center" } },
47
+ React.createElement(TimeRow, { label: orignLabel, icon: originIcon, alt: "origin", date: travelDate, timeContent: depTimeContent, isSoldOut: isSoldOut }),
48
+ isCiva ? null : (React.createElement(TimeRow, { label: destinationLabel, icon: destinationIcon, alt: "destination", date: arrivalDate, timeContent: DateService.formatTime(arrTime), isSoldOut: isSoldOut }))),
49
+ isPeru ? null : (React.createElement("div", { style: {
50
+ width: "1px",
51
+ height: "2.5rem",
52
+ backgroundColor: "#ccc",
53
+ margin: "auto",
54
+ } })),
55
+ React.createElement(SeatSectionMobile, { seatTypes: seatTypes, isSoldOut: isSoldOut, isPeru: isPeru, seatPriceColor: seatPriceColor, currencySign: currencySign, availableSeats: availableSeats, removeDuplicateSeats: removeDuplicateSeats })));
56
+ }
57
+ export default DateTimeSectionMobile;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ interface SeatType {
3
+ label: string;
4
+ key?: string;
5
+ fare: number;
6
+ }
7
+ interface SeatSectionMobileProps {
8
+ seatTypes: SeatType[];
9
+ isSoldOut: boolean;
10
+ isPeru: boolean;
11
+ seatPriceColor: string;
12
+ currencySign: string;
13
+ availableSeats: number;
14
+ removeDuplicateSeats?: boolean;
15
+ }
16
+ declare function SeatSectionMobile({ seatTypes: seatTypesData, isSoldOut, isPeru, seatPriceColor, currencySign, availableSeats, removeDuplicateSeats, }: SeatSectionMobileProps): React.ReactElement;
17
+ export default SeatSectionMobile;
@@ -0,0 +1,100 @@
1
+ import React from "react";
2
+ import commonService from "../../utils/CommonService";
3
+ const EXCEPTIONS = [
4
+ "gy",
5
+ ".gy",
6
+ "GY",
7
+ ".GY",
8
+ "Gy",
9
+ ".Gy",
10
+ "BLANCO",
11
+ "blanco",
12
+ "asiento_mascota",
13
+ ];
14
+ const SeatRow = ({ type, index, displayLabel, fare, isSoldOut, seatPriceColor, hasMultipleTypes, textSize, }) => {
15
+ if (EXCEPTIONS.includes(type.label))
16
+ return null;
17
+ const rowClass = hasMultipleTypes
18
+ ? "w-[100%] flex flex-row justify-between "
19
+ : "w-[100%] flex flex-row justify-between items-center";
20
+ const labelColor = isSoldOut ? "#bbb" : "#464647";
21
+ const priceColor = isSoldOut ? "#bbb" : seatPriceColor;
22
+ return (React.createElement("div", { className: rowClass, key: index },
23
+ React.createElement("span", { className: `min-[420]:text-[13px] ${textSize} `, style: { color: labelColor } }, displayLabel),
24
+ React.createElement("span", { className: `min-[420]:text-[13px] ${textSize} bold-text`, style: { color: priceColor } }, fare)));
25
+ };
26
+ const getFilteredSeats = (item) => {
27
+ return item;
28
+ };
29
+ const getUniqueSeats = (data, limit) => {
30
+ var _a;
31
+ const seatMap = new Map();
32
+ (_a = data === null || data === void 0 ? void 0 : data.filter((item) => getFilteredSeats(item.label))) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
33
+ if (EXCEPTIONS.includes(item.key))
34
+ return;
35
+ const existing = seatMap.get(item.label);
36
+ if (!existing ||
37
+ parseFloat(item.fare) < parseFloat(existing.fare)) {
38
+ seatMap.set(item.label, item);
39
+ }
40
+ });
41
+ return Array.from(seatMap.values())
42
+ .sort((a, b) => a.fare - b.fare)
43
+ .slice(0, limit);
44
+ };
45
+ function SeatSectionMobile({ seatTypes: seatTypesData, isSoldOut, isPeru, seatPriceColor, currencySign, availableSeats, removeDuplicateSeats, }) {
46
+ var _a;
47
+ const hasMultipleTypes = ((_a = seatTypesData === null || seatTypesData === void 0 ? void 0 : seatTypesData.length) !== null && _a !== void 0 ? _a : 0) > 2;
48
+ const getFare = (fare) => {
49
+ if (removeDuplicateSeats && availableSeats <= 0 && !isPeru) {
50
+ return commonService.currency(0, currencySign);
51
+ }
52
+ return commonService.currency(fare, currencySign);
53
+ };
54
+ const getLowestFare = () => {
55
+ var _a;
56
+ const filtered = (_a = seatTypesData === null || seatTypesData === void 0 ? void 0 : seatTypesData.filter((item) => getFilteredSeats(item.label))) === null || _a === void 0 ? void 0 : _a.filter((item) => !EXCEPTIONS.includes(item.label));
57
+ if (!filtered || filtered.length === 0)
58
+ return null;
59
+ return filtered.reduce((min, item) => (item.fare < min ? item.fare : min), filtered[0].fare);
60
+ };
61
+ const getHighestFare = () => {
62
+ var _a;
63
+ return (((_a = seatTypesData === null || seatTypesData === void 0 ? void 0 : seatTypesData.filter((item) => !EXCEPTIONS.includes(item.label))) === null || _a === void 0 ? void 0 : _a.reduce((max, item) => (item.fare > max ? item.fare : max), 0)) || 0);
64
+ };
65
+ const renderPeruSeats = () => {
66
+ const lowestFare = getLowestFare();
67
+ if (lowestFare === null)
68
+ return null;
69
+ const priceColor = isSoldOut ? "#bbb" : seatPriceColor;
70
+ return (React.createElement(React.Fragment, null,
71
+ React.createElement("div", { className: "w-[100%] flex flex-row justify-between items-center" },
72
+ React.createElement("span", { className: "min-[420]:text-[13px] text-[12px]", style: { color: "#bbb" } }, "Antes"),
73
+ React.createElement("span", { className: "min-[420]:text-[13px] text-[12px] line-through", style: { color: "#bbb" } }, commonService.currency(getHighestFare(), currencySign))),
74
+ React.createElement("div", { className: "w-[100%] flex flex-row justify-between items-center" },
75
+ React.createElement("span", { className: "min-[420]:text-[13px] text-[12px] bold-text", style: { color: isSoldOut ? "#bbb" : "#464647" } }, "Desde"),
76
+ React.createElement("span", { className: "min-[420]:text-[13px] text-[12px] bold-text", style: { color: priceColor } }, commonService.currency(lowestFare, currencySign)))));
77
+ };
78
+ const renderSeats = () => {
79
+ var _a, _b, _c;
80
+ if (isPeru) {
81
+ return renderPeruSeats();
82
+ }
83
+ if (removeDuplicateSeats) {
84
+ const uniqueSeats = getUniqueSeats(seatTypesData, 3);
85
+ return uniqueSeats.map((type, i) => (React.createElement(SeatRow, { key: i, type: type, index: i, displayLabel: commonService.truncateSeatLabel(type.label), fare: getFare(type.fare), isSoldOut: isSoldOut, seatPriceColor: seatPriceColor, hasMultipleTypes: hasMultipleTypes, textSize: "text-[11px]" })));
86
+ }
87
+ return (_c = (_b = (_a = seatTypesData === null || seatTypesData === void 0 ? void 0 : seatTypesData.filter((item) => getFilteredSeats(item.label))) === null || _a === void 0 ? void 0 : _a.sort((a, b) => a.fare - b.fare)) === null || _b === void 0 ? void 0 : _b.slice(0, 2)) === null || _c === void 0 ? void 0 : _c.map((type, i) => (React.createElement(SeatRow, { key: i, type: type, index: i, displayLabel: type.label, fare: commonService.currency(type.fare, currencySign), isSoldOut: isSoldOut, seatPriceColor: seatPriceColor, hasMultipleTypes: hasMultipleTypes, textSize: "text-[12px]" })));
88
+ };
89
+ return (React.createElement("div", { className: "content-center relative", style: { width: "40%" } },
90
+ !isPeru && (React.createElement("div", { className: "absolute -top-[16px] right-[0] flex justify-end" },
91
+ React.createElement("span", { className: "min-[420]:text-[13px] text-[12px] line-through", style: { color: "#bbb" } }, "$7.000"))),
92
+ React.createElement("div", { className: "flex flex-col justify-between h-[2.5rem] ", style: {
93
+ gap: isSoldOut ? "0px" : "5px",
94
+ justifyContent: hasMultipleTypes ? "space-between" : "center",
95
+ } },
96
+ renderSeats(),
97
+ isSoldOut ? (React.createElement("div", { className: "flex justify-end" },
98
+ React.createElement("span", { className: "min-[420]:text-[13px] text-[12px] text-[#ccc]" }, "Agotado"))) : null)));
99
+ }
100
+ export default SeatSectionMobile;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ interface TopAmenitieMobileProps {
3
+ showTopLabel: string | boolean;
4
+ isSoldOut: boolean;
5
+ seatPriceColor?: string;
6
+ bombAnim?: any;
7
+ priorityStageAnim?: any;
8
+ }
9
+ declare function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, }: TopAmenitieMobileProps): React.ReactElement;
10
+ export default TopAmenitieMobile;
@@ -0,0 +1,35 @@
1
+ import React from "react";
2
+ import LottiePlayer from "../../assets/LottiePlayer";
3
+ function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, }) {
4
+ return (React.createElement("div", { style: {
5
+ display: "flex",
6
+ justifyContent: "flex-end",
7
+ position: "relative",
8
+ zIndex: "-1",
9
+ } },
10
+ React.createElement("div", { style: {
11
+ backgroundColor: seatPriceColor,
12
+ position: "relative",
13
+ right: showTopLabel ? "-21px" : "",
14
+ padding: "0 14px",
15
+ borderTopRightRadius: "14px",
16
+ borderTopLeftRadius: "14px",
17
+ } },
18
+ React.createElement("div", { style: { display: "flex", alignItems: "center", color: "#fff" } },
19
+ React.createElement(LottiePlayer, { animationData: bombAnim, width: "12px", height: "12px" }),
20
+ React.createElement("span", { className: "flex items-center gap-[5px] py-[6px] pl-[6px] text-[12px] z-20", style: { paddingRight: showTopLabel ? "20px" : "0" } },
21
+ React.createElement("span", { className: "bold-text" }, "kuponazo 20% "),
22
+ " | 02:10:30"))),
23
+ showTopLabel && (React.createElement("div", { className: `flex items-center gap-[5px] py-[6px] px-[10px] text-[12px] z-20`, style: {
24
+ backgroundColor: isSoldOut ? "#ddd" : "#ff8f45",
25
+ borderTopRightRadius: "10px",
26
+ borderTopLeftRadius: "10px",
27
+ } },
28
+ React.createElement(LottiePlayer, { animationData: priorityStageAnim, width: "12px", height: "12px" }),
29
+ React.createElement("div", { className:
30
+ // isSoldOut ? "text-white" : `text-[${colors.topLabelColor}]`
31
+ `text-white`, style: {
32
+ color: "#fff",
33
+ } }, showTopLabel)))));
34
+ }
35
+ export default TopAmenitieMobile;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kupos-ui-components-lib",
3
- "version": "9.0.5",
3
+ "version": "9.0.7",
4
4
  "description": "A reusable UI components package",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -35,7 +35,7 @@ const RatingHover: React.FC<RatingHoverProps> = ({
35
35
  }}
36
36
  />
37
37
  <div
38
- className="hidden group-hover:block absolute left-[80px] -bottom-[160px] z-20 mt-2 w-[280px] rounded-lg shadow-service-2 bg-white overflow-hidden rounded-[14px] border-[2px]"
38
+ className="hidden group-hover:block absolute left-[80px] -bottom-[160px] z-20 mt-2 w-[320px] rounded-lg shadow-service-2 bg-white overflow-hidden rounded-[14px] border-[2px]"
39
39
  style={{
40
40
  borderColor: isSoldOut ? "#c0c0c0" : colors.ratingBorderColor,
41
41
  color: isSoldOut ? "#c0c0c0" : "",
@@ -59,28 +59,28 @@ const RatingHover: React.FC<RatingHoverProps> = ({
59
59
  <div className="px-3 py-2 flex flex-col gap-[10px] font9">
60
60
  <RatingItem
61
61
  rating={
62
- serviceItem.operator_details[6] &&
63
- serviceItem.operator_details[6][
62
+ serviceItem.operator_details[7] &&
63
+ serviceItem.operator_details[7][
64
64
  Object.keys(
65
- serviceItem.operator_details[6] &&
66
- serviceItem.operator_details[6]
65
+ serviceItem.operator_details[7] &&
66
+ serviceItem.operator_details[7],
67
67
  )[0]
68
68
  ] &&
69
69
  parseFloat(
70
- serviceItem.operator_details[6][
70
+ serviceItem.operator_details[7][
71
71
  Object.keys(
72
- serviceItem.operator_details[6] &&
73
- serviceItem.operator_details[6]
72
+ serviceItem.operator_details[7] &&
73
+ serviceItem.operator_details[7],
74
74
  )[0]
75
- ]
75
+ ],
76
76
  ).toFixed(1)
77
77
  ? +parseFloat(
78
- serviceItem.operator_details[6][
78
+ serviceItem.operator_details[7][
79
79
  Object.keys(
80
- serviceItem.operator_details[6] &&
81
- serviceItem.operator_details[6]
80
+ serviceItem.operator_details[7] &&
81
+ serviceItem.operator_details[7],
82
82
  )[0]
83
- ]
83
+ ],
84
84
  ).toFixed(1)
85
85
  : 0
86
86
  }
@@ -89,28 +89,28 @@ const RatingHover: React.FC<RatingHoverProps> = ({
89
89
  />
90
90
  <RatingItem
91
91
  rating={
92
- serviceItem.operator_details[6] &&
93
- serviceItem.operator_details[6][
92
+ serviceItem.operator_details[7] &&
93
+ serviceItem.operator_details[7][
94
94
  Object.keys(
95
- serviceItem.operator_details[6] &&
96
- serviceItem.operator_details[6]
95
+ serviceItem.operator_details[7] &&
96
+ serviceItem.operator_details[7],
97
97
  )[1]
98
98
  ] &&
99
99
  parseFloat(
100
- serviceItem.operator_details[6][
100
+ serviceItem.operator_details[7][
101
101
  Object.keys(
102
- serviceItem.operator_details[6] &&
103
- serviceItem.operator_details[6]
102
+ serviceItem.operator_details[7] &&
103
+ serviceItem.operator_details[7],
104
104
  )[1]
105
- ]
105
+ ],
106
106
  ).toFixed(1)
107
107
  ? +parseFloat(
108
- serviceItem.operator_details[6][
108
+ serviceItem.operator_details[7][
109
109
  Object.keys(
110
- serviceItem.operator_details[6] &&
111
- serviceItem.operator_details[6]
110
+ serviceItem.operator_details[7] &&
111
+ serviceItem.operator_details[7],
112
112
  )[1]
113
- ]
113
+ ],
114
114
  ).toFixed(1)
115
115
  : 0
116
116
  }
@@ -119,28 +119,28 @@ const RatingHover: React.FC<RatingHoverProps> = ({
119
119
  />
120
120
  <RatingItem
121
121
  rating={
122
- serviceItem.operator_details[6] &&
123
- serviceItem.operator_details[6][
122
+ serviceItem.operator_details[7] &&
123
+ serviceItem.operator_details[7][
124
124
  Object.keys(
125
- serviceItem.operator_details[6] &&
126
- serviceItem.operator_details[6]
125
+ serviceItem.operator_details[7] &&
126
+ serviceItem.operator_details[7],
127
127
  )[2]
128
128
  ] &&
129
129
  parseFloat(
130
- serviceItem.operator_details[6][
130
+ serviceItem.operator_details[7][
131
131
  Object.keys(
132
- serviceItem.operator_details[6] &&
133
- serviceItem.operator_details[6]
132
+ serviceItem.operator_details[7] &&
133
+ serviceItem.operator_details[7],
134
134
  )[2]
135
- ]
135
+ ],
136
136
  ).toFixed(1)
137
137
  ? +parseFloat(
138
- serviceItem.operator_details[6][
138
+ serviceItem.operator_details[7][
139
139
  Object.keys(
140
- serviceItem.operator_details[6] &&
141
- serviceItem.operator_details[6]
140
+ serviceItem.operator_details[7] &&
141
+ serviceItem.operator_details[7],
142
142
  )[2]
143
- ]
143
+ ],
144
144
  ).toFixed(1)
145
145
  : 0
146
146
  }
@@ -149,28 +149,28 @@ const RatingHover: React.FC<RatingHoverProps> = ({
149
149
  />
150
150
  <RatingItem
151
151
  rating={
152
- serviceItem.operator_details[6] &&
153
- serviceItem.operator_details[6][
152
+ serviceItem.operator_details[7] &&
153
+ serviceItem.operator_details[7][
154
154
  Object.keys(
155
- serviceItem.operator_details[6] &&
156
- serviceItem.operator_details[6]
155
+ serviceItem.operator_details[7] &&
156
+ serviceItem.operator_details[7],
157
157
  )[3]
158
158
  ] &&
159
159
  parseFloat(
160
- serviceItem.operator_details[6][
160
+ serviceItem.operator_details[7][
161
161
  Object.keys(
162
- serviceItem.operator_details[6] &&
163
- serviceItem.operator_details[6]
162
+ serviceItem.operator_details[7] &&
163
+ serviceItem.operator_details[7],
164
164
  )[3]
165
- ]
165
+ ],
166
166
  ).toFixed(1)
167
167
  ? +parseFloat(
168
- serviceItem.operator_details[6][
168
+ serviceItem.operator_details[7][
169
169
  Object.keys(
170
- serviceItem.operator_details[6] &&
171
- serviceItem.operator_details[6]
170
+ serviceItem.operator_details[7] &&
171
+ serviceItem.operator_details[7],
172
172
  )[3]
173
- ]
173
+ ],
174
174
  ).toFixed(1)
175
175
  : 0
176
176
  }
@@ -181,14 +181,14 @@ const RatingHover: React.FC<RatingHoverProps> = ({
181
181
 
182
182
  {/* Footer */}
183
183
  <div
184
- className="px-1 py-2 text-center text-[12px] font9"
184
+ className="px-3 py-2 text-center text-[12px] font9 text-wrap"
185
185
  style={{
186
186
  backgroundColor: isSoldOut ? "#f5f5f5" : colors.ratingBottomColor,
187
187
  color: isSoldOut ? "#c0c0c1" : "#ff8f45",
188
188
  }}
189
189
  >
190
190
  {`${translation?.ratingMouseOverCalculationText} ${
191
- Object.values(serviceItem.operator_details)[5]
191
+ Object.values(serviceItem.operator_details)[6]
192
192
  } ${translation?.ratingMouseOverCalculationUsers}`}
193
193
  </div>
194
194
  </div>