#css loader spinner
Explore tagged Tumblr posts
codingflicks · 2 months ago
Text
Tumblr media
Ripples Animation
1 note · View note
cssscriptcom · 4 months ago
Text
Convert HTML Elements to Skeleton Loaders with SkeletonJS
SkeletonJS is a lightweight JavaScript library that helps you create animated skeleton loaders using CSS custom properties and a built-in shimmer animation. Instead of presenting users with blank spaces or generic spinners during loading states, SkeletonJS transforms your existing HTML elements into skeleton loaders that maintain your page layout and improve perceived loading performance. How to…
0 notes
learning-code-ficusoft · 5 months ago
Text
Micro-Interactions: How Small Details Enhance User Experience
Tumblr media
Micro-Interactions: How Small Details Enhance User Experience
Micro-interactions are subtle animations and feedback mechanisms that make digital experiences more engaging, intuitive, and user-friendly. These small details significantly impact usability, engagement, and delight without overwhelming users.
1. What Are Micro-Interactions?
A micro-interaction is a small, functional animation that occurs in response to a user’s action. They guide users, provide feedback, and improve the overall UX.
🔹 Examples: ✅ A “like” button that animates when clicked ❤️ ✅ A password strength meter while typing 🔒 ✅ A loading spinner when fetching data ⏳
💡 Micro-interactions improve UX by making interfaces feel alive, intuitive, and responsive.
2. Key Components of Micro-Interactions
Every micro-interaction consists of four key parts:
1️⃣ Trigger — The user action or system event that initiates the micro-interaction. 2️⃣ Rules — Define what happens once the interaction starts. 3️⃣ Feedback — Provides real-time response (e.g., animation, vibration). 4️⃣ Loop & Mode — Determines if the interaction repeats or adapts based on context.
🔹 Example: Toggle Button Animation
Trigger: User taps the toggle switch.
Rules: The toggle state changes from “Off” to “On.”
Feedback: The switch smoothly slides and changes color.
Loop & Mode: The toggle remains in its new state until changed.
3. Why Micro-Interactions Matter in UX Design
✅ Enhance User Engagement: Makes the UI more interactive and fun. ✅ Provide Instant Feedback: Shows the result of an action in real time. ✅ Improve Usability: Helps guide users intuitively. ✅ Add Personality to a Brand: Creates a more human and relatable experience.
4. Common Micro-Interaction Examples
🔹 Loading Animations
🔄 Prevent frustration by keeping users informed. Instead of a boring “Loading…” message, a creative animation can improve perceived performance.
✅ Example:
Spinning loader (⏳)
Skeleton screens (gradually load content)
Progress bars (indicate completion)
🔹 Button Feedback & Hover Effects
📍 Enhances interactions and confirms user actions.
✅ Example:
Buttons change color or size when hovered.
A ripple effect when clicking a button.
cssCopyEditbutton:active { transform: scale(0.95); }
🔹 Form Validations & Input Feedback
✍️ Makes form-filling easier and error-free.
✅ Example:
Inline validation messages (✅ or ❌).
Password strength indicators.
Shake animation for incorrect input.
javascriptif (password.length < 6) { inputField.classList.add("shake"); }
🔹 Like, Share, & Favorite Animations
❤️ Encourages engagement and interaction.
✅ Example:
Clicking a heart icon makes it pop & change color.
Social media reactions (e.g., Facebook’s Like button).
javascriptheartIcon.addEventListener("click", () => { heartIcon.classList.add("animate-heart"); });
🔹 Toggle Switch & Dark Mode
🌗 Smooth transitions improve experience.
✅ Example:
A toggle switch animates when switching between light and dark modes.
Background and elements smoothly transition between themes.
javascripttoggleButton.addEventListener("click", () => { document.body.classList.toggle("dark-mode"); });
5. Best Practices for Designing Micro-Interactions
🎯 Keep it Simple — Subtle animations work best; avoid overuse. ⚡ Make it Fast — Animations should be quick (0.2–0.5s). 🎨 Match the Brand Personality — Ensure animations align with the app’s tone. 🎯 Provide Feedback — Always let users know what’s happening. 📱 Ensure Accessibility — Avoid relying only on color; support screen readers.
6. Tools to Create Micro-Interactions
🚀 For UI Designers:
Figma, Adobe XD, Sketch — For prototyping animations.
Lottie (Airbnb) — Lightweight animated SVGs & JSON-based animations.
💻 For Developers:
CSS Animations & Transitions — For simple hover and click effects.
JavaScript & GSAP — For dynamic and interactive animations.
Framer Motion (React) — For smooth UI animations.
7. Conclusion
Micro-interactions may seem small, but they greatly enhance user experience by making interfaces more engaging, intuitive, and fun. When used effectively, they improve usability, reduce friction, and add a human touch to digital products.
WEBSITE: https://www.ficusoft.in/web-designing-training-in-chennai/
0 notes
cssmonster · 2 years ago
Text
Explore 135+ CSS Spinners
Tumblr media
Welcome to CSS Monster, your go-to hub for captivating CSS spinners! Within these digital realms, we've meticulously crafted a compendium of 135+ hand-picked HTML and CSS loading spinner examples sourced from trusted repositories like CodePen, GitHub, and other invaluable resources. As of April 2023, we proudly unveil an extensive update, introducing a remarkable addition of 54 new spinners. Our mission is to empower web developers, designers, and enthusiasts with the latest loading spinner designs, ensuring your projects boast cutting-edge user experiences. Delve into this curated treasure trove and unlock the creative potential of loading spinners to elevate your web design endeavors. CSS Monster invites you to explore and enrich your projects with the most innovative spinner designs available! Author Jon Kantner February 3, 2023 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code PENCIL PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Michelle Barker February 1, 2023 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code SATELLITE SPINNER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Jon Kantner December 30, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code SMILEY PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Derek Story December 23, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS (SCSS) About a code GOOGLE FIBER LOADING ANIMATION IDEA Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Jon Kantner December 13, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code SNOWBALL PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Jon Kantner November 16, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code STUNT PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Jon Kantner November 7, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code LEAKY PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Jon Kantner October 28, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code COMPASS PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Jon Kantner September 1, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code SPINNER AND BALLS Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Chris Smith June 28, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code CSS ONLY ROTATING LOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Chance Strickland April 12, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS (SCSS) About a code REMIX CD LOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Jon Kantner April 8, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code RIBBON SPINNER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Jon Kantner March 17, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code LOADING GOES OFF TRACK Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Jon Kantner March 11, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code SKATEBOARD-LIKE PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Jon Kantner January 27, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code ACROBATIC PRELOADER Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Temani Afif January 9, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code THE SQUARE VS THE CIRCLE Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Temani Afif January 8, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code THE SQUARE Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Temani Afif January 7, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code THE INFINITY II Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Temani Afif January 6, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code THE BLOB II Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Jhey January 14, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML (Pug) / CSS About a code THAT LOADER IN CSS Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:yes Dependencies:- Author Temani Afif January 3, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code THE MAZE Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Temani Afif January 1, 2022 Links Just Get The Demo Link How To Download - Article How To Download - Video Made with HTML / CSS About a code THE MOVING Compatible browsers:Chrome, Edge, Firefox, Opera, Safari Responsive:no Dependencies:- Author Saahil Shukla December 21, 2021 Links Just Get The Demo Link How To Download - Article Read the full article
0 notes
rocoderes · 3 years ago
Text
How to Make Fidget Spinner Loader Using CSS
How to Make Fidget Spinner Loader Using CSS
In this article, we will make fidget spinner loader using CSS. This is going to be a basic and beginner-friendly project, as all of our loader project are basic. So here, we will have a fidget spinner, and it will spin infinitely. Adding this kind of loader will be very much cool if you’re planning to add loader in your website or something. Demo Pre-requisites to Make Fidget Spinner Loader…
Tumblr media
View On WordPress
0 notes
freefrontend-blog · 5 years ago
Photo
Tumblr media
CSS Liquid Loader https://freefrontend.com/css-spinners/
5 notes · View notes
suzanneshannon · 5 years ago
Text
A Font-Like SVG Icon System for Vue
Managing a custom collection of icons in a Vue app can be challenging at times. An icon font is easy to use, but for customization, you have to rely on third-party font generators, and merge conflicts can be painful to resolve since fonts are binary files.
Using SVG files instead can eliminate those pain points, but how can we ensure they’re just as easy to use while also making it easy to add or remove icons?
Here is what my ideal icon system looks like:
To add icons, you just drop them into a designated icons folder. If you no longer need an icon, you simply delete it.
To use the rocket.svg icon in a template, the syntax is as simple as <svg-icon icon="rocket" />.
The icons can be scaled and colored using the CSS font-size and color properties (just like an icon font).
If multiple instances of the same icon appear on the page, the SVG code is not duplicated each time.
No webpack config editing is required.
This is what we will build by writing two small, single-file components. There are a few specific requirements for this implementation, though I’m sure many of you wizards out there could rework this system for other frameworks and build tools:
webpack: If you used the Vue CLI to scaffold your app, then you’re already using webpack.
svg-inline-loader: This allows us to load all of our SVG code and clean up portions we do not want. Go ahead and run npm install svg-inline-loader --save-dev from the terminal to get started.
The SVG sprite component
To meet our requirement of not repeating SVG code for each instance of an icon on the page, we need to build an SVG “sprite.” If you haven’t heard of an SVG sprite before, think of it as a hidden SVG that houses other SVGs. Anywhere we need to display an icon, we can copy it out of the sprite by referencing the id of the icon inside a <use> tag like this:
<svg><use xlink:href="#rocket" /></svg>
That little bit of code is essentially how our <SvgIcon> component will work, but let’s go ahead create the <SvgSprite> component first. Here is the entire SvgSprite.vue file; some of it may seem daunting at first, but I will break it all down.
<!-- SvgSprite.vue --> <template>   <svg width="0" height="0" style="display: none;" v-html="$options.svgSprite" /> </template> <script> const svgContext = require.context(   '!svg-inline-loader?' +    'removeTags=true' + // remove title tags, etc.   '&removeSVGTagAttrs=true' + // enable removing attributes   '&removingTagAttrs=fill' + // remove fill attributes   '!@/assets/icons', // search this directory   true, // search subdirectories   /\w+\.svg$/i // only include SVG files ) const symbols = svgContext.keys().map(path => {   // get SVG file content   const content = svgContext(path)    // extract icon id from filename   const id = path.replace(/^\.\/(.*)\.\w+$/, '$1')   // replace svg tags with symbol tags and id attribute   return content.replace('<svg', `<symbol id="${id}"`).replace('svg>', 'symbol>') }) export default {   name: 'SvgSprite',   svgSprite: symbols.join('\n'), // concatenate all symbols into $options.svgSprite } </script>
In the template, our lone <svg> element has its content bound to $options.svgSprite. In case you’re unfamiliar with $options it contains properties that are directly attached to our Vue component. We could have attached svgSprite to our component’s data, but we don’t really need Vue to set up reactivity for this since our SVG loader is only going to run when our app builds.
In our script, we use require.context to retrieve all of our SVG files and clean them up while we’re at it. We invoke svg-inline-loader and pass it several parameters using syntax that is very similar to query string parameters. I’ve broken these up into multiple lines to make them easier to understand.
const svgContext = require.context( '!svg-inline-loader?' + 'removeTags=true' + // remove title tags, etc. '&removeSVGTagAttrs=true' + // enable removing attributes '&removingTagAttrs=fill' + // remove fill attributes '!@/assets/icons', // search this directory true, // search subdirectories /\w+\.svg$/i // only include SVG files )
What we’re basically doing here is cleaning up the SVG files that live in a specific directory (/assets/icons) so that they’re in good shape to use anywhere we need them.
The removeTags parameter strips out tags that we do not need for our icons, such as title and style. We especially want to remove title tags since those can cause unwanted tooltips. If you would like to preserve any hard-coded styling in your icons, then add removingTags=title as an additional parameter so that only title tags are removed.
We also tell our loader to remove fill attributes, so that we can set our own fill colors with CSS later. It’s possible you will want to retain your fill colors. If that’s the case, then simply remove the removeSVGTagAttrs and removingTagAttrs parameters.
The last loader parameter is the path to our SVG icon folder. We then provide require.context with two more parameters so that it searches subdirectories and only loads SVG files.
In order to nest all of our SVG elements inside our SVG sprite, we have to convert them from <svg> elements into SVG <symbol> elements. This is as simple as changing the tag and giving each one a unique id, which we extract from the filename.
const symbols = svgContext.keys().map(path => { // extract icon id from filename const id = path.replace(/^\.\/(.*)\.\w+$/, '$1') // get SVG file content const content = svgContext(path) // replace svg tags with symbol tags and id attribute return content.replace('<svg', `<symbol id="${id}"`).replace('svg>', 'symbol>') })
What do we do with this <SvgSprite> component? We place it on our page before any icons that depend on it. I recommend adding it to the top of the App.vue file.
<!-- App.vue --> <template>   <div id="app">     <svg-sprite /> <!-- ... -->
The icon component
Now let’s build the SvgIcon.vue component.
<!-- SvgIcon.vue --> <template>   <svg class="icon" :class="{ 'icon-spin': spin }">     <use :xlink:href="`#${icon}`" />   </svg> </template> <script> export default {   name: 'SvgIcon',   props: {     icon: {       type: String,       required: true,     },     spin: {       type: Boolean,       default: false,     },   }, } </script> <style> svg.icon {   fill: currentColor;   height: 1em;   margin-bottom: 0.125em;   vertical-align: middle;   width: 1em; } svg.icon-spin {   animation: icon-spin 2s infinite linear; } @keyframes icon-spin {   from {     transform: rotate(0deg);   }   to {     transform: rotate(359deg);   } } </style>
This component is much simpler. As previously mentioned, we leverage the <use> tag to reference an id inside our sprite. That id comes from our component’s icon prop.
I’ve added a spin prop in there that toggles an .icon-spin class as an optional bit of animation, should we ever need. This could, for example, be useful for a loading spinner icon.
<svg-icon v-if="isLoading" icon="spinner" spin />
Depending on your needs, you may want to add additional props, such as rotate or flip. You could simply add the classes directly to the component without using props if you’d like.
Most of our component’s content is CSS. Other than the spinning animation, most of this is used to make our SVG icon act more like an icon font¹. To align the icons to the text baseline, I’ve found that applying vertical-align: middle, along with a bottom margin of 0.125em, works for most cases. We also set the fill attribute value to currentColor, which allows us to color the icon just like text.
<p style="font-size: 2em; color: red;">   <svg-icon icon="exclamation-circle" /><!-- This icon will be 2em and red. -->   Error! </p>
That’s it!  If you want to use the icon component anywhere in your app without having to import it into every component that needs it, be sure to register the component in your main.js file:
// main.js import Vue from 'vue' import SvgIcon from '@/components/SvgIcon.vue' Vue.component('svg-icon', SvgIcon) // ...
Final thoughts
Here are a few ideas for improvements, which I intentionally left out to keep this solution approachable:
Scale icons that have non-square dimensions to maintain their proportions
Inject the SVG sprite into the page without needing an additional component.
Make it work with vite, which is a new, fast (and webpack-free) build tool from Vue creator Evan You.
Leverage the Vue 3 Composition API.
If you want to quickly take these components for a spin, I’ve created a demo app based on the default vue-cli template. I hope this helps you develop an implementation that fits your app’s needs!
¹ If you’re wondering why we’re using SVG when we want it to behave like an icon font, then check out the classic post that pits the two against one another.
The post A Font-Like SVG Icon System for Vue appeared first on CSS-Tricks.
You can support CSS-Tricks by being an MVP Supporter.
A Font-Like SVG Icon System for Vue published first on https://deskbysnafu.tumblr.com/
2 notes · View notes
amazing-jquery-plugins · 6 years ago
Text
Minimalist 4-Dot Loading Spinner With jQuery - loading.js
A minimal, animated, CSS-only, 4-dot spinner component for content loaders or page preloaders. jQuery is only used to start and stop the loading spinner as per your needs. 
Demo
Download
Tumblr media
2 notes · View notes
haifon-ina · 3 years ago
Link
0 notes
atakportal · 7 years ago
Text
Qibla - WordPress Listing Directory Theme
New Post has been published on https://click.atak.co/qibla-wordpress-listing-directory-theme/
Qibla - WordPress Listing Directory Theme
Welcome, this is Qibla
Qibla is the new listing directory for WordPress. Use Qibla if you want to start your Tripadvisor or Airbnb-like directory! Perfect for local businesses owners and promoters or any kind of web directory.
Our demo uses these additional plugins:
Please note: This sale is for Qibla WordPress theme only. Some premium plugins may require additional purchase.
WooCommerce (free) WordPress Sassy social share (free) WP opening hours (free) WooCommerce Bookings (premium) Reviewer WordPress Plugin (premium)
Qibla2Mobile (premium)
Update Logs
= 2.5.0 07/17/2018 =
Fix: suggestions, given the support when the slug of taxonomies is changed. Fix: Various arrangements and removal of dirty code. Fix: Related events order by date and time. Fix: Events shortcode add option for order by "Event Date". Fix: Undefined function getcurrentscreen in admin hook "qiblafwtermboxthumbnailscreen" Add: button for remove title group. Add: Support for Reviewer plugin. Add: option for set default address in google map. Add: Term color scoped style in listings card. Add: Geocoded add slug in nav suggestion data. Add: Term color scoped style in events card. Add: Support for WooCommerce 3.4.3
= 2.4.0 06/13/2018 =
Add: Font Awesome 5 icons divided into two types, solid and regular. Add: Events settings page in theme options. Add: activate select2 input search box. Add: new page template Events Search. Add: Short-code search events '[dlevsearch]'. Add: Short-code events map '[dlevmaps]'. Add: Short-code events term '[dlevterm]'. Add: Short-code events term locations '[dlevterm_locations]'. Add: added functionality to search for events, by date and / or category. Add: added ajax filtering for dates. Add: added in single events, socials, email, phone and site url. Add: add Hero Map. Add: added "tag groups" functionality in the taxonomy amenities. Fix: fixed slug value for autocomplete and geocoded search.
= 2.3.0 05/04/2018 =
* Add: Short-code listings, posts, maps and terms added layout option in visual composer. * Add: Integrated Opening Hours plugin (visible in the listings sidebar). * Add: Widget Area in Archive listings (visible before the listings). * Add: Counter for checked amenities. * Add: New Select2 theme. * Add: New design for listings filters. * Add: Events plugin. * Add: If it is not active woocommerce-bookings, add tab for inserting personalized content instead of the booking form. * Fix: Marker cluster in the same position. * Fix: Update googleapis version. * Fix: Search geocoded permalink. * Fix: Various fixes for IE11.
= 2.2.0 03/31/2018 =
* Add: New user registration, notification for password reset * Add: added filter 'qibla_sidebar_in_singular_post_type' in sidebar function. * Fix: Style for Homepage full width template. * Dev: added filters for the "screen" TermBox classes.
= 2.2.0 03/28/2018 =
* Add: Added Glyphs Icons. * Add: support for wpml to create a cache for suggestions based on the current language. * Add: Icon search feature for search icon by name. * Add: Support for WooCommerce 3.3.4 * Add: Added homepage boxed and full width template. * Fix: Invalid object type for subtitle for WP_User instance. * Fix: isListingsArchive and isListingsMainQuery functions for taxonomy archive. * Fix: Autocomplete suggestions based on the current language. * Fix: Invalid object type for subtitle for WP_User instance. * Fix: Search Geo fix default event in setValue function. * Dev: Added file for the definition of the listings types, used in the registration of the taxonomy "listings_address". * Tweak: Change placeholder for title and sub title, in add listings form.
2.1.0 – 02/12/2018
Add: Ability to customize the My Wishlist endpoint via settings. Add: introduced getArchiveDescription function for retrieved archive description. Add: include archive description in json data Add: Map Icons. Add: support for wpml to suggestions. Add: introduced new function isWpMlActive. Add: shortcode dl_maps to view a map, you can use one only per page. Add: Count result and ordering template in shop page. Add: shortcode dlrecentlyviewed to view recently viewed listings. Add: filter categories and locations in listings short-code. Add: Support for WooCommerce 3.3.1. Add: add filter qibla_search_json_encoder_factory for filter json encoder factory args. Add: added setCurrentLang function. Add: multiple relationship between categories and amenities. Fix: ListingsPost icon method check if $termIcon is empty. Fix: add 'updateoptionrewrite_rules' case in Autocomplete handler for update data. Fix: TermBox Store fix checkAdminReferer. Fix: WpMl support for redirect at checkout after package creation.
=2.0 – 12/18/2017=
* Add: Support for WooCommerce 3.2.6. * Add: Introducing Wishlist feature. * Add: Listings Categories. * Add: Amenties / Categories Listings Relation. You can now hide amenities based on Category context from within the edit term page. * Add: Term Meta can now be set when creating the term within the edit tags page. * Add: Introduce Drag&Drop for map pin. You can now adjust the position of the marker by dragging it when create or edit a listings. * Add: New Role 'manage_listings' for users that can manage the listings within the backend. * Add: Search now allow administrator to select one search, search + geocode and combo that include the search, geocode and listings categories. * Add: Introduce the package manager within the listings edit page for all listings even the ones created within the backend. * Add: Typography font variant and font weight for base font family in theme option. * Fix: Listing Location doesn't get update after ListingLocationStore has been introduced in 1.2.0 * Fix: Author Listings doesn't update in Quick edit. * Fix: Incompatibility with WooCommerce 3.2.x where isn't possible to assign the listing ID when create the post. Prevent to automatically publish the listings on order complete. * Fix: Product won't remove from the cart when a user delete an item not payed yet. * Fix: Author page doesn't show because of the FilterProductsQuery set the queried_object too early. * Fix: Material icons doesn't load due to missing rules in generated vendor.min.css. * Fix: Loop footer listings doesn't show full content if meta is empty. * Fix: Page not fully load when there are no posts in a listings archive. * Fix: Tinymce buttons overflow the container in small devices. * Fix: Quote and double quote may truncate the listing content when submit one. * Fix: Autocomplete appear twice when browser is set to use the auto fill forms. * Fix: Remove the search classes from body if the context is for listings type. * Fix: Updating a term in quick edit doesn't release the ajax spinner. * Fix: Capabilities logic, not work well. * Fix: Capabilities for Custom Post Type and Taxonomy Listings. * Fix: Listings container height on archive listings for No map archive. * Fix: Jumbotron defined in Framework hide archive titles like the author one. * Fix: Search Geocoded doesn't load the correct page if locations term titles use more than one word. * Fix: Archive Listings container collapse when images are not downloaded fast. * Fix: Pagination ajax not trigger if no filtering has been executed at least once when no map archive option is set. * Fix: Default archive descriptions giving support to the multi post type. * Fix: Ajax loader stuck on quick edit terms. * Fix: Search Submit label may disappear in some cases. * Fix: Listings archive list won't scroll when full screen map is closed after a filtering action. * Fix: Homepage template won't save meta options. * Fix: Color picker doesn't work as expected within post meta boxes when site is viewed in firefox. * Tweak: Improve search navigation responsiveness. * Tweak: Various Css issues. * Tweak: Improve typography settings load speed. * Refactor: New Listings Filtering logic. * Refactor: Move functions from `Front` and `Admin` namespace within the main one under the path `src/Functions`. * Remove: Post Formats support has been removed for Listings Post type. * Remove: Listings Format logic. Never used. * Dev: Allow `picture` and `source` in `ksesPost` function. * Dev: Introduce `before` and `after` actions in archive title template. * Dev: Add filter `qibla_discard_init_loader` to allow third party plugin or child themes to prevent the init of the theme and made their own. * Dev: Improve filter logic, the taxonomy redirect fragment now is dynamic, you can pass it as `data-taxonomy` to the input. * Dev: Introduce `qibla_fw_default_map_location` filter to allow to change the default google map. * Dev: Allow `picture` and `source` in `ksesPost` function. * Dev: Introduce SubTitle template and relative view with `before` and `after` hook. * Dev: Validate forms sometimes doesn't set the value of the inputs correctly. This happen when the submit page is different than the action page. * Dev: Fix Select input type when set the `selected` attribute. Values must be exactly the same, so compare lowercase characters. * Dev: Refactored the Autocomplete package, to allow to work with other post types of listings type. * Dev: Listings fetching events are now dispatcher to form element instead of window. * Dev: Fix propagation missed for events fired after the event pagination in archive listings is started. * Dev: Introduce filters to the form type output before return it. The filter take the form of `qibla_fw_type_type_slug_output`. * Dev: Introduce `QiblaFrameworkTemplateThumbnail` template class. * Dev: Introduce `QiblaFrameworkTemplateLoopTemplate` template class. * Dev: Introduce js-url (a JavaScript url parser) library. * Dev: Allow to create modals for login / register dynamically by every javascript file. Use DL.LoginRegisterFormFactory(triggerHTMLElement). * Dev: Introduce basic CRUD interface. * Dev: Introduce `UserFactory`. Move logic from `User` class. * Dev: Improve `codearea` field type by using the newly function `wp_enqueue_code_editor`. Old codemirror has been removed.
=1.7.1 – 10/21/2017=
Fix: Hero full height up to 1366px. Fix: Hero within singular listings height. Overwritten by the rule for the other pages. Fix: Listings Archive without the map has an additional margin between header and filters. Fix: Vertical align for Hero content when header is set as transparent and within the single post. Fix: Task for update listings geocode data must use ajaxurl because it is executed within the admin context. Fix: ScriptLoader doesn't recognize field slug in php < 7. Fix: Login/Register Modal doesn't open by default within the add listing submission page. Fix: Logout Url doesn't work within the my account page because of the wrong namespace in case sensitive Os. Fix: Logout url appear under every submenu items in main navigation when user is logged in and SignIn/SignUp is not the latest menu item. Fix: Some issues with the listings location meta updater when some listings cannot be updated correctly.
=1.7.0 – 18/10/2017=
Add: Introduce geolocalization feature for listings. Add: Support for WooCommerce 3.2.x. Add: Material Icons. Add: Search now can get google addresses and geolocate users. Add: Allow to set the listings archives without a map from theme option. Qibla > Theme Options > Listings. Add: Amenities within the single listings are now links to the respective archive pages. Add: New option to set geocode search input in Qibla > Theme Options > Search. Fix: A warning for WordPress Social Login when user is not logged in. Fix: Wrong logo image when header is set to sticky when the logo size is greater than the thumbnail image size. Fix: Google Analytics code strip tags. Switched to a text field to allow UA code. Fix: Select2 overlaps color picker within admin pages. Fix: Header Hero content not centered vertically if header is set as sticky. Fix: Prevent glitch on header hero content when page load because of the sticky header. Fix: Remove post type query arg from filter, cause context issues. Fix: Title doesn't appear in search page when framework is active. Fix: Wrong text domain in WooCommerce templates. Fix: Smooth scroll issue with hidden elements. Fix: All third menu level items get border radius. Fix: Escape html class attribute values in scopeClass. Fix: Hero content not centered within the homepage when header is set as sticky. Fix: Hero doesn't appear in search results page. Fix: Sidebar doesn't appear in search results page. Fix: Hero height different when header is set as sticky. Fix: WooCommerce Products list layout broken in widget when product has no price. Fix: Header extra horizontal padding between 1025 and 1080 viewport. Fix: Listings cannot submit via front-end when a term of a taxonomy is a numeric like value. Es. zip code. Fix: Missed to introduce Listing Package Shortcode within the Qibla Visual Composer category. Update: Allow CRUD package to work with new location data. Lat / Lng are now separated meta where address is a term. Remove: Removed locations taxonomy from the search suggestions. Remove: Static search navigation is now removed in favor of automatic suggestions based on listings categories. Tweak: Improve the navigation UX used in search. Refactor: Header search is now a generic search for listings and posts. Dev: Introduce filter named `qibla_listings_filter_form_output_before_close` to filter the listings form filter. Dev: Introduce Geo package, meta query args from bounding coords, latlng factory, Geolocation filtering. Dev: Introduce filter 'qibla_listings_allowed_taxonomies_filter' to modify the list of the allowed taxonomy form which retrieve the terms that goes into the search suggestions. Dev: Introduce Search field input type. Dev: Introduce filter `qibla_fw_prepare_json_builder` to insert extra data within the json send after listings filtering. Dev: Ajax filters can now be executed in both front-end and back-end context. Dev: SvgLoader is now included in back-end.
= 1.6.1 12/09/2017 =
Fix: Users when register must not obtain the Listings Author Role. Fix: Login register collapse issue in mobile devices after social login has been introduced. Fix: Unexpected scroll to top on anchors with '#' as fragment. Fix: Modal Login Register on small screens is cut off. Fix: Box model issue on small devices due to a Owl Carousel bug when used within a flexbox container. Fix: Rating on single listings doesn't get the hover state. Fix: Select input type z-index because of Visual Composer Panel. Fix: Missed social login support within the WooCommerce my account page. Fix: Extra space between header and main content when window is too small in desktop devices. Tweak: Social Login box model within WooCommerce my account page. Tweak: Modal, allow to close it by clicking outside of the modal itself. Remove: Remove Contact Form 7 from the list of the suggested plugins. Never used on theme.
1.6.0 – 06/09/2017
Fix: Remove the link from user within the comment form that point to the admin edit profile. Fix: Local video doesn't show up on homepage header. Fix: Encoding excaped quote when not needed. Fix: Notice when try to submit a review and Debug is enabled. Fix: Prevent issues on login register modal if no login/register element exists within the page. Fix: google map field type don't load time to time when loaded async. Fix: Use first and last name as user login if user provide both even if separated by space. Fix: Wrong namespace in case sensitive OS. props @Ilyo. Fix: Lost password form lost the submit button label after data has been submitted. Fix: wrong conditional statement when check for recipient type. Fix: strpos third parameter is the offset not a strictly comparison. Fix: Don't add `woocommerce` class to the body element in single listing if the product isn't related. Fix: Don't show the price element when isn't possible to retrieve the product price. Fix: Wrong text-domain for "Add your listing" page title. Add: Sticky Header Option. Add: Slider Revolution support. Add: Localization for it_IT. Add: Autocomplete and custom menu attributes to search form shortcode. Add: Support to WP Social Login plugin. Add: Allow Listing Author to reply to customer reviews. Add: Map Qibla shortcode's into Visual Composer. Add: Smooth scrolling for internal anchor links. Add: Localization for it_IT. Add: AddListingToCartOnBooking to allow us to add the listing post within the booking product cart item data. Add: Filter email recipient on new order and new booking. Add: Visual Composer integration for Shortcodes. Tweak: Align amenities icons within the single listing. Tweak: Reduce the font size for the listing package price, so high price value do not break the UI. Tweak: Improve Login/Register modal box model. Tweak: Set the phone anchors to be clickable. Tweak: Move the related post cta label as option under Theme Options > Listings to simplify a bulk edit. Tweak: Remove the constraints for memory_limit, time_limit and max_execution_time. Try to import whatever can be imported. Improve: Logo MV by introduce new hooks to perform actions before and after the logo markup is rendered. Also, the img now is wrapped in a `<picture>` element. Update: Demo content to include new content generated by visual composer. Dev: Fix Radio input type missed attributes values. Dev: Fix datetimepicker type doesn't load correctly on Firefox.
1.5.1 – 16/08/2017
Fix: Dropdown input is higher than than others. Fix: Don't use html markup within the translation text in review form. Fix: Quantity increment/decrement width within the cart. Fix: Login/Register modal doesn't have correct height on Safari. Fix: Rename languages/qibla-it_IT.mo/.po to languages/it_IT.mo/.po. Files within the theme doesn't need the textdomain prefix. Fix: Modal Contact Form on single listing cannot scroll the content correctly due to content alignment. Fix: Missed borders style for search navigation items. Fix: Search input height value is wrong on Safari. Fix: WooCommerce table links that are btn must not get the link-text style. Fix: Modal height in IE10, the modal get the whole height of the window. Fix: Alert within the contact form modal is cropped. Fix: Fatal Error caused when a product type element cannot be created but the product is associated to a listing. Generally because the product associated isn't of type of Booking. Fix: The Listing Visibility Duration must be within Qibla Listings plugin not into the framework. Fix: Error when an order is set as completed and there are no listings associated to that order. Fix: Don't show the My Listings page for non listings authors. Fix: Authors Dropdown list doesn't show listings author within the admin edit screen. Fix: Missed to load the plugin language textdomain. Fix: Listings Actions within the my listings page not work as expected if site is not localized in english. Fix: Administrators, Editor, Author and Subscriber cannot access to admin because of Listings Author roles. Fix: Don't show Admin Bar on frontend for Listings Author. Related with the issue of admin access. Fix: Error within My Listings page when package related to a listing no longer exists. Fix: Notice on listing form when trying to remove the breadcrumb. Fix: Check for 'edit_listings' instead of 'publish_listings' for the edit listings form. Fix: User not allowed to create listing posts if user all-ready exists when 'qibla-listings' plugin is activated. Fix: The Listing Visibility Duration must be within Qibla Listings plugin not into the framework. Fix: Wrong translation string for uploaded_to_this_item when registering post type. Fix: Get comment data doesn't need a translation string. There is only a string that contain a positional argument. Fix: iOS issue within single listing page: "This website has been blocked from automatically composing an email" during contact form modal preloading. Fix: Login/Register form show the "Create an account" even if registration are off due to wrong value type evaluation. Fix: Prevent javascript errors when listings archive doesn't contain any filter or toggler. Fix: Email not send when a new user is registered. Fix: Allow to load the plugin textdomain directly from the plugin. Fix: Reset Password is not send. Generate a fatal error in non network installations. Fix: Page still allow scrolling on listings archive page on iOS when map is opened. Fix: Remove the Header skin and subtitle from Listings Categories, Locations and Amenties term boxes. Listings Archives doesn't show any hero image nor subtitles. Fix: Function get_current_screen may not exists whithin the MetaboxStore context because the handler is attached to the "save_post" and not all of the posts are saved within the edit post screen context. Fix: Security vulnerability for internal Textarea input type. Data is not escaped. Fix: Codearea type append slashes to the submitted value. Make it unusable. Fix: No way to store dynamic Css from theme option if child theme is active. Fix: Modal doesn't open correctly in Edge and IE10 Browser. Fix: Shortcode Term warning when term doesn't exists in database. Fix: Phone number within the single listings meta doesn't work as expected. Make it clickable, so it's possible to make a call directly from the site. Fix: Unexpected end of JSON input when there isn't listings data to retrieve. This include listings posts, categories, amenities etc... Fix: Impossible to update the map togglers on resize. Map opening/closing must be triggered only by user. Fix: Missed google_analytics default option. Fix: Prevent optional options to be marked as invalid during import. Fix: Wrong google analytics option value in theme option. Update: Google Map version to 3.28. Update: Code Mirror: 5.27.4, Update: OwlCarousel: 2.2.0, Update: PhotoSwipe: 4.1.2 Remove: "Password will be emailed to you.". WordPress doesn't send any password via mail when a new user is registered. Tweak: Set the overflow for the modal to auto, don't show scroll bars if not necessary. Tweak: Alerts components in small devices. Remove icon and improve typography. Tweak: Flush rewrite rules on import completed. Tweak: Use translation context for default options strings. Tweak: Improve the username invalid description within the register form. Tweak: remove breadcrumb metabox field description. Tweak: Contextualize the settings translation strings. Tweak: Vertical center the loader within the archive listings map. Tweak: Add link to google developer site about how to create a map api key to Google Map Theme Option field. Tweak: Increase php ini variable before generate the dynamic.css file. Will prevent a time out issue in cheap hostings. Improve: Mobile Header. Improve: Promote users to listings author when try to create a listing. This allow registered users like subscribers to be listings authors. Improve: Empty the cart before perform redirect the user to the checkout after a listing has been create. Improve: Remove unnecessary WooCommerce Navigation items from my account for users that can manage listings. Improve: UX by don't allow google map scrollwheel for map within the add listing page. Refactor: Template for the Cart Counter is now a class. Dev: Move the qibla_did_init hook at the end, so other code may act with actions previously added. Dev: Introduce the TemplateInterface. Dev: Apply the 'qibla_kses_image_allowed_attrs' directly to the img list. Dev: Pass fields values and post as arguments to the listing form fields list. Dev: Separate the enqueue for style and script for Testimonial shortcode, so we can deregister the script without loose the style. Dev: Move 'widgets_init' within the filters list definition. Make the Init class coherent with other plugins. Dev: Localize the autocomplete arguments for the ajax call. See dlautocomplete localized script arguments. Dev: Introduce new filter named 'qibla_fw_insert_localized_script_item' to filter the localized script arguments before output. Dev: Introduce new parameter for DataCacheTransient to allow to work with different transients data. Dev: Introduce new filter within Template Engine named 'qibla_fw_template_path' allowing you to filter the file path before include it. Dev: Refactor GoogleMap by implementing Template Interface. Filter callback has been changed too. Dev: Improve Map Field type, now it is possible to pass google map options via php. Use 'map_options' as argument for the field type. Dev: Introduce two new filters to manipulate the base Dir for Scss files and for output dynamic's css. 'qibla_fw_settings_handler_scss_base_dir_path' and 'qibla_fw_settings_css_output_file_path' respectively. Dev: Introduce two new filters to change the 'All Categories' and 'All Locations' filter labels under the listings archive page. Filters are named respectively: 'qibla_listings_filter_category_all_options_label', 'qibla_listings_filter_locations_all_options_label'. Dev: Introduce new filter to change the value of the scss importer string passed as content to generate the dynamic.scss file. Filter named 'qibla_fw_settings_dynamic_css'. Allowing you to include extra css within the dynamic file. Dev: Always load the 'dl-utils' script.
1.5.0 – 02/07/2017
Add: Support for WooCommerce 3.1.0 Add: Ability to allow users to create listings by fee. Add: Login / Register. Allow users to login, register and get back password from front-end. Add: Required fields now have an asterisk associated to their labels. Add: Modal Contact Form within the single listing. Just click on email icon. Cf7 no longer needed. Add: Main Menu Item styles. Text or Button. Add: Custom user LoggedIn menu. Add: Required fields now have an asterisk associated to their labels. Add: Ability to change the post type and taxonomies base permalinks. Add: Contact Form within the singular Listings, allow to send email directly from the site instead of load OS application. Add: User logged in menu. A submenu within the main nav that allow to create the login/register action and menu. Add: Hide Breadcrumb within the singles and pages. Fix: Front page hero title doesn't resize like other pages. Create problems with long text in small devices. Fix: View Gallery label disappeared from the single listing page. Fix: Checkout review order table Total column shrink if the name of the product is to long. Fix: Incoherent style for quantity element within the single product on small devices. Fix: Reflect the search icon in search form. Make it ltr compliant. Fix: Sanitize Html Class attribute values when using the scopeClass function. Fix: Widget cart buttons no wrap text when button label is too long. Fix: Mini cart products number overflow. Fix: Icons in square article variant go under the article title when the title go in two lines. Fix: Some Hero options not works after parallax was introduced in 1.4.0. Fix: Use https://www.google.com/maps instead of the .it in single listing map link. Fix: Don't convert htmlentities for query arguments when used for google map url. Some character may be converted incorrectly. Fix: Checkbox toggler style doesn't work if previously wasn't included another type that enqueue the 'qibla-form-types' stylesheet. Fix: ClassList polyfill add/remove extra spaces combining the class attribute values into one class value. Fix: Notice when the current screen is not set during working with metaboxes. Fix: Sanitize Html Class attribute values within the scopeClass function. Fix: Hidden Form Fields cause Fatal Error when used as standard field. Fix: Undefined index $ID within archive post type page when try to retrieve the sidebar position but the archive have no page associated. Fix: Importer, previously listings were imported every time. Now you can re-run the importer again and again without duplicate any content. Improve: ksesPost function by including: select, option, optgroup tags. Improve: Typography smoothing. Improve: Buttons box model. Tweak: Add the global border radius to checkbox type, make it coherent with the theme style. Tweak: Enhance the radio button style. Tweak: Show the Comment closed text only within the 'post' post type. Not necessary within pages and other types. Tweak: UI, better highlight the checkbox and radio button when element has status of checked. Tweak: Add placeholder to map search input to better clarify how to get suggestions. Remove: Unnecessary features from the tinyMCE for the listings archive description. Dev: New css util class .u-highlight-text to allow text to have the same brand color. Dev: Filter for walker class name to main nav arguments. Filter is named "qibla_nav_main_walker". Dev: Introduce $responsive parameter to the btn mixin. Allow to include media query or not. Dev: Restructure how the --card and --overlay modifier apply their styles. Overlay is for article with thumbnails. Dev: ksesPost function by including select,option,optgroup and include extra attributes to the textarea tag. Dev: Wysiwyg Input class now take extra argument 'editor_settings' to able to edit the settings passed to wp_editor. Dev: Add new parameter $status to QiblaFramework\Functions\getPostByName(). Dev: Introduce new class to able to convert Form data to a data that can be passed to the wp_insert_post(). Dev: Introduce new function scopeID(). Dev: Introduce new argument for Field to allow to show the label before or after the input. Dev: Introduce new UpdatePostException class. Dev: Introduce new Utils class UtilsTimeZone to get the timezone according to the Wp options. Dev: Introduce new Utils class UtilsFormToPostDataConverter to convert data from a form to post arguments. Dev: Introduce new filter within the isJumbotronAllowed function named 'qibla_fw_is_jumbotron_allowed' before the value is returned. Dev: Introduce new filter after post meta storage named 'qibla_fw_metabox_after_store_meta'. Allow you to work with the new meta, value and post after meta has been saved. Dev: Introduce new type Password in Form library. Dev: Introduce new body class to know when a user is logged in or not. Dev: Introduce new template for Alert that use underscore template. Dev: Introduce new WooCommerceTemplate class to allow to override quickly the woocommerce templates. Dev: Introduce new function getPostThumbnailAndFallbackToJumbotronImage. Dev: Add "paste_as_text" option in wysiwyg editor when the editor is set to 'teeny' to strip markup characters. Dev: Allow markup within the fields description. Dev: Introduced a new filter 'qibla_fw_did_init' to allow other plugins to hook after the framework have did his stuffs. 1.4.0 - 2017/05/19 Add: Support for WooCommerce 3.0.7. Add: New attributes for sections shortcode. Now it is possibile to set two buttons and define a stile 'big' for the container. Add: Parallax to hero image and section shortcode. Add: Custom order attribute value 'listorder' to the list of 'orderby' values for dl_terms shortcodes. Allowing to order the list of the terms by the order defined in shortcode. Add: 'orderby' and 'order' attributes to the Post and Listings shortcodes, reflecting the orderby and order clausules of WP_Query. Update: Google map api key. Fix: Suggestions navigation is cut off the hero if theme use a video background in homepage. Fix: Font size increased within article boxes. Keep it only for singular post content paragraphs. Fix: Text selection colors are no applied correctly. Fix: Section Shortcode buttons are not styled properly when the background image is set. Fix: WooCommerce quantity incrementer show up even when the product is sold individually. Fix: Search navigation content is centered in IE10 when other browsers display the text left aligned. Fix: $data value in TemplateEngine is not filtered correctly. Fix: Box model for coupon form within the cart in small devices. Fix: Regenerate the dynamic.css file on theme upgrade. This ensure new styles are applied after the theme is updated. Fix: Wrong name for jumbotron.js file, will not be loaded under case sensitive filesystems. Fix: Header search closing on ESC keypress. Fix: Invalid arguments for autocomplete search when build the data. Some listings may not have terms assigned. Fix: Missed default option for posts_per_page when retrieving the theme option. Fix: Missed default icon for header search form. Caused blank screen if option is not set. Fix: Incorrect value number show on found posts within the archive listings when the option Listings per page is set to -1. Fix: Ajax pagination within the archive listings doesn't work as expected when click on next|prev link due to the icon. Fix: IconList type cannot be unset after the data is saved for the first time. Fix: Autocomplete cache not update when a post or terms are deleted. Fix: Don't show the close button for header search in IE10. The browser show his own close icon. Fix: $data value in TemplateEngine is not filtered correctly. Fix: Single Listing map marker. Cannot read property 'openedInfoWindows' of undefined. Fix: Wrong id attribute value for Review Metabox. Fix: Compatibility Qibla WooCommerce Listings plugin with php >= 5.3.x Fix: Prevent issues if the product has no name when try to retrieve it to decide to show or not the product fieldset. Tweak: Show a generic "Posts" title in jumbo-tron when the front page is the blog page too. Tweak: Box model for the search navigation items. Tweak: Comments box-model in small devices. Give more space for comment text. Tweak: Don't allow values less than -1 in Listings per page option. Tweak: Improve admin post listings table columns. Give more space for other plugins to add extra columns. Remove: Registry Class. Never used. Dev: BaseForm arguments are now optionals for constructor. Dev: Introduce two new formatting functions: stringToBool and boolToString. Dev: Remove localization for Exception/Error's text. Dev: Introduce new filter 'qibla_fw_metabox_arguments' to filter the metabox arguments when the instance is created. Dev: AbstractMetaboxFieldset::setFieldsets now allow to insert additional fieldsets to a current list of fields. Dev: Add new parameter to 'qibla_fw_scope_attribute' $modifier. Dev: Remove localization for Exception/Error's text. Dev: Booking tax query filter is now hooked in parse_tax_query. Allow to set multiple condition within different code context.
1.3.0 - 2017/05/02 Fix: WooCommerce single product thumbnail width. Fix: Theme Options json heading colors doesn't match the default headings. Fix: Hero shrink in homepage when the search input get focus on mobile devices. Fix: Google map element is duplicated on Firefox within the single listings when navigate through the history browser buttons. Add: Style for autocomplete feature. Add: Compatibility to WooCommerce 3.0.5. Add: Autocomplete and suggestions for search inputs within the header and homepage. Add: Custom navigation menu search in mobile devices. Add: Taxonomy names to the custom search navigation menu items. Tweak: Speed improvements by micro optimizations. Remove: QiblaFramework\Front\Functions\disableTermArchives function, no longer needed. Also removed the file src/Front/Functions/Term.php. Remove: Amenties column from listings table to prevent ugly table in small screens resolution. Dev: Add New Conditional functions to check for ajax requests. One for Autocomplete and one for listings filtering. The latter take the over for isAjaxRequest (now generic for ajax requests). Dev: Add New function to check and validate the referrer. getReferer() && isValidReferer(). Dev: Add new localized variable named site_url. Dev: Improve the search callbacks by using the instance directly instead of the shortcode. Dev: Update Modernizr with touchevents. Dev: Move postFoundTmpl, breadcrumbTmpl and archivePaginationTmpl outside of archive description. Removed filters too. Dev: Change priority for theArchiveDescription hooked in qibla_after_archive_listings_list from 20 to 30. Dev: Introduce new function listingsArchiveFooterTmpl to group Move postFoundTmpl, breadcrumbTmpl and archivePaginationTmpl. Dev: Remove the dllabels localized script. Never used. 1.2.1 - 2017/04/24 Fix: Wrong value for filter_input on listing's review submission. Fix: Missed reviews.min.js on production environment. Fix: Remove leading backslash from namespaced functions. It's not necessary and may create issues with some php configurations. Fix: Rating list doesn't show up within the admin comments edit form. Fix: Select style within the WooCommerce's checkout page is set to the default style after value is changed. Fix: Deprecated WC_Customer::get_country use WC()->customer->get_billing_country() instead. Tweak: Remove box-shadow from hamburger menu on focus state. Tweak: Add border radius on product price for listings post article to match the theme style. Tweak: Increase the overlay for color by .4 to .5 alpha. Tweak: Select2 borders bottom doesn't rounded when list is closed. 1.2.0 - 2017/04/20 Fix: The blog show the latest post title when the reading settings for front page is set to show the latest posts. Fix: Filter query booking products during 'pre_get_posts' doesn't works as expected in some cases. Fix: Wrong textdomain for 'all locations' string within the listings archive input select. Fix: Unmatched page slug doesn't show Theme Option within Admin if accessed by First Level admin menu item 'Qibla'. Add: Compatibility to WooCommerce 3.0.4 Add: Custom Header Theme Support. Video too. Yes! Add: Reviews for listings post type Improve: Set the script protocol url to relative for google fonts. Future thanks us. Improve: Comment reply form links style. Improve: Refactor comments css style after listing's Reviews have been introduced. Tweak: Reduce the height of the custom logo to match the css max-height property. Tweak: Add +.1rem to the singular content font-size property. Tweak: Don't use the brand color for author name in comment, it can be confused with links. Tweak: Vertical Spacing between elements in single listings header. Tweak: Lighten the Hero overlay color. Move: Gravatar and Rating filters from the default WooCommerce hooks. Now in review.php template. Add consistence after the listing's Reviews. Remove: Header Background functions and hooks. Theme never supported the custom-header. Remove: WooCommerce archive product page title. We don't use it. Remove: getProductGalleryIds function. No longer necessary after Wc 3.x support. Remove: Functions for backward compatibility with WordPress 3.4.x: sanitize_hex_color, sanitize_hex_color_no_hash, maybe_hash_hex_color. Dev: Deprecated getImageIdByUrl() in favor of attachment_url_to_postid(). Dev: Introduce new classes for custom post's Exceptions. Dev: Introduce two new filters within the post title template. 'qibla_before_post_title' and 'qibla_after_post_title'. Dev: Add Conditional function isHeaderVideoEligible to check if the video is set and is eligible to shown into current page.
1.1.0 – 2017/04/11
Fix: Missed mail to social meta icon in singular listings. Fix: Show Archive title for date archive pages. We don't use jumbotron there. Fix: Select2 style on open state borders. Fix: Post title doesn't appear for custom internal loop if the postTitleTmpl has been called with screen-reader-text argument. Fix: Split mark and selection pseudoclasses. mark must not share the properties with the selection or will not work on Firefox. Fix: Input with appearance none create issues in Firefox. Fix: Input text not showing correctly in winIE 10 UA. Fix: Main content doesn't stretch correctly in winIE 10. Fix: Adjacent posts navigation box model in winIE 10. Fix: Sidebar width in winIE 10. Fix: The search page of the theme loses jumbotron if the framework is active. Fix: Blur event on search navigation doesn't work for some items. Introduce a 300ms of delay after click. Fix: Missed social mail post meta within the singular listings. Fix: Admin locked avatar image size issue. Fix: Section Shortcode cta button href attribute is empty. Fix: Listings Search doesn't work as expected. Wrong sync between the listings posts and the map. Add: Moved some logic regarding Jumbotron (Hero Image) from Framework to theme. Add more internal consistence. Add: New conditional function isDateArchive to test if the current page is a date blog post archive. Add: Introduce new action "qibla_before_single_listing_loop_entry_content" in format standard before the main content. Add: New filters within the loopFooter View before and after the footer content. Add: New actions within the loopFooter.php view named respectively 'qibla_before_loop_footer' and 'qibla_after_loop_footer'. Add: qibla woocommerce listings plugin to the list of the plugins required by the theme. Add: New Listings table columns for listing categories and amenities. Add: Flag to the listings marked as featured on archive loop. Add: TripAdvisor listings social icon. The post meta. Add: Template Tags for scope class markup attribute. The same of the theme. Update: Requirements plugins versions for Framework and Importer to 1.1.0. Improve: Partial refactor the Jumbotron class to able to work with Shop page and add make it much coherent with Framework. Improve: Alerts styles. Make them much cleaner and scss scalable by introducing mixins. Remove: PhotoSwipe from theme. Use the one provided by the framework. The script was included for WooCommerce but it's no longer necessary. Remove: The Jumbotron (Hero) term box options from non blog and woocommerce terms archives.
BUY From ENVATO Marketplace
1 note · View note
codingflicks · 2 years ago
Text
Tumblr media
How to Make a Simple CSS Loader Spinner
0 notes
cssscriptcom · 4 years ago
Text
300+ Loading Spinners For The Web - CSS Loaders
300+ Loading Spinners For The Web – CSS Loaders
CSS Loaders is a CSS library that provides 300+ loading spinners and skeleton loaders for your next web application. Easy to implement with a single element and pure CSS. How to use it: 1. Create a span element to hold the loading spinners. <span class="loader"></span> 2. Goto the official website: https://cssloaders.github.io/. 3. Click a loading spinner you prefer. 4. Copy and paste the CSS…
Tumblr media
View On WordPress
0 notes
rocoderes · 3 years ago
Text
How to Make 3D Spinner in CSS
How to Make 3D Spinner in CSS
In this article, we will see how to make a 3d spinner in CSS. This project has a number of bars which will have different amount of sizes and also these bars will rotate with cool animation. It is going to be a beginner-friendly project, as always. Also, we will make this project with only CSS. Pre-requisites of 3D Spinner in CSS Basic knowledge of HTML.Basic knowledge of CSS and CSS…
Tumblr media
View On WordPress
0 notes
freefrontend-blog · 5 years ago
Photo
Tumblr media
CSS Neumorphism Gradient Loader https://freefrontend.com/css-spinners/
4 notes · View notes
secretcupcakesublime · 4 years ago
Text
Implementation of Skeleton Screens
Learn about what a skeleton screen UI is, and other types of skeleton screen libraries, along with their pros and cons. Traditionally, spinners and loaders have been a way of informing users that content would take a while to load. While that approach is fantastic, modern architecture is rapidly becoming obsolete.
Skeleton screens
are becoming the ideal substitute for conventional loaders, as they concentrate on progress rather than waiting times, reducing disappointment in loading-time.
The difference between a loader and a skeleton screen UI UI and UX experts tell us that we can keep them engaged while users wait for content to be loaded to a tab.The idea behind using spinners to engage users before content loads is great; however, the result could be less than ideal because most users may get bored staring at a dummy animated spinner like a clock is. That is what Luke Wroblewski elaborates about.Skeleton screens have a better user experience by raising annoyance with load-time. By concentrating on improvement rather than waiting times, it creates the impression for users that the information will be shown incrementally on the computer. This is confirmed by Bill Chung in his study. Define Skeleton Screen?A skeleton screen is a variant of the UI that does not contain actual content; rather, it imitates the layout of the page by showing its elements in a manner identical to the actual content as it loads and becomes accessible (i.e., when network latency allows).A skeleton screen is basically a website wireframe, with text and pictures in placeholder frames. Why is a Skeleton Screen different?A skeleton UI resembles the actual user interface on the website, so users can understand how soon the site or mobile device can load even before the content appears. Here are a few explanations of why you would want to consider using skeleton screens in your next project: • It's simpler to emulate a page's layout with a skeleton screen, • the material loads slowly (not all at once).Skeleton screens are often known as: • ghost components,  • placeholders of content, • loaders of content.Blockchain.com, YouTube, Twitter, Medium, and other large-scale tech firms view skeleton screens as their content enhances the UX.
Types Of Skeleton ScreensThere are various types of screens with skeletons. The key ones are placeholders of text and placeholders of pictures (or color).Most developers tend to use text placeholders as the skeleton UI on their pages because they are easy to create, and the developer does not need any information about the actual content substance; instead, the skeleton imitates the UI.Color placeholders are more difficult to create since they require material information.Other common packages promote the implementation of skeleton screens in web apps. Let's take a closer look at Trigger Placeholder and Skeleton Reaction Ready.Before deciding which to use for our application, we will look at the pros and cons of each kit. React PlaceholderPROS • Components to the placeholder are used to build a custom skeleton UI.• Animation of the pulses (i.e. the effect of motion on the element) is assisted.• It comes with an API based on the components. CONS • Skeleton components are kept separately, so updating a component's styles can entail upgrading the skeleton component too. • The learning curve is not linear since multiple elements are required for different needs. React Loading SkeletonPROS• It is API-based and has one part for all customization with props.• It can be used as a separate part of the skeleton and also directly inside any part, so it is versatile.• Supports thematic and animated Pulse. CONS • For a basic skeleton UI it is easy to implement but difficult for more complex skeletons.• Having a different part of the skeleton would make it more difficult to manage as the UI and styles shift. How to create your own skeleton screen?Drawing the Skeletons in CSSNext, we will draw the basic shapes which will make up the skeleton of the deck. We can do this by adding various gradients to the image-background property. By nature, linear gradients extend from top to bottom, with various transitions to avoid colors. If we describe the only one-stop color and leave the rest translucent, we can draw shapes.Keep in mind that here are stacked on top of each other multiple background images, so the order is important. The last description of the gradient is at the back, the first at the top.
.skeleton {   background-repeat: no-repeat;   background-image:     /* layer 2: avatar */     /* white circle with 16px radius */     radial-gradient(circle 16px, white 99%, transparent 0),     /* layer 1: title */     /* white rectangle with 40px height */     linear-gradient(white 40px, transparent 0),     /* layer 0: card bg */     /* gray rectangle that covers whole element */     linear-gradient(gray 100%, transparent 0); }
As with standard block-level components, these shapes extend to fill the entire room. If we want to change that, we need to define the dimensions explicitly for them. The value pairs set the width and height of each layer in background-size, keeping the same order we used in the background image:
.skeleton {   background-size:     32px 32px,  /* avatar */     200px 40px, /* title */     100% 100%;  /* card bg */ }
The final step is the placement of the elements on the board. This works much like position: absolute, with values reflecting the property at the left and right. For example, we can simulate a 24px padding for the avatar and title, to suit the appearance of the actual content card.
.skeleton {   background-position:     24px 24px,  /* avatar */     24px 200px, /* title */     0 0;        /* card bg */ }
Breaking it up with the Custom PropertiesIn a basic example, this works well-but if we try to create anything a little more complicated, the CSS quickly gets messy and very difficult to read. If that code had been given to another creator, they would have no idea where all those magic numbers come from. Having it sure would suck.Fortunately, we can now use custom CSS properties to write skeleton styles in a far more succinct, developer-friendly manner-and even take into account the relationship between different values:
.skeleton {   /*     define as separate properties   */   --card-height: 340px;   --card-padding:24px;   --card-skeleton: linear-gradient(gray var(--card-height), transparent 0);   --title-height: 32px;   --title-width: 200px;   --title-position: var(--card-padding) 180px;   --title-skeleton: linear-gradient(white var(--title-height), transparent 0);   --avatar-size: 32px;   --avatar-position: var(--card-padding) var(--card-padding);   --avatar-skeleton: radial-gradient(     circle calc(var(--avatar-size) / 2),     white 99%,     transparent 0   );   /*     now we can break the background up     into individual shapes   */   background-image:     var(--avatar-skeleton),     var(--title-skeleton),     var(--card-skeleton);   background-size:     var(--avatar-size),     var(--title-width) var(--title-height),     100% 100%;   background-position:     var(--avatar-position),     var(--title-position),     0 0; }
Not only is this much more legible, it's also much easier to later change some of the values. Plus we can use some of the variables (think —avatar-size, —card-padding, etc.) to describe the individual card styles and keep it in line with the skeleton version at all times.It is now very easy to add a media question to change parts of the skeleton at different breakpoints too:
@media screen and (min-width: 47em) {   :root {     --card-padding: 32px;     --card-height: 360px;   } }
Adding AnimationsWe can animate our skeleton to make this even easier, and make it look more like a loading indicator. All we need to do is put a new gradient on top layer and then, with @keyframes, animate his location.
As a reputed Software Solutions Developer we have expertise in providing dedicated remote and outsourced technical resources for software services at very nominal cost. Besides experts in full stacks We also build web solutions, mobile apps and work on system integration, performance enhancement, cloud migrations and big data analytics. Don’t hesitate to
get in touch with us!
0 notes
davidmartin0888 · 4 years ago
Text
The Topmost Free SVG Tools for Better Graphics
Tumblr media
The scalable vector graphics or SVG is a file format that allows the users to display vector images on their websites. It is gaining popularity these days in web design. You can create SVG graphics using tools like Inkscape or Illustrator. But, optimizing for lighter results becomes essential when it comes to web design. Nowadays, more than 80 percent of any webpage can be seen studded with images. Unfortunately, these images can’t adapt to the evolution of the web and change so quickly. It is a general concept that when your image takes more the size of your website, it takes your website longer time to load, which means you are going to lose your leads, potential customers, visitors, and ultimately your business. SVG is a powerful format that scales naturally without losing quality.
For users’ convenience, we have a wide range of tools that can help you work with SVG efficiently and quickly. These are mostly online tools that can help you make patterns, conversion, optimization, and many more.
b64
The simple tool can be used to optimize photos and images and then turn them into the format of base64. You can grab the CSS with the image of the base64 background after dropping your SVG images.
Interactive SVG Coordinate System
The exceptional interactive tool introduced by Sara Souiden helps the users learn about the functioning of SVG coordinates. You can use the preserveAspectRatio and viewBox on SVG to play guided by purple and orange lines and a handy ruler while learning SVG’s coordination function.
SVG OMG
The tools turn the SVGO’s command line into the GUI version, which is easy to use and intuitive. You can activate or deactivate every feature only by toggling the buttons. In the end, it will help you to grab the result as code and image files.
SVGO
The users can use this tool to remove hidden elements, comments, or editor metadata. You can install using the GUI versions or through npm. The GUI version offers a drag and drop feature to process the optimization of SVG.
SVG to PNG converter
The SVG to PNG converter tool can help you export your SVG files to PNG form without opening any other application like Illustrator. You can get URI PNG Base64 data and images in PNG format.
SVG Now
The tool helps you to get the optimized version of the SVG that you have exported right from your Illustrator workspace.
SVG Sprite
The tool based on the Node.js module optimizes SVG files in the bunch and bakes them into sprite-types of SVG that includes SVG stacks, traditional CSS sprites for foreground-background images, and many more.
SVG Circus
You can use SVG Circus to create loader animations. The tool enables the users to make their spinner, loader, or anything that resembles looped animation. You will need to set the Actor position, color, size, and other things from the panel. Further, you can export to get the results.
Plain Pattern
The users can use this tool to upload their image, change or scale down the spacing, recolor and rotate them until they get a beautiful pattern.
Quasi
The users can use this tool to generate Quasicrystal images and play around switching to various options. After then, you can use the ‘Save SVG’ button to download the results.
Trainglify Generator
The tool is useful when it comes to creating beautiful geometric patterns based on SVG. You can set the variant, color randomness, granularity size, and then a color palette.
SVG Filters
With SVG, you can add many effects to images like saturation, hue, linear color overlay, blur, and many others. The SVG Filters tool visualizes these effects and gives the users a snippet making it easy for them to embed that effect into their project.
SVG Morpheous
The JavaScript library allows its users to morph an icon based on SVG from one shape to another. Besides, the users can set rotation direction, duration of transition animations, and easing effect.
Chartist.js
It is a type of library that can be used to create highly responsive and customizable charts. The tool utilizes SVG for displaying graphs. You can make pie charts, bar charts,  line chart,  and many other types of maps. Plus, you can also add animation to these charts.
Clip path generator
The tool helps users click the clip of images with a polygonal shape or many points.
Method Draw: A Simple SVG Editor
The web-based SVG editor has an intuitive interface packed with lots of tools on the canvas’s sides. You can draw shapes, lines, use in-built shapes, or input text. After then, you can edit the drawn objects’ properties and export the image in SVG format or save it in PNG format directly.
Export Flash to animated SVG
You can use this tool to work on CS6, CS5, and CC and export into SVG format when it comes to Shape Tweens, Classic Motion Tweens, Bitmaps, and Symbols.
The users use points, shapes, and lines to create a vector image. They can scale these vector images to any size without losing their quality. These vector images are used in the best ways for various elements like icons, logos, illustrations, and typography.  The tools mentioned above help improve your performance and web designing skills to a great extent. With these best graphic design tools, you can stand apart in the crowd and prove your skills.
SOURCES = The Topmost Free SVG Tools for Better Graphics
0 notes