<?php // $file = /home/senobar1/public_html/plugins/system/djc2yootheme/modules/builder-djcatalog2-source/elements/djc2_categories/element.json

return [
  '@import' => $filter->apply('path', './element.php', $file), 
  'name' => 'djc2categories', 
  'title' => 'Categories', 
  'icon' => $filter->apply('url', 'images/icon.svg', $file), 
  'group' => 'DJ-Catalog2', 
  'iconSmall' => $filter->apply('url', 'images/iconSmall.svg', $file), 
  'element' => true, 
  'width' => 500, 
  'defaults' => [
    'category_image_size' => 'medium', 
    'show_category_image' => false, 
    'show_readmore_button' => false, 
    'display_type' => 'default_list', 
    'expand_categories' => false, 
    'display_counter' => false, 
    'category_layout' => 'list'
  ], 
  'templates' => [
    'render' => $filter->apply('path', './templates/template.php', $file), 
    'content' => $filter->apply('path', './templates/content.php', $file)
  ], 
  'fields' => [
    'display_counter' => [
      'type' => 'checkbox', 
      'label' => 'Display products counter', 
      'enable' => 'display_type == \'standard_list\' && category_layout == \'list\'', 
      'show' => 'display_type == \'standard_list\' && category_layout == \'list\''
    ], 
    'category_layout' => [
      'type' => 'select', 
      'label' => 'Category layout', 
      'options' => [
        'List' => 'list', 
        'Dropdown' => 'dropdown'
      ], 
      'enable' => 'display_type == \'standard_list\'', 
      'show' => 'display_type == \'standard_list\''
    ], 
    'information' => [
      'label' => 'information', 
      'type' => 'grid', 
      'description' => 'This element renders categories. '
    ], 
    'expand_categories' => [
      'type' => 'checkbox', 
      'label' => 'Expand categories', 
      'enable' => 'display_type == \'standard_list\' && category_layout == \'list\'', 
      'show' => 'display_type == \'standard_list\' && category_layout == \'list\''
    ], 
    'display_type' => [
      'label' => 'Display Type', 
      'type' => 'select', 
      'options' => [
        'Default list' => 'default_list', 
        'Standard list' => 'standard_list'
      ]
    ], 
    'show_readmore_button' => [
      'type' => 'checkbox', 
      'label' => 'Show Readmore button', 
      'enable' => 'display_type == \'default_list\'', 
      'show' => 'display_type == \'default_list\''
    ], 
    'show_category_image' => [
      'type' => 'checkbox', 
      'label' => 'Show Category Image', 
      'enable' => 'display_type == \'default_list\'', 
      'show' => 'display_type == \'default_list\''
    ], 
    'category_image_size' => [
      'type' => 'select', 
      'label' => 'Category Image Size', 
      'options' => [
        'large' => 'large', 
        'original' => 'original', 
        'medium' => 'medium', 
        'small' => 'small', 
        'thumb' => 'thumb'
      ], 
      'enable' => 'display_type == \'default_list\'', 
      'show' => 'display_type == \'default_list\''
    ], 
    'categories' => [
      'label' => 'categories', 
      'type' => 'editor', 
      'show' => '_categories'
    ], 
    'categories_margin' => [
      'label' => 'Margin Top', 
      'description' => 'Set the top margin. Note that the margin will only apply if the content field immediately follows another content field.', 
      'type' => 'select', 
      'options' => [
        'Small' => 'small', 
        'Default' => '', 
        'Medium' => 'medium', 
        'Large' => 'large', 
        'X-Large' => 'xlarge', 
        'None' => 'remove'
      ]
    ], 
    'position_categories' => [
      'label' => 'Position', 
      'description' => 'Position the element in the normal content flow, or in normal flow but with an offset relative to itself, or remove it from the flow and position it relative to the containing column.', 
      'type' => 'select', 
      'options' => [
        'Static' => 'static', 
        'Relative' => 'relative', 
        'Absolute' => 'absolute'
      ]
    ], 
    'position_left_categories' => [
      'label' => 'Left', 
      'description' => 'Set the horizontal position of the element\'s left edge in pixels. A different unit like % or vw can also be entered.', 
      'type' => 'range', 
      'attrs' => [
        'min' => '-600', 
        'max' => '600', 
        'step' => '10'
      ]
    ], 
    'position_right_categories' => [
      'label' => 'Right', 
      'description' => 'Set the horizontal position of the element\'s right edge in pixels. A different unit like % or vw can also be entered.', 
      'type' => 'range', 
      'attrs' => [
        'min' => '-600', 
        'max' => '600', 
        'step' => '10'
      ]
    ], 
    'position_top_categories' => [
      'label' => 'Top', 
      'description' => 'Set the horizontal position of the element\'s top edge in pixels. A different unit like % or vw can also be entered.', 
      'type' => 'range', 
      'attrs' => [
        'min' => '-600', 
        'max' => '600', 
        'step' => '10'
      ]
    ], 
    'position_bottom_categories' => [
      'label' => 'Bottom', 
      'description' => 'Set the horizontal position of the element\'s bottom edge in pixels. A different unit like % or vw can also be entered.', 
      'type' => 'range', 
      'attrs' => [
        'min' => '-600', 
        'max' => '600', 
        'step' => '10'
      ]
    ], 
    'position_z_index_categories' => [
      'label' => 'Z Index', 
      'description' => 'Position the element above or below other elements. If they have the same stack level, the position depends on the order in the layout.', 
      'type' => 'select', 
      'options' => [
        'None' => '', 
        0 => '0', 
        1 => '1', 
        2 => '2', 
        3 => '3'
      ]
    ], 
    'categories_width' => [
      'attrs' => [
        'placeholder' => 'auto'
      ]
    ], 
    'categories_height' => [
      'attrs' => [
        'placeholder' => 'auto'
      ]
    ], 
    'name' => $config->get('builder.name'), 
    'id' => $config->get('builder.id'), 
    'status' => $config->get('builder.status'), 
    'class' => $config->get('builder.cls'), 
    'attributes' => $config->get('builder.attrs'), 
    'css' => [
      'type' => 'editor', 
      'label' => 'CSS', 
      'description' => 'Enter your own custom CSS. The following selectors will be prefixed automatically for this element: <code>.el-element</code>', 
      'editor' => 'code', 
      'mode' => 'css', 
      'attrs' => [
        'debounce' => 500
      ]
    ]
  ], 
  'fieldset' => [
    'default' => [
      'type' => 'tabs', 
      'fields' => [[
          'title' => 'Options', 
          'fields' => ['information', 'show_category_image', 'show_readmore_button', 'category_image_size', 'display_type', 'expand_categories', 'category_layout', 'display_counter', 'categories', [
              'label' => 'categories', 
              'type' => 'group', 
              'divider' => true, 
              'fields' => ['categories_margin', 'position_categories', 'position_left_categories', 'position_right_categories', 'position_top_categories', 'position_bottom_categories', 'position_z_index_categories', [
                  'label' => 'Width/Height', 
                  'description' => 'Setting just one value preserves the original proportions. The element will be resized automatically.', 
                  'type' => 'grid', 
                  'width' => '1-2', 
                  'fields' => ['categories_width', 'categories_height']
                ]]
            ]]
        ], $config->get('builder.advanced')]
    ]
  ]
];
