Home
Wiki
Home
Wiki
  1. Components
  • Back to home
  • 1. Themes
  • Vs Code
    • Getting Started
  • Kitchenware
    • Layout
      • New Layout
      • Legacy Layout
    • Components
      • Announcement
      • Banner Carousel
      • Banner With Products Carousel
      • Blog Category List
      • Blog List
      • Brand List
      • Brands Carousel
      • Breadcrumb
      • Call To Action
      • Cart
      • Categories List
      • Change Password
      • Checkout
      • Cookie Manager
      • Filter list
      • Footer
      • Forgot Password
      • Form
      • Hero Carousel
      • Icon Block
      • Invitation
      • Last Visited Products
      • Layout
      • Login
      • Map
      • Nav Bar
      • Offer
      • Product Attachments
      • Product Attributes
      • Product Documentation
      • Product Expected
      • Product Modal
      • Products Block
      • Products Carousel
      • Product Single
      • Profile
      • Quote
      • Register
      • Related Products
      • Search
      • Stores
      • Subscribe Newsletter
      • Text with Image
      • Top Bar
      • Video
    • Reusables
      • Getting Started
    • Assets
      • Getting Started
    • SDK
      • Products
        • _findProductsByCategory
        • _findProductsByIds
        • _findProductsByTitle
        • _findProductsByFilter
        • _findProductsByCriteria
        • _findProductsAndCalculate
        • _findProductsThenCalculate
        • _getProductAttributeSet
        • _setLastVisited
      • Categories
        • _findCategoryTreeById
        • _findCategoriesByIds
        • _findCategoryByAlias
        • _findCategoryTreeByAlias
        • _getCategoryContent
      • Collections
        • _getCollectionContent
        • _findCollectionsByIds
        • _findCollectionsByIdsThenCalculate
      • Brands
        • _getBrandContent
        • _findBrandsByIds
      • Cart
        • _addToCartMulti
        • _addToCart
        • _setCart
        • _clearCart
        • _setCartListener
        • _removeFromCart
        • _calculateCart
      • Checkout
        • _startCheckout
        • _updateCheckout
        • _completeCheckout
      • Shopping Lists
        • _getShoppingLists
        • _updateShoppingList
        • _createShoppingList
        • _deleteShoppingList
        • _getShoppingListByAlias
      • Navigation
        • _getFooterMenu
        • _getHeaderMenu
      • Users
        • _getUserById
      • Utils
        • _calculateCurrency
        • _getCurrencySymbol
        • _getCulture
        • _subscribeToNewsletter
        • _findUnitsByIds
  • Noir
  1. Components

Icon Block

Documentation: Icon Block Component#

The Icon Block Component is a Vue.js component designed to display a grid of icons, each with optional headers and descriptions. This component is ideal for showcasing features, services, or key points in a structured and visually appealing layout.

Overview#

The Icon Block Component organizes a set of icons in a responsive grid layout. Each icon can have an associated header and description, and the component supports customizable styling and alignment. It is highly configurable through a model object, allowing for flexible integration into various parts of a web application.

Model Documentation#

The model object is used to configure the Icon Block Component. It defines the component's layout, content, and styling.
Model Structure#
id: String
A unique identifier for the section element, used to set the id attribute.
cssClass: String
Optional CSS class(es) for additional styling of the component.
header: String
Optional header text displayed at the top of the section.
alignment: Number
Controls the alignment of the header text (1 for left, 2 for center, 3 for right).
columns: Number
Specifies the number of columns in the grid (1 to 4).
backgroundColor: String
Background color for the section.
textColor: String
Color of the text within the section.
icons: Array
An array of icon objects, each with:
link: String
Optional URL for the icon image.
image: Object
Optional image object with a link property.
header: String
Optional header text for the icon.
text: String
Optional description text for the icon.
Example Model#
{
  "id": "icon-block",
  "cssClass": "icon-block",
  "header": "Our Key Features",
  "alignment": 2,
  "columns": 3,
  "backgroundColor": "#f8f9fa",
  "textColor": "#333",
  "icons": [
    {
      "link": "https://example.com/icon1.png",
      "header": "Feature One",
      "text": "Description of feature one."
    },
    {
      "link": "https://example.com/icon2.png",
      "header": "Feature Two",
      "text": "Description of feature two."
    },
    {
      "link": "https://example.com/icon3.png",
      "header": "Feature Three",
      "text": "Description of feature three."
    }
  ]
}

Component Structure#

The Icon Block Component includes:
1.
Header Section: Displays the optional header text, aligned according to the provided configuration.
2.
Icon Grid: A responsive grid of icons, each with an optional image, header, and description.
3.
Styling: The component supports custom background and text colors.

HTML Template#

The HTML template defines the structure and styling of the component:

JavaScript#

The JavaScript code handles data initialization, computed properties, and methods:

Explanation#

Data Handling: The component uses Vue.js data and props to manage configuration, styling, and layout.
Responsive Layout: Dynamically adjusts the grid layout based on the number of columns specified.
Styling: Inline styles are used for background color and text color, with defaults provided for missing icon images.
Alignment: Supports configurable header alignment using CSS classes.

Usage#

To integrate the Icon Block Component into a Vue.js application:
1.
Include the Component:
Register iconblockdefault in your Vue app.
2.
Provide the Model:
Pass a configuration object to the component to define the layout, icons, and styling.
3.
Initialize the Component:
The component handles the setup of layout and styles automatically based on the provided model.
4.
Customize as Needed:
Apply custom styles and adjust the configuration to fit your design needs.
Modified at 2024-08-27 09:07:14
Previous
Hero Carousel
Next
Invitation
Built with