Spaces:
Running
Running
| /* | |
| ========================================================= | |
| * Neumorphism UI - v1.0.0 | |
| ========================================================= | |
| * Product Page: https://themesberg.com/product/ui-kits/neumorphism-ui | |
| * Copyright 2020 Themesberg MIT LICENSE (https://www.themesberg.com/licensing#mit) | |
| * Coded by https://themesberg.com | |
| ========================================================= | |
| * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | |
| */ | |
| ; | |
| $(document).ready(function () { | |
| // options | |
| var breakpoints = { | |
| sm: 540, | |
| md: 720, | |
| lg: 960, | |
| xl: 1140 | |
| }; | |
| var $navbarCollapse = $('.navbar-main .collapse'); | |
| // Collapse navigation | |
| $navbarCollapse.on('hide.bs.collapse', function () { | |
| var $this = $(this); | |
| $this.addClass('collapsing-out'); | |
| $('html, body').css('overflow', 'initial'); | |
| }); | |
| $navbarCollapse.on('hidden.bs.collapse', function () { | |
| var $this = $(this); | |
| $this.removeClass('collapsing-out'); | |
| }); | |
| $navbarCollapse.on('shown.bs.collapse', function () { | |
| $('html, body').css('overflow', 'hidden'); | |
| }); | |
| $('.navbar-main .dropdown').on('hide.bs.dropdown', function () { | |
| var $this = $(this).find('.dropdown-menu'); | |
| $this.addClass('close'); | |
| setTimeout(function () { | |
| $this.removeClass('close'); | |
| }, 200); | |
| }); | |
| $(document).on('click', '.mega-dropdown', function (e) { | |
| e.stopPropagation(); | |
| }); | |
| $(document).on('click', '.navbar-nav > .dropdown', function (e) { | |
| e.stopPropagation(); | |
| }); | |
| $('.dropdown-submenu > .dropdown-toggle').click(function (e) { | |
| e.preventDefault(); | |
| $(this).parent('.dropdown-submenu').toggleClass('show'); | |
| }); | |
| // Headroom - show/hide navbar on scroll | |
| if ($('.headroom')[0]) { | |
| var headroom = new Headroom(document.querySelector("#navbar-main"), { | |
| offset: 0, | |
| tolerance: { | |
| up: 0, | |
| down: 0 | |
| }, | |
| }); | |
| headroom.init(); | |
| } | |
| // Background images for sections | |
| $('[data-background]').each(function () { | |
| $(this).css('background-image', 'url(' + $(this).attr('data-background') + ')'); | |
| }); | |
| $('[data-background-color]').each(function () { | |
| $(this).css('background-color', $(this).attr('data-background-color')); | |
| }); | |
| $('[data-color]').each(function () { | |
| $(this).css('color', $(this).attr('data-color')); | |
| }); | |
| // Datepicker | |
| $('.datepicker')[0] && $('.datepicker').each(function () { | |
| $('.datepicker').datepicker({ | |
| disableTouchKeyboard: true, | |
| autoclose: false | |
| }); | |
| }); | |
| // Tooltip | |
| $('[data-toggle="tooltip"]').tooltip(); | |
| // Popover | |
| $('[data-toggle="popover"]').each(function () { | |
| var popoverClass = ''; | |
| if ($(this).data('color')) { | |
| popoverClass = 'popover-' + $(this).data('color'); | |
| } | |
| $(this).popover({ | |
| trigger: 'focus', | |
| template: '<div class="popover ' + popoverClass + '" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' | |
| }) | |
| }); | |
| // Additional .focus class on form-groups | |
| $('.form-control').on('focus blur', function (e) { | |
| $(this).parents('.form-group').toggleClass('focused', (e.type === 'focus' || this.value.length > 0)); | |
| }).trigger('blur'); | |
| // NoUI Slider | |
| if ($(".input-slider-container")[0]) { | |
| $('.input-slider-container').each(function () { | |
| var slider = $(this).find('.input-slider'); | |
| var sliderId = slider.attr('id'); | |
| var minValue = slider.data('range-value-min'); | |
| var maxValue = slider.data('range-value-max'); | |
| var sliderValue = $(this).find('.range-slider-value'); | |
| var sliderValueId = sliderValue.attr('id'); | |
| var startValue = sliderValue.data('range-value-low'); | |
| var c = document.getElementById(sliderId), | |
| d = document.getElementById(sliderValueId); | |
| noUiSlider.create(c, { | |
| start: [parseInt(startValue)], | |
| connect: [true, false], | |
| //step: 1000, | |
| range: { | |
| 'min': [parseInt(minValue)], | |
| 'max': [parseInt(maxValue)] | |
| } | |
| }); | |
| }) | |
| } | |
| if ($("#input-slider-range")[0]) { | |
| var c = document.getElementById("input-slider-range"), | |
| d = document.getElementById("input-slider-range-value-low"), | |
| e = document.getElementById("input-slider-range-value-high"), | |
| f = [d, e]; | |
| noUiSlider.create(c, { | |
| start: [parseInt(d.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high'))], | |
| connect: !0, | |
| tooltips: true, | |
| range: { | |
| min: parseInt(c.getAttribute('data-range-value-min')), | |
| max: parseInt(c.getAttribute('data-range-value-max')) | |
| } | |
| }), c.noUiSlider.on("update", function (a, b) { | |
| f[b].textContent = a[b] | |
| }) | |
| } | |
| if ($("#input-slider-vertical-1")[0]) { | |
| var c = document.getElementById("input-slider-vertical-1"), | |
| d = document.getElementById("input-slider-range-value-low-3"), | |
| e = document.getElementById("input-slider-range-value-high-3"), | |
| f = [d, e]; | |
| noUiSlider.create(c, { | |
| start: [parseInt(d.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high'))], | |
| connect: !0, | |
| tooltips: false, | |
| orientation: 'vertical', | |
| range: { | |
| min: parseInt(c.getAttribute('data-range-value-min')), | |
| max: parseInt(c.getAttribute('data-range-value-max')) | |
| } | |
| }), c.noUiSlider.on("update", function (a, b) { | |
| f[b].textContent = a[b] | |
| }) | |
| } | |
| if ($("#input-slider-vertical-2")[0]) { | |
| var c = document.getElementById("input-slider-vertical-2"), | |
| d = document.getElementById("input-slider-range-value-low"), | |
| e = document.getElementById("input-slider-range-value-high"), | |
| f = [d, e]; | |
| noUiSlider.create(c, { | |
| start: [parseInt(d.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high'))], | |
| connect: !0, | |
| tooltips: true, | |
| orientation: 'vertical', | |
| range: { | |
| min: parseInt(c.getAttribute('data-range-value-min')), | |
| max: parseInt(c.getAttribute('data-range-value-max')) | |
| } | |
| }), c.noUiSlider.on("update", function (a, b) { | |
| f[b].textContent = a[b] | |
| }) | |
| } | |
| //Progress bars | |
| $(".progress-bar").each(function () { | |
| $(this).waypoint(function () { | |
| var progressBar = $(".progress-bar"); | |
| progressBar.each(function (indx) { | |
| $(this).css("width", $(this).attr("aria-valuenow") + "%"); | |
| }); | |
| $('.progress-bar').css({ | |
| animation: "animate-positive 3s", | |
| opacity: "1" | |
| }); | |
| }, { | |
| triggerOnce: true, | |
| offset: '60%' | |
| }); | |
| }); | |
| // When in viewport | |
| $('[data-toggle="on-screen"]')[0] && $('[data-toggle="on-screen"]').onScreen({ | |
| container: window, | |
| direction: 'vertical', | |
| doIn: function () { | |
| //alert(); | |
| }, | |
| doOut: function () { | |
| // Do something to the matched elements as they get off scren | |
| }, | |
| tolerance: 200, | |
| throttle: 50, | |
| toggleClass: 'on-screen', | |
| debug: false | |
| }); | |
| // Scroll to anchor with scroll animation | |
| $('[data-toggle="scroll"]').on('click', function (event) { | |
| var hash = $(this).attr('href'); | |
| var offset = $(this).data('offset') ? $(this).data('offset') : 0; | |
| // Animate scroll to the selected section | |
| $('html, body').stop(true, true).animate({ | |
| scrollTop: $(hash).offset().top - offset | |
| }, 600); | |
| event.preventDefault(); | |
| }); | |
| //Rotating Cards | |
| $(document).on('click', '.card-rotate .btn-rotate', function () { | |
| var $rotating_card_container = $(this).closest('.rotating-card-container'); | |
| if ($rotating_card_container.hasClass('hover')) { | |
| $rotating_card_container.removeClass('hover'); | |
| } else { | |
| $rotating_card_container.addClass('hover'); | |
| } | |
| }); | |
| //CounterUp | |
| $('.counter').counterUp({ | |
| delay: 10, | |
| time: 1000, | |
| offset: 70, | |
| beginAt: 100, | |
| formatter: function (n) { | |
| return n.replace(/,/g, '.'); | |
| } | |
| }); | |
| //Countdown | |
| $('#clock').countdown('2020/10/10').on('update.countdown', function (event) { | |
| var $this = $(this).html(event.strftime('' | |
| + '<span>%-w</span> week%!w ' | |
| + '<span>%-d</span> day%!d ' | |
| + '<span>%H</span> hr ' | |
| + '<span>%M</span> min ' | |
| + '<span>%S</span> sec')); | |
| }); | |
| //Parallax | |
| $('.jarallax').jarallax({ | |
| speed: 0.2 | |
| }); | |
| //Smooth scroll | |
| var scroll = new SmoothScroll('a[href*="#"]', { | |
| speed: 500, | |
| speedAsDuration: true | |
| }); | |
| // Equalize height to the max of the elements | |
| if ($(document).width() >= breakpoints.lg) { | |
| // object to keep track of id's and jQuery elements | |
| var equalize = { | |
| uniqueIds: [], | |
| elements: [] | |
| }; | |
| // identify all unique id's | |
| $('[data-equalize-height]').each(function () { | |
| var id = $(this).attr('data-equalize-height'); | |
| if (!equalize.uniqueIds.includes(id)) { | |
| equalize.uniqueIds.push(id) | |
| equalize.elements.push({ id: id, elements: [] }); | |
| } | |
| }); | |
| // add elements in order | |
| $('[data-equalize-height]').each(function () { | |
| var $el = $(this); | |
| var id = $el.attr('data-equalize-height'); | |
| equalize.elements.map(function (elements) { | |
| if (elements.id === id) { | |
| elements.elements.push($el); | |
| } | |
| }); | |
| }); | |
| // equalize | |
| equalize.elements.map(function (elements) { | |
| var elements = elements.elements; | |
| if (elements.length) { | |
| var maxHeight = 0; | |
| // determine the larget height | |
| elements.map(function ($element) { | |
| maxHeight = maxHeight < $element.outerHeight() ? $element.outerHeight() : maxHeight; | |
| }); | |
| // make all elements with the same [data-equalize-height] value | |
| // equal the larget height | |
| elements.map(function ($element) { | |
| $element.height(maxHeight); | |
| }) | |
| } | |
| }); | |
| } | |
| // update target element content to match number of characters | |
| $('[data-bind-characters-target]').each(function () { | |
| var $text = $($(this).attr('data-bind-characters-target')); | |
| var maxCharacters = parseInt($(this).attr('maxlength')); | |
| $text.text(maxCharacters); | |
| $(this).on('keyup change', function (e) { | |
| var string = $(this).val(); | |
| var characters = string.length; | |
| var charactersRemaining = maxCharacters - characters; | |
| $text.text(charactersRemaining); | |
| }) | |
| }); | |
| // copy docs | |
| $('.copy-docs').on('click', function () { | |
| var $copy = $(this); | |
| var htmlEntities = $copy.parents('.nav-wrapper').siblings('.card').find('.tab-pane:last-of-type').html(); | |
| var htmlDecoded = $('<div/>').html(htmlEntities).text().trim(); | |
| var $temp = $('<textarea>'); | |
| $('body').append($temp); | |
| console.log(htmlDecoded); | |
| $temp.val(htmlDecoded).select(); | |
| document.execCommand('copy'); | |
| $temp.remove(); | |
| $copy.text('Copied!'); | |
| $copy.addClass('copied'); | |
| setTimeout(function () { | |
| $copy.text('Copy'); | |
| $copy.removeClass('copied'); | |
| }, 1000); | |
| }); | |
| $('.current-year').text(new Date().getFullYear()); | |
| }); | |