Webpack 5 upgrade

This commit is contained in:
Tony Air 2020-12-25 05:42:33 +07:00
parent 335c8295df
commit 2f360fe15a
41 changed files with 348 additions and 234 deletions

View File

@ -1 +1 @@
export default "../img/photo3.svg";
module.exports = "../img/photo3.svg";

BIN
dist/img/bg.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 B

After

Width:  |  Height:  |  Size: 92 B

BIN
dist/img/photo1.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 697 KiB

BIN
dist/img/photo2.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 974 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

4
dist/index.html vendored
View File

@ -1,4 +1,4 @@
<!doctype html><html lang="en"><head><title>Webpack Bootstrap 4 UI Demo</title><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content=""><meta name="author" content=""><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_SilverShop.Page.CheckoutPageController.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_Site.Controllers.MapElementController.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_cms.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_editor.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_order.css" rel="stylesheet"></head><body data-default-lng="0" data-default-lat="0" class="is-offlines"><noscript><div class="main-bn">Please, enable javascript.</div></noscript><div id="PageTopAnchor"></div><div class="flyout-FlyoutUI"><i class="fas fa-times flyout-FlyoutUI__close"></i><h2 class="flyout-FlyoutUI__title"><i class="fas fa-asterisk"></i> Flyout Demo</h2><div class="flyout-FlyoutUI__content typography"><p>Lipsum .... .... ....</p></div></div><div class="wrapper"><header id="Header" class="bg-dark"><div class="container-fluid"><nav id="Navigation" class="fixed-top navbar-dark bg-dark navbar navbar-expand-lg dropdown-hover"><a class="navbar-brand" href="#">UI Kit</a> <button data-target="#NavbarResponsive" aria-controls="NavbarResponsive" class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div id="NavbarResponsive" class="collapse navbar-collapse"><ul class="navbar-nav mr-auto nav-fill w-100"><li class="nav-item active"><a class="nav-link js-scrollTo" href="#PageTopAnchor">Home <span class="sr-only">(current)</span></a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Slider">Slider</a></li><li class="nav-item dropdown"><a id="NavbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a><div class="dropdown-menu bg-dark" aria-labelledby="NavbarDropdown"><a class="dropdown-item" href="#">Action</a> <a class="dropdown-item js-scrollTo" href="#AccordionList">Scroll to AccordionList</a><div class="dropdown-divider"></div><a class="dropdown-item" href="https://google.com" target="_blank" rel="nofollow">Go to Google.com</a></div></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Content">Content</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#List">List</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#AccordionList">Accordion List</a></li><li><form class="form-inline my-2 my-lg-0"><input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> <span class="sr-only">Search</span></button></form></li></ul></div></nav></div></header><main id="MainContent" class="page-content"><section id="Slider" class="element site__elements__sliderelement"><div class="element-container container-fluid"><div id="Carousel{$ID}" class="carousel slide js-carousel d-none d-sm-block" data-indicators="true" data-arrows="true"><div class="carousel-inner"><div class="carousel-item active"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #1</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #2</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #3</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div></div></div></div></section><section id="Lightbox" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Lightbox Demo</h2><div class="typography"><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="That's first link">Click me to start</a></p><p><a href="../src/img/photo2.jpg" data-toggle="lightbox" data-lightbox-gallery="demo">Use data-toggle="lightbox" attribute to attach lightbox action and href to specify URL.</a></p><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="Use data-title attribute to specify lightbox title">Use data-lightbox-gallery="YOUR_GALLERY_NAME" to group ligthboxes and use next/prev arrows</a></p><p data-toggle="lightbox" data-href="https://youtu.be/GgnClrx8N2k" data-lightbox-gallery="demo" data-title="Yes you can link vimeo and youtube videos as long as AJAX content">You can use data-href attribute to specify link and attach lightbox to another element</p></div></div></div></section><section id="Content" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Content Demo</h2><div class="typography"><h3><i class="fas fa-search"></i> Quick start</h3><ol><li><p>Clone quick start repository</p><pre>git clone https://github.com/a2nt/webpack-bootstrap-ui-kit-quick-start.git</pre></li><li><p>Install npm packages</p><pre>
<!doctype html><html lang="en"><head><title>Webpack Bootstrap 4 UI Demo</title><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content=""><meta name="author" content=""><link href="./css/app.css" rel="stylesheet"><link href="./css/app_SilverShop.Page.CheckoutPageController.css" rel="stylesheet"><link href="./css/app_Site.Controllers.MapElementController.css" rel="stylesheet"><link href="./css/app_cms.css" rel="stylesheet"><link href="./css/app_editor.css" rel="stylesheet"><link href="./css/app_order.css" rel="stylesheet"></head><body data-default-lng="0" data-default-lat="0" class="is-offlines"><noscript><div class="main-bn">Please, enable javascript.</div></noscript><div id="PageTopAnchor"></div><div class="flyout-FlyoutUI"><i class="fas fa-times flyout-FlyoutUI__close"></i><h2 class="flyout-FlyoutUI__title"><i class="fas fa-asterisk"></i> Flyout Demo</h2><div class="flyout-FlyoutUI__content typography"><p>Lipsum .... .... ....</p></div></div><div class="wrapper"><header id="Header" class="bg-dark"><div class="container-fluid"><nav id="Navigation" class="fixed-top navbar-dark bg-dark navbar navbar-expand-lg dropdown-hover"><a class="navbar-brand" href="#">UI Kit</a> <button data-target="#NavbarResponsive" aria-controls="NavbarResponsive" class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div id="NavbarResponsive" class="collapse navbar-collapse"><ul class="navbar-nav mr-auto nav-fill w-100"><li class="nav-item active"><a class="nav-link js-scrollTo" href="#PageTopAnchor">Home <span class="sr-only">(current)</span></a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Slider">Slider</a></li><li class="nav-item dropdown"><a id="NavbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a><div class="dropdown-menu bg-dark" aria-labelledby="NavbarDropdown"><a class="dropdown-item" href="#">Action</a> <a class="dropdown-item js-scrollTo" href="#AccordionList">Scroll to AccordionList</a><div class="dropdown-divider"></div><a class="dropdown-item" href="https://google.com" target="_blank" rel="nofollow">Go to Google.com</a></div></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Content">Content</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#List">List</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#AccordionList">Accordion List</a></li><li><form class="form-inline my-2 my-lg-0"><input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> <span class="sr-only">Search</span></button></form></li></ul></div></nav></div></header><main id="MainContent" class="page-content"><section id="Slider" class="element site__elements__sliderelement"><div class="element-container container-fluid"><div id="Carousel{$ID}" class="carousel slide js-carousel d-none d-sm-block" data-indicators="true" data-arrows="true"><div class="carousel-inner"><div class="carousel-item active"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #1</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #2</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #3</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div></div></div></div></section><section id="Lightbox" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Lightbox Demo</h2><div class="typography"><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="That's first link">Click me to start</a></p><p><a href="../src/img/photo2.jpg" data-toggle="lightbox" data-lightbox-gallery="demo">Use data-toggle="lightbox" attribute to attach lightbox action and href to specify URL.</a></p><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="Use data-title attribute to specify lightbox title">Use data-lightbox-gallery="YOUR_GALLERY_NAME" to group ligthboxes and use next/prev arrows</a></p><p data-toggle="lightbox" data-href="https://youtu.be/GgnClrx8N2k" data-lightbox-gallery="demo" data-title="Yes you can link vimeo and youtube videos as long as AJAX content">You can use data-href attribute to specify link and attach lightbox to another element</p></div></div></div></section><section id="Content" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Content Demo</h2><div class="typography"><h3><i class="fas fa-search"></i> Quick start</h3><ol><li><p>Clone quick start repository</p><pre>git clone https://github.com/a2nt/webpack-bootstrap-ui-kit-quick-start.git</pre></li><li><p>Install npm packages</p><pre>
cd ./webpack-bootstrap-ui-kit-quick-start.git
npm install
</pre></li><li><p>Edit ./src files</p></li><li><p>Start development server at https://127.0.0.1:8001/:</p><pre>yarn start</pre><p>Compile:</p><pre>yarn build</pre></li></ol><h2><i class="fas fa-search"></i> Header #2 <i class="fas fa-search"></i></h2><p><img src="https://placehold.it/200x200" alt="Test Image" class="image right"/>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><ol><li>First<ul><li>First</li><li>Second<ol><li>First</li><li>Second</li><li>Third</li></ol><ul><li>First</li><li>Second</li><li>Third</li></ul></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ul></li><li><p>{paragraph} Second</p><p>{paragraph} Second #2</p></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ol><h2 class="text-center">Table #1: Default</h2><table><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table><p class="text-justify">Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><h2 class="text-center">Table #2: Border-less</h2><table class="table-none"><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table></div></div></div></section><section id="List" class="element dnadesign__elementallist__model__elementlist bg-dark"><div class="element-container container"><h2 class="list-element__title">Content Header</h2><div class="typography">Some content ...</div><div class="list-element__container row" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div></div></div></section><section id="AccordionList" class="element site__elements__accordion"><div class="element-container container"><h2 class="list-element__title">Accordion demo</h2><div class="typography">Some content ...</div><div id="AccordionExample" class="list-element__container row accordion" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading1" class="card-header"><button data-target="#Collapse1" aria-controls="Collapse1" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #1</h2></button></div><div id="Collapse1" aria-labelledby="Heading1" data-parent="#AccordionExample" class="collapse"><div class="card-body"><div class="typography"><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading2"><button data-target="#Collapse2" aria-controls="Collapse2" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse2" class="collapse" aria-labelledby="Heading2" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading3"><button data-target="#Collapse3" aria-controls="Collapse3" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #3</h2></button></div><div id="Collapse3" class="collapse" aria-labelledby="Heading3" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading4" class="card-header"><button data-target="#Collapse4" aria-controls="Collapse4" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse4" class="collapse" aria-labelledby="Heading4" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div></div></div></section><section id="MapElement" class="element site__elements__mapelement"><div class="element-container container"><h2 class="content-element__title">Find Location</h2><div class="typography"><p>Use _consts.js to change Google Maps to Mapbox.</p></div><div class="mapAPI-map-container" data-map-zoom="12" data-key="" data-map-style="mapbox://styles/mapbox/streets-v9" data-geojson="{&quot;type&quot;:&quot;MarkerCollection&quot;,&quot;features&quot;:[{&quot;id&quot;:4,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin4\&quot; data-id=\&quot;4\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #1&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;17 Lakeside Drive&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; U&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8827743,-74.4276612\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.4276612,40.8827743]}},{&quot;id&quot;:3,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin3\&quot; data-id=\&quot;3\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #2&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;Flower Hill Cemetery&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; N&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.7884708,-74.0249253\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0249253,40.7884708]}},{&quot;id&quot;:2,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin2\&quot; data-id=\&quot;2\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #3&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;555 Phoenix Road&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; U&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8527479,-78.2475576\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-78.2475576,40.8527479]}},{&quot;id&quot;:1,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin1\&quot; data-id=\&quot;1\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #4&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;15 East Hadley Road&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; U&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/42.3297023,-72.5552186\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-72.5552186,42.3297023]}}]}" data-fly-to-marker="true" data-fly-to-bounds="false"><div class="mapAPI-map"></div></div><div class="locations"><div class="row"><div class="col-sm-3"><div id="MapPin4" data-id="4" class="location"><div class="fn">Office #1</div><div class="addr">17 Lakeside Drive</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8827743,-74.4276612" target="_blank">Get Directions &raquo;</a></div></div></div><div class="col-sm-3"><div id="MapPin3" data-id="3" class="location"><div class="fn">Office #2</div><div class="addr">Flower Hill Cemetery</div><div class="d-none">N</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.7884708,-74.0249253" target="_blank">Get Directions &raquo;</a></div></div></div><div class="col-sm-3"><div id="MapPin2" data-id="2" class="location"><div class="fn">Office #3</div><div class="addr">555 Phoenix Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8527479,-78.2475576" target="_blank">Get Directions &raquo;</a></div></div></div><div class="col-sm-3"><div id="MapPin1" data-id="1" class="location"><div class="fn">Office #4</div><div class="addr">15 East Hadley Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/42.3297023,-72.5552186" target="_blank">Get Directions &raquo;</a></div></div></div></div></div></div></section></main></div><footer id="Footer" class="footer site-footer"><div class="wrapper"><div class="container"><div class="row"><div class="col-sm-3">Col #1</div><div class="col-sm-3">Col #2</div><div class="col-sm-3">Col #3</div><div class="col-sm-3">Col #4</div></div></div></div><div class="footer"><div class="container"><div class="row"><div class="col-sm-8 d-flex"><div class="copyright">Copyright &copy; 2019 - Tony Air (A2nt) Webpack Bootstrap 4 UI Kit</div><nav class="footer-nav"><ul class="list-inline d-flex"><li><a href="#">Sitemap</a></li><li><a href="#">Privacy Policy</a></li></ul></nav></div><div class="col-sm-4 text-right"><div class="credits footer__credits"><a href="https://github.com/a2nt" target="_blank" rel="nofollow"><span>Developed by</span> Tony Air</a></div></div></div></div></div></footer><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.0/css/all.css" media="all"/><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_SilverShop.Page.CheckoutPageController.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_Site.Controllers.MapElementController.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_cms.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_editor.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_order.js"></script></body></html>
</pre></li><li><p>Edit ./src files</p></li><li><p>Start development server at https://127.0.0.1:8001/:</p><pre>yarn start</pre><p>Compile:</p><pre>yarn build</pre></li></ol><h2><i class="fas fa-search"></i> Header #2 <i class="fas fa-search"></i></h2><p><img src="https://placehold.it/200x200" alt="Test Image" class="image right"/>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><ol><li>First<ul><li>First</li><li>Second<ol><li>First</li><li>Second</li><li>Third</li></ol><ul><li>First</li><li>Second</li><li>Third</li></ul></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ul></li><li><p>{paragraph} Second</p><p>{paragraph} Second #2</p></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ol><h2 class="text-center">Table #1: Default</h2><table><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table><p class="text-justify">Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><h2 class="text-center">Table #2: Border-less</h2><table class="table-none"><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table></div></div></div></section><section id="List" class="element dnadesign__elementallist__model__elementlist bg-dark"><div class="element-container container"><h2 class="list-element__title">Content Header</h2><div class="typography">Some content ...</div><div class="list-element__container row" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"/></div></div></div></div></div></div></section><section id="AccordionList" class="element site__elements__accordion"><div class="element-container container"><h2 class="list-element__title">Accordion demo</h2><div class="typography">Some content ...</div><div id="AccordionExample" class="list-element__container row accordion" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading1" class="card-header"><button data-target="#Collapse1" aria-controls="Collapse1" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #1</h2></button></div><div id="Collapse1" aria-labelledby="Heading1" data-parent="#AccordionExample" class="collapse"><div class="card-body"><div class="typography"><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading2"><button data-target="#Collapse2" aria-controls="Collapse2" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse2" class="collapse" aria-labelledby="Heading2" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading3"><button data-target="#Collapse3" aria-controls="Collapse3" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #3</h2></button></div><div id="Collapse3" class="collapse" aria-labelledby="Heading3" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading4" class="card-header"><button data-target="#Collapse4" aria-controls="Collapse4" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse4" class="collapse" aria-labelledby="Heading4" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div></div></div></section><section id="MapElement" class="element site__elements__mapelement"><div class="element-container container"><h2 class="content-element__title">Find Location</h2><div class="typography"><p>Use _consts.js to change Google Maps to Mapbox.</p></div><div class="mapAPI-map-container" data-map-zoom="12" data-key="" data-map-style="mapbox://styles/mapbox/streets-v9" data-geojson="{&quot;type&quot;:&quot;MarkerCollection&quot;,&quot;features&quot;:[{&quot;id&quot;:4,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin4\&quot; data-id=\&quot;4\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #1&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;17 Lakeside Drive&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; U&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8827743,-74.4276612\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.4276612,40.8827743]}},{&quot;id&quot;:3,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin3\&quot; data-id=\&quot;3\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #2&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;Flower Hill Cemetery&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; N&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.7884708,-74.0249253\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0249253,40.7884708]}},{&quot;id&quot;:2,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin2\&quot; data-id=\&quot;2\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #3&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;555 Phoenix Road&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; U&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8527479,-78.2475576\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-78.2475576,40.8527479]}},{&quot;id&quot;:1,&quot;type&quot;:&quot;Feature&quot;,&quot;icon&quot;:&quot;&lt;i class=\&quot;fas fa-map-marker-alt\&quot;&gt;&lt;\/i&gt;&quot;,&quot;properties&quot;:{&quot;content&quot;:&quot;&lt;div id=\&quot;MapPin1\&quot; data-id=\&quot;1\&quot; class=\&quot;location\&quot;&gt;\n &lt;div class=\&quot;fn\&quot;&gt;Office #4&lt;\/div&gt;\n &lt;div class=\&quot;addr\&quot;&gt;15 East Hadley Road&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;d-none\&quot;&gt; U&lt;\/div&gt;\n \n \n \n &lt;div class=\&quot;dir-link\&quot;&gt;\n &lt;a href=\&quot;https:\/\/www.google.com\/maps\/dir\/Current+Location\/42.3297023,-72.5552186\&quot; target=\&quot;_blank\&quot;&gt;Get Directions &amp;raquo;&lt;\/a&gt;\n &lt;\/div&gt;\n&lt;\/div&gt;\n&quot;},&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-72.5552186,42.3297023]}}]}" data-fly-to-marker="true" data-fly-to-bounds="false"><div class="mapAPI-map"></div></div><div class="locations"><div class="row"><div class="col-sm-3"><div id="MapPin4" data-id="4" class="location"><div class="fn">Office #1</div><div class="addr">17 Lakeside Drive</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8827743,-74.4276612" target="_blank">Get Directions &raquo;</a></div></div></div><div class="col-sm-3"><div id="MapPin3" data-id="3" class="location"><div class="fn">Office #2</div><div class="addr">Flower Hill Cemetery</div><div class="d-none">N</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.7884708,-74.0249253" target="_blank">Get Directions &raquo;</a></div></div></div><div class="col-sm-3"><div id="MapPin2" data-id="2" class="location"><div class="fn">Office #3</div><div class="addr">555 Phoenix Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8527479,-78.2475576" target="_blank">Get Directions &raquo;</a></div></div></div><div class="col-sm-3"><div id="MapPin1" data-id="1" class="location"><div class="fn">Office #4</div><div class="addr">15 East Hadley Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/42.3297023,-72.5552186" target="_blank">Get Directions &raquo;</a></div></div></div></div></div></div></section></main></div><footer id="Footer" class="footer site-footer"><div class="wrapper"><div class="container"><div class="row"><div class="col-sm-3">Col #1</div><div class="col-sm-3">Col #2</div><div class="col-sm-3">Col #3</div><div class="col-sm-3">Col #4</div></div></div></div><div class="footer"><div class="container"><div class="row"><div class="col-sm-8 d-flex"><div class="copyright">Copyright &copy; 2019 - Tony Air (A2nt) Webpack Bootstrap 4 UI Kit</div><nav class="footer-nav"><ul class="list-inline d-flex"><li><a href="#">Sitemap</a></li><li><a href="#">Privacy Policy</a></li></ul></nav></div><div class="col-sm-4 text-right"><div class="credits footer__credits"><a href="https://github.com/a2nt" target="_blank" rel="nofollow"><span>Developed by</span> Tony Air</a></div></div></div></div></div></footer><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.0/css/all.css" media="all"/><script src="./js/app.js"></script><script src="./js/app_SilverShop.Page.CheckoutPageController.js"></script><script src="./js/app_Site.Controllers.MapElementController.js"></script><script src="./js/app_cms.js"></script><script src="./js/app_editor.js"></script><script src="./js/app_order.js"></script></body></html>

