diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/categoriesController.php b/plugins/ahmadfatoni/apigenerator/controllers/api/categoriesController.php new file mode 100644 index 0000000..7e56667 --- /dev/null +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/categoriesController.php @@ -0,0 +1,100 @@ +Category = $Category; + $this->helpers = $helpers; + } + + public function index(){ +// $data = $this->Post::with(['translations:locale,model_id,attribute_data','categories'])->get(); + // $data = $this->Category->all()->toArray(); + $data = $this->Category::with(['translations:locale,model_id,attribute_data','posts'])->get(); + + return $this->helpers->apiArrayResponseBuilder(200, 'success', $data); + } + + public function show($id){ +// $data = $this->Post::with(['translations:locale,model_id,attribute_data','categories'])->get(); + $data = $this->Category::with(['translations:locale,model_id,attribute_data','posts.featured_images'])->find($id); + + if ($data){ + return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]); + } else { + $this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']); + } + + } + + public function store(Request $request){ + + $arr = $request->all(); + + while ( $data = current($arr)) { + $this->Category->{key($arr)} = $data; + next($arr); + } + + $validation = Validator::make($request->all(), $this->Category->rules); + + if( $validation->passes() ){ + $this->Category->save(); + return $this->helpers->apiArrayResponseBuilder(201, 'created', ['id' => $this->Category->id]); + }else{ + return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validation->errors() ); + } + + } + + public function update($id, Request $request){ + + $status = $this->Category->where('id',$id)->update($data); + + if( $status ){ + + return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been updated successfully.'); + + }else{ + + return $this->helpers->apiArrayResponseBuilder(400, 'bad request', 'Error, data failed to update.'); + + } + } + + public function delete($id){ + + $this->Category->where('id',$id)->delete(); + + return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); + } + + public function destroy($id){ + + $this->Category->where('id',$id)->delete(); + + return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); + } + + + public static function getAfterFilters() {return [];} + public static function getBeforeFilters() {return [];} + public static function getMiddleware() {return [];} + public function callAction($method, $parameters=false) { + return call_user_func_array(array($this, $method), $parameters); + } + +} \ No newline at end of file diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php b/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php new file mode 100644 index 0000000..c33f6d2 --- /dev/null +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php @@ -0,0 +1,103 @@ +Post = $Post; + $this->helpers = $helpers; + } + + public function index(){ + + // $data = $this->Post->all()->toArray(); + + $data = $this->Post::with(['translations:locale,model_id,attribute_data','categories','featured_images'])->get(); + + return $this->helpers->apiArrayResponseBuilder(200, 'success', $data); + } + + public function show($slug){ + + $data = $this->Post::where('slug', $slug)->with(['translations:locale,model_id,attribute_data','featured_images'])->get(); + + // $data = $this->Post::with(['translations:locale,model_id,attribute_data','categories'])->find($id); + + if ($data){ + return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]); + } else { + $this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']); + } + + } + + public function store(Request $request){ + + $arr = $request->all(); + + while ( $data = current($arr)) { + $this->Post->{key($arr)} = $data; + next($arr); + } + + $validation = Validator::make($request->all(), $this->Post->rules); + + if( $validation->passes() ){ + $this->Post->save(); + return $this->helpers->apiArrayResponseBuilder(201, 'created', ['id' => $this->Post->id]); + }else{ + return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validation->errors() ); + } + + } + + public function update($id, Request $request){ + + $status = $this->Post->where('id',$id)->update($data); + + if( $status ){ + + return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been updated successfully.'); + + }else{ + + return $this->helpers->apiArrayResponseBuilder(400, 'bad request', 'Error, data failed to update.'); + + } + } + + public function delete($id){ + + $this->Post->where('id',$id)->delete(); + + return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); + } + + public function destroy($id){ + + $this->Post->where('id',$id)->delete(); + + return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); + } + + + public static function getAfterFilters() {return [];} + public static function getBeforeFilters() {return [];} + public static function getMiddleware() {return [];} + public function callAction($method, $parameters=false) { + return call_user_func_array(array($this, $method), $parameters); + } + +} \ No newline at end of file diff --git a/plugins/ahmadfatoni/apigenerator/routes.php b/plugins/ahmadfatoni/apigenerator/routes.php index 136c094..d0e9fc4 100644 --- a/plugins/ahmadfatoni/apigenerator/routes.php +++ b/plugins/ahmadfatoni/apigenerator/routes.php @@ -7,4 +7,10 @@ Route::get('fatoni/delete/api/{id}', array('as' => 'fatoni.delete.api', 'uses' = Route::resource('api/v1/reestr', 'AhmadFatoni\ApiGenerator\Controllers\API\reestrController', ['except' => ['destroy', 'create', 'edit']]); Route::get('api/v1/reestr/{id}/delete', ['as' => 'api/v1/reestr.delete', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\reestrController@destroy']); Route::resource('api/v1/slider', 'AhmadFatoni\ApiGenerator\Controllers\API\sliderController', ['except' => ['destroy', 'create', 'edit']]); -Route::get('api/v1/slider/{id}/delete', ['as' => 'api/v1/slider.delete', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\sliderController@destroy']); \ No newline at end of file +Route::get('api/v1/slider/{id}/delete', ['as' => 'api/v1/slider.delete', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\sliderController@destroy']); +Route::resource('api/v1/posts', 'AhmadFatoni\ApiGenerator\Controllers\API\postsController', ['except' => ['destroy', 'create', 'edit','show']]); +Route::get('api/v1/posts/{slug}', ['as' => 'api/v1/posts.show', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\postsController@show']); +Route::get('api/v1/posts/{id}/delete', ['as' => 'api/v1/posts.delete', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\postsController@destroy']); +Route::resource('api/v1/categories', 'AhmadFatoni\ApiGenerator\Controllers\API\categoriesController', ['except' => ['destroy', 'create', 'edit','show']]); +Route::get('api/v1/categories/{id}', ['as' => 'api/v1/categories.show', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\categoriesController@show']); +Route::get('api/v1/categories/{id}/delete', ['as' => 'api/v1/categories.delete', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\categoriesController@destroy']); \ No newline at end of file diff --git a/themes/tps react/package.json b/themes/tps react/package.json index e6bb184..24746d5 100644 --- a/themes/tps react/package.json +++ b/themes/tps react/package.json @@ -16,6 +16,7 @@ "react-router-dom": "^5.3.0", "react-scripts": "4.0.3", "redux": "^4.1.2", + "source-map-loader": "^3.0.1", "uuid": "^8.3.2", "uuidv4": "^6.2.12", "web-vitals": "^1.1.2" diff --git a/themes/tps react/public/791.bundle.js b/themes/tps react/public/791.bundle.js new file mode 100644 index 0000000..87b84ee --- /dev/null +++ b/themes/tps react/public/791.bundle.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkreact_etalon=self.webpackChunkreact_etalon||[]).push([[791],{3791:function(e,t,n){n.r(t),n.d(t,{getCLS:function(){return v},getFCP:function(){return S},getFID:function(){return k},getLCP:function(){return F},getTTFB:function(){return C}});var i,a,r,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m="function"==typeof WeakSet?new WeakSet:new Set,p=function(e,t,n){var i;return function(){t.value>=0&&(n||m.has(t)||"hidden"===document.visibilityState)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=function(e,t){var n,i=u("CLS",0),a=function(e){e.hadRecentInput||(i.value+=e.value,i.entries.push(e),n())},r=c("layout-shift",a);r&&(n=p(e,i,t),f((function(){r.takeRecords().map(a),n()})),s((function(){i=u("CLS",0),n=p(e,i,t)})))},d=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){f((function(e){var t=e.timeStamp;d=t}),!0)},g=function(){return d<0&&(d=l(),h(),s((function(){setTimeout((function(){d=l(),h()}),0)}))),{get timeStamp(){return d}}},S=function(e,t){var n,i=g(),a=u("FCP"),r=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime=0&&a1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){w(e,t),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,y),removeEventListener("pointercancel",i,y)};addEventListener("pointerup",n,y),addEventListener("pointercancel",i,y)}(t,e):w(t,e)}},b=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,T,y)}))},k=function(e,t){var n,r=g(),v=u("FID"),d=function(e){e.startTimel.length)&&(V=l.length);for(var U=0,S=new Array(V);U=200&&l<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};S.forEach(["delete","get","head"],(function(l){k.headers[l]={}})),S.forEach(["post","put","patch"],(function(l){k.headers[l]=S.merge(Z)})),l.exports=k},7288:function(l){l.exports={version:"0.24.0"}},1849:function(l){"use strict";l.exports=function(l,V){return function(){for(var U=new Array(arguments.length),S=0;S=0)return;Z[V]="set-cookie"===V?(Z[V]?Z[V]:[]).concat([U]):Z[V]?Z[V]+", "+U:U}})),Z):Z}},8713:function(l){"use strict";l.exports=function(l){return function(V){return l.apply(null,V)}}},4875:function(l,V,U){"use strict";var S=U(7288).version,t={};["object","boolean","number","function","string","symbol"].forEach((function(l,V){t[l]=function(U){return typeof U===l||"a"+(V<1?"n ":" ")+l}}));var W={};t.transitional=function(l,V,U){function t(l,V){return"[Axios v"+S+"] Transitional option '"+l+"'"+V+(U?". "+U:"")}return function(U,S,Z){if(!1===l)throw new Error(t(S," has been removed"+(V?" in "+V:"")));return V&&!W[S]&&(W[S]=!0,console.warn(t(S," has been deprecated since v"+V+" and will be removed in the near future"))),!l||l(U,S,Z)}},l.exports={assertOptions:function(l,V,U){if("object"!=typeof l)throw new TypeError("options must be an object");for(var S=Object.keys(l),t=S.length;t-- >0;){var W=S[t],Z=V[W];if(Z){var p=l[W],N=void 0===p||Z(p,W,l);if(!0!==N)throw new TypeError("option "+W+" must be "+N)}else if(!0!==U)throw Error("Unknown option "+W)}},validators:t}},4867:function(l,V,U){"use strict";var S=U(1849),t=Object.prototype.toString;function W(l){return"[object Array]"===t.call(l)}function Z(l){return void 0===l}function p(l){return null!==l&&"object"==typeof l}function N(l){if("[object Object]"!==t.call(l))return!1;var V=Object.getPrototypeOf(l);return null===V||V===Object.prototype}function k(l){return"[object Function]"===t.call(l)}function d(l,V){if(null!=l)if("object"!=typeof l&&(l=[l]),W(l))for(var U=0,S=l.length;U.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px, 0, 0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}',""]),V.Z=d},4638:function(l,V,U){"use strict";var S=U(8081),t=U.n(S),W=U(3645),Z=U.n(W),p=U(1667),N=U.n(p),k=new URL(U(8794),U.b),d=new URL(U(2499),U.b),a=Z()(t()),T=N()(k),c=N()(d);a.push([l.id,'*{padding:0;margin:0;box-sizing:border-box}html{font-size:62.5%}a{text-decoration:none;color:#000}body{font-family:"Open Sans",sans-serif}.container{max-width:134rem;padding:0 3rem;margin:0 auto}.nav{padding:2.2rem 0;z-index:2;position:relative}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-left{text-decoration:none;max-width:30%;display:flex;align-items:center;justify-content:space-between}.main-logo{max-width:24.3rem;max-height:5.3rem}.main-logo img{width:100%;height:100%;object-fit:contain}.emblem{max-width:5.3rem;max-height:5.3rem}.emblem img{width:100%;height:100%;object-fit:contain}.nav-right{max-width:60%;width:100%;display:grid;grid-template-columns:1fr}.nav-link{display:flex;align-items:center;justify-content:space-between;list-style-type:none;cursor:pointer}.nav-link a,.nav-link h3{font-size:1.4rem;text-decoration:none;color:#000;font-weight:normal}.nav-lang{width:2.7rem;height:2rem}.nav-lang img{width:100%;height:100%;object-fit:contain}.nav-select{position:relative}.nav-select:hover>.nav-downarrow{transform:rotate(180deg);transition:all .3s ease-out}.nav-select:hover>.nav-dropdown{max-height:40rem;transition:all .2s ease-out}.nav-select:nth-child(1n):hover{border-bottom:.2rem solid #003a9d}.nav-select h3{margin-right:.8rem}.nav-dropdown{position:absolute;top:2.5rem;right:50%;background:#353536;color:#fff;max-width:20rem;overflow:hidden;max-height:0;transform:translateX(50%);transition:all .2s ease-out}.nav-dropdown a{color:#fff}.nav-dropdown-shifted{right:200%}.nav-dropdown-content{list-style-type:none}.dropdown-content{text-align:center;padding:.5rem 1rem;font-size:1.5rem}.dropdown-content:hover{background:#003a9d}.nav-downarrow{transform:rotate(0deg);transition:all .3s ease-out}.flag-wrapper{width:2.7rem;height:2rem}.flag-wrapper img{width:100%;height:100%;object-fit:contain}.nav-lang .dropdown-content{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between}.nav-lang h4{font-size:1.4rem;font-weight:normal;margin-left:.7rem}.nav-links-mobile-button{display:none;align-items:center;justify-content:flex-end}.mobile-button{cursor:pointer;width:5rem;height:3rem;display:flex;align-items:center;justify-content:center;border:.1rem solid #003a9d;background:transparent}.mobile-button div{display:flex;flex-direction:column;align-items:center}.mobile-button div .stripe{margin:.2rem 0;width:3rem;height:.4rem;background:#003a9d;border-radius:2rem}.stripe-1{transition:all .3s ease;transform:translate(0rem) rotate(0deg)}.stripe-1.active{transition:all .3s ease;transform:translate(0px, 8px) rotate(45deg)}.stripe-2{transition:all .3s ease;opacity:1}.stripe-2.active{transition:all .3s ease;opacity:0}.stripe-3{transition:all .3s ease;transform:translate(0px, 0px) rotate(0deg)}.stripe-3.active{transition:all .3s ease;transform:translate(0px, -8px) rotate(-45deg)}.nav-mobile{overflow:hidden;max-height:0;transition:all .4s ease-in-out}.nav-mobile.active{max-height:60rem;transition:all .4s ease-in-out}.nav-mobile-links{list-style-type:none}.nav-mobile-link{width:100%;margin:2rem 0;cursor:pointer}.nav-mobile-link a{font-size:1.4rem;display:block}.nav-mobile-link h3{font-size:1.4rem;font-weight:normal;margin-right:.8rem}.nav-mobile-link:nth-child(1n):hover .nav-mobile-link-dropdown{max-height:50rem;transition:.2s all ease-in-out}.nav-mobile-downarrow{transform:rotate(0deg);transition:all .2s ease-in-out}.nav-mobile-link-content{display:flex;align-items:center;justify-content:flex-start}.nav-mobile-link-content:hover .nav-mobile-downarrow{transform:rotate(180deg);transition:all .2s ease-in-out}.nav-mobile-link-content div.flag{width:2.7rem;height:2rem}.nav-mobile-link-content img{width:100%;height:100%;object-fit:contain}.flag{width:2.7rem;height:2rem}.flag img{width:100%;height:100%;object-fit:contain}.nav-mobile-link-dropdown{overflow:hidden;max-height:0;margin:1rem 0;background:#353536;transition:.2s all ease-in-out}.nav-mobile-link-dropdown ul{list-style-type:none}.mobile-dropdown-link{padding:1rem}.mobile-dropdown-link a{color:#fff}.mobile-dropdown-link h3{color:#fff}.mobile-dropdown-link:nth-child(1n):hover{background:#003a9d}.mobile-dropdown-link.flag-container{display:flex;align-items:center}.mobile-dropdown-link.flag-container h3{margin-left:.8rem}@media screen and (max-width: 1000px){.nav-left{max-width:50%}.nav-link{display:none}.nav-links-mobile-button{display:flex}}footer{background:#003a9d}footer ul{list-style-type:none}.footer-inner{padding:5rem 0 3rem 0}.footer-link-text{text-decoration:none;color:#fff}.footer-links{display:grid;grid-template-columns:repeat(5, 1fr);gap:2rem}.footer-link-title{padding-bottom:3.2rem;font-size:1.8rem;font-weight:bold;color:#fff}.footer-link-inner{display:flex;flex-direction:column;align-items:flex-start;gap:1.7rem}.footer-link-inner li{display:flex;align-items:center}.footer-link-img{min-width:1.8rem;min-height:1.2rem;max-width:1.8rem;max-height:1.2rem;width:1.8rem;height:1.2rem}.footer-link-img img{width:100%;height:100%;object-fit:contain}.footer-link-text{font-size:1.6rem;margin-left:1rem;font-weight:normal}h6.footer-link-text{margin:0}.footer-middle{display:grid;grid-template-columns:1fr;margin:4rem 0 0 0}.footer-middle::after{display:block;content:"";border:none;border-top:.1rem solid rgba(255,255,255,.644);margin:3rem 0 6rem 0}.footer-middle-link{display:flex;font-size:1.6rem;color:#fff;text-decoration:underline;justify-self:center}.footer-bottom{display:flex;align-items:center;justify-content:center}.footer-bottom h4{font-size:1.6rem;color:#fff;font-weight:normal}@media screen and (max-width: 1360px){.footer-links{grid-template-columns:1fr 1fr;gap:5rem}.footer-link-title{font-size:2rem}.footer-link-text{font-size:1.8rem}}@media screen and (max-width: 900px){.footer-links{grid-template-columns:1fr;gap:5rem}.footer-link-title{font-size:1.8rem}.footer-link-text{font-size:1.6rem}}@media screen and (max-width: 700px){.footer-links{grid-template-columns:1fr;gap:5rem}.footer-link-title{font-size:1.6rem}.footer-link-text{font-size:1.4rem}.footer-middle-link{font-size:1.4rem}.footer-bottom h4{font-size:1.4rem}}.slider-img{width:100%;height:100%}.slider-img img{width:100%;height:100%;object-fit:contain}.slider{display:flex;align-items:center;justify-content:center;padding-bottom:10rem}.swiper{position:relative}.swiper .swiper-button-prev{content:url('+T+");padding:1.4rem 1.8rem 1.4rem 1rem;z-index:2;position:absolute;width:4rem;height:8rem;left:0;top:50%;background:rgba(255,255,255,.452);transform:translateY(-50%);cursor:pointer}.swiper .swiper-button-prev:hover{background:rgba(87,85,85,.801)}.swiper .swiper-button-next{content:url("+c+");padding:1.4rem 1rem 1.4rem 1.8rem;z-index:2;position:absolute;width:4rem;height:8rem;right:0;top:50%;background:rgba(255,255,255,.452);transform:translateY(-50%);cursor:pointer}.swiper .swiper-button-next:hover{background:rgba(87,85,85,.801)}.swiper .swiper-pagination{position:absolute;bottom:2rem;left:50%;transform:translate(-50%, 0%);z-index:2;display:flex;align-items:center;justify-content:space-evenly;gap:.4rem;border-radius:1rem;height:2rem;background:rgba(0,0,0,.301);padding:0 2rem}.swiper .swiper-pagination .swiper-pagination-bullet{background:rgba(255,255,255,.3);width:3rem;height:.4rem;border-radius:.3rem;cursor:pointer}.swiper .swiper-pagination .swiper-pagination-bullet-active{background:#fff}.tab-wrapper{display:grid;grid-template-columns:repeat(3, 1fr);gap:4rem;padding-bottom:10rem}.tab-header{display:grid;grid-template-columns:14rem 24rem 1fr;gap:2rem;padding-bottom:5rem}.tab-header .tab-header-text{font-size:3.2rem;font-weight:normal;text-align:left;align-self:center}.tab-header .tab-header-line{align-self:center;width:100%;height:.1rem;background:#003a9d}.tab-header .tab-header-link{display:flex;align-items:center;justify-content:flex-end}.tab-header .tab-header-link a{width:100%;align-self:center;justify-self:flex-end;display:flex;align-items:center;justify-content:flex-end;color:#003a9d;font-size:1.6rem;text-align:center;text-decoration:none}.tab-header .tab-header-link a span{margin-right:1rem}.tab-header .tab-header-link a img{width:1.8rem;height:1.2rem;object-fit:contain}.tab-top div{max-width:40rem;max-height:26rem}.tab-top div img{width:100%;height:100%;object-fit:contain}.tab{max-width:40rem;width:100%;border:.2rem solid #dfdfdf}.tab-bottom{padding:3rem;display:flex;flex-direction:column}.tab-bottom .tab-date{font-size:1.6rem;color:#707070}.tab-bottom .tab-name{font-size:1.8rem;font-weight:bold;margin:2rem 0;max-height:7.5rem;overflow:hidden;text-overflow:ellipsis}.tab-bottom .tab-link a{display:flex;align-items:center;justify-content:flex-start;text-decoration:none;color:#003a9d;font-size:1.6rem}.tab-bottom .tab-link a span{margin-right:1rem}.second-slider{padding-bottom:20rem}.second-slider .slider{padding-bottom:0}.second-slider .swipe-slide{position:relative}.second-slider .swipe-slide h2{z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;position:absolute;width:100%;height:100%;font-size:3.8rem;font-weight:bold;color:#fff;background:rgba(0,0,0,.301)}.second-slider .tab-header{grid-template-columns:21rem 24rem 1fr}.second-slider .swiper-button-next,.second-slider .swiper-button-prev{background:transparent}.second-slider .slider-img{display:flex;align-items:center;justify-content:center}.depts-wrapper{display:grid;grid-template-columns:repeat(3, 1fr);gap:4rem;padding-bottom:20rem}.dept{text-decoration:none;color:#000;position:relative;max-width:40rem;max-height:34.4rem;padding:1rem 1rem 2rem 1rem;background:transparent;border:.2rem solid #dfdfdf;box-shadow:0 .4rem #981429;transition:all .3s ease-in-out}.dept .dept-absolute{position:absolute;top:0;left:0;width:5rem;height:5rem;display:flex;align-items:center;justify-content:center;background:#981429;opacity:0;transition:all .3s ease-in-out}.dept .dept-absolute img{width:1.4rem;height:1.2rem;object-fit:contain}.dept .dept-bottom h4{text-align:center;font-size:1.8rem;font-weight:bold;padding:0 2rem;margin:2rem 0;transition:all .3s ease;z-index:2;overflow:hidden;text-overflow:ellipsis}.dept:nth-child(1n):hover{background:#981429;border:.2rem solid #981429;transition:all .3s ease-in-out}.dept:nth-child(1n):hover .dept-absolute{opacity:1;transition:all .3s ease-in-out}.dept:nth-child(1n):hover .dept-bottom h4{color:#fff;transition:all .3s ease-in-out}.dept-img{display:flex;align-items:center;justify-content:center}.sites-header{grid-template-columns:27rem 24rem 1fr}.sites-wrapper{grid-template-columns:repeat(4, 1fr);gap:2rem;padding-bottom:10rem}.sites-wrapper .site{padding:0;border:none;max-width:30.5rem;max-height:25.9rem}.sites-wrapper .site .sites-bottom h4{font-size:1.4rem}.sites-wrapper .site:nth-child(1n):hover{background:#fff;border:none;transition:none}.sites-wrapper .site:nth-child(1n):hover .dept-absolute{opacity:0;transition:none}.sites-wrapper .site:nth-child(1n):hover .dept-bottom h4{color:#000;transition:none}@media screen and (max-width: 1360px){.slider{padding-bottom:6rem}.depts-wrapper{grid-template-columns:repeat(2, 1fr)}.dept{max-width:unset}.sites-wrapper .site{max-width:unset}.tab-wrapper{grid-template-columns:1fr 1fr}.tab-wrapper .tab{justify-self:center;max-width:unset;max-height:unset}.tab-wrapper .tab:last-child{display:none}.tab-wrapper .tab-top{display:flex;align-items:center;justify-content:center}.tab-wrapper .tab-top div{max-width:unset;max-height:unset;width:100%;height:100%}.tab-wrapper .tab-top div img{width:100%;height:100%}}@media screen and (max-width: 930px){.depts-wrapper{grid-template-columns:1fr;gap:4rem}.dept-img{width:100%;height:100%}.dept-img img{width:100%;height:100%;object-fit:contain}.dept{width:100%;justify-self:center;max-height:unset}.sites-wrapper .site{width:100%;justify-self:center;max-height:unset}.dept .dept-bottom h4{font-size:2rem}.tab-wrapper{grid-template-columns:1fr}.tab-wrapper .tab:last-child{display:block}}@media screen and (max-width: 700px){.second-slider{padding-bottom:10rem}.swiper-button-next,.swiper-button-prev,.swiper .swiper-pagination{display:none}.second-slider .tab-header,.depts-tab .tab-header{grid-template-columns:1fr 1fr}.dept .dept-bottom h4{font-size:1.8rem}#tab-header-text{font-size:2.8rem}.tab-header{grid-template-columns:12rem 17rem 1fr}.tab-header .tab-header-link a{font-size:1.5rem}.tab-wrapper .tab-bottom{padding:2rem}.tab-wrapper .tab-bottom .tab-date{font-size:1.6rem}.tab-wrapper .tab-bottom .tab-name{font-size:1.8rem}.tab-wrapper .tab-bottom .tab-link a{font-size:1.6rem}.nav-right{max-width:50%}.nav-left{max-width:50%}}@media screen and (max-width: 550px){.nav-right{max-width:35%}.nav-left{max-width:65%}.second-slider .tab-header,.depts-tab .tab-header{grid-template-columns:1fr}.tab-header{grid-template-columns:12rem 1fr}.tab-header-line{display:none}.depts-wrapper{padding-bottom:10rem}}@media screen and (max-width: 500px){.second-slider .swipe-slide h2{font-size:2rem}#tab-header-text{font-size:2.4rem}}@media screen and (max-width: 380px){#tab-header-text{font-size:2rem}.tab-wrapper .tab-bottom{padding:2rem}.tab-wrapper .tab-bottom .tab-date{font-size:1.4rem}.tab-wrapper .tab-bottom .tab-name{font-size:1.6rem}.tab-wrapper .tab-bottom .tab-link a{font-size:1.4rem}.tab-header .tab-header-link a{font-size:1.3rem}.sites-wrapper{padding-bottom:6rem}.tab-wrapper{padding-bottom:7rem}.second-slider{padding-bottom:7rem}.dept{padding:1rem}.dept .dept-bottom h4{font-size:1.4rem;margin:1rem 0}.sites-wrapper .site .sites-bottom h4{font-size:1.4rem;margin:1.5rem 0}}.news-page-control{display:flex;align-items:center;justify-content:center;padding-bottom:8rem}.prev-button,.next-button{border:.1rem solid #dfdfdf;width:7rem;height:7rem;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;transition:background .2s ease}.prev-button:hover,.next-button:hover{background:#b3b3b3;transition:all .2s ease}.prev-button:active,.next-button:active{background:#777;transition:all .2s ease}.page-index{font-size:2.4rem;font-weight:bold;margin:0 5rem}.breadcrumb{padding:3rem 0;background:#003a9d;margin-bottom:5rem}.breadcrumb-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;row-gap:1rem;font-size:1.6rem;color:#fff}.breadcrumb-slash{margin:0 2rem}.breadcrumb-text-unfaded{color:#fff;text-decoration:none}.breadcrumb-text-faded{color:rgba(255,255,255,.5);text-decoration:none}@media screen and (max-width: 700px){.breadcrumb{padding:2.5rem 0}.breadcrumb-inner{font-size:1.2rem}}@media screen and (max-width: 500px){.breadcrumb{padding:1.8rem 0}.breadcrumb-inner{font-size:1rem}}.novelty-inner{display:flex;flex-direction:column;align-items:center;padding-bottom:10rem}.novelty-head{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:104rem;width:100%;margin-bottom:5rem;padding:2rem 2rem 0 2rem;border:.1rem solid #dfdfdf;box-shadow:0 .8rem #981429}.novelty-img{max-width:100rem;max-height:56.6rem}.novelty-img img{width:100%;height:100%;object-fit:contain}.novelty-title{text-align:center;font-size:2.4rem;padding:3rem 0}.novelty-text{font-size:1.8rem;text-align:left}.pgraph{display:block;margin-bottom:3rem}.pgraph:last-child{margin-bottom:0}@media screen and (max-width: 930px){.novelty-title{font-size:2rem}}@media screen and (max-width: 700px){.novelty-title{font-size:1.8rem}}@media screen and (max-width: 380px){.novelty-title{font-size:1.8rem}}.etalons .tab-header{grid-template-columns:43rem 24rem 1fr}@media screen and (max-width: 770px){.etalons .tab-header{grid-template-columns:37rem 0 1fr}}@media screen and (max-width: 500px){.etalons .tab-header{grid-template-columns:31rem 0rem 1fr}}@media screen and (max-width: 380px){.etalons .tab-header{grid-template-columns:1fr}}.etalon-inner{display:flex;flex-direction:column;align-items:center;padding-bottom:10rem}.etalon-inner h6{font-size:1.8rem;padding:2rem 0}.etalon-inner ul{padding:0rem 0 0rem 3rem}@media screen and (max-width: 1360px){.novelty-text{font-size:1.6rem}}@media screen and (max-width: 1000px){.novelty-text{font-size:1.4rem}}.legislation .tab-header{grid-template-columns:38rem 24rem 1fr}.legislation-inner{padding-bottom:10rem}.law-card-wrapper{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4rem}.law-card{max-width:40rem;max-height:26.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:1.4rem;border:.1rem solid #dfdfdf;border-bottom:none;box-shadow:0 .4rem #981429}.law-card-text{padding:0 3rem;margin:3rem 0 1rem 0}.law-card-bold{padding:0 3rem;margin:1rem 0 3rem 0;font-weight:bold}@media screen and (max-width: 1200px){.law-card-wrapper{grid-template-columns:1fr 1fr}.law-card{width:100%;justify-self:center;max-width:unset}}@media screen and (max-width: 800px){.law-card-wrapper{grid-template-columns:1fr}}.history-inner{padding-bottom:10rem}.history-inner .tab-header{grid-template-columns:92rem 20rem 1fr}.history-title{border:.1rem solid #dfdfdf;border-bottom:none;box-shadow:0 .4rem #981429;margin-bottom:5rem}.history-title h1{font-size:2.4rem;text-align:center;padding:4rem 3rem}.history-content p{font-size:1.8rem;word-spacing:.1rem;line-height:3rem}@media screen and (max-width: 1200px){.history-inner .tab-header{grid-template-columns:1fr 0rem}}@media screen and (max-width: 700px){.history-content p{font-size:1.6rem}.history-title h1{font-size:2rem}}@media screen and (max-width: 500px){.history-content p{font-size:1.4rem}.history-title h1{font-size:1.8rem}}@media screen and (max-width: 400px){.history-title h1{font-size:1.6rem}}.structure-inner .tab-header{grid-template-columns:77rem 24rem 1fr}.structure-main-page{max-width:128rem;max-height:72rem;margin-bottom:5rem}.structure-main-page img{width:100%;height:100%;object-fit:contain}.structure-employees{width:100%;overflow-x:auto;margin-bottom:10rem}.structure-table{width:128rem;overflow:hidden}.structure-table th{font-weight:bold;padding:3.5rem 1rem;border:.1rem solid #e9ecef}.structure-table td{padding:3.5rem 1rem;border:.1rem solid #e9ecef;border-top:none}.structure-table *{text-align:center}.structure-table span{font-size:1.4rem}.table-head{background:#e9ecef}@media screen and (max-width: 1200px){.structure-inner .tab-header{grid-template-columns:1fr 0rem}}@media screen and (max-width: 900px){.structure-table{width:111rem;margin:0 auto}}@media screen and (max-width: 700px){.structure-table{width:91rem}}@media screen and (max-width: 500px){.structure-table{width:71rem}}.prices .tab-header{grid-template-columns:18rem 24rem 1fr}.measuring-register .tab-header{grid-template-columns:1fr 20rem}.mr-content{padding-bottom:10rem}.mr-table{overflow-x:auto}.regulations-head-left{border-radius:0rem !important}.regulations-head-left input{border-radius:0rem !important}@media screen and (max-width: 1360px){.measuring-register .tab-header{grid-template-columns:1fr 0rem}}@media screen and (max-width: 500px){.regulations-head-left .search-form{min-width:unset}}.plans .tab-header{grid-template-columns:1fr 20rem}.planscard{border:.1rem solid #dfdfdf;max-width:40rem;max-height:11.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 .4rem #981429;padding:5rem 3rem}.planscard h4{font-size:1.4rem;text-align:center}.plans-card-wrapper{gap:4rem;display:grid;grid-template-columns:1fr 1fr 1fr}.plans-content{padding-bottom:10rem}@media screen and (max-width: 1360px){.plans-inner .tab-header{grid-template-columns:1fr 0rem}}@media screen and (max-width: 1100px){.plans-inner .plans-card-wrapper{grid-template-columns:1fr 1fr}.plans-inner .plans-card-wrapper .planscard{max-width:unset;width:100%}}@media screen and (max-width: 700px){.plans-inner .plans-card-wrapper{grid-template-columns:1fr}}.calibrate-inst .tab-header{grid-template-columns:1fr 20rem}@media screen and (max-width: 1360px){.calibrate-inst-inner .tab-header{grid-template-columns:1fr 0rem}}@media screen and (max-width: 1100px){.calibrate-inst-inner .plans-card-wrapper{grid-template-columns:1fr 1fr}.calibrate-inst-inner .plans-card-wrapper .planscard{max-width:unset;width:100%}}@media screen and (max-width: 700px){.calibrate-inst-inner .plans-card-wrapper{grid-template-columns:1fr}}.calibrate-thermo-content{padding-bottom:10rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.calibrate-thermo-content .novelty-head{margin-bottom:5rem}.structure-table tbody *{text-size-adjust:none;-webkit-text-size-adjust:none}@media screen and (max-width: 1000px){.structure-table tbody *{font-size:1.2rem}}.regulations-inner{padding-bottom:10rem}.regulations-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:5rem}.search-form{display:grid;grid-template-columns:6fr 1fr;min-width:40rem}.search-form input{width:100%;font-size:1.6rem;padding:2rem 0 2rem 3rem;border:none;border:.1rem solid #dfdfdf;border-right:none;outline-style:none}.search-form button{background:transparent;border:none;border:.1rem solid #dfdfdf;border-left:none;display:flex;align-items:center;justify-content:center}.search-form button:hover{cursor:pointer}.search-form button div{width:1.6rem;height:1.6rem}.search-form button div img{width:100%;height:100%;object-fit:contain}.btn-form{display:flex;align-items:center;justify-content:space-between;min-width:14rem}.regulations-btn{width:6rem;height:6rem;border:none;border:.1rem solid #dfdfdf;display:flex;align-items:center;justify-content:center;background:transparent;cursor:pointer;transition:.2s background ease}.regulations-btn:nth-child(1n):hover{background:rgba(0,0,0,.4);transition:.2s all ease}.regulations-btn div{display:flex;align-items:center;justify-content:center;width:1.121rem;height:2.075rem}.regulations-btn div img{width:100%;height:100%;object-fit:contain}.regulations-table{font-size:1.4rem}@media screen and (max-width: 800px){.regulations-head-left,.regulations-head-right{width:100%}.regulations-head{flex-direction:column;row-gap:2rem}.regulations-btn{width:100%;height:8rem}}.service-inner{padding-bottom:10rem}.service-inner .tab-header{grid-template-columns:1fr 20rem}.service-inner .tab-header:last-child{grid-template-columns:21rem 24rem 1fr}.service-cards-wrapper{display:grid;grid-template-columns:repeat(4, 1fr);gap:2rem}.service-card-top{display:flex;align-items:center;justify-content:center}.service-img-wrapper{max-height:32.4rem;max-width:28.5rem;width:100%;height:100%}.service-img-wrapper img{width:100%;height:100%;object-fit:contain}.service-card{max-width:30.5rem;max-height:39.6rem;cursor:pointer;position:relative;text-align:center;border:.1rem solid #dfdfdf;box-shadow:0 .4rem #981429;border-bottom:none;padding:1rem 1rem 0 1rem;color:#000;background:#fff;transition:all .3s ease}.service-card:nth-child(1n):hover{background:#981429;color:#fff;transition:all .3s ease}.service-card:nth-child(1n):hover .service-abs{opacity:100%;transition:all .3s ease}.service-abs{position:absolute;width:5rem;height:5rem;top:1rem;left:1rem;background:#981429;display:flex;align-items:center;justify-content:center;opacity:0%;transition:opacity .2s ease}.service-abs div{width:2.5rem;height:2.5rem}.service-abs div img{width:100%;height:100%;object-fit:contain}.service-card-title{font-size:1.6rem;font-weight:bold;margin:2rem 1rem}@media screen and (max-width: 1360px){.service-inner .tab-header{grid-template-columns:1fr 0rem}.service-cards-wrapper{grid-template-columns:repeat(2, 1fr)}.service-card{justify-self:center;max-width:unset;max-height:unset;width:100%;height:100%}.service-img-wrapper{max-height:unset;max-width:unset}}@media screen and (max-width: 550px){.service-cards-wrapper{grid-template-columns:1fr}}",""]),V.Z=a},3645:function(l){"use strict";l.exports=function(l){var V=[];return V.toString=function(){return this.map((function(V){var U="",S=void 0!==V[5];return V[4]&&(U+="@supports (".concat(V[4],") {")),V[2]&&(U+="@media ".concat(V[2]," {")),S&&(U+="@layer".concat(V[5].length>0?" ".concat(V[5]):""," {")),U+=l(V),S&&(U+="}"),V[2]&&(U+="}"),V[4]&&(U+="}"),U})).join("")},V.i=function(l,U,S,t,W){"string"==typeof l&&(l=[[null,l,void 0]]);var Z={};if(S)for(var p=0;p0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=W),U&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=U):d[2]=U),t&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=t):d[4]="".concat(t)),V.push(d))}},V}},1667:function(l){"use strict";l.exports=function(l,V){return V||(V={}),l?(l=String(l.__esModule?l.default:l),/^['"].*['"]$/.test(l)&&(l=l.slice(1,-1)),V.hash&&(l+=V.hash),/["'() \t\n]|(%20)/.test(l)||V.needQuotes?'"'.concat(l.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):l):l}},8081:function(l){"use strict";l.exports=function(l){return l[1]}},8679:function(l,V,U){"use strict";var S=U(1296),t={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},W={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Z={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},p={};function N(l){return S.isMemo(l)?Z:p[l.$$typeof]||t}p[S.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},p[S.Memo]=Z;var k=Object.defineProperty,d=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,T=Object.getOwnPropertyDescriptor,c=Object.getPrototypeOf,e=Object.prototype;l.exports=function l(V,U,S){if("string"!=typeof U){if(e){var t=c(U);t&&t!==e&&l(V,t,S)}var Z=d(U);a&&(Z=Z.concat(a(U)));for(var p=N(V),J=N(U),R=0;R