2
dist/js/app.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
!function(){var t={821:function(t){t.exports={AJAX:"ajax-load",AJAXMAIN:"ajax-main-load",MAININIT:"main-init",TABHIDDEN:"tab-hidden",TABFOCUSED:"tab-focused",OFFLINE:"offline",ONLINE:"online",BACKONLINE:"back-online",TOUCHENABLE:"touch-enabled",TOUCHDISABLED:"touch-disabled",LOADED:"load",SWIPELEFT:"swipeleft panleft",SWIPERIGHT:"swiperight panright",ALLERTAPPEARED:"alert-appeared",ALERTREMOVED:"alert-removed",LODEDANDREADY:"load-ready",LAZYIMAGEREADY:"image-lazy-bg-loaded",LAZYIMAGESREADY:"images-lazy-loaded",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",CAROUSEL_READY:"bs.carousel.ready",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}}},e={};function o(n){if(e[n])return e[n].exports;var i=e[n]={exports:{}};return t[n](i,i.exports,o),i.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";var t=jQuery,e=o.n(t),n=o(821),i=o.n(n);function r(t){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t){var e=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=p(t);if(e){var i=p(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return u(this,o)}}function u(t,e){return!e||"object"!==r(e)&&"function"!==typeof e?c(t):e}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var h={init:function(){return function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(r,google.maps.OverlayView);var e,o,n,i=l(r);function r(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r);var o=c(e=i.call(this));return o.setMap(t.map),o.position=t.position,o.html=t.html?t.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',o.divClass=t.divClass,o.align=t.align,o.isDebugMode=t.debug,o.onClick=t.onClick,o.onMouseOver=t.onMouseOver,o.isBoolean=function(t){return"boolean"===typeof t},o.isNotUndefined=function(t){return"undefined"!==typeof t},o.hasContent=function(t){return t.length>0},o.isString=function(t){return"string"===typeof t},o.isFunction=function(t){return"function"===typeof t},e}return e=r,(o=[{key:"onAdd",value:function(){var t=this;t.div=document.createElement("div"),t.div.style.position="absolute",t.isNotUndefined(t.divClass)&&t.hasContent(t.divClass)&&(t.div.className=t.divClass),t.isNotUndefined(t.html)&&t.hasContent(t.html)&&t.isString(t.html)&&(t.div.innerHTML=t.html),t.isBoolean(t.isDebugMode)&&t.isDebugMode&&(t.div.className="debug-mode",t.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',t.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),t.getPanes().overlayMouseTarget.appendChild(t.div),google.maps.event.addDomListener(t.div,"click",(function(e){google.maps.event.trigger(t,"click"),t.isFunction(t.onClick)&&t.onClick(),e.stopPropagation()})),google.maps.event.addDomListener(t.div,"mouseover",(function(e){google.maps.event.trigger(t,"mouseover"),t.isFunction(t.onMouseOver)&&t.onMouseOver(),e.stopPropagation()}))}},{key:"draw",value:function(){var t=this,e=$(t.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");e.length||(e=$(t.div));var o=t.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(t.position)),n={y:void 0,x:void 0},i=e.outerWidth(),r=e.outerHeight();switch(Array.isArray(t.align)?t.align.join(" "):""){case"left top":n.y=r,n.x=i;break;case"left center":n.y=r/2,n.x=i;break;case"left bottom":n.y=0,n.x=i;break;case"center top":n.y=r,n.x=i/2;break;case"center center":n.y=r/2,n.x=i/2;break;case"center bottom":n.y=0,n.x=i/2;break;case"right top":n.y=r,n.x=0;break;case"right center":n.y=r/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=r/2,n.x=i/2}t.div.style.top="".concat(o.y-n.y,"px"),t.div.style.left="".concat(o.x-n.x,"px")}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(t,e){var o=this;o.position=t,o.align=e,o.draw()}}])&&s(e.prototype,o),n&&s(e,n),r}()}},g=function(t,e){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])})(t,e)};function d(t,e){function o(){this.constructor=t}g(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}var f=function(){return(f=Object.assign||function(t){for(var e,o=1,n=arguments.length;o<n;o++)for(var i in e=arguments[o])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var m=function t(){!function(t,e){for(var o in e.prototype)t.prototype[o]=e.prototype[o]}(t,google.maps.OverlayView)};function _(t){return Object.keys(t).reduce((function(e,o){return t[o]&&e.push(o+":"+t[o]),e}),[]).join(";")}function y(t){return t?t+"px":void 0}var v=function(t){function e(e,o){var n=t.call(this)||this;return n.cluster_=e,n.styles_=o,n.center_=null,n.div_=null,n.sums_=null,n.visible_=!1,n.style=null,n.setMap(e.getMap()),n}return d(e,t),e.prototype.onAdd=function(){var t,e,o=this,n=this.cluster_.getMarkerClusterer(),i=google.maps.version.split("."),r=i[0],s=i[1],a=100*parseInt(r,10)+parseInt(s,10);this.div_=document.createElement("div"),this.visible_&&this.show(),this.getPanes().overlayMouseTarget.appendChild(this.div_),this.boundsChangedListener_=google.maps.event.addListener(this.getMap(),"bounds_changed",(function(){e=t})),google.maps.event.addDomListener(this.div_,"mousedown",(function(){t=!0,e=!1})),a>=332&&google.maps.event.addDomListener(this.div_,"touchstart",(function(t){t.stopPropagation()})),google.maps.event.addDomListener(this.div_,"click",(function(i){if(t=!1,!e){if(google.maps.event.trigger(n,"click",o.cluster_),google.maps.event.trigger(n,"clusterclick",o.cluster_),n.getZoomOnClick()){var r=n.getMaxZoom(),s=o.cluster_.getBounds();n.getMap().fitBounds(s),setTimeout((function(){n.getMap().fitBounds(s),null!==r&&n.getMap().getZoom()>r&&n.getMap().setZoom(r+1)}),100)}i.cancelBubble=!0,i.stopPropagation&&i.stopPropagation()}})),google.maps.event.addDomListener(this.div_,"mouseover",(function(){google.maps.event.trigger(n,"mouseover",o.cluster_)})),google.maps.event.addDomListener(this.div_,"mouseout",(function(){google.maps.event.trigger(n,"mouseout",o.cluster_)}))},e.prototype.onRemove=function(){this.div_&&this.div_.parentNode&&(this.hide(),google.maps.event.removeListener(this.boundsChangedListener_),google.maps.event.clearInstanceListeners(this.div_),this.div_.parentNode.removeChild(this.div_),this.div_=null)},e.prototype.draw=function(){if(this.visible_){var t=this.getPosFromLatLng_(this.center_);this.div_.style.top=t.y+"px",this.div_.style.left=t.x+"px"}},e.prototype.hide=function(){this.div_&&(this.div_.style.display="none"),this.visible_=!1},e.prototype.show=function(){this.div_&&(this.div_.className=this.className_,this.div_.style.cssText=this.createCss_(this.getPosFromLatLng_(this.center_)),this.div_.innerHTML=(this.style.url?this.getImageElementHtml():"")+this.getLabelDivHtml(),"undefined"===typeof this.sums_.title||""===this.sums_.title?this.div_.title=this.cluster_.getMarkerClusterer().getTitle():this.div_.title=this.sums_.title,this.div_.style.display=""),this.visible_=!0},e.prototype.getLabelDivHtml=function(){return'\n<div aria-label="'+this.cluster_.getMarkerClusterer().ariaLabelFn(this.sums_.text)+'" style="'+_({position:"absolute",top:y(this.anchorText_[0]),left:y(this.anchorText_[1]),color:this.style.textColor,"font-size":y(this.style.textSize),"font-family":this.style.fontFamily,"font-weight":this.style.fontWeight,"font-style":this.style.fontStyle,"text-decoration":this.style.textDecoration,"text-align":"center",width:y(this.style.width),"line-height":y(this.style.textLineHeight)})+'" tabindex="0">\n <span aria-hidden="true">'+this.sums_.text+"</span>\n</div>\n"},e.prototype.getImageElementHtml=function(){var t=(this.style.backgroundPosition||"0 0").split(" "),e=parseInt(t[0].replace(/^\s+|\s+$/g,""),10),o=parseInt(t[1].replace(/^\s+|\s+$/g,""),10),n={};if(this.cluster_.getMarkerClusterer().getEnableRetinaIcons())n={width:y(this.style.width),height:y(this.style.height)};else{var i=[-1*o,-1*e+this.style.width,-1*o+this.style.height,-1*e];n={clip:"rect("+i[0]+"px, "+i[1]+"px, "+i[2]+"px, "+i[3]+"px)"}}var r=_(f({position:"absolute",top:y(o),left:y(e)},n));return'<img alt="'+this.sums_.text+'" aria-hidden="true" src="'+this.style.url+'" style="'+r+'"/>'},e.prototype.useStyle=function(t){this.sums_=t;var e=Math.max(0,t.index-1);e=Math.min(this.styles_.length-1,e),this.style=this.styles_[e],this.anchorText_=this.style.anchorText||[0,0],this.anchorIcon_=this.style.anchorIcon||[Math.floor(this.style.height/2),Math.floor(this.style.width/2)],this.className_=this.cluster_.getMarkerClusterer().getClusterClass()+" "+(this.style.className||"cluster-"+e)},e.prototype.setCenter=function(t){this.center_=t},e.prototype.createCss_=function(t){return _({"z-index":""+this.cluster_.getMarkerClusterer().getZIndex(),top:y(t.y),left:y(t.x),width:y(this.style.width),height:y(this.style.height),cursor:"pointer",position:"absolute","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-o-user-select":"none","user-select":"none"})},e.prototype.getPosFromLatLng_=function(t){var e=this.getProjection().fromLatLngToDivPixel(t);return e.x=Math.floor(e.x-this.anchorIcon_[1]),e.y=Math.floor(e.y-this.anchorIcon_[0]),e},e}(m),k=function(){function t(t){this.markerClusterer_=t,this.map_=this.markerClusterer_.getMap(),this.minClusterSize_=this.markerClusterer_.getMinimumClusterSize(),this.averageCenter_=this.markerClusterer_.getAverageCenter(),this.markers_=[],this.center_=null,this.bounds_=null,this.clusterIcon_=new v(this,this.markerClusterer_.getStyles())}return t.prototype.getSize=function(){return this.markers_.length},t.prototype.getMarkers=function(){return this.markers_},t.prototype.getCenter=function(){return this.center_},t.prototype.getMap=function(){return this.map_},t.prototype.getMarkerClusterer=function(){return this.markerClusterer_},t.prototype.getBounds=function(){for(var t=new google.maps.LatLngBounds(this.center_,this.center_),e=this.getMarkers(),o=0;o<e.length;o++)t.extend(e[o].getPosition());return t},t.prototype.remove=function(){this.clusterIcon_.setMap(null),this.markers_=[],delete this.markers_},t.prototype.addMarker=function(t){if(this.isMarkerAlreadyAdded_(t))return!1;if(this.center_){if(this.averageCenter_){var e=this.markers_.length+1,o=(this.center_.lat()*(e-1)+t.getPosition().lat())/e,n=(this.center_.lng()*(e-1)+t.getPosition().lng())/e;this.center_=new google.maps.LatLng(o,n),this.calculateBounds_()}}else this.center_=t.getPosition(),this.calculateBounds_();t.isAdded=!0,this.markers_.push(t);var i=this.markers_.length,r=this.markerClusterer_.getMaxZoom();if(null!==r&&this.map_.getZoom()>r)t.getMap()!==this.map_&&t.setMap(this.map_);else if(i<this.minClusterSize_)t.getMap()!==this.map_&&t.setMap(this.map_);else if(i===this.minClusterSize_)for(var s=0;s<i;s++)this.markers_[s].setMap(null);else t.setMap(null);return!0},t.prototype.isMarkerInClusterBounds=function(t){return this.bounds_.contains(t.getPosition())},t.prototype.calculateBounds_=function(){var t=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(t)},t.prototype.updateIcon=function(){var t=this.markers_.length,e=this.markerClusterer_.getMaxZoom();if(null!==e&&this.map_.getZoom()>e)this.clusterIcon_.hide();else if(t<this.minClusterSize_)this.clusterIcon_.hide();else{var o=this.markerClusterer_.getStyles().length,n=this.markerClusterer_.getCalculator()(this.markers_,o);this.clusterIcon_.setCenter(this.center_),this.clusterIcon_.useStyle(n),this.clusterIcon_.show()}},t.prototype.isMarkerAlreadyAdded_=function(t){if(this.markers_.indexOf)return-1!==this.markers_.indexOf(t);for(var e=0;e<this.markers_.length;e++)if(t===this.markers_[e])return!0;return!1},t}(),M=function(t,e,o){return void 0!==t[e]?t[e]:o};!function(t){function e(o,n,i){void 0===n&&(n=[]),void 0===i&&(i={});var r=t.call(this)||this;return r.options=i,r.markers_=[],r.clusters_=[],r.listeners_=[],r.activeMap_=null,r.ready_=!1,r.ariaLabelFn=r.options.ariaLabelFn||function(){return""},r.zIndex_=r.options.zIndex||google.maps.Marker.MAX_ZINDEX+1,r.gridSize_=r.options.gridSize||60,r.minClusterSize_=r.options.minimumClusterSize||2,r.maxZoom_=r.options.maxZoom||null,r.styles_=r.options.styles||[],r.title_=r.options.title||"",r.zoomOnClick_=M(r.options,"zoomOnClick",!0),r.averageCenter_=M(r.options,"averageCenter",!1),r.ignoreHidden_=M(r.options,"ignoreHidden",!1),r.enableRetinaIcons_=M(r.options,"enableRetinaIcons",!1),r.imagePath_=r.options.imagePath||e.IMAGE_PATH,r.imageExtension_=r.options.imageExtension||e.IMAGE_EXTENSION,r.imageSizes_=r.options.imageSizes||e.IMAGE_SIZES,r.calculator_=r.options.calculator||e.CALCULATOR,r.batchSize_=r.options.batchSize||e.BATCH_SIZE,r.batchSizeIE_=r.options.batchSizeIE||e.BATCH_SIZE_IE,r.clusterClass_=r.options.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(r.batchSize_=r.batchSizeIE_),r.setupStyles_(),r.addMarkers(n,!0),r.setMap(o),r}d(e,t),e.prototype.onAdd=function(){var t=this;this.activeMap_=this.getMap(),this.ready_=!0,this.repaint(),this.prevZoom_=this.getMap().getZoom(),this.listeners_=[google.maps.event.addListener(this.getMap(),"zoom_changed",(function(){var e=t.getMap(),o=e.minZoom||0,n=Math.min(e.maxZoom||100,e.mapTypes[e.getMapTypeId()].maxZoom),i=Math.min(Math.max(t.getMap().getZoom(),o),n);t.prevZoom_!=i&&(t.prevZoom_=i,t.resetViewport_(!1))})),google.maps.event.addListener(this.getMap(),"idle",(function(){t.redraw_()}))]},e.prototype.onRemove=function(){for(var t=0;t<this.markers_.length;t++)this.markers_[t].getMap()!==this.activeMap_&&this.markers_[t].setMap(this.activeMap_);for(t=0;t<this.clusters_.length;t++)this.clusters_[t].remove();this.clusters_=[];for(t=0;t<this.listeners_.length;t++)google.maps.event.removeListener(this.listeners_[t]);this.listeners_=[],this.activeMap_=null,this.ready_=!1},e.prototype.draw=function(){},e.prototype.setupStyles_=function(){if(!(this.styles_.length>0))for(var t=0;t<this.imageSizes_.length;t++){var o=this.imageSizes_[t];this.styles_.push(e.withDefaultStyle({url:this.imagePath_+(t+1)+"."+this.imageExtension_,height:o,width:o}))}},e.prototype.fitMapToMarkers=function(t){for(var e=this.getMarkers(),o=new google.maps.LatLngBounds,n=0;n<e.length;n++)!e[n].getVisible()&&this.getIgnoreHidden()||o.extend(e[n].getPosition());this.getMap().fitBounds(o,t)},e.prototype.getGridSize=function(){return this.gridSize_},e.prototype.setGridSize=function(t){this.gridSize_=t},e.prototype.getMinimumClusterSize=function(){return this.minClusterSize_},e.prototype.setMinimumClusterSize=function(t){this.minClusterSize_=t},e.prototype.getMaxZoom=function(){return this.maxZoom_},e.prototype.setMaxZoom=function(t){this.maxZoom_=t},e.prototype.getZIndex=function(){return this.zIndex_},e.prototype.setZIndex=function(t){this.zIndex_=t},e.prototype.getStyles=function(){return this.styles_},e.prototype.setStyles=function(t){this.styles_=t},e.prototype.getTitle=function(){return this.title_},e.prototype.setTitle=function(t){this.title_=t},e.prototype.getZoomOnClick=function(){return this.zoomOnClick_},e.prototype.setZoomOnClick=function(t){this.zoomOnClick_=t},e.prototype.getAverageCenter=function(){return this.averageCenter_},e.prototype.setAverageCenter=function(t){this.averageCenter_=t},e.prototype.getIgnoreHidden=function(){return this.ignoreHidden_},e.prototype.setIgnoreHidden=function(t){this.ignoreHidden_=t},e.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons_},e.prototype.setEnableRetinaIcons=function(t){this.enableRetinaIcons_=t},e.prototype.getImageExtension=function(){return this.imageExtension_},e.prototype.setImageExtension=function(t){this.imageExtension_=t},e.prototype.getImagePath=function(){return this.imagePath_},e.prototype.setImagePath=function(t){this.imagePath_=t},e.prototype.getImageSizes=function(){return this.imageSizes_},e.prototype.setImageSizes=function(t){this.imageSizes_=t},e.prototype.getCalculator=function(){return this.calculator_},e.prototype.setCalculator=function(t){this.calculator_=t},e.prototype.getBatchSizeIE=function(){return this.batchSizeIE_},e.prototype.setBatchSizeIE=function(t){this.batchSizeIE_=t},e.prototype.getClusterClass=function(){return this.clusterClass_},e.prototype.setClusterClass=function(t){this.clusterClass_=t},e.prototype.getMarkers=function(){return this.markers_},e.prototype.getTotalMarkers=function(){return this.markers_.length},e.prototype.getClusters=function(){return this.clusters_},e.prototype.getTotalClusters=function(){return this.clusters_.length},e.prototype.addMarker=function(t,e){this.pushMarkerTo_(t),e||this.redraw_()},e.prototype.addMarkers=function(t,e){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&this.pushMarkerTo_(t[o]);e||this.redraw_()},e.prototype.pushMarkerTo_=function(t){var e=this;t.getDraggable()&&google.maps.event.addListener(t,"dragend",(function(){e.ready_&&(t.isAdded=!1,e.repaint())})),t.isAdded=!1,this.markers_.push(t)},e.prototype.removeMarker=function(t,e){var o=this.removeMarker_(t);return!e&&o&&this.repaint(),o},e.prototype.removeMarkers=function(t,e){for(var o=!1,n=0;n<t.length;n++){var i=this.removeMarker_(t[n]);o=o||i}return!e&&o&&this.repaint(),o},e.prototype.removeMarker_=function(t){var e=-1;if(this.markers_.indexOf)e=this.markers_.indexOf(t);else for(var o=0;o<this.markers_.length;o++)if(t===this.markers_[o]){e=o;break}return-1!==e&&(t.setMap(null),this.markers_.splice(e,1),!0)},e.prototype.clearMarkers=function(){this.resetViewport_(!0),this.markers_=[]},e.prototype.repaint=function(){var t=this.clusters_.slice();this.clusters_=[],this.resetViewport_(!1),this.redraw_(),setTimeout((function(){for(var e=0;e<t.length;e++)t[e].remove()}),0)},e.prototype.getExtendedBounds=function(t){var e=this.getProjection(),o=new google.maps.LatLng(t.getNorthEast().lat(),t.getNorthEast().lng()),n=new google.maps.LatLng(t.getSouthWest().lat(),t.getSouthWest().lng()),i=e.fromLatLngToDivPixel(o);i.x+=this.gridSize_,i.y-=this.gridSize_;var r=e.fromLatLngToDivPixel(n);r.x-=this.gridSize_,r.y+=this.gridSize_;var s=e.fromDivPixelToLatLng(i),a=e.fromDivPixelToLatLng(r);return t.extend(s),t.extend(a),t},e.prototype.redraw_=function(){this.createClusters_(0)},e.prototype.resetViewport_=function(t){for(var e=0;e<this.clusters_.length;e++)this.clusters_[e].remove();this.clusters_=[];for(e=0;e<this.markers_.length;e++){var o=this.markers_[e];o.isAdded=!1,t&&o.setMap(null)}},e.prototype.distanceBetweenPoints_=function(t,e){var o=(e.lat()-t.lat())*Math.PI/180,n=(e.lng()-t.lng())*Math.PI/180,i=Math.sin(o/2)*Math.sin(o/2)+Math.cos(t.lat()*Math.PI/180)*Math.cos(e.lat()*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i)))},e.prototype.isMarkerInBounds_=function(t,e){return e.contains(t.getPosition())},e.prototype.addToClosestCluster_=function(t){for(var e=4e4,o=null,n=0;n<this.clusters_.length;n++){var i,r=(i=this.clusters_[n]).getCenter();if(r){var s=this.distanceBetweenPoints_(r,t.getPosition());s<e&&(e=s,o=i)}}o&&o.isMarkerInClusterBounds(t)?o.addMarker(t):((i=new k(this)).addMarker(t),this.clusters_.push(i))},e.prototype.createClusters_=function(t){var e=this;if(this.ready_){var o;0===t&&(google.maps.event.trigger(this,"clusteringbegin",this),"undefined"!==typeof this.timerRefStatic&&(clearTimeout(this.timerRefStatic),delete this.timerRefStatic)),o=this.getMap().getZoom()>3?new google.maps.LatLngBounds(this.getMap().getBounds().getSouthWest(),this.getMap().getBounds().getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625));for(var n=this.getExtendedBounds(o),i=Math.min(t+this.batchSize_,this.markers_.length),r=t;r<i;r++){var s=this.markers_[r];!s.isAdded&&this.isMarkerInBounds_(s,n)&&(!this.ignoreHidden_||this.ignoreHidden_&&s.getVisible())&&this.addToClosestCluster_(s)}if(i<this.markers_.length)this.timerRefStatic=window.setTimeout((function(){e.createClusters_(i)}),0);else{delete this.timerRefStatic,google.maps.event.trigger(this,"clusteringend",this);for(r=0;r<this.clusters_.length;r++)this.clusters_[r].updateIcon()}}},e.CALCULATOR=function(t,e){for(var o=0,n=t.length,i=n;0!==i;)i=Math.floor(i/10),o++;return o=Math.min(o,e),{text:n.toString(),index:o,title:""}},e.withDefaultStyle=function(t){return f({textColor:"black",textSize:11,textDecoration:"none",textLineHeight:t.height,fontWeight:"bold",fontStyle:"normal",fontFamily:"Arial,sans-serif",backgroundPosition:"0 0"},t)},e.BATCH_SIZE=2e3,e.BATCH_SIZE_IE=500,e.IMAGE_PATH="../images/m",e.IMAGE_EXTENSION="png",e.IMAGE_SIZES=[53,56,66,78,90]}(m);function b(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var x={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(t){return function(){function e(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e)}var o,n,r;return o=e,(n=[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,i=window;n.$el=e,n.config=o,n.markers=[],i["init".concat(n.getName())]=function(){n.googleApiLoaded()},t("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='.concat(o.key,"&callback=init").concat(n.getName(),'"><\/script>'))}},{key:"googleApiLoaded",value:function(){var e=this,o=e.$el,n=e.config,r=o.find(".mapAPI-map"),s=n.mapZoom?n.mapZoom:10,a=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},l=n.style?n.style:null;console.log("".concat(e.getName(),": API is loaded")),e.MarkerUI=h.init(t),e.map=new google.maps.Map(r[0],{zoom:s,center:a,fullscreenControl:!0,styles:l}),e.default_zoom=s,r.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">\xd7</div><div class="html"></div></div>'}),e.geocoder=new google.maps.Geocoder,o.trigger(i().MAPAPILOADED)}},{key:"addMarker",value:function(e,o){var n=this,r={lat:e[1],lng:e[0]},s=new n.MarkerUI({position:r,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'.concat(o.id,'" data-id="').concat(o.id,'" class="marker">').concat(o.icon,"</div></div>"),onClick:function(){var e=t("#Marker".concat(o.id));n.showPopup(r,o.content),e.trigger(i().MAPMARKERCLICK)}});return n.markers.push(s),s}},{key:"showPopup",value:function(e,o){var n=this,i=t(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(e),n.config.noZoom||n.map.setZoom(18)),i.css({opacity:"0"}),i.removeClass("d-none"),i.find(".mapboxgl-popup-content .html").html(o),i.find(".mapboxgl-popup-close-button").on("click",(function(t){t.preventDefault(),n.hidePopup()})),n.popup.setPosition(e,["center","top"]),i.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){var e=this;t(e.popup.getDiv()).addClass("d-none"),e.config.noRestoreBounds&&!e.config.flyToBounds||e.restoreBounds(),e.$el.trigger(i().MAPPOPUPCLOSE)}},{key:"geocode",value:function(t,e){var o=this;o.geocoder.geocode({address:t},(function(t,n){if("OK"===n)return"function"===typeof e&&e(t),t;console.error("".concat(o.getName(),": Geocode was not successful for the following reason: ").concat(n))}))}},{key:"reverseGeocode",value:function(t,e){var o=this;o.geocoder.geocode({location:latlng},(function(t,n){if("OK"===n)return"function"===typeof e&&e(t),t;console.error("".concat(o.getName(),": Reverse Geocoding was not successful for the following reason: ").concat(n))}))}},{key:"addGeoJson",value:function(t){var e=this,o=(t.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);t.geojson.features.forEach((function(n){var i=n.id,r=n.geometry.coordinates,s=n.properties.content;e.addMarker(r,{id:i,content:s,icon:n.icon,flyToMarker:t.flyToMarker}),o.extend({lat:r[1],lng:r[0]})})),e.markers.length>1?e.map.fitBounds(o,{padding:30}):e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.default_bounds=o,e.default_zoom=e.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var t=this;t.default_bounds&&t.markers.length>1?t.map.fitBounds(t.default_bounds,{padding:30}):(t.markers[0]&&t.map.setCenter(t.markers[0].getPosition()),t.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}])&&b(o.prototype,n),r&&b(o,r),e}()}(e())};function C(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}!function(t){var e="jsMapAPI",o=e,n=t("body"),r=x.MAP_DRIVER,s=window,a=function(){function a(s){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a);var l=this,u=new r;l.$el=t(s);var c=l.$el,p=c.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),console.log("".concat(e,": init ").concat(u.getName(),"...")),u.init(c,p),l.drv=u,c.on(i().MAPAPILOADED,(function(t){if(l.map=u.getMap(),p.geojson)console.log("".concat(e,": setting up geocode data")),u.addGeoJson(p);else if(p.address)console.log(p.address),console.log("".concat(e,": setting up address marker")),u.geocode(p.address,(function(t){console.log(t);var o=t[0].geometry.location.lat(),n=t[0].geometry.location.lng();console.log("".concat(e,": setting up single lat/lng marker lat: ").concat(o," lng: ").concat(n)),u.addMarker([n,o],p),l.map.setCenter({lat:o,lng:n})}));else if(p.lat&&p.lng){var n=p.lat,r=p.lng;console.log("".concat(e,": setting up single lat/lng marker lat: ").concat(n," lng: ").concat(r)),u.addMarker([r,n],p)}c.data(o,l),c.addClass("".concat(e,"-active")),c.trigger(i().MAPLOADED),console.log("".concat(e,": Map is loaded"))}))}var l,u,c;return l=a,c=[{key:"_jQueryInterface",value:function(){if("undefined"!==typeof s.localStorage)return this.each((function(){var e=t(this),n=e.data(o);n||(n=new a(this),e.data(o,n))}))}}],(u=[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){var n=this;n.$el=null,t.removeData(n.$el[0],o),n.$el.removeClass("".concat(e,"-active"))}}])&&C(l.prototype,u),c&&C(l,c),a}();t.fn[e]=a._jQueryInterface,t.fn[e].Constructor=a,t.fn[e].noConflict=function(){return t.fn[e]=JQUERY_NO_CONFLICT,a._jQueryInterface},t(s).on("".concat(i().AJAX," ").concat(i().LOADED),(function(){t(".mapAPI-map-container").jsMapAPI()}))}(e())}()}();
!function(){"use strict";var e={n:function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,{a:o}),o},d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t=jQuery,o=e.n(t),n="ajax-load",a="load",r="map-loaded",i="map-api-loaded",c="map-marker-click",l="map-popup-close";function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=m(e);if(t){var a=m(this).constructor;o=Reflect.construct(n,arguments,a)}else o=n.apply(this,arguments);return f(this,o)}}function f(e,t){return!t||"object"!==s(t)&&"function"!==typeof t?g(e):t}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var v={init:function(){return function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(i,google.maps.OverlayView);var t,n,a,r=d(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i);var o=g(t=r.call(this));return o.setMap(e.map),o.position=e.position,o.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',o.divClass=e.divClass,o.align=e.align,o.isDebugMode=e.debug,o.onClick=e.onClick,o.onMouseOver=e.onMouseOver,o.isBoolean=function(e){return"boolean"===typeof e},o.isNotUndefined=function(e){return"undefined"!==typeof e},o.hasContent=function(e){return e.length>0},o.isString=function(e){return"string"===typeof e},o.isFunction=function(e){return"function"===typeof e},t}return t=i,(n=[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=o()(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=o()(e.div));var n=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),a={y:void 0,x:void 0},r=t.outerWidth(),i=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":a.y=i,a.x=r;break;case"left center":a.y=i/2,a.x=r;break;case"left bottom":a.y=0,a.x=r;break;case"center top":a.y=i,a.x=r/2;break;case"center center":a.y=i/2,a.x=r/2;break;case"center bottom":a.y=0,a.x=r/2;break;case"right top":a.y=i,a.x=0;break;case"right center":a.y=i/2,a.x=0;break;case"right bottom":a.y=0,a.x=0;break;default:a.y=i/2,a.x=r/2}e.div.style.top="".concat(n.y-a.y,"px"),e.div.style.left="".concat(n.x-a.x,"px")}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){var o=this;o.position=e,o.align=t,o.draw()}}])&&u(t.prototype,n),a&&u(t,a),i}()}};function y(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var h,b={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:(h=o(),function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,o,n;return t=e,(o=[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this,n=window;o.$el=e,o.config=t,o.markers=[],n["init".concat(o.getName())]=function(){o.googleApiLoaded()},h("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='.concat(t.key,"&callback=init").concat(o.getName(),'"><\/script>'))}},{key:"googleApiLoaded",value:function(){var e=this,t=e.$el,o=e.config,n=t.find(".mapAPI-map"),a=o.mapZoom?o.mapZoom:10,r=o.center?{lat:o.center[1],lng:o.center[0]}:{lat:0,lng:0},c=o.style?o.style:null;console.log("".concat(e.getName(),": API is loaded")),e.MarkerUI=v.init(h),e.map=new google.maps.Map(n[0],{zoom:a,center:r,fullscreenControl:!0,styles:c}),e.default_zoom=a,n.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">\xd7</div><div class="html"></div></div>'}),e.geocoder=new google.maps.Geocoder,t.trigger(i)}},{key:"addMarker",value:function(e,t){var o=this,n={lat:e[1],lng:e[0]},a=new o.MarkerUI({position:n,map:o.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'.concat(t.id,'" data-id="').concat(t.id,'" class="marker">').concat(t.icon,"</div></div>"),onClick:function(){var e=h("#Marker".concat(t.id));o.showPopup(n,t.content),e.trigger(c)}});return o.markers.push(a),a}},{key:"showPopup",value:function(e,t){var o=this,n=h(o.popup.getDiv());o.config.flyToMarker&&(o.map.setCenter(e),o.config.noZoom||o.map.setZoom(18)),n.css({opacity:"0"}),n.removeClass("d-none"),n.find(".mapboxgl-popup-content .html").html(t),n.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),o.hidePopup()})),o.popup.setPosition(e,["center","top"]),n.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){var e=this;h(e.popup.getDiv()).addClass("d-none"),e.config.noRestoreBounds&&!e.config.flyToBounds||e.restoreBounds(),e.$el.trigger(l)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"===typeof t&&t(e),e;console.error("".concat(o.getName(),": Geocode was not successful for the following reason: ").concat(n))}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"===typeof t&&t(e),e;console.error("".concat(o.getName(),": Reverse Geocoding was not successful for the following reason: ").concat(n))}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var a=n.id,r=n.geometry.coordinates,i=n.properties.content;t.addMarker(r,{id:a,content:i,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:r[1],lng:r[0]})})),t.markers.length>1?t.map.fitBounds(o,{padding:30}):t.markers[0]&&t.map.setCenter(t.markers[0].getPosition()),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds&&e.markers.length>1?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}])&&y(t.prototype,o),n&&y(t,n),e}())};function k(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}!function(e){var t="jsMapAPI",o=t,c=e("body"),l=b.MAP_DRIVER,s=window,u=function(){function n(a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var s=this,u=new l;s.$el=e(a);var p=s.$el,d=p.data();d.center=[d.lng?d.lng:c.data("default-lng"),d.lat?d.lat:c.data("default-lat")],d.style=d.style?jQuery.parseJSON(d.style):null,d["font-family"]=c.css("font-family"),d.icon||(d.icon='<i class="fas fa-map-marker-alt"></i>'),console.log("".concat(t,": init ").concat(u.getName(),"...")),u.init(p,d),s.drv=u,p.on(i,(function(e){if(s.map=u.getMap(),d.geojson)console.log("".concat(t,": setting up geocode data")),u.addGeoJson(d);else if(d.address)console.log(d.address),console.log("".concat(t,": setting up address marker")),u.geocode(d.address,(function(e){console.log(e);var o=e[0].geometry.location.lat(),n=e[0].geometry.location.lng();console.log("".concat(t,": setting up single lat/lng marker lat: ").concat(o," lng: ").concat(n)),u.addMarker([n,o],d),s.map.setCenter({lat:o,lng:n})}));else if(d.lat&&d.lng){var n=d.lat,a=d.lng;console.log("".concat(t,": setting up single lat/lng marker lat: ").concat(n," lng: ").concat(a)),u.addMarker([a,n],d)}p.data(o,s),p.addClass("".concat(t,"-active")),p.trigger(r),console.log("".concat(t,": Map is loaded"))}))}var a,u,p;return a=n,p=[{key:"_jQueryInterface",value:function(){var t=this;if("undefined"!==typeof s.localStorage)return this.each((function(){var a=e(t),r=a.data(o);r||(r=new n(t),a.data(o,r))}))}}],(u=[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){var n=this;n.$el=null,e.removeData(n.$el[0],o),n.$el.removeClass("".concat(t,"-active"))}}])&&k(a.prototype,u),p&&k(a,p),n}();e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,u._jQueryInterface},e(s).on("".concat(n," ").concat(a),(function(){e(".mapAPI-map-container").jsMapAPI()}))}(o())}();

View File

@ -1 +1 @@
!function(){var t={821:function(t){t.exports={AJAX:"ajax-load",AJAXMAIN:"ajax-main-load",MAININIT:"main-init",TABHIDDEN:"tab-hidden",TABFOCUSED:"tab-focused",OFFLINE:"offline",ONLINE:"online",BACKONLINE:"back-online",TOUCHENABLE:"touch-enabled",TOUCHDISABLED:"touch-disabled",LOADED:"load",SWIPELEFT:"swipeleft panleft",SWIPERIGHT:"swiperight panright",ALLERTAPPEARED:"alert-appeared",ALERTREMOVED:"alert-removed",LODEDANDREADY:"load-ready",LAZYIMAGEREADY:"image-lazy-bg-loaded",LAZYIMAGESREADY:"images-lazy-loaded",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",CAROUSEL_READY:"bs.carousel.ready",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}}},e={};function o(n){if(e[n])return e[n].exports;var i=e[n]={exports:{}};return t[n](i,i.exports,o),i.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";var t=jQuery,e=o.n(t),n=o(821),i=o.n(n);function r(t){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t){var e=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var o,n=p(t);if(e){var i=p(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return c(this,o)}}function c(t,e){return!e||"object"!==r(e)&&"function"!==typeof e?u(t):e}function u(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var h={init:function(){return function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(r,google.maps.OverlayView);var e,o,n,i=l(r);function r(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r);var o=u(e=i.call(this));return o.setMap(t.map),o.position=t.position,o.html=t.html?t.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',o.divClass=t.divClass,o.align=t.align,o.isDebugMode=t.debug,o.onClick=t.onClick,o.onMouseOver=t.onMouseOver,o.isBoolean=function(t){return"boolean"===typeof t},o.isNotUndefined=function(t){return"undefined"!==typeof t},o.hasContent=function(t){return t.length>0},o.isString=function(t){return"string"===typeof t},o.isFunction=function(t){return"function"===typeof t},e}return e=r,(o=[{key:"onAdd",value:function(){var t=this;t.div=document.createElement("div"),t.div.style.position="absolute",t.isNotUndefined(t.divClass)&&t.hasContent(t.divClass)&&(t.div.className=t.divClass),t.isNotUndefined(t.html)&&t.hasContent(t.html)&&t.isString(t.html)&&(t.div.innerHTML=t.html),t.isBoolean(t.isDebugMode)&&t.isDebugMode&&(t.div.className="debug-mode",t.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',t.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),t.getPanes().overlayMouseTarget.appendChild(t.div),google.maps.event.addDomListener(t.div,"click",(function(e){google.maps.event.trigger(t,"click"),t.isFunction(t.onClick)&&t.onClick(),e.stopPropagation()})),google.maps.event.addDomListener(t.div,"mouseover",(function(e){google.maps.event.trigger(t,"mouseover"),t.isFunction(t.onMouseOver)&&t.onMouseOver(),e.stopPropagation()}))}},{key:"draw",value:function(){var t=this,e=$(t.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");e.length||(e=$(t.div));var o=t.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(t.position)),n={y:void 0,x:void 0},i=e.outerWidth(),r=e.outerHeight();switch(Array.isArray(t.align)?t.align.join(" "):""){case"left top":n.y=r,n.x=i;break;case"left center":n.y=r/2,n.x=i;break;case"left bottom":n.y=0,n.x=i;break;case"center top":n.y=r,n.x=i/2;break;case"center center":n.y=r/2,n.x=i/2;break;case"center bottom":n.y=0,n.x=i/2;break;case"right top":n.y=r,n.x=0;break;case"right center":n.y=r/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=r/2,n.x=i/2}t.div.style.top="".concat(o.y-n.y,"px"),t.div.style.left="".concat(o.x-n.x,"px")}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(t,e){var o=this;o.position=t,o.align=e,o.draw()}}])&&s(e.prototype,o),n&&s(e,n),r}()}},g=function(t,e){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])})(t,e)};function d(t,e){function o(){this.constructor=t}g(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}var f=function(){return(f=Object.assign||function(t){for(var e,o=1,n=arguments.length;o<n;o++)for(var i in e=arguments[o])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var m=function t(){!function(t,e){for(var o in e.prototype)t.prototype[o]=e.prototype[o]}(t,google.maps.OverlayView)};function _(t){return Object.keys(t).reduce((function(e,o){return t[o]&&e.push(o+":"+t[o]),e}),[]).join(";")}function y(t){return t?t+"px":void 0}var v=function(t){function e(e,o){var n=t.call(this)||this;return n.cluster_=e,n.styles_=o,n.center_=null,n.div_=null,n.sums_=null,n.visible_=!1,n.style=null,n.setMap(e.getMap()),n}return d(e,t),e.prototype.onAdd=function(){var t,e,o=this,n=this.cluster_.getMarkerClusterer(),i=google.maps.version.split("."),r=i[0],s=i[1],a=100*parseInt(r,10)+parseInt(s,10);this.div_=document.createElement("div"),this.visible_&&this.show(),this.getPanes().overlayMouseTarget.appendChild(this.div_),this.boundsChangedListener_=google.maps.event.addListener(this.getMap(),"bounds_changed",(function(){e=t})),google.maps.event.addDomListener(this.div_,"mousedown",(function(){t=!0,e=!1})),a>=332&&google.maps.event.addDomListener(this.div_,"touchstart",(function(t){t.stopPropagation()})),google.maps.event.addDomListener(this.div_,"click",(function(i){if(t=!1,!e){if(google.maps.event.trigger(n,"click",o.cluster_),google.maps.event.trigger(n,"clusterclick",o.cluster_),n.getZoomOnClick()){var r=n.getMaxZoom(),s=o.cluster_.getBounds();n.getMap().fitBounds(s),setTimeout((function(){n.getMap().fitBounds(s),null!==r&&n.getMap().getZoom()>r&&n.getMap().setZoom(r+1)}),100)}i.cancelBubble=!0,i.stopPropagation&&i.stopPropagation()}})),google.maps.event.addDomListener(this.div_,"mouseover",(function(){google.maps.event.trigger(n,"mouseover",o.cluster_)})),google.maps.event.addDomListener(this.div_,"mouseout",(function(){google.maps.event.trigger(n,"mouseout",o.cluster_)}))},e.prototype.onRemove=function(){this.div_&&this.div_.parentNode&&(this.hide(),google.maps.event.removeListener(this.boundsChangedListener_),google.maps.event.clearInstanceListeners(this.div_),this.div_.parentNode.removeChild(this.div_),this.div_=null)},e.prototype.draw=function(){if(this.visible_){var t=this.getPosFromLatLng_(this.center_);this.div_.style.top=t.y+"px",this.div_.style.left=t.x+"px"}},e.prototype.hide=function(){this.div_&&(this.div_.style.display="none"),this.visible_=!1},e.prototype.show=function(){this.div_&&(this.div_.className=this.className_,this.div_.style.cssText=this.createCss_(this.getPosFromLatLng_(this.center_)),this.div_.innerHTML=(this.style.url?this.getImageElementHtml():"")+this.getLabelDivHtml(),"undefined"===typeof this.sums_.title||""===this.sums_.title?this.div_.title=this.cluster_.getMarkerClusterer().getTitle():this.div_.title=this.sums_.title,this.div_.style.display=""),this.visible_=!0},e.prototype.getLabelDivHtml=function(){return'\n<div aria-label="'+this.cluster_.getMarkerClusterer().ariaLabelFn(this.sums_.text)+'" style="'+_({position:"absolute",top:y(this.anchorText_[0]),left:y(this.anchorText_[1]),color:this.style.textColor,"font-size":y(this.style.textSize),"font-family":this.style.fontFamily,"font-weight":this.style.fontWeight,"font-style":this.style.fontStyle,"text-decoration":this.style.textDecoration,"text-align":"center",width:y(this.style.width),"line-height":y(this.style.textLineHeight)})+'" tabindex="0">\n <span aria-hidden="true">'+this.sums_.text+"</span>\n</div>\n"},e.prototype.getImageElementHtml=function(){var t=(this.style.backgroundPosition||"0 0").split(" "),e=parseInt(t[0].replace(/^\s+|\s+$/g,""),10),o=parseInt(t[1].replace(/^\s+|\s+$/g,""),10),n={};if(this.cluster_.getMarkerClusterer().getEnableRetinaIcons())n={width:y(this.style.width),height:y(this.style.height)};else{var i=[-1*o,-1*e+this.style.width,-1*o+this.style.height,-1*e];n={clip:"rect("+i[0]+"px, "+i[1]+"px, "+i[2]+"px, "+i[3]+"px)"}}var r=_(f({position:"absolute",top:y(o),left:y(e)},n));return'<img alt="'+this.sums_.text+'" aria-hidden="true" src="'+this.style.url+'" style="'+r+'"/>'},e.prototype.useStyle=function(t){this.sums_=t;var e=Math.max(0,t.index-1);e=Math.min(this.styles_.length-1,e),this.style=this.styles_[e],this.anchorText_=this.style.anchorText||[0,0],this.anchorIcon_=this.style.anchorIcon||[Math.floor(this.style.height/2),Math.floor(this.style.width/2)],this.className_=this.cluster_.getMarkerClusterer().getClusterClass()+" "+(this.style.className||"cluster-"+e)},e.prototype.setCenter=function(t){this.center_=t},e.prototype.createCss_=function(t){return _({"z-index":""+this.cluster_.getMarkerClusterer().getZIndex(),top:y(t.y),left:y(t.x),width:y(this.style.width),height:y(this.style.height),cursor:"pointer",position:"absolute","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-o-user-select":"none","user-select":"none"})},e.prototype.getPosFromLatLng_=function(t){var e=this.getProjection().fromLatLngToDivPixel(t);return e.x=Math.floor(e.x-this.anchorIcon_[1]),e.y=Math.floor(e.y-this.anchorIcon_[0]),e},e}(m),k=function(){function t(t){this.markerClusterer_=t,this.map_=this.markerClusterer_.getMap(),this.minClusterSize_=this.markerClusterer_.getMinimumClusterSize(),this.averageCenter_=this.markerClusterer_.getAverageCenter(),this.markers_=[],this.center_=null,this.bounds_=null,this.clusterIcon_=new v(this,this.markerClusterer_.getStyles())}return t.prototype.getSize=function(){return this.markers_.length},t.prototype.getMarkers=function(){return this.markers_},t.prototype.getCenter=function(){return this.center_},t.prototype.getMap=function(){return this.map_},t.prototype.getMarkerClusterer=function(){return this.markerClusterer_},t.prototype.getBounds=function(){for(var t=new google.maps.LatLngBounds(this.center_,this.center_),e=this.getMarkers(),o=0;o<e.length;o++)t.extend(e[o].getPosition());return t},t.prototype.remove=function(){this.clusterIcon_.setMap(null),this.markers_=[],delete this.markers_},t.prototype.addMarker=function(t){if(this.isMarkerAlreadyAdded_(t))return!1;if(this.center_){if(this.averageCenter_){var e=this.markers_.length+1,o=(this.center_.lat()*(e-1)+t.getPosition().lat())/e,n=(this.center_.lng()*(e-1)+t.getPosition().lng())/e;this.center_=new google.maps.LatLng(o,n),this.calculateBounds_()}}else this.center_=t.getPosition(),this.calculateBounds_();t.isAdded=!0,this.markers_.push(t);var i=this.markers_.length,r=this.markerClusterer_.getMaxZoom();if(null!==r&&this.map_.getZoom()>r)t.getMap()!==this.map_&&t.setMap(this.map_);else if(i<this.minClusterSize_)t.getMap()!==this.map_&&t.setMap(this.map_);else if(i===this.minClusterSize_)for(var s=0;s<i;s++)this.markers_[s].setMap(null);else t.setMap(null);return!0},t.prototype.isMarkerInClusterBounds=function(t){return this.bounds_.contains(t.getPosition())},t.prototype.calculateBounds_=function(){var t=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(t)},t.prototype.updateIcon=function(){var t=this.markers_.length,e=this.markerClusterer_.getMaxZoom();if(null!==e&&this.map_.getZoom()>e)this.clusterIcon_.hide();else if(t<this.minClusterSize_)this.clusterIcon_.hide();else{var o=this.markerClusterer_.getStyles().length,n=this.markerClusterer_.getCalculator()(this.markers_,o);this.clusterIcon_.setCenter(this.center_),this.clusterIcon_.useStyle(n),this.clusterIcon_.show()}},t.prototype.isMarkerAlreadyAdded_=function(t){if(this.markers_.indexOf)return-1!==this.markers_.indexOf(t);for(var e=0;e<this.markers_.length;e++)if(t===this.markers_[e])return!0;return!1},t}(),M=function(t,e,o){return void 0!==t[e]?t[e]:o};!function(t){function e(o,n,i){void 0===n&&(n=[]),void 0===i&&(i={});var r=t.call(this)||this;return r.options=i,r.markers_=[],r.clusters_=[],r.listeners_=[],r.activeMap_=null,r.ready_=!1,r.ariaLabelFn=r.options.ariaLabelFn||function(){return""},r.zIndex_=r.options.zIndex||google.maps.Marker.MAX_ZINDEX+1,r.gridSize_=r.options.gridSize||60,r.minClusterSize_=r.options.minimumClusterSize||2,r.maxZoom_=r.options.maxZoom||null,r.styles_=r.options.styles||[],r.title_=r.options.title||"",r.zoomOnClick_=M(r.options,"zoomOnClick",!0),r.averageCenter_=M(r.options,"averageCenter",!1),r.ignoreHidden_=M(r.options,"ignoreHidden",!1),r.enableRetinaIcons_=M(r.options,"enableRetinaIcons",!1),r.imagePath_=r.options.imagePath||e.IMAGE_PATH,r.imageExtension_=r.options.imageExtension||e.IMAGE_EXTENSION,r.imageSizes_=r.options.imageSizes||e.IMAGE_SIZES,r.calculator_=r.options.calculator||e.CALCULATOR,r.batchSize_=r.options.batchSize||e.BATCH_SIZE,r.batchSizeIE_=r.options.batchSizeIE||e.BATCH_SIZE_IE,r.clusterClass_=r.options.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(r.batchSize_=r.batchSizeIE_),r.setupStyles_(),r.addMarkers(n,!0),r.setMap(o),r}d(e,t),e.prototype.onAdd=function(){var t=this;this.activeMap_=this.getMap(),this.ready_=!0,this.repaint(),this.prevZoom_=this.getMap().getZoom(),this.listeners_=[google.maps.event.addListener(this.getMap(),"zoom_changed",(function(){var e=t.getMap(),o=e.minZoom||0,n=Math.min(e.maxZoom||100,e.mapTypes[e.getMapTypeId()].maxZoom),i=Math.min(Math.max(t.getMap().getZoom(),o),n);t.prevZoom_!=i&&(t.prevZoom_=i,t.resetViewport_(!1))})),google.maps.event.addListener(this.getMap(),"idle",(function(){t.redraw_()}))]},e.prototype.onRemove=function(){for(var t=0;t<this.markers_.length;t++)this.markers_[t].getMap()!==this.activeMap_&&this.markers_[t].setMap(this.activeMap_);for(t=0;t<this.clusters_.length;t++)this.clusters_[t].remove();this.clusters_=[];for(t=0;t<this.listeners_.length;t++)google.maps.event.removeListener(this.listeners_[t]);this.listeners_=[],this.activeMap_=null,this.ready_=!1},e.prototype.draw=function(){},e.prototype.setupStyles_=function(){if(!(this.styles_.length>0))for(var t=0;t<this.imageSizes_.length;t++){var o=this.imageSizes_[t];this.styles_.push(e.withDefaultStyle({url:this.imagePath_+(t+1)+"."+this.imageExtension_,height:o,width:o}))}},e.prototype.fitMapToMarkers=function(t){for(var e=this.getMarkers(),o=new google.maps.LatLngBounds,n=0;n<e.length;n++)!e[n].getVisible()&&this.getIgnoreHidden()||o.extend(e[n].getPosition());this.getMap().fitBounds(o,t)},e.prototype.getGridSize=function(){return this.gridSize_},e.prototype.setGridSize=function(t){this.gridSize_=t},e.prototype.getMinimumClusterSize=function(){return this.minClusterSize_},e.prototype.setMinimumClusterSize=function(t){this.minClusterSize_=t},e.prototype.getMaxZoom=function(){return this.maxZoom_},e.prototype.setMaxZoom=function(t){this.maxZoom_=t},e.prototype.getZIndex=function(){return this.zIndex_},e.prototype.setZIndex=function(t){this.zIndex_=t},e.prototype.getStyles=function(){return this.styles_},e.prototype.setStyles=function(t){this.styles_=t},e.prototype.getTitle=function(){return this.title_},e.prototype.setTitle=function(t){this.title_=t},e.prototype.getZoomOnClick=function(){return this.zoomOnClick_},e.prototype.setZoomOnClick=function(t){this.zoomOnClick_=t},e.prototype.getAverageCenter=function(){return this.averageCenter_},e.prototype.setAverageCenter=function(t){this.averageCenter_=t},e.prototype.getIgnoreHidden=function(){return this.ignoreHidden_},e.prototype.setIgnoreHidden=function(t){this.ignoreHidden_=t},e.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons_},e.prototype.setEnableRetinaIcons=function(t){this.enableRetinaIcons_=t},e.prototype.getImageExtension=function(){return this.imageExtension_},e.prototype.setImageExtension=function(t){this.imageExtension_=t},e.prototype.getImagePath=function(){return this.imagePath_},e.prototype.setImagePath=function(t){this.imagePath_=t},e.prototype.getImageSizes=function(){return this.imageSizes_},e.prototype.setImageSizes=function(t){this.imageSizes_=t},e.prototype.getCalculator=function(){return this.calculator_},e.prototype.setCalculator=function(t){this.calculator_=t},e.prototype.getBatchSizeIE=function(){return this.batchSizeIE_},e.prototype.setBatchSizeIE=function(t){this.batchSizeIE_=t},e.prototype.getClusterClass=function(){return this.clusterClass_},e.prototype.setClusterClass=function(t){this.clusterClass_=t},e.prototype.getMarkers=function(){return this.markers_},e.prototype.getTotalMarkers=function(){return this.markers_.length},e.prototype.getClusters=function(){return this.clusters_},e.prototype.getTotalClusters=function(){return this.clusters_.length},e.prototype.addMarker=function(t,e){this.pushMarkerTo_(t),e||this.redraw_()},e.prototype.addMarkers=function(t,e){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&this.pushMarkerTo_(t[o]);e||this.redraw_()},e.prototype.pushMarkerTo_=function(t){var e=this;t.getDraggable()&&google.maps.event.addListener(t,"dragend",(function(){e.ready_&&(t.isAdded=!1,e.repaint())})),t.isAdded=!1,this.markers_.push(t)},e.prototype.removeMarker=function(t,e){var o=this.removeMarker_(t);return!e&&o&&this.repaint(),o},e.prototype.removeMarkers=function(t,e){for(var o=!1,n=0;n<t.length;n++){var i=this.removeMarker_(t[n]);o=o||i}return!e&&o&&this.repaint(),o},e.prototype.removeMarker_=function(t){var e=-1;if(this.markers_.indexOf)e=this.markers_.indexOf(t);else for(var o=0;o<this.markers_.length;o++)if(t===this.markers_[o]){e=o;break}return-1!==e&&(t.setMap(null),this.markers_.splice(e,1),!0)},e.prototype.clearMarkers=function(){this.resetViewport_(!0),this.markers_=[]},e.prototype.repaint=function(){var t=this.clusters_.slice();this.clusters_=[],this.resetViewport_(!1),this.redraw_(),setTimeout((function(){for(var e=0;e<t.length;e++)t[e].remove()}),0)},e.prototype.getExtendedBounds=function(t){var e=this.getProjection(),o=new google.maps.LatLng(t.getNorthEast().lat(),t.getNorthEast().lng()),n=new google.maps.LatLng(t.getSouthWest().lat(),t.getSouthWest().lng()),i=e.fromLatLngToDivPixel(o);i.x+=this.gridSize_,i.y-=this.gridSize_;var r=e.fromLatLngToDivPixel(n);r.x-=this.gridSize_,r.y+=this.gridSize_;var s=e.fromDivPixelToLatLng(i),a=e.fromDivPixelToLatLng(r);return t.extend(s),t.extend(a),t},e.prototype.redraw_=function(){this.createClusters_(0)},e.prototype.resetViewport_=function(t){for(var e=0;e<this.clusters_.length;e++)this.clusters_[e].remove();this.clusters_=[];for(e=0;e<this.markers_.length;e++){var o=this.markers_[e];o.isAdded=!1,t&&o.setMap(null)}},e.prototype.distanceBetweenPoints_=function(t,e){var o=(e.lat()-t.lat())*Math.PI/180,n=(e.lng()-t.lng())*Math.PI/180,i=Math.sin(o/2)*Math.sin(o/2)+Math.cos(t.lat()*Math.PI/180)*Math.cos(e.lat()*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i)))},e.prototype.isMarkerInBounds_=function(t,e){return e.contains(t.getPosition())},e.prototype.addToClosestCluster_=function(t){for(var e=4e4,o=null,n=0;n<this.clusters_.length;n++){var i,r=(i=this.clusters_[n]).getCenter();if(r){var s=this.distanceBetweenPoints_(r,t.getPosition());s<e&&(e=s,o=i)}}o&&o.isMarkerInClusterBounds(t)?o.addMarker(t):((i=new k(this)).addMarker(t),this.clusters_.push(i))},e.prototype.createClusters_=function(t){var e=this;if(this.ready_){var o;0===t&&(google.maps.event.trigger(this,"clusteringbegin",this),"undefined"!==typeof this.timerRefStatic&&(clearTimeout(this.timerRefStatic),delete this.timerRefStatic)),o=this.getMap().getZoom()>3?new google.maps.LatLngBounds(this.getMap().getBounds().getSouthWest(),this.getMap().getBounds().getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625));for(var n=this.getExtendedBounds(o),i=Math.min(t+this.batchSize_,this.markers_.length),r=t;r<i;r++){var s=this.markers_[r];!s.isAdded&&this.isMarkerInBounds_(s,n)&&(!this.ignoreHidden_||this.ignoreHidden_&&s.getVisible())&&this.addToClosestCluster_(s)}if(i<this.markers_.length)this.timerRefStatic=window.setTimeout((function(){e.createClusters_(i)}),0);else{delete this.timerRefStatic,google.maps.event.trigger(this,"clusteringend",this);for(r=0;r<this.clusters_.length;r++)this.clusters_[r].updateIcon()}}},e.CALCULATOR=function(t,e){for(var o=0,n=t.length,i=n;0!==i;)i=Math.floor(i/10),o++;return o=Math.min(o,e),{text:n.toString(),index:o,title:""}},e.withDefaultStyle=function(t){return f({textColor:"black",textSize:11,textDecoration:"none",textLineHeight:t.height,fontWeight:"bold",fontStyle:"normal",fontFamily:"Arial,sans-serif",backgroundPosition:"0 0"},t)},e.BATCH_SIZE=2e3,e.BATCH_SIZE_IE=500,e.IMAGE_PATH="../images/m",e.IMAGE_EXTENSION="png",e.IMAGE_SIZES=[53,56,66,78,90]}(m);function b(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var C={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(t){return function(){function e(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e)}var o,n,r;return o=e,(n=[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,i=window;n.$el=e,n.config=o,n.markers=[],i["init".concat(n.getName())]=function(){n.googleApiLoaded()},t("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='.concat(o.key,"&callback=init").concat(n.getName(),'"><\/script>'))}},{key:"googleApiLoaded",value:function(){var e=this,o=e.$el,n=e.config,r=o.find(".mapAPI-map"),s=n.mapZoom?n.mapZoom:10,a=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},l=n.style?n.style:null;console.log("".concat(e.getName(),": API is loaded")),e.MarkerUI=h.init(t),e.map=new google.maps.Map(r[0],{zoom:s,center:a,fullscreenControl:!0,styles:l}),e.default_zoom=s,r.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">\xd7</div><div class="html"></div></div>'}),e.geocoder=new google.maps.Geocoder,o.trigger(i().MAPAPILOADED)}},{key:"addMarker",value:function(e,o){var n=this,r={lat:e[1],lng:e[0]},s=new n.MarkerUI({position:r,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'.concat(o.id,'" data-id="').concat(o.id,'" class="marker">').concat(o.icon,"</div></div>"),onClick:function(){var e=t("#Marker".concat(o.id));n.showPopup(r,o.content),e.trigger(i().MAPMARKERCLICK)}});return n.markers.push(s),s}},{key:"showPopup",value:function(e,o){var n=this,i=t(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(e),n.config.noZoom||n.map.setZoom(18)),i.css({opacity:"0"}),i.removeClass("d-none"),i.find(".mapboxgl-popup-content .html").html(o),i.find(".mapboxgl-popup-close-button").on("click",(function(t){t.preventDefault(),n.hidePopup()})),n.popup.setPosition(e,["center","top"]),i.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){var e=this;t(e.popup.getDiv()).addClass("d-none"),e.config.noRestoreBounds&&!e.config.flyToBounds||e.restoreBounds(),e.$el.trigger(i().MAPPOPUPCLOSE)}},{key:"geocode",value:function(t,e){var o=this;o.geocoder.geocode({address:t},(function(t,n){if("OK"===n)return"function"===typeof e&&e(t),t;console.error("".concat(o.getName(),": Geocode was not successful for the following reason: ").concat(n))}))}},{key:"reverseGeocode",value:function(t,e){var o=this;o.geocoder.geocode({location:latlng},(function(t,n){if("OK"===n)return"function"===typeof e&&e(t),t;console.error("".concat(o.getName(),": Reverse Geocoding was not successful for the following reason: ").concat(n))}))}},{key:"addGeoJson",value:function(t){var e=this,o=(t.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);t.geojson.features.forEach((function(n){var i=n.id,r=n.geometry.coordinates,s=n.properties.content;e.addMarker(r,{id:i,content:s,icon:n.icon,flyToMarker:t.flyToMarker}),o.extend({lat:r[1],lng:r[0]})})),e.markers.length>1?e.map.fitBounds(o,{padding:30}):e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.default_bounds=o,e.default_zoom=e.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var t=this;t.default_bounds&&t.markers.length>1?t.map.fitBounds(t.default_bounds,{padding:30}):(t.markers[0]&&t.map.setCenter(t.markers[0].getPosition()),t.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}])&&b(o.prototype,n),r&&b(o,r),e}()}(e())};function x(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}!function(t){var e="jsMapAPI",o=e,n=t("body"),r=C.MAP_DRIVER,s=window,a=function(){function a(s){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a);var l=this,c=new r;l.$el=t(s);var u=l.$el,p=u.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),console.log("".concat(e,": init ").concat(c.getName(),"...")),c.init(u,p),l.drv=c,u.on(i().MAPAPILOADED,(function(t){if(l.map=c.getMap(),p.geojson)console.log("".concat(e,": setting up geocode data")),c.addGeoJson(p);else if(p.address)console.log(p.address),console.log("".concat(e,": setting up address marker")),c.geocode(p.address,(function(t){console.log(t);var o=t[0].geometry.location.lat(),n=t[0].geometry.location.lng();console.log("".concat(e,": setting up single lat/lng marker lat: ").concat(o," lng: ").concat(n)),c.addMarker([n,o],p),l.map.setCenter({lat:o,lng:n})}));else if(p.lat&&p.lng){var n=p.lat,r=p.lng;console.log("".concat(e,": setting up single lat/lng marker lat: ").concat(n," lng: ").concat(r)),c.addMarker([r,n],p)}u.data(o,l),u.addClass("".concat(e,"-active")),u.trigger(i().MAPLOADED),console.log("".concat(e,": Map is loaded"))}))}var l,c,u;return l=a,u=[{key:"_jQueryInterface",value:function(){if("undefined"!==typeof s.localStorage)return this.each((function(){var e=t(this),n=e.data(o);n||(n=new a(this),e.data(o,n))}))}}],(c=[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){var n=this;n.$el=null,t.removeData(n.$el[0],o),n.$el.removeClass("".concat(e,"-active"))}}])&&x(l.prototype,c),u&&x(l,u),a}();t.fn[e]=a._jQueryInterface,t.fn[e].Constructor=a,t.fn[e].noConflict=function(){return t.fn[e]=JQUERY_NO_CONFLICT,a._jQueryInterface},t(s).on("".concat(i().AJAX," ").concat(i().LOADED),(function(){t(".mapAPI-map-container").jsMapAPI()}))}(e());function I(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}!function(t){var e=window,o=(document,t("body")),n="LocationUI",r=function(){function e(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e)}var r,s,a;return r=e,a=[{key:"init",value:function(){this.dispose(),console.log("Initializing: ".concat(n))}},{key:"initMap",value:function(){t(".mapAPI-map-container").find(".marker").on("".concat(i().MAPMARKERCLICK),(function(e){var n=t(e.currentTarget).data("id");o.find(".locations .location").removeClass("active"),o.find('.locations .location[data-id="'.concat(n,'"]')).addClass("active")})),o.find(".locations .location").on("click",(function(e){var n=t(e.currentTarget).data("id");o.find("#Marker".concat(n)).click()})),t(".mapAPI-map-container").on(i().MAPPOPUPCLOSE,(function(t){o.find(".locations .location").removeClass("active")}))}},{key:"dispose",value:function(){console.log("Destroying: ".concat(n))}}],(s=null)&&I(r.prototype,s),a&&I(r,a),e}();t(e).on("".concat(i().AJAX," ").concat(i().LOADED),(function(){r.init()})),t(e).on(i().MAPLOADED,(function(){r.initMap()}))}(e())}()}();
!function(){"use strict";var e={n:function(o){var t=o&&o.__esModule?function(){return o.default}:function(){return o};return e.d(t,{a:t}),t},d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o=jQuery,t=e.n(o),n="ajax-load",a="load",r="map-loaded",i="map-api-loaded",c="map-marker-click",l="map-popup-close";function s(e){return(s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,o){for(var t=0;t<o.length;t++){var n=o[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,o){return(p=Object.setPrototypeOf||function(e,o){return e.__proto__=o,e})(e,o)}function f(e){var o=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,n=m(e);if(o){var a=m(this).constructor;t=Reflect.construct(n,arguments,a)}else t=n.apply(this,arguments);return d(this,t)}}function d(e,o){return!o||"object"!==s(o)&&"function"!==typeof o?g(e):o}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var v={init:function(){return function(e){!function(e,o){if("function"!==typeof o&&null!==o)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(o&&o.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),o&&p(e,o)}(i,google.maps.OverlayView);var o,n,a,r=f(i);function i(e){var o;!function(e,o){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this,i);var t=g(o=r.call(this));return t.setMap(e.map),t.position=e.position,t.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',t.divClass=e.divClass,t.align=e.align,t.isDebugMode=e.debug,t.onClick=e.onClick,t.onMouseOver=e.onMouseOver,t.isBoolean=function(e){return"boolean"===typeof e},t.isNotUndefined=function(e){return"undefined"!==typeof e},t.hasContent=function(e){return e.length>0},t.isString=function(e){return"string"===typeof e},t.isFunction=function(e){return"function"===typeof e},o}return o=i,(n=[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(o){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),o.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(o){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),o.stopPropagation()}))}},{key:"draw",value:function(){var e=this,o=t()(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");o.length||(o=t()(e.div));var n=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),a={y:void 0,x:void 0},r=o.outerWidth(),i=o.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":a.y=i,a.x=r;break;case"left center":a.y=i/2,a.x=r;break;case"left bottom":a.y=0,a.x=r;break;case"center top":a.y=i,a.x=r/2;break;case"center center":a.y=i/2,a.x=r/2;break;case"center bottom":a.y=0,a.x=r/2;break;case"right top":a.y=i,a.x=0;break;case"right center":a.y=i/2,a.x=0;break;case"right bottom":a.y=0,a.x=0;break;default:a.y=i/2,a.x=r/2}e.div.style.top="".concat(n.y-a.y,"px"),e.div.style.left="".concat(n.x-a.x,"px")}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,o){var t=this;t.position=e,t.align=o,t.draw()}}])&&u(o.prototype,n),a&&u(o,a),i}()}};function y(e,o){for(var t=0;t<o.length;t++){var n=o[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var h,b={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:(h=t(),function(){function e(){!function(e,o){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this,e)}var o,t,n;return o=e,(t=[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=this,n=window;t.$el=e,t.config=o,t.markers=[],n["init".concat(t.getName())]=function(){t.googleApiLoaded()},h("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='.concat(o.key,"&callback=init").concat(t.getName(),'"><\/script>'))}},{key:"googleApiLoaded",value:function(){var e=this,o=e.$el,t=e.config,n=o.find(".mapAPI-map"),a=t.mapZoom?t.mapZoom:10,r=t.center?{lat:t.center[1],lng:t.center[0]}:{lat:0,lng:0},c=t.style?t.style:null;console.log("".concat(e.getName(),": API is loaded")),e.MarkerUI=v.init(h),e.map=new google.maps.Map(n[0],{zoom:a,center:r,fullscreenControl:!0,styles:c}),e.default_zoom=a,n.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">\xd7</div><div class="html"></div></div>'}),e.geocoder=new google.maps.Geocoder,o.trigger(i)}},{key:"addMarker",value:function(e,o){var t=this,n={lat:e[1],lng:e[0]},a=new t.MarkerUI({position:n,map:t.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'.concat(o.id,'" data-id="').concat(o.id,'" class="marker">').concat(o.icon,"</div></div>"),onClick:function(){var e=h("#Marker".concat(o.id));t.showPopup(n,o.content),e.trigger(c)}});return t.markers.push(a),a}},{key:"showPopup",value:function(e,o){var t=this,n=h(t.popup.getDiv());t.config.flyToMarker&&(t.map.setCenter(e),t.config.noZoom||t.map.setZoom(18)),n.css({opacity:"0"}),n.removeClass("d-none"),n.find(".mapboxgl-popup-content .html").html(o),n.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),t.hidePopup()})),t.popup.setPosition(e,["center","top"]),n.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){var e=this;h(e.popup.getDiv()).addClass("d-none"),e.config.noRestoreBounds&&!e.config.flyToBounds||e.restoreBounds(),e.$el.trigger(l)}},{key:"geocode",value:function(e,o){var t=this;t.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"===typeof o&&o(e),e;console.error("".concat(t.getName(),": Geocode was not successful for the following reason: ").concat(n))}))}},{key:"reverseGeocode",value:function(e,o){var t=this;t.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"===typeof o&&o(e),e;console.error("".concat(t.getName(),": Reverse Geocoding was not successful for the following reason: ").concat(n))}))}},{key:"addGeoJson",value:function(e){var o=this,t=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var a=n.id,r=n.geometry.coordinates,i=n.properties.content;o.addMarker(r,{id:a,content:i,icon:n.icon,flyToMarker:e.flyToMarker}),t.extend({lat:r[1],lng:r[0]})})),o.markers.length>1?o.map.fitBounds(t,{padding:30}):o.markers[0]&&o.map.setCenter(o.markers[0].getPosition()),o.default_bounds=t,o.default_zoom=o.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds&&e.markers.length>1?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}])&&y(o.prototype,t),n&&y(o,n),e}())};function k(e,o){for(var t=0;t<o.length;t++){var n=o[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}!function(e){var o="jsMapAPI",t=o,c=e("body"),l=b.MAP_DRIVER,s=window,u=function(){function n(a){!function(e,o){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this,n);var s=this,u=new l;s.$el=e(a);var p=s.$el,f=p.data();f.center=[f.lng?f.lng:c.data("default-lng"),f.lat?f.lat:c.data("default-lat")],f.style=f.style?jQuery.parseJSON(f.style):null,f["font-family"]=c.css("font-family"),f.icon||(f.icon='<i class="fas fa-map-marker-alt"></i>'),console.log("".concat(o,": init ").concat(u.getName(),"...")),u.init(p,f),s.drv=u,p.on(i,(function(e){if(s.map=u.getMap(),f.geojson)console.log("".concat(o,": setting up geocode data")),u.addGeoJson(f);else if(f.address)console.log(f.address),console.log("".concat(o,": setting up address marker")),u.geocode(f.address,(function(e){console.log(e);var t=e[0].geometry.location.lat(),n=e[0].geometry.location.lng();console.log("".concat(o,": setting up single lat/lng marker lat: ").concat(t," lng: ").concat(n)),u.addMarker([n,t],f),s.map.setCenter({lat:t,lng:n})}));else if(f.lat&&f.lng){var n=f.lat,a=f.lng;console.log("".concat(o,": setting up single lat/lng marker lat: ").concat(n," lng: ").concat(a)),u.addMarker([a,n],f)}p.data(t,s),p.addClass("".concat(o,"-active")),p.trigger(r),console.log("".concat(o,": Map is loaded"))}))}var a,u,p;return a=n,p=[{key:"_jQueryInterface",value:function(){var o=this;if("undefined"!==typeof s.localStorage)return this.each((function(){var a=e(o),r=a.data(t);r||(r=new n(o),a.data(t,r))}))}}],(u=[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){var n=this;n.$el=null,e.removeData(n.$el[0],t),n.$el.removeClass("".concat(o,"-active"))}}])&&k(a.prototype,u),p&&k(a,p),n}();e.fn[o]=u._jQueryInterface,e.fn[o].Constructor=u,e.fn[o].noConflict=function(){return e.fn[o]=JQUERY_NO_CONFLICT,u._jQueryInterface},e(s).on("".concat(n," ").concat(a),(function(){e(".mapAPI-map-container").jsMapAPI()}))}(t());function x(e,o){for(var t=0;t<o.length;t++){var n=o[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}!function(e){var o=window,t=(document,e("body")),i="LocationUI",s=function(){function o(){!function(e,o){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this,o)}var n,a,r;return n=o,r=[{key:"init",value:function(){this.dispose(),console.log("Initializing: ".concat(i))}},{key:"initMap",value:function(){e(".mapAPI-map-container").find(".marker").on("".concat(c),(function(o){var n=e(o.currentTarget).data("id");t.find(".locations .location").removeClass("active"),t.find('.locations .location[data-id="'.concat(n,'"]')).addClass("active")})),t.find(".locations .location").on("click",(function(o){var n=e(o.currentTarget).data("id");t.find("#Marker".concat(n)).click()})),e(".mapAPI-map-container").on(l,(function(e){t.find(".locations .location").removeClass("active")}))}},{key:"dispose",value:function(){console.log("Destroying: ".concat(i))}}],(a=null)&&x(n.prototype,a),r&&x(n,r),o}();e(o).on("".concat(n," ").concat(a),(function(){s.init()})),e(o).on(r,(function(){s.initMap()}))}(t())}();

View File

@ -1,6 +1,6 @@
{
"name": "@a2nt/ss-bootstrap-ui-webpack-boilerplate",
"version": "2.6.5",
"version": "2.7.0",
"author": "Tony Air <tony@twma.pro>",
"license": "MIT",
"description": "This UI Kit allows you to build Bootstrap 4 webapp with some extra UI features. It's easy to extend and easy to convert HTML templates to CMS templates.",
@ -14,9 +14,9 @@
"yarn": ">= 1.0.0"
},
"scripts": {
"start": "cross-env NODE_ENV=development webpack-dev-server --https -d --config webpack.config.js",
"dash": "cross-env NODE_ENV=development webpack-dashboard -- webpack-dev-server --config webpack.config.js",
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js --progress",
"start": "cross-env NODE_ENV=development webpack-dev-server --https",
"dash": "cross-env NODE_ENV=development webpack-dashboard -- webpack-dev-server",
"build": "cross-env NODE_ENV=production webpack --progress --stats-all",
"lint:check": "eslint ./src --config .eslintrc && sass-lint ./src --config .sasslintrc -v -q",
"lint:fix": "eslint ./src --config .eslintrc --fix && sass-lint ./src --config .sasslintrc -v -q --fix",
"lint:js": "eslint ./src --config .eslintrc",
@ -34,12 +34,13 @@
],
"dependencies": {
"@a2nt/meta-lightbox": "^2.4.0",
"aos": "^2.3.4",
"bootbox": "^5.5.2",
"bootstrap": "^4.5.3",
"bootstrap-confirmation2": "^4.1.0",
"bootstrap-datepicker": "^1.9.0",
"bootstrap-offcanvas": "^1.0.0",
"bootstrap-table": "^1.18.0",
"bootstrap-table": "^1.18.1",
"bootstrap-timepicker": "^0.5.2",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
@ -49,69 +50,90 @@
"jquery-hoverintent": "*",
"jquery-zoom": "^1.7.21",
"jquery.appear": "^1.0.1",
"mapbox-gl": "^1.13.0",
"jquery.instagramFeed": "github:jsanahuja/jquery.instagramFeed",
"lodash.debounce": "^4.0.8",
"lodash.throttle": "^4.1.1",
"mapbox-gl": "^2.0.1",
"material-design-color": "^2.3.2",
"moment": "^2.29.1",
"offcanvas-bootstrap": "^2.5.2",
"popper.js": "*",
"select2": "^4.0.13",
"setimmediate": "^1.0.5",
"smooth-scroll": "^16.1.3",
"sticky-sidebar": "^3.3.1",
"tablednd": "^1.0.5",
"yarn": "^1.22.10"
},
"devDependencies": {
"@a2nt/image-sprite-webpack-plugin": "^0.2.5",
"@babel/core": "^7.12.9",
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-transform-react-jsx": "^7.12.7",
"@babel/preset-env": "^7.12.7",
"@babel/plugin-transform-react-jsx": "^7.12.12",
"@babel/preset-env": "^7.12.11",
"@googlemaps/markerclustererplus": "*",
"animate.css": "^4.1.1",
"ansi-html": "^0.0.7",
"ansi-regex": "^5.0.0",
"autoprefixer": "^9.8.6",
"autoprefixer": "^10.1.0",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.2.2",
"copy-webpack-plugin": "^6.3.2",
"bindings": "^1.5.0",
"copy-webpack-plugin": "^7.0.0",
"croppie": "^2.6.5",
"cross-env": "^7.0.3",
"css-loader": "^5.0.1",
"eslint": "^7.14.0",
"eslint": "^7.16.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jquery": "^1.5.1",
"eslint-plugin-react": "^7.21.5",
"exif-js": "^2.3.0",
"exports-loader": "^1.1.1",
"favicons-webpack-plugin": "4.2.0",
"fast-levenshtein": "^3.0.0",
"fastest-levenshtein": "^1.0.12",
"favicons-webpack-plugin": "^4.2.0",
"file-loader": "^6.2.0",
"font-awesome": "^4.7.0",
"html-entities": "^1.3.1",
"fsevents": "^2.2.1",
"hoist-non-react-statics": "^3.3.2",
"html-entities": "^1.4.0",
"html-loader": "^1.3.2",
"html-webpack-plugin": "^4.5.0",
"image-minimizer-webpack-plugin": "^1.0.0",
"imagemin-gifsicle": "^7.0.0",
"image-minimizer-webpack-plugin": "^2.1.0",
"imagemin-jpegtran": "^7.0.0",
"imagemin-optipng": "^8.0.0",
"imagemin-svgo": "^8.0.0",
"img-optimize-loader": "^1.0.7",
"loglevel": "^1.7.1",
"mini-css-extract-plugin": "^1.3.1",
"node-sass": "^4.14.1",
"mini-css-extract-plugin": "^1.3.3",
"node-sass": "^5.0.0",
"object-assign": "^4.1.1",
"optimize-css-assets-webpack-plugin": "^5.0.4",
"postcss-loader": "^4.1.0",
"prop-types": "^15.7.2",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-hot-loader": "^4.13.0",
"react-is": "^17.0.1",
"react-lifecycles-compat": "^3.0.4",
"resolve-url-loader": "^3.1.2",
"rimraf": "^3.0.2",
"routie": "0.0.1",
"sass-lint": "^1.13.1",
"sass-lint-fix": "^1.12.1",
"sass-loader": "^10.1.0",
"scheduler": "^0.20.1",
"script-ext-html-webpack-plugin": "^2.1.5",
"shallowequal": "^1.1.0",
"sockjs-client": "^1.5.0",
"strip-ansi": "^6.0.0",
"style-loader": "^2.0.0",
"svg-url-loader": "^7.1.1",
"terser-webpack-plugin": "^5.0.3",
"url-loader": "^4.1.1",
"webpack": "^5.9.0",
"webpack": "^5.11.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0",
"webpack-dev-server": "^4.0.0-beta.0",
"webpack-manifest-plugin": "^3.0.0",
"webpack-merge": "^5.4.0"
"webpack-merge": "^5.7.3"
},
"stylelint": {
"rules": {

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import 'hammerjs/hammer';

View File

@ -1,4 +1,6 @@
"use strict";
'use strict';
import $ from 'jquery';
const CookieUI = (($) => {
const D = document;
@ -6,22 +8,17 @@ const CookieUI = (($) => {
class CookieUI {
static get(name) {
return D.cookie.split("; ").reduce((r, v) => {
const parts = v.split("=");
return D.cookie.split('; ').reduce((r, v) => {
const parts = v.split('=');
return parts[0] === name ? decodeURIComponent(parts[1]) : r;
}, "");
}, '');
}
static set(name, value, days = 7, path = "/") {
static set(name, value, days = 7, path = '/') {
const expires = new Date(Date.now() + days * 864e5).toUTCString();
D.cookie =
`${name
}=${
encodeURIComponent(value)
}; expires=${
expires
}; path=${
path}`;
D.cookie = `${name}=${encodeURIComponent(
value,
)}; expires=${expires}; path=${path}`;
}
}

View File

@ -1,4 +1,4 @@
"use strict";
'use strict';
import $ from 'jquery';
@ -16,7 +16,7 @@ const FlyoutUI = (($) => {
class FlyoutUI {
static init() {
console.log(`${NAME}: init`);
console.log(`${NAME}: init`);
const ui = this;
ui.$modal = $(`.flyout-${NAME}`);
@ -41,7 +41,6 @@ const FlyoutUI = (($) => {
ui.show();
}, TIMEOUT);
}
}
static show(callback) {

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
//import 'bootstrap-select/dist/js/bootstrap-select';

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
@ -24,7 +26,7 @@ const DatetimeUI = (($) => {
class DatetimeUI {
constructor(el) {
console.log(`${NAME}: init`);
console.log(`${NAME}: init`);
const ui = this;
const $el = $(el);
@ -33,42 +35,57 @@ const DatetimeUI = (($) => {
// datepicker
if ($el.hasClass('date') || $el.attr('type') === 'date') {
const defaultDate = ($el.attr('name').toLowerCase().indexOf('end') !== -1) ?
'+4d' :
'+3d';
const defaultDate =
$el.attr('name').toLowerCase().indexOf('end') !== -1 ? '+4d' : '+3d';
$el.attr('readonly', 'true');
$el.datepicker($.extend(datepickerOptions, {
defaultViewDate: defaultDate,
multidate: $el.data('multidate'),
}, $el.data()));
} else
$el.datepicker(
$.extend(
datepickerOptions,
{
defaultViewDate: defaultDate,
multidate: $el.data('multidate'),
},
$el.data(),
),
);
}
// timepicker
if ($el.hasClass('time') || $el.attr('type') === 'time') {
else if ($el.hasClass('time') || $el.attr('type') === 'time') {
$el.attr('readonly', 'true');
$el.timepicker($.extend({
snapToStep: true,
icons: {
up: 'fas fa-chevron-up',
down: 'fas fa-chevron-down',
},
}, $el.data())).on('show.timepicker', (e) => {
const $el = $(e.currentTarget);
const $dropdown = $Body.find('.bootstrap-timepicker-widget');
$el
.timepicker(
$.extend(
{
snapToStep: true,
icons: {
up: 'fas fa-chevron-up',
down: 'fas fa-chevron-down',
},
},
$el.data(),
),
)
.on('show.timepicker', (e) => {
const $el = $(e.currentTarget);
const $dropdown = $Body.find('.bootstrap-timepicker-widget');
if (!$dropdown.find('[data-action="clear"]').length) {
$dropdown.find('tbody').append('<tr><td colspan="5"><a href="#" data-action="clear">Clear</a></td></tr>');
}
const $clearBtn = $dropdown.find('[data-action="clear"]');
$clearBtn.on('click', (e) => {
e.preventDefault();
$el.timepicker('clear');
$el.timepicker('hideWidget');
})
});
if (!$dropdown.find('[data-action="clear"]').length) {
$dropdown
.find('tbody')
.append(
'<tr><td colspan="5"><a href="#" data-action="clear">Clear</a></td></tr>',
);
}
const $clearBtn = $dropdown.find('[data-action="clear"]');
$clearBtn.on('click', (e) => {
e.preventDefault();
$el.timepicker('clear');
$el.timepicker('hideWidget');
});
});
}
}
@ -77,7 +94,7 @@ const DatetimeUI = (($) => {
}
static _jQueryInterface() {
return this.each(function() {
return this.each(function () {
// attach functionality to element
const $el = $(this);
let data = $el.data(DATA_KEY);
@ -93,14 +110,16 @@ const DatetimeUI = (($) => {
// jQuery interface
$.fn[NAME] = DatetimeUI._jQueryInterface;
$.fn[NAME].Constructor = DatetimeUI;
$.fn[NAME].noConflict = function() {
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return DatetimeUI._jQueryInterface;
};
// auto-apply
$(window).on(`${NAME}.init ${Events.AJAX} ${Events.LOADED}`, () => {
$('input.date, input.time,input[type="date"], input[type="time"]').jsDatetimeUI();
$(
'input.date, input.time,input[type="date"], input[type="time"]',
).jsDatetimeUI();
});
return DatetimeUI;

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
@ -8,7 +10,6 @@ const FormFieldUI = (($) => {
const $Html = $('html, body');
class FormFieldUI {
constructor(el) {
const ui = this;
@ -19,13 +20,16 @@ const FormFieldUI = (($) => {
//ui.$actions = ui.$el.parents('form').children('.btn-toolbar,.form-actions');
ui.vals = {
'val': ui.$el.val(),
'checked': ui.$el.is(':checked'),
val: ui.$el.val(),
checked: ui.$el.is(':checked'),
};
// bootstrap collapse integration
ui.$el.parents('.optionset').not('.field').removeClass('collapse');
ui.$collapse = ui.$el.parents('.field.collapse').not('.composite').first();
ui.$collapse = ui.$el
.parents('.field.collapse')
.not('.composite')
.first();
if (ui.$collapse.length) {
ui.$el.removeClass('collapse');
@ -67,7 +71,7 @@ const FormFieldUI = (($) => {
$el.collapse('show');
}*/
$el.trigger(`shown.${ NAME}`);
$el.trigger(`shown.${NAME}`);
}
hide() {
@ -86,7 +90,7 @@ const FormFieldUI = (($) => {
}
$el.trigger('change');*/
$el.trigger(`hidden.${ NAME}`);
$el.trigger(`hidden.${NAME}`);
}
wipe() {
@ -94,9 +98,9 @@ const FormFieldUI = (($) => {
const $el = ui.$el;
ui.vals = {
'name': $el.attr('name'),
'val': $el.val(),
'checked': $el.is(':checked'),
name: $el.attr('name'),
val: $el.val(),
checked: $el.is(':checked'),
};
$el.val('');
@ -116,10 +120,9 @@ const FormFieldUI = (($) => {
const ui = this;
const $field = ui.$el.closest('.field');
$field.addClass('has-message');
if (msg) {
$field.append(`<div class="message alert ${ type }">${ msg }</div>`);
$field.append(`<div class="message alert ${type}">${msg}</div>`);
}
if (scrollTo) {
@ -138,7 +141,7 @@ const FormFieldUI = (($) => {
}
static _jQueryInterface() {
return this.each(function() {
return this.each(function () {
// attach functionality to el
const $el = $(this);
let data = $el.data(DATA_KEY);
@ -154,7 +157,7 @@ const FormFieldUI = (($) => {
// jQuery interface
$.fn[NAME] = FormFieldUI._jQueryInterface;
$.fn[NAME].Constructor = FormFieldUI;
$.fn[NAME].noConflict = function() {
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return FormFieldUI._jQueryInterface;
};

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';

View File

@ -1,18 +1,15 @@
"use strict";
'use strict';
import $ from 'jquery';
import Events from '../_events';
import Spinner from '../_components/_ui.spinner';
import FormValidateField from "./_ui.form.validate.field";
import FormValidateField from './_ui.form.validate.field';
import '../../thirdparty/jQuery-TE_v.1.4.0/jquery-te-1.4.0.css';
import '../../thirdparty/jQuery-TE_v.1.4.0/uncompressed/jquery-te-1.4.0.js';
const JqteUI = (($) => {
const NAME = 'jsJqteUI';
const DATA_KEY = NAME;
@ -28,9 +25,8 @@ const JqteUI = (($) => {
};
class JqteUI {
constructor(element) {
console.log(`${NAME}: init`);
console.log(`${NAME}: init`);
const ui = this;
const $element = $(element);
@ -42,9 +38,12 @@ const JqteUI = (($) => {
// dynamic error control
if (validationUI) {
$element.parents('.jqte').find('.jqte_editor').on('change', (e) => {
validationUI.validate();
});
$element
.parents('.jqte')
.find('.jqte_editor')
.on('change', (e) => {
validationUI.validate();
});
}
}
@ -53,7 +52,7 @@ const JqteUI = (($) => {
}
static _jQueryInterface() {
return this.each(function() {
return this.each(function () {
// attach functionality to element
const $element = $(this);
let data = $element.data(DATA_KEY);
@ -69,7 +68,7 @@ const JqteUI = (($) => {
// jQuery interface
$.fn[NAME] = JqteUI._jQueryInterface;
$.fn[NAME].Constructor = JqteUI;
$.fn[NAME].noConflict = function() {
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return JqteUI._jQueryInterface;
};

View File

@ -1,20 +1,20 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
import LANG from '../lang/_en';
import FormValidateField from "./_ui.form.validate.field";
import FormValidateField from './_ui.form.validate.field';
import '../../scss/_components/_ui.form.stepped.scss';
const SteppedForm = (($) => {
// Constants
const NAME = 'jsSteppedForm';
const DATA_KEY = NAME;
class SteppedForm {
constructor(element) {
console.log(`${NAME}: init`);
console.log(`${NAME}: init`);
const ui = this;
const $element = $(element);
@ -56,7 +56,9 @@ const SteppedForm = (($) => {
// check if one of the steps already has an error
const $hasError = ui._steps
.find('.field.error,.field.holder-error,.field.holder-validation,.field.holder-info,.field.holder-warning,.field.holder-good')
.find(
'.field.error,.field.holder-error,.field.holder-validation,.field.holder-info,.field.holder-warning,.field.holder-good',
)
.first();
if ($hasError.length) {
const $modal = $element.parents('.modal');
@ -66,11 +68,12 @@ const SteppedForm = (($) => {
$modal.modal('show');
}
ui._currentStep = $hasError.parents('.step').data('step') || ui._currentStep;
ui._currentStep =
$hasError.parents('.step').data('step') || ui._currentStep;
}
//
ui.step(`.step[data-step="${ ui._currentStep }"]`);
ui.step(`.step[data-step="${ui._currentStep}"]`);
ui._stepNext.on('click', (e) => {
e.preventDefault();
@ -95,7 +98,7 @@ const SteppedForm = (($) => {
// Public methods
dispose() {
console.log(`${NAME}: dispose`);
console.log(`${NAME}: dispose`);
const ui = this;
const $element = $(ui._element);
@ -111,7 +114,7 @@ const SteppedForm = (($) => {
return;
}
ui.step(`.step[data-step="${ ui._currentStep + 1 }"]`);
ui.step(`.step[data-step="${ui._currentStep + 1}"]`);
}
prev() {
@ -134,14 +137,16 @@ const SteppedForm = (($) => {
let valid = true;
if (targetStep > ui._currentStep) {
ui.currentStep().find('input,textarea,select').each((i, el) => {
const $el = $(el);
const fieldUI = $el.data('jsFormValidateField');
ui.currentStep()
.find('input,textarea,select')
.each((i, el) => {
const $el = $(el);
const fieldUI = $el.data('jsFormValidateField');
if (fieldUI && !fieldUI.validate()) {
valid = false;
}
});
if (fieldUI && !fieldUI.validate()) {
valid = false;
}
});
}
if (!valid) {
@ -186,7 +191,7 @@ const SteppedForm = (($) => {
}
static _jQueryInterface() {
return this.each(function() {
return this.each(function () {
// attach functionality to element
const $element = $(this);
let data = $element.data(DATA_KEY);
@ -202,7 +207,7 @@ const SteppedForm = (($) => {
// jQuery interface
$.fn[NAME] = SteppedForm._jQueryInterface;
$.fn[NAME].Constructor = SteppedForm;
$.fn[NAME].noConflict = function() {
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return SteppedForm._jQueryInterface;
};

View File

@ -1,5 +1,7 @@
'use strict';
import $ from 'jquery';
import Events from "../_events";
import Events from '../_events';
const FormStorage = (($) => {
// Constants
@ -8,7 +10,6 @@ const FormStorage = (($) => {
const STORAGE = window.localStorage;
class FormStorage {
constructor(element) {
console.log(`${NAME}: init`);
@ -16,7 +17,7 @@ const FormStorage = (($) => {
const $element = $(element);
const $elements = $element.find('input, textarea, select');
const setRangeValues = function(el) {
const setRangeValues = function (el) {
const $el = $(el);
$el.siblings('.value').text($el.val());
};
@ -85,9 +86,12 @@ const FormStorage = (($) => {
$element.data(DATA_KEY).clear();
});
$element.find('.btn-toolbar,.form-actions').children('button,[type="submit"],[type="clear"]').on('click', () => {
$element.data(DATA_KEY).clear();
});
$element
.find('.btn-toolbar,.form-actions')
.children('button,[type="submit"],[type="clear"]')
.on('click', () => {
$element.data(DATA_KEY).clear();
});
$element.addClass(`${NAME}-active`);
$element.trigger(Events.FORM_INIT_STORAGE);
@ -108,7 +112,7 @@ const FormStorage = (($) => {
static _jQueryInterface() {
if (typeof window.localStorage !== 'undefined') {
return this.each(function() {
return this.each(function () {
// attach functionality to element
const $element = $(this);
let data = $element.data(DATA_KEY);
@ -125,7 +129,7 @@ const FormStorage = (($) => {
// jQuery interface
$.fn[NAME] = FormStorage._jQueryInterface;
$.fn[NAME].Constructor = FormStorage;
$.fn[NAME].noConflict = function() {
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return FormStorage._jQueryInterface;
};

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';

View File

@ -1,5 +1,6 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
const HeaderUI = (($) => {
@ -45,7 +46,7 @@ const HeaderUI = (($) => {
}
static dispose() {
console.log(`${NAME}: dispose`);
console.log(`${NAME}: dispose`);
$Body.removeClass('shrink');
$(`#Header,.js${NAME},.footer,.jsFooterUI,.wrapper`).attr('css', '');

View File

@ -1,5 +1,7 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
const ImagePositionUI = (($) => {

View File

@ -103,7 +103,7 @@ const MapAPI = (($) => {
static _jQueryInterface() {
if (typeof W.localStorage !== 'undefined') {
return this.each(function () {
return this.each(() => {
// attach functionality to el
const $el = $(this);
let data = $el.data(DATA_KEY);
@ -120,7 +120,7 @@ const MapAPI = (($) => {
// jQuery interface
$.fn[NAME] = MapAPI._jQueryInterface;
$.fn[NAME].Constructor = MapAPI;
$.fn[NAME].noConflict = function () {
$.fn[NAME].noConflict = () => {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return MapAPI._jQueryInterface;
};

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
const SlidingMenu = (($) => {
@ -8,17 +10,17 @@ const SlidingMenu = (($) => {
class SlidingMenu {
// Constructor
constructor(element) {
console.log(`${NAME}: init`);
console.log(`${NAME}: init`);
this._element = element;
const $element = $(this._element);
$element.addClass(`${NAME}-active`);
// esc button
$(window).on('keyup',((e) => {
$(window).on('keyup', (e) => {
if (e.which === 27) {
$element.find('.is-open[data-toggle="offcanvas"]').click();
}
}));
});
}
// Public methods

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
import Spinner from './_ui.spinner';
@ -44,7 +46,9 @@ const NoCaptcha = (($) => {
return;
}
const $form = $field.data('form') ? $(`#${ $field.data('form')}`) : $field.parents('form');
const $form = $field.data('form')
? $(`#${$field.data('form')}`)
: $field.parents('form');
const widget_id = grecaptcha.render(field, $field.data());
$field.data('widgetid', widget_id);

View File

@ -1,3 +1,5 @@
'use strict';
import $ from 'jquery';
import Events from '../_events';
@ -33,32 +35,37 @@ const OpeningHoursUI = (($) => {
'Saturday',
];
const today = weekday[date.getDay()];
let html = '<b class="opening-hours-status opening-hours-status-closed">Closed today</b>';
let html =
'<b class="opening-hours-status opening-hours-status-closed">Closed today</b>';
if (
typeof hours['days'] !== 'undefined' &&
typeof hours['days'][today] !== 'undefined' &&
hours['days'][today].length
typeof hours['days'][today] !== 'undefined' &&
hours['days'][today].length
) {
html = 'Open today ';
$.each(hours['days'][today], (i, v) => {
if (v['DisplayStart'] || v['DisplayEnd']) {
if (
(
v['DisplayStart'] && v['DisplayStart'] <= dateYMD &&
v['DisplayEnd'] && v['DisplayEnd'] >= dateYMD
) ||
(v['DisplayStart'] && v['DisplayStart'] <= dateYMD && !v['DisplayEnd']) ||
(v['DisplayEnd'] && v['DisplayEnd'] >= dateYMD && !v['DisplayStart'])
(v['DisplayStart'] &&
v['DisplayStart'] <= dateYMD &&
v['DisplayEnd'] &&
v['DisplayEnd'] >= dateYMD) ||
(v['DisplayStart'] &&
v['DisplayStart'] <= dateYMD &&
!v['DisplayEnd']) ||
(v['DisplayEnd'] &&
v['DisplayEnd'] >= dateYMD &&
!v['DisplayStart'])
) {
html = `Open today from ${ v['From'] } to ${ v['Till']}`;
html = `Open today from ${v['From']} to ${v['Till']}`;
return false;
}
} else {
if (i > 0) {
html += ', <br/>';
}
html += `from ${ v['From'] } to ${ v['Till']}`;
html += `from ${v['From']} to ${v['Till']}`;
}
});
@ -67,10 +74,10 @@ const OpeningHoursUI = (($) => {
if (
typeof hours['holidays'] !== 'undefined' &&
typeof hours['holidays'][dateYMD] !== 'undefined'
typeof hours['holidays'][dateYMD] !== 'undefined'
) {
html = `<b class="opening-hours-status opening-hours-status-closed">Closed today${
hours['holidays'][dateYMD] ? ` for ${ hours['holidays'][dateYMD]}` : ''
hours['holidays'][dateYMD] ? ` for ${hours['holidays'][dateYMD]}` : ''
}</b>`;
}
@ -85,17 +92,17 @@ const OpeningHoursUI = (($) => {
year = String(date.getFullYear());
month = String(date.getMonth() + 1);
if (month.length == 1) {
month = `0${ month}`;
month = `0${month}`;
}
day = String(date.getDate());
if (day.length == 1) {
day = `0${ day}`;
day = `0${day}`;
}
return `${year }-${ month }-${ day}`;
return `${year}-${month}-${day}`;
}
static dispose() {
console.log(`${NAME}: dispose`);
console.log(`${NAME}: dispose`);
this.each((i, e) => {
$(e).html('');
});

View File

@ -1,3 +1,7 @@
'use strict';
import $ from 'jquery';
$(() => {
const $searchLat = $('[name="search-lat"]');
const $searchLng = $('[name="search-lng"]');
@ -28,26 +32,31 @@ $(() => {
$('.search-location .current-val').text(newLocation);
const geoUrl = `https://maps.googleapis.com/maps/api/geocode/json?address=${newLocation}&key=AIzaSyC00L0023LPBhzj12uTCL-4EwJ_6zgwcTU&sensor=true`;
$.getJSON(geoUrl)
.done((data) => {
if (data.status === 'OK') {
updatePosition(data.results[0].geometry.location.lat, data.results[0].geometry.location.lng);
//getCategories();
}
});
$.getJSON(geoUrl).done((data) => {
if (data.status === 'OK') {
updatePosition(
data.results[0].geometry.location.lat,
data.results[0].geometry.location.lng,
);
//getCategories();
}
});
};
const getCurrentPosition = () => {
$('.search-location .current-val').text('Current Location');
navigator.geolocation.getCurrentPosition((position) => {
updatePosition(position.coords.latitude, position.coords.longitude);
//hideDistancesThatDontMatter();
}, () => {
$('.search-location .current-val').text('Unable to get your location');
updatePosition('', '');
});
}
navigator.geolocation.getCurrentPosition(
(position) => {
updatePosition(position.coords.latitude, position.coords.longitude);
//hideDistancesThatDontMatter();
},
() => {
$('.search-location .current-val').text('Unable to get your location');
updatePosition('', '');
},
);
};
if ($newLocation.length && $newLocation.val().length) {
getGeoPosition();
@ -77,7 +86,6 @@ $(() => {
$newlocationholder.toggle();
});
$newLocation.blur(() => {
getGeoPosition();
});
@ -85,9 +93,12 @@ $(() => {
$('.new-search').on('click', (e) => {
e.preventDefault();
$('.section-search-secondary').animate({
'max-height': 300,
}, 'slow');
$('.section-search-secondary').animate(
{
'max-height': 300,
},
'slow',
);
});
/*$radius.on('change', () => {
@ -127,13 +138,13 @@ $(() => {
directionsDisplay = new google.maps.DirectionsRenderer(),
directionsService = new google.maps.DirectionsService(),
currentPosition = {
'lat': $map.data('lat'),
'lng': $map.data('lng'),
lat: $map.data('lat'),
lng: $map.data('lng'),
},
map = new google.maps.Map($map[0], {
'zoom': 15,
'mapTypeControl': true,
'mapTypeId': google.maps.MapTypeId.ROADMAP,
zoom: 15,
mapTypeControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP,
});
directionsDisplay.setMap(map);
@ -142,7 +153,7 @@ $(() => {
map.setCenter(currentPosition);
new google.maps.Marker({
map,
'position': currentPosition,
position: currentPosition,
});
$getDirections.click((e) => {
@ -151,15 +162,18 @@ $(() => {
const fromLocation = $fromAddress.val();
if (fromLocation.length) {
directionsService.route({
origin: fromLocation,
destination: currentPosition,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
}, (response, status) => {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
directionsService.route(
{
origin: fromLocation,
destination: currentPosition,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
},
(response, status) => {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
},
);
$directionContainer.slideDown();
}

View File

@ -1,6 +1,7 @@
'use strict';
//import StickySidebar from 'sticky-sidebar/src/sticky-sidebar';
import $ from 'jquery';
import Events from '../_events';
const SidebarUI = (($) => {

View File

@ -1,3 +1,4 @@
'use strict';
import $ from 'jquery';
const SpinnerUI = (($) => {

View File

@ -1,3 +1,4 @@
'use strict';
import $ from 'jquery';
const G = window;
@ -9,11 +10,6 @@ const D = document;
console.log(new Error().stack);
};*/
/*G.addEventListener(G.visibilityChangeEvent, () => {
if (currentPage && typeof currentPage !== 'undefined') {
if (
@ -27,4 +23,4 @@ const D = document;
G.localStorage.removeItem('current-page');
}
}
});*/
});*/

View File

@ -1,3 +1,5 @@
'use strict';
const Obj = {
init: () => {
class GoogleMapsHtmlOverlay extends google.maps.OverlayView {

View File

@ -1,9 +1,9 @@
'use strict';
import $ from 'jquery';
import Events from '../../_events';
import MarkerUI from './_map.google.marker';
import MarkerClusterer from '@googlemaps/markerclustererplus';
const GoogleMapsDriver = (($) => {
class GoogleMapsDriver {

View File

@ -1,3 +1,7 @@
'use strict';
import $ from 'jquery';
const Obj = {
init: () => {
class GoogleMapsHtmlOverlay extends google.maps.OverlayView {

View File

@ -2,7 +2,7 @@
* Add your global events here
*/
module.exports = {
export default {
AJAX: 'ajax-load',
AJAXMAIN: 'ajax-main-load',
MAININIT: 'main-init',

View File

@ -1,3 +1,7 @@
'use strict';
import $ from 'jquery';
/**
* Route side-wide events
*/

View File

@ -362,7 +362,7 @@ const MainUI = (($) => {
});
// emulate links
$('.a[data-href]').not('[data-toggle="lightbox"],[data-lightbox-gallery],.jsMetaLightboxUI').on('click', (e) => {
$('.a[data-href]').on('click', (e) => {
console.log(`${NAME}: js link processing .a[data-href]`);
const $el = $(e.currentTarget);
@ -435,7 +435,7 @@ const MainUI = (($) => {
W.URLDetails.relative = location.split('#')[0];
W.URLDetails.hash =
hash >= 0 ? location.substr(location.indexOf('#')) : '';
hash >= 0 ? location.substr(location.indexOf('#')) : '';
}
// show site-wide alert
@ -470,7 +470,10 @@ const MainUI = (($) => {
});
}
if ($AlertNotify.length && typeof $AlertNotify[0].stop !== 'undefined') {
if (
$AlertNotify.length &&
typeof $AlertNotify[0].stop !== 'undefined'
) {
$AlertNotify[0].stop();
}
@ -607,7 +610,9 @@ const MainUI = (($) => {
// hide spinner on target _blank
$('[target="_blank"],.external').on('click submit', (e) => {
if (
$(e.currentTarget).is('[data-toggle="lightbox"],[data-lightbox-gallery]')
$(e.currentTarget).is(
'[data-toggle="lightbox"],[data-lightbox-gallery]',
)
) {
return false;
}

View File

@ -1,5 +1,6 @@
'use strict';
import $ from 'jquery';
import '../scss/app.scss';
// import Bootstrap

View File

@ -2,7 +2,7 @@
* Add your global events here
*/
module.exports = {
export default {
en: {
jsSteppedForm: {
STEPCOUNTER: '<div class="steps-counter">Step <b class="current-step"></b> of <b class="total-steps"></b></div>',

View File

@ -1,3 +1,4 @@
"use strict";
'use strict';
import $ from 'jquery';
import '../_components/_ui.map.api';

View File

@ -1,7 +1,12 @@
const SOURCEDIR = './src';
const DISTDIR = './dist';
const COMPRESS = true;
const conf = {
APPDIR: '',
SRC: 'src',
DIST: 'dist',
webp: false,
};
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack');
const path = require('path');
@ -17,6 +22,8 @@ const ImageSpritePlugin = require('@a2nt/image-sprite-webpack-plugin');
const UIInfo = require('./package.json');
const UIMetaInfo = require('./node_modules/@a2nt/meta-lightbox/package.json');
console.log('WebP images: ' + conf['webp']);
const plugins = [
new webpack.DefinePlugin({
'process.env': {
@ -33,7 +40,7 @@ const plugins = [
}),
/**/
new HtmlWebpackPlugin({
template: SOURCEDIR + '/index.html',
template: path.join(conf.APPDIR, conf.SRC, 'index.html'),
}),
new webpack.DefinePlugin({
UINAME: JSON.stringify(UIInfo.name),
@ -165,28 +172,28 @@ const _addAppFiles = (theme) => {
}
};
_addAppFiles(SOURCEDIR);
_addAppFiles(path.join(conf.APPDIR, conf.SRC));
module.exports = {
entry: includes,
output: {
path: path.resolve(__dirname, DISTDIR),
filename: path.join('js', '[name].js'),
publicPath: path.resolve(__dirname, DISTDIR),
recordsPath: path.join(__dirname, conf.APPDIR, conf.DIST, 'records.json'),
cache: {
type: 'filesystem',
},
output: {
publicPath: path.join(conf.APPDIR),
path: path.join(__dirname, conf.APPDIR, conf.DIST),
filename: path.join('js', '[name].js'),
},
//devtool: COMPRESS ? '' : 'source-map',
externals: {
jquery: 'jQuery',
},
optimization: {
//namedModules: true, // NamedModulesPlugin()
splitChunks: {
// CommonsChunkPlugin()
name: 'vendor',
minChunks: 2,
},
//noEmitOnErrors: true, // NoEmitOnErrorsPlugin
concatenateModules: true, //ModuleConcatenationPlugin
concatenateModules: true,
minimizer: [
new TerserPlugin({
terserOptions: {
@ -209,6 +216,9 @@ module.exports = {
},
mangle: {
safari10: true,
/*keep_fnames: true,
keep_classnames: true,
reserved: ['$', 'jQuery', 'jquery'],*/
},
output: {
ecma: 5,
@ -221,8 +231,6 @@ module.exports = {
// Use multi-process parallel running to improve the build speed
// Default number of concurrent runs: os.cpus().length - 1
parallel: true,
// Enable file caching
//cache: true,
}),
],
},
@ -241,15 +249,6 @@ module.exports = {
},
},
},
/*{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
},
{
test: /\.coffee?$/,
use: 'coffee-loader',
},*/
{
test: /\.worker\.js$/,
use: {
@ -306,13 +305,26 @@ module.exports = {
],
},
{
test: /\.(png|jpg|jpeg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'img/',
publicPath: '../img/',
},
test: /\.(png|webp|jpg|jpeg|gif|svg)$/,
use: [
{
loader: 'img-optimize-loader',
options: {
name: '[name].[ext]',
outputPath: 'img/',
publicPath: '../img/',
compress: {
// This will take more time and get smaller images.
mode: 'low', // 'lossless', 'high', 'low'
disableOnDevelopment: true,
webp: conf['webp'],
},
inline: {
limit: 1,
},
},
},
],
},
],
},
@ -325,6 +337,7 @@ module.exports = {
jquery: require.resolve('jquery'),
jQuery: require.resolve('jquery'),
},
fallback: { url: false, events: false },
},
plugins: plugins,
@ -333,12 +346,12 @@ module.exports = {
port: 8001,
historyApiFallback: true,
hot: false,
clientLogLevel: 'info',
/*clientLogLevel: 'info',
contentBase: [
path.resolve(__dirname, 'src'),
path.resolve(__dirname, 'node_modules'),
path.resolve(__dirname, 'dist'),
],
],*/
//watchContentBase: true,
overlay: {
warnings: true,